使用 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 命令行工具。
