引数付きのアンテナを定義/使用できるようになります。
[dynamic antenna]
AntennaSiteNameのアンテナ定義で、InterWikiNameと同様に展開したいパラメータ部分を
euc($1),sjis($1)等の様に記述します。
[[アンテナ名 http://URL?euc($1)]]
アンテナの埋め込み時に下記のようにしてパラメータを指定できます。
[[#antenna:アンテナ名(0):パラメータ]]
グローバル変数定義
#my $embed_antenna = '^\[\[#antenna:(\S+?)(\(\d+\))?\]\]$'; # Walrus add [wiki antenna] # yakty del [dynamic antenna] my $embed_antenna = '^\[\[#antenna:(\S+?)(\(\d+\))?(:(\S+))?\]\]$'; # Walrus add [wiki antenna] # yakty add [dynamic antenna]
embedded_to_html()内の変更
# Walrus add [wiki antenna] start } elsif ($embedded =~ /$embed_antenna/ and defined($antennasite{$1})) { $_ = ($2) ? substr($2, 1, length($2) - 2) : 0; #$_ = &make_antenna_data($1, $_); # yakty del [dynamic antenna] $_ = &make_antenna_data($1, $_, $4); # yakty add [dynamic antenna] return ($_) ? $_ : &escape($embedded); # Walrus add [wiki antenna] end
make_antenna_data()内の変更
- 2004-01-27 (Tue) 13:07:54 引数無しアンテナに引数が指定された場合の処理を追加。引数付きの場合の保存名が変だったので修正。
sub make_antenna_data { #my ($name, $limit) = @_; # yakty del [dynamic antenna] my ($name, $limit, $param) = @_; # yakty add [dynamic antenna] return undef unless (defined($antennasite{$name})); my ($type, $url) = @{$antennasite{$name}}; # yakty add [dynamic antenna] start if($param){ if($url =~ s/\b(euc|sjis|ykwk|asis|isbn)\(\$1\)/&interwiki_convert($1, $param)/e){ $name .= ":" . $param; } } # yakty add [dynamic antenna] end my ($time, $status, $data) = ($antennabase{$name}) ? split(/\n/, $antennabase{$name}, 3) : (0, 'Not Retriebed', '');