1
私は、メタデータをそのままにして、文書の本文を変更するだけのLUAフィルタを適用しようとしています。それは私が思ったよりも難しいです。luaとwalk_blockのpandocフィルタ
フィルタは、ブロック要素と同様に、インライン要素にテキストを付加して追加する必要があります。インライン要素(Code
)で機能する場合は、ブロック要素CodeBlock
で失敗します。
function Pandoc(doc)
blocks = {}
for k,block in pairs(doc.blocks) do
table.insert(blocks, pandoc.walk_block(block, {
-- Doesn't work!?
CodeBlock = function(el)
return {
pandoc.Para({pandoc.Str("Before")}),
el,
pandoc.Para({pandoc.Str("After")})}
end,
-- Works!
Code = function(el)
return {pandoc.Str("Before"), el, pandoc.Str("After")}
end,
}))
end
return pandoc.Pandoc(blocks, doc.meta)
end
何が欠けていますか?乾杯、ここ
私は 'pandoc.Div'ソリューションに問題がありました。 manフィルタのソリューションは、魅力のように機能しますが。どうもありがとう! – greut
残念ながら、 'div'の' .content'フィールドにアクセスしてブロックを戻すのを忘れてしまいました。最初の解決策は今でも機能するはずです。 – tarleb