Pandoc:Mark to Mark - 使用过滤器显示错误"无法解析字段块"

时间:2017-12-09 13:46:27

标签: python pandoc

我尝试调整此pandoc filter,但我需要使用Span代替Div。

输入文件(myfile.md):

### MY HEADER

[File > Open]{.menu}

[\ctrl + C]{.keys}

Simply line

过滤文件(myfilter.py):

#!/usr/bin/env python

from pandocfilters import *

def latex(x):
    return RawBlock('latex', x)


def latex_menukeys(key, value, format, meta):
    if key == 'Span':
    [[ident, classes, kvs], contents] = value

    if classes[0] == "menu":
        return([latex('\\menu{')] + contents + [latex('}')])
    elif classes[0] == "keys":
        return([latex('\\keys{')] + contents + [latex('}')])

if __name__ == "__main__":
    toJSONFilter(latex_menukeys)

运行:

pandoc myfile.md -o myfile.tex -F myfilter.py

pandoc:Error in $.blocks[1].c[0]: failed to parse field blocks: failed to parse field c: mempty 
CallStack <fromHasCallStack>: 
error, called at pandoc.hs:144:42 in main:Main

我应该如何使用不同的内容&#34;正确的吗?

1 个答案:

答案 0 :(得分:0)

假设Span在段落中。然后你会尝试用RawBlock替换它,这是行不通的。也许尝试使用RawInline代替?