nuits.jp blog

C#, Xamarin, WPFを中心に書いています。Microsoft MVP for Development Technologies。

MarkdownからRe:VIEWを利用し簡単にPDF生成できるツールをリリースしました

MarkdownからPDFを簡単に生成できるDockerのContainerイメージを作成し、DockerHubに公開しました。

コマンドを2行実行するだけで作成できます。

中身的にはRe:ViewのContainerイメージをベースにmd2reviewをインストールし、サポートのシェルスクリプトをいくつか用意した形です。

本エントリーはWindowsのコンソールで実行するケースで紹介していますが、それ以外の環境で実行する場合は、以下のリンク先もご覧ください。

Docker イメージを取得する

以下のコマンドを実行します。

docker pull nuitsjp/mdview

執筆環境を作成する

ドキュメントを執筆するにあたり、必要な設定ファイルなどを作成します。

docker run --rm -v %cd%:/work nuitsjp/mdview /bin/sh -c "cd /work && mdview-init.sh document"

mdview-init.shの引数にdocumentを指定しているため、documentというサブディレクトリが作成され、その下に必要ファイルが配置されます。

ホストとゲストでフォルダの共有がうまく行かない場合はこちらを参照ください。

ドキュメントを記述する

documentフォルダの中の「document.md」ファイルを開いて、次のように編集しましょう。

# タイトル

Hello, Re:View!

PDFにビルドする

カレントディレクトリをbookフォルダに移動後、次のコマンドを実行しPDFにビルドします。

docker run --rm -v %cd%:/work nuitsjp/mdview /bin/sh -c "cd /work && review-pdfmaker.sh config.yml"

実行が完了すると、次のようなPDFが作成されるはずです。

f:id:nuitsjp:20180706131746p:plain

複数のMarkdownファイルを記述して、catalog.ymdに取り込みたいmdファイルを定義することで、一つのPDFを複数のMarkdownから生成することもできますし、生成されるPDFの詳細はパラメーターを制御する事も可能です。

拡張子こそ異なりますが、その辺りはRe:VIEWの仕様に準じていますので、Re:Viewのドキュメントもご覧ください。

以上です。 よかったらご利用ください。