Skip to content
KADO Masanori edited this page Apr 4, 2014 · 1 revision

yamlファイルの検討

review-epubmaker-ngのepubmaker化に向けてYAMLを整理。

NEW がついているものは -ng で新しく設定できるようになった項目。

型説明

  • bool: 論理値trueかnil

  • int: 整数

  • str: 単一文字列

  • sarray: 文字列配列

書名・言語

  • bookname (str): ePUBファイルの名前

  • booktitle (str): 書名

  • NEW title (str): 書名 ←FIXME:booktitleとの差異

  • NEW subtitle (str): サブタイトル

  • NEW title-en: 英語原書タイトル ←FIXME:現状オライリー用カスタムで使用してるだけ

  • NEW language (str): XHTMLおよびテンプレートリソースで使用する言語。日本語「ja」、英語「en」。 ※現状はparamsで設定

  • urnid (str): 固有IDとして使用するドメイン等(URN形式)。指定しない場合には、時刻に基づくランダムUUIDが入る

  • isbn (str): ISBN。nilの場合はePUBのBookIdはISBNではなくurnidが使われる。

バージョン

  • epubversion (int): ePUBバージョン(2 or 3)

  • htmlversion (int): HTMLバージョン (4 or 5)

  • NEW htmlext (str): 生成するHTMLファイルの拡張子。デフォルトは「html」 ※これまではparamsで設定

epubversionを3にしたときには、htmlversionは必ず5になる。

目次・採番

  • toclevel (int): 目次抽出レベル。最低1

  • secnolevel (int): 本文(CHAPS)の見出し採番レベル。最低0、デフォルト2

  • NEW pre_secnolevel (int): 前付(PREDEF)の見出し採番レベル。最低0、デフォルト0

  • NEW post_secnolevel (int): 後付(POSTDEF)の見出し採番レベル。最低0、デフォルト0

  • NEW part_secnolevel (int): 部扉(PART)の見出し採番レベル。最低0、デフォルト1

前付・後付

  • coverfile (str): カバーページのbody要素内に挿入する内容を記述したファイル名 ←FIXME:ヘッダフッタを入れるよりは単純コピーのほうがいいか?profileなどは単純コピー

  • coverimage (str): カバー用画像。画像ディレクトリ内に置いてもディレクトリ名は不要(例: cover.jpg)

  • cover_linear (bool): カバーページをePUBリーダーで開く内容に含めるか。デフォルトはnilで、カバーページはePUBリーダーの「書影」にのみ使われ、ePUBを開いた最初のページは大扉(titlepage)からとなる。trueにすると、カバーページが最初のページになる。

  • titlepage (bool): 大扉を出力するか

  • titlepagefile (str): 大扉ページのファイル名。titlepageがtrue、titlepagefileがnilの場合はテンプレートから作成。

  • NEW originaltitlefile (str): 原書大扉ページのファイル名。nilの場合は入らない

  • NEW profile (str): 著者紹介ページのファイル名。nilの場合は著者紹介は入らない

  • colophon (bool & str): 奥付を出力するか。trueの場合はテンプレートから生成。ファイル名の場合はそれを使用 ←FIXME:キモい

目次

  • toc (bool): 目次を出力するか ←FIXME:どういう意味だっけ

  • mytoc (bool): ePUBデフォルト以外の独自目次を作成するか

メタ情報・カバー・奥付

互換性のために、以下はstrで指定しても内部で配列化される。

  • aut (sarray): 著者名。<dc:creator opf:role=“aut”>として登録される。

以下は<dc:contributor opf:role=“<職種>”>として登録される。

  • prt (sarray): 出版社

  • asn (sarray): Associated name←FIXME:何?

  • ant (sarray): Bibliographic antecedent←FIXME:何?

  • clb (sarray): 貢献者

  • edt (sarray): 編集者

  • dsr (sarray): デザイナ

  • ill (sarray): イラストレータ

  • pht (sarray): 撮影者

  • trl (sarray): 翻訳者

  • adp (sarray):

  • ann (sarray):

  • arr (sarray):

  • art (sarray):

  • aqt (sarray):

  • aft (sarray):

  • aui (sarray):

  • bkp (sarray):

  • cmm (sarray):

  • lyr (sarray):

  • mdc (sarray):

  • mus (sarray):

  • nrt (sarray):

  • oth (sarray):

  • pht (sarray):

  • red (sarray):

  • rev (sarray):

  • spn (sarray):

  • ths (sarray):

  • trc (sarray):

  • a-adp, a-ann, a-arr, a-art, a-asn, a-aqt, a-aft, a-aui, a-ant, a-bkp, a-clb, a-cmm, a-dsr, a-edt, a-ill, a-lyr, a-mdc, a-mus, a-nrt, a-oth, a-pht, a-prt, a-red, a-rev, a-spn, a-ths, a-trc, a-trl (いずれもsarray): 上記に同じ情報だが、これらはautと同じように<dc:creator opf:role=“<職種>”>の値として登録される。←FIXME:contributorなauthorって必要だろうか?

  • rights (sarray): 権利表記

  • description (sarray): ブックの説明

  • type (sarray):

  • format (sarray):

  • source (sarray):

  • relation (sarray):

  • coverage (sarray):

  • subject (sarray):

刊行日

  • date (str): 最新版の刊行日。YYYY-MM-DD形式。

  • NEW history (sarray): 版履歴。YYYY-MM-DD形式で、版ごとに子配列として刷ごとの日付を格納する。

    [“初版1刷刊行日”, “初版2刷刊行日”, …], [“2版1刷刊行日”, “2版2刷刊行日”, …

    ,… ]

    ※ 旧版は“pubhistory”という項目で、構造化せずに自由記述された文字列をそのまま出力していた。

dateはePUBファイルの「日付情報」として使われる。historyは奥付をテンプレートから生成するときに使われる。

ReVIEW変換

  • params (str): review-compileに渡すパラメータ。現状では–stylesheet=CSS名 でスタイルシートを渡す必要がある? ←FIXME:そもそもイケてない

  • NEW rename_for_legacy (bool): review-compile変換後ファイル名をリネームするか。デフォルトはnil(リネームしない)。trueにすると、PREDEFはpre01, pre02,…、CHAPSはchap01, chap02, …、POSTDEFはpost01, post02, …というファイル名で作成される。

  • imagedir (str): 図版のコピー元フォルダ。デフォルトはimages。※このほかにカレントのadv、coversフォルダからもコピーされる。

  • stylesheet (sarray): スタイルシート。配列で複数指定できる。

フック

フックパラメータには実行するプログラム/スクリプトを指定する。カレントのプログラムを実行するには「./プログラム名」と記述する。

  • NEW hook_beforeprocess (str): epubmaker実行の最初に呼び出される。想定用途: スタイルシートの動的作成、imagesのシンボリックリンクなど。

  • NEW hook_afterfrontmatter (str): カバー・大扉・原書扉・クレジットの作成後に呼び出される。想定用途: 左記の調整やPREDEF内容の前に入れたいものの追加など。

  • NEW hook_afterbody (str): PREDEF/CHAPS/POSTDEFの変換後に呼び出される。想定用途: 変換後HTMLの加工、目次の調整など。

  • NEW hook_afterbackmatter (str): 著者紹介・奥付の作成後に呼び出される。想定用途: 左記の調整や最後に入れたいものの追加など。

  • NEW hook_aftercopyimage (str): 画像をコピーした後に呼び出される。想定用途: 左記の調整など。

  • NEW hook_prepack (str): ePUBのzip化直前に呼び出される。想定用途: opfファイルやncxファイルの調整など。

hook_prepackのプログラムには第1引数として第2段階(ePUB直前)のテンポラリフォルダが渡される。それ以外のプログラムには第1引数として第1段階のテンポラリフォルダ(フラットなフォルダ)が渡される。

外部コマンド

  • NEW zip_stage1 (str): ePUBファイルのmimetypeをアーカイブするコマンドライン。第1引数にePUBファイル名、第2引数にmimetypeファイル名が渡される。mimetypeは非圧縮でなければならない。デフォルトは-0Xq

  • NEW zip_stage2 (str): ePUBファイルの残りのコンテンツをアーカイブするコマンドライン。第1引数にePUBファイル名、第2引数以降にOEBPS META-INFが渡される。デフォルトは-Xr9Dq

LaTeXビルダ向け

FIXME:説明

  • texstyle (str): LaTeXスタイルファイルを指定する。texstyle: fooと指定すると、sty/foo.sty が使われる。

  • texdocumentclass (str): LaTeXドキュメントクラスを設定する。そのまま文字列として、LaTeXのドキュメントクラス指定部分に埋め込まれる。

デバッグ

  • debug (bool): デバッグフラグ。trueを指定すると、進行ログを標準出力に出力するほか、ePUB生成用のテンポラリフォルダとしてbooknameと同名のフォルダをカレントに作成して利用する。

廃止パラメータ

  • posthook (str): XHTML変換後に実行されるスクリプト。目的のhook_*に移行していただきたい。