The final </div>
in recentchanges.tmpl
gets wrapped in a
<p>
tag for some reason, resulting in the following invalid XHTML at
the end of the [[RecentChanges]] page
<p></div></p>
Also, there is a problem with the <img>
tags generated by the smiley
plugin which end up wrapped in a <pre>
tag in the inline diff output.
<img>
tags is not allowed within a <pre>
block. Maybe the smiley
plugin should be disabled on [[RecentChanges]]?
See the validator output for more details.
I'll add this here since it's related. I also noticed that the meta tags for
redirected pages need to be closed in order to be valid XHTML:
<meta http-equiv="refresh" content="10; URL=../ikiwiki/pagespec/">
I'm noticing these problems because I'm serving ikiwiki-generated
content as application/xhtml+xml
(as opposed to text/html
) in order
to include inline MathML. Any invalid XHTML causes Firefox to halt all
processing and throw an error. —Jason Blevins
Here is a simple patch for the refresh problem. I haven't figured out
what's causing the recentchanges bug yet.
diff --git a/IkiWiki/Plugin/meta.pm b/IkiWiki/Plugin/meta.pm
index 8a9a538..0afe1c3 100644
--- a/IkiWiki/Plugin/meta.pm
+++ b/IkiWiki/Plugin/meta.pm
@@ -186,7 +186,7 @@ sub preprocess (@) { #{{{
$value=encode_entities($value);
}
my $delay=int(exists $params{delay} ? $params{delay} : 0);
- my $redir="<meta http-equiv=\"refresh\" content=\"$delay; URL=$value\">";
+ my $redir="<meta http-equiv=\"refresh\" content=\"$delay; URL=$value\" />";
if (! $safe) {
$redir=scrub($redir);
}
--[[JasonBlevins]]
[[tag patch]]