Bug b007 — Website: two internal links break under accent v0.23.1
Status: Resolved
Severity: Low
Related: yqr-f010 (the Accent CMS website), .github/workflows/pages.yml
1. Symptom
Accent CMS v0.23.1 (the serve/build-parity bugfix release, https://github.com/AccentCMS/accent/releases/tag/v0.23.1) tightened the build-time link checker and aligned static-build media output with serve-time behavior. Building the yqr site with it surfaces two broken internal links that v0.23.0 let through silently:
WARN broken link: 404.html -> /docs
WARN broken link: demo/index.html -> /content-media/demo/yqr-demo.sh
- Demo script link.
docs/content/demo/README.mdlinkedyqr-demo.shvia the page-local media route (/content-media/demo/yqr-demo.sh). Accent refuses to serve script extensions (.sh) as media on every route — page-local, bare page-URL alias, and the shared media directory alike (verified againstaccent serve0.23.1: the sibling.yamlfiles return 200, the.shreturns 404). v0.23.1 makes the static build match, so the file is no longer emitted into the output and the deployed link would 404. - 404 page navigation. The vendored theme’s error template
(
docs/themes/default/templates/error/404.html.jinja) linkedurl('/docs')— an upstream-theme leftover; this site has never had a/docssection. Live today: the deployed 404 page’s “Documentation” link itself 404s.
2. Fix
docs/content/demo/README.md: theyqr-demo.shtable entry links to the file on GitHub (blob/main/docs/content/demo/yqr-demo.sh) instead of the media route. The two.yamlsample links stay page-local (allowed and byte-identical to the repo files).404.html.jinja: the dead/docslink becomesurl('/specs/'), labeled “Specs” — the site’s actual documentation tree..github/workflows/pages.yml:ACCENT_VERSIONbumpedv0.23.0 -> v0.23.1, matching the local development binary, and the build step gains the new--strict-linksflag so any internal link whose target is missing from the output fails the build instead of warning. This class of defect (works inaccent serve, 404 on the deployed site) is now caught in CI on every PR touchingdocs/orspecs/.
Also of note: v0.23.1 ships the upstream fix for the copy-button label
leaking into copied clipboard text — the vendored theme already carries the
equivalent local fix in
docs/themes/default/assets/js/islands/copy-code.js, so no theme change is
needed.
3. Verification
cd docs && accent build --clean --strict-links --base-url https://zoosky.github.io/yqr (accent 0.23.1) completes with zero link-check
warnings; the base_path conformance check passes; output/404.html links to
the prefixed /yqr/specs/; output/content-media/demo/ contains the two
.yaml samples.