So... The last time I told you that I used Jekyll for this "new" blog, turns out that Jekyll is pretty buggy and incomplete and that I'm really incapable of using Ruby at all so last week I basically decided to copy it to be able to add the features that I want and that I need.
The result of this effort comes out of a night of coding and it's pretty compatible with Jekyll, in fact converting this blog over was just a matter of minutes. The name of my project is Dorian and I think it brings a bunch of improvements on the table.
First of all it uses Mako as a templating language so I don't have to rewrite myself the code to inherit templates into other ones. It's also pretty fast and gives a certain freedom to the developer. Django templates (or Liquid, the implementation in Ruby) are a bit too strict and I find myself wondering how to render something too often while with Mako I simply write what I need.
The other big change is that I pre-process all the posts and pages and only after that I render all of them. This is a huge advantage because it allows for the rendering code to have access to all the data it needs from the site. This is still pretty unused in the implementation with the exception of the tagcloud code that wasn't possible in Jekyll unless you used an awkward patch from MetaJack.
I still miss the extended part support but I plan to add it soon because now that my blog generator is in Python I can finally hack it very fast. Last, but not least, Dorian is just 234 lines of Python, impressively short for such a complete piece of software. One thing though is that I still miss tests... I should have written them but this was really a one-night hack since I couldn't sleep :). Hopefully somebody will find this useful.
You can fine an example of its usage in my blog source code and of course the most interesting bit is the migration from Jekyll that is all in this changeset.