2021-05-12 14:32:11
Markdown 語法手冊 (完整整理版)
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. 斜體和粗體
程式碼:
*斜體*或_斜體_
**粗體**
***加粗斜體***
~~刪除線~~
顯示效果:
- 這是一段斜體
- 這是一段粗體
- 這是一段加粗斜體
這是一段刪除線
2. 分級標題
第一種寫法:
這是一個一級標題
============================
這是一個二級標題
--------------------------------------------------
第二種寫法:
# 一級標題
## 二級標題
### 三級標題
#### 四級標題
##### 五級標題
###### 六級標題
由於用了[TOC]標記編輯器會把所有標題寫到目錄大綱中,在這裡寫的演示標題也會列進去,所以就不演示了。同學們自己在編輯器中觀察,很簡單,一級標題字號最大,依級遞減。
3. 超連結
Markdown 支援兩種形式的連結語法: 行內式和參考式兩種形式,行內式一般使用較多。
3.1. 行內式
語法說明:
- []裡寫連結文字,()裡寫連結地址, ()中的”“中可以為連結指定title屬性,title屬性可加可不加。title屬性的效果是滑鼠懸停在連結上會出現指定的 title文字。[連結文字](連結地址 “連結標題”)’這樣的形式。連結地址與連結標題前有一個空格。
程式碼:
歡迎來到[Linux公社](http://www.linuxidc.com)
歡迎來到[Linux公社](http://www.linuxidc.com "Linux公社")
顯示效果:
歡迎來到Linux公社
歡迎來到Linux公社
3.2. 參考式
參考式超連結一般用在學術論文上面,或者另一種情況,如果某一個連結在文章中多處使用,那麼使用參照 的方式建立連結將非常好,它可以讓你對連結進行統一的管理。
語法說明:
參考式連結分為兩部分,文中的寫法 [連結文字][連結標記],在文字的任意位置新增[連結標記]:連結地址 “連結標題”,連結地址與連結標題前有一個空格。
如果連結文字本身可以做為連結標記,你也可以寫成[連結文字][]
[連結文字]:連結地址的形式,見程式碼的最後一行。
程式碼:
我經常去的幾個網站[Google][1]、[linuxidc][2]以及[自己的部落格][3]
[linux公社][2]是一個不錯的[網站][]。
[1]:http://www.google.com "Google"
[2]:http://www.linuxidc.com "Leanote"
[3]:http://http://www.linuxidc.com "Linux公社"
[網站]:http://http://www.linuxidc.com
顯示效果:
我經常去的幾個網站Google、linuxidc以及自己的部落格
Linux公社 是一個不錯的網站。
3.3. 自動連結
語法說明:
Markdown 支援以比較簡短的自動連結形式來處理網址和電子郵件信箱,只要是用<>包起來, Markdown 就會自動把它轉成連結。一般網址的連結文字就和連結地址一樣,例如:
程式碼:
<http://example.com/>
<address@example.com>
顯示效果:
http://example.com/
address@example.com
4. 錨點
網頁中,錨點其實就是頁內超連結,也就是連結本文件內部的某些元素,實現當前頁面中的跳轉。比如我這裡寫下一個錨點,點選回到目錄,就能跳轉到目錄。 在目錄中點選這一節,就能跳過來。還有下一節的註腳。這些根本上都是用錨點來實現的。
注意:
1. Markdown Extra 只支援在標題後插入錨點,其它地方無效。
2. linuxidc 編輯器右側顯示效果區域暫時不支援錨點跳轉,所以點來點去發現沒有跳轉不必驚慌,但是你發布成筆記或博文後是支援跳轉的。
語法描述:
在你準備跳轉到的指定標題後插入錨點{#標記},然後在文件的其它地方寫上連線到錨點的連結。
程式碼:
## 0. 目錄{#index}
跳轉到[目錄](#index)
顯示效果:
跳轉到目錄
5. 列表
5.1. 無序列表
使用 *,+,- 表示無序列表。
程式碼:
-無序列表項一
-無序列表項二
-無序列表項三
顯示效果:
- 無序列表項 一
- 無序列表項 二
- 無序列表項 三
5.2. 有序列表
有序列表則使用數位接著一個英文句點。
程式碼:
1.有序列表項一
2.有序列表項二
3.有序列表項三
顯示效果:
- 有序列表項 一
- 有序列表項 二
- 有序列表項 三
5.3. 定義型列表
語法說明:
定義型列表由名詞和解釋組成。一行寫上定義,緊跟一行寫上解釋。解釋的寫法:緊跟一個縮排(Tab)
程式碼:
Markdown
:輕量級文字標示語言,可以轉換成html,pdf等格式(左側有一個可見的冒號和四個不可見的空格)
程式碼塊2
:這是程式碼塊的定義(左側有一個可見的冒號和四個不可見的空格)
程式碼塊(左側有八個不可見的空格)
顯示效果:
- Markdown
- 輕量級文字標示語言,可以轉換成html,pdf等格式
- 程式碼塊 2
-
這是程式碼塊的定義
程式碼塊(左側有八個不可見的空格)
5.3. 列表縮排
語法說明:
列表專案標記通常是放在最左邊,但是其實也可以縮排,最多 3 個空格,專案標記後面則一定要接著至少一個空格或製表符。
要讓列表看起來更漂亮,你可以把內容用固定的縮排整理好(顯示效果與程式碼一致):
- 輕輕的我走了, 正如我輕輕的來; 我輕輕的招手, 作別西天的雲彩。
那河畔的金柳, 是夕陽中的新娘; 波光裡的艷影, 在我的心頭蕩漾。
軟泥上的青荇, 油油的在水底招搖; 在康河的柔波裡, 我甘心做一條水草! - 那榆蔭下的一潭, 不是清泉, 是天上虹; 揉碎在浮藻間, 沉澱著彩虹似的夢。
尋夢?撐一支長篙, 向青草更青處漫溯; 滿載一船星輝, 在星輝斑斕裡放歌。
但我不能放歌, 悄悄是別離的笙簫; 夏虫也為我沉默, 沉默是今晚的康橋!
悄悄的我走了, 正如我悄悄的來; 我揮一揮衣袖, 不帶走一片雲彩。
但是如果你懶,那也行:
程式碼:
*輕輕的我走了,正如我輕輕的來;我輕輕的招手,作別西天的雲彩。
那河畔的金柳,是夕陽中的新娘;波光裡的艷影,在我的心頭蕩漾。
軟泥上的青荇,油油的在水底招搖;在康河的柔波裡,我甘心做一條水草!
*那榆蔭下的一潭,不是清泉,是天上虹;揉碎在浮藻間,沉澱著彩虹似的夢。
尋夢?撐一支長篙,向青草更青處漫溯;滿載一船星輝,在星輝斑斕裡放歌。
但我不能放歌,悄悄是別離的笙簫;夏虫也為我沉默,沉默是今晚的康橋!
悄悄的我走了,正如我悄悄的來;我揮一揮衣袖,不帶走一片雲彩。
顯示效果:
- 輕輕的我走了, 正如我輕輕的來; 我輕輕的招手, 作別西天的雲彩。
那河畔的金柳, 是夕陽中的新娘; 波光裡的艷影, 在我的心頭蕩漾。
軟泥上的青荇, 油油的在水底招搖; 在康河的柔波裡, 我甘心做一條水草! - 那榆蔭下的一潭, 不是清泉, 是天上虹; 揉碎在浮藻間, 沉澱著彩虹似的夢。
尋夢?撐一支長篙, 向青草更青處漫溯; 滿載一船星輝, 在星輝斑斕裡放歌。
但我不能放歌, 悄悄是別離的笙簫; 夏虫也為我沉默, 沉默是今晚的康橋!
悄悄的我走了, 正如我悄悄的來; 我揮一揮衣袖, 不帶走一片雲彩。
5.4. 包含段落的列表
語法說明:
列表專案可以包含多個段落,每個專案下的段落都必須縮排 4 個空格或是 1 個製表符(顯示效果與程式碼一致):
-
輕輕的我走了, 正如我輕輕的來; 我輕輕的招手, 作別西天的雲彩。
那河畔的金柳, 是夕陽中的新娘; 波光裡的艷影, 在我的心頭蕩漾。
軟泥上的青荇, 油油的在水底招搖; 在康河的柔波裡, 我甘心做一條水草!那榆蔭下的一潭, 不是清泉, 是天上虹; 揉碎在浮藻間, 沉澱著彩虹似的夢。
尋夢?撐一支長篙, 向青草更青處漫溯; 滿載一船星輝, 在星輝斑斕裡放歌。
但我不能放歌, 悄悄是別離的笙簫; 夏虫也為我沉默, 沉默是今晚的康橋! -
悄悄的我走了, 正如我悄悄的來; 我揮一揮衣袖, 不帶走一片雲彩。
如果你每行都有縮排,看起來會看好很多,當然,再次地,如果你很懶惰,Markdown 也允許:
程式碼:
*輕輕的我走了,正如我輕輕的來;我輕輕的招手,作別西天的雲彩。
那河畔的金柳,是夕陽中的新娘;波光裡的艷影,在我的心頭蕩漾。
軟泥上的青荇,油油的在水底招搖;在康河的柔波裡,我甘心做一條水草!
那榆蔭下的一潭,不是清泉,是天上虹;揉碎在浮藻間,沉澱著彩虹似的夢。
尋夢?撐一支長篙,向青草更青處漫溯;滿載一船星輝,在星輝斑斕裡放歌。
但我不能放歌,悄悄是別離的笙簫;夏虫也為我沉默,沉默是今晚的康橋!
*悄悄的我走了,正如我悄悄的來;我揮一揮衣袖,不帶走一片雲彩。
顯示效果:
-
輕輕的我走了, 正如我輕輕的來; 我輕輕的招手, 作別西天的雲彩。
那河畔的金柳, 是夕陽中的新娘; 波光裡的艷影, 在我的心頭蕩漾。
軟泥上的青荇, 油油的在水底招搖; 在康河的柔波裡, 我甘心做一條水草!那榆蔭下的一潭, 不是清泉, 是天上虹; 揉碎在浮藻間, 沉澱著彩虹似的夢。
尋夢?撐一支長篙, 向青草更青處漫溯; 滿載一船星輝, 在星輝斑斕裡放歌。
但我不能放歌, 悄悄是別離的笙簫; 夏虫也為我沉默, 沉默是今晚的康橋! -
悄悄的我走了, 正如我悄悄的來; 我揮一揮衣袖, 不帶走一片雲彩。
5.5. 包含參照的列表
語法說明:
如果要在列表專案內放進參照,那 > 就需要縮排:
程式碼:
*閱讀的方法:
>開啟書本。
>開啟電燈。
顯示效果:
-
閱讀的方法:
開啟書本。
開啟電燈。
5.6. 包含程式碼區塊的參照
語法說明:
如果要放程式碼區塊的話,該區塊就需要縮排兩次,也就是 8 個空格或是 2 個製表符:
-
一列表項包含一個列表區塊:
<程式碼寫在這>
5.7. 一個特殊情況
在特殊情況下,專案列表很可能會不小心產生,像是下面這樣的寫法:
1986.What a great season.
會顯示成:
- What a great season.
換句話說,也就是在行首出現數位-句點-空白,要避免這樣的狀況,你可以在句點前面加上反斜槓:
1986. What a great season.
會顯示成:
1986. What a great season.
6. 參照
語法說明:
參照需要在被參照的文字前加上>符號。
程式碼:
>這是一個有兩段文字的參照,
>無意義的佔行文字1.
>無意義的佔行文字2.
>
>無意義的佔行文字3.
>無意義的佔行文字4.
顯示效果:
這是一個有兩段文字的參照,
無意義的佔行文字1.
無意義的佔行文字2.無意義的佔行文字3.
無意義的佔行文字4.
Markdown 也允許你偷懶只在整個段落的第一行最前面加上 > :
程式碼:
>這是一個有兩段文字的參照,
無意義的佔行文字1.
無意義的佔行文字2.
>無意義的佔行文字3.
無意義的佔行文字4.
顯示效果:
這是一個有兩段文字的參照,
無意義的佔行文字1.
無意義的佔行文字2.無意義的佔行文字3.
無意義的佔行文字4.
6.1. 參照的多層巢狀
區塊參照可以巢狀(例如:參照內的參照),只要根據層次加上不同數量的 > :
程式碼:
>>>請問Markdwon怎麼用?-小白
>>自己看教學!-憤青
>教學在哪?-小白
顯示效果:
請問 Markdwon 怎麼用? - 小白
自己看教學! - 憤青
教學在哪? - 小白
6.2. 參照其它要素
參照的區塊內也可以使用其他的 Markdown 語法,包括標題、列表、程式碼區塊等:
程式碼:
>1.這是第一行列表項。
>2.這是第二行列表項。
>
>給出一些例子程式碼:
>
>return shell_exec("echo $input | $markdown_script");
顯示效果:
- 這是第一行列表項。
- 這是第二行列表項。
給出一些例子程式碼:
return shell_exec("echo $input | $markdown_script");
7. 插入影象
圖片的建立方式與超連結相似,而且和超連結一樣也有兩種寫法,行內式和參考式寫法。
語法中圖片Alt的意思是如果圖片因為某些原因不能顯示,就用定義的圖片Alt文字來代替圖片。 圖片Title則和連結中的Title一樣,表示滑鼠懸停與圖片上時出現的文字。 Alt 和 Title 都不是必須的,可以省略,但建議寫上。
7.1. 行內式
語法說明:![圖片Alt](圖片地址 “圖片Title”)
程式碼:
美麗花兒:
![美麗花兒](http://ww2.sinaimg.cn/large/56d258bdjw1eugeubg8ujj21kw16odn6.jpg "美麗花兒")
顯示效果:
美麗花兒:
7.2. 參考式
語法說明:
在文件要插入圖片的地方寫![圖片Alt][標記]
在文件的最後寫上[標記]:圖片地址 “Title”
程式碼:
美麗花兒:
![美麗花兒][flower]
[flower]:http://ww2.sinaimg.cn/large/56d258bdjw1eugeubg8ujj21kw16odn6.jpg "美麗花兒"
顯示效果:
美麗花兒:
8. 內容目錄
在段落中填寫 [TOC]
以顯示全文內容的目錄結構。
效果參見最上方的目錄
9. 註腳
語法說明:
在需要新增註腳的文字後加上註腳名字[^註腳名字],稱為加註。 然後在文字的任意位置(一般在最後)新增註腳,註腳前必須有對應的註腳名字。
注意:經測試註腳與註腳之間必須空一行,不然會失效。成功後會發現,即使你沒有把註腳寫在文末,經Markdown轉換後,也會自動歸類到文章的最後。
程式碼:
使用Markdown[^1]可以效率的書寫文件,直接轉換成 HTML[^2],你可以使用linuxidc[^Le]編輯器進行書寫。
[^1]:Markdown是一種純文字標示語言
[^2]:HyperTextMarkupLanguage超文件標示語言
[^Le]:開源筆記平台,支援Markdown和筆記直接發為博文
顯示效果:
使用 Markdown1可以效率的書寫文件, 直接轉換成 HTML2, 你可以使用 linuxidc3 編輯器進行書寫。
註:註腳自動被搬運到最後面,請到文章末尾檢視,並且註腳後方的連結可以直接跳轉回到加註的地方。
10. LaTeX 公式
10.1. $ 表示行內公式:
程式碼:
質能守恆方程可以用一個很簡潔的方程式 $E=mc^2$ 來表達。
顯示效果:
質能守恆方程可以用一個很簡潔的方程式 E=mc 2 E=mc2 來表達。
10.2 $$ 表示整行公式:
程式碼:
$$sum_{i=1}^n a_i=0$$
$$f(x_1,x_x,ldots,x_n)= x_1^2+ x_2^2+ cdots + x_n^2 $$
$$sum^{j-1}_{k=0}{widehat{gamma}_{kj} z_k}$$
顯示效果:
存取 MathJax 參考更多使用方法。
11. 流程圖
程式碼:
flow
st=>start:Start:>https://www.zybuluo.com
io=>inputoutput: verification
op=>operation:YourOperation
cond=>condition:YesorNo?
sub=>subroutine:YourSubroutine
e=>end
st->io->op->cond
cond(yes)->e
cond(no)->sub->io
顯示效果:
更多語法參考:流程圖語法參考
12 .表格
語法說明:
- 不管是哪種方式,第一行為表頭,第二行分隔表頭和主體部分,第三行開始每一行為一個表格行。
- 列於列之間用管道符|隔開。原生方式的表格每一行的兩邊也要有管道符。
- 第二行還可以為不同的列指定對齊方向。預設為左對齊,在-右邊加上:就右對齊。
程式碼:
簡單方式寫表格:
學號|姓名|分數
-|-|-
小明|男|75
小紅|女|79
小陸|男|92
原生方式寫表格:
|學號|姓名|分數|
|-|-|-|
|小明|男|75|
|小紅|女|79|
|小陸|男|92|
為表格第二列指定方向:
產品|價格
-|-:
linuxidc高階賬號|60元/年
linuxidc超級賬號|120元/年
顯示效果:
簡單方式寫表格:
學號 | 姓名 | 分數 |
---|---|---|
小明 | 男 | 75 |
小紅 | 女 | 79 |
小陸 | 男 | 92 |
原生方式寫表格:
學號 | 姓名 | 分數 |
---|---|---|
小明 | 男 | 75 |
小紅 | 女 | 79 |
小陸 | 男 | 92 |
為表格第二列指定方向:
產品 | 價格 |
---|---|
linuxidc 高階賬號 | 60元/年 |
linuxidc 超級賬號 | 120元/年 |
13. 分隔線
你可以在一行中用三個以上的星號、減號、底線來建立一個分隔線,行內不能有其他東西。你也可以在星號或是減號中間插入空格。下面每種寫法都可以建立分隔線:
程式碼:
***
***
*****
---
---------------------------------------
顯示效果都一樣:
14. 程式碼
對於程式設計師來說這個功能是必不可少的,插入程式程式碼的方式有兩種,一種是利用縮排(Tab), 另一種是利用”`”符號(一般在ESC鍵下方)包裹程式碼。
語法說明:
- 插入行內程式碼,即插入一個單詞或者一句程式碼的情況,使用`code`這樣的形式插入。
- 插入多行程式碼,可以使用縮排或者“` code “`,具體看範例。
注意: 縮排式插入前方必須有空行
8.1. 行內式
程式碼:
C語言裡的函數`scanf()`怎麼使用?
顯示效果:
C語言裡的函數 scanf()
怎麼使用?
8.2. 縮排式多行程式碼
縮排 4 個空格或是 1 個製表符
一個程式碼區塊會一直持續到沒有縮排的那一行(或是檔案結尾)。
程式碼:
#include<stdio.h>
int main(void)
{
printf("Hello worldn");
}
顯示效果:
#include<stdio.h>
int main(void)
{
printf("Hello worldn");
}
8.3. 用六個`包裹多行程式碼
程式碼:
```
#include <stdio.h>
int main(void)
{
printf("Hello worldn");
}
、、、
顯示效果:
#include<stdio.h>
int main(void)
{
printf("Hello worldn");
}
8.4. HTML 原始碼
在程式碼區塊裡面, & 、 < 和 > 會自動轉成 HTML 實體,這樣的方式讓你非常容易使用 Markdown 插入範例用的 HTML 原始碼,只需要複製貼上,剩下的 Markdown 都會幫你處理,例如:
程式碼:
第一個例子:
<divclass="footer">
© 2004 Foo Corporation
</div>
第二個例子:
<table>
<tr>
<throwspan="2">值班人員</th>
<th>星期一</th>
<th>星期二</th>
<th>星期三</th>
</tr>
<tr>
<td>李強</td>
<td>張明</td>
<td>王平</td>
</tr>
</table>
顯示效果:
第一個例子:
© 2004 Foo Corporation
第二個例子:
值班人員 | 星期一 | 星期二 | 星期三 |
---|---|---|---|
李強 | 張明 | 王平 |
本文永久更新連結地址:http://www.linuxidc.com/Linux/2017-11/148730.htm
相關文章