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 ea3833a37d5e98f062db2d5cdc410962a29a9330..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;
 } #}}}
 
@@ -1158,15 +1158,20 @@ sub setup () { # {{{
        my $code=<IN>;
        ($code)=$code=~/(.*)/s;
        close IN;
+
+       my (%setup);
        eval $code;
        error($@) if $@;
-       print "$config{wikiname} setup complete, now forcing a rebuild.\n";
-       $config{cgi}=0;
-       $config{rebuild}=1;
-       foreach my $c (keys %config) {
-               $config{$c}=possibly_foolish_untaint($config{$c})
-                       if defined $config{$c};
+       
+       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;