1 Markdown 标题
1.1 使用 = 和 - 标记
文字下一行加多个=====为一级标题 多个 -------为二级标题
1.2 使用 # 号标记
使用 # 号可表示 1-6 级标题,一级标题对应一个 # 号,二级标题对应两个 # 号,以此类推。
2 Markdown 段落
2.1 Markdown 段落
段落的换行是使用两个以上空格加上回车
使用一个空行来表示重新开始一个段落。
2.2 字体
*斜体文本*
_斜体文本_
**粗体文本**
__粗体文本__
***粗斜体文本***
___粗斜体文本___
2.3 分隔线
你可以在一行中用三个以上的星号、减号、底线来建立一个分隔线,行内不能有其他东西。你也可以在星号或是减号中间插入空格。
***
* * *
*****
- - -
----------
2.4 删除线
在文字的两端加上两个波浪线 ~~ 即可
2.5 下划线
通过 HTML 的 <u> 标签来实现
<u>带下划线文本</u>
2.6 脚注
Markdown 脚注的格式如下
[^要注明的文本]
3 Markdown 列表
3.1 无序列表
无序列表使用星号(*)、加号(+)或是减号(-)作为列表标记
3.2 有序列表
用数字并加上 . 号来表示
3.3 列表嵌套
列表嵌套只需在子列表中的选项添加四个空格即可
4 Markdown 区块
区块引用是在段落开头使用 > 符号 ,然后后面紧跟一个空格符号
5 Markdown 代码
5.1 段落上
用反引号把它包起来
`printf()` 函数
5.2 代码区块
代码区块使用 4 个空格或者一个制表符(Tab 键)
也可以用 ```包裹一段代码,并指定一种语言(也可以不指定)
6 Markdown 链接
6.1 Markdown链接
使用方法如下[链接名称](链接地址)
或者<链接地址>
6.2 高级链接
链接也可以用变量来代替,文档末尾附带变量地址
这个链接用 1 作为网址变量 [Google][1]
这个链接用 runoob 作为网址变量 [Runoob][runoob]
然后在文档的结尾为变量赋值(网址)
7 Markdown 图片
7.1 Markdown 图片
语法格式如下
![alt 属性文本](图片地址)
![alt 属性文本](图片地址 "可选标题")
7.2 html图片
<img src="http://static.runoob.com/images/runoob-logo.png" width="50%">
8 Markdown 表格
8.1 Markdown 表格
- Markdown 制作表格使用 | 来分隔不同的单元格,使用 - 来分隔表头和其他行,语法格式如下:
| 左对齐 | 右对齐 | 居中对齐 |
| :-----| ----: | :----: |
| 单元格 | 单元格 | 单元格 |
| 单元格 | 单元格 | 单元格 |
- 对齐方式
-: 设置内容和标题栏居右对齐。
:- 设置内容和标题栏居左对齐。
:-: 设置内容和标题栏居中对齐。
9 Markdown 高级技巧
9.1 支持的 HTML 元素
不在 Markdown 涵盖范围之内的标签,都可以直接在文档里面用 HTML 撰写。
目前支持的 HTML 元素有:<kbd> <b> <i> <em> <sup> <sub> <br>
等
9.2 转义
Markdown 使用了很多特殊符号来表示特定的意义,如果需要显示特定的符号则需要使用转义字符,Markdown 使用反斜杠转义特殊字符:
Markdown 支持以下这些符号前面加上反斜杠来帮助插入普通的符号:
\ 反斜线
` 反引号
* 星号
_ 下划线
{} 花括号
[] 方括号
() 小括号
# 井字号
+ 加号
- 减号
. 英文句点
! 感叹号
9.3 公式
使用两个美元符 $$ 包裹 TeX 或 LaTeX 格式的数学公式来实
[参考地址:][https://blog.csdn.net/katherine_hsr/article/details/79179622 公式地址]https://blog.csdn.net/katherine_hsr/article/details/79179622
https://blog.csdn.net/xingxinmanong/article/details/78528791
- 上下标
^ 表示上标, _ 表示下标,如果上标或下标内容多于一个字符,则使用 {} 括起来
x{yz} = (1+ex){-2xy^w} : x y z = ( 1 + e x ) − 2 x y w x^{y^z} = (1+e^x)^{-2xy^w} xyz=(1+ex)−2xyw - 括号
() [] 直接写就行,而 {} 则需要转义
f(x, y) = x^2 + y^2, x \epsilon [0, 100], y \epsilon {3, 4, 5} : f ( x , y ) = x 2 + y 2 , x ϵ [ 0 , 100 ] , y ϵ { 3 , 4 , 5 } f(x, y) = x^2 + y^2, x \epsilon [0, 100], y \epsilon \{3, 4, 5\} f(x,y)=x2+y2,xϵ[0,100],yϵ{3,4,5} - 分数
使用 \frac{分子}{分母},或者使用 分子 \over 分母
示例:\frac{1}{2x+1} , {{1} \over {2x+1}}
: 1 2 x + 1 , 1 2 x + 1 \frac{1}{2x+1} , {{1} \over {2x+1}} 2x+11,2x+11 - 开方
使用 \sqrt[n]{a}
示例:\sqrt[3]{9}, \sqrt{16}
: 9 3 , 16 \sqrt[3]{9}, \sqrt{16} 39,16 - 省略号
有两种省略号,\ldots 表示语文本底线对其的省略号,\cdots 表示与文本中线对其的省略号,\cdot 表示一个点,也就是点乘号
示例:f(x_1,x_2,\ldots,x_n) = x_1^2+x_2^2+\cdots+x_n^2
: f ( x 1 , x 2 , … , x n ) = x 1 2 + x 2 2 + ⋯ + x n 2 f(x_1,x_2,\ldots,x_n) = x_1^2+x_2^2+\cdots+x_n^2 f(x1,x2,…,xn)=x12+x22+⋯+xn2 - 向量
使用 \vec{a}
示例:\vec a \cdot \vec b = 0
: a ⃗ ⋅ b ⃗ = 0 \vec a \cdot \vec b = 0 a⋅b=0 - 积分
示例:\int_0^1x^2dx
: ∫ 0 1 x 2 d x \int_0^1x^2dx ∫01x2dx - 极限
示例:\sum_1^n\frac{1}{x^2}, \prod_{i=0}^n{1 \over {x^2}}
: ∑ 1 n 1 x 2 , ∏ i = 0 n 1 x 2 \sum_1^n\frac{1}{x^2}, \prod_{i=0}^n{1 \over {x^2}} ∑1nx21,∏i=0nx21 - 希腊字母
示例:\alpha \beta \gamma \Gamma \delta \Delta \epsilon \varepsilon \zeta \eta \theta \Theta \vartheta \iota \kappa \lambda \Lambda \mu \nu \xi \Xi \pi \Pi \varpi \rho \varrho \sigma \Sigma \varsigma \tau \upsilon \Upsilon \phi \Phi \varphi \chi \psi \Psi \Omega \omega
α β γ Γ δ Δ ϵ ε ζ η θ Θ ϑ ι κ λ Λ μ ν ξ Ξ π Π ϖ ρ ϱ σ Σ ς τ υ Υ ϕ Φ φ χ ψ Ψ Ω ω \alpha \beta \gamma \Gamma \delta \Delta \epsilon \varepsilon \zeta \eta \theta \Theta \vartheta \iota \kappa \lambda \Lambda \mu \nu \xi \Xi \pi \Pi \varpi \rho \varrho \sigma \Sigma \varsigma \tau \upsilon \Upsilon \phi \Phi \varphi \chi \psi \Psi \Omega \omega αβγΓδΔϵεζηθΘϑικλΛμνξΞπΠϖρϱσΣςτυΥϕΦφχψΨΩω
10 markdown 画图
10.1 使用方法
```mermaid
graph LR;
A-->B
B-->C
C-->D
D-->A
```
10.2 graph(流程图)
- 图方向
T = TOP,B = BOTTOM,L = LEFT,R = RIGHT,D = DOWN
TB,从上到下
TD,从上到下
BT,从下到上
RL,从右到左
LR,从左到右 - 节点形状
默认节点 A
文本节点 B[bname]
圆角节点 C(cname)
圆形节点 D((dname))
非对称节点 E>ename]
菱形节点 F{fname} - 连线
箭头连接 A1–->B1
开放连接 A2—B2
标签连接 A3–text—B3
箭头标签连接 A4–text–>B4
虚线开放连接 A5.-B5
虚线箭头连接 A6-.->B6
标签虚线连接 A7-.text.-B7
标签虚线箭头连接 A8-.text.->B8
粗线开放连接 A9=B9
粗线箭头连接 A10>B10
标签粗线开放连接 A11text=B11
标签粗线箭头连接 A12text>B12 - 例子
graph LR
start("input x") --> handler("x > 0?")
handler --yes--> yes("output x")
handler --no--> start
yes --> exit("exit")
10.3 subgraph(子图)
- 格式
# 外面的那层, 可以使用子图中的节点,子图中的节点名不是隔离的,可以认为是全局变量-.-
graph LR
subgraph title1
graph definition
end
subgraph title2
graph definition
end
- 例子
```mermaid
graph LR
subgraph g1
a1-->b1
end
subgraph g2
a2-->b2
end
subgraph g3
a3-->b3
end
a3-->a2
```
10.4 sequence diagram (序列图)
- 关键字 包含在```mermaid ```中
- participant 参与者,相当先定义模块,可通过设定参与者(participant)的顺序控制展示顺序
- note, 便签,格式如下
note [right of | left of][Actor]:Text # 给多个模块做标签, 通过逗号分割 note over [Actor1, Actor2...]:Text
- loop 循环
loop Loop_text ... statements... end
- 选择 alt
alt Describing_text ...statements... else ...statements... end # 推荐在没有else的情况下使用 opt(option,选择) opt Describing_text ...statements... end
- 例子
sequenceDiagram
Alice->>Bob: Hello Bob, how are you?
alt is sick
Bob->>Alice:not so good ?
else is well
Bob->>Alice:good
end
opt Extra response
Bob->>Alice:Thanks for asking
end
* 连线
无箭头实线 ->
有箭头实线 ->>
无箭头虚线 –>
有箭头虚线 –>>
带x实线 -x
带x虚线 –x
* 例子
```markdown
sequenceDiagram
# 通过设定参与者(participants)的顺序控制展示模块顺序
participant Alice
participant Bob
participant John
Alice->John:Hello John, how are you?
loop Healthcheck
John->John:Fight against hypochondria
end
Note right of John:Rational thoughts <br/>prevail...
John-->Alice:Great!
John->Bob: How about you?
Bob-->John: good!
10.5 gantt diagram(甘特图)
- 甘特图是一类条形图,通常用在对项目终端元素和总结元素的开始及完成时间进行的描述
- 关键字 包含在```mermaid ```中
- dateFormat 日期格式
- section 模块
- Completed 已经完成
- Active 当前正在进行
- Future 后续待处理
- crit 关键阶段
- 日期缺失 默认从上一项完成后
- 例子1
gantt
dateFormat YYYY-MM-DD
section S1
T1: 2014-01-01, 9d
section S2
T2: 2014-01-11, 9d
section S3
T3: 2014-01-02, 9d
- 例子2
gantt
dateFormat YYYY-MM-DD
title Adding GANTT diagram functionality to mermaid
section A section
Completed task :done, des1, 2014-01-06,2014-01-08
Active task :active, des2, 2014-01-09, 3d
Future task : des3, after des2, 5d
Future task2 : des4, after des3, 5d
section Critical tasks
Completed task in the critical line :crit, done, 2014-01-06,24h
Implement parser and jison :crit, done, after des1, 2d
Create tests for parser :crit, active, 3d
Future task in critical line :crit, 5d
Create tests for renderer :2d
Add to mermaid :1d
section Documentation
Describe gantt syntax :active, a1, after des1, 3d
Add gantt diagram to demo page :after a1 , 20h
Add another diagram to demo page :doc1, after a1 , 48h
section Last section
Describe gantt syntax :after doc1, 3d
Add gantt diagram to demo page : 20h
Add another diagram to demo page : 48h
10.6 sequence(序列图)
- 关键字 包含在```mermaid
sequenceDiagram ```中- title,定义序列图的标题
- participant,定义时序图中的对象
- note,定义对时序图中的部分说明
- 方位控制
- left of,表示当前对象的左侧
- right of,表示当前对象的右侧
- over,表示覆盖在当前对象(们)的上面
- {actor},表示时序图中的具体对象(名称自定义)
- 箭头
- -> 表示实线实箭头
- –> 表示虚线实箭头
- ->> 表示实线虚箭头
- –>> 表示虚线虚箭头
- 例子
title: 序列图sequence 示例
# participant, 参与者
participant A
participant B
participant C
note left of A: A左侧说明
note over B: 覆盖B的说明
note right of C: C右侧说明
# - 代表实线, -- 代表虚线; > 代表实箭头, >> 代表虚箭头
A->A:自己到自己
A->B:实线实箭头
A-->C:虚线实箭头
B->>C:实线虚箭头
B-->>A:虚线虚箭头
10.7 flow(流程图)
- 关键字 包含在```mermaid
flowchat ```之间- start/end,表示程序的开始与结束
- operation,表示程序的处理块
- subroutine,表示子程序块
- condition,表示程序的条件判断
- inputoutput,表示程序的出入输出
- right/left,表示当前连线在当前模块上的起点(默认从下端开始)
- yes/no, 表示condition判断的分支(可以和right,left同时使用)
- 例子
# 先自定义变量,然后画图
st=>start: 开始
e=>end: 结束
op=>operation: 输入x
sub=>subroutine: 是否重新输入
cond1=>condition: x>0?
cond2=>condition: yes/no
io=>inputoutput: 输出x
st(right)->op->cond1
cond1(yes)->io(right)->e
cond1(no)->sub(right)->cond2()
cond2(yes, right)->op
cond2(no)->e