如何将pandoc的降价输出更改为html转换

时间:2017-02-19 02:50:05

标签: pandoc

例如,如果我这样做

# Header

pandoc发出<h1 id="header">Header</h1>。我想要像

这样的东西
<h1 class="something" id="header">Header</h1>

是否有一些文件可以更改$body$中的html标记输出?

编辑,我正在寻找一个&#34;自然&#34;改变(如果这是有道理的)。所以# header&#34;自然而然地#34;返回<h1 class="classname">header</h1>

我想我会查看源代码/文档中的内容。

2 个答案:

答案 0 :(得分:2)

要将某个类添加到特定类型的所有元素,您可以使用filter。这是一个用panflute制作的;让我们将其保存为add_class_to_header1.py,然后使用pandoc mydoc.md -F add_class_to_header1.py -t ...

编译文档
import panflute as pf


def add_class_to_header1(elem, doc):
    if isinstance(elem, pf.Header) and elem.level == 1:
        elem.classes = ["classname"]
    return elem


if __name__ == "__main__":
    pf.run_filter(add_class_to_header1)

答案 1 :(得分:1)

这是你想要的吗?

>echo # header {.something} | pandoc
<h1 id="header" class="something">header</h1>

如果您想了解有关其工作原理的更多信息,请查看manualbracketed_spans部分,但一般情况下,向{.class}添加$fields将设置其类。