Hugo frustrations

I’m trying to port my blog to Hugo. It’s not going well. The problem is Hugo is complicated. And nothing out of the box does quite what I want (admittedly, my blog is pretty special snowflake stuff). So now I’m diving in trying to learn how to create my own custom theme, control pages generated for indices, etc. It’s a mess.

What doesn’t help is Hugo is incredibly complicated. Right now I’m struggling to learn Go’s template language, which is the basis of Hugo templates. It’s confusing and gross and I don’t want to learn yet another ad hoc programming language. It’s really confusing because I still don’t have the gestalt of how all Hugo fits together. Like at its core there’s some thing that reads a bunch of content blobs and renders those to HTML along with some list pages of things. Where is that simple structure expressed? Somewhere, but I still don’t quite get it.

Not helping things at all is weird magic. I kept trying things in a simple shortcode and getting the result ZgotmplZ inserted. WTF is that? It looks like a mangled C++ class name or something. No, turns out that’s Go Templates saying “you have used a thing in an unsafe context”. So that’s super confusing. Now I have to learn what contexts are, what safe means in this context, and how to make unsafe things safe. If it’s even possible.

Maybe I should give Jekyll a shot. I already tried Pelican and didn’t love it.