Bloggin' 2: Electric Boogaloo

I decided to attempt to resurrect my old blog, and at the same time try out Hugo, a static site generator written in Go.

I previously used Pelican, which is quite similar feature-wise but written in Python. The differences in functionality aren’t massive, with Pelican having the upper hand so far (as well as a larger community). However, Hugo is a lot faster, and it’s also nice not having to mess around with Python dependencies (especially on Windows). Applications written in Go can instead be built into statically linked binaries for Linux, Windows and OS X. This means that Hugo comes as a single (well, per platform) executable without external dependencies. Even though I mainly work on Linux, I really like this portability. It’s even possible to cross-compile for Windows from a Linux system, and it works out-of-the-box!

Besides switching to a new static site generator, I have revamped and streamlined my workflow. I used to manually build and upload the site to my web host, but now most of that is automated. I’m still hosting the code and configuration on Bitbucket, but I’m now using Wercker for continuous builds and deployment, and Amazon S3 for hosting. I might do a write-up on this eventually, but the gist of it is that whenever I push to my Git repository, Wercker will build the site using Hugo and then automatically deploy it to Amazon S3. It takes less than a minute from git push until the changes are visible online.

I’m also in the process of migrating (at least some of) the old content from Pelican. It will probably be a while before everything is settled down, and old posts will keep showing up as I have time to move them over. It also means that the rss feed will look a bit strange until then, if you’re into feeds and stuff like that.