gitbook で Markdown から PDF を生成する
Published at 2018-05-13
技術書典5 への参加を目指して、執筆環境をセットアップしたのでそのメモ。今回は GitBook を使って Markdown から PDF を生成する。選択肢としては更に高機能な Re:VIEW もあるが、筆が進みやすいようにとりあえず使い慣れている Markdown を選んだ。足りない機能があったり余力があれば、Re:VIEW のセットアップもしてみるつもり。
プロジェクトの作成
プロジェクトのフォルダに移動したあと、gitbook の npm モジュールをプロジェクトローカルにインストールする。インストールすると gitbook コマンドが使えるようになるので、プロジェクトを初期化する。
$ npm init
$ npm install --save-dev gitbook-cli
$ ./node_modules/.bin/gitbook init .
warn: no summary file in this book
info: create README.md
info: create SUMMARY.md
info: initialization is finished
すると、 README.md と SUMMARY.md が作成される。あとは原稿を Markdown 形式で用意し SUMMARY.md から参照していくだけで良い。 README.md は特別なファイルで SUMMARY.md から参照しなくても自動で挿入される。
# Summary
- [Foo](foo.md)
- [Bar](docs/bar.md)
...
HTML と PDF の生成
gitbook build で静的な HTML ファイルが _book フォルダ配下に生成される。gitbook serve で生成される HTML を localhost:4000 にホストしつつ、原稿の変更を検知してライブリロードしてくれる。
gitbook pdf で静的な PDF ファイル book.pdf が生成される。PDF の生成には Calibre が必要なので brew cask install Calibre でインストールしておく。
それぞれ、npm run から実行できるように、package.json に以下を記述しておく。
{
"scripts": {
"build": "gitbook build",
"pdf": "gitbook pdf",
"dev": "gitbook serve"
}
}
表紙の挿入
プロジェクトルートに以下の2ファイルを配置すると、自動で挿入される。
cover.jpg: 1800x2360cover_small.jpg: 200x262