Markdown語法入門

ARM的程式設計師敲著詩歌的夢發表於2020-04-04

更新記錄

版本 時間 修訂內容
1.0 2018-4-5 完善了“表格”這一節

寫在前面: 若沒有特別說明,則以CSDN線上編輯器為例,不同的編輯器或平臺也許效果不一樣。

關於Markdown語法的文章是汗牛充棟,一搜一大片。這裡我不打算寫一篇大而全的文章,而是提綱挈領,讓新手快速入門。

Markdown 是什麼

Markdown 是一種輕量級標記語言,創始人為約翰·格魯伯(John Gruber)。它允許人們使用易讀易寫的純文字格式編寫文件,然後轉換成有效的 XHTML(或者 HTML)文件。這種語言吸收了很多在電子郵件中已有的純文字標記的特性。

基本語法

標題

一個到多個#,然後空格,最後是文字。

# 標題H1
## 標題H2
### 標題H3
#### 標題H4
##### 標題H5
###### 標題H6

以上文字轉換後如下:

這裡寫圖片描述

列表

無序列表

提示符(*或者-或者+),然後是空格,最後是文字。敲擊回車的時候,會自動出現新提示符。想要結束列表,連續敲兩下回車即可。

+ A
+ B
+ C

以上文字轉換後得到:
這裡寫圖片描述

有序列表

先是數字,然後是.,再然後是空格,最後是文字。敲擊回車的時候,會自動出現新序號。想要結束列表,連續敲兩下回車即可。

1. a
2. b
3. b

以上文字轉換後得到:
這裡寫圖片描述

程式碼

程式碼塊

先敲Tab鍵,然後寫程式碼。連續敲兩個回車則結束程式碼塊。注意:程式碼塊開始前需要有一個空行。

int a = 100;
++a;

行內程式碼

可以通過兩個反引號(Tab 鍵上方、數字 1 左側的那個按鍵)插入行內程式碼。
`int a = 100;`
轉換後是:

int a = 100;

分隔線

在一行中使用三個或更多的-或者*或者_ ,然後換行。
---(回車)

效果如下:


強調

斜體

用兩個*把要強調的內容包含起來,則表現為斜體。
*我是斜體*
效果如下:

我是斜體

粗體

用兩個**把要強調的內容包含起來,則表現為粗體。
**我是粗體**
效果如下:

我是粗體

引用

單行引用

在行首使用 >符號,就可以將其後的內容標記為引用。
>春風得意馬蹄疾,一日看盡長安花
效果如下:

春風得意馬蹄疾,一日看盡長安花

多行引用

如果僅在第一行使用 >, 後面相鄰的行即使省略 >,也會變成引用內容。
>在天願作比翼鳥,在地願為連理枝。
天長地久有時盡,此恨綿綿無絕期。

以上文字被轉換為:

在天願作比翼鳥,在地願為連理枝。
天長地久有時盡,此恨綿綿無絕期。

要結束引用,在引用的末尾連續敲兩個回車即可。

巢狀的引用

用多個>就可以表示巢狀的引用。
>子曰
>>學而時習之,不亦說乎?有朋自遠方來,不亦樂乎?
效果如下:

子曰

學而時習之,不亦說乎?有朋自遠方來,不亦樂乎?

引用中可以使用其他語法

引用的內容也可以使用其他語法,比如標題、列表、強調等。

>1. 我是列表
>2. 我是列表
>3. 我是列表
> 
>*我是斜體*
>**我是粗體**
>
>        int a = 0;
>        int b = 1;
>        int c = a + b; 

效果如下:

  1. 我是列表
  2. 我是列表
  3. 我是列表

我是斜體
我是粗體

   int a = 0;
   int b = 1;
   int c = a + b; 

超連結

行內式

格式為:
[連結文字](地址 '標題')
:地址與標題之間有一個空格。

例如:
[百度首頁](https://www.baidu.com/ "跳轉到百度首頁")

效果如下:

百度首頁

當你把滑鼠停留在連結名稱上,則會顯示出標題。如下圖:
這裡寫圖片描述
:在不需要的情況下,標題可以省略。

參考式

參考式超連結一般用在學術論文上,或者某個連結在文章中多處被引用的情況,這樣便於對連結統一管理。

參考式連結的寫法相當於把行內式拆分成兩部分,並通過一個連結標記來連線兩部分。

語法說明:
參考式連結分為兩部分:首先寫
[連結文字][連結標記]

然後在文字的任意位置寫
[連結標記]:地址 "標題"

如果連結文字本身可以作連結標記,你也可以把上面兩行分別寫為:
[連結文字][]
[連結文字]:地址 "標題"

例如:
我經常去的幾個網站是[GitHub][1],[知乎][2],[簡書][3]。

[1]:https://github.com "github.com"
[2]:https://www.zhihu.com "zhihu.com"
[3]:http://www.jianshu.com "jianshu.com"
效果:

我經常去的幾個網站是GitHub知乎簡書

如果把連結文字本身作為連結標記,則寫為:
我經常去的幾個網站是[GitHub][],[知乎][],[簡書][]。

[GitHub]:https://github.com "github.com"
[知乎]:https://www.zhihu.com "zhihu.com"
[簡書]:http://www.jianshu.com "jianshu.com"

效果:
我經常去的幾個網站是GitHub知乎簡書

圖片

插入圖片的語法和插入超連結的語法基本一致,只是在最前面多一個!。也分為行內式和參考式兩種。
行內式: ![猴子](https://i.iter01.com/images/c43a147fb905cab1cde2d932e6de5697361506fc4b3172ca639b7859038055e1.jpg "你看我萌嗎")

猴子

參考式1:
![猴子][4]

[4]:https://i.iter01.com/images/c43a147fb905cab1cde2d932e6de5697361506fc4b3172ca639b7859038055e1.jpg "參考式1——你看我萌嗎"

猴子

參考式2(把連結文字本身作為連結標記):
![猴子][]

[猴子]:https://i.iter01.com/images/c43a147fb905cab1cde2d932e6de5697361506fc4b3172ca639b7859038055e1.jpg "參考式2——你看我萌嗎"

猴子

轉義字元

Markdown可以利用反斜線\來插入一些在語法中有其它意義的符號。
例如:想把星號加在文字兩側(但不是斜體),你可以在星號的前面加上反斜線:
\*literal asterisks\*
效果:
*literal asterisks*

Markdown 支援在下面這些符號前面加上反斜線來插入普通的符號:

\ 反斜線
` 反引號
* 星號
_ 下劃線
{} 大括號
[] 方括號
() 括號
# 井號
+ 加號
- 減號
. 英文句點
! 感嘆號

擴充套件語法

刪除線

用兩個~~把文字包起來。

~~我是刪除線~~

效果:
我是刪除線

程式碼塊和語法高亮

與原來使用縮排來新增程式碼塊的語法不同,這裡使用一對三個反引號
來包含多行程式碼:

```
    int a = 0;
    a++;
```


效果:

    int a = 0;
    a++;

在上面的語法基礎上,在第一個三個反引號 之後新增程式碼的語言名稱,即可實現語法高亮。

```c
    int a = 0;
    a++;
```


效果:

    int a = 0;
    a++;

表格

基本格式

使用| 來分隔不同的單元格,使用-來分隔表頭和其他行。
name | age
---- | ---
Leslie| 12
Mike | 32
效果:

name age
Leslie 12
Mike 32

指定對齊方式

在表頭下方的分隔線----標記中加入:,即可指定對齊方式。

:---代表左對齊;
:---: 代表居中對齊;
---:代表右對齊。

left | center | right 
:---:| :----  |------:
| aaaaaaaaa| bbbbbbbbbbbb |ccccccccccccccccccccc |
| a        | b            | c     |

效果(以MarkdownPad編輯器為例):
這裡寫圖片描述

如果不使用對齊標記,單元格中的內容預設左對齊,表頭單元格中的內容預設居中對齊(MarkdownPad就是這樣,不同的實現可能會有不同的效果)。

表格內換行

可以用<br>表示換行。

Name  | Lucky Number
----  | ---
Leslie| 2<br>7
Mike  | 3<br>5<br>8

效果:

Name Lucky Number
Leslie 2
7
Mike 3
5
8

表格內巢狀

同引用一樣,表格的內容也可以使用其他語法,比如公式、引用、行內程式碼等。

Name |  *abcdef*
---- |-----
Leslie| `int a=18;`
Mike |  $\log_28$
Ann| >青霄有路終須到,金榜無名誓不歸

效果:

Name abcdef
Leslie int a=18;
Mike log28
\log_28
Ann
青霄有路終須到,金榜無名誓不歸

內嵌HTML

下劃線

Markdown 並無下劃線的原生語法,因為會和連結的預設樣式產生混淆。如果你非要給文字加個下劃線,也有辦法。
<u></u>把文字括起來,則有下劃線效果。

<u>我有下劃線,可是我不是連結</u>
效果:

我有下劃線,可是我不是連結

字型、字號、顏色

例1:指定字型
<font face="隸書"> 我是隸書 </font>
效果:
我是隸書

例2:指定字號
size的取值範圍:從 1 到 7 ,瀏覽器預設值是 3。
<font size=5 > 我的size = 5 </font>
效果:

我的size = 5

例3:指定顏色
<font color=GreenYellow> 我的color=GreenYellow </font>
效果:

我的color=GreenYellow
關於更多的顏色,可以參考我的博文
Markdown編輯器攻略——字型,字號,顏色

背景色

Markdown本身不支援背景色設定,需要採用內建html的方式實現。藉助 tabletrtd 等表格標籤的 bgcolor 屬性來實現背景色功能。

舉例1:
<table><tr><td bgcolor=orange> 背景色是橙色 </td></tr></table>
效果:

背景色是橙色

舉例2:
<table><tr><td bgcolor=green> <font size = 4 color=yellow> Hello World </font> </td></tr></table>
效果:

Hello World

【完】


參考資料
http://xianbai.me/learn-md/article/syntax/horizontal-rule.html
http://blog.csdn.net/u010177286/article/details/50358720