aboutsummaryrefslogtreecommitdiff
path: root/IkiWiki/Plugin
diff options
context:
space:
mode:
Diffstat (limited to 'IkiWiki/Plugin')
-rw-r--r--IkiWiki/Plugin/ddate.pm29
1 files changed, 29 insertions, 0 deletions
diff --git a/IkiWiki/Plugin/ddate.pm b/IkiWiki/Plugin/ddate.pm
new file mode 100644
index 000000000..c8cf3f66e
--- /dev/null
+++ b/IkiWiki/Plugin/ddate.pm
@@ -0,0 +1,29 @@
+#!/usr/bin/perl
+# Discordian date support fnord ikiwiki.
+package IkiWiki::Plugin::ddate;
+use IkiWiki;
+use IkiWiki::Render; # so we can redefine it here:
+no warnings;
+
+sub import { #{{{
+ IkiWiki::hook(type => "checkconfig", id => "skeleton",
+ call => \&checkconfig);
+} # }}}
+
+sub checkconfig () { #{{{
+ if (! defined $IkiWiki::config{timeformat} ||
+ $IkiWiki::config{timeformat} eq '%c') {
+ $IkiWiki::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 +'$IkiWiki::config{timeformat}' $gregorian`;
+ chomp $date;
+ return $date;
+} #}}}
+
+5