The img directive emits an extra double quote if alt=x is specified (as is necessary for valid HTML). This results in malformed HTML, like this:
<img src="U" width="W" height="H"" alt="A" />
^
This patch is available from the img-bugfix branch in my git repository:
commit a648c439f3467571374daf597e9b3a659ea2008f
Author: Simon McVittie <smcv@ http://smcv.pseudorandom.co.uk/>
Date: 2009-06-16 17:15:06 +0100
img plugin: do not emit a redundant double-quote before alt attribute
diff --git a/IkiWiki/Plugin/img.pm b/IkiWiki/Plugin/img.pm
index a697fea..a186abd 100644
--- a/IkiWiki/Plugin/img.pm
+++ b/IkiWiki/Plugin/img.pm
@@ -121,7 +121,7 @@ sub preprocess (@) {
my $imgtag='<img src="'.$imgurl.
'" width="'.$im->Get("width").
'" height="'.$im->Get("height").'"'.
- (exists $params{alt} ? '" alt="'.$params{alt}.'"' : '').
+ (exists $params{alt} ? ' alt="'.$params{alt}.'"' : '').
(exists $params{title} ? ' title="'.$params{title}.'"' : '').
(exists $params{class} ? ' class="'.$params{class}.'"' : '').
(exists $params{id} ? ' id="'.$params{id}.'"' : '').
--smcv