Giving Hugo another try

22nd March 2023 from jc's blog

If this post goes live, I have ported my blog to use Hugo. I liked my pandoc setup, and I still love the entire make-with-pandoc setup purely for the simplicity of it, but kind of wanted to give Hugo a second try. Don’t worry, Cool URIs don’t change, so aliases for the old locations (except for the RSS feed, please port those from /blog.rss to /index.xml or /blog/index.xml) are in place. Oh, and I have dark “theme” now, and blog posts have a link back to the main page, so those are two nice QoL improvements. My idea with this new, more flexible setup is to be able to put other content on the site more easily, and turn some of my blog posts into more long-term guides, similar to the excellent ISPmail guide.

Well, today it is done. I started using it and quickly stopped understanding what’s happening. Why do I need to use a Theme? What’s a “theme component” and what documents how I can actually style my webpage? After a while, I figured these out.

What makes me sad is the complete lack of offline documentation in form of manpages or similar, and then this really fun bug: If you know me, you know that I edit everything in (neo)vim, and because I prefer two-space indents in HTML in my own projects, I will usually put a modeline into the HTML file. My layout/index.html file contained something like this:

{{ define "main" }}
{{ end }}

<!-- vim: set sw=2 ts=2: -->

What happens? Oh, nothing. Exactly, nothing. Your site will build just fine, no error, no warning, oh, and no content! Your entire page just stays blank! Judging by this post on the Hugo forums, that seems to be some Fun Behaviour from Go’s templating engine. What the fuck? Relevant I want off Mr. Golang’s Wild Ride

My one other complaint is that hugo deploy supports AWS S3 buckets, Azure Storage Containers, and Google Cloud Storage buckets, but … no plain old SFTP. That would have been nice, but it’s simple to implement yourself.

Tip: the only thing more productive than just blogging is spending more time changing your blogging setup than actually writing posts.

reply via email