ファイヤープロジェクト
テンプレートファイルについて
2003-08-17T00:52+09:00   matsu
SiteGeneratorは,全ページのヘッダ,フッタ,そして要素topから生成するファイルのためにテンプレートを使用する.ここではそれらのテンプレートについて記述する
SiteGenerator Version1.00では以下の三つのテンプレートファイルがある.
siteGenerator_header.template
SiteGeneratorが生成する全てのページの冒頭に出力するテンプレート.
siteGenerator_footer.template
SiteGeneratorが生成する全てのページの末尾に出力するテンプレート.
siteGenerator_top.template
SiteGeneratorが要素topの情報から生成するページのテンプレート.
これらのテンプレートファイルは以下のディレクトリになければSiteGeneratorは正しく動作しない.
site.xmlの要素baseの属性inputdirの値/template/
また,テンプレートファイルに日本語を記述する場合は,文字コードをUTF-8にする.SiteGeneratorが生成するページは全て以下の構成となる.
  1. siteGenerator_header.templateから生成される情報
  2. <div class="main">で囲まれたメイン部分
    1. 各ページ毎の部分.
    2. <div class="navigator">で囲まれたナビゲータ部分
  3. siteGenerator_footer.templateから生成される情報
SiteGeneratorは「各ページ毎の部分」以外は全ての同じ記述である.また,TOPページでは「各ページ毎の部分」にテンプレートファイルsiteGenerator_top.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文書が格納されているトップディレクトリ(テンプレートファイルでは多分使うことはない)
これらのキーワードはsite.xmlの要素baseで記述した値に展開される.siteGenerator_top.templateでは,さらに特別なキーワードWhatIsNewがある.
<<SiteGenerator::WhatIsNew>>
このキーワードを記述した場所には,新着記事一覧が記述される.
※実はこれらのキーワードはSiteGenerator内部で使用している変数で,キーワードの展開はevalしているだけである.
matsu(C)
Since 2002
Mail to matsu