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 our @EXPORT = qw(hook debug error template htmlpage add_depends pagespec_match
bestlink htmllink readfile writefile pagetype srcfile pagename bestlink htmllink readfile writefile pagetype srcfile pagename
displaytime will_render gettext urlto targetpage displaytime will_render gettext urlto targetpage
add_underlay pagetitle titlepage linkpage add_underlay pagetitle titlepage linkpage newpagefile
%config %links %pagestate %wikistate %renderedfiles %config %links %pagestate %wikistate %renderedfiles
%pagesources %destsources); %pagesources %destsources);
our $VERSION = 2.00; # plugin interface version, next is ikiwiki version our $VERSION = 2.00; # plugin interface version, next is ikiwiki version
@ -632,13 +632,26 @@ sub pagename ($) { #{{{
return $page; 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 ($$) { #{{{ sub targetpage ($$) { #{{{
my $page=shift; my $page=shift;
my $ext=shift; my $ext=shift;
if (! $config{usedirs} || $page =~ /^index$/ ) { if (! $config{usedirs} || $page eq 'index') {
return $page.".".$ext; return $page.".".$ext;
} else { }
else {
return $page."/index.".$ext; 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 If the third parameter is passed and is true, an absolute url will be
constructed instead of the default relative url. 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($$)` #### `targetpage($$)`
Passed a page and an extension, returns the filename that page will be Passed a page and an extension, returns the filename that page will be