niszetの日記

細かい情報を載せていくブログ

(Pandoc)出力ファイルのチェックをするならテストに使っているファイルを使うのが一番。

そらそうだ。

PandocもCI使ってテストをしています。手元でもstack testとかでテストできますけどね。

この際に使っているファイルがコレ。native形式で書かれているので、native parserがしくじってなければ、コレが一番Readerに依存しない形ですね。賢い。

github.com

で、これを

pandoc --data-dir=../data --quiet testsuite.native -r native -w opendocument --columns=78 --variable pandoc-version= -s > writer.opendocument

みたいにすればいいわけですね。実際、test/下にはwriter.opendocumentがいますので、テスト時はこいつとdiffとって差異がなければpassという事になります。

自分でwriterを作ったらとりあえずこれを入力にして結果を見てみると良いと思います。他の形式、たとえばhtmlなどの出力と比較して、renderされた結果が意図した通りかな?みたいに見ていくのかなーと思います。最終的にはドキュメントの見た目の構造も含めてチェックしないといけないので、文字列だけ光うしていてはダメというのが面倒くさいですね(構造だけみてOKとしてもいいけど僕の目ではそれは出来ない…)

odt形式の場合、--to opendocumentだとcontent.xmlが出力されますが、このうち画像のリンクはおかしくなってしまうので注意。見るなら素直に --to odt してチェックした方が良いと思いますよ、3-4日前の私…。

odt形式はファイルそのもの、LOW、スタイルなど色々なものによって挙動が決まるので、全体像を把握しきれていないと無限に時間が溶けますねぇ…(ぼやき