PukiWiki/1.4/マニュアル/テンプレート
の編集
Top
/
PukiWiki
/
1.4
/
マニュアル
/
テンプレート
[
トップ
] [
編集
|
差分
|
履歴
|
添付
|
リロード
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
[[: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) '((test)\/([^\/]+))' => 'template', // (2) testの下位階層ページだけ別ルールで上書き '(()(.+))' => 'template' // (3) ); (1) : $1=hoge/fuga $2=hoge $3=fuga template=[[hoge/template]] (2) : $1=test/fuga $2=test $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」で&page;は「hoge」を、&fpage;は「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]] -リンク元ページ: [[official:Q&A/使い方]]、[[official:Q&A/プラグイン]]、他 ----
タイムスタンプを変更しない
[[: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) '((test)\/([^\/]+))' => 'template', // (2) testの下位階層ページだけ別ルールで上書き '(()(.+))' => 'template' // (3) ); (1) : $1=hoge/fuga $2=hoge $3=fuga template=[[hoge/template]] (2) : $1=test/fuga $2=test $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」で&page;は「hoge」を、&fpage;は「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]] -リンク元ページ: [[official:Q&A/使い方]]、[[official:Q&A/プラグイン]]、他 ----
テキスト整形のルールを表示する