このエントリは Docker Advent Calendar 2016 - Qiita の2日目です。
こんにちは。CTOの馬場です。
みなさんお世話になった(と思われる)Docker日本語ドキュメントは @zembutsuさんが個人で翻訳されています。
GitHubで作業されていて、Pull Requestを受け付けてくれているので、 ぜひ参加しましょう!
環境構築
いまはSphinxがあればビルドできるので、 インストールしておきましょう。
pip install Sphinx
2016/12/1時点で Sphinx 1.4.8 でHTML生成できることを確認しています。
生成は1行ぽんと実行するだけ。
make html
これで build/html
配下にHTMLが生成されます。
別の方法として、もし手元の環境に手を加えたくないなーという場合はDockerを活用しましょう。
リポジトリにはDockerfileが用意されているので、 ビルドして生成できます
docker build -t spx .
docker run --rm -v `pwd`:/mnt spx make html
らくちん。
※後述の諸事情により超でっかいイメージができます
とはいえ、なにしよう?
タイプミスや変換ミスなど、気づいたことはなんでもPull Requestするとよいとおもいます。 例えばバージョン番号を変え忘れてる場所があるとか、そういうのも良いと思います。
@zembutsuさんは優しいので怒られるようなことはないでしょう。
他には、、、たとえばWARNINGやERORRつぶしはいかがでしょう?
現時点でHTMLをビルドすると、実に86個のWARNING、ERRORが出力されます。 engine, machine, registryあたりに多いようなので、ぜひトライしてみてください。
地道な貢献もいいものだと思います。
そんなわけでPDF生成環境を作ってみた
現状Sphinx生成がHTMLだけで、PDFは一太郎で作っているとのことだったので、 アドベントカレンダーに合わせてSphinxでPDF生成できるようにしてみました。 2016/12/1にマージしていただき、メインリポジトリのmasterに入っています。
SphinxのPDF生成はLaTeX経由です。 Latexとなると途端に環境構築のハードルが上がる感じがしてイヤンなので、 ここはDockerの出番です。
ubuntu:16.04
上にtexliveを使って環境構築しています。
とてもFatな 3.2GB のイメージができます。
時間はかかりますが手間はかからない。すばらしい。
やってみたところSphinxでLaTeX生成がコケまして、
どうも \xe2\x80\x93
( EN DASH ) が原因だったので --
に置換してしまいました。
そしてPull Requestしたところ、、、Sphinxメンテナの方が通りがかりまして、次のバージョンで解決するそうです。
SphinxでPDF生成 by netmarkjp · Pull Request #103 · zembutsu/docs.docker.jp
GitHubってすごい!
そんなわけで話が逸れましたが、引き続きAdvent Calendarをお楽しみください。