setup-node provides Node but not Yarn; the workflow was relying on the runner
image shipping it, as GitHub's hosted images do. When the act_runner image
changed, `yarn install` began failing with exit 127 and every push since
6964ce7 (2026-07-19) silently stopped deploying — a dead pipeline reads the
same as a site that did not need to change.
Pinned to 1.x: the lockfile is v1 and `--frozen-lockfile` is v1 syntax.
Retract the seven published columns into drafts/ and promote the 24 per-date
entries split out of Notes/random.md. Bodies are verbatim; titles, subjects
and slugs are new.
Make publication a matter of location. Notes/Notes.11tydata.js gives anything
under Notes/ permalink: false unless tagged `column`; drafts/drafts.11tydata.js
renders drafts at their real permalink under `yarn dev` and excludes them from
collections entirely in a build, so no template can surface one. Publishing is
now `git mv drafts/<file> columns/`, and moving it back retracts it.
Untagged notes were previously rendered into _site/ and deployed — including
Notes/random.md, which was live at /Notes/random/.
Serve it as text/plain on deploy so browsers display the raw text
instead of downloading; add .dockerignore so local image builds can't
ship stale _site or host node_modules.
- Drive the columns collection from the `column` tag, recovering 3 columns
authored under Notes/ that the glob missed
- Tag the 6 columns with subject tags; add a subjects collection and a
/subjects/ listing page (newest-first), linked from the footer
- minmax(0,1fr)+min-width:0 and pre-wrap so a long fenced line no longer blows out the grid
- build-time KaTeX via @vscode/markdown-it-katex; ship katex CSS+fonts and link in layouts