From f1f71ef152791e81d1dfc6ba7f09dad11525c979 Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 12 May 2026 02:04:34 +0000 Subject: [PATCH] issue #36: narrow lychee blog exclude to 2015-2018 archive only MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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. --- .github/workflows/site-health.yml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/site-health.yml b/.github/workflows/site-health.yml index b9cc02d..0f88e1c 100644 --- a/.github/workflows/site-health.yml +++ b/.github/workflows/site-health.yml @@ -44,12 +44,16 @@ jobs: uses: lycheeverse/lychee-action@v2 with: # --exclude-path takes a regex matched against file paths. - # Skip legacy blog posts (deferred to a content-cleanup phase). + # Skip legacy 2015-2018 blog posts (accumulated link rot in + # decade-old archival content isn't worth triaging) and the + # blog index that aggregates their links. Posts from 2019+ + # get checked normally. args: >- --config ./lychee.toml --no-progress --root-dir ${{ github.workspace }}/_site - --exclude-path _site/blog + --exclude-path '_site/blog/201[5-8]' + --exclude-path '_site/blog/index\.html' _site output: lychee-report.md fail: true