Markdown语法

标题

第一种写法:setext风格

1
2
3
4
5
6
这是一个一级标题
=======================

这是一个二级标题
-----------------------

第二种写法:atx风格

在行首加#号表示不同级别的标题(H1~H6)

1
2
3
4
5
6
# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题

文本样式

样式 语法 输出
加粗 **粗体文本**__粗体文本__ 粗体文本
斜体 *斜体文本*_斜体文本_ 斜体文本
删除线 ~~删除线~~ 删除线
粗体和嵌入的斜体 **此文本_非常_重要** 此文本_非常_重要
全部粗体和斜体 ***所有这些文本都很重要*** 所有这些文本都很重要
下标 这是<sub>下标</sub>文本 这是下标文本
上标 这是<sup>上标</sup>文本 这是上标文本

水平线

你可以在一行中用三个以上的*-_来建立一个水平线,行内不能有其他东西。你也可以在星号、减号中间插入空格。下面每种写法都可以建立水平线:
代码:

1
2
3
4
5
6
7
8
9
* * *

***

---

- - —

________________________

显示效果:


超链接

Markdown支持两种形式的链接语法:行内式和参考式两种形式,行内式一般使用较多。

行内式

语法说明:
[描述](链接地址 "链接标题")[] 里写链接文字,() 里写链接地址,() ""中可以为链接指定标题属性,标题属性可加可不加。标题属性的效果是鼠标悬停在链接上会出现指定的标题文字。链接地址与链接标题前有一个空格。
代码:

1
2
欢迎来到[Markdown语法学习](https://blog.caodong.me/2021/03/22/Markdown语法学习)
欢迎来到[Markdown语法学习](https://blog.caodong.me/2021/03/22/Markdown语法学习 “Markdown语法学习”)

显示效果:
欢迎来到Markdown语法学习
欢迎来到Markdown语法学习

参考式

参考式超链接一般用在学术论文上面,或者另一种情况,如果某一个链接在文章中多处使用,那么使用引用的方式创建链接非常好,他可以让你对链接进行统一的管理。
语法说明
参考式链接分为两部分,文中的写法[链接文字][链接标记],然后在文本的任意位置(最好尾部)添加[链接标记]: 链接地址 "连接标题",链接地址与链接标题前有一个空格。
如果链接文字本身可以做为链接标记,你也可以写成[链接文字][] [链接文字]:链接地址的形式,见代码的最后一个行。
代码:

1
2
3
4
5
6
7
8
我经常去的几个网站[Google][1]、[Github][2]
[Github][2]是一个不错的程序员交流[平台][]
[我的博客][3]

[1]: https://www.google.com "Google"
[2]: https://github.com "Github"
[3]: https://blog.caodong.me "技术随笔"
[平台]: https://github.com

显示效果:
我经常去的几个网站GoogleGithub
Github是一个不错的程序员交流平台
我的博客

自动链接

语法说明:
Markdown支持以比较简短的自动链接形式来处理网址和电子邮件信箱,只要用<>包起来,Markdown就会自动把它转成链接。一般网址的链接文字就和链接地址一样,例如:
代码:

1
2
3
<https://www.google.com>
<https://github.com>
<caodong1991@gmail.com>

显示效果:
https://www.google.com
https://github.com

caodong1991@gmail.com


插入图像

同超链接一样支持两种形式的链接语法,行内式和参考式两种形式,还支持 htmlimg 标签

行内式

语法:
![图片描述](图片地址 "图片标题")

语法中图片描述的意思是如果图片因为某些原因不能显示,就用定义的图片描述文字来代替图片。图片的标题表示鼠标悬停与图片上时出现的文字。描述和标题都不是必须的,建议写上。

代码:

1
![南锣鼓巷](https://resources.caodong.me/images/20210702161358.jpeg "南锣鼓巷")

显示效果:
南锣鼓巷:
南锣鼓巷

参考式

语法说明:
在文档要插入图片的地方写![图片描述][标记],在文档的最后写上[标记]:图片地址 "图片标题"
代码:

1
2
3
![南锣鼓巷][NanluoguLane]

[NanluoguLane]:https://resources.caodong.me/images/20210702161358.jpeg "南锣鼓巷"

显示效果:
南锣鼓巷

img标签

使用HTMLimg 标签实现。src 是图片地址,alt 是图片描述,title 是图片标题。

代码:

1
<img src="https://resources.caodong.me/images/20210702161358.jpeg" alt="南锣鼓巷" title="南锣鼓巷">

显示效果:

南锣鼓巷

目录

[toc] 将创建一个目录部分,自动从文档内容中提取所有标题,其内容会自动更新。

脚注

语法说明

在需要添加注脚的文字后加上[^注脚名字],称为加注。 然后在文本的任意位置(一般在最后)添加脚注, 脚注前必须有对应的脚注名字。

经测试注脚与注脚之间必须空一行, 不然会失效。成功后会发现, 即使你没有把注脚写在文末, 经Markdown转换后, 也会自动归类到文章的最后。

代码

1
2
3
您可以像这样创建脚注[^footnote].

[^footnote]: 这里是脚注。

显示效果

您可以像这样创建脚注^footnote.

引用

语法说明:
引用需要在被引用的文本前加上>符号。
代码:

1
2
3
4
5
6
> 这是一个有两段文字的引用,
> 无意义的占行文字1
> 无意义的占行文字2

> 无意义的占行文字3
> 无意义的占行文字4

显示效果:

这是一个有两段文字的引用,
无意义的占行文字1
无意义的占行文字2

无意义的占行文字3
无意义的占行文字4

Markdown也允许你偷懒只在整个段落的第一行最前面加上 > :
代码:

1
2
3
4
5
6
> 这是一个有两段文字的引用,
无意义的占行文字1
无意义的占行文字2

> 无意义的占行文字3
无意义的占行文字4

显示效果:

这是一个有两段文字的引用,
无意义的占行文字1
无意义的占行文字2

无意义的占行文字3
无意义的占行文字4

引用的多层嵌套

区块引用可以嵌套,只要根据层次加上不同数量的 > :
代码:

1
2
3
4
5
>>> 请问 Markdown 怎么用? - 小白

>> 自己看教程! - > 愤青

> 教程在哪? - > 小白

显示效果:

请问Markdown怎么用? - 小白

自己看教程! - > 愤青

教程在哪? - > 小白

引用其他要素

引用的区域块内也可以使用其他的 Markdown 语法,包括标题,列表,代码块等:
代码:

1
2
3
4
5
6
> 1.    这是第一行列表项
> 2. 这是第二行列表项
>
> 给出一些例子代码:
>
> var name = "caodong"

显示效果:

  1. 这是第一行列表项
  2. 这是第二行列表项

给出一些例子代码:

var name = "caodong"

列表

无序列表

使用*,+,-表示无序列表
代码:

1
2
3
- 无序列表一
* 无序列表二
+ 无序列表三

显示效果:

  • 无序列表一
  • 无序列表二
  • 无序列表三

有序列表

有序列表则使用数字接着一个英文句点。
代码:

1
2
3
1. 有序列表一
2. 有序列表二
3. 有序列表三

显示效果:

  1. 有序列表一
  2. 有序列表二
  3. 有序列表三

任务列表

使用带有 [ ] 或 [x] (未完成或已完成)项的列表语法撰写一个待办事宜列表,并且支持子列表嵌套以及混用Markdown语法,

代码:

1
2
- [ ] 还未完成任务项
- [x] 已完成任务项

显示效果:

  • 还未完成任务项

  • 已完成任务项

列表的多层嵌套

通过在一个列表项下面缩进一个或多个其他列表项,可创建嵌套列表。

无序列表的多层嵌套

代码:

1
2
3
4
5
6
- 无序列表
- 无序列表
- 无序列表
- 无序列表
- 无序列表
- 无序列表

显示效果:

  • 无序列表
    • 无序列表
      • 无序列表
  • 无序列表
    • 无序列表
      • 无序列表

有序列表的多层嵌套

代码:

1
2
3
4
5
6
1. 有序列表
1. 有序列表
1. 有序列表
1. 有序列表
1. 有序列表
1. 有序列表

显示效果:

  1. 有序列表
    1. 有序列表
      1. 有序列表
  2. 有序列表
    1. 有序列表
      1. 有序列表

任务列表的多层嵌套

代码:

1
2
3
4
5
6
7
- [ ] 总任务1
- [ ] 未完成任务
- [x] 已完成任务项
- [ ] 总任务2
- [ ] 未完成任务
- [x] 已完成任务项

显示效果:

  • 总任务1

    • 未完成任务
      • 已完成任务项

  • 总任务2

    • 未完成任务
    • 已完成任务项

包含引用的列表

语法说明:
如果要在列表项目内放进引用,那>就需要缩进:
代码:

1
2
3
*   阅读的方法
> 打开本书
>打开电灯

显示效果:

  • 阅读的方法

    打开本书
    打开电灯

表格

语法说明:

可以使用竖线 | 和连字符 - 创建表格,连字符用于创建每列的标题,而竖线用于分隔每列。 必须在表格前包含空白链接,以便其正确呈现。第一行为表头,第二行为分隔表头和主体部分,第三行开始每一行为一个表格行。

代码:

1
2
3
4
5
|学号|姓名|分数|
|-|-|-|
|10001|王炸|45|
|10002|靓靓|95|
|10003|恶魔|78|

显示效果:

学号 姓名 分数
10001 王炸 45
10002 靓靓 95
10003 恶魔 78

可以把每行的左侧和右侧竖线 | 忽略完成简写:

代码:

1
2
3
4
5
学号|姓名|分数
-|-|-
10001|王炸|45
10002|靓靓|95
10003|恶魔|78

显示效果:

学号 姓名 分数
10001 王炸 45
10002 靓靓 95
10003 恶魔 78

可以通过在标题行中连字符的左侧、右侧或两侧添加冒号 :,来靠左、靠右或居中对齐列中的文本,默认靠左。

代码:

1
2
3
4
5
学号|姓名|分数
-|:-:|-:
10001|王炸|45
10002|靓靓|95
10003|恶魔|78

显示效果:

学号 姓名 分数
10001 王炸 45
10002 靓靓 95
10003 恶魔 78

代码高亮

内联代码

在一般的段落文字中,可以使用反引号 ` 来标记或插入代码区段。

代码:

1
C语言里的函数`scanf()`怎么使用。

显示效果
C语言里的函数scanf()怎么使用。

多行代码

在需要高亮的代码块的前一行及后一行使用三个反引号 ```(~ 键),同时第一行反引号后面,输入代码块所使用的语言,实现代码高亮。

代码:

1
2
3
4
、、、Swift
var name = "Dong"
let number = 1
、、、

显示效果:

1
2
var name = "Dong"
let number = 1

LaTeX 公式

内联公式

使用 $ 来包裹TeX命令

代码:

1
$\lim_{x \to \infty} \exp(-x) = 0$ 

显示效果

$\lim_{x \to \infty} \exp(-x) = 0$

公式块

代码:

1
2
3
4
5
6
7
$$
\mathbf{V}_1 \times \mathbf{V}_2 = \begin{vmatrix}
\mathbf{i} & \mathbf{j} & \mathbf{k} \\
\frac{\partial X}{\partial u} & \frac{\partial Y}{\partial u} & 0 \\
\frac{\partial X}{\partial v} & \frac{\partial Y}{\partial v} & 0 \\
\end{vmatrix}
$$

显示效果
$$
\mathbf{V}_1 \times \mathbf{V}_2 = \begin{vmatrix}
\mathbf{i} & \mathbf{j} & \mathbf{k} \
\frac{\partial X}{\partial u} & \frac{\partial Y}{\partial u} & 0 \
\frac{\partial X}{\partial v} & \frac{\partial Y}{\partial v} & 0 \
\end{vmatrix}
$$

HTML原始码

在代码区块里面,&、<和>会自动转成HTML实体,这样的方式很容易使用Markdown插入范例用的HTML原始码,只需要复制粘贴上,剩下的Markdown都会帮你处理,例如:

第一个例子:

代码:

1
2
3
<div class="footer">
© 2023 Foo Corporation
</div>

显示效果:

© 2004 Foo Corporation

第二个例子:

代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
<table>
<tr>
<th rospan="2">值班人员</th>
<th>星期一</th>
<th>星期二</th>
<th>星期三</th>
</tr>
<tr>
<td>李强</td>
<td>张明</td>
<td>王平</td>
</tr>
</table>

显示效果:

值班人员 星期一 星期二 星期三
李强 张明 王平