我正在为python中的pandoc
编写一个过滤器。我正在使用pandocfilters
。
我想将Para[Image]
替换为Figure[InlineEl1, InlineEl2]
。
Figure
不支持 pandoc
,因此我使用RawBlock
来编写原始html。问题是我不知道InlineEl1
和InlineEl2
的html。我需要让pandoc
处理它们。
可能的解决方法:使用Div
,然后手动修改生成的html文件。
有更好的方法吗?
编辑:或者我可以将内联元素放在RawBlock
中?我现在只是使用一个简单的字符串。我不知道是否有可能,因为我没有任何文件可用。我只是通过反复试验来进行。
答案 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>