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;
}
```
呈现的输出如上面代码块所示。