首頁 > 軟體

Markdown 語法手冊 (完整整理版)

2020-06-16 17:01:39

0. 目錄

    • 0. 目錄
    • 1. 斜體和粗體
    • 2. 分級標題
    • 3. 超連結
      • 3.1. 行內式
      • 3.2. 參考式
      • 3.3. 自動連結
    • 4. 錨點
    • 5. 列表
      • 5.1. 無序列表
      • 5.2. 有序列表
      • 5.3. 定義型列表
      • 5.3. 列表縮排
      • 5.4. 包含段落的列表
      • 5.5. 包含參照的列表
      • 5.6. 包含程式碼區塊的參照
      • 5.7. 一個特殊情況
    • 6. 參照
      • 6.1. 參照的多層巢狀
      • 6.2. 參照其它要素
    • 7. 插入影象
      • 7.1. 行內式
      • 7.2. 參考式
    • 8. 內容目錄
    • 9. 註腳
    • 10. LaTeX 公式
      • 10.1. $ 表示行內公式:
      • 10.2 $$ 表示整行公式:
    • 11. 流程圖
    • 12 .表格
    • 13. 分隔線
    • 14. 程式碼
      • 8.1. 行內式
      • 8.2. 縮排式多行程式碼
      • 8.3. 用六個`包裹多行程式碼
      • 8.4. HTML 原始碼

 


1. 斜體和粗體

程式碼:

  1. *斜體*或_斜體_
  2. **粗體**
  3. ***加粗斜體***
  4. ~~刪除線~~

顯示效果:

  • 這是一段斜體
  • 這是一段粗體
  • 這是一段加粗斜體
  • 這是一段刪除線

2. 分級標題

第一種寫法:

  1. 這是一個一級標題
  2. ============================
  3. 這是一個二級標題
  4. --------------------------------------------------

第二種寫法:

  1. # 一級標題
  2. ## 二級標題
  3. ### 三級標題
  4. #### 四級標題
  5. ##### 五級標題
  6. ###### 六級標題

由於用了[TOC]標記編輯器會把所有標題寫到目錄大綱中,在這裡寫的演示標題也會列進去,所以就不演示了。同學們自己在編輯器中觀察,很簡單,一級標題字號最大,依級遞減。


3. 超連結

Markdown 支援兩種形式的連結語法: 行內式和參考式兩種形式,行內式一般使用較多。

3.1. 行內式

語法說明:

  • []裡寫連結文字,()裡寫連結地址, ()中的”“中可以為連結指定title屬性,title屬性可加可不加。title屬性的效果是滑鼠懸停在連結上會出現指定的 title文字。[連結文字](連結地址 “連結標題”)’這樣的形式。連結地址與連結標題前有一個空格。

程式碼:

  1. 歡迎來到[Linux公社](http://www.linuxidc.com)
  2. 歡迎來到[Linux公社](http://www.linuxidc.com "Linux公社")

顯示效果:

歡迎來到Linux公社

歡迎來到Linux公社

3.2. 參考式

參考式超連結一般用在學術論文上面,或者另一種情況,如果某一個連結在文章中多處使用,那麼使用參照 的方式建立連結將非常好,它可以讓你對連結進行統一的管理。

語法說明:
參考式連結分為兩部分,文中的寫法 [連結文字][連結標記],在文字的任意位置新增[連結標記]:連結地址 “連結標題”,連結地址與連結標題前有一個空格。

如果連結文字本身可以做為連結標記,你也可以寫成[連結文字][]
[連結文字]:連結地址的形式,見程式碼的最後一行。

程式碼:

  1. 我經常去的幾個網站[Google][1]、[linuxidc][2]以及[自己的部落格][3]
  2. [linux公社][2]是一個不錯的[網站][]。
  3. [1]:http://www.google.com "Google"
  4. [2]:http://www.linuxidc.com "Leanote"
  5. [3]:http://http://www.linuxidc.com "Linux公社"
  6. [網站]:http://http://www.linuxidc.com

顯示效果:

我經常去的幾個網站Googlelinuxidc以及自己的部落格
Linux公社 是一個不錯的網站

3.3. 自動連結

語法說明:
Markdown 支援以比較簡短的自動連結形式來處理網址和電子郵件信箱,只要是用<>包起來, Markdown 就會自動把它轉成連結。一般網址的連結文字就和連結地址一樣,例如:

程式碼:

  1. <http://example.com/>
  2. <address@example.com>

顯示效果:

http://example.com/
address@example.com


4. 錨點

網頁中,錨點其實就是頁內超連結,也就是連結本文件內部的某些元素,實現當前頁面中的跳轉。比如我這裡寫下一個錨點,點選回到目錄,就能跳轉到目錄。 在目錄中點選這一節,就能跳過來。還有下一節的註腳。這些根本上都是用錨點來實現的。

注意:
1. Markdown Extra 只支援在標題後插入錨點,其它地方無效。
2. linuxidc 編輯器右側顯示效果區域暫時不支援錨點跳轉,所以點來點去發現沒有跳轉不必驚慌,但是你發布成筆記或博文後是支援跳轉的。

語法描述:
在你準備跳轉到的指定標題後插入錨點{#標記},然後在文件的其它地方寫上連線到錨點的連結。

程式碼:

  1. ## 0. 目錄{#index}
  2. 跳轉到[目錄](#index)

顯示效果:

跳轉到目錄


5. 列表

5.1. 無序列表

使用 *,+,- 表示無序列表。

程式碼:

  1. -無序列表項
  2. -無序列表項
  3. -無序列表項

顯示效果:

  • 無序列表項 一
  • 無序列表項 二
  • 無序列表項 三

5.2. 有序列表

有序列表則使用數位接著一個英文句點。

程式碼:

  1. 1.有序列表項
  2. 2.有序列表項
  3. 3.有序列表項

顯示效果:

  1. 有序列表項 一
  2. 有序列表項 二
  3. 有序列表項 三

5.3. 定義型列表

語法說明:

定義型列表由名詞和解釋組成。一行寫上定義,緊跟一行寫上解釋。解釋的寫法:緊跟一個縮排(Tab)

程式碼:

  1. Markdown
  2. :輕量級文字標示語言,可以轉換成htmlpdf等格式(左側有一個可見的冒號和四個不可見的空格)
  3. 程式碼塊2
  4. :這是程式碼塊的定義(左側有一個可見的冒號和四個不可見的空格)
  5. 程式碼塊(左側有八個不可見的空格)

顯示效果:

Markdown
輕量級文字標示語言,可以轉換成html,pdf等格式
程式碼塊 2

這是程式碼塊的定義

  1. 程式碼塊(左側有八個不可見的空格)

5.3. 列表縮排

語法說明:

列表專案標記通常是放在最左邊,但是其實也可以縮排,最多 3 個空格,專案標記後面則一定要接著至少一個空格或製表符。

要讓列表看起來更漂亮,你可以把內容用固定的縮排整理好(顯示效果與程式碼一致):

  • 輕輕的我走了, 正如我輕輕的來; 我輕輕的招手, 作別西天的雲彩。
    那河畔的金柳, 是夕陽中的新娘; 波光裡的艷影, 在我的心頭蕩漾。
    軟泥上的青荇, 油油的在水底招搖; 在康河的柔波裡, 我甘心做一條水草!
  • 那榆蔭下的一潭, 不是清泉, 是天上虹; 揉碎在浮藻間, 沉澱著彩虹似的夢。
    尋夢?撐一支長篙, 向青草更青處漫溯; 滿載一船星輝, 在星輝斑斕裡放歌。
    但我不能放歌, 悄悄是別離的笙簫; 夏虫也為我沉默, 沉默是今晚的康橋!
    悄悄的我走了, 正如我悄悄的來; 我揮一揮衣袖, 不帶走一片雲彩。

但是如果你懶,那也行:
程式碼:

  1. *輕輕的我走了,正如我輕輕的來;我輕輕的招手,作別西天的雲彩。
  2. 那河畔的金柳,是夕陽中的新娘;波光裡的艷影,在我的心頭蕩漾。
  3. 軟泥上的青荇,油油的在水底招搖;在康河的柔波裡,我甘心做一條水草!
  4. *那榆蔭下的一潭,不是清泉,是天上虹;揉碎在浮藻間,沉澱著彩虹似的夢。
  5. 尋夢?撐一支長篙,向青草更青處漫溯;滿載一船星輝,在星輝斑斕裡放歌。
  6. 但我不能放歌,悄悄是別離的笙簫;夏虫也為我沉默,沉默是今晚的康橋!
  7. 悄悄的我走了,正如我悄悄的來;我揮一揮衣袖,不帶走一片雲彩。

顯示效果:

  • 輕輕的我走了, 正如我輕輕的來; 我輕輕的招手, 作別西天的雲彩。
    那河畔的金柳, 是夕陽中的新娘; 波光裡的艷影, 在我的心頭蕩漾。
    軟泥上的青荇, 油油的在水底招搖; 在康河的柔波裡, 我甘心做一條水草!
  • 那榆蔭下的一潭, 不是清泉, 是天上虹; 揉碎在浮藻間, 沉澱著彩虹似的夢。
    尋夢?撐一支長篙, 向青草更青處漫溯; 滿載一船星輝, 在星輝斑斕裡放歌。
    但我不能放歌, 悄悄是別離的笙簫; 夏虫也為我沉默, 沉默是今晚的康橋!
    悄悄的我走了, 正如我悄悄的來; 我揮一揮衣袖, 不帶走一片雲彩。

5.4. 包含段落的列表

語法說明:

列表專案可以包含多個段落,每個專案下的段落都必須縮排 4 個空格或是 1 個製表符(顯示效果與程式碼一致):

  • 輕輕的我走了, 正如我輕輕的來; 我輕輕的招手, 作別西天的雲彩。
    那河畔的金柳, 是夕陽中的新娘; 波光裡的艷影, 在我的心頭蕩漾。
    軟泥上的青荇, 油油的在水底招搖; 在康河的柔波裡, 我甘心做一條水草!

    那榆蔭下的一潭, 不是清泉, 是天上虹; 揉碎在浮藻間, 沉澱著彩虹似的夢。
    尋夢?撐一支長篙, 向青草更青處漫溯; 滿載一船星輝, 在星輝斑斕裡放歌。
    但我不能放歌, 悄悄是別離的笙簫; 夏虫也為我沉默, 沉默是今晚的康橋!

  • 悄悄的我走了, 正如我悄悄的來; 我揮一揮衣袖, 不帶走一片雲彩。

如果你每行都有縮排,看起來會看好很多,當然,再次地,如果你很懶惰,Markdown 也允許:

程式碼:

  1. *輕輕的我走了,正如我輕輕的來;我輕輕的招手,作別西天的雲彩。
  2. 那河畔的金柳,是夕陽中的新娘;波光裡的艷影,在我的心頭蕩漾。
  3. 軟泥上的青荇,油油的在水底招搖;在康河的柔波裡,我甘心做一條水草!
  4. 那榆蔭下的一潭,不是清泉,是天上虹;揉碎在浮藻間,沉澱著彩虹似的夢。
  5. 尋夢?撐一支長篙,向青草更青處漫溯;滿載一船星輝,在星輝斑斕裡放歌。
  6. 但我不能放歌,悄悄是別離的笙簫;夏虫也為我沉默,沉默是今晚的康橋!
  7. *悄悄的我走了,正如我悄悄的來;我揮一揮衣袖,不帶走一片雲彩。

顯示效果:

  • 輕輕的我走了, 正如我輕輕的來; 我輕輕的招手, 作別西天的雲彩。
    那河畔的金柳, 是夕陽中的新娘; 波光裡的艷影, 在我的心頭蕩漾。
    軟泥上的青荇, 油油的在水底招搖; 在康河的柔波裡, 我甘心做一條水草!

    那榆蔭下的一潭, 不是清泉, 是天上虹; 揉碎在浮藻間, 沉澱著彩虹似的夢。
    尋夢?撐一支長篙, 向青草更青處漫溯; 滿載一船星輝, 在星輝斑斕裡放歌。
    但我不能放歌, 悄悄是別離的笙簫; 夏虫也為我沉默, 沉默是今晚的康橋!

  • 悄悄的我走了, 正如我悄悄的來; 我揮一揮衣袖, 不帶走一片雲彩。

5.5. 包含參照的列表

語法說明:

如果要在列表專案內放進參照,那 > 就需要縮排:

程式碼:

  1. *閱讀的方法:
  2. >開啟書本。
  3. >開啟電燈。

顯示效果:

  • 閱讀的方法:

    開啟書本。
    開啟電燈。

5.6. 包含程式碼區塊的參照

語法說明:
如果要放程式碼區塊的話,該區塊就需要縮排兩次,也就是 8 個空格或是 2 個製表符:

  • 一列表項包含一個列表區塊:

    1. <程式碼寫在這>

5.7. 一個特殊情況

在特殊情況下,專案列表很可能會不小心產生,像是下面這樣的寫法:

  1. 1986.What a great season.

會顯示成:

  1. What a great season.

換句話說,也就是在行首出現數位-句點-空白,要避免這樣的狀況,你可以在句點前面加上反斜槓:

  1. 1986. What a great season.

會顯示成:

1986. What a great season.


6. 參照

語法說明:

參照需要在被參照的文字前加上>符號。

程式碼:

  1. >這是一個有兩段文字的參照,
  2. >無意義的佔行文字1.
  3. >無意義的佔行文字2.
  4. >
  5. >無意義的佔行文字3.
  6. >無意義的佔行文字4.

顯示效果:

這是一個有兩段文字的參照,
無意義的佔行文字1.
無意義的佔行文字2.

無意義的佔行文字3.
無意義的佔行文字4.

Markdown 也允許你偷懶只在整個段落的第一行最前面加上 > :

程式碼:

  1. >這是一個有兩段文字的參照,
  2. 無意義的佔行文字1.
  3. 無意義的佔行文字2.
  4. >無意義的佔行文字3.
  5. 無意義的佔行文字4.

顯示效果:

這是一個有兩段文字的參照,
無意義的佔行文字1.
無意義的佔行文字2.

無意義的佔行文字3.
無意義的佔行文字4.

6.1. 參照的多層巢狀

區塊參照可以巢狀(例如:參照內的參照),只要根據層次加上不同數量的 > :

程式碼:

  1. >>>請問Markdwon怎麼用?-小白
  2. >>自己看教學!-憤青
  3. >教學在哪?-小白

顯示效果:

請問 Markdwon 怎麼用? - 小白

自己看教學! - 憤青

教學在哪? - 小白

6.2. 參照其它要素

參照的區塊內也可以使用其他的 Markdown 語法,包括標題、列表、程式碼區塊等:

程式碼:

  1. >1.這是第一行列表項。
  2. >2.這是第二行列表項。
  3. >
  4. >給出一些例子程式碼:
  5. >
  6. >return shell_exec("echo $input | $markdown_script");

顯示效果:

  1. 這是第一行列表項。
  2. 這是第二行列表項。

給出一些例子程式碼:

  1. return shell_exec("echo $input | $markdown_script");

7. 插入影象

圖片的建立方式與超連結相似,而且和超連結一樣也有兩種寫法,行內式和參考式寫法。

語法中圖片Alt的意思是如果圖片因為某些原因不能顯示,就用定義的圖片Alt文字來代替圖片。 圖片Title則和連結中的Title一樣,表示滑鼠懸停與圖片上時出現的文字。 Alt 和 Title 都不是必須的,可以省略,但建議寫上。

7.1. 行內式

語法說明:![圖片Alt](圖片地址 “圖片Title”)

程式碼:

  1. 美麗花兒:
  2. ![美麗花兒](http://ww2.sinaimg.cn/large/56d258bdjw1eugeubg8ujj21kw16odn6.jpg "美麗花兒")

顯示效果:

美麗花兒:

7.2. 參考式

語法說明:

在文件要插入圖片的地方寫![圖片Alt][標記]

在文件的最後寫上[標記]:圖片地址 “Title”

程式碼:

  1. 美麗花兒:
  2. ![美麗花兒][flower]
  3. [flower]:http://ww2.sinaimg.cn/large/56d258bdjw1eugeubg8ujj21kw16odn6.jpg "美麗花兒"

顯示效果:

美麗花兒:


8. 內容目錄

在段落中填寫 [TOC] 以顯示全文內容的目錄結構。

效果參見最上方的目錄


9. 註腳

語法說明:

在需要新增註腳的文字後加上註腳名字[^註腳名字],稱為加註。 然後在文字的任意位置(一般在最後)新增註腳,註腳前必須有對應的註腳名字。

注意:經測試註腳與註腳之間必須空一行,不然會失效。成功後會發現,即使你沒有把註腳寫在文末,經Markdown轉換後,也會自動歸類到文章的最後。

程式碼:

  1. 使用Markdown[^1]可以效率的書寫文件,直接轉換成 HTML[^2],你可以使用linuxidc[^Le]編輯器進行書寫。
  2. [^1]:Markdown是一種純文字標示語言
  3. [^2]:HyperTextMarkupLanguage超文件標示語言
  4. [^Le]:開源筆記平台,支援Markdown和筆記直接發為博文

顯示效果:

使用 Markdown1可以效率的書寫文件, 直接轉換成 HTML2, 你可以使用 linuxidc3 編輯器進行書寫。

註:註腳自動被搬運到最後面,請到文章末尾檢視,並且註腳後方的連結可以直接跳轉回到加註的地方。


10. LaTeX 公式

10.1. $ 表示行內公式:

程式碼:

  1. 質能守恆方程可以用一個很簡潔的方程式 $E=mc^2$ 來表達。

顯示效果:

質能守恆方程可以用一個很簡潔的方程式 E=mc 2   E=mc2 來表達。

10.2 $$ 表示整行公式:

程式碼:

  1. $$sum_{i=1}^n a_i=0$$
  2. $$f(x_1,x_x,ldots,x_n)= x_1^2+ x_2^2+ cdots + x_n^2 $$
  3. $$sum^{j-1}_{k=0}{widehat{gamma}_{kj} z_k}$$

顯示效果:

 i=1 n a i =0 ∑i=1nai=0

 

f(x 1 ,x x ,,x n )=x 2 1 +x 2 2 +?+x 2 n  f(x1,xx,…,xn)=x12+x22+?+xn2

 

 k=0 j1 γ ˆ  kj z k  ∑k=0j−1γ^kjzk

 

存取 MathJax 參考更多使用方法。


11. 流程圖

程式碼:

  1. flow
  2. st=>start:Start:>https://www.zybuluo.com
  3. io=>inputoutput: verification
  4. op=>operation:YourOperation
  5. cond=>condition:YesorNo?
  6. sub=>subroutine:YourSubroutine
  7. e=>end
  8. st->io->op->cond
  9. cond(yes)->e
  10. cond(no)->sub->io

顯示效果:

Created with Raphaël 2.1.0StartverificationYour OperationYes or No?EndYour Subroutineyesno

更多語法參考:流程圖語法參考


12 .表格

語法說明:

  1. 不管是哪種方式,第一行為表頭,第二行分隔表頭和主體部分,第三行開始每一行為一個表格行。
  2. 列於列之間用管道符|隔開。原生方式的表格每一行的兩邊也要有管道符。
  3. 第二行還可以為不同的列指定對齊方向。預設為左對齊,在-右邊加上:就右對齊。

程式碼:

簡單方式寫表格:

  1. 學號|姓名|分數
  2. -|-|-
  3. 小明|男|75
  4. 小紅|女|79
  5. 小陸|男|92

原生方式寫表格:

  1. |學號|姓名|分數|
  2. |-|-|-|
  3. |小明|男|75|
  4. |小紅|女|79|
  5. |小陸|男|92|

為表格第二列指定方向:

  1. 產品|價格
  2. -|-:
  3. linuxidc高階賬號|60元/年
  4. linuxidc超級賬號|120元/年

顯示效果:
簡單方式寫表格:

學號姓名分數
小明 75
小紅 79
小陸 92

原生方式寫表格:

學號姓名分數
小明 75
小紅 79
小陸 92

為表格第二列指定方向:

產品價格
linuxidc 高階賬號 60元/年
linuxidc 超級賬號 120元/年

13. 分隔線

你可以在一行中用三個以上的星號、減號、底線來建立一個分隔線,行內不能有其他東西。你也可以在星號或是減號中間插入空格。下面每種寫法都可以建立分隔線:

程式碼:

  1. ***
  2. ***
  3. *****
  4. ---
  5. ---------------------------------------

顯示效果都一樣:



14. 程式碼

對於程式設計師來說這個功能是必不可少的,插入程式程式碼的方式有兩種,一種是利用縮排(Tab), 另一種是利用”`”符號(一般在ESC鍵下方)包裹程式碼。

語法說明:

  1. 插入行內程式碼,即插入一個單詞或者一句程式碼的情況,使用`code`這樣的形式插入。
  2. 插入多行程式碼,可以使用縮排或者“` code “`,具體看範例。

注意: 縮排式插入前方必須有空行

8.1. 行內式

程式碼:

  1. C語言裡的函數`scanf()`怎麼使用?

顯示效果:

C語言裡的函數 scanf() 怎麼使用?

8.2. 縮排式多行程式碼

縮排 4 個空格或是 1 個製表符

一個程式碼區塊會一直持續到沒有縮排的那一行(或是檔案結尾)。

程式碼:

  1. #include<stdio.h>
  2. int main(void)
  3. {
  4. printf("Hello worldn");
  5. }

顯示效果:

  1. #include<stdio.h>
  2. int main(void)
  3. {
  4. printf("Hello worldn");
  5. }

8.3. 用六個`包裹多行程式碼

程式碼:

  1. ```
  2. #include <stdio.h>
  3. int main(void)
  4. {
  5. printf("Hello worldn");
  6. }
  7. 、、、

顯示效果:

  1. #include<stdio.h>
  2. int main(void)
  3. {
  4. printf("Hello worldn");
  5. }

8.4. HTML 原始碼

在程式碼區塊裡面, & 、 < 和 > 會自動轉成 HTML 實體,這樣的方式讓你非常容易使用 Markdown 插入範例用的 HTML 原始碼,只需要複製貼上,剩下的 Markdown 都會幫你處理,例如:

程式碼:

第一個例子:

  1. <divclass="footer">
  2. © 2004 Foo Corporation
  3. </div>

第二個例子:

  1. <table>
  2. <tr>
  3. <throwspan="2">值班人員</th>
  4. <th>星期一</th>
  5. <th>星期二</th>
  6. <th>星期三</th>
  7. </tr>
  8. <tr>
  9. <td>李強</td>
  10. <td>張明</td>
  11. <td>王平</td>
  12. </tr>
  13. </table>

顯示效果:

第一個例子:

© 2004 Foo Corporation

第二個例子:

值班人員星期一星期二星期三
李強 張明 王平

 

本文永久更新連結地址http://www.linuxidc.com/Linux/2017-11/148730.htm


IT145.com E-mail:sddin#qq.com