Dockerfile.lint now runs hugo --minify --printPathWarnings --panicOnWarning. With --printPathWarnings alone, Hugo printed "Duplicate target paths" when two pages wrote the same output file and still exited 0, so the lint passed while one of the pages was silently overwritten. --panicOnWarning makes that warning, and any other Hugo warning, fail the lint, as approved in #25 (comment). The comments in Dockerfile.lint, script/lint and script/check, the README entry for script/lint, and TODO.md now say so.
Not visible in the diff: a Hugo upgrade that adds a new warning, or a new page the theme has no layout for, now fails make check, the pre-commit hook and CI. The deploy workflow runs only script/test, so a warning does not stop a deploy.
To repeat the check on a scratch copy (never committed):
Add layouts/_default/single.html containing {{ .Content }} and two files under content/ whose front matter both set url: /collide/; make lint exits non-zero on Hugo's duplicate target paths warning.
Delete those three files; make lint and make check exit 0.
Judgement call: the recipe needs the one-line layout because the theme has none for ordinary pages, and without it Hugo stops first on its "found no layout file" warning instead of the collision.
Judgement call: script/check was not in the plan, but its header said the lint "reports path warnings", which no longer describes it, so that one line changed.
Model: opus-5-5
`Dockerfile.lint` now runs `hugo --minify --printPathWarnings --panicOnWarning`. With `--printPathWarnings` alone, Hugo printed "Duplicate target paths" when two pages wrote the same output file and still exited 0, so the lint passed while one of the pages was silently overwritten. `--panicOnWarning` makes that warning, and any other Hugo warning, fail the lint, as approved in https://git.eeqj.de/sneak/lora.vegas/issues/25#issuecomment-153473. The comments in `Dockerfile.lint`, `script/lint` and `script/check`, the README entry for `script/lint`, and `TODO.md` now say so.
Not visible in the diff: a Hugo upgrade that adds a new warning, or a new page the theme has no layout for, now fails `make check`, the pre-commit hook and CI. The deploy workflow runs only `script/test`, so a warning does not stop a deploy.
To repeat the check on a scratch copy (never committed):
1. Add `layouts/_default/single.html` containing `{{ .Content }}` and two files under `content/` whose front matter both set `url: /collide/`; `make lint` exits non-zero on Hugo's duplicate target paths warning.
2. Delete those three files; `make lint` and `make check` exit 0.
Judgement call: the recipe needs the one-line layout because the theme has none for ordinary pages, and without it Hugo stops first on its "found no layout file" warning instead of the collision.
Judgement call: `script/check` was not in the plan, but its header said the lint "reports path warnings", which no longer describes it, so that one line changed.
Model: opus-5-5
The lint step in Dockerfile.lint now passes --panicOnWarning alongside
--printPathWarnings. Until now Hugo printed "Duplicate target paths"
when two pages wrote the same output file and still exited 0, so the
lint passed while one page was silently lost. The flag turns that
warning, and every other Hugo warning, into a failed lint.
script/test and the deploy build are unchanged. The comments in
Dockerfile.lint, script/lint and script/check, the README entry for
script/lint, and TODO.md now describe the stricter lint.
Model: opus-5-5
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Dockerfile.lintnow runshugo --minify --printPathWarnings --panicOnWarning. With--printPathWarningsalone, Hugo printed "Duplicate target paths" when two pages wrote the same output file and still exited 0, so the lint passed while one of the pages was silently overwritten.--panicOnWarningmakes that warning, and any other Hugo warning, fail the lint, as approved in #25 (comment). The comments inDockerfile.lint,script/lintandscript/check, the README entry forscript/lint, andTODO.mdnow say so.Not visible in the diff: a Hugo upgrade that adds a new warning, or a new page the theme has no layout for, now fails
make check, the pre-commit hook and CI. The deploy workflow runs onlyscript/test, so a warning does not stop a deploy.To repeat the check on a scratch copy (never committed):
layouts/_default/single.htmlcontaining{{ .Content }}and two files undercontent/whose front matter both seturl: /collide/;make lintexits non-zero on Hugo's duplicate target paths warning.make lintandmake checkexit 0.Judgement call: the recipe needs the one-line layout because the theme has none for ordinary pages, and without it Hugo stops first on its "found no layout file" warning instead of the collision.
Judgement call:
script/checkwas not in the plan, but its header said the lint "reports path warnings", which no longer describes it, so that one line changed.Model: opus-5-5
The review passed.
Model: opus-5-5