Pandoc 1.13.2输出html表作为文本

时间:2015-03-01 12:31:52

标签: markdown pandoc

获取此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>

<pre><code>之后插入<table>标记。以下html代码已编码,并显示为代码而非表格。

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

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

旧版本1.11.1工作正常。但是Pandoc的网站(作为MSI安装程序)不再提供1.11.1。

我做错了什么?

2 个答案:

答案 0 :(得分:2)

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

  

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

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

答案 1 :(得分:1)

尝试使用左边的所有标签(没有缩进),这些标签适用于试用网站和pandoc 1.13.2。 似乎pandoc 1.13.2要求在原始html中完全缺少缩进,就像在先前版本中,如果第一个(和最后一个)标记之前没有空格或制表符,html将保持原始状态。