Rebuilding Keetology Static Blogging with Metalsmith


One of the things that always held me back from fixing Keetology was technology. The old Keetology was always about what it was built with—and for the most part, it was always built with something shiny.

The previous version was built on tech that was new at that time. It ran on a custom JavaScript MVC framework called Fineprint written for V8CGI, and all content (including comments) were stored as Markdown text on CouchDB.

It was exciting when I built it, but it was also goddamn slow. The Markdown was parsed for every request, then rendered with a custom templating language. There was no caching, pages were slow to load, and CouchDB died regularly because of complicated, badly-written map-reduce jobs.

And in the excitement of building the front-facing blog, I didn’t have time to code the blogging interface. Every time I had to post something, I had to convert my Markdown into a JavaScript string that I would put in a JSON document directly into CouchDB. The effort necessary to publish anything was so huge that it is perhaps the bigger reasons I stopped blogging altogether.

So when I finally decided to bring back Keetology, I decided to be lazy.

Continue Reading