Markdown Linter
即时检查 Markdown 的格式与风格错误。实时显示规则 ID、行号和可点击导航的检查结果。在浏览器中运行,数据不离开本地。
- 在浏览器中处理
- 数据不离开你的设备
- 免费 · 无需注册
用微信扫描以下二维码即可分享
示例、说明与常见问题 带实际输出的示例、与同类工具的差别,以及常见问题。
检测内容
检查器应用完整的 markdownlint 规则,包括:
- MD001 — 标题层级每次只能增加一级
- MD009 — 行尾不应有空格
- MD010 — 不使用制表符(应使用空格)
- MD012 — 不连续出现多个空行
- MD022 — 标题前后应有空行
- MD025 — 文档中只能有一个顶级标题
- MD031 — 代码围栏前后应有空行
- MD034 — 不使用裸 URL,应使用链接语法
- MD041 — 第一行应为顶级标题
隐私
所有处理均在客户端完成,Markdown 内容不会被上传或存储。
相关工具
- Markdown 预览 — 实时将 Markdown 渲染为 HTML
- Markdown 表格生成器 — 可视化构建格式化表格
示例:一份 CHANGELOG
输入:
# Changelog
## 1.2.0
### Added
- Export button
## 1.1.0
### Added
* Dark mode
See https://example.com/releases
结果(markdownlint 0.40,默认规则):
L13 MD004 / ul-style Unordered list style — Expected: dash; Actual: asterisk
L11 MD024 / no-duplicate-heading Multiple headings with the same content
L15 MD034 / no-bare-urls Bare URL used
- 两个版本下都有「Added」标题,所以触发 MD024。这正是 Keep a Changelog 的标准写法;在你自己的配置里写
"MD024": { "siblings_only": true },就允许不同父标题下出现同名标题。 - MD004 要求整篇文档用同一种列表符号;第一个列表用了
-,所以*被标出。 - MD034 要求把裸 URL 写成
<https://example.com/releases>或 Markdown 链接。
这里改不了的默认设置
工具按默认设置运行 markdownlint 默认启用的全部规则(见 markdownlint rules)。页面没有配置项,有两条默认规则经常带来噪音:
- MD013 行长度上限 80 个字符。一行 104 个字符的英文段落会报
Expected: 80; Actual: 104。第 80 列之后没有空格的长行不报,所以不含空格的长中文行通常能通过。 - MD024 会标出文档里任何重复的标题文字,比如上面的 CHANGELOG。
想按自己的规则检查,把配置写进 .markdownlint.json,在本地或 CI 里运行 markdownlint-cli2:
{
"MD013": { "line_length": 120 },
"MD024": { "siblings_only": true }
}
markdownlint 会跳过文件开头的 YAML front matter,其中的 title 在 MD041 里算作一级标题。
FAQ
我的内容会上传到服务器吗?
不会。所有检查在浏览器中通过 JavaScript 完成,Markdown 内容不会离开你的设备。
检查器会检测哪些规则?
检查器运行 markdownlint 的全部标准规则,超过 50 项检查,涵盖标题层级、行尾空格、空行数量、裸 URL、列表格式、代码围栏格式等。
MD001 这样的规则 ID 是什么意思?
规则 ID 遵循 markdownlint 约定:MD001 表示「标题层级递进」,MD009 表示「禁止行尾空格」,MD041 表示「首行应为一级标题」等。
点击结果可以跳转到对应行吗?
可以。点击任意检查结果,编辑器会自动滚动到对应行并选中该行,方便立即修改。
这与命令行 markdownlint 工具有何区别?
命令行工具可集成到构建流程并检查磁盘上的文件。本工具适合在编写或审阅 Markdown 时快速检查,无需安装任何软件。