CUBE SUGAR CONTAINER

技術系のこと書きます。

デジタル出版システム Re:VIEW を使ってみる

書籍の執筆環境として、最近は Re:VIEW の評判が良いので試してみることにした。 しばらく使い込んでみて良さそうだったら、既存の Sphinx の環境から移行するのもありかもしれない。 もちろん Sphinx もドキュメントを書くには良いツールなんだけど、はじめから書籍の執筆を試行しているか否かは Re:VIEW と異なる。

使った環境は次の通り。

$ sw_vers         
ProductName:    Mac OS X
ProductVersion: 10.14.6
BuildVersion:   18G103
$ review version  
3.2.0

もくじ

Ruby をインストールする

Re:VIEW は Ruby で書かれたツールセットなので、インストールするのに Ruby が必要となる。 macOS のシステムにインストールされた Ruby でも大丈夫だとは思うけど、念のため rbenv で最新版を入れておく。

まずは Homebrew で rbenv をインストールする。

$ brew install rbenv ruby-build

現時点で最新版の Ruby をインストールする。

$ rbenv install 2.6.5

デフォルトのバージョンをインストールしたものに切り替える。

$ rbenv global 2.6.5

パスを通すためにシェルの設定ファイルに rbenv の初期設定用の記述を追加する。 以下は ZSH を使っている場合に、rbenv コマンドがあるときだけ初期化するというもの。

$ cat << 'EOF' >> ~/.zlogin
: "rbenv" && {
  which rbenv >/dev/null 2>&1
  if [ $? -eq 0 ]; then
    eval "$(rbenv init -)"
  fi
}
EOF

設定を追加したら読み込む。

$ source ~/.zlogin

Ruby のバージョンが切り替わればおっけー。

$ ruby --version
ruby 2.6.5p114 (2019-10-01 revision 67812) [x86_64-darwin18]

Mac TeX をインストールする

Re:VIEW は PDF をビルドするのに TeX Live を必要とする。 そこで、macOS であれば Homebrew Cask で Mac TeX を入れておく。

$ brew cask install mactex

Re:VIEW をインストールする

準備ができたので Gem を使って Re:VIEW をインストールする。

$ gem install review

review コマンドが叩けるようになれば良い。

$ review version
3.2.0

プロジェクトを作る

まずは review-init コマンドでプロジェクトのひな形を作る。

$ review-init helloworld

これで、必要なファイル群ができた。

$ ls helloworld 
Gemfile     config.yml  images      sty
Rakefile    doc     layouts     style.css
catalog.yml helloworld.re   lib

できたディレクトリに移動する。

$ cd helloworld

Re:VIEW では .re ファイルに Re:VIEW の軽量マークアップ言語を使って文章を書いていく。 試しに適当な文章を追加しておこう。

$ cat << 'EOF' > helloworld.re
= Hello, World!

hello, world
EOF

HTML にビルドする

各形式には Rake のタスクを実行することでビルドできる。 タスクは内部的には review-* のコマンドを叩いている。

$ rake web

例えば web タスクであれば webroot ディレクトリに HTML の成果物がビルドされる。

$ ls webroot
helloworld.html images      index.html  style.css   titlepage.html

PDF にビルドする

同様に、rake pdf なら PDF がビルドできる。

$ rake pdf
$ file book.pdf
book.pdf: PDF document, version 1.5

EPUB にビルドする

電子書籍のフォーマットである EPUB も rake epub でビルドできる。

$ rake epub
$ file book.epub
book.epub: EPUB document

所感

設定ファイルなどを見た限りでも、Re:VIEW は書籍の執筆というドメインにかなり特化している印象を受ける。 電子書籍を書く、という目的であれば既存のドキュメンテーションツールをカスタマイズしていくよりも手間が少なく済みそうだ。