From a7fd6debc50e95d189f08cd47d1fd1fe2a5aa2d6 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Mon, 29 Sep 2008 18:29:53 -0400 Subject: support indexpages when renaming pages Note that the page filename code used here and in editpage are identical.. --- IkiWiki/Plugin/rename.pm | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'IkiWiki/Plugin/rename.pm') diff --git a/IkiWiki/Plugin/rename.pm b/IkiWiki/Plugin/rename.pm index 3ee457ff0..b2c3eedfe 100644 --- a/IkiWiki/Plugin/rename.pm +++ b/IkiWiki/Plugin/rename.pm @@ -279,7 +279,12 @@ sub sessioncgi ($$) { #{{{ $type=$ext; } - $destfile.=".".$type; + if (! $config{indexpages}) { + $destfile.=".".$type; + } + else { + $destfile.="/index.".$type; + } } push @torename, { src => $src, -- cgit v1.2.3 From 2ba168ac8357ad76de246d656b3da15bc9c0e722 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Mon, 29 Sep 2008 18:52:42 -0400 Subject: use newpagefile --- IkiWiki/Plugin/editpage.pm | 7 +------ IkiWiki/Plugin/rename.pm | 7 +------ 2 files changed, 2 insertions(+), 12 deletions(-) (limited to 'IkiWiki/Plugin/rename.pm') diff --git a/IkiWiki/Plugin/editpage.pm b/IkiWiki/Plugin/editpage.pm index f44e4f857..794548c6d 100644 --- a/IkiWiki/Plugin/editpage.pm +++ b/IkiWiki/Plugin/editpage.pm @@ -156,12 +156,7 @@ sub cgi_editpage ($$) { #{{{ $type=pagetype($pagesources{$from}); } $type=$config{default_pageext} unless defined $type; - if (! $config{indexpages}) { - $file=$page.".".$type; - } - else { - $file=$page."/index.".$type; - } + $file=newpagefile($page, $type); if (! $form->submitted) { $form->field(name => "rcsinfo", value => "", force => 1); } diff --git a/IkiWiki/Plugin/rename.pm b/IkiWiki/Plugin/rename.pm index b2c3eedfe..218cab489 100644 --- a/IkiWiki/Plugin/rename.pm +++ b/IkiWiki/Plugin/rename.pm @@ -279,12 +279,7 @@ sub sessioncgi ($$) { #{{{ $type=$ext; } - if (! $config{indexpages}) { - $destfile.=".".$type; - } - else { - $destfile.="/index.".$type; - } + $destfile=newpagefile($dest, $type); } push @torename, { src => $src, -- cgit v1.2.3 From 826af4600a4e413ca8ec7b6d56f0a1cdca0ad635 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Wed, 1 Oct 2008 14:43:28 -0400 Subject: fix subpage rename bug with indexpages If indexpages is enabled, then foo/index.mdwn will look like a subpage of foo, so an additional check is needed to avoid trying to rename it twice. --- IkiWiki/Plugin/rename.pm | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) (limited to 'IkiWiki/Plugin/rename.pm') diff --git a/IkiWiki/Plugin/rename.pm b/IkiWiki/Plugin/rename.pm index 218cab489..6c131487a 100644 --- a/IkiWiki/Plugin/rename.pm +++ b/IkiWiki/Plugin/rename.pm @@ -292,17 +292,21 @@ sub sessioncgi ($$) { #{{{ # See if any subpages need to be renamed. if ($q->param("subpages") && $src ne $dest) { foreach my $p (keys %pagesources) { - if ($pagesources{$p}=~m/^\Q$src\E\//) { - my $d=$pagesources{$p}; - $d=~s/^\Q$src\E\//$dest\//; - push @torename, { - src => $p, - srcfile => $pagesources{$p}, - dest => pagename($d), - destfile => $d, - required => 0, - }; - } + next unless $pagesources{$p}=~m/^\Q$src\E\//; + # If indexpages is enabled, the + # srcfile should not be confused + # with a subpage. + next if $pagesources{$p} eq $srcfile; + + my $d=$pagesources{$p}; + $d=~s/^\Q$src\E\//$dest\//; + push @torename, { + src => $p, + srcfile => $pagesources{$p}, + dest => pagename($d), + destfile => $d, + required => 0, + }; } } -- cgit v1.2.3