As my old site design had became rather grating (both visually and on the backend) I’ve decided to rebuild my site completely.
The previous system, from 2004 (!), used Make to “compile” a set of PHP scripts together, producing a mostly static HTML result. Consistent sidebars, headers etc were just PHP includes. A few directories were built with special Make/PHP targets to convert a collection of XML into HTML, or generate a static image gallery from a directory hierarchy of images.
Although I am starting over again - and avoiding PHP this time - I want to do things a similar way, building a static site from a set of files that can programatically generate content.
After looking into a few ReST, Markdown and templating alternatives - including rst2web and Sphinx - I settled on using Nikola.
Nikola works similarly to my old system of “building” a dynamic site into static HTML. Page content can be added to a source tree using ReST or a variety of other formats, and the build process takes care of converting it and adding consistent navigation and styling. It also supports image galleries like my old site system, taking folders of images and converting them into a static gallery with thumbnails etc.
As an added bonus, it includes excellent blog post support, so hopefully I’ll be making more posts like this.