Blog Update Pains

#Blog Stuff

Firstly, I made this blog with two key influences in mind:

I mentioned this prior in a now-deleted blog post. With that post now gone, I feel it’s best to publicly credit my influences again and this is the best post to do it in.


The reason why I made this blog is because Enshittification is ruining all the platforms out there. The only way to escape it is to have my own place online, free from the issues these platforms constantly suffer from.1

Now there’s a catch, I’m not a genius. My only experience of webdev was using Dreamweaver CS3 back in school. I knew about Static Site Generators, but I couldn’t wrap my head around them. Because of this, I always updated my blog manually with HTML like it’s still 1999, which was a nightmare.

Writing a blog post was easy, but getting it online was such an arduous task that it completely put me off writing. Something had to change. I needed to sit down and learn a Static Site Generator, or suffer.

~

I chose Hugo for one reason: everyone said it was simple and easy to learn. This was a lie. Hugo is hell to learn for the following reasons:

  • Documentation exists, but it’s nigh-incomprehensible for a newbie to digest.
  • Hugo is too versatile – there is no one way to do a task. This leads to each theme accomplishing the same thing with different methods, which doesn’t help new users figure out the best practices
  • 90% of the help out there was on closed forum posts, with the only reply being from a moderator pointing someone to the documentation with no actual explanation

I don’t want to sound like I’m slagging off the people behind Hugo, it’s a great tool but as someone new to SSGs as a whole it’s practically impossible to understand. Every time I tried learning how Hugo worked I’d end up with a debilitating stress headache and exhaust myself from failure. Each time I’d quit on the verge of tears, time and time again.

Zachary Betz has a clear tutorial for making a Hugo blog from scratch, it’s solid, but not for me. I’ve nothing against the tutorial, but I struggle with bottom-up learning with anything hands-on. If you asked me to build a house, I’d learn more from taking one apart first.

What helped me the most was Jan Raasch’s Hugo Bear Blog theme – which cleanly recreates the look of Bear Blog. I meticulously dissected it to see what each building block did. At 2am on Sunday, neck deep in the partial HTML templates, something clicked.

I became The One

Even if I couldn’t explain with words or even comprehend it, I had an innate understanding of how every piece fit together, and I had the power to rewrite everything as I saw fit. There’s no more liberating feeling than the fire of discovery. In a state of pure flow I had to pry myself away from the laptop at 6am lest I wouldn’t sleep at all. All I wanted to do was scream at the world that I finally got it.

~

Upon waking I spent the entirety the day recreating my site in Hugo, setting it up in a way that all I’d have to do to make a blog post would be to write a Markdown file and make a banner image. If I wanted to change the core layout of the page, all I have to do is change a single HTML file. I can’t state how much time this will save in the future.2

On top of that I made a few changes to how the site looks to [hopefully] make it cleaner and easier to read. I’ve ditched Open Sans for Anek Latin, we have tags now, and the site should be readable for devices which don’t support WebP. It’s not perfect, but it’s good enough for now.

But the pain of repeated failure, the countless headaches trying to understand how Hugo works. It’s finally worth it, and I think I’m just going to collapse in bed now.

Again I have to thank Jaan Raasch, whose Hugo theme was easy to understand. And I’ll apologise to him for absolutely butchering it to create this.


  1. Namely login barriers, obnoxious cookie + mailing list banners, absurd page bloat, and advertisements. They’re all intrusive and make an otherwise decent reading experience a nightmare. ↩︎

  2. I can. I made this footnote instantly. Also not having to faff about with the timecodes on the RSS feed is a lifesaver. ↩︎