bug with pubdate, in process of testing fix
authorsimonraven <simonraven@web>
Sat, 8 May 2010 23:38:35 +0000 (23:38 +0000)
committerJoey Hess <joey@finch.kitenet.net>
Sat, 8 May 2010 23:38:35 +0000 (23:38 +0000)
doc/bugs/html5_time_element__39__s_pubdate_wrong_when_using_xhtml5___34__mode__34__.mdwn [new file with mode: 0644]

diff --git a/doc/bugs/html5_time_element__39__s_pubdate_wrong_when_using_xhtml5___34__mode__34__.mdwn b/doc/bugs/html5_time_element__39__s_pubdate_wrong_when_using_xhtml5___34__mode__34__.mdwn
new file mode 100644 (file)
index 0000000..c55b3f6
--- /dev/null
@@ -0,0 +1,40 @@
+Hi,
+
+XML error:
+
+    Created <time datetime="2009-03-24T18:02:14Z" pubdate class="relativedate" title="Tue, 24 Mar 2009 14:02:14 -0400">2009-03-24</time>
+
+The pubdate REQUIRES a date, so e.g. `pubdate="2009-03-24T18:02:14Z"`
+
+Otherwise the XML parser chokes.
+
+<http://www.whatwg.org/specs/web-apps/current-work/multipage/text-level-semantics.html#attr-time-pubdate>
+
+<pre>
+diff --git a/IkiWiki.pm b/IkiWiki.pm
+index 1f2ab07..6ab5b56 100644
+--- a/IkiWiki.pm
++++ b/IkiWiki.pm
+@@ -1004,7 +1004,7 @@ sub displaytime ($;$$) {
+    my $time=formattime($_[0], $_[1]);
+    if ($config{html5}) {
+        return '<time datetime="'.date_3339($_[0]).'"'.
+-         ($_[2] ? ' pubdate' : '').
++           ($_[2] ? ' pubdate="'.date_3339($_[0]).'"' : '').
+            '>'.$time.'</time>';
+    }
+    else {
+diff --git a/IkiWiki/Plugin/relativedate.pm b/IkiWiki/Plugin/relativedate.pm
+index fe8ef09..8c4a1b4 100644
+--- a/IkiWiki/Plugin/relativedate.pm
++++ b/IkiWiki/Plugin/relativedate.pm
+@@ -59,7 +59,7 @@ sub mydisplaytime ($;$$) {
+    if ($config{html5}) {
+        return '<time datetime="'.IkiWiki::date_3339($time).'"'.
+-         ($pubdate ? ' pubdate' : '').$mid.'</time>';
++           ($pubdate ? ' pubdate="'.IkiWiki::date_3339($time).'"' : '').$mid.'</time>';
+    }
+    else {
+        return '<span'.$mid.'</span>';
+</pre>