diff --git a/IkiWiki/Plugin/ddate.pm b/IkiWiki/Plugin/ddate.pm index b67702655..862d4da5b 100644 --- a/IkiWiki/Plugin/ddate.pm +++ b/IkiWiki/Plugin/ddate.pm @@ -11,20 +11,22 @@ sub import { #{{{ sub checkconfig () { #{{{ if (! defined $config{timeformat} || $config{timeformat} eq '%c') { - $config{timeformat}='on %{%A, the %e of %B%}, %Y. %N%nCelebrate %H'; + $config{timeformat}='on %A, the %e of %B, %Y. %N%nCelebrate %H'; } } #}}} sub IkiWiki::displaytime ($) { #{{{ my $time=shift; - eval q{use POSIX}; - my $gregorian=POSIX::strftime("%d %m %Y", localtime($time)); - my $date=`ddate +'$config{timeformat}' $gregorian`; - chomp $date; - if ($? || ! length $date) { - return "some time or other (hail Eris!)"; + eval q{ + use DateTime; + use DateTime::Calendar::Discordian; + }; + if ($@) { + return "some time or other ($@ -- hail Eris!)"; } - return $date; + my $dt = DateTime->from_epoch(epoch => $time); + my $dd = DateTime::Calendar::Discordian->from_object(object => $dt); + return $dd->strftime($IkiWiki::config{timeformat}); } #}}} 5 diff --git a/debian/changelog b/debian/changelog index 5b77574a9..a18dd76d1 100644 --- a/debian/changelog +++ b/debian/changelog @@ -27,8 +27,9 @@ ikiwiki (1.27) UNRELEASED; urgency=low utf8 wikinames from there will be used properly. * Patch from Recai to kill utf-8 on the wiki name when generating the session cookie. + * Change ddate plugin to use the DateTime::Calendar::Discordian perl module. - -- Joey Hess Sun, 10 Sep 2006 14:06:01 -0400 + -- Joey Hess Thu, 14 Sep 2006 18:25:27 -0400 ikiwiki (1.26) unstable; urgency=low diff --git a/doc/plugins/ddate.mdwn b/doc/plugins/ddate.mdwn index 26465d581..c35afe4ca 100644 --- a/doc/plugins/ddate.mdwn +++ b/doc/plugins/ddate.mdwn @@ -1,6 +1,8 @@ [[template id=plugin name=ddate included=1 author="[[Joey]]"]] [[tag type/fun]] -[[tag type/slow]] Enables use of Discordian dates. `--timeformat` can be used to change the date format; see `ddate(1)`. + +This plugin requires the DateTime and DateTime::Calendar::Discordian +perl modules.