#!/usr/bin/perl
package IkiWiki::Plugin::prettydate;
-use IkiWiki;
+use IkiWiki 3.00;
use warnings;
no warnings 'redefine';
use strict;
gettext("early %A morning"), # 7
"", # 8
"", # 9
- gettext("in mid-morning %A"), # 10
+ gettext("mid-morning %A"), # 10
gettext("late %A morning"), # 11
gettext("at lunch time on %A"), # 12
"", # 1
];
}
-sub import { #{{{
- hook(type => "checkconfig", id => "skeleton", call => \&checkconfig);
-} # }}}
+sub import {
+ hook(type => "getsetup", id => "prettydate", call => \&getsetup);
+ hook(type => "checkconfig", id => "prettydate", call => \&checkconfig);
+}
+
+sub getsetup () {
+ return
+ plugin => {
+ safe => 1,
+ rebuild => 1,
+ },
+ prettydateformat => {
+ type => "string",
+ example => '%X, %B %o, %Y',
+ description => "format to use to display date",
+ advanced => 1,
+ safe => 1,
+ rebuild => 1,
+ },
+ timetable => {
+ type => "internal",
+ description => "array of time descriptions",
+ safe => 1,
+ rebuild => 1,
+ },
+}
-sub checkconfig () { #{{{
+sub checkconfig () {
if (! defined $config{prettydateformat} ||
$config{prettydateformat} eq '%c') {
$config{prettydateformat}='%X, %B %o, %Y';
$config{timetable}[$h] = $config{timetable}[$h - 1];
}
}
-} #}}}
+}
-sub IkiWiki::displaytime ($) { #{{{
+sub IkiWiki::formattime ($;$) {
my $time=shift;
+ my $format=shift;
+ if (! defined $format) {
+ $format=$config{prettydateformat};
+ }
eval q{use Date::Format};
error($@) if $@;
$t=~s{\%A-}{my @yest=@t; $yest[6]--; strftime("%A", \@yest)}eg;
- my $format=$config{prettydateformat};
$format=~s/\%X/$t/g;
return strftime($format, \@t);
-} #}}}
+}
1