Some fixes to the parent links, I think the link to the index will be right
[ikiwiki.git] / ikiwiki
diff --git a/ikiwiki b/ikiwiki
index 111ef54fce0a5c19d3f1ec68da9f2894269eadaf..7e140bbecc86b6bcbf85cff2dbeadcaa4aec1709 100755 (executable)
--- a/ikiwiki
+++ b/ikiwiki
@@ -307,14 +307,14 @@ sub parentlinks ($) { #{{{
        my $skip=1;
        foreach my $dir (reverse split("/", $page)) {
                if (! $skip) {
+                       $path.="../";
                        unshift @ret, { url => "$path$dir.html", page => $dir };
                }
                else {
                        $skip=0;
                }
-               $path.="../";
        }
-       unshift @ret, { url => $path , page => $config{wikiname} };
+       unshift @ret, { url => length $path ? $path : ".", page => $config{wikiname} };
        return @ret;
 } #}}}
 
@@ -1152,14 +1152,28 @@ sub cgi () { #{{{
 
 sub setup () { # {{{
        my $setup=possibly_foolish_untaint($config{setup});
+       delete $config{setup};
        open (IN, $setup) || error("read $setup: $!\n");
        local $/=undef;
        my $code=<IN>;
        ($code)=$code=~/(.*)/s;
        close IN;
+
+       my (%setup);
        eval $code;
        error($@) if $@;
-       print "ikiwiki setup complete\n";
+       
+       gen_wrapper(%config, %setup, %{$setup{cgiwrapper}}) if $setup{cgiwrapper};
+       gen_wrapper(%config, %setup, %{$setup{svnwrapper}}) if $setup{svnwrapper};
+       
+       print "$setup{wikiname} setup complete, now forcing a rebuild\n";
+       foreach my $c (keys %setup) {
+               $config{$c}=possibly_foolish_untaint($setup{$c})
+                       if defined $setup{$c} && ! ref $setup{$c};
+       }
+       $config{rebuild}=1;
+       refresh();
+       saveindex();
        exit;
 } #}}}