Pandoc 过滤器中
RawBlock
函数的正确用法是什么?
#!/usr/bin/env python
from pandocfilters import toJSONFilter, Str, Para, Emph, Header, RawBlock
import re
def replace(key, value, format, meta):
if key == 'Str':
if value.startswith('Hello'):
#return Str("Hi") # this works
return RawBlock("opendocument", "Hi") # this doesn't
if __name__ == '__main__':
toJSONFilter(replace)
您正在尝试将 Inline 值 (
Str
) 替换为 Block 值 (RawBlock
)。 只能用相同类型的元素替换元素。使用 RawInline
代替 RawBlock
。