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.