summaryrefslogtreecommitdiff
path: root/IkiWiki/Plugin/relativedate.pm
diff options
context:
space:
mode:
authorintrigeri <intrigeri@boum.org>2008-10-20 14:33:19 +0200
committerintrigeri <intrigeri@boum.org>2008-10-20 14:33:19 +0200
commitfadb26bc1507f7fc2caaa873ad32c12f75c378aa (patch)
tree7ee389c28208e236cc4da4c3c51dbe9eae9234f0 /IkiWiki/Plugin/relativedate.pm
parent654adc105e008b57aa5b9700d7aece2a0f7b0682 (diff)
parent4a958e0c1e1d3f49c665c5d4aa89214ecbd61bdd (diff)
Merge commit 'origin/master' into prv/po
Diffstat (limited to 'IkiWiki/Plugin/relativedate.pm')
-rw-r--r--IkiWiki/Plugin/relativedate.pm18
1 files changed, 18 insertions, 0 deletions
diff --git a/IkiWiki/Plugin/relativedate.pm b/IkiWiki/Plugin/relativedate.pm
index 2895f6d57..d9d8f7776 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);
+ hook(type => "displaytime", id => "relativedate", call => \&display);
} # }}}
sub getsetup () { #{{{
@@ -39,4 +43,18 @@ sub include_javascript ($;$) { #{{{
'" type="text/javascript" charset="utf-8"></script>';
} #}}}
+sub display ($;$) { #{{{
+ 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 '<span class="date" title="'.$gmtime.'">'.
+ IkiWiki::formattime($time, $format).'</span>';
+} #}}}
+
1