自作プラグイン 「tagdirect」
- HP製作時に、アフィリエイトのはめ込みなど、ある場所にあるhtmlのコードを埋め込みたいことがあります。それを簡単に実現するのがこのプラグイン。wikiの方向性から見ると邪道の極みですが。
- プラグインの引数にhtmlコードを書き込むと何かと扱いが面倒になるので、簡易に、定型文を格納した「resource」ファイル内に目的のhtmlコードを任意の名称をつけて書き込んで、その名称をプラグインで引用する方式とした。
使用法
- resourceフォルダ内の「resource.ja.txt」ファイルに、「任意のリソース変数名=htmlコード」の形式で、目的のhtmlのコードを一行化したものを記載する
- wikiの、htmlコードを入れ込みたい箇所で
「&tagdirect(リソース変数名);」
の形式で目的のhtmlコードに対応したリソース変数を「&tagdirect」プラグインに設定する
プラグイン コード
use strict;
package tagdirect;
sub plugin_inline {
my $res = shift;
return $::resource{$res};
}
1;
__END__
テキスト整形タグによる解決
- 上記「tagdirect」も,「resorce」を追記する手間があって臨機応変に頁編集ができない弱みがあったので,メインプログラム(index.cgi)内でのインライン処理に新しいタグを設定することで解決しました。
- 500行過ぎたあたりの「sub text_to_html 」で,行頭子「-」の処理ルーチンに「-----」という5連のものの処理を追加し,この5連「-」のあとに続く文字列をそのままhtmlとして表示するように仕込みました。
- なんだ,簡単じゃん。最初からこうすればよかったな,という感じ。
- 使用上のポイントは,あたりまえですが,タグすべてを一行にし,改行を入れないこと。
} elsif (/^-----(.+)/) {
push(@result, splice(@saved), $1); #生タグ
next;
- なお,オリジナルのpyukiwiki019プログラムでも,700行過ぎの「sub inline {」ルーチン内で「生タグ」埋め込みをインライン処理で解決しようとした形跡がありました。(コメント行にされていたので,リリース時には採用しなかった機能のようです)
Amazonのリンクを設定した例
はじめてでもどんどん上達する囲碁の新しい打ち方―依田九段発見の「筋場理論」でムダなく美しい碁が打てる!
twitterの記事の埋め込みを設定した例
Counter: 2212,
today: 2,
yesterday: 2