簡書 Markdown 語法詳解


關(guān)于簡書 Markdown

Markdown 語法的目標: 成為一種適用于網(wǎng)絡(luò)的書寫語言。
本文的目的:使讀者輕松了解簡書對 Markdown 語法的支持,了解其優(yōu)點和不足。能夠在選擇時正確取舍,使用時得心應(yīng)手。


一、區(qū)塊標記

區(qū)塊標記:是指內(nèi)容獨占一塊,需前后換行,不和其他標記共處一行的標記。

1. 段落

段落:即是一段連續(xù)的文字,可包含*、空格、換行、tab等字符。兩個段落之間使用空行分隔。

示例代碼

第一自然段

第二自然段

效果

第一自然段

第二自然段

注意:換行不是分段的標識,空行才是

2. 標題

標題:代表了文章中主題的層次,比如:文章標題使用一級標題,回目名稱使用二級標題,小節(jié)使用三級標題,依次類推。主題的層次代表了文章的大綱。

語法:Markdown 中使用連續(xù)的 n(1-6) 個 # 分別表示第 n 級標題。
示例代碼

    # 一級標題
    ## 二級標題
    ### 三級標題
    #### 四級標題
    ##### 五級標題
    ###### 六級標題

效果

一級標題

二級標題

三級標題

四級標題

五級標題
六級標題

注:# 和后續(xù)內(nèi)容之間應(yīng)放置一個空格

3. 列表

列表:就是一組相關(guān)信息的集合。簡書中的列表分為 有序列表無序列表。

1) 有序列表

語法:使用 數(shù)字 + . 作為項目符號,項目符號和正式列表項目之間有一個空格。

示例代碼

1. 打開冰箱門
2. 把大象放進冰箱
3. 關(guān)上冰箱門

效果

  1. 打開冰箱門
  2. 把大象放進冰箱
  3. 關(guān)上冰箱門

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>

效果

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!")
});

注意事項:

  1. 在代碼區(qū)塊內(nèi)部,", <>,& 將會自動轉(zhuǎn)換為轉(zhuǎn)義字符
  2. 在代碼區(qū)塊內(nèi)部,Markdown 標記將保持原樣,即:星號(*)就是星號(*),不被解釋為特殊標記,這樣就可以不能繼續(xù)使用 Markdown 語法了

四、表格

語法:

  1. 第一行為表頭,第二行分隔表頭和主體部分,第三行開始每一行為一個表格行。
  2. 列于列之間用管道符 | 隔開。表格每一行兩邊的管道符可省略。
  3. 第二行還可以為不同的列指定對齊方向。標題默認為居中對齊,內(nèi)容默認為左對齊;在 - 左邊加上 : 就是左對齊;在 - 右邊加上 : 就是右對齊;在 - 兩邊都加上 : 就是居中對齊。

示例代碼

姓名|語文成績|數(shù)學成績|總成績
---|:---|:---:|---:
喜羊羊|100|120|220

效果

姓名 語文成績 數(shù)學成績 總成績
喜羊羊 100 120 220

五、其他問題

1. Markdown 與 HTML 的關(guān)系

  1. HTML 是一種發(fā)布的格式,Markdown 是一種書寫的格式。
  2. Markdown 的格式語法只涵蓋純文本可以涵蓋的范圍。
  3. 在 Markdown 中可直接使用 HTML 標簽,但需要注意
  • 對于 HTML 區(qū)塊元素――如 div、table、pre、p 等標簽,必須在前后加上空行與其它內(nèi)容區(qū)隔開,還要求它們的開始標簽與結(jié)尾標簽不能用制表符(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)義??蓪θ缦伦址M行轉(zhuǎn)義:

*
`
*
_
{}
()
#
+
-
.
!  

六、簡書尚不支持的標記和不足

  1. 用于生成目錄索引的 [TOC]
  2. 用于說明文章標簽的 tags
  3. 定義列表和待辦事宜 Todo 列表
  4. 數(shù)學公式
  5. 各種圖形:流程圖、時序圖、甘特圖
  6. 其他技術(shù),如:{mermaid}
  7. 區(qū)塊代碼中不顯示行號

七、給簡書的一點建議

  1. 對于普通用戶來講,定義列表、生成目錄索引和文章標簽功能是十分必要的,希望能夠盡快增加這些功能。希望能夠?qū)崿F(xiàn)預覽圖和編輯器的同步滾動功能。
  2. 對于理工狗來講,編輯 LaTex 數(shù)學公式是非常必要的功能,希望能夠盡快增加這個功能。
  3. 對于代碼狗來講,區(qū)塊代碼中顯示行號,以及流程圖、時序圖是非常必要的功能,希望能夠盡快增加這些功能。
  4. 其他的諸如:待辦事宜列表、甘特圖,mermaid等功能,可以慢慢實現(xiàn)。

由于本人初來乍到,水平有限,難免有疏漏錯誤,萬望指教,不勝感激。


  1. 即:Hello, world 程序 ?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容