2017-05-02 17 views
1

私はを使用して、MarkdownをWord文書に変換するためのpandoc用のpythonフィルタを作成しています。通常、pandocはMarkdownヘッダーを見出し1、見出し2などのWordの組み込みスタイルに変換します。しかし、私が使用する必要があるWordテンプレートの特質のため、WordのすべてのMarkdownヘッダーを対応するカスタムスタイルに変更する必要がありますそのヘッダレベル1 =>ヘッダ1、レベル2 =>ヘッダ2、などpandoc - 見出しをWordのカスタムスタイルに置き換えます。docx

は、ここで私は私のフィルタをテストするために作られた迅速なサンプル値下げファイルです:

# Heading 1 

some text in a paragraph 

## Heading 2 

a little bit more text down below 

基本的に、私は値下げがあるかのように変換したいです私はそれのように書いていた:

<div custom-style="Header1">Heading 1</div> 

some text in a paragraph 

<div custom-style="Header2">Heading 2</div> 

a little bit more text down below 

そのように、私が実行するとき:

pandoc -S test_input.md -o test_output.docx --reference-docx ./custom_styles.docx --filter ./test_filter.py 

結果のWord docxは、適切なカスタムスタイルを使用します。

フォローですか?

とにかく、ここで私はpanfluteを使って書いたフィルターです:

#! /usr/bin/env python 
#coding: utf-8 

from panflute import * 

def action(elem, doc): 
    if isinstance(elem, Header): 
     return Div(elem, classes=['Header{}'.format(elem.level)]) 

def main(doc=None): 
    return run_filter(action, doc=doc) 

if __name__ == "__main__": 
    main() 

どの、残念ながら、スタイリングのための私のカスタムdivタグでマークダウンヘッダに代わるものではありません。あたかもフィルタが全くないかのように、基本的に反対側に出てきます。

ここで間違っていることはわかりません。

+0

私はpanfluteに精通していません。多分pandoc-discussメーリングリストにお尋ねください。 – mb21

答えて

1

Aha!最後に私自身でそれを理解しました。

関連する問題