A_single_file_wiki_wifky2.png

インラインプラグインについて

プラグインファイルの中に次のような記述を追加することで、 ((…)) 形式のコマンドを追加することができます。

    $::inline_plugin{"blue"} = sub{
        my $session=shift;
	'<span style="color:blue;font-weight:bold">' 
             . join(" ",@_) . '</span>';
    };

これにより、以後、「((blue ブルー))」と書くことで、 「ブルー」のような表現が可能になります。

  • ハッシュ %inline_plugin に、呼び出す関数へのリファレンスを、 コマンド名をキーとして代入します。
  • コマンドの引数は空白で分割されて、@_ の第二引数以降で渡されます。
  • 第一引数は、様々な属性値のハッシュへのリファレンスです(詳細は後述)
  • 引数の中身の & < > といった文字は &amp; &lt; &gt; といった形にエンコード済みです。
  • 関数の戻り値は html として、そのまま、展開されます。

プラグイン関数の第一引数($session)について

ハッシュへのリファレンスです。 この中に、現在表示しようとするページに関する情報が格納されています。

$session->{title}
現在描画中のページです。表示をリクエストされたページではありません。 つまり、Sidebar ページでコマンドが呼び出されると、どのページのサイドにあっても 「$session->{title} eq 'Sidebar'」が成り立ちます。 この値はエンコードされていません。
$session->{argv}
分割前の引数が入ります。
$session->{attachment}->{添付ファイル名}->{url}
添付ファイルへの URL です。エンコード済みです。
$session->{attachment}->{添付ファイル名}->{tag}
添付ファイルが画像なら img タグ。さもなければ a タグが入っています。

|

Designed for @nifty.