Allow more static files to be loaded: font files like for FontAwesome.
Also allow POST requests, in case you loaded a URL with the override
query parameter so you can leave a comment without being interrupted.
Implements a Tumblr-style "Ask Me Anything" feature to the blog, with a bit of
automation and niceness:
* The route is at `/ask`
* User can leave their name (Anonymous), email address (if they want to be
notified when you answer) and ask their question.
* The blog owner is notified about the question via email.
* The owner sees recent pending questions on the `/ask` page.
* Answering a question creates a blog entry and (if the asker left their
email) notifies the asker to check the blog at the permalink-to-be for the
new post.
Along with this feature, some changes to the blog application in
general:
* Added support for SQL databases in addition to the JsonDB system
previously in use for blogs, users, comments, etc.
* Default uses a SQLite DB at $root/.private/database.sqlite
* The "Ask Me Anything" feature uses SQLite models instead of JSON.
* Restructure the code layout:
* Rename the /internal/ package path to /src/
* Begin to consolidate models into /src/models
Since most of the `render.Vars{}` fields were hardcoded/not really
editable for the templates, apart from .Data, this struct is now locked
away in the render subpackage.
End http.HandlerFunc's can then make any arbitrary template data
structure they want to, available inside the templates as `.Data`.