#!/usr/bin/perl
-# Standard ikiwiki setup module.
-# Parameters to import should be all the standard ikiwiki config stuff.
package IkiWiki::Setup::Standard;
use strict;
use IkiWiki;
+# Parameters to import should be all the standard ikiwiki config, in a hash.
sub import {
IkiWiki::Setup::merge($_[1]);
}
-sub gendump ($$) {
+sub gendump ($@) {
my $class=shift;
- my $description=shift;
- "#!/usr/bin/perl",
- "# $description",
- "#",
- "# Passing this to ikiwiki --setup will make ikiwiki generate",
- "# wrappers and build the wiki.",
+ my $thisperl = eval q{use Config; $Config{perlpath}};
+ error($@) if $@;
+
+ "#!$thisperl",
"#",
- "# Remember to re-run ikiwiki --setup any time you edit this file.",
+ (map { "# $_" } @_),
"use IkiWiki::Setup::Standard {",
- IkiWiki::Setup::commented_dump(\&dumpline),
- "}";
+ IkiWiki::Setup::commented_dump(\&dumpline, "\t"),
+ "}"
}
sub dumpline ($$$$) {
eval q{use Data::Dumper};
error($@) if $@;
+ no warnings 'once';
local $Data::Dumper::Terse=1;
local $Data::Dumper::Indent=1;
local $Data::Dumper::Pad="\t";
local $Data::Dumper::Quotekeys=0;
# only the perl version preserves utf-8 in output
local $Data::Dumper::Useperl=1;
+ use warnings;
my $dumpedvalue;
if (($type eq 'boolean' || $type eq 'integer') && $value=~/^[0-9]+$/) {