Blogging With Pelican

Posted on Sep 02 2013 in Web Development

As a web developer, I spend a lot of time with Drupal, which is what formerly powered my blog. Maintaining the site (which I generally neglect) seemed burdensome. Occasionally anti-spam would fail, cache files would need to be cleaned, or some other issue would require my attention. It all felt too much like my 9-5 work. So, I've converted the blog to use Pelican.

From what I can tell, Jekyll sparked renewed interest in static websites -- although static websites that are dynamically generated. Simply write static, semantic content, and have some scripts pump out HTML. The benefits are reduced complexity, increased security, increased performance, and so on.

Many similar systems have popped up. They all have similar capabilities and varying degrees of complexity. Many have poor or modest documentation. Jekyll is built in Ruby, as are several other static blog generators. However, I haven't been into ruby much... but rather Python! Turns out Python has a plethora of options for static site generation. After a brief survey of the available options, I decided to go with Pelican.

Pelican has a nice balance of simplicity, capability, readable (and extendable) code, and contributed content (such as theme and plugin repositories).

Getting started with Pelican was pretty straightforward. I invested most of my time into porting my previous content (which needed a little massaging), and getting some additional features working properly, such as thumbnails and lightboxes. I've heaviliy adapted a contributed theme and I've put in place commenting and other forms. All-in-all: I like it!

Blogging with ReSTructured Text, storing the content in source control, and extending functionalities with simple methods just feels right. More right than depending on a heavy, dynamic site.