markdown-link-check完全指南:如何快速检测Markdown文档中的死链接

📅 2026/8/23 14:24:51
markdown-link-check完全指南:如何快速检测Markdown文档中的死链接
markdown-link-check完全指南如何快速检测Markdown文档中的死链接【免费下载链接】markdown-link-checkchecks all of the hyperlinks in a markdown text to determine if they are alive or dead项目地址: https://gitcode.com/gh_mirrors/ma/markdown-link-checkmarkdown-link-check 是一款开源的Markdown 死链接检测工具它能自动扫描 Markdown 文本中的所有超链接逐一判断每个链接是“存活”alive还是“失效”dead连mailto:邮箱链接都能校验。无论是 README、博客文档还是整个 docs 目录一条命令即可完成检测帮助你在读者发现之前就修好断链。为什么需要 Markdown 死链接检测写过 Markdown 文档的人都遇到过这些尴尬 引用的 API 文档改版后链接 404读者点进去一片空白️ 图片路径改动后文档里的配图悄悄变成裂图 团队协作中几十个.md文件手动逐个点开检查根本不现实markdown-link-check 把这件事自动化提取链接 → 逐个发起请求 → 报告结果。它还会自动识别文档内跳转锚点如#安装这类标题链接是否存在代码块中的内容则会被自动忽略不会误报。上图是项目测试用例中使用的图片test/hello.jpg检测工具会验证文档中引用的这张图片链接是否真实可达两种安装方式最快上手步骤方式一作为项目依赖安装适合需要调用 API 的场景npm install --save-dev markdown-link-check方式二全局安装命令行工具推荐一条命令即可扫描任意文件npm install -g markdown-link-check 安装后可运行markdown-link-check --version验证是否成功。快速检测3 种常见用法用法 1检测本地单个文件markdown-link-check ./README.md用法 2递归检测整个目录——自动找出目录下所有.md文件逐个检查markdown-link-check ./docs用法 3检测托管在网上的 Markdown 文件markdown-link-check https://example.com/docs/README.md检测完成后控制台会输出类似这样的结果✓ https://example.com/valid-link ✖ https://example.com/broken-link / https://example.com/ignored-link 3 links checked. ERROR: 1 dead links found!✅小提示发现死链接时工具的退出码为 1全部通过则为 0。这个特性让它天然适合接入 CI 流水线。读懂检测结果3 种链接状态状态符号含义alive✓绿色链接可正常访问dead✖红色链接失效需要修复ignored/灰色命中忽略规则被跳过进阶配置忽略链接、改写路径、附加请求头实际项目中总有一些链接不想检查比如内部私有系统这时可以用 JSON 配置文件通过-c config.json指定{ ignorePatterns: [ { pattern: ^https://internal.example.com } ], replacementPatterns: [ { pattern: ^/, replacement: {{BASEURL}}/ } ], httpHeaders: [ { urls: [https://api.example.com], headers: { Authorization: Basic Zm9vOmJhcg } } ], timeout: 20s }几个核心选项说明ignorePatterns正则匹配的链接会被跳过标记为ignoredreplacementPatterns改写链接路径特殊占位符{{BASEURL}}会自动替换为项目根目录地址方便检测/images/xxx.png这类绝对路径httpHeaders为私有 API 附加认证头避免误报timeout请求超时时间默认 10 秒用 HTML 注释临时关闭检测不想大改配置可以直接在文档里写注释!-- markdown-link-check-disable -- 这段里的链接如失效的旧地址不会被检查 !-- markdown-link-check-enable --还支持disable-next-line跳过下一行和disable-line跳过当前行两种更精细的写法详见 README.md 的 Disable comments 一节。集成到 CI/CD3 种方式1️⃣ Docker 一键运行官方每个版本都会构建镜像推荐stable标签docker run -v .:/tmp:ro --rm -i ghcr.io/tcort/markdown-link-check:stable /tmp/README.md镜像定义见 Dockerfile。2️⃣ GitLab 流水线在 pipeline 中配置markdown-link-check ./docs并设置changes: [**/*.md]规则只有 Markdown 文件变更时才触发检测。3️⃣ JUnit 报告加--reporters junit参数即可生成 XML 报告方便 CI 平台展示详情markdown-link-check --reporters junit --junit-output results.xml README.md常用命令行选项速查表选项说明-p, --progress显示进度条-c, --config [config]应用 JSON 配置文件-q, --quiet只显示错误适合 CI 日志-v, --verbose显示详细错误信息-i, --ignore paths忽略包含指定路径的文件-a, --alive code自定义视为“存活”的 HTTP 状态码如200,206-r, --retry遇到 429 限流时按retry-after头自动重试--reporters names指定输出报告器default/junit可组合完整选项可运行markdown-link-check --help查看。项目文件参考文件说明README.md官方文档安装、API、配置详解index.js核心 API 实现链接提取与存活判定逻辑markdown-link-check命令行入口参数解析与报告器test/sample.md覆盖各类链接场景的测试文档test/local-file.md本地图片链接与忽略注释的测试用例DockerfileDocker 镜像构建配置CONTRIBUTING.md贡献指南CHANGELOG.md版本更新日志总结markdown-link-check 用一条命令解决了 Markdown 文档死链接检测的烦恼安装npm install -g markdown-link-check检测markdown-link-check ./docs修复根据 ✖ 标记逐一修正失效链接防复发接入 CI 或 pre-commit 钩子让断链在合并前就被拦截把文档质量检查变成流水线里的一个自动化环节你的读者将永远看不到裂开的链接。【免费下载链接】markdown-link-checkchecks all of the hyperlinks in a markdown text to determine if they are alive or dead项目地址: https://gitcode.com/gh_mirrors/ma/markdown-link-check创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考