Pandoc 1.13.2 输出 html table 作为文本

Pandoc 1.13.2 outputs html table as text

拿这个 tst.md 文件(在 Markdown 中)

% Test document

<table>
    <thead>
        <tr >
            <th>A</td>
            <th>B</td>
        </tr>
    </thead>
    <tbody>
        <tr >
            <td>1</td>
            <td>2</td>
        </tr>
        <tr >
            <td>3</td>
            <td>4</td>
        </tr>
    </tbody>
</table>

End of test file

和 运行 它与 pandoc 1.13.2 一起将其转换为 html

pandoc -s "test.md" -o test.html

创建的test.html包含

<table>
<pre><code>&lt;thead&gt;
  &lt;tr &gt;
    &lt;th&gt;A&lt;/td&gt;
    &lt;th&gt;B&lt;/td&gt;
  &lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
 &lt;tr &gt;
    &lt;td&gt;1&lt;/td&gt;
    &lt;td&gt;2&lt;/td&gt;
  &lt;/tr&gt;
 &lt;tr &gt;
    &lt;td&gt;3&lt;/td&gt;
    &lt;td&gt;4&lt;/td&gt;
  &lt;/tr&gt;
&lt;/tbody&gt;</code></pre>
</table>

<table> 之后插入了一个 <pre><code> 标签。以下 html 代码被编码并显示为代码而不是 table.

pandoc website 说:标准 markdown 允许你包含 HTML “块”:平衡标签之间的 HTML 块,用空行与周围的文本分开,并且在左边距开始和结束。在这些块中,所有内容都被解释为 HTML,而不是 markdown;

如果你在 Pandoc 的试用网站上做同样的结果 http://johnmacfarlane.net/pandoc/try

旧版本 1.11.1 运行良好。但是 Pandoc 的网站上不再提供 1.11.1(作为 MSI 安装程序)。

我做错了什么?

在试用站点和 pandoc 1.13.2 上使用左侧的所有标签(无缩进)进行了尝试。 似乎 pandoc 1.13.2 要求在原始 html 中完全不存在缩进,而在以前的版本中,如果第一个(和最后一个)标签之前没有空格或制表符,html 将保持原始状态。

您引用了 markdown_in_html_blocks 扩展部分,即 clearly says that Pandoc Markdown doesn't behave this way by default:

Pandoc behaves this way when the markdown_strict format is used; but by default, pandoc interprets material between HTML block tags as markdown.

通过在命令中添加 -f markdown_strict 使用严格的输入格式。