什么是 Markdown
Markdown 是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档。
Markdown 编写的文档可以导出 HTML 、Word、图像、PDF等多种格式的文档。
Markdown 编写的文档后缀为 .md, .markdown。
Markdown 语法
Markdown 标题
使用 # 号标记
使用 # 号可表示 1-6 级标题,一级标题对应一个 # 号,二级标题对应两个 # 号,以此类推。
- 语法
# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题
- 效果
一级标题
二级标题
三级标题
四级标题
五级标题
六级标题
Markdown 段落
Markdown 段落没有特殊的格式,直接编写文字就好,段落的换行是使用两个以上空格加上回车。
字体
Markdown 可以使用以下几种字体:
- 语义
*斜体*
**粗体**
***粗斜体***
- 效果
斜体
粗体
粗斜体
分隔线
一行中用三个以上的星号、减号、底线来建立一个分隔线,行内不能有其他东西。
下面每种写法都可以建立分隔线:
- 语义
***
---
___
- 效果
删除线
在文字的两端加上两个波浪线 ~~
- 语义
~~删除线~~
- 效果
~删除线~
脚注
脚注是对文本的补充说明。
- 语义
[^脚注]:脚注内容
- 效果
原生语法不支持
Markdown 列表
Markdown 支持有序列表、无序列表、列表嵌套、复选框。
有序列表
- 语义
1. 第一项
2. 第二项
3. 第三项
- 效果
- 第一项
- 第二项
- 第三项
有序列表
- 语义
* 第一项
* 第二项
* 第三项
效果
第一项
- 第二项
- 第三项
列表嵌套
- 语义
1. 第一项:
- 文本
- 文本
2. 第二项:
- 文本
- 文本
- 效果
- 第一项:
- 文本
- 文本
- 第二项:
- 文本
- 文本
复选框
- 语义
- [ ] 列表1
- [x] 列表2
- [ ] 列表3
- 效果
原生语法不支持
Markdown 区块
Markdown 区块引用是在段落开头使用 > 符号 ,然后后面紧跟一个空格符号:
- 语义
> 引用
- 效果
引用
嵌套
- 语法
> 引用
> > 引用1
- 效果
引用
引用1
区块中使用列表
- 语法
> 区块中使用列表
> 1. 第一项
> 2. 第二项
> - 第一项
> - 第二项
- 效果
区块中使用列表
- 第一项
- 第二项
- 第一项
- 第二项
列表中使用区块
如果要在列表项目内放进区块,那么就需要在 > 前添加四个空格的缩进。
- 语义
* 第一
> 引用
* 第二
效果
第一
引用
第二
Markdown 代码
如果是段落上的一个函数或片段的代码可以用反引号把它包起来
代码块
- 语义
- 效果
function demo (){
alert("txt");
}
代码
- 语义
`var x = 0;`
- 效果
var x = 0;
Markdown 链接
链接使用方法如下:
- 语义
[我的主页](链接地址)
- 效果
HNAI椰程
Markdown 图片
链接使用方法如下:
- 语义
![](图片地址)
![alt 属性文本](图片地址)
- 效果
Markdown 表格
Markdown 制作表格使用 | 来分隔不同的单元格,使用 - 来分隔表头和其他行。
- 语义
| 表头 | 表头 |
| ---- | ---- |
| 单元格 | 单元格 |
| 单元格 | 单元格 |
- 效果
表头 | 表头 |
---|---|
单元格 | 单元格 |
单元格 | 单元格 |
对齐方式
我们可以设置表格的对齐方式:
-: 设置内容和标题栏居右对齐。
:- 设置内容和标题栏居左对齐。
:-: 设置内容和标题栏居中对齐。
- 语义
| 左对齐 | 右对齐 | 居中对齐 |
| :-| -: | :-: |
| 单元格 | 单元格 | 单元格 |
| 单元格 | 单元格 | 单元格 |
- 效果
左对齐 | 右对齐 | 居中对齐 |
---|---|---|
单元格 | 单元格 | 单元格 |
单元格 | 单元格 | 单元格 |
Markdown 高级技巧
平时使用较少,这里不简述。想使用等你markdown一段时间后,要用到自然也就会了。
- 支持的 HTML 元素
- 转义
- 公式
- …
Markdown+Flowchart流程图语法
Markdown中的flowchart流程图可以很方便地来自动生成流程图,让大家集中注意力与各元素间的逻辑,而减少排班带来的麻烦,废话不多说,我们开始吧!
语法介绍
首先要清楚,Flowchart流程图分为元素定义、连线两个组成部分:
语法结构如下:X=>Y: Z
其中,X是变量名, Y是指操作模块名,冒号后面的Z是具体显示的文字内容。需要注意的是,冒号后要加空格才能识别,而X
,Y
与=>
之间不允许有空格。
其中,变量名X和文字内容Z可以比较随意设置,但是Y是有固定的内容,主要有以下几种:
操作模块名 | 表示含义说明 |
---|---|
start | 开始 |
end | 结束 |
operation | 普通操作块 |
subroutine | 子任务块 |
condition | 判断块 |
inputoutput | 输入输出块 |
1. 定义所有元素
利用关键字,为各元素取一个你喜欢的别名,常用的关键字如下:
- start 开始节点
定义语句:s=>start: 系统初始化
意为定义一个名字叫“s”的“start”元素,该元素显示的内容为“系统初始化” - end 结束节点
定义语句:e=>end: 测温结束
意为定义一个名字叫“e”的“end”元素,该元素显示的内容为“测温结束” - operation 操作节点
定义语句:o1=>operation: 开始测温
意为定义一个名字叫“o1”的“operation”元素,该元素显示的内容为“开始测温” - condition 条件节点
定义语句:c1=>condition: KEY按下?
意为定义一个名字叫“c1”的“condition”元素,该元素显示的内容为“KEY按下?” - inputoutput 输入或输出节点
定义语句:io=>inputoutput: 输入
意为定义一个名字叫“io”的“inputoutput”元素,该元素显示的内容为“输入” - subroutine 子程序节点
2.连线:
用->
将两个元素连接
如果要设置条件框连接线方向,在括号中添加即可。条件框只有两个方向可供选择:
# yes向下,no向右(默认)
# yes向右,no向下。
cond(yes,right)
cond(no,bottom)
3.附加语法
- 超链接:
在定义元素时,用:>
给某个元素添加超链接。下句让start元素链接至百度首页
s=>start: 系统初始化:https://www.hnai.net
实例演示
效果图
系统初始化 输入 KEY按下?
开始测温 LCD屏幕显示体温 体温正常?
测温结束 蜂鸣器响起 yes no yes no
源代码
s=>start: 系统初始化:>https://www.hnai.net
io=>inputoutput: User Input
c1=>condition: KEY按下?
c2=>condition: 体温正常?
o1=>operation: 开始测温
o2=>operation: LCD屏幕显示体温
o3=>operation: 蜂鸣器响起
e=>end: 测温结束
s->c1(yes)->o1->o2->c2(yes)->e
c1(no)->c1
c2(no)->o3->e
其中最需要注意的是condition元素的用法,利用c1(yes)和c1(no)进行分支判断。