diff options
author | Joey Hess <joey@gnu.kitenet.net> | 2009-11-25 01:18:43 -0500 |
---|---|---|
committer | Joey Hess <joey@gnu.kitenet.net> | 2009-11-25 01:18:43 -0500 |
commit | df75c5b93a1067461b649e48cc62d4c7f4d18ec7 (patch) | |
tree | b576f82f0fd2f0b0c9ac8353c0ec0e4c368816f3 /IkiWiki/Plugin/date.pm | |
parent | c6daf3b022390f0b45c60885c50e2f19fde966d3 (diff) | |
download | ikiwiki-df75c5b93a1067461b649e48cc62d4c7f4d18ec7.tar ikiwiki-df75c5b93a1067461b649e48cc62d4c7f4d18ec7.tar.gz |
date: New plugin that allows inserting date directives that expand to pretty-printed dates, using the same formatting as used for page modification date display, etc.
Diffstat (limited to 'IkiWiki/Plugin/date.pm')
-rw-r--r-- | IkiWiki/Plugin/date.pm | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/IkiWiki/Plugin/date.pm b/IkiWiki/Plugin/date.pm new file mode 100644 index 000000000..8f2aa73d6 --- /dev/null +++ b/IkiWiki/Plugin/date.pm @@ -0,0 +1,33 @@ +#!/usr/bin/perl +package IkiWiki::Plugin::date; + +use warnings; +use strict; +use IkiWiki 3.00; + +sub import { + hook(type => "getsetup", id => "meta", call => \&getsetup); + hook(type => "preprocess", id => "meta", call => \&preprocess); +} + +sub getsetup () { + return + plugin => { + safe => 1, + rebuild => undef, + }, +} + +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 |