bitcoinops/bitcoinops.github.io

Build site using Hugo instead of Jekyll (upgrade tracking issue)

harding opened this issue · 6 comments

Since its inception, this site has always been built with Jekyll but Jekyll appears to be largely unmaintained; it's changelog indicates the last time a major feature was added was "4.0.0 / 2019-08-19". I don't we particularly need new features from the static site compiler, but as we consider adding new features to the site, I want to make sure we're building on a foundation that will continue to be supported for years to come.

Hugo appears to be actively maintained. In my tests, it also completes a whole site compile at least 10x faster than Jekyll. I've locally completed some preliminary conversion of our site to Hugo and I don't see anything that will prevent us from a complete conversion. This issue for for discussing any objections to a conversion as well as tracking its progress. The plan is:

  • Work on converting the site in a local branch until near parity has been reached between the Jekyll and Hugo versions
  • (In parallel with the above) Open PRs for changes to Jekyll content to simplify conversion
  • When near-parity is reached:
    • update our CI infrastructure to begin building and testing both Jekyll and Hugo versions
    • Host a preview of the Hugo version for reviewers
  • After a few weeks of parallel building and collecting reviews, switch live site to Hugo version (with an easy revert option in case of problems); continue building and testing the Jekyll version
  • After a few weeks with Hugo running in production, drop support for the Jekyll version

Please let me know your thoughts on converting. Until we complete conversion, I suggest a moratorium on adding major new features to the site, with the exception of an update to the Compatibility Matrix (as work on that has already begun).

I like this approach. While it might be a bit more work to maintain the dual infrastructure until the switch-over, it should make the switch significantly smoother than some sort of one-time switch over. I don’t have much information on either Hugo or Jekyll, but generally running on an unmaintained stack seems like a source of future pain, so what you write sounds sensible to me. Also very excited not to wait a few minutes every time I want to preview a branch. :D

This is not an immediate action, but when/if you need to re-create the Topics index in Hugo native way, I might be able to help as we essentially mirrored the index for bitcointranscripts.

@kouloumos thanks, that is helpful!