この秋から電子書籍を作っている。
やり方としては、「でんでんマークダウン」形式でテキストを作り、「でんでんコンバーター」でEPUBに変換する。
電書ちゃんのでんでんコンバーター - でんでんコンバーター
できたEPUBを「KindlePreviewer」でMOBIおよびAZK形式に変換して、手元のKindle端末およびiPhoneで確認する。
納得が行く状態になったら、EPUB方式をKDPのサイトにアップロードして出版、という、これだけの流れである。
EPUBは、Validな形式であることを確認しないといけない。
HTMLと一緒で、見た目上電子書籍として端末で開けても、実はValidでないということがある。
うわっ…あんたのEPUB、ダメすぎ…? 検証とその対処 - 電書ちゃんねるBlog
EpubCheck エラーメッセージ一覧日本語訳
ぼくは以下のサービスを使って調べている。
EPUB Validator (beta)
「でんでんマークダウン」形式でテキストを書いて、「でんでんコンバーター」でEPUBにしている限りにおいては、めったにエラーは出ないようだ。
画像を埋め込むタグを書いているのに、その画像がなかったりすると、当然エラーが出る。
でも、その場合はKindlePreviewerでも警告が表示されるし、Kindleで電子書籍を見てもデジカメにビックリマークがついたようなアイコンになるので、すぐわかる。
ひとつわかりにくいエラーが出て、いろいろやってみたら解決したので、ここに報告する。
でんでんマークダウンでは、行頭に#をつけて見出しを作る。
#の数が増えるほど見出しのレベルは下る。
#がHTMLの<H1>に、##が<H2>に相当する。
正式には#で囲むが、行末の#は省略できるようだ。
これを、見出しのレベルを飛ばすと、エラーになる。
おめでとう!とほめてもらえる。
それはいいんだけど、
「ファイルをパースしていたらエラーがあった。要素"ol"はまだ許されていない。"a"か"span"だと思われる」的な。
このnav.xhtmlの15行目の624バイト目ってのがなんだよすげえな、と思う。
最初は、上の見出しの問題だとわからなかったので、以下のように調べた。
まずepubをzipファイルとして解凍してみる。
すると、OEBPSというフォルダーの中にnav.xhtmlというファイルが生成されていて、目次が入っている。
たしかに15行目にぎゅうぎゅうに目次が入っている。
<ol>タグもいっぱい入っているが、これのどこかがエラーになっているのだろう。
これが分からない。
そこで、<ol>タグと</ol>タグをなんとなくインデントしてみた。
なんとなく、今になってこうして見ると27行目の<ol>タグだけが、後ろに<a>が来ないうちに次の<ol>が来ているので変な感じだ。
でも最初はそれが分からなかったし、もっと結構でっかいファイルだったので、このように改行を入れた状態で、もう1回Validateしてみた。
そのためには、unzipしたフォルダーをもう1回zipして拡張子をepubにするだけではなくて、ものすごく複雑な法則でzipしないといけないのだ。
森卓司さんのブログに以下のように書かれている。
(ひどい>自分)
Sus scrofa liaodongensis: EPUB ZIP コンテナの作り方
具体的には、epubをunzipしたフォルダーの中で(下ではinvalidとする)
(※自分用メモ:1行目の「-0」はハイフンゼロ)
これを、もう一度Validationすると、エラーは変わらないが行番号が変わる。
28行目というとここだ。
ということで、やっぱり
これは、論理的にもおかしいので、でんでんマークダウンのファイルを直して、もういちどでんでんコンバージョンして、ヴァリデーションすると、エラーがなくなった。
ということで、Validatorでこういうエラーになったら、もとのマークダウンや画像ファイルのどこがおかしい、というのを、こんご知識としてためていくほうがいいと思った。
電書ちゃんのでんでんコンバーター - でんでんコンバーター
できたEPUBを「KindlePreviewer」でMOBIおよびAZK形式に変換して、手元のKindle端末およびiPhoneで確認する。
納得が行く状態になったら、EPUB方式をKDPのサイトにアップロードして出版、という、これだけの流れである。
EPUBは、Validな形式であることを確認しないといけない。
HTMLと一緒で、見た目上電子書籍として端末で開けても、実はValidでないということがある。
うわっ…あんたのEPUB、ダメすぎ…? 検証とその対処 - 電書ちゃんねるBlog
EpubCheck エラーメッセージ一覧日本語訳
ぼくは以下のサービスを使って調べている。
EPUB Validator (beta)
「でんでんマークダウン」形式でテキストを書いて、「でんでんコンバーター」でEPUBにしている限りにおいては、めったにエラーは出ないようだ。
画像を埋め込むタグを書いているのに、その画像がなかったりすると、当然エラーが出る。
でも、その場合はKindlePreviewerでも警告が表示されるし、Kindleで電子書籍を見てもデジカメにビックリマークがついたようなアイコンになるので、すぐわかる。
ひとつわかりにくいエラーが出て、いろいろやってみたら解決したので、ここに報告する。
でんでんマークダウンでは、行頭に#をつけて見出しを作る。
#の数が増えるほど見出しのレベルは下る。
#がHTMLの<H1>に、##が<H2>に相当する。
正式には#で囲むが、行末の#は省略できるようだ。
# 見出し1みたいな。
## 見出し2
### 見出し3
これを、見出しのレベルを飛ばすと、エラーになる。
# 第1章みたいな流れだとエラーにならない。
## 1−1
### 1−1−1
### 1−1−2
## 1−2
### 1−2−1
# 第2章
## 2−1
### 2−1−1
おめでとう!とほめてもらえる。
それはいいんだけど、
# 第1章のように#の数が急に飛ぶとエラーになる。
## 1−1
### 1−1−1
### 1−1−2
## 1−2
### 1−2−1
# 第2章
### 2−1−1 <=
「ファイルをパースしていたらエラーがあった。要素"ol"はまだ許されていない。"a"か"span"だと思われる」的な。
このnav.xhtmlの15行目の624バイト目ってのがなんだよすげえな、と思う。
最初は、上の見出しの問題だとわからなかったので、以下のように調べた。
まずepubをzipファイルとして解凍してみる。
すると、OEBPSというフォルダーの中にnav.xhtmlというファイルが生成されていて、目次が入っている。
たしかに15行目にぎゅうぎゅうに目次が入っている。
<ol>タグもいっぱい入っているが、これのどこかがエラーになっているのだろう。
これが分からない。
そこで、<ol>タグと</ol>タグをなんとなくインデントしてみた。
なんとなく、今になってこうして見ると27行目の<ol>タグだけが、後ろに<a>が来ないうちに次の<ol>が来ているので変な感じだ。
でも最初はそれが分からなかったし、もっと結構でっかいファイルだったので、このように改行を入れた状態で、もう1回Validateしてみた。
そのためには、unzipしたフォルダーをもう1回zipして拡張子をepubにするだけではなくて、ものすごく複雑な法則でzipしないといけないのだ。
森卓司さんのブログに以下のように書かれている。
(ひどい>自分)
Sus scrofa liaodongensis: EPUB ZIP コンテナの作り方
具体的には、epubをunzipしたフォルダーの中で(下ではinvalidとする)
(※自分用メモ:1行目の「-0」はハイフンゼロ)
[invalid]$ zip -0 -X ../invalid.epub mimetypeのようにすると、一つ上の階層にinvalid.epubという名前でEPUBが出来る。
adding: mimetype (stored 0%)
[invalid]$ zip -r ../invalid.epub * -x mimetype
adding: META-INF/ (stored 0%)
adding: META-INF/container.xml (deflated 30%)
adding: OEBPS/ (stored 0%)
adding: OEBPS/bodymatter_0_0.xhtml (deflated 47%)
adding: OEBPS/content.opf (deflated 58%)
adding: OEBPS/nav.xhtml (deflated 63%)
adding: OEBPS/style.css (deflated 66%)
adding: OEBPS/template.css (deflated 76%)
adding: OEBPS/toc.ncx (deflated 77%)
[invalid]$
これを、もう一度Validationすると、エラーは変わらないが行番号が変わる。
28行目というとここだ。
ということで、やっぱり
# 第2章ここが怒られている。
### 2−1−1 <=
これは、論理的にもおかしいので、でんでんマークダウンのファイルを直して、もういちどでんでんコンバージョンして、ヴァリデーションすると、エラーがなくなった。
ということで、Validatorでこういうエラーになったら、もとのマークダウンや画像ファイルのどこがおかしい、というのを、こんご知識としてためていくほうがいいと思った。