This is yet another one of those articles that bloggers1 put up every once in a while to state they have moved to Hugo as their static website generator.

Ruby dependencies are hard to manage, especially when building my website across different machines with different operative systems. Recently I was forced to use an Ubuntu image on SourceHut because a specific version of a gem was not available on Debian stable, but that was just the tip of the iceberg. Every time I change OS I need to fight with Ruby and rvm, which is not fun at all. I simply do not want to waste time in technicalities. I want the basic architecture under this corner of the web to be simple and easy to use.

Following a path similar to what Julia Evans did some years ago,2 I would say that overall the migration went fairly smoothly.

First I ran hugo import jekyll to have a starting point, then I grabbed the CSS generated for my old website and used it as the basis for the new version. The thing is I do not want to deal with SCSS files and SASS plugins any more. One CSS file is enough for my trivial needs, although I will need to clean it up a bit soon.

Moreover, I had to write a custom render-image.html to make sure I could use a caption under my images if needed, and a custom shortcode for the kbd tag. Other than that, combinations of project-find-regexp and query-replace let me quickly fix the syntax in my posts to make Hugo happy.

Moving to Hugo resulted in a smaller .build.yml manifest to package and deploy my website via SourceHut pages. In practical terms, I can now use an Alpine image where Hugo and hut3 are readily available to handle everything after a git push.


  1. I feel old writing this word. ↩︎

  2. See: Switching to Hugo↩︎

  3. See: hut↩︎