使用Pandoc在Markdown中嵌入缩进的HTML

时间:2016-08-30 06:37:14

标签: markdown pandoc

我的Markdown中有一些嵌入式HTML(表格中的项目符号列表)。有没有办法在不将Pandoc视为逐字代码块的情况下缩进我的HTML?

1 个答案:

答案 0 :(得分:3)

排序,但您必须更改Pandoc的默认值。

Markdown rules明确禁止此:

  

唯一的限制是块级HTML元素 - 例如<div><table><pre><p>等 - 必须通过空行与周围内容分开,并且不应缩进块的开始和结束标记带标签或空格。

但是,如果您注意到,上面引用的规则确实指出只有“块的开始和结束标记不应缩进”。缩进“开始和结束标记”内的内容没有限制。事实上,“”开始和结束标签“之间的内容甚至没有被处理为Markdown,所以请随意缩进。换句话说,这是完全可以接受的:

<table>
    <thead>
        <tr>
            <th>A header</th>
        </tr>
    </thead>
</table>

默认情况下,Pandoc中的doesn't work除外。如Pandoc的documentation

中所述
  

标准Markdown允许您包含HTML“块”:平衡标签之间的HTML块,用空行与周围文本分开,在左边缘开始和结束。在这些块中,一切都被解释为HTML,而不是Markdown;所以(例如),*并不表示强调。

     

当使用markdown_strict格式时,Pandoc会以这种方式运行;但默认情况下,pandoc将HTML块标记之间的材质解释为Markdown。

因此,您需要使用raw_html扩展名或markdown_strict输出格式。

对于“严格模式”使用:

pandoc --from markdown_strict

或者不使用严格模式但仍然可以获得所需的HTML行为(禁用markdown_in_html_blocks扩展并启用raw_html扩展名):

pandoc --from markdown-markdown_in_html_blocks+raw_html