2017-12-02 68 views
0

我正在爲python編寫pandoc的過濾器。我正在使用pandocfilters使用過濾器在pandoc中添加圖元

我想用Figure[InlineEl1, InlineEl2]替換Para[Image]

Figure不支持pandoc,所以我使用RawBlock來編寫原始html。問題是我不知道InlineEl1InlineEl2的html。我需要讓pandoc處理它們。

可能的解決方法:使用Div,然後手工修改生成的html文件。

有沒有更好的方法?

編輯:或者我可以把內聯元素放在RawBlock?現在我只使用一個簡單的字符串。我不知道是否有可能,因爲我沒有任何文件可用。我只是通過試驗和錯誤進行。

回答

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

+0

對不起,我不清楚。我的目標是用適當的標籤生成一個html文件。 – Kiuhnm

+0

我確定它沒有,但那是因爲我使用的是1.x版本。 – Kiuhnm

+0

雖然有一個問題。我無法將屬性添加到圖中。有沒有辦法? – Kiuhnm