MarkDown語法總結


有關MarkDown更詳細的概述以及中文文檔參見:MarkDown中文文檔

VS Code中原生支持MarkDown的預覽,也可以安裝另一個插件來獲得更好的預覽效果

 

預覽按鈕(一個是插件的預覽,一個是原生的預覽):

 

markdownlint的錯誤分析詳見文章最末尾

 

下面是正文:

1.標題:

標題分為兩種形式[Setext] 和 [atx] ,前者只支持一級與二級標題,語法如下所示

后者支持1-6級標題:

注意:兩種標題格式不能混用,且一個文檔中只能有一個最高級標題(否則markdownlint會瘋狂警告)

 

2.(塊)引用

使用>來創建一個塊引用,引用中可以嵌套引用也可以嵌套標題行、列表等其他項

 

3.列表

有三種不同的符號可以創建一個無序列表中的列表項

但需要注意的是,一個文檔中的無序列表項符號應當一致

 

有序列表直接使用1. 2. 3.即可

 

4.代碼塊

只要在一行的開頭使用4個空格,markdown就會用<pre><code>標簽來包裹其中的內容

 

 

5.水平線

 

在一行中使用三個*或者-,就能在該位置創建一條水平線,當然一個文檔中的創建風格也應該統一

 

6.鏈接

 

內聯鏈接:

[description](url 'title')

 

行內鏈接:

行內鏈接更便於閱讀,關於兩種不同形式轉換為html文本之后的差異詳見中文文檔

 

7.強調

(單一風格限定)

 

 8.圖片

 

以上就是常用的一些語法,更多有關轉義等的內容請參見中文文檔

 

 

markdownlint規則詳細介紹及自定義參數設置:

 

MD001 - Heading levels should only increment by one level at a time

標題級數每次只能擴大1, 也就是不能隔級創建標題(從1級到6級的順序)

 

MD002 - First heading should be a top level heading

文檔的第一個標題必須是最高級的標題(標題等級1級到6級逐漸降低)

參數:
"level":指定最高級標題的級數,默認是1

 

MD003 - Heading style

整篇文檔要采用一致的標題格式

參數:
"style":字符串,指定文檔標題的格式,有("consistent", "atx", "atx_closed", "setext", "setext_with_atx", "setext_with_atx_closed")五種,默認是"consistent",也就是整篇文檔一致

標題格式必須統一,一般不能混用,但"setext_with_atx", "setext_with_atx_closed"格式可以在"setext"格式二級標題后接着使用"atx"或"atx_closed"格式的標題

 

MD004 - Unordered list style

整篇文檔定義無序列表的格式要一致

參數:
"style":字符串,指定無序列表的定義格式,有("consistent", "asterisk", "plus", "dash", "sublist")五種,分別表示“定義時符號前后一致”,“用星號定義”,“用加號定義”,“用減號定義”,“定義多重列表時用不同的符號定義”,默認是"consistent"

 

MD005 - Inconsistent indentation for list items at the same level

同一級的列表縮進必須一致
在有序列表中,前面的數字序號可以左對齊,也可以右對齊

 

MD006 - Consider starting bulleted lists at the beginning of the line

1級列表不能縮進

 

MD007 - Unordered list indentation

無序列表嵌套縮進時默認采用兩個空格

參數:
"ident":指定無序列表嵌套時縮進的空格數,默認是2

 

MD009 - Trailing spaces

行尾最多可以添加兩個空格,超過會給出警告,兩個空格正好可以用於換行

參數:
"br_spaces":指定在行尾可以添加的空格數目,空格數目建議大於等於2,如果小於2,會默認為0,也就是不允許任何行尾的空格
"list_item_empty_lines":字符串,指定在列表中是否(true or false)用默認的空格數縮進空行,有的解釋器會要求列表中的空行要縮進

 

MD010 - Hard tabs

不能使用tab鍵縮進,要使用空格

參數:
"code_blocks":指定本條規則在代碼塊里是否(true or false)生效

 

MD011 - Reversed link syntax

檢查內聯形式的鏈接的創建方式是否錯誤,中括號和圓括號是否用對

 

MD012 - Multiple consecutive blank lines

文檔中不能有連續的空行,在代碼塊中此規則不會生效

參數:
"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

 

MD014 - Dollar signs used before commands without showing output

在代碼塊中,終端命令前不需要有美元符號($)
如果代碼塊中既有終端命令,也有命令的輸出,則終端命令前可以有美元符號($),如:

在"atx"格式的標題中,#號和文字間需用一個空格隔開

 

MD019 - Multiple spaces after hash on atx style heading

在"atx"格式的標題中,#號和文字間只能用一個空格隔開,不能有多余的空格

 

MD020 - No space inside hashes on closed atx style heading

在"closed_atx"格式的標題中,文字和前后的#號之間需用一個空格隔開

 

MD021 - Multiple spaces inside hashes on closed atx style heading

在"closed_atx"格式的標題中,文字和前后的#號之間只能用一個空格隔開,不能有多余的空格

 

MD022 - Headings should be surrounded by blank lines

標題行的上下行必須都是空行

參數:
"lines_above":指定標題行上方的空行數,默認為1,可以設為更大或0
"lines_below":指定標題行下方的空行數,默認為1,可以設為更大或0

注意當此處的空行設為比1大的數時,規則MD012的設置也要改

 

MD023 - Headings must start at the beginning of the line

標題行不能縮進

 

MD024 - Multiple headings with the same content

文檔不能有內容重復的標題

參數:
"siblings_only":默認為false,設為true時,不同標題下的子標題內容可以重復

 

MD025 - Multiple top level headings in the same document

同一文檔只能有一個最高級的標題,默認是只能有一個1級標題

參數:
"level":指定文檔最高級的標題,默認是1
"front_matter_title":字符串,指定在文檔開頭處的front matter中的標題,這個標題將作為整篇文檔的最高級標題,如果文檔中再次出現最高級標題,將會給出警告,另外,如果不想在front matter中指定標題,就把本參數的值設置為""

 

MD026 - Trailing punctuation in heading

標題行末尾不能有以下標點符號:".,;:!?"

參數:
"punctuation":字符串,指定標題行尾不能有的標點符號,默認是".,;:!?"

此規則默認的是英文的標點符號,中文標點符號不在規則之內

 

MD027 - Multiple spaces after blockquote symbol

創建引用區塊時,右尖括號 ( > ) 和文字之間有且只能有一個空格

 

MD028 - Blank line inside blockquote

兩個引用區塊間不能僅用一個空行隔開或者同一引用區塊中不能有空行,如果一行中沒有內容,則這一行要用>開頭

 

MD029 - Ordered list item prefix

有序列表的前綴序號格式必須只用1或者從1開始的加1遞增數字("one_or_ordered")

參數:
"style":字符串,指定前綴序號的格式,("one","ordered","one_or_ordered","zero"),分別表示只用1做前綴,用從1開始的加1遞增數字做前綴,只用1或者從1開始的加1遞增數字做前綴,只用0做前綴,默認值是"one_or_ordered"

本條規則支持在前綴序號中補0,以實現對齊,如:


MD030 - Spaces after list markers

列表(有序、無序)的前綴符號和文字之間用1個空格隔開
在列表嵌套或者同一列表項中有多個段落時,無序列表縮進兩個空格,有序列表縮進3個空格

參數:
"ul_single","ol_single","ul_multi","ol_multi":分別規定無序列表單個段落,有序列表單個段落,無序列表多個段落,有序列表多個段落的前綴符號和文字之間的空格數,默認是1

 

MD031 - Fenced code blocks should be surrounded by blank lines

單獨的代碼塊前后需要用空行隔開(除非是在文檔開頭或末尾),否則有些解釋器不會解釋為代碼塊

 

MD032 - Lists should be surrounded by blank lines

列表(有序、無序)前后需要用空行隔開,否則有些解釋器不會解釋為列表
列表的縮進必須一致,否則會警告

 

MD033 - Inline HTML

文檔中不允許使用HTML語句

參數:
"allowed_elements":自定義允許的元素,是一個字符串數組,默認是空(empty)

 

MD034 - Bare URL used

單純的鏈接地址需要用尖括號 (<>) 包裹,否則有些解釋器不會解釋為鏈接

 

MD035 - Horizontal rule style

創建水平線時整篇文檔要統一(consistent),要和文檔中第一次創建水平線使用的符號一致

參數:
"style":字符串,指定創建水平線的方式,值有:("consistent","***","---","___"),默認是"consistent"

 

MD036 - Emphasis used instead of a heading

不能用強調代替標題

參數:
"punctuation":字符串,指定用於結尾的標點符號,以此符號結尾的強調不會被視為以強調代替標題,默認值是".,;:!?"

此規則會檢查只包含強調的單行段落,如果這種段落不是以指定的標點符號結尾,則會被視為以強調代替標題,會給出警告

 

MD037 - Spaces inside emphasis markers

用於創建強調的符號和強調的的文字之間不能有空格

 

MD038 - Spaces inside code span elements

當用單反引號創建代碼段的時候,單反引號和它們之間的代碼不能有空格
如果要把單反引號嵌入到代碼段的首尾,創建代碼段的單反引號和嵌入的單反引號間要有一個空格隔開

 

MD039 - Spaces inside link text

鏈接名和包圍它的中括號之間不能有空格,但鏈接名中間可以有空格,如:

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

MD040 - Fenced code blocks should have a language specified

單獨的代碼塊(此處是指上下用三個反引號包圍的代碼塊)應該指定代碼塊的編程語言,這一點有助於解釋器對代碼進行代碼高亮

 

MD041 - First line in file should be a top level heading

文檔的第一個非空行應該是文檔最高級的標題,默認是1級標題

參數:
"level":指定文檔最高級的標題,默認是1
"front_matter_title":字符串,指定在文檔開頭處的front matter中的標題,這個標題將作為整篇文檔的最高級標題,另外,如果不想在front matter中指定標題,就把本參數的值設置為""

 

MD042 - No empty links

鏈接的地址不能為空

 

MD043 - Required heading structure

要求標題遵循一定的結構,默認是沒有規定的結構("null")

參數:
"headings":字符串數組,指定標題需要遵循的結構,默認是"null",可以自行指定結構,如;

星號(*)表示對應的標題是可選的,沒有強制要求,本條具體可以參照MD043

 

MD044 - Proper names should have the correct capitalization

指定一些名稱,會檢查它是否有正確的大寫

參數:
"names":字符串數組,指定要檢查需要大寫的名稱,默認是空("null")
"code_blocks":指定本規則是否(true or false)對代碼塊生效,默認是true
一些經常使用的名稱可以使用本規則防止其拼寫錯誤,比如JavaScript中字母J和S需要大寫,就可以寫到參數"names"中,防止寫錯

 

MD045 - Images should have alternate text (alt text)

圖片鏈接必須包含描述文本(alt text)

 

MD046 - Code block style

整篇文檔采用一致的代碼格式

參數:
"style": 字符串,指定代碼塊定義格式,有("consistent","fenced","indented")三種,分別代表:文檔上下文一致,使用三個反引號隔開,使用縮進,默認是上下文一致

 

MD047 - Files should end with a single newline character

文檔需用一個空行結尾

 

 




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM