みつきんのメモ

組み込みエンジニアです。Interface誌で「My オリジナルLinuxの作り方」連載中

gitbook-templateを試す(その2)

はじめに

前回のつづき。

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

ドキュメントビューアーで確認すると次のようになっている。

f:id:mickey_happygolucky:20190628172440p:plain
PDFのフォント情報

まとめ

ローカルにDockerfileを配置して、コンテナを自由に改変できるようになった。 フォントの埋め込みなどの、オリジナルのままではちょっと不便だと思うこともなんとかなりそう。