Repository navigation
Wire landingkit's link check, and fix the dead URL it found - #30
Merged
Merged
Conversation
The landing imports the landingkit module, so its design cannot drift. It ran
NEITHER of the kit's checks, and the kit ships `workflows/links.yml` precisely
because "a dead link on a landing page breaks nothing that complains".
MEASURED BEFORE WIRING IT, and it earned its place immediately: run by hand on
the built site, `landingkit links` reported 129 distinct URLs and one dead --
FAIL 000 https://github
THE CAUSE, which is more interesting than the symptom. The hero cards show a
trimmed blurb: the first sentence, by design, split with
{{ $first := index (findRE "^[^.]+\\.?" $plain 1) 0 }}
That ends at the first ".", and a URL is full of them. Phase 8's blurb begins
"measured against [ruby/spec](https://github.com/ruby/spec)'s …", so the card
rendered the literal fragment "[ruby/spec](https://github." -- a half Markdown
link whose href resolved to nothing, live on the published page.
The fix reduces [text](url) to its text BEFORE the split. The card shows prose
and never a link, so that is what it wanted anyway; and a sentence can no
longer end inside a URL. After it: 128 distinct URLs, every one resolving.
AND THE FIGURE IN hugo.toml WAS THIRTY BEHIND. The same card read "23,481
examples pass ... (2026-10-04)"; the gate's BASELINE sums to 23,511. The two
copies under layouts/ were correct, because conformancefigure reads them -- it
read only .md and .html, so the third copy, in params.phases[].blurb, drifted
freely for 26 days under a green check. That tool now reads .toml too
(go-embedded-ruby/docs#40), and with it the whole site checks 5 claims instead
of 4, all agreeing.
Verified: actionlint clean; hugo builds; `landingkit links` exit 0 over 128
URLs; `landingkit verify` still PASSES against go-fileshare.github.io,
including 48/48 background pixels in both themes.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The landing already imports the landingkit module, so its design cannot drift —
landingkit verifypasses againstgo-fileshare.github.io, down to 48/48 background pixels in both themes. What it did not do is run either of the kit's checks, and the kit shipsworkflows/links.ymlprecisely because "a dead link on a landing page breaks nothing that complains".Measured before wiring it, and it earned its place immediately
The cause is more interesting than the symptom
The hero cards show a trimmed blurb — the first sentence, by design — split with:
That ends at the first
., and a URL is full of them. Phase 8's blurb beginsso the card rendered the literal fragment
[ruby/spec](https://github.— half a Markdown link, whose href resolved to nothing, live on the published page.The fix reduces
[text](url)to its text before the split. The card shows prose and never a link, so that is what it wanted anyway — and a sentence can no longer end inside a URL.And the figure in
hugo.tomlwas thirty behindThe same card read 23,481 examples, dated 2026-10-04. The gate's
BASELINEsums to 23,511.layouts/index.htmlconformancefigurereads itlayouts/_default/list.htmlhugo.toml:74.mdand.htmlIt drifted for 26 days under a green check —
0 disagreeand0 disagree over the part I can readprint identically. go-embedded-ruby/docs#40 teaches that tool to read.toml; with it the whole site checks 5 claims instead of 4, all agreeing.A follow-up bumps this repository's pin and widens its
--rootso the third copy is enforced rather than merely fixed.Verified
actionlinthugo --minifylandingkit linkslandingkit verifyconformancefigure --root .🤖 Generated with Claude Code