テンプレートファイルについて
SiteGeneratorは,全ページのヘッダ,フッタ,そして要素topから生成するファイルのためにテンプレートを使用する.ここではそれらのテンプレートについて記述する
SiteGenerator Version1.00では以下の三つのテンプレートファイルがある.
- siteGenerator_header.template
- SiteGeneratorが生成する全てのページの冒頭に出力するテンプレート.
- siteGenerator_footer.template
- SiteGeneratorが生成する全てのページの末尾に出力するテンプレート.
- siteGenerator_top.template
- SiteGeneratorが要素topの情報から生成するページのテンプレート.
site.xmlの要素baseの属性inputdirの値/template/また,テンプレートファイルに日本語を記述する場合は,文字コードをUTF-8にする.SiteGeneratorが生成するページは全て以下の構成となる.
- siteGenerator_header.templateから生成される情報
- <div class="main">で囲まれたメイン部分
- 各ページ毎の部分.
- <div class="navigator">で囲まれたナビゲータ部分
- siteGenerator_footer.templateから生成される情報
テンプレートファイルは基本的にべたのHTML文書である.特にsiteGenerator_header.templateとsiteGenerator_footer.templateは生成されるHTML文書の冒頭と末尾になるので,html,head,bodyのタグを記述する必要がある.これだけではテンプレートファイルとして面白くない.SiteGeneratorでは以下のスタイルでキーワードを指定することで,XML文書のデータを展開することができる.
<<SiteGenerator::キーワード>>実はSiteGeneratorに正しいsite.xmlを読み込ませると,VariablesDumpというファイルが生成できる.このファイルには,テンプレートファイルに記述することのできるキーワード(※)の一覧がある.ただし,これらのキーワードのうち配列の要素になっているものはsite.xmlが変更されれば増減する可能性がありその場合はテンプレートファイルを修正する必要が出て来るので,以下のもの以外は推奨しない.
- %siteData->{base}->{webMaster}->{mail}
- サイト管理者のメールアドレス
- %siteData->{base}->{webMaster}->{name}
- サイト管理者の名前
- %siteData->{base}->{description}
- サイトの概要
- %siteData->{base}->{url}
- サイトのトップディレクトリのURL
- %siteData->{base}->{title}
- サイトのタイトル
- %siteData->{base}->{outputdir}
- 生成されるHTML文書の出力先トップディレクトリ(テンプレートファイルでは多分使うことはない)
- %siteData->{base}->{inputdir}
- XML文書が格納されているトップディレクトリ(テンプレートファイルでは多分使うことはない)
<<SiteGenerator::WhatIsNew>>このキーワードを記述した場所には,新着記事一覧が記述される.
※実はこれらのキーワードはSiteGenerator内部で使用している変数で,キーワードの展開はevalしているだけである.

