- 追加された行はこの色です。
- 削除された行はこの色です。
[[:Category_Document]]
&color(#FF0000){PukiWiki-1.4用ドキュメント素案};
#topicpath
*テンプレートをつかってみよう。 [#v9ee2e18]
#contents
*編集時に読み込む 雛型ページ [#kc44b721]
PukiWiki には、編集画面で「雛型とするページ」を選択して取り込む機能があります。この機能は大変便利なものですが、表示可能な全てのページがプルダウンボックスに表示されるため、ページ数が多くなると 編集開始までに時間がかかるようになってしましいます。そこで、この機能を無効にすることができます。
:$load_template_func |
編集時の雛型となるページの読み込み機能の ON /OFF &br;
0 : OFF / 1 : ON (default)
''default.ini.php''
/////////////////////////////////////////////////
// 雛形とするページの読み込みを表示させる
$load_template_func = 1;
*AUTO TEMPLATE FUNCTION (自動雛型機能) [#l6ca8a5a]
PukiWiki には、新規ページを作成する際に自動 Template機能があります。
新規ページを作る際に自動的にtemplateというページを呼び出してから編集画面になります。
デフォルトの設定は以下のようになっています。
:$auto_template|
Auto Template 機能の ON/OFF &br;
0 : OFF / 1 : ON (default)
:$auto_template_rules |
正規表現による適用されるページとそのページに対応するテンプレート名 &br;
配列の最初から探され、マッチしたところで終了 &br;
デフォルトでは、作成されるページと同一階層のtemplateページを探すようになっています。
''pukiwiki.ini.php''
/////////////////////////////////////////////////
// ページ名に従って自動で、雛形とするページの読み込み
$auto_template_func = 1;
$auto_template_rules = array(
'((.+)\/([^\/]+))' => '\2/template'
);
***参考 [#o0c0fc16]
-[[pukiwiki:質問箱/181]]
-[[dev:BugTrack/299]]
$auto_template_rules = array(
'((.+)\/([^\/]+))' => '\2/template', // (1)
'((.+)\/([^\/]+))' => 'template', // (2)
'(()(.+))' => 'template' // (3)
);
(1) : $1=hoge/fuga $2=hoge $3=fuga template=[[hoge/template]]
(2) : $1=hoge/fuga $2=hoge $3=fuga template=[[template]]
(3) : $1=fuga $2='' $3=fuga template=[[template]]
* Template プラグインによる 雛型ページの読みだし [#pe92c63c]
PukiWiki-1.4標準搭載のプラグインを使用すると既存のページをテンプレートとしてページを新規作成することができます。
~コマンドですので以下のようにして使うと2つウィンドーが出てきます。
?plugin=template&refer=テンプレートとする(URLエンコードされた)ページ名
上のウィンドーでは、テンプレートとして使用する領域の開始行を選択し、下のウィンドーでは、最終行を選択します。そして、作りたいページの名前(デフォルトでは、テンプレートとするページの一つ下の階層の複製というページ名が入っています)を入力して&button{作成};を押せばページが作られます。
***参考 [#k695d636]
-[[pukiwiki:PukiWiki/プラグイン/1.4#ueac6d45]]
* Template 使用時に置き換えられる 文字 [#l7419b85]
自動雛型機能(Auto Template)がONの時。($auto_template_rules=1の時)
~ユーザ定義ルールによる置き換えの他に、テンプレート内に記述しておくとページ名を取得して置き換えることが可能です。
ほげ/ふがの作成時にほげ/templateを読み込む場合
$1→ほげ/ふが ,
$2→ほげ
$3→ふが
の 文字列置換が行われます。
以下のユーザ定義ルールは、ページを編集終了時に置き換えられますので、テンプレート内に記述しても、保存される時には置き換えられてしまいます。
''pukiwiki.ini.php''
/////////////////////////////////////////////////
// ユーザ定義ルール
//
// 正規表現で記述してください。?(){}-*./+\$^|など
// は \? のようにクォートしてください。
// 前後に必ず / を含めてください。行頭指定は ^ を頭に。
// 行末指定は $ を後ろに。
//
/////////////////////////////////////////////////
// ユーザ定義ルール(直接ソースを置換)
$str_rules = array(
'now\?' => format_date(UTIME),
'date\?' => get_date($date_format),
'time\?' => get_date($time_format),
// '&now;' => format_date(UTIME),
// '&date;' => get_date($date_format),
// '&time;' => get_date($time_format),
);
上のコメントを外したり、以下の設定をしておくと便利かも。
'&page;' => substr($page,strrpos('/'.$page,'/')),
'&fpage;' => $page,
階層化されたページ「hogehoge/hoge」でテンプレートは「hoge」を、PukiWiki/1.4/マニュアル/テンプレートは「hogehoge/hoge」に置換します。
テンプレートページに書いておいてうまく置換するアイデアが[[pukiwiki:質問箱/181]]に出ています。
ユーザー定義ルールは上から順番に適用され、再帰的には適用されませんので、例えば、
'now\?' => format_date(UTIME),
'date\?' => get_date($date_format),
'time\?' => get_date($time_format),
'\x5cquestion' => '?',
のようにユーザー定義ルール (pukiwiki.ini.php) に書いておき、
now\question
として「ページの更新」をすると、
now?
に書き換わります。但し、再度このページを編集すると、現在日時に書き換わってしまいます。
***参考 [#dd7dc05a]
-[[テンプレート内に置換文字設定>pukiwiki.dev:BugTrack/299]]
-[[official:質問箱/213]]
-[[official:質問箱/181]]
* その他 [#m45b4f77]
-[[templateプラグインで上書き確認を>pukiwiki.dev:BugTrack/443]]
----
#comment