Skip to content

fix(links): repair broken internal links and JSON-LD logo - #433

Merged
bdfinst merged 2 commits into
masterfrom
fix/broken-links
Jun 2, 2026
Merged

fix(links): repair broken internal links and JSON-LD logo#433
bdfinst merged 2 commits into
masterfrom
fix/broken-links

Conversation

@bdfinst

@bdfinst bdfinst commented Jun 2, 2026

Copy link
Copy Markdown
Collaborator

Why

The broken links test job in CI was failing (e.g. run 26839490398) — 168 broken links detected. Three root causes:

What changed

  • Translation practice links (10 files). Every translation page still pointed practice links at the old internal /minimumcd/<slug>/ paths, which now 404 since those pages moved to beyond.minimumcd.org. Repointed them to the canonical beyond.minimumcd.org/docs/reference/practices/… URLs, matching the English _index.md (verified each target returns 200):
    • single-path-to-production, deterministicdeterministic-pipeline, deployabledefinition-of-deployable, immutableimmutable-artifacts, production-like-test-environmentproduction-like-environments, rollback, application-configuration, trunk-based-development, continuous-integration.
  • Organization JSON-LD logo. layouts/partials/hooks/head-end.html emitted the logo as an absolute {{ .Site.BaseURL }}icons/logo.svg, but that file is published from assets/ via Hugo's asset pipeline (never as a static /icons/logo.svg), so the absolute URL 404'd. Switched to the asset's RelPermalink so it resolves to the actually-published path and is validated locally.
  • dkb.nz signatory contact. Doug Barrett's contact https://dkb.nz/ serves an invalid TLS cert (custom domain on GitLab Pages, presenting a *.gitlab.io cert) and is unreachable for all visitors. Added it to the linkinator skip list alongside the other personal-contact domains (linkedin/youtube/twitter/github).

Validation

Dead-link validation already exists via pnpm run test:links (linkinator) and runs in CI. Locally, after these fixes:

  • pnpm test (markdownlint) — passes
  • hugo --minify — builds clean
  • linkinator ./public✓ 0 broken links (135 scanned)

🤖 Generated with Claude Code

The broken-links CI job was failing on three classes of dead links:

- Translation pages still pointed practice links at the old internal
  /minimumcd/<slug>/ paths, which 404 since those pages moved to
  beyond.minimumcd.org. Repointed all 10 translation files to the
  canonical beyond.minimumcd.org/docs/reference/practices/ URLs,
  matching the English _index.md.
- The Organization JSON-LD logo used an absolute BaseURL path to
  /icons/logo.svg, which is published from assets/ via Hugo's pipeline
  (never as a static file) so the absolute URL 404'd. Switched to the
  asset's RelPermalink so it resolves to the actually-published path.
- Doug Barrett's signatory contact https://dkb.nz/ serves an invalid
  TLS cert (custom domain on GitLab Pages, *.gitlab.io cert) and is
  unreachable for all visitors. Added it to the linkinator skip list
  alongside the other personal-contact domains.

Link check now passes clean (0 broken links).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@bdfinst
bdfinst requested a review from a team as a code owner June 2, 2026 21:26
@netlify

netlify Bot commented Jun 2, 2026

Copy link
Copy Markdown

Deploy Preview for minimumcd ready!

Name Link
🔨 Latest commit 26453de
🔍 Latest deploy log https://app.netlify.com/projects/minimumcd/deploys/6a1f4fdbdddb7300080c6def
😎 Deploy Preview https://deploy-preview-433--minimumcd.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
Lighthouse
Lighthouse
1 paths audited
Performance: 81
Accessibility: 100
Best Practices: 100
SEO: 92
PWA: -
View the detailed breakdown and full score reports

To edit notification comments on pull requests, go to your Netlify project configuration.

The Netlify deploy preview failed at the build stage (exit code 2)
because HUGO_VERSION was pinned to 0.151.2, which predates the recent
docsy theme upgrade and can no longer build the site. GitHub Actions
CI passes because it uses hugo-version: latest. Align Netlify to the
latest releases that build cleanly locally: Hugo 0.162.1, Go 1.26.4.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@bdfinst
bdfinst merged commit 23eff5a into master Jun 2, 2026
9 checks passed
@bdfinst
bdfinst deleted the fix/broken-links branch June 2, 2026 21:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant