うーん、ePubで作るとKindleの書籍内リンクがうまくいかないな
書籍内リンクって?
電子書籍って、中身はWebサイトと同じ仕組みで動いているから、リンクを貼ればクリックするだけで、指定した場所にジャンプできるはずなんだけど、それがなかなかうまくいかなかったんだよね。なんとか解決できたから、今日はそれについて解説するよ!
- ePubをKindle化する際の、書籍内リンクの基本的なやり方
- ePubをKindle化した際、書籍内リンクがうまくいかなかった原因と解決方法
- ePubをKindle化して書籍内リンクを使う際、でんでんコンバータのマークダウンと相性が悪い理由
- まとめ
ePubをKindle化する際の、書籍内リンクの基本的なやり方
Kindleで電子書籍を発行する方法はいくつかあるのですが、わたくしはePubという形式のファイルをアップロードする方法をとっています。ePubの場合テキストで本の中身のデータを作成するのでリンクを貼る場合は、リンクとして表示したいテキストをHTMLのアンカー要素(aタグ)で囲み、”(ダブルクオーテーション)で囲まれた部分にリンク先のURLを書くというやり方をします。
Webサイトへのリンク等の場合は、これだけでOKなんですが、書籍内にリンクを貼る場合は、リンク先のURLが存在しないので、作ってあげる必要があります。
作り方はアンカー要素のname属性で特性値を指定したり、IDを使う方法もあります。作成した属性値に#をつけてアンカー要素のhref属性の属性時に指定すると作成したリンク先にジャンプできるようになります。
ePubをKindle化した際、書籍内リンクがうまくいかなかった原因と解決方法
本来は上記の方法で書籍内リンクが使えるはずなんですが、わたくしの場合、それではうまくいきませんでした。
「なんでじゃ!」と思い調べたところ、テキストをePubかする際に使用しているツール、でんでんコンバータと、その改ページマークダウンが書籍内リンクと相性が悪いことが原因と判明。
続いて解決方法をいろいろ検討した結果、改ページはマークダウンを使わずに、Kindle公式のカスタムHTMLタグ<mbp:pagebreak />を使うのが良いという結論にいたりました。
ePubをKindle化して書籍内リンクを使う際、でんでんコンバータのマークダウンと相性が悪い理由
ここからはちょっと専門的な話になるので、読み飛ばしていただいて構いません。
ePubというファイルはHTMLやCSSといったファイルを、zipでまとめた1つのファイルにした形式になっています。なのでePubのファイルの拡張子をzipに変更して解凍すると、中のファイルを見ることができるんですね。
調査の過程でそのことを知り、試しに、でんでんコンバータで作成したePubを解凍をしてみたところ、HTMLファイルが複数含まれているのを発見。ひとつずつ中身を確認してみると、どうやら、改ページの度に、ファイルが分割されているようでした。
改めて、でんでんコンバータのヘルプページを確認して見ると、マークダウンを用いて改ページを行うと、ePub内のHTMLが分割されてしまうとの記述を発見。
ファイルが分割されているために、リンク先にジャンプできないということが判明したのです。
いやぁ、知らないことって本当に死ぬほどいっぱいありますなぁと思った事案でしたね。
まとめ
書籍内リンクはHTMLの記述で可能になる。
上手くいかないときはePubを解凍してみよう。
改ページがファイル分割行われていたら、Kindle公式カスタムHTMLタグで改ページしよう。
こんなのよく調べたねぇ
電子書籍界隈では常識レベルの話みたいで、ドンピシャの情報がなくて苦労したよ。でもこれでゲームブックとか作れるようになるから楽しみだな!