少し順番がキモになってきます。
まずRe:VIEWのプロジェクトを作ります。
$ review-init MyBook
MyBook
ディレクトリといくつかのファイルが作られます。
もうこの段階で、MyBook
ディレクトリに入り
$ rake pdf
と叩くとbook.pdf
が作られるはずです。
上手く作られない場合はTeXのインストールが失敗している可能性が高いでしょう。
出力されたPDFにフォントが埋め込まれているか確認します。
$ pdffonts book.pdf
emb
の項目がyes
になっていたらフォントが埋め込まれています。
フォント埋め込みがされていない場合、PDFを印刷する際に問題が起きる可能性があります。
MyBook
ディレクトリで
$ gitbook init
を実行します。README.md
とSUMMARY.md
が作られます。さっそく
$ gitbook serve
でGitBookのローカルサーバを起動してみましょう。
ブラウザでhttp://localhost:4000
にアクセスするとREADME.md
の内容が表示されていると思います。
例えばemacsのロックファイル等、ディレクトリにリンクファイルが作られたり消えたりすると、 gitbookサーバがしょっちゅうエラーで止まります。 その場合は、
$ while true ; do gitbook serve ; done
という感じにシェルでループさせると良いと思います。
Re:VIEWが生成するRakefileを編集します。 具体的にはPull Requestを見てください。
rule '.re' => '.md' do |t|
sh "md2review --render-link-in-footnote #{t.source} > #{t.name}
end
でmarkdownからreview形式1に変換しています。
もうひとつcatalog.yml
をSUMMARY.md
から作るタスクを追加しています。
あとがきと付録はそれぞれpostdef-*.md
とappendix-*.md
というファイル名を付ける前提にしています。
まえがきをRADME.md
で代用しているのですが、場合によってはpredef-*.md
をキーワードにしてもいいでしょう。
GitBookで使うファイルは全てコミットしますが、
そこから生成されるファイルは.gitignore
で無視するようにします。
_book
*.re
*.pdf
catalog.yml
他にもエディタの一時ファイルなども無視するようにします。
GitBook用の.bookignore
ファイルにも同様の設定を書いておきます。
config.yml
でRe:VIEWの設定を行います。
設定項目が詳しく書かれているので読みながら必要な部分を編集していきます。
必要なのは、
booktitle
タイトルaut
著者pbl
サークル名date
発行日prt
印刷所
などです。 特に同人誌では、出版社=サークルということだけはきちんと抑えておきましょう。
まずリポジトリをGithubにpushし、その後にGitBookのサイトで新しい本を作ります。 Github連携すると、GithubからGitBookに同期する設定ができます。 これでGithubにpushするだけで自動でGitBookで公開される本ができあがりました。
さあ準備は整いました!! 本文を書き始めましょう!!
Footnotes
-
実際のPull Requestは bundle exec を使っています ↩