インラインプラグイン
行中でプラグインを使用する書式。
書式
&コマンド名[(パラメータ)][{ボディ}];
- コマンド名: 英数字およびアンダーライン(\w+)
- パラメータ: 括弧(paren)で包む。省略可能。 &name; や &name{body};も可ということ。
- ボディ: 波括弧(curly brace)で包む。省略可能。 &name; や &name(param);も可ということ。
注意 ユーザ定義を&...;の形式にしている場合
名前が競合しない限り、区別して扱われます。
名前が競合した場合はプラグインが優先します。
プラグイン側
plugin_xxx_inline()という関数を作り、「インライン要素」を返すようにします。
現在、以下のプラグインにインライン関数を追加してあります。
- color.inc.php
&color(color){ text };
- size.inc.php
&size(size){ text };
- counter.inc.php
&counter; &counter(param);
- ページ中で何回呼び出してもかまわないようにしました。
- インラインで呼び出したときは数値だけを返すようにしてあります。
- パラメータを追加しました。 today:今日だけ yesterday:昨日 省略またはall:総数
- online.inc.php
&online;
- ref.inc.php
&ref(hoge.png);
- version.inc.php
&version;
サンプル
&size(16){16px &color(red){ 赤 &size(24){ 24px }; }; &color(green){ 緑 }; };
16px 赤 24px 緑
PukiWikiのバージョンは&version;です。
PukiWikiのバージョンは&version;です。
ユーザ定義(&...;)
⌣ &bigsmile; &huh; &oh; &wink; &sad; &heart;
バグ
- 困ったことに、使い方を誤るとブロック要素を包む<span>を作ってしまいます。
- パラメータ内にAutoLinkがかかってしまうと、プラグイン処理がうまく動きません。