# 目次

- イカルとは
- インストールと起動
- 初めてのイカル
- 操作方法
  - メインメニュー
  - スタート画面
  - 編集画面
    - 文書編集領域
    - ページ編集領域
    - ID
    - スタイル
- HTML変換規則
- テクニカルノート
  - テーブルを表示する
  - リストを表示する
  - 画像を挿入する
  - リンクを挿入する
  - 目次を挿入する
  - テンプレートを使う
  - スタイルシートを使う
  - 変数を使う
  - Tips

# テンプレートを使う

テンプレートとはページをHTMLに変換するときの様式を定義するテキストファイルです。
テンプレートファイルのテキストに変数を埋め込み、HTML作成時に変数を値に置き換えることにより、決められた形式のHTMLファイルを作成することができます。
テンプレートを変更すれば同じ文書から異なるHTMLファイルを作成することができます。

- テンプレートの例
- テンプレートの作り方
- テンプレートの設定
- 部分ページ内容変数

## テンプレートの例

下記は簡単なテンプレートの例です。

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title>テンプレートを使う</title>
            <meta name="keywords" content="アウトラインプロセッサ HTML生成 PDF作成 マニュアル作成 フリーソフト">
        </head>
        <body>
            [ページ内容]
        </body>
    </html>

このテンプレートを用いると、
［ページタイトル］がシステム変数であるページのタイトルに置き換わります。
［キーワード］は利用者定義変数であるキーワードの値に置き換わります。
［ページ内容］はページの内容をHTMLに変換したテキストに置き換わります。
このようにテンプレートの指定部分が置き換わり、テンプレートの他の部分はテンプレートがそのままでファイルとして出力されます。

↑ このページのトップへ

## テンプレートの作り方

テンプレートはテキストエディタまたはHTMLエディタを用いてテキストファイルとして作ります。またホームページ作成ソフトを利用して作ることもできます。
テンプレートは通常のHTMLファイルを作るのと同じよう作ります。異なる点は、値を代入したいところに変数を埋め込むことです。

### 利用できる変数

埋め込むことのできる変数は次の通りです。変数を埋め込む場合は［ ］で囲ってください。

システム変数 | 文書タイトル | 文書のタイトルを表す変数です。
ページタイトル | ページのタイトルを表す変数です。
ページ内容 | ページの内容をHTMLに変換したテキストを表す変数です。
部分ページ内容 | ページの部分的な内容をHTMLに変換したテキストを表す変数です。詳細は部分ページ内容変数をご覧ください。
文書目次 | 文書内の全てのページへのリンクの階層的なリストで作られる目次を表す変数です。
部分目次 | 対象ページの下位に従属する全てのページへのリンクの階層的なリストで作られる目次を表す変数です。
ページ目次 | 対象ページ内のアンカー位置への階層的なリストで作られる目次を表す変数です。 アンカーとして段落のIDが用いられます。階層的につながらないアンカーはリストに含まれません。
利用者定義変数 | 文書変数 | 文書内の全てのページで利用できる変数で、文書のプロパティで定義します。
ページ変数 | 定義されたページおよび下位に従属するページで利用できる変数で、ページのプロパティで定義することができます。 文書変数と重複する場合はページ変数が優先されます。 下位のページにある変数と重複する場合は下位の変数が優先されます。

### 文字コード

テンプレートの文字コードはテンプレート内のmetaタグのcharset属性で指定したものと同じコードで作成して下さい。
charset属性の指定の無い場合はSHIFT-JISで作成して下さい。

### ファイル名と保存場所

テンプレートのファイル名および保存場所は任意ですが、保存場所を文書の保存場所と同じ場所または下位のフォルダにすると可搬性がよくなります。

↑ このページのトップへ

## テンプレートの設定

使用するテンプレートの設定は文書プロパティまたはページプロパティで行います。
HTML変換時に使用されるテンプレートは、変換するページにテンプレートが指定されていればそのテンプレートとなります。
なければその親ページを順次遡り、最初に見つかったテンプレートが適用されます。
いずれの上位ページにもテンプレートが見つからなければ文書プロパティのテンプレートが使用されます。
文書のプロパティにもテンプレートが設定されていなければ、内蔵する既定のテンプレートが使用されます。

### 既定のテンプレート

テンプレートが指定されない場合に使用される既定のテンプレートは次の通りです。

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
        </head>
        <body>
            [ページ内容]
        </body>
    </html>

ページよりHTMLファイルに変換する場合、テンプレートに唯一の[ページ内容]の部分がページより作られるHTMLに置き換わり、他の部分はテンプレートがそのまま出力されます。
ファイルへの出力文字コードはテンプレートに指定された文字コード(上記の場合はUTF-8)になります。

↑ このページのトップへ

## 部分ページ内容変数

ページ内容がテンプレートで1つに纏まらずに、複数個所に分離して表して表示しなければならない場合があります。
例えば、次の例のようにページ内容が「概要」と「詳細」からなる場合、「概要」と「詳細」をまとめてテンプレートに記述できないことがあります。

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
        </head>
        <body>
            ～概要～
            <hr>
            ～詳細～
        </body>
    </html>

このような場合には、［ページ内容］変数を拡張して、［ページ内容(概要)］変数や［ページ内容(詳細)］変数を使うことができます。

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
        </head>
        <body>
            [ページ内容(概要)]
            <hr>
            [ページ内容(詳細)]
        </body>
    </html>

このような変数を部分ページ内容変数とよび、一般形は、［ページ内容(部分名)］となります。
部分名はページ内の最上位の段落のテキストです。

### 変換規則

部分ページ内容が使用された場合は、ページ内の最上位段落からテキストの値が部分名に等しい段落を探し、その段落の下位に属する全ての段落をHTMLテキストに変換して［ページ内容(部分名)］と置き換えます。最上位の段落は変換に含まれません。
上の例の [ページ内容(概要)]の場合は、ページの最上位段落の値が「概要」である段落を探し、その段落の下位に属する全ての段落をHTMLテキストに変換して［ページ内容(概要)]］と置き換えます。

↑ このページのトップへ