X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/745dc1c62f46bacda60d01283145b5baa0adfea1..694a8dcbdd44a07e166baa1708563bc9e6fdff51:/IkiWiki/Plugin/relativedate.pm?ds=sidebyside diff --git a/IkiWiki/Plugin/relativedate.pm b/IkiWiki/Plugin/relativedate.pm index 2895f6d57..dc8f7d538 100644 --- a/IkiWiki/Plugin/relativedate.pm +++ b/IkiWiki/Plugin/relativedate.pm @@ -2,13 +2,17 @@ package IkiWiki::Plugin::relativedate; use warnings; +no warnings 'redefine'; use strict; use IkiWiki 2.00; +use POSIX; +use Encode; sub import { #{{{ add_underlay("javascript"); hook(type => "getsetup", id => "relativedate", call => \&getsetup); hook(type => "format", id => "relativedate", call => \&format); + inject(name => "IkiWiki::displaytime", call => \&mydisplaytime); } # }}} sub getsetup () { #{{{ @@ -39,4 +43,18 @@ sub include_javascript ($;$) { #{{{ '" type="text/javascript" charset="utf-8">'; } #}}} +sub mydisplaytime ($;$) { #{{{ + my $time=shift; + my $format=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. + my $gmtime=decode_utf8(POSIX::strftime("%a, %d %b %Y %H:%M:%S %z", + localtime($time))); + + return ''. + IkiWiki::formattime($time, $format).''; +} #}}} + 1