diff options
Diffstat (limited to 'IkiWiki/Plugin/img.pm')
-rw-r--r-- | IkiWiki/Plugin/img.pm | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/IkiWiki/Plugin/img.pm b/IkiWiki/Plugin/img.pm index 7226231a0..7e167240e 100644 --- a/IkiWiki/Plugin/img.pm +++ b/IkiWiki/Plugin/img.pm @@ -31,9 +31,17 @@ sub preprocess (@) { #{{{ return ''; } - add_depends($params{page}, $image); - my $file = bestlink($params{page}, $image) - || return "[[img ".sprintf(gettext("%s not found"), $image)."]]"; + my $file = bestlink($params{page}, $image); + if (! $file) { + # TODO: this may not be right, depending on where the file is + # created in the end + add_depends($params{page}, $image); + + return "[[img ".sprintf(gettext("%s not found"), $image)."]]"; + } + else { + add_depends($params{page}, $file); + } my $dir = IkiWiki::dirname($file); my $base = IkiWiki::basename($file); @@ -93,6 +101,10 @@ 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 '<a href="'.$fileurl.'"><img src="'.$imgurl. '" alt="'.$alt.'" width="'.$im->Get("width"). '" height="'.$im->Get("height").'" /></a>'; |