Hugo

I decided to rebuild my blog atop Hugo, the “world’s fastest framework for building websites.” I did this for a few reasons:

  • GitHub has been diligent in reminding me that there are security vulnerabilities in the dependencies of my blog. I used jekyll for the static site building, a collection of npm packages for some glue-code in the build process, and based my theme on twitter bootstrap. All of this adds up to a lot of dependencies to keep up with, and I haven’t been blogging for a while…

    Dependabot

    Hugo is a single file that’s only needed when you build the site. Outside of that, I’ll need just enough from NPM to roll my stylesheets. We’ll see how long I keep it that slim.

  • My site used Twitter Bootstrap as the base for its theme. This was fine at the time, as much of my work centered around usage of the framework and leveraging it for my blog felt like a good learning experience and a nice looking site. These days, my focus seems to be all about fast rendering, minimal payload, and using the latest HTML and CSS techniques to keep React components lightweight and simple to maintain. Twitter Bootstrap isn’t as popular as it once was either.

    I’ve come to appreciate much simpler looking blogs and wanted the payload to be incredibly slim. While there are several static site generators popular right now, Hugo is the fastest and most capable of keeping the site lightweight. I thought hard about using Gatsby as I’d be able to use TypeScript & React (which I really enjoy), but decided I didn’t need a Progressive Web App for my blog. I just wanted simple and fast.

  • Go. Never used it. Didn’t think I’d have reason to. Turns out, Terraform and particularly Terratest can use it for unit testing your Infrastructure as Code. In my current line of work, this is becoming increasingly more important. Hugo is built on Go. This doesn’t seem like much of a reason, but it was enough to tip me toward using it.

Maybe with less need to update dependencies I’ll blog more often, with less dread of having to update dependencies before I can post. We’ll see. The site is going to look mighty plain for a while until I can put a little more time into the pretty side of things. Simple is good though. It will feel like a more modern version of the early world wide web. 😄