aboutsummaryrefslogtreecommitdiff
path: root/doc/todo/fortune:_select_options_via_environment.mdwn
blob: f906312fe6ac883bdfba038bed17b49aee428a1e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
    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 "[[".gettext("fortune failed")."]]";
	
> An environment variable is not the right approach. Ikiwiki has a setup
> file, and plugins can use configuration from there. --[[Joey]]