Markdown 最全語法

Markdown 是一種純文本格式的標(biāo)記語言奏赘,通過簡單的標(biāo)記語法,它可以使普通文本內(nèi)容具有一定的格式惧蛹。一份 Markdown 文檔可以很方便的導(dǎo)出為 HTML 扇救、Word刑枝、圖像香嗓、PDF、Epub 等多種格式的文檔装畅,非常便于文章的發(fā)布靠娱。
Markdown 具有一系列衍生版本,不同版本之間基本兼容掠兄,但在一些語法和渲染效果上略有差別像云,另外不同的編輯器顯示效果也會有區(qū)別锌雀。
本篇文章盡量全的介紹 Markdown 的各個語法,但有些編輯器可能不支持其中某些語法迅诬。本文內(nèi)容是根據(jù) Markdown 的語法文檔和一些其它資料整理得到腋逆,內(nèi)容也會不斷的更新。

標(biāo)題

Markdown標(biāo)題有幾種寫法 ("atx", "atx_closed", "setext") :
第一種 ("atx") 是在想要設(shè)置為標(biāo)題的文字前面加 #侈贷,這種寫法支持六級標(biāo)題惩歉,注意要在 # 和文字之間加至少一個空格:

# 一級標(biāo)題
## 二級標(biāo)題
### 三級標(biāo)題
#### 四級標(biāo)題
##### 五級標(biāo)題
###### 六級標(biāo)題

第二種 ("setext") 是在想要設(shè)置為標(biāo)題的文字下面用多個 = 和 - 分隔,這種寫法只能寫到二級標(biāo)題俏蛮,= 和 - 的個數(shù)沒有限制撑蚌,只要大于一個就可以:

一級標(biāo)題
==========
二級標(biāo)題
----------

第三種 ("atx_closed") 是在想要設(shè)置為標(biāo)題的文字前后都加 #,這種寫法也支持六級標(biāo)題搏屑,注意要在文字和前后的 # 之間加至少一個空格:

# 一級標(biāo)題 #
## 二級標(biāo)題 ##
### 三級標(biāo)題 ###
#### 四級標(biāo)題 ####
##### 五級標(biāo)題 #####
###### 六級標(biāo)題 #######

標(biāo)題的三種寫法可以混用争涌,但為了保持統(tǒng)一性,不建議混用辣恋,但用第二種寫法寫到二級標(biāo)題后亮垫,還可以使用第一種或第三種寫法繼續(xù)寫后面的標(biāo)題。

段落和換行

Markdown 中用一個或多個空行劃分不同的段落(空行的含義就只要是看起來是空行就行了伟骨,即使包含了空格或者水平制表符等空白符也是空行)包警,普通段落不應(yīng)該使用縮進。
關(guān)于換行底靠,Markdown 并不會將段落的每個換行都轉(zhuǎn)換為 <br /> 標(biāo)簽害晦,如果確實需要在行尾輸入 <br /> 標(biāo)簽,只需要在行尾加兩個及以上的空格暑中,然后換行壹瘟。

強調(diào)

傾斜

傾斜是在文字左右用一個 *(星號)或 _(下劃線)包起來,文字與星號或下劃線之間沒有空格:

*傾斜*  _傾斜_

會得到:

傾斜 傾斜

加粗

加粗是在文字左右用兩個 *(星號)或 _(下劃線)包起來鳄逾,文字與星號或下劃線之間沒有空格:

**加粗**  __加粗__

會得到:

加粗 加粗

加粗傾斜

加粗傾斜是在文字左右用三個 *(星號)或 _(下劃線)包起來稻轨,文字與星號或下劃線之間沒有空格:

***加粗傾斜***   ___加粗傾斜___

會得到:

加粗傾斜 加粗傾斜

刪除線

刪除線是在文字左右用兩個 ~~ 包起來,文字與 ~~ 之間沒有空格:

~~刪除線~~

會得到:

刪除線

腳注

腳注是對文本的補充說明雕凹,格式如下:

面朝大海殴俱,春暖花開[^腳注]

[^腳注]: 海子

會得到:

面朝大海,春暖花開[1]

注意:

  1. 這里有些編輯器會自動給腳注進行編號枚抵,整篇文檔從 1 開始編號线欲,但有的編輯器會直接顯示腳注的名字;
  2. 腳注的定義與腳注的內(nèi)容至少隔一行汽摹,也可以將整篇文檔的腳注統(tǒng)一寫在文檔結(jié)尾處李丰,編輯器會自動把腳注的內(nèi)容放到文檔的最后。

引用

用法是在文字前面加一個 >逼泣,注意 > 是英文格式下的右尖括號趴泌,括號和文字之間至少有一個空格:

> 面朝大海舟舒,春暖花開。

會得到:

面朝大海嗜憔,春暖花開秃励。

引用是一個區(qū)塊,可以放很多東西吉捶,如標(biāo)題莺治、列表、代碼塊等等:

> ## 二級標(biāo)題
> * 無序列表

會得到:

二級標(biāo)題

  • 無序列表

引用可以多層嵌套帚稠,多層嵌套時谣旁,多個 > 是不需要連在一起的,只需要在同一行就可以:

> 引用一
>> 引用二
>>> 引用三

會得到:

引用一

引用二

引用三

列表

列表分為 有序列表 和 無序列表滋早。

無序列表

無序列表可以用 *榄审、+、- 創(chuàng)建杆麸,三個符號可以混用搁进,但建議上下文統(tǒng)一,符號和文字之間加至少一個空格或水平制表符:

* 無
- 序
+ 列
* 表

會得到:

有序列表

有序列表用數(shù)字和點來創(chuàng)建昔头,需要注意的是數(shù)字后面只能是英文的點饼问,且點和文字之間至少加一個空格,另外有序列表的序號是根據(jù)第一行的數(shù)字確定的揭斧,后面的數(shù)字序號對于最終生成 HTML 是沒有影響的. 比如下面的列表創(chuàng)建時序號是亂的莱革,但創(chuàng)建后序號會顯示為 2. 3. 4. 5. (這一點很多編輯器會自動更正或填充),點和文字之間加至少一個空格或水平制表符:

2. 有
2. 序
3. 列
3. 表

會得到:

列表嵌套

列表可以嵌套使用讹开,只需要在上一級和下一級之間打兩個空格即可(或者一個水平制表符)(有的語法需要三個空格或四個空格)盅视,有序列表和無序列表可以互相嵌套:

* 1
  * a
  * b
* 2
  1. a
  2. B

會得到:

  • 1
    • a
    • b
  • 2
    1. a
    2. B

如果列表項中包含引用,引用標(biāo)記 > 需要縮進旦万,如果列表項中有代碼塊闹击,代碼塊需要雙倍縮進,例如:

* 孔子說過:  
  > 毋意成艘,毋必赏半,毋固,毋我淆两。

會得到:

  • 孔子說過:

    毋意断箫,毋必,毋固琼腔,毋我瑰枫。

另外,如果一個列表項里包含多個段落丹莲,那么每個段落都需要縮進光坝,縮進量與第一段一致(用空格或制表符):

* 段落一

  段落二

會得到:

  • 段落一

    段落二

任務(wù)列表

任務(wù)列表通過無序列表和中括號 [] 來定義,中括號中間加 x 表示完成:

* [ ] 任務(wù)1
* [ ] 任務(wù)2
* [x] 任務(wù)3已完成

會得到:

  • 任務(wù)1
  • 任務(wù)2
  • 任務(wù)3已完成

代碼塊

單行代碼用一個 `(反引號)包起來甥材,或者行前加四個空格或一個水平制表符:

`a=1`

用反引號可以在行內(nèi)顯示代碼盯另,如:

如果`a=1`,`b=2`洲赵,那么`a+b=3`

會得到:

如果a=1鸳惯,b=2,那么a+b=3

多行代碼用三個 `(反引號)包起來叠萍,反引號單獨一行芝发,或者在每行代碼前加四個空格或一個水平制表符:

```
a=1
b=2
```

會得到:

a=1
b=2

反引號后面可以寫注釋,這樣可以給代碼塊添加相應(yīng)語言的代碼高亮苛谷,例如:

```ruby
require 'redcarpet'
markdown = Redcarpet.new("Hello World!")
puts markdown.to_html
```

會得到:

require 'redcarpet'
markdown = Redcarpet.new("Hello World!")
puts markdown.to_html

水平線

水平線可以由 *辅鲸、 - 、_(星號腹殿,減號独悴,下劃線)這三個符號的至少三個表示,注意至少要三個锣尉,且不需要連續(xù)刻炒,中間有空格也可以,但生成水平線的符號必須獨占一行:

***
-    -   -
_ _ _

會得到:




鏈接

Markdown 支持兩種鏈接形式: 內(nèi)聯(lián) 和 引用 自沧。
內(nèi)聯(lián):

[鏈接名](鏈接地址 “鏈接title” )

鏈接title 是可選的內(nèi)容坟奥,是當(dāng)指針停留在鏈接處時顯示的內(nèi)容;
引用:

[鏈接名][鏈接id]
[鏈接id]: 鏈接地址 “鏈接title”
[鏈接id]: 鏈接地址 '鏈接title'
[鏈接id]: 鏈接地址 (鏈接title)

鏈接id 有三種定義方式(如上)拇厢,定義時冒號后面加一個以上的空格或水平制表符筏勒;
鏈接id 可以包含字母, 數(shù)字, 空格, 和標(biāo)點符號,字母不是大小寫敏感的旺嬉,鏈接id 的定義可以在文章的任意位置管行,一般直接放在引用位置的下面;
鏈接名也可以包含字母, 數(shù)字, 空格, 和標(biāo)點符號邪媳,鏈接名 和 鏈接id 的中括號間可以有空格捐顷;

引用的鏈接形式中可以隱含鏈接名稱,可以忽略 鏈接id雨效,這時 鏈接名 本身被用于 鏈接id迅涮。引用 鏈接id 時只用一對空的中括號就可以了,
例如, 要鏈接 "Google" 這個詞到 google.com 網(wǎng)站, 只用這樣寫:

[Google][]

同時這樣定義 鏈接id:

[Google]: http://google.com/

另外徽龟,也可以將網(wǎng)址直接用 <>(尖括號)包起來叮姑,也可以顯示為鏈接,甚至直接寫出網(wǎng)址也顯示為鏈接:

<http://www.baidu.com>

圖片

圖片跟鏈接格式類似,也有 內(nèi)聯(lián) 和 引用 兩種形式传透,只不過在圖片名前要加 !(英文嘆號)耘沼。
內(nèi)聯(lián):

![圖片名](圖片地址 "圖片title")

引用:

![圖片名][圖片id]

[圖片id]:圖片地址 “圖片title”

圖片名 是指顯示在圖片下方的描述文字,可選朱盐;圖片title 是當(dāng)指針停留在圖片上時顯示的內(nèi)容群嗤,可選。
Markdown 沒有語法指定圖片尺寸兵琳,如果需要指定圖片尺寸, 可以使用 HTML <img> 標(biāo)簽狂秘。

反斜杠轉(zhuǎn)義

Markdown 中可以使用反斜杠轉(zhuǎn)義 Markdown 語法符號為字面量。Markdown 為以下字符提供反斜杠轉(zhuǎn)義:

\\   backslash(反斜杠)
\`   backtick(反引號)
\*   asterisk(星號)
\_   underscore(下劃線)
\{\}  curly braces(花括號)
\[\]  square brackets(方括號)
\(\)  parentheses(圓括號)
\#   hash mark(井號)
\+   plus sign(加號)
\-   minus sign (hyphen)(減號)
\.   dot(點)
\!   exclamation mark(驚嘆號)

以上這些符號在前面加反斜杠后就會顯示本身的字面形式躯肌,而不會作為 Markdown 的語法符號者春。

表格

| 表頭 | 表頭  | 表頭 |
| :---- | :---: | ---: |
| 靠左 | 居中 | 靠右 |
| 內(nèi)容 | 內(nèi)容  | 內(nèi)容 |

會得到:

表頭 表頭 表頭
靠左 居中 靠右
內(nèi)容 內(nèi)容 內(nèi)容

第二行分割表頭和內(nèi)容,-(減號) 有一個就行清女,也可以多加幾個使其對齊,文字默認(rèn)居左钱烟,- 兩邊加 :(冒號)表示文字居中,- 右邊加 : 表示文字居右校仑,原生語法兩邊的 | 必須加忠售,但目前大多數(shù)語法兩邊的 | 不加也可以,不同的解釋器顯示的表格會有所區(qū)別迄沫。

應(yīng)用 HTML 標(biāo)簽

可以直接在 Markdown 文檔里應(yīng)用 HTML 標(biāo)簽稻扬,以達(dá)到更好的表現(xiàn)效果,但不同的編輯器可能支持的標(biāo)簽會有區(qū)別羊瘩。

上泰佳、下標(biāo)

上、下標(biāo)可以通過 HTML 的 <sup><sub> 標(biāo)簽實現(xiàn):

這是<sup>上標(biāo)</sup>文本
這是<sub>下標(biāo)</sub>文本

會得到:

這是上標(biāo)文本
這是下標(biāo)文本

傾斜尘吗、加粗逝她、下劃線

傾斜、加粗睬捶、下劃線可以通過 HTML 的 <i>黔宛、<b><u> 標(biāo)簽實現(xiàn):

<i>傾斜</i>
<b>加粗</b>
<i><b>傾斜加粗</b></i>
<u>下劃線</u>

高亮標(biāo)記

高亮標(biāo)記可以通過 HTML 的 <mark> 標(biāo)簽實現(xiàn):

<mark>高亮標(biāo)記</mark>

鍵盤文本

鍵盤文本可以通過 HTML 的 <kbd> 標(biāo)簽實現(xiàn):

<kbd>鍵盤文本</kbd>

按鈕

按鈕可以通過 HTML 的 <button> 標(biāo)簽實現(xiàn):

<button type="button">按鈕</button>

注意需要指明 type 屬性擒贸。

一些規(guī)范

  • MarkDown 文件均使用 .md 作為后綴
  • 標(biāo)題與緊貼的上下正文使用空行隔開臀晃,# 號和文字之間一個空格連接
  • 整篇文章標(biāo)題格式要統(tǒng)一
  • 普通文本換行,使用行末尾兩個空格觸發(fā)
  • 定義列表時上下文使用一致的符號介劫,縮進也要統(tǒng)一
  • 列表塊前后整行隔開
  • 代碼塊前后整行隔開

本文介紹的 Markdown 語法不同的衍生版本或不同的解釋器會有所區(qū)別徽惋,有些會不支持,有些可能需要一些擴展工具才能實現(xiàn)座韵。

參考

參考1


  1. 海子 ?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末险绘,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌宦棺,老刑警劉巖瓣距,帶你破解...
    沈念sama閱讀 218,858評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異渺氧,居然都是意外死亡旨涝,警方通過查閱死者的電腦和手機蹬屹,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,372評論 3 395
  • 文/潘曉璐 我一進店門侣背,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人慨默,你說我怎么就攤上這事贩耐。” “怎么了厦取?”我有些...
    開封第一講書人閱讀 165,282評論 0 356
  • 文/不壞的土叔 我叫張陵潮太,是天一觀的道長。 經(jīng)常有香客問我虾攻,道長铡买,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,842評論 1 295
  • 正文 為了忘掉前任霎箍,我火速辦了婚禮奇钞,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘漂坏。我一直安慰自己景埃,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,857評論 6 392
  • 文/花漫 我一把揭開白布顶别。 她就那樣靜靜地躺著谷徙,像睡著了一般。 火紅的嫁衣襯著肌膚如雪驯绎。 梳的紋絲不亂的頭發(fā)上完慧,一...
    開封第一講書人閱讀 51,679評論 1 305
  • 那天,我揣著相機與錄音剩失,去河邊找鬼屈尼。 笑死,一個胖子當(dāng)著我的面吹牛赴叹,可吹牛的內(nèi)容都是我干的鸿染。 我是一名探鬼主播,決...
    沈念sama閱讀 40,406評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼乞巧,長吁一口氣:“原來是場噩夢啊……” “哼涨椒!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,311評論 0 276
  • 序言:老撾萬榮一對情侶失蹤蚕冬,失蹤者是張志新(化名)和其女友劉穎免猾,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體囤热,經(jīng)...
    沈念sama閱讀 45,767評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡猎提,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了旁蔼。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片锨苏。...
    茶點故事閱讀 40,090評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖棺聊,靈堂內(nèi)的尸體忽然破棺而出伞租,到底是詐尸還是另有隱情,我是刑警寧澤限佩,帶...
    沈念sama閱讀 35,785評論 5 346
  • 正文 年R本政府宣布葵诈,位于F島的核電站,受9級特大地震影響祟同,放射性物質(zhì)發(fā)生泄漏作喘。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,420評論 3 331
  • 文/蒙蒙 一晕城、第九天 我趴在偏房一處隱蔽的房頂上張望泞坦。 院中可真熱鬧,春花似錦广辰、人聲如沸暇矫。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,988評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽李根。三九已至,卻和暖如春几睛,著一層夾襖步出監(jiān)牢的瞬間房轿,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,101評論 1 271
  • 我被黑心中介騙來泰國打工所森, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留囱持,地道東北人。 一個月前我還...
    沈念sama閱讀 48,298評論 3 372
  • 正文 我出身青樓焕济,卻偏偏與公主長得像纷妆,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子晴弃,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,033評論 2 355

推薦閱讀更多精彩內(nèi)容