I decided yesterday to rebuild this website using Hugo, while it was originally built using Jekyll. In this post I’ll discuss my experience.

I was originally attracted to using Jekyll because I wanted a really simple static webpage, and at the time, Jekyll seemed like the best and most popular option. I enjoyed its excellent support for code and \(\LaTeX\) rendering.

Over time my webpage grew to use many dependencies. I was a little bit uncomfortable about this, since Jekyll and its extensions are written in Ruby, which is not a language I’m comfortable with or enjoy using. Whenever I ran into a lacking feature (which was pretty often), I just grumbled and moved on, since I didn’t feel like stomaching enough Ruby to do whatever I wanted.

Although it has been years since I last attempted to deploy this webpage with Jekyll, I remember running into some issues and some surprisingly long build times. It’s around that time that I first heard of Hugo, which offers a similar feature set built in Go, which is a language I’m much more familiar with.

I decided yesterday to take the leap and attempt to recreate my page, with minimal aesthetic and technical changes, in Hugo. It took a few hours of tinkering but I mostly succeeded, except in one area. Jekyll supported an extension for handling citations in blog posts through BibTeX files. Unfortunately I don’t think such an extension exists in Hugo yet – maybe I will develop it. So for now, citations have been manually annotated in blog posts, and a bibliography manually added to the bottom of relevant posts.

Overall I’m really pleased with Hugo, and I especially enjoy the fast build times.