主な変更点
SiteGenerator Version2での主な変更点
site.dtdを変更した(これ).二つの記述任意のタグを追加した.
- navigator
- robots
Version1では全頁のtitleタグにsite.xml内に記述した要素title(※)の内容を記述していた.Version2では頁毎に異なる内容をtitleタグに埋める.titleタグに埋めるルールを以下に示す.
- TOPページ
- site.xmlの/site/contents/top/nameの内容.
- diaryのindexページ
- site.xmlの/site/contents/diary/nameの内容.
- diaryの月毎のページ
- YYYY/MM
- featureのカテゴリ毎のindexページ
- site.xmlの/site/contents/feature/category/nameの内容
- featureの記事ページ
- 記事XMLファイルの/feature/info/titleの内容
※ /site/base/title
Version1では,無条件に生成されるファイルがいくつかあったが,Version2では無条件に生成されるファイルはsite.rssとTOPページだけである.生成ルールに変更のあったページについて以下にしめす.
- featureのカテゴリ毎のindexページ
- そのカテゴリ内で生成された記事ファイルがあれば生成.
- diaryのindexページ
- そのdiaryで生成された記事ファイルがあれば生成.
Version2では全生成HTMLファイルに以下のMETAタグを埋める.
<meta name="robots" content="index,follow,archive">どこにMETAタグを記述するかを指定するために,以下の記述を"siteGenerator_header.template"に記述する必要がある.
<<SiteGenerator::robotsData>>SiteGeneratorはこれをMETAタグに書き換える.site.xmlにrobotsタグを記述より,index,follow,archiveをそれぞれnoindex,nofollow,noarchiveに変更することができる.
- /site/base/robotsで指定
- サイト内の全ページに適用.これを指定しない場合は,ここに
<robots noIndex="no" noFollow="no" noArchive="no">
を指定した場合と同じである.この場合<meta name="robots" content="index,follow,archive">
が埋め込まれる. - /site/contents/*/robotsで指定
- 該当する要素contentsの子要素の範囲に適用./site/base/robotsで指定されていても,それを上書き設定する.この要素を記述しない場合は/site/base/robotsで指定された内容に従う.
<site> <base> ... <robots noIndex="yes" /> </base> <contents> ... <diary id="d1" dir="d1"> <name>...</name> <robots noIndex="yes" noFollow="yes" noArchive="yes"/> <feature id="f1" diar="f1"> <name>...</name> <robots noFollow="yes"/> ... <feature id="f2" diar="f2"> <name>...</name> <robots noIndex="no"/> ...と設定した場合,d1に属する日記ページには全て
<meta name="robots" content="noindex,nofollow,noarchive">が埋め込まれる.そしてf1に属する記事ページ,カテゴリ毎のインデクスページには全て
<meta name="robots" content="noindex,nofollow,archive">が埋め込まれる.そしてf2に属する記事ページ,カテゴリ毎のインデクスページには全て
<meta name="robots" content="index,follow,archive">が埋め込まれる.上記以外のページには全て
<meta name="robots" content="noindex,follow,archive">が埋め込まれる.
Version1ではナビゲータ部はmain部(ページ毎に異なる内容が生成される部分)の後に出力された.Version2ではsite.xmlの/site/base/navigatorにより,main部の前か後かを設定できる.この要素は記述任意であり,記述しない場合は
<navigator position="beforeMain" />を記述した場合と同じ振るまいをする.
featureのカテゴリ毎のインデクスページに,サブカテゴリへのページ内インデクスを作成するようにした.
url記述で一部"....//..."となっている部分があった.動作に問題はないが修正.
Version 2.01で属性registerAtNavigatorをtop,diary,siteImport,featureタグに追加.
- 0
- 該当コーナーをナビゲータ部に表示しない.
- 1
- 該当コーナーをナビゲータ部に表示する.今までと同じ動作.デフォルト.
<diary id="secret" dir="secret" registerAtNavigator="0"> <name>秘密</name> <robots noIndex="yes" noFollow="yes" noArchive="yes"/> </diary>こうすると属性registerAtNavigatorの値が0なのでナビゲータ部に「秘密」頁へのリンクが表示されない(頁は従来どおり生成される).
Version 2.02でsiteGenerator_diaryindex.templateのキーワード「SiteGenerator::Latest」に引数を追加した.
<<SiteGenerator::Latest(A)(B)(C)(D)(E)(F)(G)>>追加したパラメータAにより,最新の日記を何日分,日記インデクスページに記述するかを指定できる.念のために,Version 2.02での全パラメータを記述しておく.
- A
- 最新の日記として何日分の記事を日記インデクスページに記述するかを整数で指定する.
- B
- 年の値の前に記述する文字(例えば「西暦」)
- C
- 年の値の後に記述する文字(例えば「年」)
- D
- 月の値の前に記述する文字(例えば...何だろ)
- E
- 月の値の後に記述する文字(例えば「月」)
- F
- 日の値の前に記述する文字(例えば...何だろ)
- G
- 日の値の後に記述する文字(例えば「日」)
siteImportタグにurl属性を追加した.これで任意のURLへのリンクをナビゲータ部に作成できる.新DTDはこれ.
要素diaryに属性rssと属性scopeを追加.
- rss
- 設定任意. onなら該当日記用RSSを生成する. 日記indexページと同じディレクトリにdiary.rssを生成する.
- scope
- 必須.
日記XMLの各要素captionにも属性scopeを設定し,該当日記コーナーで,どのスコープ以上の要素captionを生成するかを設定する.
どちらも値は
private,protected,public
のいずれか. 例えば要素diaryの属性scopeの値がprotectedなら,要素captionの属性がpublicかprotectedのもののみが該当日記コーナーにて生成される. このscope設定は日記RSSの内容にも反映される(生成されるcaptionについてのみ,RSSが生成される). 日記XMLの要素captionの属性scopeは設定任意. 省略時はprotectedが設定されたものとして処理される.
<<SiteGenerator::rssUrl>>を記述するとRSSを示すMETAタグに展開される. ただし,日記ページでは挙動がかわる.
- 日記コーナーにてRSS生成をonにしていると,該当日記コーナーのページでは,該当日記のRSSのURLにてMETAタグが出力される.
- 日記コーナーにてRSS生成をoffにしていると,該当日記コーナーのページでは,RSSのMETAタグが出力されない.

