* Add a rate limiter to the login page.
* Fix the CSRF cookie expiring after 24 hours; it now will be a session
cookie that expires on browser exit so you get a fresh one each visit.
* Remove the dependency on go-bindata and use native Go file embed
* Add documentation
* Post.HTML() and PreviewHTML() both mogrify the resulting HTML code to
ensure all <img> tags have loading="lazy" unless a loading attribute
is already present.
* Checking the box to reset a post's UpdatedAt to CreatedAt now actually
does so (removes the "updated at" label from front-end)
* Tagged Posts index now has better header formatting when multi-tags
are in use.
* No longer "Tagged as: hello,world,-mars"
* Now is titled "Tagged Posts" and includes the lists of Tags and Not
formatted nicely with clickable links.
* Fixes the "Read more..." link always appearing in HTML-type blog
posts even when they didn't use the `<snip>` tag.
* Can query blog posts by multiple tags now.
* e.g. /tagged/blog,updates,-photos would query all posts that have tags
"blog" OR "updates" but NOT show any post with tag "photos"
* Legacy-importer tool updates the DB primary key serial after migrating
the posts, to be max(posts.id)+1 -- especially important for
PostgreSQL and MySQL (SQLite3 correctly picked the next ID by
default?)
* Add blog archive page and RSS, Atom and JSON feeds for the blog.
URLs are /blog.rss, /blog.atom and /blog.json
* List comments on a post
* Add comments, with preview
* Users can edit their own comments (EditToken)
* Admin can edit all comments
* Delete comments
* Comment counts on main blog index pages