niszetの日記

アナログCMOS系雑用エンジニアが頑張る備忘録系日記

(Pandoc) docx -> md への逆変換のメモ。メタデータについて

メタデータに関して

PandocによるMarkdownからdocxへの変換は、Titleなどのドキュメントの見た目やooxml中で定義されているタグがあるような項目だけでなく、任意のメタデータを出力ファイルに入れることが可能です。たとえば、RMarkdownで出力した場合はoutputがありますコレもメタデータに入っています。

しかし、逆にdocxファイルからMarkdownへ変換する場合は注意が必要で、メタデータについては一切が破棄されます。

しかし、Title等はYAML中に書き戻されていたのは第1回で見れていました。これは、PandocのDocx Readerがデータを読み取るとき特定のスタイルを使用している段落を対応するメタデータに置き換えているという処理をしているためです。

具体的には下記のコードにて。

github.com

以下、当該箇所の抜粋です。

metaStyles = M.fromList [ ("Title", "title")
                        , ("Subtitle", "subtitle")
                        , ("Author", "author")
                        , ("Date", "date")
                        , ("Abstract", "abstract")]

左がスタイル名、右がメタデータ名。この対応関係にあるものだけが変換されます。

他のメタデータも復元してくれると嬉しい気がする?どうかな?聞いてみようかな…?