在前端开发的过程中,使用 Markdown 书写文档是一个不错的选择。然而 Markdown 的语法比较宽松,容易出错。为了保证 Markdown 写作的质量,本篇文章介绍了一种工具:npm 包 grunt-markdownlint。这个工具可以帮我们检查 Markdown 文档的语法错误和格式问题。本篇文章将详细介绍如何使用这个 npm 包。
为什么要使用 grunt-markdownlint?
Markdown 语法比较宽松,如果有语法错误,很容易导致文档格式混乱,特别是在大型项目中使用时,非常需要保持文档的一致性和可读性。手动检查每个 Markdown 文件的语法和格式并且适时修改是非常麻烦和浪费时间的。
grunt-markdownlint 可以帮助我们自动化地检查 Markdown 文件中的语法错误和格式问题,大大缩短了检查和调整文档的时间。
如何开始使用 grunt-markdownlint?
首先,我们需要安装 grunt 和 grunt-markdownlint:
npm install -g grunt-cli npm install grunt grunt-markdownlint --save-dev
接着,我们需要在项目中新建一个 Gruntfile 文件,例如:
-- -------------------- ---- ------- -------------- - --------------- - ----------------------------------------- ------------------ ------------- - ---- - ---- ----------- - - --- ----------------------------- ------------------ --
这个配置文件需要引入 grunt 和 grunt-markdownlint,配置文件对象包括了一个 “markdownlint” 属性,其中 “all” 属性指定了检查所有 .md 文件。在这个例子中,我们使用 “ ** / * .md” 表示检查所有的 Markdown 文件。一般来说,我们会选一个特定的路径。
最后,我们可以在命令行中运行 grunt:
grunt
那么 grunt 就会自动开始检查 Markdown 文件了。如果发现语法错误或格式问题,grunt 会输出错误信息。如果没有问题,grunt 就会输出 “Done without errors. ” 的信息。
grunt-markdownlint 的可配置选项
grunt-markdownlint 有很多可配置选项,可以适应不同的需求。下面是一些常用的配置:
- taskname 任务名
我们可以指定任务名称,例如:markdownlint:readme。这样,在运行任务时,只会检查 readme 或符合指定的文件名。
- src 源文件的路径
我们可以指定需要被检查的文件名或目录名,例如:
markdownlint: { all: { src: ['**/*.md', '!node_modules/**/*.md'] } }
在这个例子中,我们指定了要检查所有的 Markdown 文件,但是不包括在node_modules 目录里的 Markdown 文件。
- config 指定 .mdl 配置文件的路径
我们可以通过指定配置文件来修改 grunt-markdownlint 的规则。如下是一个 .mdl 配置文件的例子:
{"default":{"line-length":90}}
我们可以在 Gruntfile.js 中指定文件路径:
-- -------------------- ---- ------- ------------- - -------- - ------- ------------------ -- ---- - ---- ----------- - -
这里我们将 .mdl 配置文件保存为 .markdownlintrc,并且在 .grunt 上指定路径。
更详细的配置规则可以参考https://github.com/igorshubovych/markdownlint-cli/blob/master/doc/Rules.md。
总结
grunt-markdownlint 是一个非常有用的 npm 包,可以帮助我们自动化地检查 Markdown 文档的语法错误和格式问题,极大缩短了文档修改的时间。在大型项目中使用是非常有必要的。本篇文章介绍了如何使用 grunt-markdownlint,并且介绍了一些常用的可配置选项,希望能帮助读者更好地使用这个工具。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/5eedc7d2b5cbfe1ea06122be