Markdown语法指南

主要可参考官方的语法,见链接Markdown 基本语法官方教程。下面先列出Markdown的速查表,然后举例说明几项重要语法的使用。要注意的是mdbook目前还有一些与官方语法不完全兼容的地方需要特别注意。以下仅列出最常用的几种语法供参考。

语法速查表

这些是 John Gruber 的原始设计文档中列出的元素。所有 Markdown 应用程序都支持这些元素。

元素Markdown 语法
标题(Heading)# H1## H2### H3
粗体(Bold)**bold text**
斜体(Italic)*italicized text*
引用块(Blockquote)> blockquote
有序列表(Ordered List)1. First item 2. Second item 3. Third item
无序列表(Unordered List)- First item- Second item- Third item
代码(Code)code
分隔线(Horizontal Rule)---
链接(Link)[title](https://www.example.com)
图片(Image)![alt text](image.jpg)

Markdown 标题语法

要创建标题,请在单词或短语前面添加井号 (#) 。# 的数量代表了标题的级别。例如,添加三个 # 表示创建一个三级标题 (<h3>) (例如:### My Header)。

Markdown语法HTML预览效果
# Heading level 1<h1>Heading level 1</h1>Heading level 1
## Heading level 2<h2>Heading level 2</h2>Heading level 2
### Heading level 3<h3>Heading level 3</h3>Heading level 3
#### Heading level 4<h4>Heading level 4</h4>Heading level 4
##### Heading level 5<h5>Heading level 5</h5>Heading level 5
###### Heading level 6<h6>Heading level 6</h6>Heading level 6

换行(Line Break)用法的最佳实践

几乎每个 Markdown 应用程序都支持两个或多个空格进行换行,称为 结尾空格(trailing whitespace) 的方式,但这是有争议的,因为很难在编辑器中直接看到空格,并且很多人在每个句子后面都会有意或无意地添加两个空格。由于这个原因,你可能要使用除结尾空格以外的其它方式来换行。幸运的是,几乎每个 Markdown 应用程序都支持另一种换行方式:HTML 的 <br> 标签。

为了兼容性,请在行尾添加“结尾空格”或 HTML 的 <br> 标签来实现换行。

还有两种其他方式我并不推荐使用。CommonMark 和其它几种轻量级标记语言支持在行尾添加反斜杠 (\) 的方式实现换行,但是并非所有 Markdown 应用程序都支持此种方式,因此从兼容性的角度来看,不推荐使用。并且至少有两种轻量级标记语言支持无须在行尾添加任何内容,只须键入回车键(return)即可实现换行。

Markdown 引用语法

要创建块引用,请在段落前添加一个 > 符号。

> 飞流直下三千尺,疑似银河落九天。

渲染效果如下所示:

飞流直下三千尺,疑似银河落九天。

Markdown 列表语法

可以将多个条目组织成有序或无序列表。

有序列表

要创建有序列表,请在每个列表项前添加数字并紧跟一个英文句点。数字不必按数学顺序排列,但是列表应当以数字 1 起始。

Markdown语法HTML预览效果
1. First item2. Second item3. Third item4. Fourth item<ol><li>First item</li><li>Second item</li><li>Third item</li><li>Fourth item</li></ol>First itemSecond itemThird itemFourth item
1. First item1. Second item1. Third item1. Fourth item<ol><li>First item</li><li>Second item</li><li>Third item</li><li>Fourth item</li></ol>First itemSecond itemThird itemFourth item
1. First item8. Second item3. Third item5. Fourth item<ol><li>First item</li><li>Second item</li><li>Third item</li><li>Fourth item</li></ol>First itemSecond itemThird itemFourth item
1. First item2. Second item3. Third item 1. Indented item 2. Indented item4. Fourth item<ol><li>First item</li><li>Second item</li><li>Third item<ol><li>Indented item</li><li>Indented item</li></ol></li><li>Fourth item</li></ol>First itemSecond itemThird itemIndented itemIndented itemFourth item

无序列表

要创建无序列表,请在每个列表项前面添加破折号 (-)、星号 (*) 或加号 (+) 。缩进一个或多个列表项可创建嵌套列表。

Markdown语法HTML预览效果
- First item- Second item- Third item- Fourth item<ul><li>First item</li><li>Second item</li><li>Third item</li><li>Fourth item</li></ul>First itemSecond itemThird itemFourth item
* First item* Second item* Third item* Fourth item<ul><li>First item</li><li>Second item</li><li>Third item</li><li>Fourth item</li></ul>First itemSecond itemThird itemFourth item
+ First item+ Second item+ Third item+ Fourth item<ul><li>First item</li><li>Second item</li><li>Third item</li><li>Fourth item</li></ul>First itemSecond itemThird itemFourth item
- First item- Second item- Third item - Indented item - Indented item- Fourth item<ul><li>First item</li><li>Second item</li><li>Third item<ul><li>Indented item</li><li>Indented item</li></ul></li><li>Fourth item</li></ul>First itemSecond itemThird itemIndented itemIndented itemFourth item

Markdown 代码语法

要将单词或短语表示为代码,请将其包裹在反引号 (```) 中。

Markdown语法HTML预览效果
At the command prompt, type nano.At the command prompt, type <code>nano</code>.At the command prompt, type nano.

转义反引号

如果你要表示为代码的单词或短语中包含一个或多个反引号,则可以通过将单词或短语包裹在双反引号(````)中。

Markdown语法HTML预览效果
Use `code` in your Markdown file.<code>Use code in your Markdown file.</code>Use code in your Markdown file.

代码块

Markdown基本语法允许您通过将行缩进四个空格或一个制表符来创建代码块。如果发现不方便,请尝试使用受保护的代码块。根据Markdown处理器或编辑器的不同,您将在代码块之前和之后的行上使用三个反引号((`````)或三个波浪号(~~~)。

```
#include <stdio.h>
int main() {
   // printf() displays the string inside quotation
   printf("Hello, World!");
   return 0;
}
```

呈现的输出如下所示:

#include <stdio.h>
int main() {
   // printf() displays the string inside quotation
   printf("Hello, World!");
   return 0;
}

语法高亮

许多Markdown处理器都支持受围栏代码块的语法突出显示。使用此功能,您可以为编写代码的任何语言添加颜色突出显示。要添加语法突出显示,请在受防护的代码块之前的反引号旁边指定一种语言。

```c
#include <stdio.h>
int main() {
   // printf() displays the string inside quotation
   printf("Hello, World!");
   return 0;
}
```

呈现的输出如上面代码块所示。