X-Git-Url: https://sipb.mit.edu/gitweb.cgi/ikiwiki.git/blobdiff_plain/08cb5f7badff3fdb103cf84890b19b90c0600a4e..ddabb010b2c45556046fd1ba982893395c7a46f6:/IkiWiki/Plugin/prettydate.pm diff --git a/IkiWiki/Plugin/prettydate.pm b/IkiWiki/Plugin/prettydate.pm index b6110e427..501f17f5d 100644 --- a/IkiWiki/Plugin/prettydate.pm +++ b/IkiWiki/Plugin/prettydate.pm @@ -39,11 +39,34 @@ sub default_timetable { ]; } -sub import { #{{{ +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