From Jekyll to Hugo

Jun 19, 2019

I have decided to switch the site over to Hugo from Jekyll. In the process, I also switched from using Travis CI to GitHub Actions. I’ll cover the CI switch in a follow-on post. In this post, I’ll cover the motivations and what I did to switch.

Jekyll served me quite well for quite some time but there are a few factors that motivated the switch:

  1. Ruby toolchain updates This isn’t really Jekyll’s fault. I just don’t really do much Ruby development any longer and, since it’s pretty obvious that I don’t post here often, I typically find myself wanting/needing to do chores such as updating dependencies and chasing down any issues. Though, typically there haven’t been many. I will note that, while I have been doing more Go development, Hugo is distributed as a binary and really the only Go you need to know about relates to templating (unless you want to contribute).
  2. Batteries included As evidenced in my Adding Disqus to Jekyll post, Jekyll takes an approach where you should install plugins and assemble things yourself. I see some advantages to that for customization and leaving out dependencies that you don’t need. However, this site isn’t really all that complicated and I just want things like Disqus, pagination, etc… to work.

In order to convert the site, I used hugo import jekyll (see doc) but also ended up doing some manual tweaking to make sure that my permalinks were good enough for Disqus to continue working without having to set up additional mapping. So, I essentially just set the url for old posts to set the permalinks. I had considered contributing to the import jekyll command but wasn’t quite familiar enough with Go and Hugo to do that and my site is pretty small. I did the full conversion between the theme repo and a single pull request for illustration. In the pull request, you’ll notice some other tasks that I probably could have done earlier such as improving the markdown formatting, getting some consistency, as well as the conversion to GitHub Actions.

Leftovers

There are a few leftovers from this work that I’ve got on my list of TODOs.

Theme Reuse

I would like to get the bota-hugo-theme in better shape for others to use. It’s sitting pretty good right now but there are a few issues that I’d like to address still. Feel free to contribute and add issues!

Follow-on Posts

Other than that, I’m fairly happy with the switch!

comments powered by Disqus