]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - IkiWiki/Plugin/relativedate.pm
Merge branch 'master' of ssh://git.ikiwiki.info/srv/git/ikiwiki.info
[git.ikiwiki.info.git] / IkiWiki / Plugin / relativedate.pm
index 7e615f7f1685c32a2586cb3a49abfc67acea6828..c9280ef14799dbecdba10c0bcc259027a245d2fc 100644 (file)
@@ -43,18 +43,30 @@ sub include_javascript ($;$) {
                '" type="text/javascript" charset="utf-8"></script>';
 }
 
-sub mydisplaytime ($;$) {
+sub mydisplaytime ($;$$) {
        my $time=shift;
        my $format=shift;
+       my $pubdate=shift;
 
        # This needs to be in a form that can be parsed by javascript.
-       # Being fairly human readable is also nice, as it will be exposed
-       # as the title if javascript is not available.
+       # (Being fairly human readable is also nice, as it will be exposed
+       # as the title if javascript is not available.)
+       my $lc_time=POSIX::setlocale(&POSIX::LC_TIME);
+       POSIX::setlocale(&POSIX::LC_TIME, "C");
        my $gmtime=decode_utf8(POSIX::strftime("%a, %d %b %Y %H:%M:%S %z",
                        localtime($time)));
+       POSIX::setlocale(&POSIX::LC_TIME, $lc_time);
 
-       return '<span class="relativedate" title="'.$gmtime.'">'.
-               IkiWiki::formattime($time, $format).'</span>';
+       my $mid=' class="relativedate" title="'.$gmtime.'">'.
+               IkiWiki::formattime($time, $format);
+
+       if ($config{html5}) {
+               return '<time datetime="'.IkiWiki::date_3339($time).'"'.
+                       ($pubdate ? ' pubdate="pubdate"' : '').$mid.'</time>';
+       }
+       else {
+               return '<span'.$mid.'</span>';
+       }
 }
 
 1