This is a static website built with Hugo and hosted on Netlify. This is my own hand-made theme, but I’m very grateful for the headstart on directory structure from Niklas Fasching’s bare minimum Whitespace theme.
I’m also indebted to Matthew Butterick’s Practical Typography for inspiration in the design of the website, though I’m sure he’d question some of my choices (largely a result of limited time).
If you have any comments or spot any bugs, please let me know.
Hugo is a static site generator written in Go, and compiles incredibly quickly. It took me a little while to get my head around how it does things, and particularly its nomenclature (archetypes vs layouts vs taxonomies vs shortcodes, etc.) but it’s been well worth the investment. Nancy McGough’s Hugo Tutorial gave me the biggest leg-up in understanding it all. What made Hugo most interesting to me was that it’s just one binary to install. It has no dependencies, no toolchain to get muddled up in, it includes Sass compilation, minification, and live reload, all out of the box, and it’s cross-platform. What a dream.
What Hugo does for easing development woes, Netlify does for DevOps: I barely have to think in order to release a new version of the site – I just push to my master branch (or merge a PR) on GitHub and Netlify starts a deployment. Near-instant, atomic deployments with very easy rollback, and a generous free tier. CDN included. And because this is a (pre-compiled) static site, there’s no security worries involving out-of-date plugins and insecure admin logins.
For analytics, though only a nice-to-have, I wanted to steer well clear of Google Analytics with all the privacy concerns and cookie consent banners. After a good deal of searching I found GoatCounter, which is open-source, hosted, free for non-commercial use, and only uses anonymous data.
More about the analytics