Markdown語法大全

轉載自:https://www.jianshu.com/p/ebe52d2d468f ,供學習記錄。

說明:現在markDown編譯器和各平臺先支持情況都不太統一,爲了達到一些效果會使用語法超集,但有些平臺支持不好,請自行裁剪。

一、概述

1.1 設計理念

  • Markdown 易於閱讀,方便創作web文檔,利於各平臺無縫分發。
  • Markdown 語法靈感最大的來源還是純文本 email 的格式,完全由標點符號標籤組成的純文本。
  • Markdown 文件應該以純文本形式原樣發佈,不應該包含標記標籤和格式化指令。

1.2 內聯 HTML 語法

  • HTML 是一種發佈格式,Markdown 是一種創作格式
  • Markdown語法集合比較小,只是HTML標籤的一小部分。
  • 對於 Markdown 中未包含的標籤, 可以直接使用 HTML標籤,例如用 HTML <a> 標籤替代 Markdown 的鏈接語法。

1.3 特殊字符自動轉義

  在 HTML 中, 有兩個字符需要特殊對待: < 和 &,左尖括號用於起始標籤。果你想將它們用作字面量, 你必須將它們轉義爲字符實體, 例如&lt;&amp;

二、行內語法講解

2.1 註釋的表述

  • 代碼法

 

<div style='display: none'>
哈哈我是註釋,不會在瀏覽器中顯示。
</div>
  • html註釋

既然支持html語法,那也支持html註釋,快捷鍵 comment + /。

 

<!--哈哈我是註釋,不會在瀏覽器中顯示。-->

<!--
哈哈我是多段註釋,
不會在瀏覽器中顯示。
    -->
  • hack方法

hack方法就是利用markdown的解析原理來實現註釋的。
一般有的markdown解析器不支持上面的註釋方法,這個時候就可以用hack方法。
hack方法比上面2種方法穩定得多,但是語義化太差。

 

[//]: # (哈哈我是最強註釋,不會在瀏覽器中顯示。)
[^_^]: # (哈哈我是最萌註釋,不會在瀏覽器中顯示。)
[//]: <> (哈哈我是註釋,不會在瀏覽器中顯示。)
[comment]: <> (哈哈我是註釋,不會在瀏覽器中顯示。)

2.2 分級標題、任務列表

  • 分級標題

 

# 一級標題
## 二級標題
### 三級標題
#### 四級標題
##### 五級標題
###### 六級標題  <!--最多6級標題-->

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

  • 任務列表

Markdown 語法:

 

- [ ] 任務一 未做任務 `- + 空格 + [ ]`
- [x] 任務二 已做任務 `- + 空格 + [x]`

效果如下:

  • [ ] 任務一 未做任務 - + 空格 + [ ]
  • [x] 任務二 已做任務 - + 空格 + [x]

2.3 縮進、換行、空行、對齊方式

  • 首行縮進

不同特殊佔位符所佔空白是不一樣大的。

 

【1】 &emsp;或&#8195; //全角
【2】 &ensp;或&#8194; //半角
【3】 &nbsp;或&#160;  //半角之半角
  • 換行

由於markdown編輯器的不同,可能在一行字後面,直接換行回車,也能實現換行,但是在Visual Studio Code上,想要換行必須得在一行字後面空兩個格子才行

  • 空行

在編輯的時候有多少個空行(只要這一行只有回車或者space沒有其他的字符就算空行),在渲染之後,只隔着一行

  • 對齊方式

代碼:

 

<center>行中心對齊</center>
<p align="left">行左對齊</p>
<p align="right">行右對齊</p>

顯示效果:

<center>行中心對齊</center>
<p align="left">行左對齊</p>
<p align="right">行右對齊</p>

2.4 斜體、粗體、刪除線、下劃線、背景高亮

  • 代碼:

 

*斜體*或_斜體_
**粗體**
***加粗斜體***
~~刪除線~~
++下劃線++
==背景高亮==
  • 顯示效果:

  斜體   粗體   加粗斜體   刪除線   ++刪除線++   ==背景高亮==

2.5 超鏈接、頁內鏈接、自動鏈接、註腳

  • 行內式

語法說明:

[]裏寫鏈接文字,()裏寫鏈接地址, ()中的""中可以爲鏈接指定title屬性,title屬性可加可不加。title屬性的效果是鼠標懸停在鏈接上會出現指定的 title文字,鏈接地址與title前有一個空格。

代碼:

 

歡迎閱讀 [擇勢勤](https://www.jianshu.com/u/16d77399d3a7 "擇勢勤")

顯示效果:

歡迎閱讀 擇勢勤

  • 參考式

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

語法說明:
參考式鏈接分爲兩部分,文中的寫法 [鏈接文字][鏈接標記],在文本的任意位置添加[鏈接標記]:鏈接地址。

如果鏈接文字本身可以做爲鏈接標記,你也可以寫成[鏈接文字][]
[鏈接文字]:鏈接地址的形式,見代碼的最後一行。

代碼:

 

我經常去的幾個網站[Google][1]、[Leanote][2]。

[1]:http://www.google.com 
[2]:http://www.leanote.com

顯示效果:

我經常去的幾個網站GoogleLeanote

  • 註腳

語法說明:

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

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

代碼:

 

使用 Markdown[^1]可以效率的書寫文檔, 直接轉換成 HTML[^2]。

[^1]:Markdown是一種純文本標記語言

[^2]:HyperText Markup Language 超文本標記語言

顯示效果:

使用 Markdown[1]可以效率的書寫文檔, 直接轉換成 HTML[2]

注:腳註自動被搬運到最後面,請到文章末尾查看,腳註後方的鏈接可以直接跳轉回到加註的地方。

  • 錨點(頁內超鏈接)

網頁中,錨點其實就是頁內超鏈接,也就是鏈接本文檔內部的某些元素,實現當前頁面中的跳轉。比如我這裏寫下一個錨點,點擊回到目錄,就能跳轉到目錄。 在目錄中點擊這一節,就能跳過來。還有下一節的註腳。這些根本上都是用錨點來實現的,只支持在標題後插入錨點,其它地方無效。

代碼:

 

## 0. 目錄{#index}

顯示效果:

跳轉到目錄

  • 自動鏈接

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

代碼:

 

&lt;http://example.com/&gt; &emsp;&emsp; 
&lt;[email protected]&gt;

顯示效果:

<http://example.com/>   
<[email protected]>

2.6 無序列表、有序列表、定義型列表

  • 無序列表
    使用 *,+,- 表示無序列表。
    代碼:

 

* 無序列表項 一
+ 無序列表項 二
- 無序列表項 三

顯示效果:

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

有序列表則使用數字接着一個英文句點。
代碼:

 

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

顯示效果:

  1. 有序列表項 一
  2. 有序列表項 二
  3. 有序列表項 三
  • 定義型列表表

語法說明:

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

代碼

 

:   輕量級文本標記語言(左側有一個可見的冒號和四個不可見的空格)

顯示效果:

Markdown
: 輕量級文本標記語言,可以轉換成html,pdf等格式

2.7 插入圖像

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

Markdown 語法:

 

<center>  <!--開始居中對齊-->

![GitHub set up](http://zh.mweb.im/asset/img/set-up-git.gif "圖片Title")
格式: ![圖片Alt](圖片地址 "圖片Title")
</center> <!--結束居中對齊-->

效果如下:

 

GitHub set up

2.8 多級引用

語法說明:

引用需要在被引用的文本前加上>符號和空格,允許多層嵌套,也允許你偷懶只在整個段落的第一行最前面加上 > 。

代碼:

 

>>> 請問 Markdwon 怎麼用? - 小白
>> 自己看教程! - 憤青
> 教程在哪? - 小白

顯示效果:

請問 Markdwon 怎麼用? - 小白

自己看教程! - 憤青

教程在哪? - 小白

2.9 轉義字符、字體、字號、顏色

  • 轉義字符

Markdown中的轉義字符爲\,轉義的有:

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

  • 字體、字號、顏色

代碼:

 

<font face="黑體">我是黑體字</font>
<font face="微軟雅黑">我是微軟雅黑</font>
<font face="STCAIYUN">我是華文彩雲</font>
<font color=#0099ff size=12 face="黑體">黑體</font>
<font color=gray size=5>gray</font>
<font color=#00ffff size=3>null</font>

顯示效果:

<font face="黑體">我是黑體字</font>
<font face="微軟雅黑">我是微軟雅黑</font>
<font face="STCAIYUN">我是華文彩雲</font>
<font color=#0099ff size=12 face="黑體">黑體</font>
<font color=gray size=5>gray</font>
<font color=#00ffff size=3>null</font>

三、塊語法講解

3.1 內容目錄

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

 

[TOC]

效果參見最上方的目錄。

3.2 代碼塊

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

  • 行內式

代碼:

 

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

顯示效果:

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

  • 縮進式多行代碼

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

一個代碼區塊會一直持續到沒有縮進的那一行(或是文件結尾)。

代碼:

 

#include &lt;stdio.h&gt;
int main(void)
{
    printf(&#34;Hello world\n&#34;);
}

顯示效果:

 

#include &lt;stdio.h&gt;
int main(void)
{
    printf(&#34;Hello world\n&#34;);
}
  • 用六個`包裹多行代碼

代碼:

 

```
include <stdio.h>
int main(void)
{
printf("Hello world\n");
}
```

顯示效果:

 

include <stdio.h>
int main(void)
{
printf("Hello world\n");
}

3.3 流程圖

編輯自有道雲筆記,代碼:

 

```
graph LR
A-->B
```

```
sequenceDiagram
A->>B: How are you?
B->>A: Great!
```

顯示效果:

 

graph LR
A-->B

 

sequenceDiagram
A->>B: How are you?
B->>A: Great!

3.4 表格

語法說明:

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

表格代碼:

 

|學號|姓名|序號|
|-|-|-|
|小明明|男|5|
|小紅|女|79|
|小陸|男|192|

原生方式寫表格:
<center>

學號 姓名 序號
小明明 5
小紅 79
小陸 192

</center>

3.5 LaTeX 公式

  • 表示行內公式

代碼:

 

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

顯示效果:

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

  • 表示整行公式
    大部分的瀏覽器支持的

 

$$ 公式 $$

有道雲筆記 使用格式,

 

```math
E = mc^2
```

塊級公式:

 

```math
x = \dfrac{-b \pm \sqrt{b^2 - 4ac}}{2a} 
```
```math
[\frac{1}{\Bigl(\sqrt{\phi \sqrt{5}}-\phi\Bigr) e^{\frac25 \pi}} =
1+\frac{e^{-2\pi}} {1+\frac{e^{-4\pi}} {1+\frac{e^{-6\pi}}
{1+\frac{e^{-8\pi}} {1+\ldots} } } }]

```

顯示效果:

 

x = \dfrac{-b \pm \sqrt{b^2 - 4ac}}{2a} 

 

[\frac{1}{\Bigl(\sqrt{\phi \sqrt{5}}-\phi\Bigr) e^{\frac25 \pi}} =
1+\frac{e^{-2\pi}} {1+\frac{e^{-4\pi}} {1+\frac{e^{-6\pi}}
{1+\frac{e^{-8\pi}} {1+\ldots} } } }]

訪問 MathJax 參考更多使用方法。

3.6 分隔線

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

代碼:

 

* * *
***
*****
- - -
-----------

顯示效果都一樣:






3.7 HTML 原始碼

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

代碼:

 

第一個例子:
<div class="footer">
© 2004 Foo Corporation
</div>
第二個例子:
<center>

<table>
<tr>
<th rowspan="2">值班人員</th>
<th>星期一</th>
<th>星期二</th>
<th>星期三</th>
</tr>
<tr>
<td>李強</td>
<td>張明</td>
<td>王平</td>
</tr>
</table>

</center>

顯示效果:

第一個例子:
<div class="footer">
© 2004 Foo Corporation
</div>

第二個例子:

<center>

<table>
<tr>
<th rowspan="2">值班人員</th>
<th>星期一</th>
<th>星期二</th>
<th>星期三</th>
</tr>
<tr>
<td>李強</td>
<td>張明</td>
<td>王平</td>
</tr>
</table>

</center>

3.8 特殊字

<center>

特殊字符 描述 字符的代碼
  空格符 &nbsp;
< 小於號 &lt;
> 大於號 &gt;
& 和號 &amp;
人民幣 &yen;
© 版權 &copy;
® 註冊商標 &reg;
°C 攝氏度 &deg;C
± 正負號 &plusmn;
× 乘號 &times;
÷ 除號 &divide;
² 平方(上標²) &sup2;
³ 立方(上標³) &sup3;

</center>



作者:擇勢勤
鏈接:https://www.jianshu.com/p/ebe52d2d468f
來源:簡書
著作權歸作者所有。商業轉載請聯繫作者獲得授權,非商業轉載請註明出處。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章