Blag

BlagBlag is a minimal static-blog engine that I wrote for this site. I hacked it together in C# in a few hours so its not as robust as I'd like. Nonetheless it does all of the things that I want it to. It supports multi-page index generation, automatic 'category' and 'archive' generation, templating of blog entries, etc. But most importantly the output is path-agnostic, so there are no absolute links in any of the pages. This means you can drop the blog in any directory and its just going to work. Also, because its static, I can use the blog offline without a webserver. So basically the file layout looks like:

|- blag
   |- in
      |- dynamic
         |- templates
            |- Index.html
            |- Header.html
            |- Footer.html
            ...
            ..
            .
         |- pages
            |- About.html
            ..
            .
         |- entries
            |- 2010
               |- Month-Day-Number.html
               ..
               .
            |- 2009
            ..
            .
      |- static
         |- css
         |- img
         |- files
   |- out 

To create a new post, I drop in a static file named Month-Day-Number.html under entries\Year (Basically just copy a skeleton file and rename it) and start editing. Once I'm done I run the blag tool and it will generate the blog within the out directory. I then rsync 'out' to my webserver and I'm done.