Migrating to Hugo

Banner adapted from a photo by Thomas Jensen on Unsplash

It started with Wordpress, moved to Scanty, then on to Jekyll (which went through a few iterations), and then over to Ghost hosted on Digital Ocean.

I was in the process of migrating the Ghost implementation over to Google App Engine (I liked the idea of a “serverless” setup, and my blog was still running 0.11.1 when 3.0 has just been released so it seemed like a good option in many ways). I still like the idea of managing a Ghost app there, and to my mind, Ghost is the best database-backed blogging platform around (yeah, still not a fan of WordPress, although gotta hand it to them, the Gutenberg editor is much nicer to work with).

The thing is, I don’t really need a database-backed system. Jekyll was probably my favourite iteration of the sites as far as managing content; even for the original WordPress iteration, I’d frequently write the posts in markdown and convert that to HTML to be pasted in to the editor…

At the time of the Jekyll iteration, I was using WebbyNode, which was, shall we say, a bit like Engine Yard-lite. It was a great hosting platform that allowed one-click deployment before these things became mainstream (though more focused on Ruby and Python apps than the full suite that is now available), and it was introduced by Gregg Pollack, who, if you’re not familiar, was pretty big in the Ruby on Rails community around the time I was using this (let’s say probably just behind Ryan Bates – and if you don’t know who that is, then that just goes to show how old I’m getting). With WebbyNode’s demise, I thought I’d try something new – after all, I still had the entire Jekyll site available on GitHub.

Static site generators have been getting a lot of love again recently with the idea of JAMstack, with Gatsby introducing it for Node/ReactJS, Jekyll seems to have found a new round of appreciation, Middleman’s been doing steady, and, of course, Hugo, known for its blazing fast build times. (Honestly, it’s ridiculous; it’s like 15s for a full CI deployment on Netlify for this site.)

And it’s refreshingly easy to get up and running using something like Brunch or ParcelJS to build a site and have Netlify automatically know what needs to be done when I add the git repo.

So this latest iteration is more than just a blog. It’s not an actual website for my freelance work (and extra-curricular activities), built with Hugo, hosted on Netlify with an optional Forestry.io admin interface. (I could also use Netlify CMS for that.) All in all, building a static site with advanced features has come a hell of a long way since I started this journey.

I’m of two minds about importing older content. Most of it didn’t warrant Disqus commentary, and those that did, you can still fine the original version in the GitHub repo of the site, so this seems like a good opportunity to start with a clean slate.

Additional credits for this iteration go to AJ for the beautiful CC-licensed site templates at HTML5 UP! and Marcus Virg for porting it to a Hugo theme.