Site Software

Basic Setup
Scripts
Book Database
RSS Feed
License

Basic Setup

I work on the static content of the site using Emacs Muse. My muse configuration is pretty long and available in my site-emacs repository. The site itself exists in a darcs repository which is a fork of the source repository I edit locally—the source repository contains muse/image files while the site repository contains html updates as a separate series of patches.

This provides a very nice editing environment and makes publishing fairly easy—I push edits from my laptop to my workstation and then off to HCoop with the html updates. Almost no effort is spent dealing with some dumb web interface or other pointless things making it much easier for me to just write things and toss them up onto the web.

Scripts

There are a few scripts and templates in the darcsweb::site-support repository that I use to update the site. darcsweb::site-support/update.sh automates the process of sending patches off to the server via afs.

Book Database

Book List is autogenerated by darcsweb::site-support/books.lisp which reads a template and a small sexp database of book entries and spits out a muse file which is not kept under VC. This works well for me currently, but I intend to eventually upgrade this simple system to an Elephant object database with a CLIM frontend for editing entries. I'll probably end up writing a minimal database manager for the sexp based system first.

RSS Feed

The site rss feed is generated by darcsweb::site-support/rss.lisp. It fetches the darcs xml changelog for interesting files and then spits out a tolerable feed with automagically generated links from *.muse to *.html. A dumped binary is run from a darcs hook on the main repository that handily updates the feed whenever I commit.

apply posthook update-site-rss apply run-posthook

Boring old Apache is used to serve up the generated feed. The feed stays updated when I update, and Apache deals with properly letting readers know when the file last changed and whatnot.

License

All of the scripts used to generate the site are in the public domain unless otherwise mentioned in the files themselves. To use them anywhere else would require modification, but a few chunks of code could be generally useful for other things.

Valid XHTML 1.0! [ Viewable With Any Browser
	] [ Powered by Debian ] [ Hosted by HCoop] [ FSF Associate Member ]

Last Modified: January 21, 2013