X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/b2327cfae4ac7da1df7bbf848f575b553f74eafb..344a50f5b9594d34eb70bea64c85e46e01765546:/IkiWiki/Plugin/img.pm?ds=inline

diff --git a/IkiWiki/Plugin/img.pm b/IkiWiki/Plugin/img.pm
index 48211454e..a28d6a6d5 100644
--- a/IkiWiki/Plugin/img.pm
+++ b/IkiWiki/Plugin/img.pm
@@ -39,7 +39,7 @@ sub preprocess (@) {
 		}
 	}
 
-	if (! exists $params{size}) {
+	if (! exists $params{size} || ! length $params{size}) {
 		$params{size}='full';
 	}
 
@@ -64,10 +64,11 @@ sub preprocess (@) {
 
 	my $dir = $params{page};
 	my $base = IkiWiki::basename($file);
+	my $issvg = $base=~s/\.svg$/.png/i;
 
 	eval q{use Image::Magick};
 	error gettext("Image::Magick is not installed") if $@;
-	my $im = Image::Magick->new;
+	my $im = Image::Magick->new($issvg ? (magick => "png") : ());
 	my $imglink;
 	my $r = $im->Read($srcfile);
 	error sprintf(gettext("failed to read %s: %s"), $file, $r) if $r;
@@ -131,9 +132,9 @@ sub preprocess (@) {
 					$imglink = $file;
 				}
 			}
-			
-			$dwidth = $im->Get("width") unless defined $dwidth;
-			$dheight = $im->Get("height") unless defined $dheight;
+			# always get the true size of the resized image
+			$dwidth  = $im->Get("width"); 
+			$dheight = $im->Get("height");
 		}
 	}
 	else {
@@ -152,18 +153,26 @@ sub preprocess (@) {
 		$imgurl=urlto($imglink, $params{destpage});
 	}
 	else {
-		$fileurl="$config{url}/$file";
-		$imgurl="$config{url}/$imglink";
+		$fileurl=urlto($file);
+		$imgurl=urlto($imglink);
 	}
 
+	if (! exists $params{class}) {
+		$params{class}="img";
+	}
+
+	my $attrs='';
+	foreach my $attr (qw{alt title class id hspace vspace}) {
+		if (exists $params{$attr}) {
+			$attrs.=" $attr=\"$params{$attr}\"";
+		}
+	}
+	
 	my $imgtag='<img src="'.$imgurl.
 		'" width="'.$dwidth.
 		'" height="'.$dheight.'"'.
-		(exists $params{alt} ? ' alt="'.$params{alt}.'"' : '').
-		(exists $params{title} ? ' title="'.$params{title}.'"' : '').
-		(exists $params{class} ? ' class="'.$params{class}.'"' : '').
+		$attrs.
 		(exists $params{align} && ! exists $params{caption} ? ' align="'.$params{align}.'"' : '').
-		(exists $params{id} ? ' id="'.$params{id}.'"' : '').
 		' />';
 
 	my $link;