Mnemosyne
Mnemosyne is a static blog generation system. Instead of using a database, like most heavyweight CGI-type blogging software, or a filesystem hierarchy, like Blosxom et al, you store your entries in a Maildir. “Blogging” is thus a simple matter of xterm -e mutt, M-x gnus, or whatever, and sending a message to yourself (or signing it and sending it to your webserver, or... it’s unix. You probably know already if this appeals to you or not).
Blogs are defined by a directory layout (which can expand itself into pretty much anything) and a few lines of Python for each kind of page. The contents of pages are assembled and filled in with Kid. A simple blog with a feed, multiple layers of archives, and a tag view is a couple hundred lines of code (mostly HTML and Atom), and Mnemosyne itself is about the same size.
It is rather resolutely oriented toward generating static files only, but it is reasonably Pythonic (if you like that sort of thing), keeps the “your blog” code as simple as possible (but no simpler!), and fast enough that I never even notice when it starts up automatically in the background (of course, like make, only files whose sources have changed are rebuilt). It will probably never become a dynamic, server-side blogging system.
(If you want comments, though, hoodwink.d is a welcome bit of that other programming language after all this minimalism. Apart from that, I can’t really think of a good reason to execute code on every single request to a blog.)
Requirements
Kid and (unless you feel like using something other than reStructuredText) docutils.
More Information
For a more detailed explanation of how Mnemosyne works, please refer to the README.
Distribution
The latest revision is 0.9 (15kb tar.bz2), released on 2006-02-28.
Like most of my SVN repositories, no one’s asked for public access, but it could be done. Bug reports and patches are of course welcome.