markdown基本语法
本文参考Markdown官方教程
Markdown 基本语法
Markdown是一种轻量级标记语言,排版语法简洁,让人们更多地关注内容本身而非排版。它使用易读易写的纯文本格式编写文档,可与HTML混编,可导出 HTML、PDF 以及本身的 .md 格式的文件。因简洁、高效、易读、易写,Markdown被大量使用,如Github、Wikipedia、简书等。
Markdown 标题语法
要创建标题,请在标题前面添加井号 (#) 。# 的数量代表了标题的级别。不同的 Markdown 应用程序处理 # 和标题之间的空格方式并不一致。为了兼容考虑,请用一个空格在 # 和标题之间进行分隔。
1 | # 一级标题 |
还可以在文本下方添加任意数量的 == 号来标识一级标题,或者 – 号来标识二级标题。
1 | 一级标题 |
Markdown 段落
要创建段落,请使用空白行将一行或多行文本进行分隔。不要用空格(spaces)或制表符( tabs)缩进段落。
Markdown 换行语法
在一行的末尾添加两个或多个空格,然后按回车键,即可创建一个换行。
Markdown 强调语法
通过将文本设置为粗体或斜体来强调其重要性。
粗体(Bold)
要加粗文本,请在单词或短语的前后各添加两个星号(asterisks)。如需加粗一个单词或短语的中间部分用以表示强调的话,请在要加粗部分的两侧各添加两个星号(asterisks)。
1 | **粗体文本** |
渲染效果如下:
粗体文本
斜体(Italic)
要用斜体显示文本,请在单词或短语前后添加一个星号(asterisk)。要斜体突出单词的中间部分,请在字母前后各添加一个星号,中间不要带空格。
1 | *斜体文本* |
渲染效果如下:
斜体文本
粗体(Bold)和斜体(Italic)
要同时用粗体和斜体突出显示文本,请在单词或短语的前后各添加三个星号。要加粗并用斜体显示单词或短语的中间部分,请在要突出显示的部分前后各添加三个星号,中间不要带空格。
1 | ***粗斜体文本*** |
渲染效果如下:
粗斜体文本
Markdown 引用语法
要创建块引用,请在段落前添加一个 > 符号。
1 | > 这是一个块引用。 |
渲染效果如下:
这是一个块引用。
多个段落的块引用
块引用可以包含多个段落。为段落之间的空白行添加一个 > 符号。
1 | > 这是一个块引用。 |
渲染效果如下:
这是一个块引用。
这是另一个段落。
嵌套块引用
块引用可以嵌套。在要嵌套的段落前添加一个 >> 符号。
1 | > 这是一个块引用。 |
渲染效果如下:
这是一个块引用。
这是嵌套的块引用。
带有其他元素的块引用
块引用可以包含其他 Markdown 格式的元素。并非所有元素都可以使用,你需要进行实验以了解哪些元素有效。
1 | > #### 四级标题 |
渲染效果如下:
四级标题
- 无序列表
斜体 粗体 粗斜体
这是一个块引用,它包含一个 链接。
Markdown 列表语法
可以将多个条目组织成有序或无序列表。
有序列表
要创建有序列表,请在每个列表项前添加数字并紧跟一个英文句点。数字不必按数学顺序排列,但是列表应当以数字 1 起始。缩进一个或多个列表项可创建嵌套列表。
1 | 1. 第一项 |
渲染效果如下:
- 第一项
- 第二项
- 第三项
- 第一项
- 第二项
- 第三项
无序列表
要创建无序列表,请在每个列表项前面添加破折号 (-)、星号 (*) 或加号 (+) 。缩进一个或多个列表项可创建嵌套列表。
1 | - 第一项 |
渲染效果如下:
- 第一项
- 第二项
- 第三项
- 第一项
- 第二项
- 第三项
Markdown 代码语法
要将单词或短语表示为代码,请将其包裹在反引号 (`) 中。
1 | `代码` |
渲染效果如下:代码
转义反引号
如果你要表示为代码的单词或短语中包含一个或多个反引号,则可以通过将单词或短语包裹在双反引号(``)中。
1 | ``代码`代码`代码`` |
渲染效果如下:代码`代码`代码
代码块
要创建代码块,请将代码块的每一行缩进至少四个空格或一个制表符。
1 | 这是一个代码块,由四个空格或一个制表符缩进。 |
渲染效果如下:
这是一个代码块,由四个空格或一个制表符缩进。
Markdown 分隔线语法
要创建分隔线,请在单独一行上使用三个或多个星号 (***)、破折号 (—) 或下划线 (___) ,并且不能包含其他内容。
1 | *** |
以上三个分隔线的渲染效果看起来都一样:
Markdown 链接语法
链接文本放在中括号内,链接地址放在后面的括号中,链接title可选。
超链接Markdown语法代码:[超链接显示名](超链接地址 “超链接title”)
1 | [超链接显示名](超链接地址 "超链接title") |
渲染效果如下:
超链接显示名
给链接增加 Title
链接title是当鼠标悬停在链接上时会出现的文字,这个title是可选的,它放在圆括号中链接地址后面,跟链接地址之间以空格分隔。
网址和Email地址
使用尖括号可以很方便地把URL或者email地址变成可点击的链接。
1 | <https://markdown.com.cn> |
渲染效果如下:
https://markdown.com.cn
fake@example.com
带格式化的链接
强调链接, 在链接语法前后增加星号。要将链接表示为代码,请在方括号中添加反引号
1 | *[超链接显示名](超链接地址 "超链接title")* |
渲染效果如下:
超链接显示名[超链接显示名](超链接地址 "超链接title")
引用类型链接
引用样式链接是一种特殊的链接,它使URL在Markdown中更易于显示和阅读。参考样式链接分为两部分:与文本保持内联的部分以及存储在文件中其他位置的部分,以使文本易于阅读。
链接的第一部分格式
引用类型的链接的第一部分使用两组括号进行格式设置。第一组方括号包围应显示为链接的文本。第二组括号显示了一个标签,该标签用于指向您存储在文档其他位置的链接。
在第一组和第二组括号之间包含一个空格。第二组括号中的标签不区分大小写,可以包含字母,数字,空格或标点符号。
1 | [链接文本][链接标签] |
渲染效果如下:
[百度][1]
链接的第二部分格式
可以将链接的第二部分放在Markdown文档中的任何位置。有些人将它们放在出现的段落之后,有些人则将它们放在文档的末尾(例如尾注或脚注)。
引用类型链接的第二部分使用以下属性设置格式:
1.放在括号中的标签,其后紧跟一个冒号和至少一个空格(例如[label]:)。
2.链接的URL,可以选择将其括在尖括号中。
3.链接的可选标题,可以将其括在双引号,单引号或括号中。
以下示例格式对于链接的第二部分效果相同:
1 | [链接标签]: 链接地址 |
渲染效果如下:
[1]: https://www.baidu.com “百度”
Markdown 图片语法
要添加图像,请使用感叹号 (!), 然后在方括号增加替代文本,图片链接放在圆括号里,括号里的链接后可以增加一个可选的图片标题文本。
图片存储在/source/image/文件夹下,图片链接为/image/图片名
1 | 。 |
渲染效果如下:
链接图片
给图片增加链接,请将图像的Markdown 括在方括号中,然后将链接添加在圆括号中。
1 | [](链接地址) |
Markdown 转义字符语法
要显示原本用于格式化 Markdown 文档的字符,请在字符前面添加反斜杠字符 \ 。
1 | \* 用来创建无序列表 |
渲染效果如下:
* 用来创建无序列表
可做转义的字符
以下列出的字符都可以通过使用反斜杠字符从而达到转义目的。
字符 | 名称 |
---|---|
\ | 反斜杠 |
` | 反引号 |
* | 星号 |
_ | 下划线 |
{ } | 花括号 |
[ ] | 方括号 |
( ) | 圆括号 |
# | 井号、Pound 符号(也常叫 “井字符” ,在 Markdown 里用于标题等) |
+ | 加号 |
- | 减号、连字符(也常用作列表标记等 ) |
. | 句点、点号 |
! | 感叹号 |
| | 竖线、管道符(另见表格中竖线的转义 ) |
特殊字符自动转义
在 HTML 文件中,有两个字符需要特殊处理: <
和 &
。 <
符号用于起始标签,&
符号则用于标记 HTML 实体,如果你只是想要使用这些符号,你必须要使用实体的形式,像是 <
和 &
。&
符号其实很容易让写作网页文件的人感到困扰,如果你要打「AT&T」 ,你必须要写成「AT&T」
,还得转换网址内的 &
符号,如果你要链接到:
1 | http://images.google.com/images?num=30&q=larry+bird |
你必须要把网址转成:
1 | http://images.google.com/images?num=30&q=larry+bird |
才能放到链接标签的 ‘href’ 属性里。不用说也知道这很容易忘记,这也可能是 HTML 标准检查所检查到的错误中,数量最多的。
Markdown 允许你直接使用这些符号,它帮你自动转义字符。如果你使用 &
符号的作为 HTML 实体的一部分,那么它不会被转换,而在其它情况下,它则会被转换成 &
。所以你如果要在文件中插入一个著作权的符号,你可以这样写:
1 | © |
渲染效果如下:
©
Markdown 将不会对这段文字做修改,但是如果你这样写:
1 | AT&T |
Markdown 就会将它转成:
1 | AT&T |
渲染效果1
AT&T
渲染效果2
AT&T
类似的状况也会发生在 <
符号上,因为 Markdown 支持行内HTML,如果你使用 <
符号作为 HTML 标签的分隔符,那Markdown也不会对它做任何转换,但是如果你是写:
1 | 4 < 5 |
Markdown 将会把它转成:
1 | 4 < 5 |
渲染效果1
4 < 5
渲染效果2
4 < 5
需要特别注意的是,在Markdown的块级元素和内联元素中, <
和 &
两个符号都会被自动转换成 HTML实体,这项特性让你可以很容易地用Markdown写HTML。(在HTML语法中,你要手动把所有的 <
和 &
都转换为HTML实体。
Markdown 内嵌HTML标签
对于 Markdown 涵盖范围之外的标签,都可以直接在文件里面用 HTML 本身。如需使用 HTML,不需要额外标注这是 HTML 或是 Markdown,只需 HTML 标签添加到 Markdown 文本中即可。
行级内联标签
HTML的行级內联标签如 <span>
、<cite>
、<del>
不受限制,可以在Markdown的段落、列表或是标题里任意使用。依照个人习惯,甚至可以不用Markdown格式,而采用HTML标签来格式化。例如:如果比较喜欢HTML的 <a>
或 <img>
标签,可以直接使用这些标签,而不用Markdown提供的链接或是图片语法。当你需要更改元素的属性时(例如为文本指定颜色或更改图像的宽度),使用 HTML 标签更方便些。
HTML 行级內联标签和区块标签不同,在內联标签的范围内, Markdown 的语法是可以解析的。
1 | *斜体* <em>斜体</em> |
渲染效果如下:
斜体 斜体
区块标签
区块元素──比如 <div>
、<table>
、<pre>
、<p>
等标签,必须在前后加上空行,以便于内容区分。而且这些元素的开始与结尾标签,不可以用tab或是空白来缩进Markdown会自动识别这区块元素,避免在区块标签前后加上没有必要的 <p>
标签。
例如,在 Markdown 文件里加上一段 HTML 表格:
1 | 这是一个普通的段落。 |
1渲染效果如下:
这是一个普通的段落。
Foo |
这是另一个普通的段落。
请注意,Markdown语法在HTML区块标签中将不会被进行处理。例如,你无法在HTML区块内使用 Markdown形式的*强调*
。
Markdown 扩展语法
基本语法主要是为了应付大多数情况下的日常所需元素,但对于某些人来说还不够,这就是扩展语法的用武之地。
一些个人和组织开始通过添加其他元素(例如表,代码块,语法突出显示,URL自动链接和脚注)来扩展基本语法。可以通过使用基于基本Markdown语法的轻量级标记语言,或通过向兼容的Markdown处理器添加扩展来启用这些元素。
并非所有Markdown应用程序都支持扩展语法元素。您需要检查您的应用程序所使用的轻量级标记语言是否支持您要使用的扩展语法元素。如果没有,那么仍然有可能在Markdown处理器中启用扩展。
Markdown 表格
要添加表,请使用三个或多个连字符(—)创建每列的标题,并使用管道(|)分隔每列。您可以选择在表的任一端添加管道。
单元格宽度可以变化。呈现的输出将看起来相同。
对齐
您可以通过在标题行中的连字符的左侧,右侧或两侧添加冒号(:),将列中的文本对齐到左侧,右侧或中心。
1 | | 左对齐 | 右对齐 | 居中对齐 | |
渲染效果如下:
左对齐 | 右对齐 | 居中对齐 |
---|---|---|
单元格 | 单元格 | 单元格 |
单元格 | 单元格 | 单元格 |
Markdown 格式化表格中的文字
您可以在表格中设置文本格式。例如,您可以添加链接,代码(仅反引号(`)中的单词或短语,而不是代码块)和强调。
您不能添加标题,块引用,列表,水平规则,图像或HTML标签。
在表中转义管道字符
您可以使用表格的HTML字符代码(|)在表中显示竖线(|)字符。
Markdown 围栏代码块
Markdown基本语法允许您通过将行缩进四个空格或一个制表符来创建代码块。如果发现不方便,请尝试使用受保护的代码块。根据Markdown处理器或编辑器的不同,您将在代码块之前和之后的行上使用三个反引号(```)或三个波浪号(~~~)。
怎么在代码块中显示反引号?
- Markdown 代码块
1.如果你使用的是 三重反引号 包裹的代码块,可以在代码中使用 单个反引号,无需转义
1 | 这是一个反引号: ` |
2.如果需要在代码块中显示 三重反引号,可以用 更多的反引号 包裹外层代码块
1 | 三重反引号: ``` # 外层用四个反引号包裹 |
- 行内代码(单个反引号)
如果需要在行内代码中显示反引号,可以使用双反引号包裹:
1 | 这是行内代码中的反引号:`` ` `` |
- HTML 转义
在 HTML 中,可以使用转义字符 ` 表示反引号:
1 | 这是 HTML 中的反引号:` |
- 代码中的转义
在某些编程语言中,可能需要使用转义符(如 ```),例如:
1 | 这是一个转义的反引号: \` |
Markdown 代码块中的文本格式
您可以在代码块中设置文本格式。例如,您可以添加链接,代码(仅反引号(`)中的单词或短语,而不是代码块)和强调。
您不能添加标题,块引用,列表,水平规则,图像或HTML标签。
Markdown 语法高亮
许多Markdown处理器都支持受围栏代码块的语法突出显示。使用此功能,您可以为编写代码的任何语言添加颜色突出显示。要添加语法突出显示,请在受防护的代码块之前的反引号旁边指定一种语言。
1 | ```json |
渲染效果如下:
1 | { |
Markdown 脚注
脚注使您可以添加注释和参考,而不会使文档正文混乱。当您创建脚注时,带有脚注的上标数字会出现在您添加脚注参考的位置。读者可以单击链接以跳至页面底部的脚注内容。
要创建脚注参考,请在方括号([^1]
)内添加插入符号和标识符。标识符可以是数字或单词,但不能包含空格或制表符。标识符仅将脚注参考与脚注本身相关联-在输出中,脚注按顺序编号。
在括号内使用另一个插入符号和数字添加脚注,并用冒号和文本([^1]: My footnote.
)。您不必在文档末尾添加脚注。您可以将它们放在除列表,块引号和表之类的其他元素之外的任何位置。