support indexpages when creating new pages
authorJoey Hess <joey@kodama.kitenet.net>
Mon, 29 Sep 2008 22:19:44 +0000 (18:19 -0400)
committerJoey Hess <joey@kodama.kitenet.net>
Mon, 29 Sep 2008 22:19:44 +0000 (18:19 -0400)
Initial draft, may need to factor new page filename code out into helper
function if other plugins need to do the same..

IkiWiki/Plugin/editpage.pm

index 8ab02cabc364f7f99b8cf1b963c3d9f1b36af562..f44e4f857b60ad7d3d56065f27979f1d07e71563 100644 (file)
@@ -156,7 +156,12 @@ sub cgi_editpage ($$) { #{{{
                        $type=pagetype($pagesources{$from});
                }
                $type=$config{default_pageext} unless defined $type;
-               $file=$page.".".$type;
+               if (! $config{indexpages}) {
+                       $file=$page.".".$type;
+               }
+               else {
+                       $file=$page."/index.".$type;
+               }
                if (! $form->submitted) {
                        $form->field(name => "rcsinfo", value => "", force => 1);
                }
@@ -230,8 +235,8 @@ sub cgi_editpage ($$) { #{{{
                # Previewing may have created files on disk.
                # Keep a list of these to be deleted later.
                my %previews = map { $_ => 1 } @{$wikistate{editpage}{previews}};
-               foreach my $file (@{$renderedfiles{$page}}) {
-                       $previews{$file}=1 unless $wasrendered{$file};
+               foreach my $f (@{$renderedfiles{$page}}) {
+                       $previews{$f}=1 unless $wasrendered{$f};
                }
                @{$wikistate{editpage}{previews}} = keys %previews;
                $renderedfiles{$page}=[keys %wasrendered];