Loading

超全Markdown语法汇总

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. 开始和结束:startend

2. 输入输出:inputoutput

3. 操作:operation

4. 条件:condition

5. 子程序:subroutine

- 代表实线 , 主动发送消息,比如 request请求
> 代表实心箭头 , 同步消息,比如 AJAX 的同步请求
-- 代表虚线,表示返回消息,spring Controller return
>> 代表非实心箭头 ,异步消息,比如AJAX请求

因为时间问题,我并没有使用这所谓的自带特效实现流程图和uml图实现

返回目录


使用graphviz画流程图&UML图

graphviz也有一定的局限,比如绘制时序图(序列图)就很难实现。
graphviz的节点出现在画布上的位置事实上是不确定的

使用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标签

例如想要段落缩进,可以如下:

&nbsp;&nbsp;不断行的空白格&nbsp;或&#160;
&ensp;&ensp;半方大的空白&ensp;或&#8194;
&emsp;&emsp;全方大的空白&emsp;&#8195;

返回目录


锚点

效果复制代码自行试验

## Subsection 1.1

# Section 2

## subsection 2.1


- [Section 1](#section-1)
- [Section 2](#Section-2)
  - [subsection 2.1](#subsection-21)

返回目录


脚注

这是一个注脚[1]的样例。

返回目录



  1. 这是一个 注脚文本↩︎

posted @ 2020-03-26 12:16  平头猿小哥  阅读(2064)  评论(0编辑  收藏  举报