| spec.txt | spec.txt | |||
|---|---|---|---|---|
| --- | --- | |||
| 标题: CommonMark 规范 | 标题: CommonMark 规范 | |||
| 作者: John MacFarlane | 作者: John MacFarlane | |||
| 版本: 0.19 | 版本: 0.20 | |||
| 日期: 2015-04-27 | 日期: 2015-06-08 | |||
| 许可: '[CC-BY-SA 4.0](http://creativecommons.org/licenses/by-sa/4.0/)' | 许可: '[CC-BY-SA 4.0](http://creativecommons.org/licenses/by-sa/4.0/)' | |||
| ... | ... | |||
| # 引言 | # 引言 | |||
| ## 什么是 Markdown? | ## 什么是 Markdown? | |||
| Markdown 是一种用于编写结构化文档的纯文本格式, | Markdown 是一种用于编写结构化文档的纯文本格式, | |||
| 基于在电子邮件和 usenet 帖子中用于表示格式的约定。 | 基于在电子邮件和 usenet 帖子中用于表示格式的约定。 | |||
| 它由 John Gruber 于 2004 年开发,他编写了 | 它由 John Gruber 于 2004 年开发,他编写了 | |||
| 跳到 第215行的更改 | 跳到 第215行的更改 | |||
| 文档。 | 文档。 | |||
| 一个 [字符](@character) 是一个 Unicode 码点。 | 一个 [字符](@character) 是一个 Unicode 码点。 | |||
| 本规范未指定编码;它将行视为由 | 本规范未指定编码;它将行视为由 | |||
| 而不是字节的字符。一个符合规范的解析器可能会受到限制 | 而不是字节的字符。一个符合规范的解析器可能会受到限制 | |||
| 特定的编码。 | 特定的编码。 | |||
| 一个 [行](@line) 是零个或多个 [字符] 的序列, | 一个 [行](@line) 是零个或多个 [字符] 的序列, | |||
| 并以 [行结束符] 或文件结束符结尾。 | 并以 [行结束符] 或文件结束符结尾。 | |||
| 一个 [行尾](@line-ending) 取决于平台,是一个 | 一个 [行尾](@line-ending) 是一个换行符(`U+000A`)、回车符 | |||
| 换行符(`U+000A`)、回车符(`U+000D`),或 | (`U+000D`),或回车符 + 换行符。 | |||
| 回车符 + 换行符。 | ||||
| 出于安全原因,一个符合规范的解析器必须去除或替换 | ||||
| Unicode 字符 `U+0000`。 | ||||
| 不包含任何字符的行,或仅包含空格 | 不包含任何字符的行,或仅包含空格 | |||
| (`U+0020`)或制表符(`U+0009`)的行,称为 [空行](@blank-line)。 | (`U+0020`)或制表符(`U+0009`)的行,称为 [空行](@blank-line)。 | |||
| 本规范将使用以下字符类定义: | 本规范将使用以下字符类定义: | |||
| 一个 [空白字符](@whitespace-character) 是空格 | 一个 [空白字符](@whitespace-character) 是空格 | |||
| (`U+0020`)、制表符(`U+0009`)、换行符(`U+000A`)、行制表符(`U+000B`)、 | (`U+0020`)、制表符(`U+0009`)、换行符(`U+000A`)、行制表符(`U+000B`)、 | |||
| 换页符(`U+000C`)或回车符(`U+000D`)。 | 换页符(`U+000C`)或回车符(`U+000D`)。 | |||
| 跳到 第242行的更改 | 跳到 第238行的更改 | |||
| 字符]s。 | 字符]s。 | |||
| 一个 [Unicode 空格字符](@unicode-whitespace-character) 是指 | 一个 [Unicode 空格字符](@unicode-whitespace-character) 是指 | |||
| Unicode `Zs` 类中的任何码点,或者一个制表符(`U+0009`), | Unicode `Zs` 类中的任何码点,或者一个制表符(`U+0009`), | |||
| 回车符(`U+000D`)、换行符(`U+000A`)或换页符 | 回车符(`U+000D`)、换行符(`U+000A`)或换页符 | |||
| (`U+000C`)。 | (`U+000C`)。 | |||
| [Unicode 空白](@unicode-whitespace) 是一个或多个 | [Unicode 空白](@unicode-whitespace) 是一个或多个 | |||
| 或更多 [Unicode 空格字符]。 | 或更多 [Unicode 空格字符]。 | |||
| 一个 [非空格字符](@non-space-character) 是除了 `U+0020` 以外的任何字符。 | 一个 [空格](@space) 是 `U+0020`。 | |||
| 一个 [非空格字符](@non-space-character) 是任何字符 | ||||
| [空白字符] 的字符。 | ||||
| 一个 [ASCII 标点字符](@ascii-punctuation-character) | 一个 [ASCII 标点字符](@ascii-punctuation-character) | |||
| 是 `!`, `"`, `#`, `$`, `%`, `&`, `'`, `(`, `)`, | 是 `!`, `"`, `#`, `$`, `%`, `&`, `'`, `(`, `)`, | |||
| `*`, `+`, `,`, `-`, `.`, `/`, `:`, `;`, `<`, `=`, `>`, `?`, `@`, | `*`, `+`, `,`, `-`, `.`, `/`, `:`, `;`, `<`, `=`, `>`, `?`, `@`, | |||
| `[`, `\`, `]`, `^`, `_`, `` ` ``, `{`, `|`, `}`, 或 `~`。 | `[`, `\`, `]`, `^`, `_`, `` ` ``, `{`, `|`, `}`, 或 `~`。 | |||
| 一个 [标点字符](@punctuation-character) 是一个 [ASCII | 一个 [标点字符](@punctuation-character) 是一个 [ASCII | |||
| 标点字符] 或任何在 | 标点字符] 或任何在 | |||
| Unicode 类 `Pc`、`Pd`、`Pe`、`Pf`、`Pi`、`Po` 或 `Ps`。 | Unicode 类 `Pc`、`Pd`、`Pe`、`Pf`、`Pi`、`Po` 或 `Ps`。 | |||
| ## 制表符扩展 | ## 预处理 | |||
| 行中的制表符被扩展为空格,制表位为4个字符 | 行中的制表符立即扩展为[空格][space],制表位为 | |||
| 4个字符 | ||||
| . | . | |||
| →foo→baz→→bim | →foo→baz→→bim | |||
| . | . | |||
| <pre><code>foo baz bim | <pre><code>foo baz bim | |||
| </code></pre> | </code></pre> | |||
| . | . | |||
| . | . | |||
| a→a | a→a | |||
| ὐ→a | ὐ→a | |||
| . | . | |||
| <pre><code>a a | <pre><code>a a | |||
| ὐ a | ὐ a | |||
| </code></pre> | </code></pre> | |||
| . | . | |||
| ## 不安全字符 | ||||
| 出于安全考虑,Unicode 字符 `U+0000` 必须被替换 | ||||
| 使用替换字符(`U+FFFD`)。 | ||||
| # 区块与行内元素 | # 区块与行内元素 | |||
| 我们可以将文档视为一系列的 | 我们可以将文档视为一系列的 | |||
| [块](@block)——结构性 | [块](@block)——结构元素,如段落、块 | |||
| 元素,如段落、块引用、 | 引用、列表、标题、分隔线和代码块。有些块(如 | |||
| 列表、标题、分隔线和代码块。块可以包含其他 | 块引用和列表项)包含其他块;其他块(如 | |||
| 块,或者它们可以包含 [行内](@inline) 内容: | 标题和段落)包含 [行内](@inline) 内容——文本、 | |||
| 单词、空格、链接、强调文本、图像和行内代码。 | 链接、强调文本、图像、代码等等。 | |||
| ## Precedence | ## Precedence | |||
| Indicators of block structure always take precedence over indicators | Indicators of block structure always take precedence over indicators | |||
| of inline structure. So, for example, the following is a list with | of inline structure. So, for example, the following is a list with | |||
| two items, not a list with one item containing a code span | two items, not a list with one item containing a code span | |||
| . | . | |||
| - `one | - `one | |||
| - two` | - two` | |||
| 跳到 第531行的更改 | 跳到 第536行的更改 | |||
| </ul> | </ul> | |||
| . | . | |||
| ## ATX 标题 | ## ATX 标题 | |||
| 一个 [ATX 标题](@atx-header) | 一个 [ATX 标题](@atx-header) | |||
| 由一串字符组成,被解析为行内内容,位于 | 由一串字符组成,被解析为行内内容,位于 | |||
| 起始的 1--6 个未转义的 `#` 字符和一个可选的 | 起始的 1--6 个未转义的 `#` 字符和一个可选的 | |||
| 结尾的任意数量的 `#` 字符之间。起始序列 | 结尾的任意数量的 `#` 字符之间。起始序列 | |||
| 的 `#` 字符后面不能直接跟一个 | 的 `#` 字符后面不能直接跟一个 | |||
| [非空格字符]。 | [非空格字符]。可选的结束序列中的`#`必须 | |||
| 可选的结束序列中的`#`必须紧跟一个空格,并且只能是 | 紧跟一个[空格],并且只能是空格。开头的 | |||
| `#`字符可以缩进0-3个空格。标题的原始内容在被解析为行内内容之前, | `#` 字符可以缩进 0-3 个空格。标题的原始内容 | |||
| 会被去除前导和尾随空格。标题的级别等于开头序列中 | 在作为行内内容解析之前,会去除前导和尾随空格。 | |||
| “#”字符的数量。 | 标题级别等于起始序列中 `#` 字符的数量。 | |||
| 是开头序列中“#”字符的数量。 | characters in the opening sequence. | |||
| 简单标题 | 简单标题 | |||
| . | . | |||
| # foo | # foo | |||
| ## foo | ## foo | |||
| ### foo | ### foo | |||
| #### foo | #### foo | |||
| ##### foo | ##### foo | |||
| ###### foo | ###### foo | |||
| 跳到 第564行的更改 | 跳到 第569行的更改 | |||
| . | . | |||
| 超过六个`#`字符不是标题 | 超过六个`#`字符不是标题 | |||
| . | . | |||
| ####### foo | ####### foo | |||
| . | . | |||
| <p>####### foo</p> | <p>####### foo</p> | |||
| . | . | |||
| 一个空格是`#`字符和标题 | 至少一个空格是`#`字符和标题的 | |||
| 内容之间所必需的。请注意,许多实现目前并不要求 | 内容的内容之间所必需的,除非标题为空。请注意,许多 | |||
| 这个空格。然而,[原始ATX实现](http://www.aaronsw.com/2002/atx/atx.py) | implementations currently do not require the space. However, the | |||
| 要求这个空格,它有助于 | space was required by the | |||
| 防止以下内容被解析为标题 | [original ATX implementation](http://www.aaronsw.com/2002/atx/atx.py), | |||
| and it helps prevent things like the following from being parsed as | ||||
| 标题 | ||||
| . | . | |||
| #5 bolt | #5 bolt | |||
| #foobar | ||||
| . | . | |||
| <p>#5 bolt</p> | <p>#5 bolt</p> | |||
| <p>#foobar</p> | ||||
| . | . | |||
| 这不是标题,因为第一个`#`被转义了 | 这不是标题,因为第一个`#`被转义了 | |||
| . | . | |||
| \## foo | \## foo | |||
| . | . | |||
| <p>## foo</p> | <p>## foo</p> | |||
| . | . | |||
| 跳到 第1027行的更改 | 跳到 第1037行的更改 | |||
| . | . | |||
| a simple | a simple | |||
| 缩进代码块 | 缩进代码块 | |||
| . | . | |||
| <pre><code>一个简单的 | <pre><code>一个简单的 | |||
| 缩进代码块 | 缩进代码块 | |||
| </code></pre> | </code></pre> | |||
| . | . | |||
| 内容为字面文本,不会被解析为 Markdown | 如果缩进的解释在代码块和指示材料属于[列表 | |||
| 项][list items]之间存在歧义,则列表项的解释优先。 | ||||
| 项][list items],则列表项的解释优先。 | ||||
| . | ||||
| - foo | ||||
| bar | ||||
| . | ||||
| <ul> | ||||
| <li> | ||||
| <p>foo</p> | ||||
| <p>bar</p> | ||||
| </li> | ||||
| </ul> | ||||
| . | ||||
| . | ||||
| 1. foo | ||||
| - bar | ||||
| . | ||||
| <ol> | ||||
| <li> | ||||
| <p>foo</p> | ||||
| <ul> | ||||
| <li>bar</li> | ||||
| </ul> | ||||
| </li> | ||||
| </ol> | ||||
| . | ||||
| 代码块中的内容是字面文本,不会被解析为 | ||||
| Markdown | ||||
| . | . | |||
| <a/> | <a/> | |||
| *hi* | *hi* | |||
| - one | - one | |||
| . | . | |||
| <pre><code><a/> | <pre><code><a/> | |||
| *hi* | *hi* | |||
| 跳到 第2312行的更改 | 跳到 第2355行的更改 | |||
| baz | baz | |||
| > foo | > foo | |||
| . | . | |||
| <blockquote> | <blockquote> | |||
| <p>bar | <p>bar | |||
| baz | baz | |||
| foo</p> | foo</p> | |||
| </blockquote> | </blockquote> | |||
| . | . | |||
| 惰性只适用于是段落 | 惰性只适用于本应是段落的 | |||
| 延续的行。包含字符或缩进的行表示 | 如果它们前面有`>`,它们就是段落。例如, | |||
| 块结构不能是惰性的。 | 在第二行中不能省略`>` | |||
| ``` markdown | ||||
| > foo | ||||
| > --- | ||||
| ``` | ||||
| 否则会改变含义 | ||||
| . | . | |||
| > foo | > foo | |||
| --- | --- | |||
| . | . | |||
| <blockquote> | <blockquote> | |||
| <p>foo</p> | <p>foo</p> | |||
| </blockquote> | </blockquote> | |||
| <hr /> | <hr /> | |||
| . | . | |||
| 同样,如果我们在第二行中省略`>` | ||||
| ``` markdown | ||||
| > - foo | ||||
| > - bar | ||||
| ``` | ||||
| 那么引用块在第一行之后结束 | ||||
| . | . | |||
| > - foo | > - foo | |||
| - bar | - bar | |||
| . | . | |||
| <blockquote> | <blockquote> | |||
| <ul> | <ul> | |||
| <li>foo</li> | <li>foo</li> | |||
| </ul> | </ul> | |||
| </blockquote> | </blockquote> | |||
| <ul> | <ul> | |||
| <li>bar</li> | <li>bar</li> | |||
| </ul> | </ul> | |||
| . | . | |||
| 出于同样的原因,我们不能省略前面的`>` | ||||
| 缩进代码块或围栏代码块的后续行。 | ||||
| . | . | |||
| > foo | > foo | |||
| bar | bar | |||
| . | . | |||
| <blockquote> | <blockquote> | |||
| <pre><code>foo | <pre><code>foo | |||
| </code></pre> | </code></pre> | |||
| </blockquote> | </blockquote> | |||
| <pre><code>bar | <pre><code>bar | |||
| </code></pre> | </code></pre> | |||
| 跳到 第3808行的更改 | 跳到 第3870行的更改 | |||
| 列表项不需要缩进到相同的级别。以下 | 列表项不需要缩进到相同的级别。以下 | |||
| 列表项将被视为同一列表级别的项目, | 列表项将被视为同一列表级别的项目, | |||
| 因为没有一个缩进足够深以属于前一个列表 | 因为没有一个缩进足够深以属于前一个列表 | |||
| item | item | |||
| . | . | |||
| - a | - a | |||
| - b | - b | |||
| - c | - c | |||
| - d | - d | |||
| - e | - e | |||
| - f | - f | |||
| - g | - g | |||
| - h | ||||
| - i | ||||
| . | . | |||
| <ul> | <ul> | |||
| <li>a</li> | <li>a</li> | |||
| <li>b</li> | <li>b</li> | |||
| <li>c</li> | <li>c</li> | |||
| <li>d</li> | <li>d</li> | |||
| <li>e</li> | <li>e</li> | |||
| <li>f</li> | <li>f</li> | |||
| <li>g</li> | <li>g</li> | |||
| <li>h</li> | ||||
| <li>i</li> | ||||
| </ul> | </ul> | |||
| . | . | |||
| . | ||||
| 1. a | ||||
| 2. b | ||||
| 3. c | ||||
| . | ||||
| <ol> | ||||
| <li> | ||||
| <p>a</p> | ||||
| </li> | ||||
| <li> | ||||
| <p>b</p> | ||||
| </li> | ||||
| <li> | ||||
| <p>c</p> | ||||
| </li> | ||||
| </ol> | ||||
| . | ||||
| 这是一个松散的列表,因为在两个列表项之间有一个空行 | 这是一个松散的列表,因为在两个列表项之间有一个空行 | |||
| 两个列表项 | 两个列表项 | |||
| . | . | |||
| - a | - a | |||
| - b | - b | |||
| - c | - c | |||
| . | . | |||
| <ul> | <ul> | |||
| 跳到 第4247行的更改 | 跳到 第4333行的更改 | |||
| . | . | |||
| & © Æ Ď ¾ ℋ ⅆ ∲ | & © Æ Ď ¾ ℋ ⅆ ∲ | |||
| . | . | |||
| <p> & © Æ Ď ¾ ℋ ⅆ ∲</p> | <p> & © Æ Ď ¾ ℋ ⅆ ∲</p> | |||
| . | . | |||
| [十进制实体](@decimal-entities) | [十进制实体](@decimal-entities) | |||
| 由 `&#` + 1-8 个阿拉伯数字字符串 + `;` 组成。同样,这些 | 由 `&#` + 1-8 个阿拉伯数字字符串 + `;` 组成。同样,这些 | |||
| 实体需要被识别并转换为其对应的 | 实体需要被识别并转换为其对应的 | |||
| Unicode 码点。无效的 Unicode 码点将写入为 | Unicode 码点。无效的 Unicode 码点将替换为 | |||
| “未知码点”字符(`0xFFFD`) | “未知码点”字符(`U+FFFD`)。出于安全原因, | |||
| 码点`U+0000`也将被`U+FFFD`替换。 | ||||
| . | . | |||
| # Ӓ Ϡ � | # Ӓ Ϡ � � | |||
| . | . | |||
| <p># Ӓ Ϡ �</p> | <p># Ӓ Ϡ � �</p> | |||
| . | . | |||
| [十六进制实体](@hexadecimal-entities) | [十六进制实体](@hexadecimal-entities) | |||
| + 1-8 个十六进制数字字符串 + `;` 组成。它们也 | + 1-8 个十六进制数字字符串 + `;` 组成。它们也 | |||
| + `;`。它们也将被解析并转换为相应的 | + `;`。它们也将被解析并转换为相应的 | |||
| AST 中的 Unicode 码点。 | AST 中的 Unicode 码点。 | |||
| . | . | |||
| " ആ ಫ | " ആ ಫ | |||
| . | . | |||
| 跳到 第5032行的更改 | 跳到 第5119行的更改 | |||
| __foo, __bar__, baz__ | __foo, __bar__, baz__ | |||
| . | . | |||
| <p><strong>foo, <strong>bar</strong>, baz</strong></p> | <p><strong>foo, <strong>bar</strong>, baz</strong></p> | |||
| . | . | |||
| 这是强强调,尽管起始分隔符是 | 这是强强调,尽管起始分隔符是 | |||
| 左右两侧都有,因为它前面是 | 左右两侧都有,因为它前面是 | |||
| 标点符号 | 标点符号 | |||
| . | . | |||
| foo-_(bar)_ | foo-__(bar)__ | |||
| . | . | |||
| <p>foo-<em>(bar)</em></p> | <p>foo-<strong>(bar)</strong></p> | |||
| . | . | |||
| 规则 7 | 规则 7 | |||
| 这不是强强调,因为结束分隔符前面有 | 这不是强强调,因为结束分隔符前面有 | |||
| 空格 | 空格 | |||
| . | . | |||
| **foo bar ** | **foo bar ** | |||
| . | . | |||
| 跳到 第5145行的更改 | 跳到 第5232行的更改 | |||
| __foo__bar__baz__ | __foo__bar__baz__ | |||
| . | . | |||
| <p><strong>foo__bar__baz</strong></p> | <p><strong>foo__bar__baz</strong></p> | |||
| . | . | |||
| 这是强强调,尽管结束分隔符是 | 这是强强调,尽管结束分隔符是 | |||
| 左右两侧都有,因为它后面跟着 | 左右两侧都有,因为它后面跟着 | |||
| 标点符号 | 标点符号 | |||
| . | . | |||
| _(bar)_。 | __(bar)__。 | |||
| . | . | |||
| <p><em>(bar)</em>.</p> | <p><strong>(bar)</strong>.</p> | |||
| . | . | |||
| 规则 9 | 规则 9 | |||
| 任何非空的行内元素序列都可以作为 | 任何非空的行内元素序列都可以作为 | |||
| 强调跨度的内容。 | 强调跨度的内容。 | |||
| . | . | |||
| *foo [bar](/url)* | *foo [bar](/url)* | |||
| . | . | |||
| 跳到 第6047行的更改 | 跳到 第6134行的更改 | |||
| 有三种 [引用链接](@reference-link) | 有三种 [引用链接](@reference-link) | |||
| [full](#full-reference-link), [collapsed](#collapsed-reference-link), | [full](#full-reference-link), [collapsed](#collapsed-reference-link), | |||
| and [shortcut](#shortcut-reference-link). | and [shortcut](#shortcut-reference-link). | |||
| 一个 [完整引用链接](@full-reference-link) | 一个 [完整引用链接](@full-reference-link) | |||
| 由 [链接文本]、可选的 [空白] 和 [链接标签] 组成。 | 由 [链接文本]、可选的 [空白] 和 [链接标签] 组成。 | |||
| that [matches] a [link reference definition] elsewhere in the document. | that [matches] a [link reference definition] elsewhere in the document. | |||
| 一个 [链接标签](@link-label) 以左方括号(`[`)开始, | 一个 [链接标签](@link-label) 以左方括号(`[`)开始, | |||
| 并以第一个未被反斜杠转义的右方括号(`]`)结束。 | 并以第一个未被反斜杠转义的右方括号(`]`)结束。 | |||
| 这些括号之间必须至少有一个非[空白字符]。 | ||||
| 未转义的方括号字符在 [链接标签] 中是不允许的。 | 未转义的方括号字符在 [链接标签] 中是不允许的。 | |||
| 一个链接标签在方括号内最多可以有 999 个字符。 | 一个链接标签在方括号内最多可以有 999 个字符。 | |||
| characters inside the square brackets. | characters inside the square brackets. | |||
| 当且仅当一个标签的归一化形式相等时,它才 [匹配](@matches) | 当且仅当一个标签的归一化形式相等时,它才 [匹配](@matches) | |||
| 另一个。要归一化一个标签,执行 *unicode 大小写折叠* 并将连续的内部 | 另一个。要归一化一个标签,执行 *unicode 大小写折叠* 并将连续的内部 | |||
| 标签,执行 *Unicode 大小写折叠* 并合并连续的内部 | 标签,执行 *Unicode 大小写折叠* 并合并连续的内部 | |||
| 匹配的引用链接定义,则使用文档中首先出现的那个。 | 匹配的引用链接定义,则使用文档中首先出现的那个。 | |||
| (在这种情况下,发出警告是可取的。) | (在这种情况下,发出警告是可取的。) | |||
| 第一个链接标签的内容被解析为行内内容, | 第一个链接标签的内容被解析为行内内容, | |||
| 跳到 第6293行的更改 | 跳到 第6381行的更改 | |||
| . | . | |||
| . | . | |||
| [foo][ref\[] | [foo][ref\[] | |||
| [ref\[]: /uri | [ref\[]: /uri | |||
| . | . | |||
| <p><a href="/uri">foo</a></p> | <p><a href="/uri">foo</a></p> | |||
| . | . | |||
| 一个 [链接标签] 必须包含至少一个非[空白字符]。 | ||||
| . | ||||
| [] | ||||
| []: /uri | ||||
| . | ||||
| <p>[]</p> | ||||
| <p>[]: /uri</p> | ||||
| . | ||||
| . | ||||
| [ | ||||
| ] | ||||
| [ | ||||
| ]: /uri | ||||
| . | ||||
| <p>[ | ||||
| ]</p> | ||||
| <p>[ | ||||
| ]: /uri</p> | ||||
| . | ||||
| 一个 [折叠引用链接](@collapsed-reference-link) | 一个 [折叠引用链接](@collapsed-reference-link) | |||
| 由一个 [链接标签] 组成,该标签[匹配] | 由一个 [链接标签] 组成,该标签[匹配] | |||
| 文档中其他地方的 [链接引用定义]、可选的 [空白] 和字符串 `[]`。 | 文档中其他地方的 [链接引用定义]、可选的 [空白] 和字符串 `[]`。 | |||
| 文档中其他地方的 [链接引用定义]、可选的 [空白] 和字符串 `[]`。 | 文档中其他地方的 [链接引用定义]、可选的 [空白] 和字符串 `[]`。 | |||
| 第一个链接标签的内容作为行内元素解析, | 第一个链接标签的内容作为行内元素解析, | |||
| 并用作链接的文本。链接的 URI 和标题由 | 并用作链接的文本。链接的 URI 和标题由 | |||
| 匹配的引用链接定义提供。因此, | 匹配的引用链接定义提供。因此, | |||
| `[foo][]` 等同于 `[foo][foo]`。 | `[foo][]` 等同于 `[foo][foo]`。 | |||
| . | . | |||
| 更改结束。27个更改块。 | ||||
| 42行被更改或删除 | 154行被更改或添加 | |||
此 HTML 差异由 rfcdiff 1.41 生成。最新版本可从 http://tools.ietf.org/tools/rfcdiff/ 获取 | ||||