X-Git-Url: https://sipb.mit.edu/gitweb.cgi/ikiwiki.git/blobdiff_plain/d9e4a3718ec84a2855aa3b585cd2d8ec0bea182e..2db694603760f547b5fe910d005f0b304d690987:/IkiWiki/Plugin/prettydate.pm diff --git a/IkiWiki/Plugin/prettydate.pm b/IkiWiki/Plugin/prettydate.pm index 48e9db05c..82d8a3df3 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 3.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 @@ -33,17 +33,40 @@ sub default_timetable { gettext("%A evening"), # 6 "", # 7 gettext("late %A evening"), # 8 - "", # 9 # 9 + "", # 9 gettext("%A night"), # 10 "", # 11 ]; } -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