Jekyll

The current incarnation of DeGruchy.org, mainly this blog, has been generated in Jekyll a Ruby-based static blogging platform. I like it because it lets me do a number of things that WordPress and even Drupal didn’t let me do (easily). It also alleviates the headache of having to deal with PHP hosting, databases and the massive issue of updating and securing a web-facing piece of software.

While it makes it easier to maintain (basically checking everything into git), it also means that you need to be using a machine that has git, ruby, Jekyll and it’s dependencies. Additionally, you need to a way to upload the content to your hosting (like S3).

It feels like some sort of blogging renaissance, hearkening back to the days of MovableType and Perl/CGI-based blogging scripts that, effectively, did the same thing – but slower. Personally, I really think that it’s great. It encourages longer form posting due to having plenty of time to write locally before making the conscious decision to post as well as making the web, faster, safer and ultimately easier to customize.

Jekyll is also really nice because it allows me to write Markdown, which other services allow, but they keep each post as a record in a database. On the other hand, Jekyll keeps each post/page as an individual file located on the filesystem. That way, I can use my favorite editor(s) to add/update content without having to feel like I’m forced to use the browser for a task to which it is ill suited. The limitations of being static also force me to be more creative with solutions to things, instead of relying on some dynamic back-end to fill the gap. Things like tables get JavaScript sorting and search indexes get generated to JSON to be ingested by some clever scripting/filtering algorithms.

All-in-all, despite the perceived downsides to using a static site generator, I feel that this new/old kind of blogging systems have a lot to offer. Especially to those who desire complete control over the final product or developers who are already used to a text-based/console work-flow for their endeavors.