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