]> sipb.mit.edu Git - ikiwiki.git/blobdiff - IkiWiki.pm
Merge branch 'master' of ssh://git.ikiwiki.info/srv/git/ikiwiki.info
[ikiwiki.git] / IkiWiki.pm
index ed57710bbbca104294679df383b920f6d5deb6d4..c428de77f7e055390e66fcdf53301f61ac2d9382 100644 (file)
@@ -998,10 +998,18 @@ sub abs2rel ($$) {
        return $ret;
 }
 
-sub displaytime ($;$) {
+sub displaytime ($;$$) {
        # Plugins can override this function to mark up the time to
        # display.
-       return '<span class="date">'.formattime(@_).'</span>';
+       my $time=formattime($_[0], $_[1]);
+       if ($config{html5}) {
+               return '<time datetime="'.date_3339($_[0]).'"'.
+                       ($_[2] ? ' pubdate' : '').
+                       '>'.$time.'</time>';
+       }
+       else {
+               return '<span class="date">'.$time.'</span>';
+       }
 }
 
 sub formattime ($;$) {
@@ -1017,6 +1025,16 @@ sub formattime ($;$) {
        return decode_utf8(POSIX::strftime($format, localtime($time)));
 }
 
+sub date_3339 ($) {
+       my $time=shift;
+
+       my $lc_time=POSIX::setlocale(&POSIX::LC_TIME);
+       POSIX::setlocale(&POSIX::LC_TIME, "C");
+       my $ret=POSIX::strftime("%Y-%m-%dT%H:%M:%SZ", gmtime($time));
+       POSIX::setlocale(&POSIX::LC_TIME, $lc_time);
+       return $ret;
+}
+
 sub beautify_urlpath ($) {
        my $url=shift;