diff options
Diffstat (limited to 'IkiWiki')
-rw-r--r-- | IkiWiki/Plugin/aggregate.pm | 20 | ||||
-rw-r--r-- | IkiWiki/Plugin/autoindex.pm | 2 | ||||
-rw-r--r-- | IkiWiki/Plugin/editpage.pm | 6 | ||||
-rw-r--r-- | IkiWiki/Plugin/rename.pm | 28 |
4 files changed, 27 insertions, 29 deletions
diff --git a/IkiWiki/Plugin/aggregate.pm b/IkiWiki/Plugin/aggregate.pm index c7bd1875a..26c5cc9ae 100644 --- a/IkiWiki/Plugin/aggregate.pm +++ b/IkiWiki/Plugin/aggregate.pm @@ -158,11 +158,11 @@ sub migrate_to_internal { #{{{ next if $data->{expired}; $config{aggregateinternal} = 0; - my $oldname = pagefile($data->{page}); + my $oldname = "$config{srcdir}/".htmlfn($data->{page}); my $oldoutput = $config{destdir}."/".IkiWiki::htmlpage($data->{page}); $config{aggregateinternal} = 1; - my $newname = pagefile($data->{page}); + my $newname = "$config{srcdir}/".htmlfn($data->{page}); debug "moving $oldname -> $newname"; if (-e $newname) { @@ -364,13 +364,13 @@ sub garbage_collect () { #{{{ foreach my $guid (values %guids) { # any guid whose feed is gone should be removed if (! exists $feeds{$guid->{feed}}) { - unlink pagefile($guid->{page}) + unlink "$config{srcdir}/".htmlfn($guid->{page}) if exists $guid->{page}; delete $guids{$guid->{guid}}; } # handle expired guids elsif ($guid->{expired} && exists $guid->{page}) { - unlink pagefile($guid->{page}); + unlink "$config{srcdir}/".htmlfn($guid->{page}); delete $guid->{page}; delete $guid->{md5}; } @@ -570,7 +570,7 @@ sub add_page (@) { #{{{ } my $c=""; while (exists $IkiWiki::pagecase{lc $page.$c} || - -e pagefile($page.$c)) { + -e "$config{srcdir}/".htmlfn($page.$c)) { $c++ } @@ -581,7 +581,7 @@ sub add_page (@) { #{{{ $c=""; $page=$feed->{dir}."/item"; while (exists $IkiWiki::pagecase{lc $page.$c} || - -e pagefile($page.$c)) { + -e "$config{srcdir}/".htmlfn($page.$c)) { $c++ } } @@ -621,7 +621,7 @@ sub add_page (@) { #{{{ if (defined $mtime && $mtime <= time) { # Set the mtime, this lets the build process get the right # creation time on record for the new page. - utime $mtime, $mtime, pagefile($guid->{page}); + utime $mtime, $mtime, "$config{srcdir}/".htmlfn($guid->{page}); # Store it in pagectime for expiry code to use also. $IkiWiki::pagectime{$guid->{page}}=$mtime; } @@ -679,12 +679,6 @@ sub htmlabs ($$) { #{{{ return $ret; } #}}} -sub pagefile ($) { #{{{ - my $page=shift; - - return "$config{srcdir}/".htmlfn($page); -} #}}} - sub htmlfn ($) { #{{{ return shift().".".($config{aggregateinternal} ? "_aggregated" : $config{htmlext}); } #}}} diff --git a/IkiWiki/Plugin/autoindex.pm b/IkiWiki/Plugin/autoindex.pm index 6ff06538f..a79a06314 100644 --- a/IkiWiki/Plugin/autoindex.pm +++ b/IkiWiki/Plugin/autoindex.pm @@ -21,7 +21,7 @@ sub getsetup () { #{{{ sub genindex ($) { #{{{ my $page=shift; - my $file=$page.".".$config{default_pageext}; + my $file=newpagefile($page, $config{default_pageext}); my $template=template("autoindex.tmpl"); $template->param(page => $page); writefile($file, $config{srcdir}, $template->output); diff --git a/IkiWiki/Plugin/editpage.pm b/IkiWiki/Plugin/editpage.pm index 8ab02cabc..794548c6d 100644 --- a/IkiWiki/Plugin/editpage.pm +++ b/IkiWiki/Plugin/editpage.pm @@ -156,7 +156,7 @@ sub cgi_editpage ($$) { #{{{ $type=pagetype($pagesources{$from}); } $type=$config{default_pageext} unless defined $type; - $file=$page.".".$type; + $file=newpagefile($page, $type); if (! $form->submitted) { $form->field(name => "rcsinfo", value => "", force => 1); } @@ -230,8 +230,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]; diff --git a/IkiWiki/Plugin/rename.pm b/IkiWiki/Plugin/rename.pm index 3ee457ff0..6c131487a 100644 --- a/IkiWiki/Plugin/rename.pm +++ b/IkiWiki/Plugin/rename.pm @@ -279,7 +279,7 @@ sub sessioncgi ($$) { #{{{ $type=$ext; } - $destfile.=".".$type; + $destfile=newpagefile($dest, $type); } push @torename, { src => $src, @@ -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, + }; } } |