EPUB3出力プラグイン(その5)

EPUB3出力プラグインの5回目として、テーマのカスタマイズ方法を解説します。

1.テーマを構成するテンプレート

EPUB用のテーマには、以下の9つのインデックステンプレートが含まれます。

テンプレート出力するファイル
メインページ表紙のページ
目次目次のページ
ナビゲーションEPUB3の仕様に沿った目次データ
スタイルシートEPUBの各ページに適用するスタイルシート(縦書き/横書き共通)
スタイルシート(横書き用)EPUBの各ページに適用するスタイルシート(横書きの場合のみ適用)
スタイルシート(縦書き用)EPUBの各ページに適用するスタイルシート(縦書きの場合のみ適用)
スタイルシート(TinyMCE用)TinyMCEに適用するためのスタイルシート
content.opfEPUB全体の情報や、EPUBに含むファイルの情報等が入ったXMLファイル
toc.ncx目次データが入ったXMLファイル

また、以下の3つのアーカイブテンプレートも含まれます。

テンプレート出力するファイル
ブログ記事個々のページ
ウェブページ前付/本文前/奥付のページ
カテゴリ別ブログ記事リスト章の見出しのページ(カテゴリを章として使う場合)

2.テンプレートのカスタマイズ

メインページ/目次/ブログ記事/ウェブページ/カテゴリ別ブログ記事リストの各テンプレートをカスタマイズすることで、EPUBの各ページのHTMLの構造を変えることができます。
EPUB3のHTMLは、HTML5(のXML形式であるXHTML5)で書きます。

また、スタイルシートのテンプレートをカスタマイズすることで、EPUBの各ページのデザインを変えることもできます。
EPUB3のスタイルシートは、CSS2をベースに、CSS3の一部にも対応しています。とほぼ同じ書き方をすることができます。
EPUB3のスタイルシートの仕様は、IDPFのEPUB3の仕様の中にあります。

「スタイルシート」のテンプレートには、横書き/縦書きに共通な部分を入れます。
また、「スタイルシート(横書き用)」「スタイルシート(縦書き用)」は、それぞれ横書き/縦書きのときだけ適用したい部分を入れます。

ただし、一般のWebブラウザと同様に、EPUBリーダーごとに、XHTML/CSSを仕様通りに正しく解釈しない不具合もあります。
そのため、EPUBリーダーによっては、思った通りの表示が得られないこともあります。

3.カスタマイズ禁止の箇所

各テンプレートの出力ファイル名/アーカイブマッピングは、変更しないでください。
以下のテンプレートは、原則として書き換えないでください。
これらを変更すると、EPUBの出力時に問題が起こります。

  • content.opf
  • toc.ncx

また、ナビゲーションのテンプレートも書き換えないでください。
書き換えると、EPUBリーダーの目次機能が正しく動作しなくなります。

4.テーマのエクスポート

カスタマイズしたテーマをエクスポートして、配布していただくこともできます。
ただし、テーマのtheme.yamlファイルを一部書き換える必要があります。

theme.yamlファイルの中で、「elements:」の行の前に、以下の2行を追加してください。
これらの行がないと、プラグインにEPUB用テーマとして認識されません。

required_components: 
  MTePub: 1.00

また、SuperSortプラグイン対応のテーマをエクスポートする場合は、theme.yamlの「elements:」の行の前に、以下を追加します。

required_components: 
  MTEPUB: 1.10
  super_sort: 1.20

5.EPUB3出力プラグイン/テーマ関係の記事の一覧

EPUB3出力プラグイン/テーマ関係のその他の記事は、以下のリンクから参照できます。