aboutsummaryrefslogtreecommitdiff
path: root/doc/bugs/html5_time_element__39__s_pubdate_wrong_when_using_xhtml5___34__mode__34__.mdwn
blob: c55b3f62df21e9aa3f1eac26e36ac4316217e968 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
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>