pandoc:过滤器中的“RawBlock”

问题描述 投票:0回答:1

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)
python pandoc pypandoc
1个回答
3
投票

您正在尝试将 Inline 值 (

Str
) 替换为 Block 值 (
RawBlock
)。 只能用相同类型的元素替换元素。使用
RawInline
代替
RawBlock

© www.soinside.com 2019 - 2024. All rights reserved.