X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/ee1ad53c4c2710aa7ded61bdc56f3a8cce514f22..8a6a0673339c00480d49513eb0e3db83a9c7ce9c:/IkiWiki/Plugin/img.pm?ds=inline diff --git a/IkiWiki/Plugin/img.pm b/IkiWiki/Plugin/img.pm index 7226231a0..cff9dabf0 100644 --- a/IkiWiki/Plugin/img.pm +++ b/IkiWiki/Plugin/img.pm @@ -10,7 +10,7 @@ use IkiWiki 2.00; my %imgdefaults; sub import { #{{{ - hook(type => "preprocess", id => "img", call => \&preprocess); + hook(type => "preprocess", id => "img", call => \&preprocess, scan => 1); } #}}} sub preprocess (@) { #{{{ @@ -31,11 +31,10 @@ sub preprocess (@) { #{{{ return ''; } - add_depends($params{page}, $image); - my $file = bestlink($params{page}, $image) - || return "[[img ".sprintf(gettext("%s not found"), $image)."]]"; + push @{$links{$params{page}}}, $image; + my $file = bestlink($params{page}, $image); - my $dir = IkiWiki::dirname($file); + my $dir = $params{page}; my $base = IkiWiki::basename($file); eval q{use Image::Magick}; @@ -51,7 +50,7 @@ sub preprocess (@) { #{{{ my $outfile = "$config{destdir}/$dir/${w}x${h}-$base"; $imglink = "$dir/${w}x${h}-$base"; - + will_render($params{page}, $imglink); if (-e $outfile && (-M srcfile($file) >= -M $outfile)) { @@ -93,9 +92,16 @@ sub preprocess (@) { #{{{ $imgurl="$config{url}/$imglink"; } + if (! defined($im->Get("width")) || ! defined($im->Get("height"))) { + return "[[img ".sprintf(gettext("failed to determine size of image %s"), $file)."]]"; + } + return ''.$alt.''; + '" height="'.$im->Get("height").'"'. + (exists $params{class} ? ' class="'.$params{class}.'"' : ''). + (exists $params{id} ? ' id="'.$params{id}.'"' : ''). + ' />'; } #}}} 1