• 追加された行はこの色です。
  • 削除された行はこの色です。
*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]

テスト中に付き、公開していません。
-現在ベータ版です。
-アップロードしているファイルには「.(バージョン).txt」という拡張子を付けてありますが、使用する際には削除してください。
-文字コードは、EUCです。
-mtemplate_settingを使って設定を変更しないのであれば、「mtemplate_setting.inc.php」は必要ありません。

|バージョン|ファイル|変更点|h
|0.01|&ref(mtemplate.inc.php.0.01.txt);&br;&ref(mtemplate_setting.inc.php.0.01.txt);||

**ライセンス [#j81c4d07]

GPL

**コメント [#bcec0039]
- このプラグインは完成してないのですか?出来たら公開して欲しいです。 --  &new{2011-08-20 (土) 04:07:07};
- 公開することは考えていなかったのですが、公開できそうか調べてみて、できそうであれば公開したいと思います。 -- [[管理人]] &new{2011-08-23 (火) 01:50:26};

#comment

#pageinfo([[:Category/PukiWiki]],2006-07-07 (金) 04:30:33,DOBON!,2006-07-07 (金) 04:54:37,DOBON!)
#pageinfo([[:Category/PukiWiki]],2006-07-07 (金) 04:30:33,DOBON!,2011-09-11 (日) 00:58:33,DOBON!)


[ トップ ]   [ 新規 | 子ページ作成 | 一覧 | 単語検索 | 最終更新 | ヘルプ ]