使用过滤器

时间:2017-12-02 22:34:49

标签: pandoc

我正在为python中的pandoc编写一个过滤器。我正在使用pandocfilters

我想将Para[Image]替换为Figure[InlineEl1, InlineEl2]

Figure不支持

pandoc,因此我使用RawBlock来编写原始html。问题是我不知道InlineEl1InlineEl2的html。我需要让pandoc处理它们。

可能的解决方法:使用Div,然后手动修改生成的html文件。

有更好的方法吗?

编辑:或者我可以将内联元素放在RawBlock中?我现在只是使用一个简单的字符串。我不知道是否有可能,因为我没有任何文件可用。我只是通过反复试验来进行。

1 个答案:

答案 0 :(得分:2)

从pandoc 2.0开始,AST中的图形表示为still somewhat adhoc。它只是一个只包含图像的段落,图像的title属性以fig:开头。

$ echo '![caption](/url/of/image.png)' | pandoc -t native
[Para [Image ("",[],[]) [Str "caption"] ("/url/of/image.png","fig:")]]

$ echo '![caption](/url/of/image.png)' | pandoc -t html
<figure>
  <img src="/url/of/image.png" alt="caption" />
  <figcaption>caption</figcaption>
</figure>

请参阅http://pandoc.org/MANUAL.html#extension-implicit_figures