Skip to main content

My Contributions to Nikola

A few months ago I wrote that I had switched the way my blog was handled. Not just the blog, the entire site, of which the blog has always been only a part. From being a WordPress blog, with a simple static front page, I moved to the whole site being statically generated: written in Markdown and converted into HTML using a tool called Nikola.

One of my reasons for doing that was to have control over the tools I use. If I chose one that was written in a language that I know, namely Python, then at the same time as changing my tools, I would have the chance to improve my knowledge of the language.

As you might expect, then, I’ve made some contributions to the Nikola project. First I fixed a few minor bugs. And now I’ve created both a new theme and a new plugin.

Blogging Inspirations

There are a couple of styles of blogging that have inspired both elements of my own networked writing, and the things I’ve contributed. Those are:

  • The ‘link posts’ used by John Gruber of Daring Fireball (and others, but I feel Gruber popularised them). In these, the post title becomes the link to the item the blogger is writing about. The blog post’s own permalink is also present, but indicated by another element, such as the timestamp. On daring fireball it’s the star after the title.
  • Titleless microblog posts, as popularised by Dave Winer at Scripting News. Again, lots of other people do these too — not least many on Micro.blog — but Winer was an early and is a continuing advocate.

I wanted to be able to use both of these techniques myself, and with only a small fix and some tweaks to template files, I could. But I also wanted to make them first-class citizens of my site, and to make them easily accessible for anyone else who use Nikola. So a theme that handled them well, and a plugin to ease their creation (well, creation of titleless posts) seemed like the way to go.

The GruberWine Theme

Given the inspirations, I named my theme ‘GruberWine’. It’s available in the Nikola theme repository. The details are here. It’s based visually on another theme, called zen-jinja, but I made a lot of changes to the CSS.

The Nikola Micro Plugin

Nikola provides a command-line tool for creating posts: nikola new_post. But that makes you enter a title. You can tweak things afterwards to remove the title, but if you know up front that your post won’t have one, you can now use my ‘Micro’ plugin, by running nikola micro. The details are here in the plugin repository.

Comments