轉載自: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 中, 有兩個字符需要特殊對待: < 和 &,左尖括號用於起始標籤。果你想將它們用作字面量, 你必須將它們轉義爲字符實體, 例如<
和 &
。
二、行內語法講解
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】  或  //全角
【2】  或  //半角
【3】 或  //半角之半角
- 換行
由於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
顯示效果:
- 註腳
語法說明:
在需要添加註腳的文字後加上腳註名字[^註腳名字],稱爲加註。 然後在文本的任意位置(一般在最後)添加腳註,腳註前必須有對應的腳註名字。
注意:經測試註腳與註腳之間必須空一行,不然會失效。成功後會發現,即使你沒有把註腳寫在文末,經Markdown轉換後,也會自動歸類到文章的最後。
代碼:
使用 Markdown[^1]可以效率的書寫文檔, 直接轉換成 HTML[^2]。
[^1]:Markdown是一種純文本標記語言
[^2]:HyperText Markup Language 超文本標記語言
顯示效果:
使用 Markdown[1]可以效率的書寫文檔, 直接轉換成 HTML[2]。
注:腳註自動被搬運到最後面,請到文章末尾查看,腳註後方的鏈接可以直接跳轉回到加註的地方。
- 錨點(頁內超鏈接)
網頁中,錨點其實就是頁內超鏈接,也就是鏈接本文檔內部的某些元素,實現當前頁面中的跳轉。比如我這裏寫下一個錨點,點擊回到目錄,就能跳轉到目錄。 在目錄中點擊這一節,就能跳過來。還有下一節的註腳。這些根本上都是用錨點來實現的,只支持在標題後插入錨點,其它地方無效。
代碼:
## 0. 目錄{#index}
顯示效果:
跳轉到目錄
- 自動鏈接
語法說明:
Markdown 支持以比較簡短的自動鏈接形式來處理網址和電子郵件信箱,只要是用<>包起來, Markdown 就會自動把它轉成鏈接。一般網址的鏈接文字就和鏈接地址一樣,例如:
代碼:
<http://example.com/>   
<[email protected]>
顯示效果:
<http://example.com/>
<[email protected]>
2.6 無序列表、有序列表、定義型列表
- 無序列表
使用 *,+,- 表示無序列表。
代碼:
* 無序列表項 一
+ 無序列表項 二
- 無序列表項 三
顯示效果:
- 無序列表項 一
- 無序列表項 二
- 無序列表項 三
- 有序列表
有序列表則使用數字接着一個英文句點。
代碼:
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 <stdio.h>
int main(void)
{
printf("Hello world\n");
}
顯示效果:
#include <stdio.h>
int main(void)
{
printf("Hello world\n");
}
- 用六個`包裹多行代碼
代碼:
```
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>
特殊字符 | 描述 | 字符的代碼 |
---|---|---|
空格符 | |
|
< | 小於號 | < |
> | 大於號 | > |
& | 和號 | & |
¥ | 人民幣 | ¥ |
© | 版權 | © |
® | 註冊商標 | ® |
°C | 攝氏度 | °C |
± | 正負號 | ± |
× | 乘號 | × |
÷ | 除號 | ÷ |
² | 平方(上標²) | ² |
³ | 立方(上標³) | ³ |
</center>
作者:擇勢勤
鏈接:https://www.jianshu.com/p/ebe52d2d468f
來源:簡書
著作權歸作者所有。商業轉載請聯繫作者獲得授權,非商業轉載請註明出處。