---- !!!はじめに このドキュメントでは、FSWikiのテンプレートファイル内で有効なタグについて解説します。(サイトテンプレートの概要・ディレクトリ構成・ファイル名については、[[readme]]の「サイトテンプレート」の項目を参照してください)。 !!!FSWikiテンプレートの構成 テンプレートはWikiページの構造を記述します。構造は、次の3つの要素(タグ)で構成されます。 * (X)HTML * 汎用DIV要素(CSSでデザインし易くする目的) * FSWikiテンプレートタグ 本項では、FSWikiテンプレートタグについて解説します。(X)HTML、汎用DIV要素については、他の解説書を参照してください。 !!! FSWikiテンプレートタグ !! FSWikiテンプレートタグの区分 FSWikiテンプレートタグをまとめると、次のような区分ができます。 FSWikiテンプレートタグ … HTML::Template タグ + FSWiki 独自タグ | +- HTML::Template タグ … TMPL_(*) 要素 / NAME属性が必須 | 書式 | (HTML::Template 依存) | +- FSWiki 独自タグ … FSWIKI_INCLUDE 要素 / PAGE属性が必須 (コアの正規表現 依存) 書式 常時表示ページを取り込む為の独自拡張 Wikiページ存在状況で切り分けるため、 HTML::Template の専用パラメータがある 切り分けの為の専用パラメータ … EXIST_PAGE_(WikiPage) TMPL_IF , TMPL_ELSE, TMPL_UNLESS の記述で活用 *FSWikiテンプレートタグは、HTML::TEmplateタグとFSWiki独自のタグがあります。 *FSWikiテンプレートタグでは、マークアップ言語の要素形式とHTML言語のコメント形式の書式が利用できます。 ** default.tmplなどで利用されているFSWikiテンプレートタグは、HTML言語のコメント形式(''''''でタグをくくった形式)です。見やすさの点から、こちらの形式を推奨します。 ** FSWiki独自タグはHTML言語のコメント形式の書式のみ利用できます。 !! FSWikiテンプレートタグ解説 FSWikiのテンプレートで使うタグは、次のものです。HTML::Templateに準じますので、詳細は、[HTML::Template - CGI スクリプトから HTML テンプレートを使うための Perl モジュール|http://perldoc.jp/docs/modules/HTML-Template-2.6/HTML/Template.pod]も参照してください。 !TMPL_VAR *PARAMETER_NAMEの値に置換されます。 !TMPL_IF *もしPARAMETER_NAMEの値が真(1 or 何か値が入っている)ならば ... の処理を行います。 ... !TMPL_ELSE *もしPARAMETER_NAMEの値が真(1 or 何か値が入っている)ならば a の処理を、値が偽(0 or 空)ならば b の処理を行います。 ..a.. ..b.. !TMPL_UNLESS * もしPARAMETER_NAMEの値が偽(0 or 空)ならば ... の処理を行います。 ... !TMPL_INCLUDE * PARAMETER_NAMEで指定されたファイルを読み込み表示します。 *FSWikiにおけるTMPL_INCLUDEの使用例 ** example.tmpl 内で と記しておくと、include.tmpl内に記述したHTMLが表示されます。 FSWiki +- /tmpl +- /example +- example.tmpl +- include.tmpl !FSWIKI_INCLUDE * このタグは、FSWiki独自拡張タグです。 * 用途は、Header,Footer,Menuなど、常時表示するページをテンプレートに書くためです。 * WIKI_PAGE_NAMEについて ** WIKI_PAGE_NAMEは任意のWikiページ名です。(例:Header,Menu,Footerなど) ** 指定できるページは、「/」が名前に入らないページです。 ** 「/」が名前に入っていなければ、漢字やひらがなの入ったページ名も利用できます。 * EXIST_PAGE_(WikiPage)を併用する ** Wikiページ存在状況で切り分けるため、切り分けの為の専用パラメータ、「EXIST_PAGE_(WikiPage)」があります。 ** EXIT_PAGE_(WikiPage)は、TMPL_IF , TMPL_ELSE, TMPL_UNLESS の記述で活用します。 ** 指定できるページは、WIKI_PAGE_NAMEに準じます。 *使用例 ** もし、Menuというページがある場合、Menuページを表示する。 !!参考 * [HTML::Template - CGI スクリプトから HTML テンプレートを使うための Perl モジュール|http://perldoc.jp/docs/modules/HTML-Template-2.6/HTML/Template.pod] ([perldoc.jp|http://perldoc.jp/docs/modules/HTML-Template-2.6/HTML/Template.pod]) !!! FSWikiテンプレートタグに利用できるPARAMETER_NAME !! PARAMETER_NAME一覧 ! 主に〜内で利用されるPARAMETER_NAME ,PARAMETER_NAME,値 ,SITE_NAME,サイト名 ,SITE_TITLE,ページ名 - サイト名 ,HEAD_INFO,RSS auto-discovery情報 ,THEME_CSS,テーマのCSSへの相対パス ,USER_CSS,ユーザ定義スタイル ,THEME_URI,テーマ格納ディレクトリパス ! 主に〜内で利用されるPARAMETER_NAME ,PARAMETER_NAME,値 ,TITLE,ページ名がリンク形式で表示されます。 ,MENU,Wikiメニュー ,CONTENT,表示ページの内容(HTMLに変換済み) ,FOOTER,FSWikiのバージョン、管理者情報 ! 制御系のPARAMETER_NAME 制御系のPARAMETER_NAMEは主にTMPL_IF,TMPL_UNLESSで利用されます。 ,PARAMETER_NAME,値 ,IS_ADMIN,管理者でログイン中なら1、それ以外なら0 ,IS_LOGIN,管理者またはユーザでログイン中なら1、それ以外なら0 ,FRONT_PAGE,表示するページがFrontPageなら1、それ以外なら0 ,CAN_SHOW,表示するページが参照可能なら1、参照不可能なら0 ,EDIT_MODE,編集画面なら1、それ以外なら0 ,HAVE_USER_CSS,ユーザ定義スタイルがある場合1、ない場合0 ,EXIST_PAGE_WikiPage,''WikiPage''が存在する場合1、しない場合は0 !! SITE_NAME *値 ** SITE_NAMEの値は「サイト名」です。 ** 「サイト名」は、管理者でログイン→「管理」→「環境設定」ページの設定できます。 ** この値はタグなどは入りません。 ** 類似パラメータネームにSITE_TITLEがあります。 *値の例 ** このサイトの場合。 ドキュメント *記述例 ** もし表示ページがFrongPageならば、「サイト名」を表示する。そうでない場合、「ページ名 - サイト名」(SITE_TITLE)を表示する。 <!--TMPL_VAR NAME="SITE_NAME"--> <!--TMPL_VAR NAME="SITE_TITLE"--> !! SITE_TITLE *値 ** SITE_TITLEの値は「ページ名 - サイト名」です。 *値の例 ** このサイトの[[SandBox]]ページの場合 SandBox - ドキュメント *記述例(default.tmpl) **default.tmplでは〜内で次のように利用しています。 <!--TMPL_VAR NAME="SITE_TITLE"--> !! HEAD_INFO *値 ** HEAD_INFOの値は、RSS auto-discovery情報です。 ** ※下記の文字列中、hrefのhは小文字に読み換えてください。 *記述例(default.tmpl) **default.tmplでは〜内で次のように利用しています。 !! THEME_CSS *値 ** テーマのCSSへの相対パスが表示されます。 ** 管理者でログイン→「管理」→「スタイル設定」ページの「テーマ」で指定します。 *値の例 ** 「スタイル設定」でdefaultを指定します。すると次の値がTHEME_CSSに入っています。 ./theme/default/default.css * 記述例(default.tmpl) ** default.tmplでは〜内で次のように利用しています。 ** 下記の記述は、もしTHEME_CSSに値がある場合、THEME_CSSで指定した外部スタイルシート(テーマ)へのlinkを表示します。 ** ※下記の文字列中、hrefのhは小文字に読み換えてください。 "> !! USER_CSS *値 ** 「ユーザ定義スタイル」で定義された文字列です。 ** 「ユーザ定義スタイル」の設定は、管理者でログイン→「管理」→「スタイル設定」ページの「ユーザ定義スタイル」に記述します。 * 値の例 /* エラーメッセージ */ .error { color : #FF0000; font-weight : bold; } /* 存在しないWikiページ */ span.nopage { background-color : #FFFF88; } (以下省略) * 記述例(default.tmpl) ** default.tmplでは〜内で次のように利用しています。 ** 下記の記述は、もしユーザ定義スタイルが存在する場合、head中に定義されたCSSをstyleタグで埋め込みます。 !! THEME_URI *値 ** setup.datの「テーマを参照するためのURI(theme_uri)」で定義したパスを表示します。 * 値の例 **デフォルト値の場合 ./theme *記述例 !! TITLE *値 ** 表示されるページ名が出力されます。 ** wiki内を検索するリンク形式です。 *値の例 ** SandBoxは任意のWikiページ名になります。 ** ※下記の文字列中、hrefのhは小文字に読み換えてください。 SandBox *記述例(default.tmpl) ** default.tmplでは〜内で次のように利用しています。

!! MENU * 値 ** Wikiメニューです。 *** Wikiメニューは、「トップ 新規 編集 差分 一覧 検索 ヘルプ ログイン」などのWikiを操作するメニューです。 *** サイドバーのメニューではありませんのでご注意ください。 ** ログイン状態によってWikiメニューは自動的に表示項目が決まります。 * 値の例 ** ※下記の文字列中、hrefのhは小文字に読み換えてください。
トップ 新規 (以下省略) * 記述例(default.tmpl) ** default.tmplでは〜内で次のように利用しています。 ** もし、ログイン時のみWikiメニューを見せたい場合は次のように書くこともできます。 *** 次の記述例は、ログインしている場合Wikiメニューを表示し、ログインしていない場合はログインのみを表示します。 ** ※下記の文字列中、hrefのhは小文字に読み換えてください。 !! CONTENT * 値 ** 表示するページの内容が、HTMLに変換済みで表示されます。編集モードの時はtextarea(とWiki記法で記載されたコンテンツ)が表示されます。 * 記述例(default.tmpl) ** default.tmplでは〜内で次のように利用しています。
!! FOOTER * 値 ** 管理者情報、FSWikiのバージョン情報が表示されます。 ** 管理者情報は管理画面の「サイト情報」にある「管理者の名前」と「管理者のメールアドレス(公開用)」で定義した値です。 ** Footerページではないのでご注意ください。 ** CSSの指定はclass="footer"です。 * 値の例 ** yournameは管理者の名前 ** 管理者のメールアドレス(公開用)がある場合、yournameになります。 ** ※下記の文字列中、hrefのhは小文字に読み換えてください。 * 記述例(default.tmpl) ** default.tmplでは〜内で次のように利用しています。 !!! 編集履歴 このページの編集に関する記録に関しては、[[テンプレート/編集ノート]]を参照してください。また、内容に関する議論は、[Fswiki-dev ML|http://lists.sourceforge.jp/mailman/listinfo/fswiki-dev]で行ったりしています。