1 Put something like this in the setup file:
7 command: [unoconv, -f, pdf, -o, $OUTPUTDIR, $INPUTFILE]
10 command: [ditaa, $INPUTFILE, $OUTPUTFILE, -s, 0.7]
13 However `Dumper($config{conversion})` shows:
22 I think it is getting mangled in `sub merge` in `IkiWiki/Setup.pm` and its calls to `possibly_foolish_untaint`
24 Workaround: force the array values to be strings, and then re-parse them using YAML::XS::Load:
31 command: [unoconv, -f, pdf, -o, $OUTPUTDIR, $INPUTFILE]
35 command: [ditaa, $INPUTFILE, $OUTPUTFILE, -s, 0.7]
40 if (!defined $config{conversion} || ref $config{conversion} ne "ARRAY") {
41 error(sprintf(gettext("Must specify '%s' and it must be a list"), "conversion"));
43 for (my $i=0; $i < @{$config{conversion}}; $i++) {
44 $config{conversion}->[$i] = YAML::XS::Load($config{conversion}->[$i]) if
45 ref $config{conversion}->[$i] ne 'HASH';
50 > `getsetup` defines config options to be one of: boolean, string, integer,
51 > pagespec, "internal" (non-user-visible string), ref to an array of one of
52 > those scalar types, or ref to a hash { string => one of those scalar types }.
53 > IkiWiki::Setup also appears to support regexps (qr//), although that's
54 > not documented (presumably they're treated the same as strings).
56 > Supporting arbitrary arrays/hashes as values would require some way to
57 > untaint the values recursively.
59 > Complex config data also can't be used with the [[plugins/websetup]]
60 > plugin, which currently supports everything that IkiWiki::Setup does,
61 > except for hashes. --[[smcv]]