中文 Markdown 编写格式规范的命令行工具 lint-md

码农软件 · 软件分类 · Markdown开发包 · 2019-10-09 15:12:59

软件介绍

lint-md

用于检查中文 markdown 编写格式规范的命令行工具,基于 AST 开发,且方便集成 ci。Cli tool to lint your markdown file for Chinese.

安装

npm i -g lint-md

使用

Usage:[options]

lint your markdown files

Options:
  -v, --version                  output the version number
  -c, --config [configure-file]  use the configure file, default .lintmdrc
  -h, --help                     output usage information

Example:

lint-md README.md Document.md

检查类型

检查规则来源于 chinese-document-style-guide.

规则详细描述解决办法
space-round-alphabet中文与英文之间需要增加空格对应提示的位置增加空格
space-round-number中文与数字之间需要增加空格对应提示的位置增加空格
no-empty-code-lang代码语言不能为空在代码块语法上增加语言
no-empty-url链接和图片地址不能为空填写完整的 url,或者不使用链接和图片语法
no-empty-listList 内容不能为空List 语法中,填写内容
no-empty-code代码块内容不能为空删除空的代码块,或者填充代码内容
no-empty-blockquoteblockquote 内容不能为空删除空的 blockquote,或者填充内容
no-special-characters文本中不能有特殊字符可能是复制出来的特殊字符,删除特殊字符即可
use-standard-ellipsis使用标准规范的省略号使用标准规范的省略号‘……’ / ‘...’
no-fullwidth-number不能用全角数字注意输入法切换为半角输入

目前仅仅检查了比较通用的类型,欢迎 pull request,在 rules 中增加自己的规则,开发约束:

  • 规则主要针对于中文 markdown 的编写规范

  • 使用类 babel plugin 的方式来进行规则检查,一个插件对应一个规则

  • 规则名称对应和插件文件名保持一致

  • 先提 issue 进行讨论

  • AST 工具,使用其中的 markdown AST 辅助开发插件

配置

默认所有的规则都是 error 类型,但是可以通过配置来指定规则类型。示例 .lintmdrc :

{
  "excludeFiles": [],
  "rules": {
    "no-empty-code": 1
  }
}

通过 rules 来配置规则的等级。

  • 0:ignore 忽略不检查该规则

  • 1:warning 警告,但不阻断 ci

  • 2:error 错误,且阻断 ci

通过 excludeFiles 来忽略文件和目录,glob 语法。

ci 集成

  • Travis

在 .travis.yml 文件中配置以下内容。

language: node_js
node_js:
  - "10"
before_install:
  - npm i -g lint-md
script: lint-md README.md
  • lint-stage

在 package.json 中增加以下配置。

"lint-staged": {
  "src/**/*.{md,markdown}": [
    "lind-md"
  ]
}

License

MIT@hustcc.

本文地址:https://www.codercto.com/soft/d/16385.html

Twenty Lectures on Algorithmic Game Theory

Twenty Lectures on Algorithmic Game Theory

Tim Roughgarden / Cambridge University Press / 2016-8-31 / USD 34.99

Computer science and economics have engaged in a lively interaction over the past fifteen years, resulting in the new field of algorithmic game theory. Many problems that are central to modern compute......一起来看看 《Twenty Lectures on Algorithmic Game Theory》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

在线进制转换器
在线进制转换器

各进制数互转换器

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码