From: Joey Hess Date: Mon, 29 Sep 2008 22:51:16 +0000 (-0400) Subject: add newpagefile function X-Git-Url: https://sipb.mit.edu/gitweb.cgi/ikiwiki.git/commitdiff_plain/2d45a303e253c4a20ce456a82e8ac694b49c2c2d add newpagefile function --- diff --git a/IkiWiki.pm b/IkiWiki.pm index c01c59ac6..34b315bbc 100644 --- a/IkiWiki.pm +++ b/IkiWiki.pm @@ -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; } } #}}} diff --git a/doc/plugins/write.mdwn b/doc/plugins/write.mdwn index 4e27d361d..1b78f5900 100644 --- a/doc/plugins/write.mdwn +++ b/doc/plugins/write.mdwn @@ -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