How This Sausage Is Made

Draft created: 9 November 2012
Last updated: 14 January 2013
Status: Second draft

drafts.jsvine.com, at its core, runs on Jekyll, the open-source static site generator that’s generating evermore blogs these days.

In its standard configuration, Jekyll turns a folder full of text files into a website full of (something like) blog posts. But unlike typical Jekyll blogs, each of my drafts is its own Git repository, instead of just a single text file. This lets me keep track of changes to each draft separately, and to collaborate with other writers/editors on a post-by-post basis. To make this work, I’ve written a kludgy Jekyll plugin1 that I’ve named Gekyll. This plugin changes the Jekyll workflow in two keys ways:

Those JSON files let me display the list of changes at the bottom of each page. The interactive aspects of each page are mostly written in Backbone.js and its dependencies.

On January 14, 2013, I released version 0.0.1 of Gekyll on GitHub. If you’d like to incorporate Gekyll into your Jekyll project, but are having trouble with it, don’t hesitate to drop me a line.

  1. Before mid-January 2013, it was an even-kludgier modification of the Jekyll library itself.