X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/4db40b4e59c1e735e4176f3e82b825e895306c4c..63c2bf57cb2927ff89b2ae0fe3cce01e672814e7:/IkiWiki/Plugin/prettydate.pm diff --git a/IkiWiki/Plugin/prettydate.pm b/IkiWiki/Plugin/prettydate.pm index b31d30cd0..501f17f5d 100644 --- a/IkiWiki/Plugin/prettydate.pm +++ b/IkiWiki/Plugin/prettydate.pm @@ -39,11 +39,34 @@ sub default_timetable { ]; } -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'; @@ -59,10 +82,14 @@ sub checkconfig () { #{{{ $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 $@; @@ -93,9 +120,8 @@ 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); -} #}}} +} 1