はじめに
前回のつづき。
PDF出力時の日本語フォントなど、細かいところは調整が難しい感じ。
と書いたが、Dockerfileをおいてどうにかできないか試してみた。
作業環境は前回のものをそのまま引き継ぐ。
Dockerfileのリポジトリ
オリジナルのDockerfileはHeRoMo/docker-gitbookで管理されている。
これをローカルの環境に取得して、コンテナに手を入れていきたい。
docker-compose.yml
があるディレクトリで次のコマンドを実行する。ここでは適当にブランチを切っている。
$ git clone https://github.com/HeRoMo/docker-gitbook.git $ cd docker-gitbook $ git checkout -b mybook
そしてdocker-compose.yml
を次のように編集する。
--- docker-compose.yml~ 2019-06-19 15:19:21.237108274 +0900 +++ docker-compose.yml 2019-06-28 16:40:38.619619404 +0900 @@ -4,7 +4,7 @@ image: 'bitjourney/plantuml-service:1.3.3' gitbook: - image: hero/gitbook:latest + build: ./docker-gitbook volumes: - ./gitbook:/gitbook - plugins:/gitbook/node_modules
これでローカルのDockerfileを参照してイメージがビルドできるようになる。
$ docker-compose build
フォントを追加してみる
Dockerfileを編集してフォントをイメージに追加してみる。
diff --git a/Dockerfile b/Dockerfile index fae376d..1e40043 100644 --- a/Dockerfile +++ b/Dockerfile @@ -5,7 +5,8 @@ LABEL maintainer="HeRoMo" RUN apt-get update -y && \ apt-get install -y \ bzip2 \ - calibre && \ + calibre \ + fonts-ricty-diminished && \ apt-get autoremove -y && \ apt-get clean && \ rm -rf /var/cache/apt/archives/* /var/lib/apt/lists/*
ここではfonts-ricty-diminished
を追加している。
gitbook/book.json
を修正してPDF生成時に使用するフォントを設定してみる。
--- book.json~ 2019-06-28 17:17:47.862386849 +0900 +++ book.json 2019-06-28 17:17:26.694060803 +0900 @@ -21,6 +21,7 @@ } }, "pdf": { + "fontFamily":"Ricty Diminished", "paperSize": "a4" }, "language": "ja"
次のコマンドでPDFを生成する。
docker-compose run --rm gitbook pdf
ドキュメントビューアーで確認すると次のようになっている。
まとめ
ローカルにDockerfileを配置して、コンテナを自由に改変できるようになった。 フォントの埋め込みなどの、オリジナルのままではちょっと不便だと思うこともなんとかなりそう。