New blog face

2 minute read

This blog has a new face!

I’ve moved to a static rendering system called Nikola that’s based on Python.

I was originally looking at Octopress which is built around Jekyll and other Ruby bits, but perhaps mistakenly went with the new Octopress 3.0 release which is not ready for use yet. With a lot of troubleshooting (and patches submitted) I mostly managed to get it functional for the blog, but the (incomplete) new default theme doesn’t work yet, older themes don’t work with the newer version, and I’m not a frontend dev. I need a theme that basically works before I start mucking around with it.

Also, the Jekyll + other ruby bits build were really heavy CPU-wise on my little test machine (Atom procesor, 3Gb RAM), it would take several minutes to do an octopress build of the site. And some features were either not quite right or missing.

So looking around I found Nikola, which is quite stable (at release 7.3.0), has most of the features I want out of the box, and renders out pages much more quickly. It also has good documentation.

Nikola took a bit to get setup on FreeBSD 10.1. First I tried running it under Python 3.4, but there are a few bits not quite there yet with FreeBSD pkg system and Python 3, and plus the whole ‘setting up a pyvenv to get pip’ thing annoys me. So I downgraded to Python 2.7 and everything went much more smoothly.

Importing old blog contents was simple, Nikola includes an importer for WordPress XML exports that will even pull down externally referenced assets from your current site. Unfortunately comments were not carried over, but it was quite simple to setup Disqus which is arguably better than WordPress comments anyway (at least for me).

Nikola doesn’t bundle an uploader for S3 like Octopress 3.0, but does handle arbitrary deploy processes, so for now I’m using the synchronize tool from the jets3t toolkit.

The only thing I really feel is still missing, which I didn’t have setup with WordPress anyway, is social sharing tools. I tried to setup the AddThis widget, but it just refused to show up on the page. Either there’s a JS conflict, or the CSS is messing it up, or maybe AddThis just sucks. Either way, something to look at later, because like I said I didn’t have it before anyway.

So, here’s to the flattened blog. We’ll see if this gets me to write any more or just winds up annoying me. :)