用于检查中文 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-list | List 内容不能为空 | List 语法中,填写内容 |
no-empty-code | 代码块内容不能为空 | 删除空的代码块,或者填充代码内容 |
no-empty-blockquote | blockquote 内容不能为空 | 删除空的 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 语法。
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" ] }
MIT@hustcc.
使用git lint-stag后,再commit时报错 Cannot find module lint-staged internal/modules/cjs/loader.js:818 throw err; ^ Error: Cannot find module 'C:\Users\yunlu\Desktop\yuntuan\yuntuanwebsite\node_modules\li
Eslint 配置 ESLint 是一个插件化并且可配置的 JavaScript 语法规则和代码风格的检查工具。 ESLint 能够帮你轻松写出高质量的 JavaScript 代码。 1.建议 vscode 安装 Eslint 的插件,这个插件的作用是不符合 Eslint 规范的代码在编辑器中会有波浪线以及提示。 2.安装依赖包,eslint,eslint-plugin-vue 3.在根目录新建.
使用 Eslint + husky + lint-staged + Prettier 提高前端项目质量、统一项目代码风格 Eslint 代码检查,编辑器启用 Eslint 之后,不符合规范的会自动进行提示。 Prettier 让代码变得更 pretty,会更改不符合检测要求的代码,自动格式化。 husky git 每步操作的钩子,没执行一个操作都会执行一次对应的钩子函数,执行 pre-commit
前端自动化规范工具 husky结合lint-staged提交检测 实现功能 提交代码前代码对代码进行检测 安装 $npm install --save-dev husky lint-staged 初始化 package.jsonscripts添加执行脚本 "prepare":"husky install" 添加后执行 npm run prepare 可以看到项目目录中自动生成了.husky
在我们介绍了Husky、Commitlint之后,来看一个前端文件过滤的工具Lint-staged,代码的格式化肯定会涉及到文件系统,一般工具会首先读取文件,格式化操作之后,重新写入。对于较大型的项目,文件众多,首先遇到的就是性能问题,虽然如Eslint之类的也有文件过滤配置,但毕竟还是对于匹配文件的全量遍历,如全量的.js文件,基本达不到性能要求,有时还会误格式化其他同学的代码,因此我们引入Li
0x1 问题 更新时间:2021-01-13 19:10:25 2021-01-13 19:10:25 stylelint --fix --allow-empty-input 增加 --allow-empty-input 参数防止意外提交卡顿。 2020-11-13 14:30:02 增加 stylelint css 代码校验,增加 package.json 校验命令 改变配置文件名符合共识 li
背景 为了维护代码的统一性,引入了 eslint prettier 等一些格式化代码的工具。 为了避免在代码提交时忘记格式化找到 husky+lint-staged 的解决方案。在网上很容易找到相关的文章,但是按照文章里的配置弄好后却不起作用。经过一番查询才知道最新版本的husky已经废弃了之前的设置方式。 介绍一下 husky@7.0.4 一个git钩子工具,能够方便的帮助我们在一些 git 事
公司及产品名称 我们的公司及产品名称是「DaoCloud」。注意这是两个单词的合成词,所以中间沒有空格(参考:GitHub)。如作为 URL 的一部分,应该使用全小写的「daocloud」。 文案风格 一定多检查,确保没有错别字。 即使是流行语中的谐音错别字也不要使用,比如「墙裂」、「童鞋」等。 我们崇尚精练的文风。请在检查中把对表达意思没有明显作用的字、词、句删除,在不影响表达效果的前提下把文案
文档规范 一些标准的架构、软件名词写法 语言相关 Rust C C++ Markdown 教程 rCore-Tutorial 操作系统相关 uCore rCore Linux macOS Windows Ubuntu 操作系统技术相关 物理页(而不是物理页帧) 虚拟页(而不是物理页帧) 架构相关 x86_64 RISC-V 64 其他一些名词 ABI GitHub virtio Rust 相关 r
这里我将描述文档编写规范格式,将从一下几个方面进行详细的介绍。 标题 文本 段落 数字 标点符号 文档体系 标题 定义文档中标题的使用规范。 层级 一级标题:文章的主标题 二级标题:文章的主干章节标题 三级标题:章节下的分支标题 四级标题:属三级标题内的分支标题 示例 # 一级标题 ## 二级标题 ### 三级标题 #### 四级别标题 原则 一级标题,全文仅能有一个一级标题,在本站中每篇文章的
说明 每一个项目都 必须 包含一个 readme.md 文件,readme 里书写这个项目的简单信息。作用主要有两个,一个是团队新成员可从此文件中快速获悉项目大致情况,另一个是部署项目时可以作为参考。 1. 排版规范 文档页面排版 必须 遵循 中文文案排版指北 ,在此基础上: 中文文档请使用全角标点符号; 必须 遵循 Markdown 语法,勿让代码显示错乱; 原文中的双引号(" ")请代换成中文
Sass 的终极目标是解决 CSS 的缺陷。如我们所知,CSS 并不是一个完美的语言。CSS 虽然简单易学,却也能迅速制造严重的混淆,尤其是在工程浩大的项目中。
gdb的帮助信息和在线文档对于长选项的形式使用了不同的风格。你可能有点迷惑,gdb的长选项究竟应该是“-”,还是“--”? 是的,这两种方式都可以。例如: $ gdb -help $ gdb --help $ gdb -args ./a.out a b c $ gdb --args ./a.out a b c 好吧,使用短的。