If you have visited my website before, you will notice that things look a bit different from what they used to now. This is because I finally took the time to get rid of Octopress, the static-site generator on which my website was based. In doing so, I took the opportunity to rewrite the HTML and CSS as well. If you're interested in why I put so many hours into replacing something that seemed just fine, read on.
The joys of using unmaintained software
Octopress was great when I started my website. It provided a decent default theme and all the features I needed to get started blogging quickly. For quite a while, though, Octopress has been a project that's no longer maintained. I was in the situation that could only generate my website with a specific ancient version of Ruby and the dependencies specified in my Gemfile.lock
a few years ago. I couldn't update Octopress to the latest version before it stopped being maintained. Even worse, when I got a new laptop, I wasn't even able to install the version of Ruby I needed for Octopress to work. I spent a few hours trying to create a Docker image that would do the trick, but gave up when my attempts lead nowhere. This brought me to the ridiculous situation where there was only exactly one machine from which I was able to generate my website when I wrote a new article — my old Macbook Pro. I really didn't want to depend on a single piece of hardware any longer. In my job, I would hardly accept such a sitation, so why should I do so for my personal website?
I wanted to go for a static site generator that would be easier to run on future hardware, ideally something consisting of a single, self-contained binary. Since I really like Rust, I didn't go for the the obvious choice, which would have been Hugo, but decided to take Zola for a ride, a static-site generator written in said language.
Less is more
Another thing I didn't like about the old website was that, using the default Octopress theme, it was quite bloated. My goal for the re-write was to create something that is visually based on the old look, but is a lot more minimalistic. My website now consists of a few kilobytes of HTML, plus 2KB of CSS. Part of the concept is that, in order to keep the website as lean as possible, I decided against using web fonts and went for a font stack, depending on pre-installed fonts. I don't care too much about the website looking 100% consistent across all browsers and machines. What I do care about is that my website loads fast, even when you're sitting in a train with a really bad internet connection.
Naturally, without any JavaScript, there is no tracking whatsoever on my website, which is something that was very important to me. In the old version using the default Octopress theme, I was loading some JavaScript from Twitter. As a consequence of removing all JavaScript, I also had to remove Disqus. I'm still evaluating alternatives, because there were actually quite a lof of comments and discussions in there. They are actually still there, I didn't delete anything. However, I decided against embedding Disqus into my website for now.
Migration anxiety
Have you ever bookmarked a URL of an interesting blog article, or even linked to it from your own blog, and some time later, you noticed that the link or bookmark was no longer working? Well, it happened to me numerous times. One of my biggest fears while preparing the new website was that I might break things for people as well. Since there are actually quite a few links pointing to specific posts on my website, this would be completely unacceptable. While Zola is not perfectly flexible with regard to the URLs it produces, you can configure redirects for pages and sections. This way, everyone who has bookmarked or linked to a page on my website should still be able to find those pages.