使用 markdownlint 规范 Markdown 文档
目录
系列 - Markdown 语法
本文介绍了如何安装并使用 markdownlint-cli2 规范 Markdown 文档。
markdownlint 是一款具有明确规则库的静态语法分析工具,旨在保证 Markdown 文档语法的标准和一致性。
markdownlint-cli2 基于 markdownlint 语法规范检查并修正 Markdown 文档,是一个语法规则配置灵活、运行快速的命令行工具。
安装
markdownlint-cli2 可通过 Homebrew 安装:
|
|
配置
配置规则
注意
笔者选用形式最简洁的 YAML 格式进行配置,其他格式配置文件请参考 markdownlint-cli2 - Configuration 进行配置。
在项目目录下新建 .markdownlint.yaml
,作为 markdownlint 的规则配置文件:
|
|
参考以默认参数完全配置的 markdownlint.yaml 文件以及 Markdown 语法规范:markdownlint ,按照自己的需求修改配置,只需添加与默认配置不同的配置项即可。
- 推荐使用易于理解的规则 别名 代替规则编号
MD0XX
。 - 使用 标签 可以 同时 启用或禁用该标签组下的所有规则。
例如ol: false
可以 同时 禁用涉及有序列表的MD029
、MD030
、MD032
规则。
|
|
忽略文件
markdownlint-cli2 支持两种方式忽略文件:
- 命令行中运行 markdownlint-cli2 时通过在文件或目录前加
!
或#
忽略文件。 - 在
.markdownlint-cli2.yaml
配置文件中通过参数ignores
忽略文件。
.markdownlint-cli2.yaml 是 markdownlint-cli2 的配置文件,除了支持 markdownlint 规则配置外,还支持导入 自定义规则,导入 markdown-it 插件,自定义 输出格式 等。
临时禁用规则
参考
临时禁用规则请参考 markdownlint - Configuration。
在 Markdown 文档中适当位置加入下述 HTML 注释,可以在文档的指定范围内灵活启用或禁用 markdownlint 规则:
<!-- markdownlint-disable -->
:
禁用所有规则。<!-- markdownlint-enable -->
:
启用所有规则。<!-- markdownlint-disable-line -->
:
在本行禁用所有规则。<!-- markdownlint-disable-next-line -->
:
在下一行禁用所有规则。<!-- markdownlint-disable MD001 MD005 -->
:
禁用指定编号的规则。<!-- markdownlint-enable MD001 MD005 -->
:
启用指定编号的规则。<!-- markdownlint-disable-line MD001 MD005 -->
:
在本行禁用指定编号的规则。<!-- markdownlint-disable-next-line MD001 MD005 -->
:
在下一行禁用指定编号的规则。<!-- markdownlint-capture -->
:
记录当前规则配置。<!-- markdownlint-restore -->
:
恢复之前记录的规则配置。
规则 编号 也可用规则 别名 或 标签 代替。
示例:临时禁用所有规则,然后恢复文档之前的规则配置
|
|
上述注释仅对注释所在行(或其下一行)之后的文档生效。 若希望注释不受其在文档中位置的限制,对整个文档的内容生效,可以使用如下注释格式:
<!-- markdownlint-disable-file -->
:
在整个文档中禁用所有规则。<!-- markdownlint-enable-file -->
:
在整个文档中启用所有规则。<!-- markdownlint-disable-file MD001 -->
:
在整个文档中禁用指定编号的规则。<!-- markdownlint-enable-file MD001 -->
:
在整个文档中启用指定编号的规则。
对整个文档生效的注释方式支持 JSON 格式的规则配置:
|
|
运行
|
|
参数:
--config file
:指定配置文件。--fix
:在源文件上直接修正违规语法。
【参考】:
- markdownlint:Markdown 语法检查和纠正工具。
- markdownlint-cli2:Markdownlint 命令行工具。