fix(footer): send each documentation link to the section its label names #20
Reference in New Issue
Block a user
No description provided.
Delete Branch "fix/footer-docs-links"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Reported from the live site. All three links under Documentation pointed at
/docs/— three labels, one destination, which is also the page the header'sDocslink already opens.Each now lands inside the section its label names. The docs home ("What is Runic Gateway?", the first page of Getting started) stays the header's link rather than becoming a fourth route to the same page.
Why nothing caught it
Worth writing down, because the answer is not "we were careless" — it is that the property was never asserted anywhere:
checkLinks.mjs/docs/resolves. Three links to a page that exists are three valid linkscheckSidebar.mjsplannedSidebar. The footer is not the sidebarcheckA11y.mjsThe bug is not a broken link. It is a link that goes somewhere other than where its label says, and nothing in eleven checks or two suites was looking at that.
The guard
The columns move to
src/data/footer.mjs, besidelegal.mjsandcollection.mjs— a column list inside an.astrocomponent cannot be imported by a test, which is the whole reason for the move.test/footer.test.mjsthen asserts six things:/docs/, which is what shipped);/docs/;brand.giteaOrgandbrand.discordInviterather than hard-coded values (§7, D13).No new check script — this is a test in the existing suite, which is where it belongs and keeps D53 intact.
What was run
The guard was verified by reintroducing the bug: putting
/docs/back under Administration fails two tests with the message the next person would need —Restored, and
npm run verifyis green end to end:And the built page itself, since the data being right and the render being right are two claims:
Merging rolls the container over automatically; nothing to do on the host.
Co-Authored-By: Claude.🤖 Generated with Claude Code