Markdown語法基礎
目錄
標題
第一種是使用#表示標題,其中#號必須在行首(需要空一格);
第二種使用===或者---表示.
例如:(效果復制代碼)
第一種情況:
# 一號標題
## 二號標題
### 三號標題
#### 四號標題
##### 五號標題
###### 六號標題
第二種情況:
一級標題
===
二級標題
---
返回目錄
分割線
使用三個或以上的‘ - ’或者‘ # ’;
表示,且這一行只有符號,注意不要被識別為二級標題即可,例如中間或者前面可以加空格。
--- (分隔符1)
### (分隔符2)
返回目錄
字體
斜體
使用‘ * ’表示斜體;
*斜體*
返回目錄
粗體
**粗體**
返回目錄
又斜又粗
***又斜又粗***
返回目錄
刪除線
~~~我是要刪除的文字~~~ (注意這是中文字符下的按鈕)
返回目錄
超鏈接和圖片
超鏈接和圖片的寫法類似,圖片僅在超鏈接前面多一個‘ ! ’
兩種寫法,分別是:
超鏈接:
[第一種寫法](https://www.baidu.com)
[第二種寫法][1]
[1]:https://www.baidu.com
圖片:

返回目錄
列表
列表使用,勾選和未勾選狀態。
- [ ] 未選中
- [x] 選中
返回目錄
無序列表
使用‘ - ’,‘ + ’,‘ * ’
表示無序列表,前后留一行空白,可嵌套;
例如:
+ 一層
- 二層
- 二層
* 三層
+ 四層
+ 一層
返回目錄
有序列表
使用‘ 1. ’(點號后面有一個空格)表示有序列表,可嵌套
例如:
1. 一層
1. 二層
2. 二層
2. 一層
返回目錄
文字引用
使用‘ > ’表示,可以有多個‘ > ’,表示層級更深
例如:
> 第一層
>> 第二層
> 這樣是跳不出去的
>>> 這樣還可以更深
> 這樣就跳出去了
返回目錄
代碼
行內代碼塊
其實上面已經用過很多次了,即使使用‘ \ ’表示
例如:
`行內代碼塊`
返回目錄
代碼塊
使用四個空格縮進表示代碼塊
例如:
#include<studio.h>
int main(){
printf("Hello world");
return 0;
}
但是這樣的代碼沒有高亮,所以推薦使用以下格式:
```語言類型
代碼
例如:
```c
#include<iostream>
int main(){
printf("Hello world");
return 0;
}
返回目錄
表格
直接看例子,第二行的---:表示了對齊方式,默認左對齊,還有右對齊和居中;
|left|center|right|
|:---|:---:|---:|
|dota|lol|dota2|
返回目錄
圖
markdown流程圖
主要的語法為name=>type:describe,其中type主要有以下幾種:
1. 開始和結束:start、end
2. 輸入輸出:inputoutput
3. 操作:operation
4. 條件:condition
5. 子程序:subroutine
- 代表實線 , 主動發送消息,比如 request請求
> 代表實心箭頭 , 同步消息,比如 AJAX 的同步請求
-- 代表虛線,表示返回消息,spring Controller return
>> 代表非實心箭頭 ,異步消息,比如AJAX請求
因為時間問題,我並沒有使用這所謂的自帶特效實現流程圖和uml圖實現
返回目錄
使用graphviz畫流程圖&UML圖
graphviz也有一定的局限,比如繪制時序圖(序列圖)就很難實現。
graphviz的節點出現在畫布上的位置事實上是不確定的
例如:
```graphviz
digraph finite_state_machine {
rankdir=LR;
size="8,5"
node [shape = doublecircle]; S;
node [shape = point ]; qi
node [shape = circle];
qi -> S;
S -> q1 [ label = "a" ];
S -> S [ label = "a" ];
q1 -> S [ label = "a" ];
q1 -> q2 [ label = "ddb" ];
q2 -> q1 [ label = "b" ];
q2 -> q2 [ label = "b" ];
}
效果如圖:
digraph finite_state_machine {
rankdir=LR;
size="8,5"
node [shape = doublecircle]; S;
node [shape = point ]; qi
node [shape = circle];
qi -> S;
S -> q1 [ label = "a" ];
S -> S [ label = "a" ];
q1 -> S [ label = "a" ];
q1 -> q2 [ label = "ddb" ];
q2 -> q1 [ label = "b" ];
q2 -> q2 [ label = "b" ];
}
返回目錄
PlantUML
這里我因為是使用vs code進行markdown文本編輯,使用一個更強大可以畫UML圖的插件。
不過,需要注意的是,需要先安裝java。
返回目錄
數學公式
返回目錄
支持HTML標簽
例如想要段落縮進,可以如下:
不斷行的空白格 或 
  半方大的空白 或 
  全方大的空白  
返回目錄
錨點
效果復制代碼自行試驗
## Subsection 1.1
# Section 2
## subsection 2.1
- [Section 1](#section-1)
- [Section 2](#Section-2)
- [subsection 2.1](#subsection-21)
返回目錄
腳注
這是一個注腳[1]的樣例。
返回目錄
這是一個 注腳 的 文本。 ↩︎
