块和内联

我们可以将文档视为一系列-结构元素,如段落,块引用,列表,标题,规则和代码块。一些块(如块引用和列表项)可以包含其他块; 其他(如标题和段落)包含内联内容-文本,链接,强调文本,图像,内联代码等。

优先级

块结构的指示符(indicators)始终优先于内联结构的指示符。因此,举个例子,以下是包含两项的列表,而不是包含一项包含内联代码的列表:

示例 12

Markdown HTML 效果
- `one
- two`

<ul>
<li>`one</li>
<li>two`</li>
</ul>

这意味着解析可以分两步进行:首先,识别文档的块结构; 然后识别段落,标题和其他块结构中的文本行,作为内联结构解析。第二步需要收集有关链接引用定义的信息,这些定义仅在第一步结束时可用。注意,第一步需要按顺序处理行,但第二步可以并行化,因为一个块元素的内联解析不会影响任何其他块的内联解析。

容器块和叶子块(leaf block)

我们可以将块分为两种类型:容器块叶子块,容器块可以包含其他块,但叶子块不能包含其他块。