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.
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
bundlerchanges on Netlify’s platform
- Local builds require me to disable Pygments in the
HighlightCodeplugin, despite believing I have all my dependencies pinned - possibly some weirdness arising from
pygments.rband 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
rdiscountrequires 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!