From 41d7ccfa792d5316e85054d4c066f1680f926c9f Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Mon, 29 Sep 2008 18:24:36 -0400 Subject: close todo about this --- doc/todo/index.html_allowed.mdwn | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/todo/index.html_allowed.mdwn b/doc/todo/index.html_allowed.mdwn index 13ed49211..f030f9eea 100644 --- a/doc/todo/index.html_allowed.mdwn +++ b/doc/todo/index.html_allowed.mdwn @@ -121,4 +121,6 @@ diff -ru ikiwiki-2.4/IkiWiki.pm ikiwiki/IkiWiki.pm -This just makes it so that all files named foo/index become pages called foo, which is the desired effect. I haven't tested everything so far, so be careful! But you can see it working at http://ikidev.betacantrips.com/one/ again, as before. --Ethan \ No newline at end of file +This just makes it so that all files named foo/index become pages called foo, which is the desired effect. I haven't tested everything so far, so be careful! But you can see it working at http://ikidev.betacantrips.com/one/ again, as before. --Ethan + +[[done]], the indexpages setting enables this. -- cgit v1.2.3 From 2d45a303e253c4a20ce456a82e8ac694b49c2c2d Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Mon, 29 Sep 2008 18:51:16 -0400 Subject: add newpagefile function --- IkiWiki.pm | 19 ++++++++++++++++--- doc/plugins/write.mdwn | 6 ++++++ 2 files changed, 22 insertions(+), 3 deletions(-) (limited to 'doc') 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 -- cgit v1.2.3