Skip to content

Narrow lychee blog exclude to 2015-2018 archive (closes #36)#41

Merged
jmxpearson merged 1 commit into
masterfrom
claude/issue-36-narrow-blog-exclude
May 12, 2026
Merged

Narrow lychee blog exclude to 2015-2018 archive (closes #36)#41
jmxpearson merged 1 commit into
masterfrom
claude/issue-36-narrow-blog-exclude

Conversation

@jmxpearson

Copy link
Copy Markdown
Member

Closes #36.

Summary

The site-health.yml workflow currently passes --exclude-path _site/blog to lychee, which skipped every blog post — past, present, and future. That means any new blog post with a broken link wouldn't be caught either.

Narrow the exclude to just the legacy archive:

  • _site/blog/201[5-8] — historical posts where the ~30 known dead links live; triaging decade-old archival content isn't a good ROI
  • _site/blog/index.html — the blog index aggregates every post's links, so it'd surface the same 2015–2018 errors

Posts from 2019 onward now get full link coverage. New posts catch new rot, which is what the link checker is actually for.

Test plan

  • bundle exec jekyll build clean
  • lychee --config ./lychee.toml --no-progress --root-dir _site --exclude-path '_site/blog/201[5-8]' --exclude-path '_site/blog/index\.html' _site → 89 OK, 0 errors locally (was 84 OK with the broader exclude; the +5 OK are 2019/2020 post links that are now in scope)
  • CI site-health passes on the PR

Notes

  • Closes Clean up legacy blog post link rot (~30 dead links across 2015-2018 posts) #36 by accepting the "don't bother" path discussed before opening this PR — legacy rot in 2015–2018 stays as-is; new rot gets caught.
  • If a 2015–2018 link ever does need fixing for a specific reason, the exclude could be temporarily relaxed for that PR or the link could just be fixed directly (lychee doesn't run on _posts/ source, only on built _site/, so fixing a single legacy link won't trigger a sea of failures from the others).

https://claude.ai/code/session_01S5QXfkxZBNSAf2Y1XAD8H7


Generated by Claude Code

The site-health workflow previously skipped all of _site/blog/, which
turned off link checking for every blog post past or present — meaning
new posts wouldn't catch broken links either.

Narrow the exclude to:
- _site/blog/201[5-8] (the historical posts where ~30 dead links live;
  triaging decade-old archival content isn't worth the effort)
- _site/blog/index.html (the index aggregates every post's links, so
  it'd surface the same 2015-2018 errors)

Posts from 2019 onward get full lychee coverage going forward. New
posts catch new rot.

Local: 89 OK, 0 errors, 714 excluded.
@jmxpearson jmxpearson merged commit 829fe01 into master May 12, 2026
1 check passed
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.

Clean up legacy blog post link rot (~30 dead links across 2015-2018 posts)

2 participants