KDPで出版する本をMarkdownで書き、Pandocを使ってepub3に変換する

KDP(Kindle ダイレクトパブリッシング)で出版する本を Markdown で書きました。.md ファイルを Pandoc で epub3 に変換したところ、KDP へのアップロードに成功し、無事に出版まで漕ぎ着けました。出版までの手順をまとめます。

Pandoc のインストール

Pandoc は、文書作成や出版作業に使えるオープンソースのツールです。KDP では、書籍ファイルのフォーマットとして epub3 を受け付けているので、Pandoc を使って Markdown から epub3 を作成します。

brew install pandoc

article.md を用意する

出版する本の中身を用意します。頑張って書きましょう。私の場合は、最初にアウトラインエディタアプリの Dynalist で全体の構成を書き始めました。PC アプリとスマホアプリの両方あるので、外出中でも家でも捗ります。

ある程度構成が固まったらDynalist to Markdown 変換ブックマークレットで markdown に変換します。

# はじめに

## ほげ

# おわりに

metadata.txt を用意する

書籍のメタ情報を記載した metadata.txt を用意します。

---
title: "Webサイト売買で副業を始めよう"
author: "kabueye"
---

表紙を用意する

表紙画像として cover.jpg を用意します。自分で作るか誰かに依頼することになります。自分で作る場合でも、Web サービスや Keynote などを使えば比較的簡単に表紙を作ることができます(人を惹きつけられる表紙かどうかは別問題...)。

Pandoc で Markdown を epub3 に変換する

以下のコマンドで変換できます。

pandoc -f markdown -t epub3 article.md metadata.txt -o book.epub --toc --toc-depth=3 --epub-cover-image=./cover.jpg

変換してできた book.epub をKindle Previewerにドラッグアンドドロップすれば、自分の本を読むことができます。

変換時に以下のエラーが出る場合は、metadata.txt が指定されていないか、metadata.txt の書式が間違っていて正常に読み込めていません。

[WARNING] This document format requires a nonempty <title> element. Defaulting to 'article' as the title. To specify a title, use 'title' in metadata or --metadata title="...".

WARNING を無視して Kindle Previewer 3 にドラッグアンドドロップしても、以下のエラーが出ます。

E20006: OPF メタデータで定義されている一つ以上のタイトルがあります。しかし、それらのひとつでも"main" タイトルとして "title-type" で絞り込みされていません。

E21011: 本のタイトルが設定されていませんでした。mobi を生成する前に、タイトルを設定してください。

"ステータス","本の変換に失敗しました."

title を別途指定することで WARNING は出なくなりますが、title を都度コマンドラインオプションとして指定するのは面倒ですよね。metadata.txt の中身を見直して、title をなしでもエラーが出ないようにします。

pandoc -f markdown -t epub3 article.md metadata.txt -o book.epub --metadata title="TITLE"

なお、Pandoc の詳しい使い方については、日本語ドキュメントがあるので読んでみてください。

KDP に epub3 をアップロードする

KDP(Kindle ダイレクトパブリッシング)で書籍ファイルとして epub3 をアップロードし、プレビューで問題なく読めるかどうかを確認します。実際に書籍を出版するまでには色々登録作業が必要ですが、本記事では割愛します。






Amazon欲しいものリスト

私が作業中に飲んでいるコーヒーや欲しいマンガなどを集めました。開発・執筆の励みになりますのでクリックして頂ければ幸いです。

<Amazon欲しいものリスト>