【发布时间】:2020-05-19 15:27:37
【问题描述】:
我想使用 Pandoc 来合并多个 Markdown 文件。这样做时,我希望每个文件的 frontmatter 或元数据在合并之前在文档顶部生成自定义 Markdown。我发现这个SO post answer 似乎可以满足我的要求,但我对proposed filter 的Pandoc 过滤器或Haskell 的理解不够。我将 Haskell 翻译成 Python 的尝试是这样的:
from pandocfilters import Header
from pandocfilters import toJSONFilter
def insertMeta(key, value, format, meta):
if ???:
return Header(meta['title'], [], [])
if __name__ == "__main__":
toJSONFilter(insertMeta)
我知道toJSONFilter 将遍历文档的 AST,但我不知道如何编写一个仅在文档顶部插入标题信息的条件。我在调理什么?我尝试dir(pandocfilters),但没有看到看起来像元数据或文件头的对象。感谢您的帮助。
【问题讨论】: