見出し画像

EPUB制作環境をVSCode+pandocに移行

これまでテキスト執筆・電子書籍制作環境を色々と試してきました。快適な環境を模索し続け、ようやく「これが理想に近いかな?」と思える環境、
「VSCode + pandoc」
に行き着きました。

・iBooks Author(Mac専用)
・Scrivener (Mac/Windows)
・Sigil(Windows/Mac/Linux)
・VSCode + pandoc (Windows/Mac/Linux) ←今ここ

VSCode・EPUB制作モード

これが現在の私のVSCodeのEPUB制作モードです↓。ようやく理想的な環境が構築されつつあります。

画像1

VSCode・EPUBモードのメリット

・マークダウン書式で書ける
・VSCodeなのでEmacsキーバインドを使って書ける
・右側ペインにEPUBでのレンダリングをリアルタイム表示
・左側のビューワーでファイル管理
・下段にTerminalでpandocコマンドを使ってコンパイル
・EpubだけでなくPDFやdoc、LaTeXなど他のフォーマットにも変換可能

特に大量長文のテキストをもりもりと書くには、マークダウン書式で書けるのとEmacsキーバインドは大きいです。

pandocを使った.epubコンパイル

pandocのコマンドの良い点は散らばった.mdファイルをコマンド一発で一括してコンパイルし、一つのEpubフォーマットに変換出来るところです。↓

画像2

出力結果↓。xxx-xxx.mdと複数あるマークダウンファイルや画像がコンパイルされ、Epubフォーマットに変換出力されました。

画像3

Sigilで開いて編集

EpubのXHTMLの中身を直接編集出来るSigilで出力された.epubファイルを開いてみたところです↓。

画像4

目次なども自動生成され、綺麗なXHTMLフォーマットに書き出されています。GOOD。

私がマークダウン信者に至った経緯

マークダウン書式は登場した2004年から、もうかれこれ17年くらい使っています。ちょうどマークダウンが登場した頃、オープンソースプロジェクトでブログエンジンシステムを自主開発した際にはテキスト→HTML変換出力機能の実装に関してはかなり研究しました。そして、最終的にマークダウン最強という結論に至り実装した思い出があります。

あれから17年経過し、Githubでは標準ドキュメントフォーマットとして定着するなど今ではすっかり標準フォーマットの地位を確立しています。本体の開発自体は大分前に終了しているにも関わらず未だに使われているということは、最初に登場した時にこれ以上改善の余地がないくらい高い完成の域に達していたということでしょう。事実これ以上シンプルに出来ないフォーマットのため、改善の余地はありません。

私はこのnoteのアイディア書きや下書きも含め色々なテキスト書きにマークダウンを使用していますが、特定のアプリや環境に依存せず、長きに渡ってデータを引き継げて保守出来るのはプレーンテキストフォーマットである、と思っています。ワープロ専用機時代に作ったデータもテキストフォーマットにしてパソコンに移行して色々救われた事もありましたし、色んなOSを渡り歩いて結局はプリミティブなテキストデータが一番、という結論に達したので、私は「テキスト最強信者」です。

マークダウンは汎用フォーマットに変換しやすいテキスト形式なので長期に渡っての保守にも有効。これ以上ないくらいシンプルなのでどんなエディタでも開け、編集できる安心感があります。

他のEPUB制作専用アプリはダメなのか

EPUB制作専用アプリとしてはiBooks AuthorやScrivenerが有名で、使いやすさやUIではダントツです。この2つはフォーマットがrtf形式のため画像を直接貼り付けたりとWord感覚で便利なのです。ただ、やはり汎用性は低いです。

特にiBooks AuthorなどはAppleが独自にタグ拡張をしたApple独自フォーマットを使っており、汎用性を持たせようと他のアプリにデータ移行するときちょっと面倒でした。アプリ自体の更新もだいぶ長い間滞っており、いきなり開発・配布終了になる可能性もあります。

Appleの「いきなり開発打ち切り・古残ユーザー切り捨て」


には何度も泣かされたので、Apple専用アプリのApple独自フォーマットで大事なデータを書き溜めるなど危険すぎで私はもう全く信用してません。

Scrivenerは標準的な.rtf形式です。iBooks Authorよりはスタンダードフォーマットを重視しており、機能も高く汎用性があります。出力されるEpubフォーマットも標準的で美しいです。他のアプリに持っていく際にはテキスト変換する事が出来るなど非常に便利です。

ただこれも元データはRAWなテキストデータではないため、色々なコードが入っておりデータは重くなります。制作中のデータパッケージは独自仕様なのでiBooks Authorと同じように、いち企業の独自フォーマットに委ねる覚悟が必要です。アプリが開発打ち切りになったらまた一つ一つフォーマット変換して別アプリに移行しないといけません。疑い深い私はこれがどうも出来ない性分のようです。

そもそもScrivenerはもともとMac・ipadOS専用であり、最近になってようやくWindows版も出ましたが、やはりMac版・ipadOS版がUIもUXも一番です。Macも未だに使っていますが今はLinuxがメインのため、データはMacでもLinuxでも全く同じように扱える環境にしたい。特定のOSに全てを依存するのはゴメンだ、という理由でScrivenerは選択肢から自然と外れることになりました。

まとめ

そんなこんな諸々色々な理由があって行き着いたのが

VSCodeでマークダウンで書き溜め、pandocで変換出力

という環境、というわけです。まだ移行したばかりなので使い込みはこれからですが、今のところ非常に満足しています。

いいなと思ったら応援しよう!