關于簡書 Markdown
Markdown 語法的目標: 成為一種適用于網(wǎng)絡的書寫語言。
本文的目的:使讀者輕松了解簡書對 Markdown 語法的支持讲弄,了解其優(yōu)點和不足措左。能夠在選擇時正確取舍,使用時得心應手避除。
一怎披、區(qū)塊標記
區(qū)塊標記:是指內(nèi)容獨占一塊,需前后換行瓶摆,不和其他標記共處一行的標記凉逛。
1. 段落
段落:即是一段連續(xù)的文字,可包含*赏壹、空格鱼炒、換行、tab等字符蝌借。兩個段落之間使用空行分隔昔瞧。
示例代碼
第一自然段
第二自然段
效果
第一自然段
第二自然段
注意:換行不是分段的標識,空行才是
2. 標題
標題:代表了文章中主題的層次菩佑,比如:文章標題使用一級標題自晰,回目名稱使用二級標題,小節(jié)使用三級標題稍坯,依次類推酬荞。主題的層次代表了文章的大綱。
語法:Markdown 中使用連續(xù)的 n(1-6) 個 # 分別表示第 n 級標題瞧哟。
示例代碼
# 一級標題
## 二級標題
### 三級標題
#### 四級標題
##### 五級標題
###### 六級標題
效果
一級標題
二級標題
三級標題
四級標題
五級標題
六級標題
注:# 和后續(xù)內(nèi)容之間應放置一個空格
3. 列表
列表:就是一組相關信息的集合混巧。簡書中的列表分為 有序列表 和 無序列表。
1) 有序列表
語法:使用 數(shù)字 + . 作為項目符號勤揩,項目符號和正式列表項目之間有一個空格咧党。
示例代碼
1. 打開冰箱門
2. 把大象放進冰箱
3. 關上冰箱門
效果
- 打開冰箱門
- 把大象放進冰箱
- 關上冰箱門
2) 無序列表
語法:使用 * 作為項目符號,項目符號和正式列表項目之間有一個空格陨亡。
示例代碼
* 吃飯
* 睡覺
* 打豆豆
效果
- 吃飯
- 睡覺
- 打豆豆
注意事項:
- 無序列表的項目符號可使用 *,+,- 效果是相同的傍衡。
- 列表與后續(xù)內(nèi)容之間需要一個空行隔開深员,即:列表是一個段落
- 列表允許多層次嵌套
- 可以在項目中包含段落,只需將段落前添加一個 tab 或 4 個空格
4. 分割線
語法:使用 3 個連續(xù)的 * 即可得到一個分割線
示例代碼
***
效果
5. 引用
語法:在行頭加上 > 即可蛙埂。
這里是一段引用
注意事項:
- 大于號 和 文字必須有一個空格
- 可以在每行之前加 > 倦畅,也可以在段落之前加 1 個 >
- 引用內(nèi)部可以使用其他 Markdown 標記
引用內(nèi)部可以添加新的引用,只需再加一個大于號
二绣的、行內(nèi)標記
行內(nèi)標記和其他標記共處一行叠赐。
1. 強調(diào)文字
1) 斜體
語法:使用前后各 1 個 *(或_) 包含的文字是 斜體 文字
示例代碼
*斜體*, _斜體_
效果
斜體, 斜體
2) 粗體
語法:使用前后各 2 個 *(或_) 包含的文字是 粗體 文字
示例代碼
**粗體**,__粗體__
效果
粗體被辑,粗體
3) 刪除文字
語法:使用前后各 2 個 ~ 包含的文字是刪除文字
示例代碼
~~刪除~~
效果
刪除
4) 粗斜體
語法:在**(或__)中嵌套_ (或*) 或 在_(或*)中嵌套**(或__)即可得到 粗斜體燎悍。
示例代碼
_**粗斜體**_敬惦, *__粗斜體__*
**_粗斜體_**盼理, __*粗斜體*__
效果
粗斜體, 粗斜體
粗斜體俄删, 粗斜體
2. 圖片與鏈接
1) 圖片:行內(nèi)圖片宏怔、引用圖片
1> 行內(nèi)圖片
圖片和圖片地址寫在一起。
語法: ![圖片標題](圖片url)
示例代碼
![史努比](http://upload-images.jianshu.io/upload_images/2779565-13b3439b110c16bf.jpeg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
效果
注意事項
在簡書中畴椰,圖片可以直接拖到編輯區(qū)臊诊,會自動上傳圖片并生成圖片地址。本功能是簡書提供的一大便利斜脂,值得表揚抓艳!
2> 引用圖片
圖片和圖片地址分開書寫。
語法:
![圖片標題][圖片id]
[圖片id]:圖片url
示例代碼:
![史努比][snoopy]
[snoopy]: http://upload-images.jianshu.io/upload_images/2779565-13b3439b110c16bf.jpeg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240
效果
![史努比][snoopy]
[snoopy]: http://upload-images.jianshu.io/upload_images/2779565-13b3439b110c16bf.jpeg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240
注意事項
引用圖片的 id 在文章中必須唯一
2) 鏈接:行內(nèi)鏈接帚戳、鏈接引用玷或、自動鏈接
1> 行內(nèi)鏈接
語法:[鏈接名稱](鏈接地址 url "鏈接title")
示例代碼
[新浪](http://www.sina.com.cn "新浪主頁")
效果
注意事項
雙引號中的內(nèi)容是鏈接的 title (目前漢字顯示不正確)
2> 鏈接引用
一種鏈接和地址分離的方式。
語法:
[鏈接名稱][鏈接id]
[鏈接id]:鏈接 url 地址 "鏈接 title"
示例代碼
根據(jù) [雅虎][yahoo] 的調(diào)查片任,希拉里將當選偏友;根據(jù) [谷歌][google] 的調(diào)查,川普將當選对供。
[yahoo]: http://search.yahoo.com/ "Yahoo Search"
[google]: http://google.com/ "Google"
效果
根據(jù) 雅虎 的調(diào)查位他,希拉里將當選;根據(jù) 谷歌 的調(diào)查产场,川普將當選鹅髓。
注意事項
鏈接 id 可使用字母、數(shù)字京景、空格窿冯,但不區(qū)分大小寫
3> 自動鏈接
一種簡明的鏈接書寫方式
語法:<鏈接地址>
示例代碼
<http://www.sina.com.cn>
效果
3. 腳注
為名詞提供注釋,注釋將顯示在文章末尾醋粟。
語法:
待解釋文字[^腳注 id]
[^腳注 id]:注釋內(nèi)容
示例代碼
Hello程序[^hello]
[^hello]:即:Hello, world 程序
效果
Hello程序[1]
注意事項
- 腳注 id 必須唯一
- 無論腳注 id 如何起名靡菇,顯示時一律標為數(shù)字重归,并且按出現(xiàn)順序排列
三、雙標記
既可作為區(qū)塊標記又可作為行內(nèi)標記的標記厦凤。
1. 代碼塊
1) 行內(nèi)代碼塊
語法:使用兩個 ` 將代碼包含起來
示例代碼
在 Java 輸出 Hello, world :`System.out.print("Hello, World!");`
效果
在 Java 輸出 Hello, world :
System.out.print("Hello, World!");
2) 多行代碼塊
語法:只需要每行都縮進 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!")
});
注意事項:
- 在代碼區(qū)塊內(nèi)部较鼓,", <>,& 將會自動轉(zhuǎn)換為轉(zhuǎn)義字符
- 在代碼區(qū)塊內(nèi)部椎木,Markdown 標記將保持原樣,即:星號(*)就是星號(*)博烂,不被解釋為特殊標記香椎,這樣就可以不能繼續(xù)使用 Markdown 語法了
四、表格
語法:
- 第一行為表頭禽篱,第二行分隔表頭和主體部分畜伐,第三行開始每一行為一個表格行。
- 列于列之間用管道符 | 隔開躺率。表格每一行兩邊的管道符可省略玛界。
- 第二行還可以為不同的列指定對齊方向。標題默認為居中對齊悼吱,內(nèi)容默認為左對齊慎框;在 - 左邊加上 : 就是左對齊;在 - 右邊加上 : 就是右對齊后添;在 - 兩邊都加上 : 就是居中對齊笨枯。
示例代碼
姓名|語文成績|數(shù)學成績|總成績
---|:---|:---:|---:
喜羊羊|100|120|220
效果
姓名 | 語文成績 | 數(shù)學成績 | 總成績 |
---|---|---|---|
喜羊羊 | 100 | 120 | 220 |
五、其他問題
1. Markdown 與 HTML 的關系
- HTML 是一種發(fā)布的格式遇西,Markdown 是一種書寫的格式馅精。
- Markdown 的格式語法只涵蓋純文本可以涵蓋的范圍。
- 在 Markdown 中可直接使用 HTML 標簽努溃,但需要注意
- 對于 HTML 區(qū)塊元素――如 div硫嘶、table、pre梧税、p 等標簽沦疾,必須在前后加上空行與其它內(nèi)容區(qū)隔開,還要求它們的開始標簽與結尾標簽不能用制表符(tab)或空格來縮進
- HTML 的行內(nèi)標簽——如 span第队、cite哮塞、del 可以在 Markdown 的段落、列表或是標題里隨意使用凳谦。
- 在 HTML 的區(qū)塊標簽中的 Markdown 標簽是沒有效果的
2. 特殊字符的自動轉(zhuǎn)換
- 在 HTML 文件中忆畅,有兩個字符需要特殊處理: < 和 &,必須使用轉(zhuǎn)義字符:& lt ; 和 & amp ;
- Markdown 中尸执,你可以自由的書寫 < 和 &家凯,編輯器會智能的進行判斷:當這些符號用于 HTML 標簽中缓醋,他們將保留原型;當他們單獨使用時绊诲,將會轉(zhuǎn)換為字符實體送粱。
- 在代碼塊中,它們將統(tǒng)統(tǒng)被轉(zhuǎn)換為字符實體掂之,即:原樣顯示抗俄。
3. Markdown 中的轉(zhuǎn)義字符
Markdown 中,如需顯示有特定意義的符號世舰,如:*,# 等动雹,可使用 反斜杠 \ 進行轉(zhuǎn)義「梗可對如下字符進行轉(zhuǎn)義:
*
`
*
_
{}
()
#
+
-
.
!
六胰蝠、簡書尚不支持的標記和不足
- 用于生成目錄索引的 [TOC]
- 用于說明文章標簽的 tags
- 定義列表和待辦事宜 Todo 列表
- 數(shù)學公式
- 各種圖形:流程圖、時序圖裆馒、甘特圖
- 其他技術姊氓,如:{mermaid}
- 區(qū)塊代碼中不顯示行號
七、給簡書的一點建議
- 對于普通用戶來講喷好,定義列表、生成目錄索引和文章標簽功能是十分必要的读跷,希望能夠盡快增加這些功能梗搅。希望能夠?qū)崿F(xiàn)預覽圖和編輯器的同步滾動功能。
- 對于理工狗來講效览,編輯 LaTex 數(shù)學公式是非常必要的功能无切,希望能夠盡快增加這個功能。
- 對于代碼狗來講丐枉,區(qū)塊代碼中顯示行號哆键,以及流程圖、時序圖是非常必要的功能瘦锹,希望能夠盡快增加這些功能籍嘹。
- 其他的諸如:待辦事宜列表、甘特圖弯院,mermaid等功能辱士,可以慢慢實現(xiàn)。
跋
由于本人初來乍到听绳,水平有限颂碘,難免有疏漏錯誤,萬望指教椅挣,不勝感激头岔。
-
即:Hello, world 程序 ?