lint-md

中文 Markdown 编写格式规范的命令行工具
授权协议 MIT
开发语言 JavaScript
所属分类 程序开发、 Markdown开发包
软件类型 开源软件
地区 国产
投 递 者 谭光辉
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

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-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 语法。

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.

  • 使用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 好吧,使用短的。