# Website Workflow
## About
In Spring 2012, I decided it was time to revise my personal website.  I
ended up writing a very lightweight content management system.

## Implementation
Each page is written in [Markdown](http://daringfireball.net/projects/markdown/).
To see the Markdown version of a page, replace `.html` with `.md`
in the URL.  For example, [here](index.md) is this page's Markdown source.

A small Python script named `webgen` searches through the directory
structure for files with the `.md` extension.  It converts each into
HTML, then adds a standard header and footer.

Finally, the entire website is stored as a Git repository, based on
[this guide](https://toroid.org/git-website-howto).  A server-side
post-commit hook runs `webgen` whenever changes are pushed.  Only
the Markdown files are versioned; the HTML files are regenerated whenever
their dependancies change.

## Update
As of May 2014, `webgen` is no more:
130 lines of Python were replaced by a 25-line [Makefile](../../Makefile).
In my non-scientific testing, it runs about 3x faster (with `-j8`).

