mtemplate 的備份(No. 1)


mtemplate.inc.php

どのようなプラグインか?

テンプレート機能を提供する。通常のテンプレートと違い、テンプレートの内容を変更すると、そのテンプレートを使ったすべてのページにその変更が反映される。MediaWikiのテンプレート機能を参考にしたので、名前を"mtemplate"とした。

書式

#mtemplate(テンプレート名,パラメータ名=パラメータの値,パラメータ名=パラメータの値,...)
テンプレート名
テンプレートの名前を指定する。テンプレートはデフォルトで、「:config/plugin/mtemplate/(テンプレート名)」という名前のページになる。テンプレートページで「{{{(パラメータ名)}}}」と書かれた部分が、指定された文字列で置換される。
パラメータ名=パラメータの値
テンプレートページ内で置き換えるパラメータの名前と、その値(文字列)の組み合わせを指定する。テンプレートページで「{{{パラメータ名}}}」と書かれた部分が、「パラメータの値」で置き換わる。

「パラメータ名=」の部分は省略できる。省略された場合は、一番目のパラメータが"1"、二番目が"2"という風に、パラメータ名に番号が指定されたものとする。

また、MadiaWikiと同じように、","ではなく、"|"をセパレータとして使う事もできる。

 #mtemplate(テンプレート名|パラメータ名=パラメータの値|パラメータ名=パラメータの値|...)

使い方

例えば、次のような内容の「:config/plugin/mtemplate/あいさつ」というテンプレートページを作成する。

{{{lang}}}で挨拶は、「{{{hello}}}」。

次のようにしてmtemplateを呼び出すと、

#mtemplate(あいさつ,lang=日本語,hello=こんにちは)

次のように表示される。

日本語で挨拶は、「こんにちは」

余計で危険な機能

余計で危険な機能が多々あります。

インラインでの呼び出し

 &mtemplate(テンプレート名,パラメータ名=パラメータの値,パラメータ名=パラメータの値,...);

ブロックでの呼び出しと同じですが、テンプレートが複数行の場合は、どうなっても知りません。

複数行パラメータでの呼び出し

#mtemplate{{
テンプレート名|
パラメータ名1=
*かくかくしかじか

あーだこーだ。

|パラメータ名2=
-あいうえお
-かきくけこ
}}

こんな感じでもかける。「テンプレート名」と「パラメータ名」の前後の空白文字はすべて削除される。

セパレータとイコールの変更

「複数行パラメータでの呼び出し」のような使い方では、"|"や"="を変更したくなるのが人情。mtemplate_settingプラグインでこれらが変更できる。これを使えば、次のような書き方ができる。

#mtemplate_setting(separator=-----,equal======)
#mtemplate{{
テンプレート名
-----
パラメータ名1
=====
*かくかくしかじか

あーだこーだ。

-----
パラメータ名2
=====
-あいうえお
-かきくけこ
}}

仕様

「パラメータの値」をテンプレートページに埋め込んでからconvert_html関数(インラインで呼び出した時は、make_link関数)を呼び出してHTMLとしている。


人狼物語 貓又國 Wiki - PukiWiki 1.5.4 © 2001-2022 PukiWiki 開發團隊.