Some History

Leaving XSLT

The last reboot of my website took place ages ago, in a period where it was a good idea to use XSLT. This is a quite peculiar language for someone accustomed to more classical programming paradigms (imperative or functional ones). Even if I gave introductory courses for XSLT in a past life, my mastering of the language remained rather low and years after years, it become clearer that I would have to ditch to old beast.

Lured by the Dark Side

I've to confess that I was nearly seduced by the Dark Side. But strong enough, I was. To be honest, it was not so difficult. The very idea of using something written in the worst language ever, and, even worse, the need to use a very complex web interface to write my website, were unbearable.

Org mode

Meanwhile, I was pointed to Org mode as a convenient way of organizing my ever growing pile of todos. It turns out that, as every org mode user will confirm, this major mode is probably one of the best piece of software ever written. A side effect of using org mode was a stronger reluctance to ever write any XML, especially in my XSLT personal "CMS".

Jekyll

Of course the idea of blogging with something geekier than a full featured online CMS is not very new (and even if I'm not a blogger, my XSLT solution was exactly that, an offline simple CMS). Fortunately, XML/XSLT are not as fashionable as they used to be (a long time ago) and far simpler solutions have emerged, in particular Jekyll, launched in late 2008 by Tom Preston-Werner of Github fame. Jekyll is my static cms made with modern and simple tools: Ruby, Liquid, Markdown and, obviously, YAML instead of XML!

My solution

Org mode and Jekyll

I had to customize a bit my solution. In particular, while Markdown is a very nice language, I wanted to author in org mode for an obvious reason: I use org mode everyday and I didn't want to start confusing the markups. Luckily, I'm not a pioneer on this path and I just had to follow more or less those instructions.

Twitter bootstrap

I took the opportunity of this migration to redesign the look of the site (a standard requirement for a reboot). And again, rejoice! For persons with a total lack of graphical talent (like me), the availability of a super sleek CSS+JS framework like Twitter Bootstrap is a very good news.

And that's how it works:

  • I write my pages and posts in org mode, with a basic YAML Front Matter (generated by a custom bash script);
  • everything lives in a git repository (of course);
  • org files are published as HTML bodies by org-publish;
  • Jekyll comes into play to turns those bodies into full pages;
  • which are styled by bootstrap;
  • and voila!

Published

30 August 2012

Tags

website

jekyll

orgmode

twitter bootstrap