By Einar- Comments
You might have noticed that the blog has a markedly different look than before. It has not only changed visually, but also under the hood. This (brief) post summarizes the reasons behind the change.
Simply put, the previous solution was unmaintainable. “But,” you might say, “it was a static site generator! How could it become unmaintainable?”.
It can. You might recall I moved from Wordpress to Jekyll about six years ago. I chose the Feeling Responsive theme at the time, but it did not do what I wanted it to do (including support of Isso for hosted comments), and it was meant to be a landing page rather than a blog.
So, having probably indulged in something that altered my perceptions at the time (funny, because I neither drink nor smoke…), I forked the theme.
Yes. You read that right. I forked the theme. And to add the functionality I required, and in particular not to leave many broken links around I had to add several Jekyll plugins: some I even had to modify myself to make them behave properly.
Then, version updates
Jekyll had several compatibility-breaking updates. I couldn’t update my fork because it was far beyond my ability (I’m a scientist, not a designer nor a coder in the strict sense), and many plugins started falling apart. I had to hastily prepare a makeshift Docker image containing the exact versions of everything I had (Jekyll 2.5.x, even) and spend several hours trying to make it work correctly (that included using obsolete versions of Alpine Linux, for example).
In short, I made even a worse job than what Viktor von Frankenstein did. Unfortunately, I am not really proud of that. The horrible contraption I built made even writing posts problematic, because the process would sometimes break.
It’s good having a blog where not even the main author can write and expect things to be published, eh?
More recently, I’ve been reading about Hugo, a rather fast static site generator which also happens to be packaged for openSUSE. In particular I found the approach to theming better than Jekyll, because you can just override parts of a theme should you require it, instead of forking a whole theme and hope for the best.
Thus, I used the Ananke theme with some extra additions (documented in the git repository). Importing things was pretty painless. The CSS wasn’t, and I’m sure there are still loads of broken things, but at least I’m moving forward. Please leave a comment if you find anything broken, thanks!
Hopefully I can blog a little more than just making an update and disappearing again (not that I’ve disappeared: I’ve been fairly active doing packaging work in openSUSE). But again, to quote the words of Merlin, “it is a secret only known to the ancient gods and me.”