X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/622b866f3ee3d3b5fe76f913559a0afae66af001..341651a5d83f5464e14d8457d74fbfc23956948d:/IkiWiki/Plugin/img.pm?ds=sidebyside

diff --git a/IkiWiki/Plugin/img.pm b/IkiWiki/Plugin/img.pm
index 14a32f635..abc7e099a 100644
--- a/IkiWiki/Plugin/img.pm
+++ b/IkiWiki/Plugin/img.pm
@@ -22,16 +22,23 @@ sub preprocess (@) { #{{{
 	}
 	my $size = $params{size} || $imgdefaults{$params{page}}->{size} || 'full';
 	my $alt = $params{alt} || $imgdefaults{$params{page}}->{alt} || '';
+	my $title = $params{title} || $imgdefaults{$params{page}}->{title} || '';
 
 	if ($image eq 'defaults') {
 		$imgdefaults{$params{page}} = {
 			size => $size,
 			alt => $alt,
+			title => $title,
 		};
 		return '';
 	}
 
 	push @{$links{$params{page}}}, $image;
+	# optimisation: detect scan mode, and avoid generating the image
+	if (! defined wantarray) {
+		return;
+	}
+
 	my $file = bestlink($params{page}, $image);
 
 	my $dir = $params{page};
@@ -99,6 +106,7 @@ sub preprocess (@) { #{{{
 	my $imgtag='<img src="'.$imgurl.
 		'" alt="'.$alt.'" width="'.$im->Get("width").
 		'" height="'.$im->Get("height").'"'.
+		(defined $title ? ' title="'.$title.'"' : '').
 		(exists $params{class} ? ' class="'.$params{class}.'"' : '').
 		(exists $params{id} ? ' id="'.$params{id}.'"' : '').
 		' />';
@@ -106,9 +114,14 @@ sub preprocess (@) { #{{{
 	if (! defined $params{link} || lc($params{link}) eq 'yes') {
 		return  '<a href="'.$fileurl.'">'.$imgtag.'</a>';
 	}
+	elsif ($params{link} =~ /^\w+:\/\//) {
+		return  '<a href="'.$params{link}.'">'.$imgtag.'</a>';
+	}
 	elsif (length bestlink($params{page}, $params{link})) {
+		add_depends($params{page}, $params{link});
 		return htmllink($params{page}, $params{destpage},
-			$params{link}, linktext => $imgtag);
+			$params{link}, linktext => $imgtag,
+			noimageinline => 1);
 	}
 	else {
 		return $imgtag;