本文轉(zhuǎn)載自白老師課堂的簡書《 Markdown 語法詳解》
關(guān)于簡書 Markdown
Markdown 語法的目標(biāo): 成為一種適用于網(wǎng)絡(luò)的書寫語言。
本文的目的:使讀者輕松了解簡書對 Markdown 語法的支持,了解其優(yōu)點(diǎn)和不足。能夠在選擇時正確取舍,使用時得心應(yīng)手。
一、區(qū)塊標(biāo)記
區(qū)塊標(biāo)記:是指內(nèi)容獨(dú)占一塊,需前后換行,不和其他標(biāo)記共處一行的標(biāo)記。
1. 段落
段落:即是一段連續(xù)的文字,可包含*、空格、換行、tab等字符。兩個段落之間使用空行分隔。
示例代碼
第一自然段
第二自然段
效果
第一自然段
第二自然段
注意:換行不是分段的標(biāo)識,空行才是
2. 標(biāo)題
標(biāo)題:代表了文章中主題的層次,比如:文章標(biāo)題使用一級標(biāo)題,回目名稱使用二級標(biāo)題,小節(jié)使用三級標(biāo)題,依次類推。主題的層次代表了文章的大綱。
語法:Markdown 中使用連續(xù)的 n(1-6) 個 # 分別表示第 n 級標(biāo)題。
示例代碼
# 一級標(biāo)題
## 二級標(biāo)題
### 三級標(biāo)題
#### 四級標(biāo)題
##### 五級標(biāo)題
###### 六級標(biāo)題
效果
一級標(biāo)題
二級標(biāo)題
三級標(biāo)題
四級標(biāo)題
五級標(biāo)題
六級標(biāo)題
注:# 和后續(xù)內(nèi)容之間應(yīng)放置一個空格
3. 列表
列表:就是一組相關(guān)信息的集合。簡書中的列表分為 有序列表 和 無序列表。
1) 有序列表
語法:使用 數(shù)字 + . 作為項(xiàng)目符號,項(xiàng)目符號和正式列表項(xiàng)目之間有一個空格。
示例代碼
1\. 打開冰箱門
2\. 把大象放進(jìn)冰箱
3\. 關(guān)上冰箱門
效果
- 打開冰箱門
- 把大象放進(jìn)冰箱
- 關(guān)上冰箱門
2) 無序列表
語法:使用 * 作為項(xiàng)目符號,項(xiàng)目符號和正式列表項(xiàng)目之間有一個空格。
示例代碼
* 吃飯
* 睡覺
* 打豆豆
效果
- 吃飯
- 睡覺
- 打豆豆
注意事項(xiàng):
- *無序列表的項(xiàng)目符號可使用 ,+,- 效果是相同的。
- 列表與后續(xù)內(nèi)容之間需要一個空行隔開,即:列表是一個段落
- 列表允許多層次嵌套
- 可以在項(xiàng)目中包含段落,只需將段落前添加一個 tab 或 4 個空格
4. 分割線
語法:使用 3 個連續(xù)的 * 即可得到一個分割線
示例代碼
***
效果
5. 引用
語法:在行頭加上 > 即可。
這里是一段引用
注意事項(xiàng):
- 大于號 和 文字必須有一個空格
- 可以在每行之前加 > ,也可以在段落之前加 1 個 >
- 引用內(nèi)部可以使用其他 Markdown 標(biāo)記
引用內(nèi)部可以添加新的引用,只需再加一個大于號
二、行內(nèi)標(biāo)記
行內(nèi)標(biāo)記和其他標(biāo)記共處一行。
1. 強(qiáng)調(diào)文字
1) 斜體
語法:使用前后各 1 個 *(或_) 包含的文字是 斜體 文字
示例代碼
*斜體*, _斜體_
效果
斜體, 斜體
2) 粗體
語法:使用前后各 2 個 *(或_) 包含的文字是 粗體 文字
示例代碼
**粗體**,__粗體__
效果
粗體,粗體
3) 刪除文字
語法:使用前后各 2 個 ~ 包含的文字是刪除文字
示例代碼
~~刪除~~
效果
刪除
4) 粗斜體
語法:在(或_)中嵌套 (或) 或 在_(或)中嵌套**(或__)即可得到 粗斜體。
示例代碼
_**粗斜體**_, *__粗斜體__*
**_粗斜體_**, __*粗斜體*__
效果
粗斜體, 粗斜體
粗斜體, 粗斜體
2. 圖片與鏈接
1) 圖片:行內(nèi)圖片、引用圖片
1> 行內(nèi)圖片
圖片和圖片地址寫在一起。
語法: 
示例代碼

效果
注意事項(xiàng)
在簡書中,圖片可以直接拖到編輯區(qū),會自動上傳圖片并生成圖片地址。本功能是簡書提供的一大便利,值得表揚(yáng)!
2> 引用圖片
圖片和圖片地址分開書寫。
語法:
![圖片標(biāo)題][圖片id]
[圖片id]:圖片url
示例代碼:
![微信支付][snoopy]
[snoopy]: https://upload-images.jianshu.io/upload_images/12555132-30c4e96ea7dd4ed6.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240
效果
![微信支付][wechat]
[wechat]: https://upload-images.jianshu.io/upload_images/12555132-30c4e96ea7dd4ed6.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240
注意事項(xiàng)
引用圖片的 id 在文章中必須唯一
2) 鏈接:行內(nèi)鏈接、鏈接引用、自動鏈接
1> 行內(nèi)鏈接
語法:[鏈接名稱](鏈接地址 url "鏈接title")
示例代碼
[新浪](http://www.sina.com.cn "新浪主頁")
效果
注意事項(xiàng)
雙引號中的內(nèi)容是鏈接的 title (目前漢字顯示不正確)
2> 鏈接引用
一種鏈接和地址分離的方式。
語法:
[鏈接名稱][鏈接id]
[鏈接id]:鏈接 url 地址 "鏈接 title"
示例代碼
根據(jù) [雅虎][yahoo] 的調(diào)查,希拉里將當(dāng)選;根據(jù) [谷歌][google] 的調(diào)查,川普將當(dāng)選。
[yahoo]: http://search.yahoo.com/ "Yahoo Search"
[google]: http://google.com/ "Google"
效果
根據(jù) 雅虎 的調(diào)查,希拉里將當(dāng)選;根據(jù) 谷歌 的調(diào)查,川普將當(dāng)選。
注意事項(xiàng)
鏈接 id 可使用字母、數(shù)字、空格,但不區(qū)分大小寫
3> 自動鏈接
一種簡明的鏈接書寫方式
語法:<鏈接地址>
示例代碼
<http://www.sina.com.cn>
效果
3. 腳注
為名詞提供注釋,注釋將顯示在文章末尾。
語法:
待解釋文字[^腳注 id]
[^腳注 id]:注釋內(nèi)容
示例代碼
Hello程序[^hello]
[^hello]:即:Hello, world 程序
效果
Hello程序[1]
注意事項(xiàng)
- 腳注 id 必須唯一
- 無論腳注 id 如何起名,顯示時一律標(biāo)為數(shù)字,并且按出現(xiàn)順序排列
三、雙標(biāo)記
既可作為區(qū)塊標(biāo)記又可作為行內(nèi)標(biāo)記的標(biāo)記。
1. 代碼塊
1) 行內(nèi)代碼塊
語法:使用兩個 ` 將代碼包含起來
示例代碼
在 OC 中輸出 Hello, world :NSLog(@"Hello, World!");
效果
在 OC 中輸出 Hello, world :NSLog(@"Hello, World!");
2) 多行代碼塊
語法:只需要每行都縮進(jìn) 4 個空格即可,或者使用```框起來。
示例代碼 1 (行前4個空格)
// JQuery 的 Hello, world
$(function(){
alert("Hello, world!")
});
效果(行前4個空格)
// JQuery 的 Hello, world
$(function(){
alert("Hello, world!")
});
示例代碼 2 (```)
// JQuery 的 Hello, world $(function(){ alert("Hello, world!") });
效果 (```)
// JQuery 的 Hello, world
$(function(){
alert("Hello, world!")
});
注意事項(xiàng):
- 在代碼區(qū)塊內(nèi)部,", <>,& 將會自動轉(zhuǎn)換為轉(zhuǎn)義字符
- 在代碼區(qū)塊內(nèi)部,Markdown 標(biāo)記將保持原樣,即:星號()就是星號(),不被解釋為特殊標(biāo)記,這樣就可以不能繼續(xù)使用 Markdown 語法了**
四、表格
語法:
- 第一行為表頭,第二行分隔表頭和主體部分,第三行開始每一行為一個表格行。
- 列于列之間用管道符 | 隔開。表格每一行兩邊的管道符可省略。
- 第二行還可以為不同的列指定對齊方向。標(biāo)題默認(rèn)為居中對齊,內(nèi)容默認(rèn)為左對齊;在 - 左邊加上 : 就是左對齊;在 - 右邊加上 : 就是右對齊;在 - 兩邊都加上 : 就是居中對齊。
示例代碼
姓名|語文成績|數(shù)學(xué)成績|總成績
---|:---|:---:|---:
喜羊羊|100|120|220
效果
姓名 | 語文成績 | 數(shù)學(xué)成績 | 總成績 |
---|---|---|---|
喜羊羊 | 100 | 120 | 220 |
五、其他問題
1. Markdown 與 HTML 的關(guān)系
- HTML 是一種發(fā)布的格式,Markdown 是一種書寫的格式。
- Markdown 的格式語法只涵蓋純文本可以涵蓋的范圍。
- 在 Markdown 中可直接使用 HTML 標(biāo)簽,但需要注意
- 對于 HTML 區(qū)塊元素――如 div、table、pre、p 等標(biāo)簽,必須在前后加上空行與其它內(nèi)容區(qū)隔開,還要求它們的開始標(biāo)簽與結(jié)尾標(biāo)簽不能用制表符(tab)或空格來縮進(jìn)
- HTML 的行內(nèi)標(biāo)簽——如 span、cite、del 可以在 Markdown 的段落、列表或是標(biāo)題里隨意使用。
- 在 HTML 的區(qū)塊標(biāo)簽中的 Markdown 標(biāo)簽是沒有效果的
2. 特殊字符的自動轉(zhuǎn)換
- 在 HTML 文件中,有兩個字符需要特殊處理: < 和 &,必須使用轉(zhuǎn)義字符:& lt ; 和 & amp ;
- Markdown 中,你可以自由的書寫 < 和 &,編輯器會智能的進(jìn)行判斷:當(dāng)這些符號用于 HTML 標(biāo)簽中,他們將保留原型;當(dāng)他們單獨(dú)使用時,將會轉(zhuǎn)換為字符實(shí)體。
- 在代碼塊中,它們將統(tǒng)統(tǒng)被轉(zhuǎn)換為字符實(shí)體,即:原樣顯示。
3. Markdown 中的轉(zhuǎn)義字符
Markdown 中,如需顯示有特定意義的符號,如:*,# 等,可使用 反斜杠 \ 進(jìn)行轉(zhuǎn)義。可對如下字符進(jìn)行轉(zhuǎn)義:
*
`
*
_
{}
()
#
+
-
.
!
六、簡書尚不支持的標(biāo)記和不足
- 用于生成目錄索引的 [TOC]
- 用于說明文章標(biāo)簽的 tags
- 定義列表和待辦事宜 Todo 列表
- 數(shù)學(xué)公式
- 各種圖形:流程圖、時序圖、甘特圖
- 其他技術(shù),如:{mermaid}
- 區(qū)塊代碼中不顯示行號
- 即:Hello, world 程序 ?
本文轉(zhuǎn)載自白老師課堂的簡書《 Markdown 語法詳解》