#freeze *mtemplate.inc.php [#jacc4536] #contents **どのようなプラグインか? [#f99a6c9d] テンプレート機能を提供する。通常のテンプレートと違い、テンプレートの内容を変更すると、そのテンプレートを使ったすべてのページにその変更が反映される。MediaWikiのテンプレート機能を参考にしたので、名前を"mtemplate"とした。 **書式 [#jd308cef] #mtemplate(テンプレート名,パラメータ名=パラメータの値,パラメータ名=パラメータの値,...) :テンプレート名| テンプレートの名前を指定する。テンプレートはデフォルトで、「:config/plugin/mtemplate/(テンプレート名)」という名前のページになる。テンプレートページで「{{{(パラメータ名)}}}」と書かれた部分が、指定された文字列で置換される。 :パラメータ名=パラメータの値| テンプレートページ内で置き換えるパラメータの名前と、その値(文字列)の組み合わせを指定する。テンプレートページで「{{{パラメータ名}}}」と書かれた部分が、「パラメータの値」で置き換わる。~ 「パラメータ名=」の部分は省略できる。省略された場合は、一番目のパラメータが"1"、二番目が"2"という風に、パラメータ名に番号が指定されたものとする。 また、MadiaWikiと同じように、","ではなく、"|"をセパレータとして使う事もできる。 #mtemplate(テンプレート名|パラメータ名=パラメータの値|パラメータ名=パラメータの値|...) **使い方 [#t6d7ab22] 例えば、次のような内容の「:config/plugin/mtemplate/あいさつ」というテンプレートページを作成する。 {{{lang}}}で挨拶は、「{{{hello}}}」。 次のようにしてmtemplateを呼び出すと、 #mtemplate(あいさつ,lang=日本語,hello=こんにちは) 次のように表示される。 日本語で挨拶は、「こんにちは」 **余計で危険な機能 [#fc19732f] 余計で危険な機能が多々あります。 ***インラインでの呼び出し [#a0df0414] &mtemplate(テンプレート名,パラメータ名=パラメータの値,パラメータ名=パラメータの値,...); ブロックでの呼び出しと同じですが、テンプレートが複数行の場合は、どうなっても知りません。 ***複数行パラメータでの呼び出し [#u4beb2ba] #mtemplate{{ テンプレート名| パラメータ名1= *かくかくしかじか あーだこーだ。 |パラメータ名2= -あいうえお -かきくけこ }} こんな感じでもかける。「テンプレート名」と「パラメータ名」の前後の空白文字はすべて削除される。 ***セパレータとイコールの変更 [#qdd471bd] 「複数行パラメータでの呼び出し」のような使い方では、"|"や"="を変更したくなるのが人情。mtemplate_settingプラグインでこれらが変更できる。これを使えば、次のような書き方ができる。 #mtemplate_setting(separator=-----,equal======) #mtemplate{{ テンプレート名 ----- パラメータ名1 ===== *かくかくしかじか あーだこーだ。 ----- パラメータ名2 ===== -あいうえお -かきくけこ }} **仕様 [#sad02aed] 「パラメータの値」をテンプレートページに埋め込んでからconvert_html関数(インラインで呼び出した時は、make_link関数)を呼び出してHTMLとしている。 **ダウンロード [#tc620b37] テスト中に付き、公開していません。 **ライセンス [#j81c4d07] GPL **コメント [#bcec0039] - このプラグインは完成してないのですか?出来たら公開して欲しいです。 -- &new{2011-08-20 (土) 04:07:07}; #comment #pageinfo([[:Category/PukiWiki]],2006-07-07 (金) 04:30:33,DOBON!,2006-07-07 (金) 04:54:37,DOBON!) |