add newpagefile function

master
Joey Hess 2008-09-29 18:51:16 -04:00
parent a7fd6debc5
commit 2d45a303e2
2 changed files with 22 additions and 3 deletions

View File

@ -20,7 +20,7 @@ use Exporter q{import};
our @EXPORT = qw(hook debug error template htmlpage add_depends pagespec_match
bestlink htmllink readfile writefile pagetype srcfile pagename
displaytime will_render gettext urlto targetpage
add_underlay pagetitle titlepage linkpage
add_underlay pagetitle titlepage linkpage newpagefile
%config %links %pagestate %wikistate %renderedfiles
%pagesources %destsources);
our $VERSION = 2.00; # plugin interface version, next is ikiwiki version
@ -632,13 +632,26 @@ sub pagename ($) { #{{{
return $page;
} #}}}
sub newpagefile ($$) { #{{{
my $page=shift;
my $type=shift;
if (! $config{indexpages} || $page eq 'index') {
return $page.".".$type;
}
else {
return $page."/index.".$type;
}
} #}}}
sub targetpage ($$) { #{{{
my $page=shift;
my $ext=shift;
if (! $config{usedirs} || $page =~ /^index$/ ) {
if (! $config{usedirs} || $page eq 'index') {
return $page.".".$ext;
} else {
}
else {
return $page."/index.".$ext;
}
} #}}}

View File

@ -691,6 +691,12 @@ destination file, as registered by `will_render`.
If the third parameter is passed and is true, an absolute url will be
constructed instead of the default relative url.
#### `newpagefile($$)`
This can be called when creating a new page, to determine what filename
to save the page to. It's passed a page name, and its type, and returns
the name of the file to create, relative to the srcdir.
#### `targetpage($$)`
Passed a page and an extension, returns the filename that page will be