Ubuntu Weekly Recipe

第406回 Node.js製のGitBookでお手軽に電子書籍作成

この記事を読むのに必要な時間:およそ 5 分

PDF/EPUB/MOBIの生成

PDFやEPUB,MOBIを生成するためには,Calibreのebook-convertコマンドが必要です。さらにebook-convertコマンドを実行するためにはXサーバーが必要です。よってcalibreパッケージと,さらにもしXサーバーが動いていない環境でebook-convertを動かしたい場合は,xvfbパッケージもインストールしましょう。

また日本語PDFを生成するためにはpoppler-dataと日本語フォントが必要になります。

$ sudo apt-get install calibre xvfb poppler-data \
    fonts-takao-pgothic fonts-takao-mincho
$ sudo tee /usr/local/bin/ebook-convert <<EOF
#!/bin/bash
xvfb-run /usr/bin/ebook-convert "\$@"
jOF
$ sudo chmod +x /usr/local/bin/ebook-convert
$ which ebook-convert
/usr/local/bin/ebook-convert

上記ではebook-convertをXvfb経由で実行するために,/usr/local/binにラッパーコマンドを追加しています。これでGitBook内部からebook-convertを呼んだ時にXvfbが動くことになります。

では,PDFやEPUB,MOBIを生成してみます。

$ gitbook pdf
(中略)
info: start generation with pdf generator
info: clean pdf generatorOK
info: write SUMMARY.html
info: start conversion to pdf ....OK
info: generation is finished
info: >> 1 file(s) generated

Done, without error
$ gitbook epub
(中略)
info: start generation with epub generator
info: clean epub generatorOK
info: write SUMMARY.html
info: start conversion to epub ....OK
info: generation is finished
info: >> 1 file(s) generated

Done, without error
$ gitbook mobi
(中略)
info: start generation with mobi generator
info: clean mobi generatorOK
info: write SUMMARY.html
info: start conversion to mobi ....OK
info: generation is finished
info: >> 1 file(s) generated

Done, without error
$ ls
_book  book.epub  book.mobi  book.pdf  README.md  SUMMARY.md

生成されたそれぞれのファイルが,正しく表示されることを確認しておきましょう。

なおUbuntu 14.04 LTSの公式リポジトリにあるCalibre 1.25.0の場合,生成されるEPUBファイルのバージョンは2.0となります。

GitBookの書き方

ドキュメントの作成方法はわかりましたので,あとはMarkdownを書くだけです。Markdownの記述自体はどんなエディターを使ってもかまわないので,Ubuntuで使えるMarkdownエディターについてまとまっている第389回第390回が参考になるでしょう。

GitBookヘルプのMarkdown記法にもあるように,GitHub Flavored Markdownベースになっています。またテンプレート機能やファイルの書式毎のスタイルの設定もできますので,比較的自由にデザインできそうです。JSONで記述する設定ファイルには文書のメタデータや 利用するプラグインのリストを記述します。また多言語化にも対応しています。

ドキュメントのサンプルはGitBookを検索するのはもちろんのこと,GitBookのヘルプ自体のソースコードも参考になることでしょう。

GitBookは日本語の基本的な対応や縦書き・ルビなど,既存の電子書籍生成ツールと比べるとまだまだ弱い部分がたくさん存在します。しかしながらGitHubとの親和性の高さや,Markdownを書けばいろいろなフォーマットが生成できること,何より生成したドキュメントを公開できる基盤が存在することから,今後もさまざまなソフトウェアのドキュメントがGitBookで公開されるようになるものと思います。

著者プロフィール

柴田充也(しばたみつや)

Ubuntu Japanese Team Member株式会社 創夢所属。数年前にLaunchpad上でStellariumの翻訳をしたことがきっかけで,Ubuntuの翻訳にも関わるようになりました。