2017-02-19 70 views
0

因此,举例来说,如果我做如何pandoc的降价的输出更改为HTML转换

# Header 

pandoc给出<h1 id="header">Header</h1>。我想是这样

<h1 class="something" id="header">Header</h1> 

有一些文件,我可以改变$body$ HTML标记输出?

编辑,我正在寻找一个“自然”的变化(如果这是有道理的)。所以# header“自然”给回<h1 class="classname">header</h1>

我想我会通过源代码/文档寻找的东西。

回答

0

要将类添加到特定类型的所有元素,你可以使用一个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) 
+0

谢谢。这是我正在寻找的。 – isthisnagee

1

这是你想要的吗?

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

如果您想对如何工作的更多信息,请检查manualbracketed_spans的部分,但一般添加{.class}许多对象将设置他们的阶级。

+0

你回答,就像我会进行编辑哈哈编译文件。我已经知道添加'{.classname #idname}'。我正在寻找一种直接更改一些配置文件或源代码的方式。 – isthisnagee