2017-02-19 84 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