The only problem I have now is generating `similar posts` under each posts, which takes just too much time.
And I have no comments. I used disqus, but didn't like that.
Even if you remove the database post-build, such that each post must be re-parsed and re-added, the reduction of RAM meant things were still very fast on my desktop.
However I'm thinking about something else: I'm going to write a blog software with a nice api. It will be storing posts in a database on the server side, and will store them on the local too (as cache) - however the source files will be on disk, versioned by git. And it will send just new versions to server using a local command line utility. I really love publishing with a one liner.
This way I could have fast search, and comments on the server side.
If the database is used to serve the content it must be online, and so you lose one of the big appeals of static-sites: That they are static and can be served trivially.
If you're writing in text-files you need some kind of update-process which might become tricky if you edit past-entries, etc.
I suspect that publishing with one command doesn't really matter too much on technology; in my own case I just use a Makefile:
* Download the comments from the remote server, via rsync.
* Rebuild the blog.
* Upload the generated HTML-site, via rsync.
I wrote my own static-blog compiler, which reads a tree of markdown files, then spits out posts, archives, tags, etc. As an intermediary form it inserts all the posts into a local SQLite database (which can be trashed and rebuilt when required), which means I can efficiently output tags, etc.
Realistically my generator isn't so different from others, but it does integrate well for my personal use and supports comments - something a lot of static blogs miss. (I literally have a CGI script which writes out comments to flat-files, then these are picked up in the build-process, being fetched via rsync first).
Source:
https://github.com/skx/chronicle2/
Demo:
https://blog.steve.fi/