summaryrefslogtreecommitdiff
path: root/IkiWiki/Plugin/date.pm
diff options
context:
space:
mode:
Diffstat (limited to 'IkiWiki/Plugin/date.pm')
-rw-r--r--IkiWiki/Plugin/date.pm34
1 files changed, 34 insertions, 0 deletions
diff --git a/IkiWiki/Plugin/date.pm b/IkiWiki/Plugin/date.pm
new file mode 100644
index 000000000..ea5c9a9c5
--- /dev/null
+++ b/IkiWiki/Plugin/date.pm
@@ -0,0 +1,34 @@
+#!/usr/bin/perl
+package IkiWiki::Plugin::date;
+
+use warnings;
+use strict;
+use IkiWiki 3.00;
+
+sub import {
+ hook(type => "getsetup", id => "date", call => \&getsetup);
+ hook(type => "preprocess", id => "date", call => \&preprocess);
+}
+
+sub getsetup () {
+ return
+ plugin => {
+ safe => 1,
+ rebuild => undef,
+ section => "widget",
+ },
+}
+
+sub preprocess (@) {
+ my $str=shift;
+
+ eval q{use Date::Parse};
+ error $@ if $@;
+ my $time = str2time($str);
+ if (! defined $time) {
+ error("unable to parse $str");
+ }
+ return displaytime($time);
+}
+
+1