かわろぐ

技術、セキュリティ、その他もろもろ

MENU

Docker を使って Pandoc で docx ファイルを生成できるようにする

前回の記事では、ローカルに pandoc をインストールして いましたが、今回は、Docker を使って、docx ファイルを生成できるようにしてみたいと思います。

なぜ Docker をつかうの?

Docker を使おうと思った一番の理由は、ローカル環境をきれいに保つことができるからです。PCが頻繁にリプレイスされることもあり、都度都度すべての環境を作り直すのがめんどくさいからですね。可能な限りポータブルな状態でありたいと思ってです。

また、将来的に複数名で作業するときに、特定の環境依存により生成できないというトラブルを最小限にすることができると思って Docker を使って生成することにトライしました。

pandoc の公式イメージを使う

pandoc は公式が Docker イメージを提供してくれています。なので、これを使わない手は無いです。今回私は、 Markdown から docx ファイルを生成したいだけなので、Core を使います。

Docker のインストールは公式Webサイトを参考に完了しているものとします。以下のコマンドでまずは pandoc の core イメージを取ってきます。

$ docker pull pandoc/core

Docx ファイルを生成する

前回の記事で使った、3つの Markdown ファイルを適当なディレクトリに格納します。そして、 default.yml を以下のように少し変更します。

input-files:
  - 01.md
  - 02.md
  - 03.md

output-file: test.docx
table-of-contents: true
toc-depth: 2

変更したら、そのディレクトリで以下のコマンドで docx を生成します。

$ docker run --rm --volume $(pwd):/data --user $(id -u):$(id -g) pandoc/core -d default.yml

手元の環境をきれいな状態に保ちながら簡単に pandoc が使えました。

Docker/Kubernetes 実践コンテナ開発入門

Docker/Kubernetes 実践コンテナ開発入門