X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/d9e4a3718ec84a2855aa3b585cd2d8ec0bea182e..d0bd30824ec9c1f2af04d9e3d9b13473c8fcb9d8:/IkiWiki/Plugin/prettydate.pm diff --git a/IkiWiki/Plugin/prettydate.pm b/IkiWiki/Plugin/prettydate.pm index 48e9db05c..be7e2c761 100644 --- a/IkiWiki/Plugin/prettydate.pm +++ b/IkiWiki/Plugin/prettydate.pm @@ -1,6 +1,6 @@ #!/usr/bin/perl package IkiWiki::Plugin::prettydate; -use IkiWiki; +use IkiWiki 2.00; use warnings; no warnings 'redefine'; use strict; @@ -22,8 +22,8 @@ sub default_timetable { gettext("early %A morning"), # 7 "", # 8 "", # 9 - gettext("in mid-morning %A"), # 10 - gettext("in late morning %A"), # 11 + gettext("mid-morning %A"), # 10 + gettext("late %A morning"), # 11 gettext("at lunch time on %A"), # 12 "", # 1 gettext("%A afternoon"), # 2 @@ -40,9 +40,28 @@ sub default_timetable { } sub import { #{{{ - hook(type => "checkconfig", id => "skeleton", call => \&checkconfig); + hook(type => "getsetup", id => "getsetup", call => \&getsetup); + hook(type => "checkconfig", id => "prettydate", call => \&checkconfig); } # }}} +sub getsetup () { #{{{ + return + prettydateformat => { + type => "string", + default => '%X, %B %o, %Y', + description => "format to use to display date", + safe => 1, + rebuild => 1, + }, + timetable => { + type => undef, # don't try to show in interface + default => '%X, %B %o, %Y', + description => "array of time descriptions", + safe => 1, + rebuild => 1, + }, +} #}}} + sub checkconfig () { #{{{ if (! defined $config{prettydateformat} || $config{prettydateformat} eq '%c') { @@ -61,8 +80,12 @@ sub checkconfig () { #{{{ } } #}}} -sub IkiWiki::displaytime ($) { #{{{ +sub IkiWiki::displaytime ($;$) { #{{{ my $time=shift; + my $format=shift; + if (! defined $format) { + $format=$config{prettydateformat}; + } eval q{use Date::Format}; error($@) if $@; @@ -93,7 +116,6 @@ sub IkiWiki::displaytime ($) { #{{{ $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); } #}}}