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.

master
Joey Hess 2009-11-25 01:18:43 -05:00
parent c6daf3b022
commit df75c5b93a
4 changed files with 56 additions and 0 deletions

View File

@ -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

3
debian/changelog vendored
View File

@ -9,6 +9,9 @@ ikiwiki (3.20091114) UNRELEASED; urgency=low
larger for inlines of many, or complex pages.
* Added (incomplete) Turkish po file. Closes: #556744
Thanks, Recai Oktaş
* 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.
-- Joey Hess <joeyh@debian.org> Mon, 16 Nov 2009 15:46:45 -0500

View File

@ -0,0 +1,14 @@
The `date` directive is supplied by the [[!iki plugins/date desc=date]] plugin.
This directive can be used to display a date on a page, using the same
display method that is used to display the modification date in the page
footer, and other dates in the wiki. This can be useful for consistency
of display, or if you want to embed parseable dates into the page source.
Like the dates used by the [[meta]] directive, the date can be entered in
nearly any format, since it's parsed by [[!cpan TimeDate]].
For example, an update to a page with an embedded date stamp could look
like:
Updated \[[!date "Wed, 25 Nov 2009 01:11:55 -0500"]]: mumble mumble

View File

@ -0,0 +1,6 @@
[[!template id=plugin name=date author="[[Joey]]"]]
[[!tag type/meta]]
This plugin provides the [[ikiwiki/directive/date]]
[[ikiwiki/directive]], which provides a way to display an arbitrary date
in a page.