For Good Measure

Schtickle

by Colby Russell. 2016 February 18.

The pages here are now generated with schtickle, a static site generator written using JS with TypeScript.

Until last month, these pages were generated by Jekyll, but since I'm not a rubyist, I was never overwhelmed with excitement about the dependency on that ecosystem.

So when I found out about Marijn Haverbeke's Heckle, it made me happy. That the whole thing lived within a couple hundred lines, more or less, made me even happier. But there were a few issues Heckle had in dealing with my existing simple Jekyll-style site that prevented me from switching over, even after converting the templates to use Mold. They were easy enough to fix, but I had already decided I wanted to start making more use of TypeScript. Heckle's simplicity meant that something similar in scope would be a good candidate, so I wrote schtickle as a clone in TypeScript.

Schtickle is so heavily inspired by Heckle that when it came time to take care of the first order of business—outlining its data structures and function interfaces—I essentially just cribbed Heckle's design, which you can see from schtickle's initial commit. When fleshing out schtickle's implementation to achieve acceptable parity with Jekyll and Heckle, I made sure the problems I had were fixed in schtickle until it was working well enough for my use. And the codebases of each are so simple that, even though I'm not using Heckle, it was straightforward enough to go ahead and provide similar fixes for it, too.

(The amount of time between the first fix and the last is actually a matter of months—when I realized my templates weren't going to work in Heckle, I put the whole thing on the back burner last summer to deal with more pressing matters. When I began thinking about adding some new posts here last month, I picked schtickle back up from where I had started, finished filling it out for my needs, and finally transitioned away from Jekyll completely.)

I've got several of those generic, unbranded spiral notebooks. About one and a half are filled with entries spanning the last three years, and a third or so of those entries have content that's suitable for publishing here. Now that content will probably start getting revised and begin showing up.