Skip to Content
Nextra 4.0 is released 🎉
MarkdownMarkdownLint

MarkdownLint

MD001

Heading levels should only increment by one level at a time

标题级数每次只能扩大1, 也就是不能隔级创建标题啊(从1级到6级的顺序)

示例:

{ "MD001": false }

MD002

First heading should be a top level heading

文档的第一个标题必须是最高级的标题(标题等级1级到6级逐渐降低)

参数描述
level指定最高级标题的级数,默认是1

示例:

{ "MD002": { "level": "1" } }

MD003

Heading style

整篇文档要采用一致的标题格式

参数描述
consistent(default)整篇文档一致
atx
atx_closed
setext
setext_with_atx
setext_with_atx_closed

示例:

{ "MD003": { "style": "consistent" } }

?> 标题格式必须统一,一般不能混用,但setext_with_atx, setext_with_atx_closed格式可以在setext格式二级标题后接着使用atxatx_closed格式的标题

MD004

Unordered list style

整篇文档定义无序列表的格式要一致

参数描述
consistent(default)定义时符号前后一致
asterisk用星号定义
plus用加号定义
dash用减号定义
sublist定义多重列表时用不同的符号定义

示例:

{ "MD004": { "style": "consistent" } }

MD005

Inconsistent indentation for list items at the same level

同一级的列表缩进必须一致 在有序列表中,前面的数字序号可以左对齐,也可以右对齐

示例:

{ "MD005": false }

MD006

Consider starting bulleted lists at the beginning of the line

1级列表不能缩进

示例:

{ "MD006": false }

MD007

Unordered list indentation

无序列表嵌套缩进时默认采用两个空格

参数描述
ident指定无序列表嵌套时缩进的空格数,默认是2

示例:

{ "MD007": { "ident": 2 } }

MD008

?> TODO

MD009

Trailing spaces

行尾最多可以添加两个空格,超过会给出警告,两个空格正好可以用于换行

参数描述
br_spaces指定在行尾可以添加的空格数目,空格数目建议大于等于2,如果小于2,会默认为0,也就是不允许任何行尾的空格
list_item_empty_lines字符串,指定在列表中是否(true or false)用默认的空格数缩进空行,有的解释器会要求列表中的空行要缩进

示例:

{ "MD009": { "br_spaces": 2, "list_item_empty_lines": true } }

MD010

Hard tabs

不能使用tab键缩进,要使用空格

参数描述
code_blocks指定本条规则在代码块里是否(true or false)生效

示例:

{ "MD010": { "code_blocks": true } }

MD011

Reversed link syntax

检查内联形式的链接的创建方式是否错误,中括号和圆括号是否用对

示例:

{ "MD011": false }

MD012

Multiple consecutive blank lines

文档中不能有连续的空行,在代码块中此规则不会生效

参数描述
maximum指定文档中可以连续的最多空行数,默认值是1

示例:

{ "MD012": { "maximum": 1 } }

MD013

Line length

默认行的最大长度是80,此规则对代码块、表格、标题也生效

参数描述
line_length指定行的最大长度,默认是80
heading_line_length指定标题行的最大长度,默认是80
code_blocks指定规则是否(true or false)对代码块生效,默认true
tables指定规则是否(true or false)对表格生效,默认true
hesdings指定规则是否(true or false)对标题生效,默认true

示例:

{ "MD013": { "line_length": 80, "heading_line_length": 80, "code_blocks": true, "tables": true, "hesdings": true } }

MD014

Dollar signs used before commands without showing output

在代码块中,终端命令前不需要有美元符号($)

示例:

{ "MD014": true }

如果代码块中既有终端命令,也有命令的输出,则终端命令前可以有美元符号($),如:

$ ls foo bar $ cat foo hello world

MD015

?> TODO

MD016

?> TODO

MD017

?> TODO

MD018

No space after hash on atx style heading

在”atx”格式的标题中,#号和文字间需用一个空格隔开

示例:

{ "MD003": { "style": "atx" }, "MD018": true }

MD019

Multiple spaces after hash on atx style heading

在”atx”格式的标题中,#号和文字间只能用一个空格隔开,不能有多余的空格

示例:

{ "MD003": { "style": "atx" }, "MD019": true }

MD020

No space inside hashes on closed atx style heading

在”atx_closed”格式的标题中,文字和前后的#号之间需用一个空格隔开

示例:

{ "MD003": { "style": "atx_closed" }, "MD020": true }

MD021

Multiple spaces inside hashes on closed atx style heading

在”atx_closed”格式的标题中,文字和前后的#号之间只能用一个空格隔开,不能有多余的空格

示例:

{ "MD003": { "style": "atx_closed" }, "MD021": true }

MD022

Headings should be surrounded by blank lines

标题行的上下行必须都是空行

参数描述
lines_above指定标题行上方的空行数,默认为1,可以设为更大或0
lines_below指定标题行下方的空行数,默认为1,可以设为更大或0

示例:

{ "MD022": { "lines_above": 1, "lines_below": 1 } }

?> 注意当此处的空行设为比1大的数时,规则MD012的设置也要改

MD023

Headings must start at the beginning of the line

标题行不能缩进

示例:

{ "MD023": false }

MD024

Multiple headings with the same content

文档不能有内容重复的标题

参数描述
siblings_only默认为false,设为true时,不同标题下的子标题内容可以重复

示例:

{ "MD024": { "siblings_only": false } }

MD025

Multiple top level headings in the same document

同一文档只能有一个最高级的标题,默认是只能有一个1级标题

参数描述
level指定文档最高级的标题,默认是1
front_matter_title字符串,指定在文档开头处的front matter中的标题,这个标题将作为整篇文档的最高级标题,如果文档中再次出现最高级标题,将会给出警告,另外,如果不想在front matter中指定标题,就把本参数的值设置为""

示例:

{ "MD025": { "level": 1, "front_matter_title": "" } }

MD026

Trailing punctuation in heading

标题行末尾不能有以下标点符号:”.,;:!?”

参数描述
punctuation字符串,指定标题行尾不能有的标点符号,默认是”.,;:!?”

示例:

{ "MD026": { "punctuation": ".,;:!?" } }

?> 此规则默认的是英文的标点符号,中文标点符号不在规则之内

MD027

Multiple spaces after blockquote symbol

创建引用区块时,右尖括号 ( > ) 和文字之间有且只能有一个空格

示例:

{ "MD027": false }

MD028

Blank line inside blockquote

两个引用区块间不能仅用一个空行隔开或者同一引用区块中不能有空行,如果一行中没有内容,则这一行要用>开头

示例:

{ "MD028": false }

MD029

Ordered list item prefix

有序列表的前缀序号格式必须只用1或者从1开始的加1递增数字(“one_or_ordered”)

参数描述
one只用1做前缀
ordered用从1开始的加1递增数字做前缀
one_or_ordered(default)只用1或者从1开始的加1递增数字做前缀
zero只用0做前缀

示例:

{ "MD029": { "style": "one_or_ordered" } }

本条规则支持在前缀序号中补0,以实现对齐,如:

08. one 09. two 10. three

MD030

Spaces after list markers

列表(有序、无序)的前缀符号和文字之间用1个空格隔开 在列表嵌套或者同一列表项中有多个段落时,无序列表缩进两个空格,有序列表缩进3个空格

参数描述
ul_single无序列表单个段落的前缀符号和文字之间的空格数,默认是1
ol_single有序列表单个段落的前缀符号和文字之间的空格数,默认是1
ul_multi无序列表多个段落的前缀符号和文字之间的空格数,默认是1
ol_multi有序列表多个段落的前缀符号和文字之间的空格数,默认是1

示例:

{ "MD030": { "ul_single": 1, "ol_single": 1, "ul_multi": 1, "ol_multi": 1 } }

MD031

Fenced code blocks should be surrounded by blank lines

单独的代码块前后需要用空行隔开(除非是在文档开头或末尾),否则有些解释器不会解释为代码块

示例:

{ "MD031": false }

MD032

Lists should be surrounded by blank lines

列表(有序、无序)前后需要用空行隔开,否则有些解释器不会解释为列表 列表的缩进必须一致,否则会警告

示例:

{ "MD032": false }

MD033

Inline HTML

文档中不允许使用HTML语句

参数描述
allowed_elements自定义允许的元素,是一个字符串数组,默认是空(empty)

示例:

{ "MD033": ["html", "body"] }

MD034

Bare URL used

单纯的链接地址需要用尖括号(<>)包裹,否则有些解释器不会解释为链接

示例:

{ "MD034": false }

MD035

Horizontal rule style

创建水平线时整篇文档要统一(consistent),要和文档中第一次创建水平线使用的符号一致

参数描述
style字符串,字符串,指定创建水平线的方式,值有:(consistent,***,---,___),默认是consistent

示例:

{ "MD035": { "style": "consistent" } }

MD036

Emphasis used instead of a heading

不能用强调代替标题

参数描述
punctuation字符串,指定用于结尾的标点符号,以此符号结尾的强调不会被视为以强调代替标题,默认值是”.,;:!?”

示例:

{ "MD036": { "punctuation": ".,;:!?" } }

?> 此规则会检查只包含强调的单行段落,如果这种段落不是以指定的标点符号结尾,则会被视为以强调代替标题,会给出警告

MD037

Spaces inside emphasis markers

用于创建强调的符号和强调的的文字之间不能有空格

示例:

{ "MD037": false }

MD038

Spaces inside code span elements

当用单反引号创建代码段的时候,单反引号和它们之间的代码不能有空格,如果要把单反引号嵌入到代码段的首尾,创建代码段的单反引号和嵌入的单反引号间要有一个空格隔开

示例:

{ "MD038": false }

MD039

Spaces inside link text

链接名和包围它的中括号之间不能有空格,但链接名中间可以有空格,如:

[百 度](http://www.baidu.com "百 度")

示例:

{ "MD039": false }

MD040

Fenced code blocks should have a language specified

单独的代码块(此处是指上下用三个反引号包围的代码块)应该指定代码块的编程语言,这一点有助于解释器对代码进行代码高亮

示例:

{ "MD040": false }

MD041

First line in file should be a top level heading

文档的第一个非空行应该是文档最高级的标题,默认是1级标题

参数描述
level指定文档最高级的标题,默认是1
front_matter_title字符串,指定在文档开头处的front matter中的标题,这个标题将作为整篇文档的最高级标题,另外,如果不想在front matter中指定标题,就把本参数的值设置为""

示例:

{ "MD041": { "level": 1, "front_matter_title": "" } }

MD042

No empty links

链接的地址不能为空

示例:

{ "MD042": false }

MD043

Required heading structure

要求标题遵循一定的结构,默认是没有规定的结构(“null”)

参数描述
headings字符串数组,指定标题需要遵循的结构,默认是”null”,可以自行指定结构

示例:

{ "MD043": [ "# head", "## item", "### detail", "*" ] }

?> 星号(*)表示对应的标题是可选的,没有强制要求,本条具体可以参照MD043

MD044

Proper names should have the correct capitalization

指定一些名称,会检查它是否有正确的大写

参数描述
names字符串数组,指定要检查需要大写的名称,默认是空(“null”)
code_blocks指定本规则是否(true or false)对代码块生效,默认是true
一些经常使用的名称可以使用本规则防止其拼写错误,比如JavaScript中字母J和S需要大写,就可以写到参数”names”中,防止写错

示例:

{ "MD044": { "names": ["JavaScript"], "code_blocks": true } }

MD045

Images should have alternate text (alt text)

图片链接必须包含描述文本(alt text)

示例:

{ "MD045": false }

MD046

Code block style

整篇文档采用一致的代码格式

参数描述
consistent(default)文档上下文一致
fenced使用三个反引号隔开
indented使用缩进

示例:

{ "MD046": { "style": "consistent" } }

MD047

Files should end with a single newline character

文档需用一个空行结尾

示例:

{ "MD047": false }

参考

rules文档 

Last updated on