| spec.txt | spec.txt | |||
|---|---|---|---|---|
| --- | --- | |||
| 标题: CommonMark 规范 | 标题: CommonMark 规范 | |||
| 作者: John MacFarlane | 作者: John MacFarlane | |||
| version: 0.16 | version: 0.17 | |||
| date: 2015-01-14 | date: 2015-01-24 | |||
| 许可: '[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 年开发,他编写了 | |||
| 跳转至修改处 第 3929 行 | 跳转至修改处 第 3929 行 | |||
| . | . | |||
| <ul> | <ul> | |||
| <li>a | <li>a | |||
| <ul> | <ul> | |||
| <li>b</li> | <li>b</li> | |||
| </ul> | </ul> | |||
| </li> | </li> | |||
| </ul> | </ul> | |||
| . | . | |||
| 这个列表是松散的,因为列表项中的两个块元素之间 | ||||
| 有一个空行 | ||||
| . | ||||
| 1. ``` | ||||
| foo | ||||
| ``` | ||||
| bar | ||||
| . | ||||
| <ol> | ||||
| <li> | ||||
| <pre><code>foo | ||||
| </code></pre> | ||||
| <p>bar</p> | ||||
| </li> | ||||
| </ol> | ||||
| . | ||||
| 这里外部列表是松散的,内部列表是紧凑的 | 这里外部列表是松散的,内部列表是紧凑的 | |||
| . | . | |||
| * foo | * foo | |||
| * bar | * bar | |||
| baz | baz | |||
| . | . | |||
| <ul> | <ul> | |||
| <li> | <li> | |||
| 跳转至修改处 第 4499 行 | 跳转至修改处 第 4518 行 | |||
| 序列”,并且其区分左侧和右侧分隔序列的规则 | 序列”,并且其区分左侧和右侧分隔序列的规则 | |||
| 比此处给出的规则要复杂一些。) | 比此处给出的规则要复杂一些。) | |||
| 以下规则定义了强调和强强调。 | 以下规则定义了强调和强强调。 | |||
| 1. 单个 `*` 字符 [可以开启强调](@can-open-emphasis) | 1. 单个 `*` 字符 [可以开启强调](@can-open-emphasis) | |||
| 当且仅当它是 [左侧定界符序列] 的一部分时。 | 当且仅当它是 [左侧定界符序列] 的一部分时。 | |||
| 2. 单个 `_` 字符 [可以开启强调] 当且仅当 | 2. 单个 `_` 字符 [可以开启强调] 当且仅当 | |||
| 它是 [左侧定界符序列] 的一部分 | 它是 [左侧定界符序列] 的一部分 | |||
| 并且 前面没有 ASCII 字母数字字符。 | 并且 不是 [右侧定界符序列] 的一部分。 | |||
| 3. 单个 `*` 字符 [可以关闭强调](@can-close-emphasis) | 3. 单个 `*` 字符 [可以关闭强调](@can-close-emphasis) | |||
| 当且仅当它是 [右侧定界符序列] 的一部分时。 | 当且仅当它是 [右侧定界符序列] 的一部分时。 | |||
| 4. 单个 `_` 字符 [可以关闭强调] | 4. 单个 `_` 字符 [可以关闭强调] | |||
| 当且仅当它是 [右侧定界符 序列] 的一部分。 | 当且仅当它是 [右侧定界符 序列] | |||
| 且 它 没有 被 ASCII 字母数字字符跟随。 | 且不是 [左侧定界符序列] 的一部分。 | |||
| 5. 双 `**` [可以开启强强调](@can-open-strong-emphasis) | 5. 双 `**` [可以开启强强调](@can-open-strong-emphasis) | |||
| 当且仅当它是 [左侧定界符序列] 的一部分时。 | 当且仅当它是 [左侧定界符序列] 的一部分时。 | |||
| 6. 双 `__` [可以开启强强调] | 6. 双 `__` [可以开启强强调] | |||
| 当且仅当它是 [左侧定界符序列] 的一部分 | 当且仅当它是 [左侧定界符序列] 的一部分 | |||
| 并且 前面没有 ASCII 字母数字字符。 | 并且 不是 [右侧定界符序列] 的一部分。 | |||
| 7. 双 `**` [可以关闭强强调](@can-close-strong-emphasis) | 7. 双 `**` [可以关闭强强调](@can-close-strong-emphasis) | |||
| 当且仅当它是 [右侧定界符序列] 的一部分时。 | 当且仅当它是 [右侧定界符序列] 的一部分时。 | |||
| 8. 双 `__` [可以关闭强强调] | 8. 双 `__` [可以关闭强强调] | |||
| 当且仅当它是 [右侧定界符序列] 的一部分 | 当且仅当它是 [右侧定界符序列] 的一部分 | |||
| 且 没有被 ASCII 字母数字字符跟随。 | 且 不是 [左侧定界符序列] 的一部分。 | |||
| 9. 强调以一个 [可以开启强调] 的定界符开始,并以 | 9. 强调以一个 [可以开启强调] 的定界符开始,并以 | |||
| 一个 [可以关闭强调] 的定界符结束,且使用相同的 | 一个 [可以关闭强调] 的定界符结束,且使用相同的 | |||
| 字符(`_` 或 `*`)作为起始分隔符。起始分隔符和 | 字符(`_` 或 `*`)作为起始分隔符。起始分隔符和 | |||
| 结束分隔符之间必须有一个非空的内联序列;这些形成了强调 | 结束分隔符之间必须有一个非空的内联序列;这些形成了强调 | |||
| 内联的内容。 | 内联的内容。 | |||
| 内联。 | 内联。 | |||
| 10. 强强调以一个 | 10. 强强调以一个 | |||
| [可以开启强强调] 的定界符开始,并以一个定界符结束 | [可以开启强强调] 的定界符开始,并以一个定界符结束 | |||
| 跳转至修改处 第 4653 行 | 跳转至修改处 第 4672 行 | |||
| 这不是强调,因为开启的 `_` 前面是 | 这不是强调,因为开启的 `_` 前面是 | |||
| 一个字母数字,后面是标点符号 | 一个字母数字,后面是标点符号 | |||
| . | . | |||
| a_"foo"_ | a_"foo"_ | |||
| . | . | |||
| <p>a_"foo"_</p> | <p>a_"foo"_</p> | |||
| . | . | |||
| 使用 `_` 的强调在 ASCII 单词内是不被允许的 | 使用 `_` 的强调在单词内是不被允许的 | |||
| . | . | |||
| foo_bar_ | foo_bar_ | |||
| . | . | |||
| <p>foo_bar_</p> | <p>foo_bar_</p> | |||
| . | . | |||
| . | . | |||
| 5_6_78 | 5_6_78 | |||
| . | . | |||
| <p>5_6_78</p> | <p>5_6_78</p> | |||
| . | . | |||
| 但允许在非 ASCII 单词内部使用 | ||||
| . | . | |||
| пристаням_стремятся_ | пристаням_стремятся_ | |||
| . | . | |||
| <p>пристаням<em>стремятся</em></p> | <p>пристаням_стремятся_</p> | |||
| . | ||||
| 此处 `_` 不会生成强调,因为第一个定界符序列 | ||||
| 是右侧定界符序列,而第二个是左侧定界符序列 | ||||
| . | ||||
| aa_"bb"_cc | ||||
| . | ||||
| <p>aa_"bb"_cc</p> | ||||
| . | ||||
| 此处没有强调,因为定界符序列 | ||||
| 既是左侧定界符序列又是右侧定界符序列 | ||||
| . | ||||
| "aa"_"bb"_"cc" | ||||
| . | ||||
| <p>"aa"_"bb"_"cc"</p> | ||||
| . | . | |||
| 规则 3 | 规则 3 | |||
| 这不是强调,因为关闭的定界符 | 这不是强调,因为关闭的定界符 | |||
| 不匹配开启的定界符 | 不匹配开启的定界符 | |||
| . | . | |||
| _foo* | _foo* | |||
| . | . | |||
| 跳转至修改处 第 4761 行 | 跳转至修改处 第 4796 行 | |||
| . | . | |||
| _foo_bar | _foo_bar | |||
| . | . | |||
| <p>_foo_bar</p> | <p>_foo_bar</p> | |||
| . | . | |||
| . | . | |||
| _пристаням_стремятся | _пристаням_стремятся | |||
| . | . | |||
| <p><em>пристаням</em>стремятся</p> | <p>_пристаням_стремятся</p> | |||
| . | . | |||
| . | . | |||
| _foo_bar_baz_ | _foo_bar_baz_ | |||
| . | . | |||
| <p><em>foo_bar_baz</em></p> | <p><em>foo_bar_baz</em></p> | |||
| . | . | |||
| 规则 5 | 规则 5 | |||
| 跳转至修改处 第 4848 行 | 跳转至修改处 第 4883 行 | |||
| . | . | |||
| 5__6__78 | 5__6__78 | |||
| . | . | |||
| <p>5__6__78</p> | <p>5__6__78</p> | |||
| . | . | |||
| . | . | |||
| пристаням__стремятся__ | пристаням__стремятся__ | |||
| . | . | |||
| <p>пристаням<strong>стремятся</strong></p> | <p>пристаням__стремятся__</p> | |||
| . | . | |||
| . | . | |||
| __foo, __bar__, baz__ | __foo, __bar__, baz__ | |||
| . | . | |||
| <p><strong>foo, <strong>bar</strong>, baz</strong></p> | <p><strong>foo, <strong>bar</strong>, baz</strong></p> | |||
| . | . | |||
| 规则 7 | 规则 7 | |||
| 跳转至修改处 第 4951 行 | 跳转至修改处 第 4986 行 | |||
| . | . | |||
| __foo__bar | __foo__bar | |||
| . | . | |||
| <p>__foo__bar</p> | <p>__foo__bar</p> | |||
| . | . | |||
| . | . | |||
| __пристаням__стремятся | __пристаням__стремятся | |||
| . | . | |||
| <p><strong>пристаням</strong>стремятся</p> | <p>__пристаням__стремятся</p> | |||
| . | . | |||
| . | . | |||
| __foo__bar__baz__ | __foo__bar__baz__ | |||
| . | . | |||
| <p><strong>foo__bar__baz</strong></p> | <p><strong>foo__bar__baz</strong></p> | |||
| . | . | |||
| 规则 9 | 规则 9 | |||
| 跳转至修改处 第 5603 行 | 跳转至修改处 第 5638 行 | |||
| 目标不能包含换行符,即使使用尖括号也是如此。 | 目标不能包含换行符,即使使用尖括号也是如此。 | |||
| . | . | |||
| [link](foo | [link](foo | |||
| bar) | bar) | |||
| . | . | |||
| <p>[link](foo | <p>[link](foo | |||
| bar)</p> | bar)</p> | |||
| . | . | |||
| . | ||||
| [link](<foo | ||||
| bar>) | ||||
| . | ||||
| <p>[link](<foo | ||||
| bar>)</p> | ||||
| . | ||||
| 在不进行转义的情况下,允许使用一层平衡的圆括号。 | 在不进行转义的情况下,允许使用一层平衡的圆括号。 | |||
| . | . | |||
| [link]((foo)and(bar)) | [link]((foo)and(bar)) | |||
| . | . | |||
| <p><a href="(foo)and(bar)">link</a></p> | <p><a href="(foo)and(bar)">link</a></p> | |||
| . | . | |||
| 然而,如果括号内包含括号,你需要进行转义 | 然而,如果括号内包含括号,你需要进行转义 | |||
| 或使用 `<...>` 形式 | 或使用 `<...>` 形式 | |||
| 更改结束。13 个更改块。 | ||||
| 14 行已修改或删除 | 57 行已修改或添加 | |||
此 HTML 差异由 rfcdiff 1.41 生成。最新版本可从 http://tools.ietf.org/tools/rfcdiff/ 获取 | ||||