Sam Jacoby

Tracking Changes

Posted . [Last updated . ]

Inspired by @jsvine’s experiments in version-control at drafts.jsvine.com, I thought I’d expose some of the bones that tick beneath my site. I run these pages through the Hyde static-site generator—Jekyll’s underloved Pythonic-cousin—which despite being a little complex for the job, I like.

I mostly use git as a glorified save button, not a collaborative tool (on this site at least)—so all I needed to do was expose my changesets (already online on GitHub).

I slapped together a small plugin that parses the logs of the repo that backs the site, and renders them on the page per-file in a reasonably-digestible manner. It would’ve made more sense to be using mercurial (which is written in Python), but alas, GitHub is too damn good.

At any rate, you’ll now see a ‘Change History’ on the bottom of each page I’ve worked on—and if you’re so inclined, can thumb-through my misspellings, fudged-dates, and all the rest. Tantalizing.

The plug-in, itself, is here in a not-very-palatable form. Pretty minimal, but you get the idea. The syntax-highlighting is a smidgen of jQuery.

†.

My sister pointed out that git looks suspiciously-like a typo for get. It is not. Git is a popular piece of software that allows you to keep track of all of the edits you make on text files and easily collaborate and share your changes with others. While originally intended for software development, it’s finding uses in a number of projects.