Skip to content

Re-arm the docs link checker: it has been silently disabled and its config was unparseable #3136

Description

@os-zhuang

背景

文档审计发现 243 个生成的 reference 页有 90+ 坏链。修生成器时(#3126)顺带查清了为什么这些坏链能长期躺在 main 上:

  1. .github/workflows/check-links.ymlpush / pull_request 触发被注释掉了,只剩 workflow_dispatch
  2. 而这大概是被迫的: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.mdxremap 现有写法没生效。需要:

  • workflow 传 --root-dir ${{ github.workspace }}/content
  • lychee.tomlfallback_extensions = ["mdx", "md"]
  • 删掉不生效的 remap

2. 真坏链(闸门装上前要先清)

  • https://docs.objectos.app/docs/ai404(在 content/docs/ai/actions-as-tools.mdx;objectos 文档站已迁移,需要改为正确 URL)
  • https://github.com/objectstack-ai/framework/blob/main/examples/app-showcase/src/objects/contact.object.ts404(路径已变)
  • https://github.com/objectstack-ai/cloud → 404,但这是私有仓库,预期如此 —— 应加进 exclude
  • 另有一批 301 重定向(fivetran / salesforce / n8n / zapier 文档),不算错但可顺手更新

建议做法

  1. 清掉上面 2 的真坏链 + 给私有仓库加 exclude
  2. 按 1 配好 root_dir / fallback_extensions
  3. 本地或 workflow_dispatch 跑一次确认全绿
  4. 恢复 pull_request 触发(按 paths: 收窄到 content/**README.mdlychee.toml,免得无关 PR 付出代价)

顺序很重要:闸门修好之前先恢复触发 = 每个 PR 都红,那正是它当初被关掉的原因。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions