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.

Posted on 31 Jan 2009 — Tagged with python · dev · web

I know this is not the first time I promise something and it won't be the last either, hopefully this time the hassle of managing a blog will be much less thanks to Jekyll and IntenseDebate. They will deal with my layout and comments removing the need for a database or a web application framework. Last but not least I decided to change the main language from italian to english and that's also why all the old posts won't be preserved, that and because I really didn't have the time to migrate the old data to the new system and since I really had just a few posts and comments and all more than one year old it's about time to move on and try hard to make this one succeed, it will be hard but we can give this thing a try.

Posted on 25 Jan 2009 — Tagged with jekyll · blog · meta