PukiWiki/1.4
※しろくろのへや:inline_pluginから移動しました。 -- ぱんだ
インラインプラグインの実装†
行中でプラグインを使用する書式を実装しました。
&コマンド名[(パラメータ)][{ボディ}];
- コマンド名: 英数字およびアンダーライン(\w+)
- パラメータ: 括弧(paren)で包む。省略可能。 &name; や &name{body};も可ということ。
- ボディ: 波括弧(curly brace)で包む。省略可能。 &name; や &name(param);も可ということ。
注意 ユーザ定義を&...;の形式にしている場合
名前が競合しない限り、区別して扱われます。
名前が競合した場合はプラグインが優先します。
プラグイン側†
plugin_xxx_inline()という関数を作り、「インライン要素」を返すようにします。
現在、以下のプラグインにインライン関数を追加してあります。
サンプル†
&size(16){16px &color(red){ 赤 &size(24){ 24px }; }; &color(green){ 緑 }; };
16px 赤 24px 緑
PukiWikiのバージョンは&version;です。
PukiWikiのバージョンはです。
ユーザ定義(&...;)
⌣ &bigsmile; &huh; &oh; &wink; &sad; &heart;
:) :D :p :D ;) ( (heart)
- 困ったことに、使い方を誤るとブロック要素を包む<span>を作ってしまいます。
- パラメータ内にAutoLinkがかかってしまうと、プラグイン処理がうまく動きません。
- ユーザー定義を&から始まる文字列で定義しているのですが、併用は可能なんでしょうか? -- reimy 2002-10-25 (金) 16:36:41
- 大丈夫なはずです。プラグインとして存在しない文字列だった場合はそのままmake_user_rules()にスルーしていますから。 -- ぱんだ 2002-10-25 (金) 16:59:45
- () と {} の説明で、プラグインに渡る引数の内容(個数)が異なるということですね。 {} だとボディなので1つしか渡ってこない。なのでパラメータとしてなら () でという意味なんですね。-- upk
- &color;や&size;でもわかるように、{ }は通常、本文の一部が入ることが多いことから、{ }の中ではカンマを引数の区切り記号として使えないため、{ }の中は1つの引数として解釈されるはず。( )の中はカンマが引数の区切りになるので、&ref;のように複数の引数が指定できる。 -- reimy