Markdown语法基础
目录
标题
第一种是使用#表示标题,其中#号必须在行首(需要空一格);
第二种使用===或者---表示.
例如:(效果复制代码)
第一种情况:
# 一号标题
## 二号标题
### 三号标题
#### 四号标题
##### 五号标题
###### 六号标题
第二种情况:
一级标题
===
二级标题
---
返回目录
分割线
使用三个或以上的‘ - ’或者‘ # ’;
表示,且这一行只有符号,注意不要被识别为二级标题即可,例如中间或者前面可以加空格。
--- (分隔符1)
### (分隔符2)
返回目录
字体
斜体
使用‘ * ’表示斜体;
*斜体*
返回目录
粗体
**粗体**
返回目录
又斜又粗
***又斜又粗***
返回目录
删除线
~~~我是要删除的文字~~~ (注意这是中文字符下的按钮)
返回目录
超链接和图片
超链接和图片的写法类似,图片仅在超链接前面多一个‘ ! ’
两种写法,分别是:
超链接:
[第一种写法](https://www.baidu.com)
[第二种写法][1]
[1]:https://www.baidu.com
图片:
![cmd-markdown-log](https://www.zybuluo.com/static/img/logo.png)
返回目录
列表
列表使用,勾选和未勾选状态。
- [ ] 未选中
- [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]的样例。
返回目录
这是一个 注脚 的 文本。 ↩︎