Jekyll to Hugo

Written by on Modified on Read time: 2 min

Jekyll as it turns out, uses ruby. And the runtime and dependency management of ruby does not neatly fit into docker containers.

That’s an issue if your whole CI&CD pipeline is built around docker. Which mine is. And because it was giving me headaches with building constantly, I kind of left this blog to just rot.

Planning

So clearly I couldn’t keep on going down the same path of trying to fix the pipeline every couple of months if I actually wanted to write anything blog like. I looked at a couple of different options, and ended up choosing hugo.

Why hugo

Well firstly, it’s docker images are small, most likely thanks to the compiled nature of golang.

Secondly, because it uses a similar templating and data structure of my already existing jekyll site. I wanted to utilize my existing jekyll site and not need to start from scratch.

And thirdly, because it has features that I want. Good RSS and sitemap generation, as well as pagination and minification and flexible theming and templating in generall all made it seem like the best choise.

The change

The theming was similar but not interchangable. I needed to change a lot of things, and even rewrite entire parts of code due to small differences. Overall though, I did not need to write my scss again or think about the layout, which was a big plus.

I did need to re-organize a few things, but now as an added benefit all of the tags and categories get their own RSS feeds as well. The build time is blazing fast compared to my old jekyll site as well. Which all makes me wonder why jekyll is still used instead of hugo.