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_&quot;foo&quot;_</p> <p>a_&quot;foo&quot;_</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_&quot;bb&quot;_cc</p>
.
此处没有强调,因为定界符序列
既是左侧定界符序列又是右侧定界符序列
.
"aa"_"bb"_"cc"
.
<p>&quot;aa&quot;_&quot;bb&quot;_&quot;cc&quot;</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/ 获取