This is the code to my personal blog and homepage.
The heart of my blogging platform lives in a GNU Make Makefile
, which specifies the entire build process. Each blog post starts with YAML frontmatter (which contains metadata like the post's title) followed by the body content in Textile markup.
- blog posts are preprocessed with yaml2json
- they are then bundled with gather and groupby
- some defaults are filled in with jq and refract
- the jade templates for posts and pages are rendered with render
- CoffeeScript and Stylus stylesheets are compiled
- files are moved around with put and then synced to Amazon S3 with the AWS Command Line Interface
Everything is generated by running make
. I use serve to check if everything looks alright on localhost, and then upload to S3 with make upload
.
A full rebuild of the entire site takes roughly 30 seconds on my 2011 MacBook Pro, but render is smart enough to only rerender when needed, so adding a single post takes just 3 to 4 seconds.
I mostly edit my blog posts in Mou and the templates in Sublime Text, but everything else happens on the command line.