Today I migrated this blog from pelican over to jekyll.

Why I hear you ask? Well, when I started this blog I wrote about the features I wanted from a blog platform and decided that a static site generator was what I was after and why I ultimately chose pelican. One of the downsides to using a static site generator like pelican is having to run the generator every time you add or update a post. This is what drove me to create pelicangit which would automatically run pelican on the server-side whenever a post is pushed into the git repo it is watching. More recently my colleague stig introduced me to jekyll which does the same. I’ve had to use an ec2 instance to keep pelicangit running and the main bonus of migrating to jekyll is that this is no longer required; jekyll is already tightly integrated into github pages. You simply push you markdown posts to a github repo and they are auto-magically converted to a static HTML site.

The migration was a mostly manual process as there are no pelican importers, but it went pretty smoothly; luckily the syntax of the two templating systems used by pelcian and jekyll (jinja2 and liquid) are almost identical!

I’m really happy with the result - especially the related_pages variable which pelican is missing. The only feature I was missing that I had with pelican was the ability for jekyll to generate a separate page per tag containing a list of posts for that tag. For the meantime I have made a quick (and very dirty) bash script to workaround this. I need to run this script every now and again when I need to add new tag pages, which is a bit of a pain, but not the end of the world.

If you see any errors or broken links, then give me a shout or send me a pull request.