jwogrady Working notes on tools, and why they earn their place

I installed the theme and the theme did not appear

resolves JRN 26-010

An override is a fork of one file, not a patch to it.

$ git submodule add https://github.com/jwogrady/hugo-spectrum themes/hugo-spectrum

Submodule rather than Hugo Modules, because Modules wants a go.mod and this theme doesn’t ship one. The submodule pins a commit, which means a checkout a year from now builds the same site as today. I like that property a lot.

Then I rebuilt and got my own handmade templates back.

The scaffold baseof.html and page.html I’d written an hour earlier were still sitting in layouts/, and a project file at the same path beats the theme’s entirely. Not merged, not layered — replaced. Five files were quietly overriding a theme I’d just installed, and the build was perfectly happy about it.

So deleting my own work was the install step, which is a funny thing to discover.

The consequence worth keeping: any override I keep from now on is a fork of that one file. It stops receiving theme updates and nothing will warn me when upstream changes it underneath. Override as little as possible, and leave a comment in the file saying what it forked and why.

And for anyone cloning this repo — git clone --recurse-submodules, or themes/ is empty and the build fails in a way that reads like a content bug.