It all started innocuously enough with this post from Alex Shroeder

Writing tools.

  1. Emacs
  2. Wiki
    What about you?

I spontaneously replied.


This reminded me that since, I had recently migrated my desktop from Arch Linux to Fedora 29, I needed to reinstall Nikola and check that the blog I never use still could be built successfully.

Oh - how exciting. Nikola has recently released version [8.0.1] Nikola-8 and I was on the previous version - 7.8.15. I quickly created a Python 3 virtual environment and installed Nikola.

I generated my site as normal but encountered an error. One post failed to be processed correctly. This was strange so I created another virtual environment and tried using the tried and trusted Nikola 7.8.15 which I knew worked. Definitely.

Only, inevitably, Nikola 7.8.15 also failed. Oh well, a lot has changed since I last posted to my blog way back in January 2017. The version of Emacs has changed, the version of orgmode has changed. I examined the blog entry that was causing a problem. It was a fairly standard text article with a single source code block. As the source block was ‘BASIC’, the language wasn’t explicitly specified. This isn’t a problem in orgmode normally but the Nikola orgmode plugin got confused so I just pretended the code snippet was ‘C’ and everything worked again.

As I was researching the issue, I noticed that another static site generator, Hugo, had also added native orgmode support over a year ago. I had previously experimented with Hugo and found it was incredibly fast to generate my site - even when I added in my entire blog output (978 posts).

Clearly, there was no point whatsoever in experimenting with the Hugo orgmode support for a blog I never used any more. So I went ahead and did so anyway and found the Hugo orgmode support was pretty good. The orgmode headers were supported whereas Nikola used a comment section for the front matter.

Actually, there was a reason for this resurrected interest in maintaining a blog. After Google decided to pull the plug on Google Plus, I had ditched that platform in a fit of pique and experimented with Diaspora for longer form articles and Mastodon for microblogging.

The problem with Diaspora is that it doesn’t currently federate with the ActivityPub protocol (which includes Mastodon sites) and the other problem is that, just like Google, it could disappear.

A Mastodon/Pleroma instance with no character limit might solve the problem but, to be honest, I prefer to read longer articles on a blog.

So I think there is still a place for a self-hosted blog, complete with an RSS feed.

What I have learned however is that blog migrations are still problematic and time-consuming. Even converting from a Markdown blog to another Markdown blog, the differences in the meta-data (categories, tags), inevitably no-one has though to standardise on a single, universal timestamp format and images (no matter where you locate them) are always a problem so there will always be some sort of migration effort required.

To guard against this, I have re-converted from orgmode to Markdown and my front-matter now consists solely of:-

title: "Another blog migration"
date: 2018-11-14T10:43:58Z

No categories, no tags, no author, no description, no keywords, no slugs, no comments.

Just words.