This Blog Is Now a Pythonic Pelican-Powered Publication

The pelican takes flight...

I started this blog in 2014 using the popular Jekyll. Whilst it served me well, I’ve wanted to migrate to a Python-based tool for a while now, for a few reasons:

I started investigating a migration a couple weeks ago, trying various ideas such as using Sphinx or writing my own docutils-based static site generator. After finding Pelican would fit my needs perfectly, I picked it and started a migration in earnest on Saturday the 4th September. I didn’t work full time on this, but it did take several days’ worth of effort, which culminated this morning with a deployment of the new site.

The migration involved starting a new Pelican site, copying over my existing templates, tweaking Pelican settings, and importing my old posts. Pelican supports both Markdown and rST, but rather than leave my 205(!) old posts in Markdown, I wanted to migrate them too for consistency. I’m glad I did, as the extra tooling I’ve added allowed me to make numerous small improvements. I migrated them with a combination of pandoc, Python, regular expressions, and manual persistence working through each post in turn.

Site Improvements

Here are some of the improvements I made during the migration:


Hope you enjoy the new site. If you are thinking of starting a blog yourself: P-P-Pick up a pelican*!


*British chocolate bar reference

Learn how to make your tests run quickly in my book Speed Up Your Django Tests.

Subscribe via RSS, Twitter, Mastodon, or email:

One summary email a week, no spam, I pinky promise.