我正在寻找一些帮助,以适应Pandoc过滤器(用Python编写)来修改标记输出。
最近我在处理类似问题(Pandoc: HTML-to-Markdown--can I replace elements using templates or scripts)时有帮助,但是我经常遇到错误来适应这个新过滤器。
我正在将HTML转换为标记(严格),我希望定义列表中的术语是粗体的,所以我想我可能可以从pandocfilters开始。
这是defilist.py(2):
from pandocfilters import toJSONFilter, BulletList, Para, Strong
def deflists(key, value, format, meta):
if key == 'DefinitionList':
return BulletList([tobullet(t, d) for [t, d] in value])
def tobullet(term, defs):
return([Para([Strong(term)])] + [b for d in defs for b in d])
if __name__ == "__main__":
toJSONFilter(deflists)
我想替换^{cd2>},例如(来自AST)
^{pr2}$所以定义项类似于^{{cd3>}。
我试过以下几点:
^{pr3}$我得到的错误与Pandoc有关,它期望a^{cd4>}和看到对象等
我的Python、JSON和Pandoc知识目前非常肤浅,因此,对于我可以尝试下一步的内容,任何指针或建议都将不胜感激。
非常感谢。
我不确定是否应该回答我自己的问题,但经过一些尝试和错误,再加上更多的时间阅读Pandoc文档,我设法让过滤器正常工作:
相关问题 更多 >
编程相关推荐