I’ve maintained this site since 2002, and it had essentially the same layout from 2004 until recently (November 2015). It was time to redo it.
My old toolchain processed DocBook source files into HTML by way of custom XSLT stylesheets. DocBook has its uses, but it has too much overhead for the sort of content I publish here. The rise of Markdown and its use as the standard documentation markup at GitHub convinced me that it was a better alternative.
As I added the songs and blog sections to the site, the tools that produced those sections had to be coerced into fitting into the main site. It became very difficult to introduce even a single site-wide design change.
My tools lacked good methods for providing newer forms of content like slideshows or embedded media.
Did I mention that the site was running a design developed in 2004? It looked fine on tablets, but never worked well on phones.
At the same time, there were virtues of the old design I didn’t want to cast aside:
The site was static. It loaded quickly. It was easy to keep in a version-controlled repository. It had no dependency on a database or templating language like PHP.
All the content was self hosted, so I was always confident that the site was safe.
I did some work with Hexo. It handled Markdown well enough, but at heart it’s a blogging system, and I never felt like it could handle the breadth of content I want to publish.
I finally settled on Bootstrap for design and Hugo for building, and I’m really happy with that combination. Hugo is amazingly fast; it isn’t quite as configurable as I’d like, but it’s in active development and I think its future is very bright. Bootstrap has taken the web by storm; I love its focus on mobile devices and solid design elements.
I still rely on a home-brewed tool for translating ChordPro source files into intermediate HTML (which Hugo formats for the site), but otherwise Hugo handles the whole site.
My hope is that this new toolchain will allow me much more flexibility to introduce design changes, major or minor, as my needs change.