Markdown
是一種輕量級标記語言,用來編寫文本文檔,一般字尾名為
.md
。該語言在 2004 由約翰·格魯伯(John Gruber)建立。
由于
Markdown
文法簡單,易讀易寫,變得越來越通用。目前很多的部落格類型的網站都支援
Markdown
文法來編寫文檔,例如
CSDN
,
知乎
,
部落格園
,
簡書
等。
使用
Markdown
文法,可以将自己的文章很容易(基本無需修改)的遷移到其它網站(隻要這個網站支援
Markdown
文法)。
0,編輯工具
Typora 是一款不錯的
Markdown
編輯工具,其展示風格優雅大方,閱讀起來很舒适。
另外,也有很多線上編輯工具,線上工具友善簡單,一般都分為兩部分,左邊是
文檔編輯區
,右邊是
文檔展示區
,可以實時檢查自己編寫的是否正确。
你可以選擇自己喜歡的,例如:
- MdEditor
- MaHua
- Editor
- Markdown 線上工具
下面介紹
Markdown
文法,其
标記
與
文字
之間一般要有一個空格,例如一級标題:
# 這是一級标題
。
1,标題
就像
HTML
标簽一樣,
Markdown
也有6 級标題:
# 一級标題
## 二級标題
### 三級标題
#### 四級标題
##### 五級标題
###### 六級标題
其效果如下:
一級标題
二級标題
三級标題
四級标題
五級标題
六級标題
2,目錄
[TOC]
會自動為目前文檔生成
目錄
,
目錄
是根據目前文檔中的
标題
來生成的。
[TOC]
寫在文檔的什麼位置(一般是文檔開頭),目錄就會插在文檔的哪個位置。
需要注意的是,有些網站可能不支援這個功能。
3,文字修飾
在
Markdown
文檔中,可以為文字添加
加粗
,
斜體
,
删除線
,
下劃線
,當然這些效果也是可以疊加的:
*文字斜體*
**文字加粗**
***文字斜體加粗***
~~文字删除~~
~~**文字加粗删除**~~
~~*文字斜體删除*~~
<u>文字下劃線使用HTML u 标簽</u>
其效果如下:
文字斜體
文字加粗
文字斜體加粗
文字删除
文字加粗删除
文字斜體删除
文字下劃線使用HTML u 标簽
4,分割線
分割線使用三個連續的
*
或
-
,如下:
***
---
其效果如下:
5,清單
5.1,有序清單
有序清單
使用
數字
和
點
表示:
1. 有序清單一
2. 有序清單二
3. 有序清單三
其效果如下:
- 有序清單一
- 有序清單二
- 有序清單三
5.2,無序清單
無序清單
可以使用
+
或
-
或
*
表示,使用任意一種均可:
+ 無序清單1
+ 無序清單2
+ 無序清單3
- 無序清單1
- 無序清單2
- 無序清單3
* 無序清單1
* 無序清單2
* 無序清單3
其效果如下:
- 無序清單1
- 無序清單2
- 無序清單3
5.3,待辦清單
待辦清單
可以表示任務的處理狀态,
-[]
表示
待辦
狀态,
-[X]
表示
已辦
狀态:
- [ ] 待辦任務1
- [ ] 待辦任務2
- [x] 已辦任務
其效果如下:
- 待辦任務1
- 待辦任務2
- 已辦任務
需要注意的是,有些網站可能不支援
待辦清單
。
5.4,清單嵌套
需要
嵌套清單
時,在子清單之前添加
四個空格
即可:
- 無序清單
- 子清單是無序清單
- 子清單是無序清單
1. 有序清單
1. 子清單是有序清單
2. 子清單是有序清單
效果如下:
- 無序清單
- 子清單是無序清單
- 子清單是無序清單
- 有序清單
- 子清單是有序清單
- 子清單是有序清單
6,引用
引用
一段文字使用符号
>
:
> 這是一段引用
效果如下:
這是一段引用
引用還分多級,一個
>
表示一級:
> 一級引用
>> 二級引用
>>> 三級引用
>>>> 四級引用
>>>>> 五級引用
效果如下:
一級引用二級引用三級引用四級引用五級引用
7,代碼塊
Markdown
支援兩種
代碼塊
,一種是
行内代碼塊
,一種是
多行代碼塊
。
行内代碼塊
用反引号``(即Tab 鍵上邊那個鍵)引住,會高亮顯示。
多行代碼塊
支援多種程式設計語言高亮:
C 語言代碼高亮:
```c
// C語言代碼
```
效果如下:
// C語言代碼
int main()
{
printf("hello world.\n");
return 0;
}
C++ 語言代碼高亮:
```cpp
// c++ 語言代碼
```
效果如下:
// c++ 語言代碼
int main()
{
cout << "hello world." << endl;
return 0;
}
Java 語言代碼高亮:
```java
// Java 代碼
```
效果如下:
// Java 代碼
public class HelloWorld {
public static void main(String[] args) {
System.out.println("hello world.");
}
}
Python 語言代碼高亮:
```python
# python 語言代碼
```
效果如下:
# python 語言代碼
print "hello world."
還支援其它語言代碼,這裡就不一一舉例了。
8,表格
Markdown
表格的書寫方法非常簡單,用
豎線|
來分隔不同的單元格,使用
橫線-
來分隔表頭和其他行。
如下表示一個
三行三列
的表格:
|表頭1 | 表頭2 |表頭3|
|--|--|--|
| 第1行第1列 | 第1行第2列 |第1行第3列|
| 第2行第1列 | 第2行第2列 |第2行第3列|
效果如下:
表頭1 | 表頭2 | 表頭3 |
---|---|---|
第1行第1列 | 第1行第2列 | 第1行第3列 |
第2行第1列 | 第2行第2列 | 第2行第3列 |
使用
冒号:
來表示表格中内容的
對齊方式
:
- 冒号在左邊:表示左對齊
- 冒号在右邊:表示右對齊
- 兩邊都有冒号:表示居中對齊
| 左對齊 | 右對齊 | 居中對齊 |
| :--| --: | :--: |
| 單元格 | 單元格 | 單元格 |
| 單元格 | 單元格 | 單元格 |
效果如下:
左對齊 | 右對齊 | 居中對齊 |
---|---|---|
單元格 | 單元格 | 單元格 |
單元格 | 單元格 | 單元格 |
9,超級連結
9.1,超級連結
超級連結
的表示方式如下:
[超級連結文字](網址)
使用
中括号
和
小括号
表示,
文字描述
寫在
中括号
内,
網址
寫在
小括号
内,例如:
[這是百度網址](https://www.baidu.com)
效果如下:
這是百度網址
9.2,直接顯示連接配接
如果想要直接顯示連接配接位址,也可以使用
<>
符号将
連接配接位址
包覆:
<https://www.baidu.com>
效果如下:
https://www.baidu.com
9.3,使用錨點
使用
錨點
,首先是先
定義錨點
,然後再
引用錨點
。
定義錨點
是在一個
标題
的後邊加上
{#錨點名稱}
,如下:
### 這是一個錨點{#here}
然後使用如下格式
使用錨點
,
中括号
内是
錨點描述
,
小括号
内是
錨點名稱
:
跳轉到[錨點](#here)
10,圖檔
插入圖檔有四種方式,分别是:
- 插入本地圖檔
- 插入網絡圖檔
- 把圖檔存入Markdown 檔案
- 使用HTML <img> 标簽
引入圖檔的基本格式是
![描述](路徑)
,你可以選擇适合自己的方式。
10.1,插入本地圖檔
文法如下(描述文字可不寫):
![描述圖檔的文字](圖檔本地路徑)
例如:
![這是一張本地圖檔](/home/picture/name.png)
10.2,插入網絡圖檔
插入網絡圖檔,首先這張圖檔要在網上,并且能夠正常通路,如果是自己的圖檔,則需要先将自己的圖檔傳到網上。
文法如下(描述文字可不寫):
![描述圖檔的文字](圖檔網絡位址)
例如:
![這是一張網絡圖檔](http://ww2.sinaimg.cn/small/6aee7dbbgw1esvkj19bqmj20e80e874z.jpg)
10.3,把圖檔存入Markdown 檔案
這種方式需要先将圖檔轉換成
base64 編碼
格式,然後将圖檔内容放入
Markdown
文檔中(是以,如果圖檔很大的話,
Markdown
文檔也會變得很大),最後再引用圖檔。
文法如下(描述文字可不寫),
第一行
為圖檔的引用,
第二行
為圖檔的聲明(一般可寫在文檔的最後):
![描述圖檔的文字][圖檔聲明]
[圖檔聲明]:圖檔base64 編碼内容
例如:
![描述][base64str]
[base64str]:data:image/png;base64,iVBORw0......
10.4,使用HTML <img> 标簽
Markdown
中支援
HTML <img> 标簽
來顯示圖檔,當然也可以使用
HTML 屬性
,來調節
圖檔大小
等:
<img src="圖檔位址">
11,文字上标下标
上标
使用
<sup>
,下标使用
<sub>
,如下:
下标:X<sub>2</sub>
上标:Y<sup>2</sup>
下标文字: X<sub>上标文字</sub>
上标文字: Y<sup>上标文字</sup>
效果如下:
下标:X2
上标:Y2
下标文字: X上标文字
上标文字: Y上标文字
12,文字縮寫
文字縮寫
使用
HTML <abbr> 标簽
,如下所示:
<abbr title="Hyper Text Markup Language">HTML</abbr> 是一種标記語言。
效果如下:
HTML 是一種标記語言。
13,注腳
使用注腳也是分兩步,一是定義注腳,二是使用注腳。
定義注腳的文法如下:
[^注腳名稱]:注腳内容
中括号内有一個
上尖括号^
,後邊緊跟
注腳名稱
,中括号後邊是一個
冒号:
,再後邊是
注腳内容
。一般
注腳定義
會被顯示在文檔的最後,多個
注腳定義
不能寫在同一行。
使用注腳時,隻需要在
需要注解的文字
後邊加上
[^注腳名稱]
即可,如下:
這是一個注腳示例[^注腳名稱]
完整示例:
注腳示例[^note]
注腳示例二[^note2]
[^note]:這是注腳示例内容
[^note2]:這是注腳示例内容2
效果如下:
注腳示例[1]
注腳示例二[2]
14,Markmap 思維導圖
Markmap 是一個支援
Markdown
文法的思維導圖工具,通過
Markmap
,你可以使用
Markdown
文法來生成思維導圖。
Markmap
開源免費,簡單易用。你可以在這裡 将你寫的
Markdown
文檔轉換為思維導圖。
在
Markmap
中支援的
Markdown
符号有:
- 标題符号
#
- 無須清單符号
-
- 分隔符
---
- 超級連結符号
和[]()
<>
- 文字修飾,例如
,加粗
,斜體
删除線
- 代碼塊,包括
和行内代碼塊
多行代碼塊
你可以将如下
Markdown
文檔在這裡 轉換為思維導圖:
# Markmap 支援
## 标題符号
- 一級标題
- 二級标題
- 三級标題
## 無序清單
- 清單1
- 清單2
## 分隔符
- 第一部分
---
- 第二部分
---
- 第三部分
- 第四部分
## 超級連結
- <https://www.google.com>
- [Google](https://www.google.com)
## 文字修飾
- *斜體*
- **加粗**
- ~~删除線~~
## 代碼塊
- `單行代碼塊`
-
\```shell
多行代碼塊1
多行代碼塊2
多行代碼塊3
\```
其效果如下:
(完。)
- 這是注腳示例内容 ↩︎
- 這是注腳示例内容2 ↩︎