plugin/more.pl

プラグイン/more.pl

more.pl 1.1a (2005-10-28)

説明

wifky 本家→ [plugin] 諸々詰合せ

((img ...)) で添付ファイル以外の画像を表示できるようにしたかったので、すこし修正しました。
ファイル名部分に / が含まれる場合は外部ファイルとみなし、そうでない場合は添付ファイルとみなす、という比較的おおらかな判定法をとっております。したがって相対アドレスによる指定も可能です。

more.pl-20051028.diff

--- more.pl	Sun Sep 04 15:33:58 2005
+++ more.pl	Fri Oct 28 06:11:50 2005
@@ -9,26 +9,32 @@
 };
 
 $inline_plugin{"more.pl_version"} = sub{
-    "more.pl 1.1";
+    "more.pl 1.1a (2005-10-28)";
 };
 
 $inline_plugin{"blue"} = sub{
     shift;
     '<span style="color:blue;font-weight:bold">' . join(" ",@_) . '</span>';
 };
-$inline_plugin{img} = sub{
-    my ($session,$img,$w,$h)=@_;
-    $w=( defined($w) ? qq(width="$w") : "");
-    $h=( defined($h) ? qq(height="$h") : "");
 
-    sprintf('<img src="%s" %s %s />'
-	,$session->{attachment}->{$img}->{url},$w,$h
-    );
+$inline_plugin{"img"} = sub{
+    my ($session,$img,$w,$h)=@_;
+    $w=( defined($w) ? ' '.qq(width="$w") : "");
+    $h=( defined($h) ? ' '.qq(height="$h") : "");
+    if (index($img, '/', 0) < 0) {
+        exists $session->{attachment}->{$img}
+        ? sprintf('<img src="%s"%s%s>'
+                  , $session->{attachment}->{$img}->{url}, $w, $h )
+        : qq(<blink>&lt;&lt;{$img}?</blink>);
+    }else{
+        qq(<img src="$img"$w$h>);
+    }
 };
+
 $inline_plugin{banner} = sub{
     my ($session,$img,$url)=@_;
     if( $url =~ m|^http://| ){
-	sprintf('<a href="%s"><img src="%s" border="0" class="banner" /></a>'
+	sprintf('<a href="%s"><img src="%s" border="0" class="banner"></a>'
 		    , $url
 		    , $session->{attachment}->{$img}->{url}
 	);