Kristian Glass - Do I Smell Burning?

An Aged Octopress

I moved this blog from WordPress.com to Octopress in 2013.

Moving from a “blog service” to a static site generator has been great:

  • Hosting static content is pretty easy
  • It’s backed by git, so I get all the benefits that brings: history, branches, diffs, etc.
  • Security-wise, the attack surface is much smaller - the production site is just static HTML/CSS/JS, so there are entire classes of vulnerabilities and threats that I don’t have to worry about

However, it’s possibly come with a little complacency - I looked back recently to find I’d not actually updated the framework itself since my very first commit ~6 years ago. Slightly embarrassing (as someone who regularly talks about the benefits and importance of regular incremental updates) but not exactly surprising: “the cobbler’s children have the worst shoes” after all…

At the same time, it’s somewhat commendable that in this age of constant change and regular updates and backwards-incompatibility, that it all mostly works.

Mostly.

Here’s where I’m at:

  • Automated builds and deployments to S3 work absolutely fine - I can still quite happily publish!
  • Automated builds are done with CircleCI v1, which has been EoL since September 2018 and is going away in March 2019 - migrating other projects to CircleCI 2 has fortunately seemed fairly straightforward, but it’s still a thing I need to do
  • The latest Octopress doesn’t merge cleanly - not surprising after so long!
  • I used Netlify for branch previews for a while, which was great, but builds stopped working around January 2019 - possibly due to bundler changes on Netlify’s platform
  • Local builds require me to disable Pygments in the HighlightCode plugin, despite believing I have all my dependencies pinned - possibly some weirdness arising from pygments.rb and how it’s a Ruby wrapper around the Python library
  • The local preview server keeps not regenerating content, and occasionally chews all my CPU/RAM
  • Upgrading compass or rdiscount requires code changes, and I don’t grok enough Ruby yet to make them work

In short, I can still write posts and publish them, but a lot of the side-structures around that are crumbling. Nothing’s beyond repair, but nor are the fixes trivial.

I’m faced with two choices:

I can work through six years of Octopress changes, applying patches and fixing as appropriate. This can be done incrementally (which is great - we all know how well “I’ll just go away and do a big rewrite” projects usually turn out!) and is most likely to retain all existing functionaliy.

Alternatively, I can switch frameworks, to something like Hugo or Pelican. Slightly drastic, but I don’t really know Ruby all that well and it might be useful to have plugins written in a language I do know, plus Octopress 3 has been “coming” for over four years now which doesn’t hugely reassure me about its long-term future.

Whatever I do, I’m not sure it’ll be hugely easy or pleasant, but it’ll definitely be about time!

Comments