WiLiKi:リファレンスマニュアル:マクロ

WiLiKi:リファレンスマニュアル:マクロ


マクロとは

'$'で始まるWikiNameは、WiLiKi内部で定義された アクションをコールし、結果として得られるHTMLをその位置に挿入する マクロとなります。

例:

[[$date]] - コミットした時点の日時にと変換される
[[$$include OtherPage]] - "OtherPage" の内容をこの位置に挿入

名前が'$'ひとつから始まるマクロ名のものはページのコミット時に一度だけ展開される もので、writerマクロと呼ばれます。 一方、'$$'で始まるマクロ名のものはページを読み出す度に 展開されるもので、readerマクロと呼ばれます。

マクロには引数を渡すことができます。引数はマクロ名の後に スペースで区切って並べます。上記の$$includeの例では、"OtherPage"が 引数として渡されています。引数はいくつでも渡せますが、 空白は引数のデリミタと解釈されてしまうため、 空白を含む文字列そのものを引数として渡すことはできません。

マクロ展開された中にまたマクロがあった場合、それを再展開するかどうかは マクロによって異なります。 そのへんのデザインは今後使いながら徐々に詰めてゆくことになるでしょう。

WiLiKiが知らないマクロ名が指定された場合、その構文はそのまま 出力されます。

以下の説明で、マクロ名の後の語は引数、'['と']'で囲まれた引数は 省略可能な引数を示します。


Writerマクロ

今のところ、writerマクロは '$date' のみです。

$date

ページのコミット時に、その時の日時(サーバのローカル時刻)へと 展開されます。


Readerマクロ

$$include WikiName

WikiNameのページの内容をマクロ位置に挿入します。 WikiNameを持つページが存在しない場合はこのマクロは展開されずに 表示されます。

展開されたページはレンダリングルーチンにかけられるので、 そこに$$includeマクロがあれば再帰的に展開されます。 展開中にループを発見した場合は、次のように表示されます。

  >>> $$include loop detected <<<

$$index prefix

WikiNameがprefixで始まるページをデータベース内で検索し、 それらへのリンクをリスト形式で表示します。

例えば、

[[$$index WiLiKi:リファレンスマニュアル]]

と書けば、次のように表示されます。

$$cindex prefix [separator]

Compact indexです。WikiNameがprefixで始まるページが 検索され、それらへのリンクがseparatorを間にはさんで連続して表示されます。 separatorが省略された場合はスペースが使われます。

例えば

[[$$cindex WiLiKi:リファレンスマニュアル  ,]]

と書けば、次のようになります。

WiLiKi:リファレンスマニュアルWiLiKi:リファレンスマニュアル:インストールWiLiKi:リファレンスマニュアル:マクロWiLiKi:リファレンスマニュアル:書式WiLiKi:リファレンスマニュアル:閲覧と編集

$$toc [WikiName]

WikiNameで指定されるページの見出しをリストにして表示します。 目次的な表示が得られます。WikiNameが省略された場合は $$tocがあるページが使われます。このページの最初にある 見出しのリストが$$tocにより生成されています。

$$img url [description]

url で指定される画像を参照するインラインイメージ (<img>)へと 展開されます。descriptionが与えられた場合はそれがalt文字列として 使われます。そうでなければalt文字列は"image"となります。

インラインイメージとして使える urlはサイトのカスタマイズによって 指定可能です。使用が許可されていないurlが与えられた場合は インラインイメージではなく descriptionをアンカー文字列とするurlへのリンクとなります。

デフォルト状態のWiLiKiはインラインイメージを許可していません。 このWiLiKiサイトでは、SourceForgeのロゴのみを許可しています。 サイトによってカスタマイズする方法は WiLiKi:リファレンスマニュアル:インストールを参照して下さい。


Last modified : 2003/08/18 08:22:19 UTC