diff -up fortune.pm.ORIG fortune.pm.MODIFIED
--- fortune.pm.ORIG     2008-01-11 19:07:48.000000000 +0100
+++ fortune.pm.MODIFIED 2008-01-12 07:58:44.000000000 +0100
@@ -1,5 +1,11 @@
 #!/usr/bin/perl
-# Include a fortune in a page
+# Include a fortune in a page.
+# If the environment variable IKIWIKI_FORTUNE_COMMAND is defined, use it.
+# This allows to run e.g.:
+# $IKIWIKI_FORTUNE_COMMAND='fortune ~/.fortune/myfortunes' \
+# ikiwiki -setup ~/.ikiwiki/ikiwiki.setup
+# Combining this with cron could make regenerated wiki content.
+# This may or may not be a good thing wrt. version control.
 package IkiWiki::Plugin::fortune;

 use warnings;
@@ -12,7 +18,13 @@ sub import {

 sub preprocess (@) {
        $ENV{PATH}="$ENV{PATH}:/usr/games:/usr/local/games";
-       my $f = `fortune 2>/dev/null`;
+       my $f;
+       if (exists ($ENV{'IKIWIKI_FORTUNE_COMMAND'})) {
+           $f = `$ENV{'IKIWIKI_FORTUNE_COMMAND'} 2>/dev/null`
+       }
+       else {
+           $f = `fortune 2>/dev/null`;
+       }

    if ($?) {
            return "<span class="createlink"><a href="/ikiwiki.cgi?page=__34__.gettext__40____34__fortune_failed__34____41__.__34__&amp;from=todo%2Ffortune%3A_select_options_via_environment&amp;do=create" rel="nofollow">?</a>&#34;.gettext&#40;&#34;fortune failed&#34;&#41;.&#34;</span>";

An environment variable is not the right approach. Ikiwiki has a setup file, and plugins can use configuration from there. --Joey