What's Old is New Again

Posted on March 22, 2018
Last updated: January 9, 2020
Tags: site

Tim Lavoie

A personal web site, be it a blog, software project or something else, usually has relatively few needs.

  • Be simple to create and edit. Minimize repetitive, boring tasks like writing markup.
  • Be easy for users to peruse and navigate.
  • Function efficiently.
  • Be reasonably secure against the barbarian hordes.

So far, any of the usual suspects would do fine here. Django for Python-oriented dev, well-managed WordPress, Rails, or one of the myriad static site generators, a few of which with I have tinkered. I had a few other thoughts though on constraining choices:

  • Transparent (to me) in its data and workflow.
  • Portable source data (e.g. blog posts and other pages), so that I can easily change it to use the same or slightly modified data with a completely different back-end.
  • Few magic incantations required.
  • Few arbitrary restrictions placed upon me, such as database-oriented, numeric-ID page URLs.
  • Reasonable robustness against losing data. Databases with versioning, files with history that can be reverted.
  • Bonus points for simple backup processes to save anything I do get around to making.

It occurred to me that what I want is more or less a wiki. I don’t need dynamic rendering for the most part, so static output should do fine, and limits the attack surface for hooligans. Let’s see how this goes.

Update: It’s now early 2020, and I’ve explored a few options. Looks like Hakyll is the winner for me. Very powerful, yet simple to use, live preview updates from plain text locally and only final rendered content here on the site. Maybe I’ll create a post about it at some point.