これはやばい、これまでになく良い電子書籍作成環境かも! 電子書籍を書く際に、どのフォーマットを使うかで悩む人はいるでしょう。そんな方にはWebとしても見せやすいMarkdownフォーマットをお勧めします。そしてそのための環境づくりとしてお勧めしたいのがSoftcoverです。 SoftcoverはMarkdownフォーマット使ってHTML/ePub/Mobi/PDFなど各種フォーマットへ変換してくれるソフトウェアです。Webでのプレビュー機能もあって、どんどん文章が書けてしまうはずです。

公式サイトのトップページです。

Softcoverのインストール

インストールはRubygemsで行います。

$ gem install softcover

これで準備は完了です。実際にはその他、関連のソフトウェアとしてLaTeX、ImageMagick、node、PhantomJS、Inkscape、Calibre、KindleGen、Java、EpubCheckなどが求められています(なくても動作します)。

Softcoverの使い方

まずは新規プロジェクトを作成してみます。

$ softcover new example_book

これで電子書籍を作成するベースができあがります。

ベースはこのような構成になっていて、Markdownファイルがchaptersに入っています。

そして作成したプロジェクトのフォルダでサーバを立ち上げます。

$ softcover server
Building...Done. (1.44s)
Running Softcover server on http://localhost:4000
== Sinatra/1.4.4 has taken the stage on 4000 for development with backup from Thin
Thin web server (v1.6.1 codename Death Proof)
Maximum connections set to 1024
Listening on 0.0.0.0:4000, CTRL+C to stop

サーバが立ち上がったら、 http://localhost:4000 にアクセスしてみましょう。

こんな感じにHTML展開した内容が表示されます。

そしてここからが面白いところで、Markdownをローカルで編集します。

ファイルを編集中…

保存したタイミングでサーバの表示内容がリアルタイムに反映されます。

編集内容が反映されます。

さらに面白いことに単純なリフレッシュではないので、スクロールが上に戻ったりせずにその場に変更内容が反映されます。

後は文章ができあがったら、

$ softcover build:all

を実行すると、HTML/ePub/Mobi/PDFが生成される仕組みです。なお、そのためには必要なライブラリが揃っている必要があります。

checkで足りないライブラリの確認ができます。

$ softcover check
Checking Softcover dependencies...
Checking for LaTeX...         Missing
Checking for ImageMagick...   Found
Checking for Node.js...       Found
Checking for PhantomJS...     Found
Checking for Inkscape...      Missing
Checking for Calibre...       Missing
Checking for KindleGen...     Found
Checking for Java...          Found
Checking for EpubCheck...     Missing
Missing dependencies:
  • LaTeX (http://latex-project.org/ftp.html)
      ∟ Huge download—start it now!
  • Inkscape (http://inkscape.org/)
  • Calibre (http://calibre-ebook.com/)
      ∟ Enable Calibre command-line tools (http://manual.calibre-ebook.com/cli/cli-index.html)
  • EpubCheck 3.0 (https://github.com/IDPF/epubcheck/releases/download/v3.0/epubcheck-3.0.zip)
      ∟ Unzip EpubCheck into your home directory

電子書籍を書くために必要な環境が素早く構築できそうです。LaTeXは巨大なので(2GB越えなので)、先んじてダウンロードしておくのが良さそうです。

SoftcoverはRuby製のオープンソース・ソフトウェア(MIT License)です。

Softcover softcover/softcover