LoginSignup
5
5

More than 3 years have passed since last update.

pandocコンテナに色々入れてみた

Last updated at Posted at 2019-08-02

pandocコンテナに色々入れてみた

設計書をMarkdownで書いていたのだけど、提出できる(≒ Word的な)形にする必要があったので、調べていたら、素晴らしい記事にたどり着きました。

あとはPlantUMLに対応すればいい感じになりそうなので、コンテナに突っ込んでみました、という記事です。

元ネタ

いろいろパクリ参考にしました。感謝。

参考記事

参考ソース

リソース

使い方

Markdown → PDFは元ネタを参考にしてください。基本、「--filter /usr/share/plantuml/plantuml.py」オプションをつけるだけです。

PDFの出力例
$ docker run -it --rm -v `pwd`:/workspace ysogabe/alpine-pandoc-ja pandoc input.md -f markdown -o output.pdf -V documentclass=ltjarticle --pdf-engine=lualatex --filter /usr/share/plantuml/plantuml.py

やったこと

元のDockerfileを以下の通りいじりました。

  1. Dockerのベースイメージを「adoptopenjdk/openjdk12:alpine」に変更
  2. ビルドが通らなかったので、修正ついでにTeXのバージョンを上げた
  3. plantuml、pandocfiltersをインストールした

大したことしてないので、詳しくはソースをみてください。

PlantUMLの記載方法

pandocfiltersの「examples/plantuml-sample.md」を参考にしてください。

PlantUMLの書き方はいろいろありますが、


```plantuml → OK

```plantuml → NG
@startuml

@import "./uml/01.usecase.puml" → NG

```puml → NG
@startuml

です。(大量に文書があればfilterを修正するけど、grepでできる範囲だったので、文書で対応しました)

使ってみて

  • やっぱり、ドキュメントの差分管理は便利
  • typora使うと、図表もコピペでOK(PlantUMLのプレビューができれば完璧なのになぁ)
  • 何気にWord出力が便利

これから

  • CI:誤字、脱字、表記の揺れとかの自動チェック
  • CD:最終生成物をどこで管理する?

謝辞

元ネタのおかげで、仕事がはかどりました。

修正

相互参照に対応できてなかったので、Dockerイメージを修正しました。PDFは相互参照できます。すばらしい。Wordでも相互参照したいなぁ。。。

5
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
5