]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - IkiWiki.pm
move to todo, response
[git.ikiwiki.info.git] / IkiWiki.pm
index 9b7baa0eeabfd367f6706f6b2b2c3d3006670b7a..82370f430ddd257544d47509ed4ffc0f14c5250f 100644 (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
 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
                  %config %links %pagestate %wikistate %renderedfiles
                  %pagesources %destsources);
 our $VERSION = 2.00; # plugin interface version, next is ikiwiki version
@@ -198,6 +198,13 @@ sub getsetup () { #{{{
                safe => 0, # changing requires manual transition
                rebuild => 1,
        },
                safe => 0, # changing requires manual transition
                rebuild => 1,
        },
+       indexpages => {
+               type => "boolean",
+               default => 0,
+               description => "use page/index.mdwn source files",
+               safe => 1,
+               rebuild => 1,
+       },
        discussion => {
                type => "boolean",
                default => 1,
        discussion => {
                type => "boolean",
                default => 1,
@@ -619,16 +626,32 @@ sub pagename ($) { #{{{
        my $type=pagetype($file);
        my $page=$file;
        $page=~s/\Q.$type\E*$// if defined $type && !$hooks{htmlize}{$type}{keepextension};
        my $type=pagetype($file);
        my $page=$file;
        $page=~s/\Q.$type\E*$// if defined $type && !$hooks{htmlize}{$type}{keepextension};
+       if ($config{indexpages} && $page=~/(.*)\/index$/) {
+               $page=$1;
+       }
        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 ($$) { #{{{
        my $page=shift;
        my $ext=shift;
        
 sub targetpage ($$) { #{{{
        my $page=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;
        }
 } #}}}