X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/970373548fda77223ebbeb6aadbdbe4884b67cef..1b8d2ce36b5d6098b318c5b2f75b0e2752b51ac6:/IkiWiki.pm?ds=sidebyside diff --git a/IkiWiki.pm b/IkiWiki.pm index c428de77f..d76b5edb4 100644 --- a/IkiWiki.pm +++ b/IkiWiki.pm @@ -1401,10 +1401,6 @@ sub filter ($$$) { return $content; } -sub indexlink () { - return "$config{wikiname}"; -} - sub check_canedit ($$$;$) { my $page=shift; my $q=shift; @@ -1742,21 +1738,25 @@ sub template ($;@) { sub misctemplate ($$;@) { my $title=shift; - my $pagebody=shift; + my $content=shift; - my $template=template("misc.tmpl"); + my $template=template("page.tmpl"); + + run_hooks(pagetemplate => sub { + shift->(page => "", destpage => "", template => $template); + }); + $template->param( + dynamic => 1, + have_actions => 0, # force off title => $title, - indexlink => indexlink(), wikiname => $config{wikiname}, - pagebody => $pagebody, + content => $content, baseurl => baseurl(), html5 => $config{html5}, @_, ); - run_hooks(pagetemplate => sub { - shift->(page => "", destpage => "", template => $template); - }); + return $template->output; } @@ -2329,11 +2329,7 @@ sub match_glob ($$;@) { my $regexp=IkiWiki::glob2re($glob); if ($page=~/^$regexp$/i) { - if ($params{onlypage} && - ! defined IkiWiki::pagetype($IkiWiki::pagesources{$page})) { - return IkiWiki::FailReason->new("$page is not a page"); - } - elsif (! IkiWiki::isinternal($page) || $params{internal}) { + if (! IkiWiki::isinternal($page) || $params{internal}) { return IkiWiki::SuccessReason->new("$glob matches $page"); } else { @@ -2346,11 +2342,19 @@ sub match_glob ($$;@) { } sub match_internal ($$;@) { - return match_glob($_[0], $_[1], @_, internal => 1) + return match_glob(shift, shift, @_, internal => 1) } sub match_page ($$;@) { - return match_glob($_[0], $_[1], @_, onlypage => 1) + my $page=shift; + my $match=match_glob($page, shift, @_); + if ($match && ! (exists $IkiWiki::pagesources{$page} + && defined IkiWiki::pagetype($IkiWiki::pagesources{$page}))) { + return IkiWiki::FailReason->new("$page is not a page"); + } + else { + return $match; + } } sub match_link ($$;@) {