2021年5月13日木曜日

[技術書典] Re:VIEW Starter で印刷・電子書籍版で config.yml を使い分ける

Re:VIEW Starter (もしくは Re:VIEW)を使ってると電子書籍版と印刷版で設定変えたいことがあります。

たとえば
  ## リンクのURLを脚注に埋め込む(PDFでのみ)。
  linkurl_footnote: false   # trueならリンクのURLを脚注に埋め込む(お勧め)
リンクの URL が自動的に footnote になるのでとても便利なのですが、電子書籍版はリンクで飛べるので false にしてました。
やり方
電子書籍版用の YAML ファイルを用意する
Re:VIEW では config.yml 、Re:VIEW Starter では加えて config-stater.yml がありますが、それぞれ電子書籍用の YAML を用意します。
このとき YAML はコピペではなく、電子書籍版で設定した項目だけ書けば OK です。

例:

ポイントは inherit で優先したい設定の YAML を後ろに書くことです。
また、contentdir はルートの YAML にないと rake でエラーになるので注意してください。

電子書籍版用の yml ファイルを指定してビルドする
Re:VIEW では「config」環境変数に設定した YAML ファイルを読み込んでくれるので、ビルドする際に config=config-e.yml のように指定すれば OK です。
  config=config-e.yml rake preproc pdf
  docker run --rm -e "config=config-e.yml" -v "$(pwd)":/work -w /work kauplan/review2.5 rake preproc all
まとめ
  • YAML を分ける
  • inherit を利用して共通の設定を読み込む
  • config 環境変数に YAML ファイルをセット
これで設定切り替えが簡単にできるようになりました。
宣伝
拙著発売中です。よろしくお願いします。


0 件のコメント:

コメントを投稿