aboutsummaryrefslogtreecommitdiff
path: root/IkiWiki
diff options
context:
space:
mode:
authorJoey Hess <joey@kodama.kitenet.net>2008-07-26 15:34:38 -0400
committerJoey Hess <joey@kodama.kitenet.net>2008-07-26 15:34:38 -0400
commit1c00717cb2737bde3870b2fe504f40bb7d215477 (patch)
treecd92f4cf3abde7a5398b7cb8c5ac16119ba6e5b5 /IkiWiki
parentcd029da49314981dad3ee89cc10946075825fb21 (diff)
downloadikiwiki-1c00717cb2737bde3870b2fe504f40bb7d215477.tar
ikiwiki-1c00717cb2737bde3870b2fe504f40bb7d215477.tar.gz
can now dump fully functional setup files
Diffstat (limited to 'IkiWiki')
-rw-r--r--IkiWiki/Setup.pm6
-rw-r--r--IkiWiki/Setup/Standard.pm8
2 files changed, 9 insertions, 5 deletions
diff --git a/IkiWiki/Setup.pm b/IkiWiki/Setup.pm
index b67d1a454..9c45a8baf 100644
--- a/IkiWiki/Setup.pm
+++ b/IkiWiki/Setup.pm
@@ -36,17 +36,15 @@ sub load ($) { # {{{
$raw_setup=undef;
# Merge setup into existing config and untaint.
- $setup{plugin}=$config{plugin};
if (exists $setup{add_plugins}) {
- push @{$setup{plugin}}, @{$setup{add_plugins}};
- delete $setup{add_plugins};
+ push @{$setup{add_plugins}}, @{$config{add_plugins}};
}
if (exists $setup{exclude}) {
push @{$config{wiki_file_prune_regexps}}, $setup{exclude};
}
foreach my $c (keys %setup) {
if (defined $setup{$c}) {
- if (! ref $setup{$c}) {
+ if (! ref $setup{$c} || ref $setup{$c} eq 'Regexp') {
$config{$c}=IkiWiki::possibly_foolish_untaint($setup{$c});
}
elsif (ref $setup{$c} eq 'ARRAY') {
diff --git a/IkiWiki/Setup/Standard.pm b/IkiWiki/Setup/Standard.pm
index d88dc9e1c..ed4331d61 100644
--- a/IkiWiki/Setup/Standard.pm
+++ b/IkiWiki/Setup/Standard.pm
@@ -29,15 +29,21 @@ sub dumpline ($$$$) { #{{{
my $dumpedvalue;
if ($type eq 'boolean' || $type eq 'integer') {
+ # avoid quotes
$dumpedvalue=$value;
}
+ elsif ($type eq 'string' && ref $value eq 'ARRAY' && @$value &&
+ ! grep { /[^-A-Za-z0-9_]/ } @$value) {
+ # dump simple array as qw{}
+ $dumpedvalue="[qw{ ".join(" ", @$value)." }]";
+ }
else {
$dumpedvalue=Dumper($value);
chomp $dumpedvalue;
$dumpedvalue=~s/^\t//;
}
- return "\t$prefix$key=$dumpedvalue,";
+ return "\t$prefix$key => $dumpedvalue,";
} #}}}
sub dumpvalues ($@) { #{{{