Markdown 引用语法
一个块引用标记由 0~3 个空格的初始缩进、一个 > 符号与紧随其后的一个空格构成。
Markdown 语法
>·Quote
HTML
<blockquote>
<p>Quote</p>
</blockquote>
预览效果
Quote
块引用具有如下特点:
- 连贯性:如果一连串单行的块引用 L 组成了一个序列 S,那么这时候的结果就是单个包含 S 的块引用。
- 懒惰性:如果一连串单行的块引用 L 组成了一个序列 S,那么从某一行(首行除外)甚至多行的行首删除引用标记不会影响这个块引用的最终渲染结果。
- 顺序性:同一行内不能同时使用两个引用标记。
用法
以下是块引用的标准用法:
Markdown 语法
>·Quote·Example
HTML
<blockquote>
<p>Quote Example</p>
</blockquote>
预览效果
Quote Example
> 符号后的空格可以省略,不影响最终渲染的结果:
Markdown 语法
>Quote·Example
HTML
<blockquote>
<p>Quote Example</p>
</blockquote>
预览效果
Quote Example
块引用的内容可以为空白内容:
Markdown 语法
>
>
>
>
HTML
<blockquote></blockquote>
<blockquote></blockquote>
预览效果
若要分隔块引用,可以使用段落语法将两个块引用分隔开:
Markdown 语法
>·foo
>·bar
>·bar
HTML
<blockquote>
<p>foo</p>
</blockquote>
<blockquote>
<p>bar</p>
</blockquote>
预览效果
foo
bar
同理,如果要在一个块引用中分两个段落,则只需要在段落语法的基础上,每行起始添加一个段落的符号即可。
Markdown 语法
>·Quote·1
>
>·Quote·2
>
>·Quote·2
HTML
<blockquote>
<p>Quote 1</p>
<p>Quote 2</p>
</blockquote>
预览效果
Quote 1
Quote 2
懒惰性的具体用法
基于块引用的懒惰性,对于一连串单行的块引用序列,从第二行开始,> 符号都可以省略,但唯独不能删除第一行的 > 符号,否则无法构成块引用:
Markdown 语法
>·Quote·1
Quote·2
Quote·3
Quote·2
Quote·3
HTML
<blockquote>
<p>Quote 1
Quote 2
Quote 3</p>
</blockquote>
预览效果
Quote 1 Quote 2 Quote 3
这种省略有一定局限性,详见 注意事项。
关于缩进
> 符号前最多可以支持 1~3 个空格的缩进,不影响最终渲染的结果:
Markdown 语法
>·Quote·1
··>·Quote·2
··>·Quote·2
HTML
<blockquote>
<p>Quote 1
Quote 2</p>
</blockquote>
预览效果
Quote 1 Quote 2
但如果使用了超过 4 个空格的缩进,则会变成代码块:
Markdown 语法
····>·Quote·1
····>·Quote·2
····>·Quote·2
HTML
<pre><code>> Quote 1
> Quote 2
</code></pre>
预览效果
> Quote 1
> Quote 2
分隔不同的块引用
若要另起一个块引用,需要在块引用之间使用回车隔开一行:
Markdown 语法
>·Quote·1
>·Quote·2
>·Quote·2
HTML
<blockquote>
<p>Quote 1</p>
</blockquote>
<blockquote>
<p>Quote 2</p>
</blockquote>
预览效果
Quote 1
Quote 2
注意事项
- 在 Example 17 中,我们提到了引用符号在某些情况下可以省略,但这种省略仅限于那些本来就应该视作是段落的延续的行,比如在下列示例中:
markdown
> foo
> ---在不改变原有意思的情况下,第二行的 > 就不能省略:
Markdown 语法
>·foo
---
---
HTML
<blockquote>
<p>foo</p>
</blockquote>
<hr>
预览效果
foo
相似地,还有以下不能省略的情况:
Markdown 语法
>·-·foo
-·bar
-·bar
HTML
<blockquote>
<ul>
<li>foo</li>
</ul>
</blockquote>
<ul>
<li>bar</li>
</ul>
预览效果
- foo
- bar
Markdown 语法
>·```
foo
```
foo
```
HTML
<blockquote>
<pre><code></code></pre>
</blockquote>
<p>foo</p>
<pre><code></code></pre>
预览效果
foo
在 Example 22、23 中,省略第二行及后续行的引用标记会导致引用在第一行结束。