鉴于最近 Markdown 使用比较多,在 Github 和这一博客都需要用到 Markdown ,所以写了一篇这一文章来总结下语法。
总述
在 Markdown 中,每一个段落前后都必须是空行,否则按同一段落处理,不换行。 如果在段落中需要换行,则需要加入 <br> 或者在前一行末尾加入至少两个空格。大多数区块如表格都视为一个段落。
标题
标题以 # 为开头的,# 数量代表不同级别标题,最多六级。
1
2
3
4
# 一级标题
## 二级标题
### 三级标题
###### 六级标题
引用
引用在行首用 > 来表明,可以用多个 > 进行嵌套引用。
1
2
> 引用语法
> > 嵌套引用
实际效果:
引用 实际效果
嵌套引用
列表
在每行开头用 * , + , - 代表列表开始。
1
2
3
* 这是列表
+ 加号和星号效果相同
- 减号与星号效果相同
- 列表实际效果
- 我是列表~~
同时可以用” 1. “,” 2. “,来表示带有编号的列表。同时可以在每一层之前加空格实现嵌套。还有可以在之前用 [ ] [x]
来表示完成和未完成的项目。
1
2
3
4
5
6
1. 带编号的列表
2. 文档中数字与生成数字无关
8. 前面编号混乱,生成的仍是顺序的
+ 嵌套效果
+ [ ] 未完成
+ [x] 已完成
- 带编号的列表
- 文档中数字与生成数字无关
- 前面编号混乱,生成的仍是顺序的
- 嵌套效果
- 未完成
- 已完成
分割线
可以用以下几种方式代表分割线。
1
2
3
4
* * *
***
- - -
------------
实际效果:
链接
链接以如下形式表示,链接可以用绝对路径和相对路径,之后双引号内内容可选,表示鼠标放在链接上时解释。
1
2
[文档中显示文字](链接 "介绍")
[链接指向本文档](https://zinglix.xyz/2017/07/21/MD-Syntax/ "介绍在此")
实际效果: 链接指向本文档
图片
图片与链接形式类似,只是在链接之前加一个 ! 以表示图片。链接可以是URL,也可以是文件路径,介绍与链接一样。
1
![图片名](图片链接 “介绍”)
文字特效
文字被不同符号包围会运用不同特效,如下表所示。 被包裹文字不能含有空格,否则不会应用效果。
表示 | 效果 |
---|---|
*斜体* | 测试 |
_斜体_ | 测试 |
**粗体** | 测试 |
__粗体__ | 测试 |
~~划线~~ |
表格
表格以 | 来分割不同方块,第二行控制对齐方式,默认左对齐。两侧的 | 可选。
1
2
3
| 标题 | 标题 | 标题|
|:---|---:|:---:|
:-表示左对齐|-:表示右对齐|:-:表示居中
实际效果:
标题 | 标题 | 标题 |
---|---|---|
:- - - 表示左对齐 | - - -: 表示右对齐 | :- - -: 表示居中 |
代码块
代码块以 ~~~ 包围,如下所示,同时也是代码块实际效果。
1
2
3
~~~
代码放这
~~~
或者可以如下所示,用三个 ` 来代替 ~~~ ,同时可以在开头加上语言名称来实现高亮(可能需要其他相应插件来配合,如 Rouge)。
1
2
3
4
5
6
7
8
``` C++
#include <iostream>
int main(){
std::cout << "Test";
return 0;
}
```
实际效果:
1
2
3
4
5
6
#include <iostream>
int main(){
std::cout << "Test";
return 0;
}
转义
由之前介绍可以看出,特殊效果均以某个符号为标志,那么当真的需要输入这一符号又会遇到歧义时,则需要转义。 转义符号为 \ ,在需要被转义的符号前加一个 \ 即可完成转义。比如需要 * 时,则需要在编辑器中输入 \* 。 可能需要被转义的有 \ ` * _ {} [] () + - . ! 。