iA / Writer / サポート / プレビュー

カスタムテンプレート

iA Writer のテンプレートを使えば、あなたらしいスタイルで PDF を作成し、文書を印刷できます。

テンプレートは Web ページで構成されます。HTML、CSS、JavaScript を使って文書の見た目を整えられます。Web サイトの作り方を知っていれば、iA Writer のテンプレートも簡単に作れます。

iA Writer のテンプレートは bundles です。テンプレートファイルをひとまとめにしたディレクトリのことです。Bundle は macOS と iOS でネイティブにサポートされています。中身を見るには、Finder で右クリックして “Show Bundle Contents” を選びます。

Example.iatemplate/
    Contents/
        Info.plist
        Resources/
            document.html
            title.html
            header.html
            footer.html
            style.css

テンプレートのインストール

サンプルテンプレート(iatemplate)は GitHub からダウンロードできます。

macOS

Note: テンプレートバンドルはインストール時にコピーされます。元のバンドルを変更しても、その変更は iA Writer には反映されません。インストール済みのバンドルは変更できます。インストール先を見つけるには、Preferences で対象を右クリックして “Show in Finder” を選びます。

iOS

iOS では、テンプレートバンドルだけでなく ZIP アーカイブも追加できます。1 つのアーカイブにつきテンプレートは 1 つです。

Windows (v. 1.2+)

テンプレートをダウンロードしたら、iA Writer のメニューで FileInstall Template‘TemplateName.iatemplate.zip’ を選びます。

テンプレートフォルダ

HTML ファイル

iA Writer のテンプレートでは、タイトルページ、本文、ヘッダー、フッターをそれぞれ別の HTML ファイルでレイアウトします。

テンプレートのプロパティ

テンプレートページやその他のプロパティは Info.plist で定義します。plist に触れたことがないなら、まずはサンプルバンドルから始めるのがおすすめです。XML の property list ファイルは任意のテキストエディタで編集できます。

キー 必須/任意 説明
CFBundleName String Required iA Writer に表示されるテンプレート名。
CFBundleIdentifier String Required テンプレートを一意に識別します1
IATemplateDocumentFile String2 Required 本文をレイアウトします。
IATemplateTitleFile String2 Optional 書き出し時のタイトルページをレイアウトします。
IATemplateHeaderFile String2 Optional 書き出し時に各ページ上部を描画します。
IATemplateFooterFile String2 Optional 書き出し時に各ページ下部を描画します。
IATemplateHeaderHeight Number Optional ヘッダーの高さ。CSS ピクセル単位(≤400)。
IATemplateFooterHeight Number Optional フッターの高さ。CSS ピクセル単位(≤400)。
IATemplateDescription String Recommended テンプレートを説明する 1 文。
IATemplateAuthor String Recommended テンプレートを作成した人(または会社)。
IATemplateAuthorURL String Recommended テンプレート作者へのリンク。
IATemplateSuportsSmartTables Boolean Optional Smart Tables を処理するかどうか。指定がなければ YES が既定です。
IATemplateSupportsMath Boolean Optional TeX 数式を MathML に変換するかどうか。指定がなければ YES が既定です。
IATemplateTitleUsesHeaderAndFooterHeight Boolean Optional NO にすると、タイトルページのヘッダーとフッターの高さを 0 にします。指定がなければ YES が既定です。
  1. iA Writer はバンドル識別子を使ってテンプレートと文書をひも付けます。各テンプレートには一意の識別子が必要です。識別子には英数字(A-Z, a-z, 0-9)、ハイフン(-)、ピリオド(.)のみを使えます。文字列は reverse-DNS 形式にしてください。たとえば会社のドメインが example.com なら、com.example.template をバンドル識別子にできます。
  2. HTML ファイル名は拡張子を除いた名前です。実際のファイルは html 拡張子である必要があります。

コンテンツ

iA Writer は JavaScript を使って HTML にコンテンツを流し込みます。あらかじめ定義された複数の data 属性を持つ要素に対し、innerHTML を置き換えます。

たとえば <span data-date></span> は、ページ読み込み時に <span data-date>June 22, 2016</span> に置き換わります。

iA Writer は、コンテンツを更新した要素に ia-writer-change イベントを送ります。

Document

document ページは、Preview、印刷文書、PDF で本文をレイアウトします。

属性 説明
data-document HTML としての本文テキスト。

iA Writer は、いくつかの追加要素を加えた MultiMarkdown を使って Markdown を HTML に変換します。Markup.txt には、iA Writer でよく使うマークアップの例がまとめられています。Markup.html は、data-document に対応する HTML 版です。

Title Page, Header and Footer

タイトルページ、ヘッダー、フッターは、印刷文書と PDF でのみ使われます。

属性 説明
data-page-count 書き出した文書の総ページ数。
data-page-number 現在のページ番号。1
  1. data-page-number はタイトルページでは使えません。タイトルページを含めても含めなくてもページ番号の連番を保つためです。

All Pages

属性 説明
data-title 文書タイトル。文書ファイル名から取得します。
data-author Preferences で指定した場合の文書作者。
data-date 現在の日付。属性値で日付形式1を指定できます: data-date="MMMM yyyy"。日付形式のパターンは Unicode Technical Standard #35 に記載されています。Windows では Microsoft の標準形式 を使います。
  1. data-date の出力は、属性値で指定した要素と完全に一致しない場合があります。たとえばロケール固有の 調整 が適用され、yMMMMd が米国では MMMM d, y、英国では d MMMM y になることがあります。

Preview

テンプレート作者は、Preview で見栄えをよくするために少し時間を取り、ナイトモードや iOS のシステム全体のフォントサイズへの対応を加えることをおすすめします。

iA Writer は環境データとして <html> 要素の class 属性を使います。テンプレートが読み込まれるとこの要素は置き換えられるので、カスタムクラスは追加しないでください。

Class 説明
night-mode ナイトモードが有効です。1
ios iOS での Preview。2
mac macOS での Preview。
  1. macOS の Settings でナイトモードを反転するユーザーもいます。
  2. テンプレートをレスポンシブにするには、標準の media query を使うことを強くおすすめします。ただし、iOS と macOS を区別することが重要な場合もあります。たとえば、標準テンプレートはプラットフォームごとに少し異なる配色です。

テンプレート開発

macOS の Preview で現在表示中のテンプレートを完全に再読み込みするには、Shift Command R を押します。

Preview で Web Inspector を有効にするには、次のコマンドを Terminal に貼り付けます。

defaults write pro.writer.mac WebKitDeveloperExtras -bool true

Windows では、Ctrl J で Chromium inspector を有効にできます。

Vertical Margins

document ページでは、上下方向の余白や padding を避けてください。

Toolbar Color

iA Writer は、macOS で現在表示中のテンプレートに合わせて Preview のツールバー色を調整します。<html> 要素には colorbackground-color を設定してください。

Font Size on iOS

iA Writer は iOS のシステム全体のフォントサイズをサポートしています。ユーザーは Settings > Display & Brightness > Font Size で調整できます。ほとんどのテンプレートでは、この設定に合わせてフォントサイズを調整する必要があります。

Class 説明
content-size-xs 極小のフォント。
content-size-s 小さめのフォント。
content-size-m 中くらいのフォント。
content-size-l 既定値。大きめのフォント。
content-size-xl さらに大きいフォント。
content-size-xxl かなり大きいフォント。
content-size-xxxl 最大のフォント設定。

一部のユーザーは Settings > General > Accessibility > Larger Text でアクセシビリティ用サイズを有効にする場合があります。

Class
content-size-accessibility-m
content-size-accessibility-l
content-size-accessibility-xl
content-size-accessibility-xxl
content-size-accessibility-xxxl

プレビュー