Markdown 是一种纯文本格式的标记语言。通过简单的标记语法,它可以使普通文本内容具有一定的格式。
标题
在想要设置为标题的文字前面加 #来表示 一个 #是一级标题,二个 #是二级标题,以此类推。支持六级标题。
1 2 3 4 5 6
| # 这是一级标题 ## 这是二级标题 ### 这是三级标题 #### 这是四级标题 ##### 这是五级标题 ###### 这是六级标题
|
字体
加粗
左右分别用两个 * 号包起来
斜体
左右分别用一个 * 号包起来
斜体加粗
左右分别用三个 * 号包起来
删除线
左右分别用两个~包起来
Typora 快捷键:
粗体: Ctrl+B
斜体: Ctrl+I
下划线: Ctrl+U
删除线: Alt+Shift+5
引用
在引用的文字前加 > 即可。引用也可以嵌套,如加两个 >> 三个 >>>
效果:
引用
Typora 快捷键: Ctrl+Shift+Q
分割线
三个或者三个以上的 - 或者 * 都可以。
图片
语法:
1
| 
|
示例:
1
| 
|
效果:
baidu 百度
Typora 快捷键: Ctrl+Shift+I
超链接
语法:
1 2 3
| [超链接名](超链接地址 "超链接title")
title可有可无
|
Typora 快捷键: Ctrl+K
列表
无序列表
语法:
无序列表用 - + * 任何一种都可以
有序列表
语法:
数字加点
1 2 3
| 1. 有序列表 2. 有序列表 3. 序号跟内容间要有空格
|
复选框
1 2 3 4 5 6
| - [x] 需求分析 - [x] 系统设计 - [x] 详细设计 - [ ] 编码 - [ ] 测试 - [ ] 交付
|
- [x] 需求分析
- [x] 系统设计
- [x] 详细设计
- [ ] 编码
- [ ] 测试
- [ ] 交付
列表嵌套
语法:
上一级与下一级之间打三个空格
1 2 3 4 5 6
| + 一级无序 1. 二级有序 2. 二级有序 + 一级无序 + 二级无序 + 二级无序
|
表格
语法:
1 2 3 4 5 6 7 8 9 10
| 表头|表头|表头 ---|:--:|--: 内容|居中|居右|
第二行分割表头和内容,-有一个就行,可多加对齐 文字默认居左 文字居中:-两边加: 文字居右:-右边加:
注:原生的语法两边都要用 | 包起来。
|
Typora 快捷键: Ctrl+T
代码
单行代码:
代码块:
代码之间分别用三个反引号包起来,且两边的反引号单独占一行
1 2 3
| ```cpp # include <iostream> ```
|
三点后输入语言名称获得高亮功能。
里面若有代码内容,即 ```,需要输入四个点防止匹配错误:````。
Typora 快捷键:
行内代码: Ctrl+Shift+`
多行代码: Ctrl+Shift+K
diff 显示:
语言名称填写 diff:
1 2 3 4
| + 人闲桂花落, - 夜静春山空。 ! 月出惊山鸟, # 时鸣春涧中。
|
流程图
示例:
1 2 3 4 5 6 7 8 9
| ```flow st=>start: 开始 op=>operation: My Operation cond=>condition: Yes or No? e=>end st->op->cond cond(yes)->e cond(no)->op ```
|
效果:
1 2 3 4 5 6 7
| st=>start: start op=>operation: My Operation cond=>condition: Yes or No? e=>end st->op->cond cond(yes)->e cond(no)->op
|
其他图:
1、横向流程图源码格式:
1 2 3 4 5 6 7 8
| ```mermaid graph LR A[方形] -->B(圆角) B --> C{条件a} C -->|a=1| D[结果1] C -->|a=2| E[结果2] F[横向流程图] ```
|
2、竖向流程图源码格式:
1 2 3 4 5 6 7 8
| ```mermaid graph TD A[方形] --> B(圆角) B --> C{条件a} C --> |a=1| D[结果1] C --> |a=2| E[结果2] F[竖向流程图] ```
|
3、标准流程图源码格式:
1 2 3 4 5 6 7 8 9 10 11
| ```flow st=>start: 开始框 op=>operation: 处理框 cond=>condition: 判断框(是或否?) sub1=>subroutine: 子流程 io=>inputoutput: 输入输出框 e=>end: 结束框 st->op->cond cond(yes)->io->e cond(no)->sub1(right)->op ```
|
4、标准流程图源码格式(横向):
1 2 3 4 5 6 7 8 9 10 11
| ```flow st=>start: 开始框 op=>operation: 处理框 cond=>condition: 判断框(是或否?) sub1=>subroutine: 子流程 io=>inputoutput: 输入输出框 e=>end: 结束框 st(right)->op(right)->cond cond(yes)->io(bottom)->e cond(no)->sub1(right)->op ```
|
5、UML 时序图源码样例:
1 2 3 4 5 6 7
| ```sequence 对象A->对象B: 对象B你好吗?(请求) Note right of 对象B: 对象B的描述 Note left of 对象A: 对象A的描述(提示) 对象B-->对象A: 我很好(响应) 对象A->对象B: 你真的好吗? ```
|
6、UML 时序图源码复杂样例:
1 2 3 4 5 6 7 8 9 10 11 12 13
| ```sequence Title: 标题:复杂使用 对象A->对象B: 对象B你好吗?(请求) Note right of 对象B: 对象B的描述 Note left of 对象A: 对象A的描述(提示) 对象B-->对象A: 我很好(响应) 对象B->小三: 你好吗 小三-->>对象A: 对象B找我了 对象A->对象B: 你真的好吗? Note over 小三,对象B: 我们是朋友 participant C Note right of C: 没人陪我玩 ```
|
7、UML 标准时序图样例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| ```mermaid %% 时序图例子,-> 直线,-->虚线,->>实线箭头 sequenceDiagram participant 张三 participant 李四 张三->王五: 王五你好吗? loop 健康检查 王五->王五: 与疾病战斗 end Note right of 王五: 合理 食物 <br/>看医生... 李四-->>张三: 很好! 王五->李四: 你怎么样? 李四-->王五: 很好! ```
|
8、甘特图样例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| ```mermaid %% 语法示例 gantt dateFormat YYYY-MM-DD title 软件开发甘特图 section 设计 需求 :done, des1, 2014-01-06,2014-01-08 原型 :active, des2, 2014-01-09, 3d UI设计 : des3, after des2, 5d 未来任务 : des4, after des3, 5d section 开发 学习准备理解需求 :crit, done, 2014-01-06,24h 设计框架 :crit, done, after des2, 2d 开发 :crit, active, 3d 未来任务 :crit, 5d 耍 :2d section 测试 功能测试 :active, a1, after des3, 3d 压力测试 :after a1 , 20h 测试报告 : 48h ```
|
公式
\[
x+y=z
\]
Typora 快捷键: Ctrl+Shift+M
锚点
示例:
1 2
| <a id="anchor"> example </a> [goto example](#anchor)
|
example
goto example
表情
Github 的 Markdown 语法支持添加 emoji 表情,输入不同的符号码(两个冒号包围的字符)可以显示出不同的表情。
比如:blush:,可以显示😊。
具体每一个表情的符号码,可以查询 GitHub 的官方网页 http://www.emoji-cheat-sheet.com。
参考
https://github.com/guodongxiaren/README
https://www.runoob.com/markdown/md-advance.html