【问题标题】:pandoc: `RawBlock` in filterpandoc:过滤器中的`RawBlock`
【发布时间】:2019-06-17 17:17:18
【问题描述】:

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)

【问题讨论】:

    标签: pandoc pypandoc


    【解决方案1】:

    您正在尝试将 Inline 值 (Str) 替换为 Block 值 (RawBlock)。只能用相同类型的元素替换元素。使用RawInline 而不是RawBlock

    【讨论】:

    • 非常感谢您的回答,这导致了预期的输出。仔细想想,其实很明显。
    猜你喜欢
    • 2019-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多