このすみノート

Webエンジニアが技術や趣味を書くブログです。

技術書を書き始めたので、GitBook と Re:VIEW の違いを比較してみる

技術書典4に向けて、技術同人誌の執筆をはじめました。今はガシガシ、Markdownで執筆しております。

技術書を書き始めるにあたり、どうやって書けば良いのかを調査したのですが、私が調べた限りでは「GitBook」と「Re:VIEW」のどちらかが使われることが多いようです。

github.com

github.com

私は、現時点では「GitBook」を使って同人誌を書いています。その点も踏まえて、一度整理してみたいと思います。

GitBook はお手軽に書き始めることができる

GitBookの良いところは、書き始めるまでの敷居が圧倒的に低いことです。

最低限必要なのは、README.md、SUMMARY.md、そして本文のMarkdownファイルであり、最低限3ファイルあれば、執筆の準備はOKです。

  • README.md
# はじめに
本書は、◯◯と△△を活用した、□□を構築するための本です。

〜〜以下、Markdownが続く〜〜
  • SUMMARY.md
# 目次

## 序論
* [はじめに](README.md)

## 本文
* [第1章 ◯◯とは](chapter/chapter_1.md)
* [第2章 △△について](chapter/chapter_2.md)

SUMMARY.mdから他のmdファイルにリンクすると、出来上がったPDFやEPUBに、本文が組み込まれます。

インストールは、下記のようなサイト様を参考にして実施ください。

qiita.com

gitbookはJavaScriptで出来ているため、Node.js(npm)を必要とします。そこにCalibreという、電子書籍管理ソフトを加えればOKです。

私は、MacBookで nodebrew を使用しているため、nodebrewでgitbook をインストールしました。Calibreのインストールも、コマンド一発です。

 brew cask install calibre

GitBookを思い通りに扱うことは難しい

GitBookの設定は、book.jsonというファイルで行ないます。

  • book.json
{
    "pdf": {
        "pageNumbers": false,
        "paperSize": "b5",
        "fontSize": 10
    }
}

・・・なのですが、pageNumbersをfalseにしてもページ番号が消えなかったり、上下左右のマージンを設定してもうまく反映されなかったりと、どうにも思い通りに動きません。

解説サイトを参考にして、指定通りのコンフィグを設定しているはずなのですが。。。

Configuration · GitBook Toolchain Documentation

特に書いていて辛いのが、謎の空ページ(空白ページ)が出来てしまうことがある点です。1ページに収まっているはずなのに、何故か余計な空ページが追加されてしまいます。

本文の量を絶妙に調整すれば、解消することはできるのですが。そうすると、上から下まで目一杯使うことが出来なくなってしまうため、余白の多い本になってしまいます。

f:id:konosumi:20180211185303p:plain

Re:VIEWは本格派で、色々できる

Re:VIEWは、GitBookと比較すると本格派です。書き始めるまでの敷居は、GitBookほどお手軽ではないのですが、その代わり、しっかりした本が制作できます。

なお、Re:VIEWには専用の独特の記法がありますので、執筆の際には、チートシートを見ながらやることになります。

mhidaka.hatenablog.com

Re:VIEWチートシート · GitHub

ReVIEWの構成は、以下の「ReVIEWサンプル書籍データ」を参考にすると良いでしょう。

github.com

まとめ

GitBookは確かにお手軽なのですが、お手軽さ故に粗が目立つ部分があります。これは、GitBookというツールそのものが、本来Web用のドキュメント作成向けに作られたからだと思います。

しかしながら、私は普段からMarkdownに慣れ親しんでおり、このブログもMarkDownで書いています。ブログも本も、大事なのはコンテンツです。そこで、まずはGitBookを使って、慣れ親しんだMarkDownで、ガシガシ本を書いていくことにしました。

ただ、GitBookには、背表紙をつける機能がなかったり、思い通りにPDFのページ分割がされないといった欠点があります。そこで、最終的に本にするときには、Re:VIEWを使うことに決めました。

md2reviewという、GitBookとRe:VIEWの間を橋渡ししてくれるツールもあるようです。最終的にはRe:VIEW形式にコンバートして、微調整した上で技術書典4に臨もうかと思っております。

github.com

おまけ

ちなみに、今日はがっつり、10ページも執筆することができました。

・・・というわけで、早速ビールを解放するに至ります(笑)。でも、ビールの解放は、ブログを書き終えてからにすれば良かったです。

飲みながらブログを書くのはおすすめ出来ないと言うことが、本日よく分かりました。飲んでしまうと、ブログの本文を考えるのが辛くなってきますね(苦笑)。

--

そう言えば、VIEWと聞くとインディーズ時代の「FIELD OF VIEW」が思い浮かぶ、FOVクラスタの人間です。「時を止めたい」というVIEW時代の曲がありまして、これが中々に良い曲なのです。