I installed the theme and the theme did not appear
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.