Another Blog Refresh

It’s time for another blog refresh, this time back to a static site after a few years being hosted by Wordpress.com. Once again I’m convinced by Aaron’s argument that baking is better than frying. It’s not about performance, it’s about simplicity and control.

While I liked the convenience of Wordpress.com, it never really felt like a place I could tailor to my own requirements. I thought having a nice web UI and mobile apps to edit posts would encourage me to post more. It actually made no difference whatsoever. Whatever holds me back from blogging isn’t related to the editing UI.

For this move I looked at various static site generators such as Jekyll, Hyde and Hugo but I settled on a mimimal one: gostatic. My reasoning (which I admit may not be entirely justified) is that feature-led software gets updated at a much higher rate than I post to my blog. When I come to post, invariably something important has changed in the core software or in a dependency and so I’ll need to upgrade or fix that before being able to publish. I find this particularly true of larger systems in dynamic languages like Ruby or PHP.

This time around I have a single binary (gostatic) to generate the site with no dependencies. It’s deliberately feature-poor so I don’t rely on things that may be changed or deprecated some time in the future and I have a script that does the rebuild and can sync to whatever laptop I’ll be using in the coming years. It’s documented for a future me.

A few technical notes:

Posts are written in markdown and are compatible with all the static site generators I mentioned above

This move is partly motivated by moving to a new web server. I’m going to be using nginx and serving either static files or fronting Go services. This is the first time I’ve had a server that isn’t running Apache+PHP.

Hopefully the atom feed works ok – it looks ok, but there’s almost certainly some weird software out there that will break on it.

There will be broken links, but already I have fixed hundreds of bad internal links by being able to grep over all the posts locally.

Formatting will be weird in places since the posts were exported via Wordpress’s XML export. I’ll get to tidying up the individual posts as an ongoing job.

There are no comments. I have the comments as part of the Wordpress export, and I’m planning to take a look at how to incorporate them into the blog archives. However I’m not planning on adding commenting to the blog. Thank you to all of you who have commented on my posts in the past, I have enjoyed reading them. But… it’s time to admit that commenting is a broken form of communication.