背景
文档审计发现 243 个生成的 reference 页有 90+ 坏链。修生成器时(#3126)顺带查清了为什么这些坏链能长期躺在 main 上:
.github/workflows/check-links.yml 的 push / pull_request 触发被注释掉了,只剩 workflow_dispatch。
- 而这大概是被迫的:
lychee.toml 根本解析不了 —— follow_redirects 在 lychee ≥0.24 不是合法键,boolean 形式的 include_fragments 也不是(要字符串如 "full"),accept 要字符串数组而非数字。job 一启动就 exit 1,与其天天红不如关掉。
#3126 已修好配置(可加载),但没有恢复触发——因为真跑起来发现还差东西。
恢复闸门还需要什么
试跑(runs/29580304548)后 lychee 能启动了,报出两类问题:
1. 根相对链接无法解析(配置问题,非真坏链)
Cannot resolve root-relative link '/docs/ai/connect-mcp' 等大量报错 —— 站内链接写作 /docs/x/y,文件在 content/docs/x/y.mdx。remap 现有写法没生效。需要:
- workflow 传
--root-dir ${{ github.workspace }}/content
lychee.toml 加 fallback_extensions = ["mdx", "md"]
- 删掉不生效的
remap 段
2. 真坏链(闸门装上前要先清)
https://docs.objectos.app/docs/ai → 404(在 content/docs/ai/actions-as-tools.mdx;objectos 文档站已迁移,需要改为正确 URL)
https://github.com/objectstack-ai/framework/blob/main/examples/app-showcase/src/objects/contact.object.ts → 404(路径已变)
https://github.com/objectstack-ai/cloud → 404,但这是私有仓库,预期如此 —— 应加进 exclude
- 另有一批 301 重定向(fivetran / salesforce / n8n / zapier 文档),不算错但可顺手更新
建议做法
- 清掉上面 2 的真坏链 + 给私有仓库加 exclude
- 按 1 配好
root_dir / fallback_extensions
- 本地或 workflow_dispatch 跑一次确认全绿
- 再恢复
pull_request 触发(按 paths: 收窄到 content/**、README.md、lychee.toml,免得无关 PR 付出代价)
顺序很重要:闸门修好之前先恢复触发 = 每个 PR 都红,那正是它当初被关掉的原因。
背景
文档审计发现 243 个生成的 reference 页有 90+ 坏链。修生成器时(#3126)顺带查清了为什么这些坏链能长期躺在 main 上:
.github/workflows/check-links.yml的push/pull_request触发被注释掉了,只剩workflow_dispatch。lychee.toml根本解析不了 ——follow_redirects在 lychee ≥0.24 不是合法键,boolean 形式的include_fragments也不是(要字符串如"full"),accept要字符串数组而非数字。job 一启动就 exit 1,与其天天红不如关掉。#3126 已修好配置(可加载),但没有恢复触发——因为真跑起来发现还差东西。
恢复闸门还需要什么
试跑(runs/29580304548)后 lychee 能启动了,报出两类问题:
1. 根相对链接无法解析(配置问题,非真坏链)
Cannot resolve root-relative link '/docs/ai/connect-mcp'等大量报错 —— 站内链接写作/docs/x/y,文件在content/docs/x/y.mdx。remap现有写法没生效。需要:--root-dir ${{ github.workspace }}/contentlychee.toml加fallback_extensions = ["mdx", "md"]remap段2. 真坏链(闸门装上前要先清)
https://docs.objectos.app/docs/ai→ 404(在content/docs/ai/actions-as-tools.mdx;objectos 文档站已迁移,需要改为正确 URL)https://github.com/objectstack-ai/framework/blob/main/examples/app-showcase/src/objects/contact.object.ts→ 404(路径已变)https://github.com/objectstack-ai/cloud→ 404,但这是私有仓库,预期如此 —— 应加进exclude建议做法
root_dir/fallback_extensionspull_request触发(按paths:收窄到content/**、README.md、lychee.toml,免得无关 PR 付出代价)顺序很重要:闸门修好之前先恢复触发 = 每个 PR 都红,那正是它当初被关掉的原因。