summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoey Hess <joey@kodama.kitenet.net>2008-09-29 18:51:16 -0400
committerJoey Hess <joey@kodama.kitenet.net>2008-09-29 18:51:16 -0400
commit2d45a303e253c4a20ce456a82e8ac694b49c2c2d (patch)
treee5f9adb67b471d9d9712ea5225185f8bba738424
parenta7fd6debc50e95d189f08cd47d1fd1fe2a5aa2d6 (diff)
add newpagefile function
-rw-r--r--IkiWiki.pm19
-rw-r--r--doc/plugins/write.mdwn6
2 files changed, 22 insertions, 3 deletions
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