引言

Markdown 的权威介绍 Markdown Syntax,中文版 Markdown 语法说明,本文只是把常用的一些语法总结一下,适合新手快速入门。

插入标题

Markdown 支持在行首插入 1 到 6 个 #来表示 1 到 6 级标题,例如:

## 这是 H2
### 这是 H3
###### 这是 H6

显示效果:

这是 H2

这是 H3

这是 H6

你可以选择性地「闭合」样式的标题,这纯粹只是美观用的,若是觉得这样看起来比较舒适,你就可以在行尾加上#,而行尾的# 数量也不用和开头一样。

段落和换行

一个 Markdown 段落是由一个或多个连续的文本行组成,它的前后要有一个以上的空行。Markdown 对换行的处理和其他大部分的 text-to-HTML 格式不太一样,其他的格式会把每个换行自动转换为<br/>标签,而 Markdown 对换行的处理原则是:在换行处需插入两个及以上的空格再回车。例如:

其实我想换行(一个空格 + 回车)
但是没用成功

显示效果:
其实我想换行(一个空格 + 回车) 但是没用成功

再试一次(两个空格 + 回车)
成功换行

显示效果:
再试一次(两个空格 + 回车)
成功换行

插入列表

Markdown 支持有序列表和无序列表。无序列表使用*+-作为列表标记,且标记后面要有一个空格,例如:

* 星号Red
* 星号Green
* 星号Blue
+ 加号Red
+ 加号Green
+ 加号Blue
- 减号Red
- 减号Green
- 减号Blue

显示效果:

  • 星号Red
  • 星号Green
  • 星号Blue
  • 加号Red
  • 加号Green
  • 加号Blue
  • 减号Red
  • 减号Green
  • 减号Blue

有序列表则使用数字接着一个英文句点,而且你在列表标记上使用的数字并不会影响输出的 HTML 结果,例如:

2. Red
1. Green
3. Blue

显示结果:

  1. Red
  2. Green
  3. Blue

插入引用

Markdown 的引用是在行首插入>,例如:

>锄禾日当午,汗滴禾下土。
>谁知盘中餐,粒粒皆辛苦。

显示效果:

锄禾日当午,汗滴禾下土。
谁知盘中餐,粒粒皆辛苦。

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

>锄禾日当午,汗滴禾下土。(换行处要留有 2 个及以上空格)  
谁知盘中餐,粒粒皆辛苦。

显示效果:

锄禾日当午,汗滴禾下土。
谁知盘中餐,粒粒皆辛苦。

区块引用可以嵌套(例如:引用内的引用),只要根据层次加上不同数量的> :

> 一级引用内容
>
> > 二级引用内容  
>
> 一级引用内容

显示效果:

一级引用内容

二级引用内容

一级引用内容

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

> ## 这是一个二级标题。
>
> 1. 这是第一行列表项。
> 2. 这是第二行列表项。
>
> 下面是一个代码块:
>
>     return "Hello Markdown!";

显示效果:

这是一个二级标题。

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

下面是一个代码块:

return "Hello Markdown!";

添加链接

Markdown 的链接格式为:[展现的内容](链接的地址)。要建立一个链接,只要在方块括号后面紧接着圆括号并插入网址链接即可,如果你还想要加上链接的 title 文字,只要在网址后面,用双引号把 title 文字包起来即可,例如:

我的博客地址 [大圣爱吃桃](http://monkeypitao.com/ "鼠标 hover 上去会显示该内容")

显示效果:
我的博客地址 大圣爱吃桃

如果想要链接到本机的资源,可以使用相对路径:

博客的关于页 [about](/about/)

显示效果:
博客的关于页 about

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

网址:<http://monkeypitao.com/>  
邮箱:<monkeypitao@gmail.com>

显示效果:
网址:http://monkeypitao.com/
邮箱:monkeypitao@gmail.com

强调

Markdown 使用星号*和底线_作为标记强调字词的符号,被一个*_包围的字词会被转成用<em>标签包围,被两个*_包起来的话,则会被转成<strong>,但是如果你的*_两边都有空白的话,它们就只会被当成普通的符号,例如:

*我要强调一下*
_我要再强调一下_
**我要重点强调一下**
__我要重点再强调一下__

显示效果:
我要强调一下
我要再强调一下
我要重点强调一下
我要重点再强调一下

插入代码块

如果要标记一小段行内代码,你可以用反引号`把它包起来,例如:

这里的`Func()`是一个函数

显示结果:
这里的Func()是一个函数

要在 Markdown 中建立代码区块也很简单,只要缩进 4 个空格或是 1 个制表符就可以,但要注意代码段和普通段落之间要留有一个及以上的空行,例如,下面的输入:

这是一个普通段落:(注意此处留有 2 个以上空格和换行)

    这是一个代码区块。

显示结果:
这是一个普通段落:(注意此处留有 2 个以上空格和换行)

这是一个代码区块。

还有一种比较简洁的方式插入代码块,比较适合插入大段代码的情况,不用每行去加 4 个空格或者是制表符,只需要在开头单独一行和结尾单独一行插入 ```

插入图片

Markdown 使用一种和链接很相似的语法来标记图片,具体格式为![](),其中一个惊叹号!接着一个方括号[],里面放上图片的替代文字
接着一个普通括号(),里面放上图片的网址,最后还可以用引号包住并加上选择性的 ‘title’ 文字,例如:

![示例图片](http://monkeypitao.com/wp-content/uploads/2019/12/2020-landscape-1-1.png)

显示结果:

到目前为止, Markdown 还没有办法指定图片的宽高,如果你需要的话,你可以使用普通的<img>标签。

插入表格

| 一个普通标题 | 一个普通标题 | 一个普通标题 |
| ------| ------ | ------ |
| 短文本 | 中等文本 | 稍微长一点的文本 |
| 稍微长一点的文本 | 短文本 | 中等文本 |
一个普通标题一个普通标题一个普通标题
短文本中等文本稍微长一点的文本
稍微长一点的文本短文本中等文本

| 左对齐标题 | 右对齐标题 | 居中对齐标题 |
| :------| ------: | :------: |
| 短文本 | 中等文本 | 稍微长一点的文本 |
| 稍微长一点的文本 | 短文本 | 中等文本 |
左对齐标题右对齐标题居中对齐标题
短文本中等文本稍微长一点的文本
稍微长一点的文本短文本中等文本

语法说明:

  • |-:之间的多余空格会被忽略,不影响布局。
  • 默认标题栏居中对齐,内容居左对齐。
  • -:表示内容和标题栏居右对齐,:-表示内容和标题栏居左对齐,:-:表示内容和标题栏居中对齐。
  • 内容和|之间的多余空格会被忽略,每行第一个|和最后一个|可以省略,-的数量至少有一个。

反斜杠转义

介绍完前面各种标记格式,相信有人心里会有疑问:如果我想在正文显示上面的标记该怎么办,例如我就想显示 *Hello Markdown* ,但被显示成 Hello Markdown*被当成了重点标记。Markdown 是支持反斜杠转义的,可被转义的字符包括:

\   反斜线
`   反引号
*   星号
_   底线
{}  花括号
[]  方括号
()  括弧
#   井字号
+   加号
-   减号
.   英文句点
!   惊叹号

所以上面那种情况,你就可以输入\*Hello Markdown\*,就会被显示为:*Hello Markdown*。

Markdown 免费编辑器

Markdown 语法说明里面有介绍各个平台的 Markdown 免费编辑器,这里就不再列出。