X-Git-Url: https://sipb.mit.edu/gitweb.cgi/ikiwiki.git/blobdiff_plain/7bba52254569047ef1d9f5752096f155b0a2be77..60481cad90d61a4d1abe2dc5e69eee69ce938992:/IkiWiki.pm diff --git a/IkiWiki.pm b/IkiWiki.pm index 7382f11e4..63a7f5e2a 100644 --- a/IkiWiki.pm +++ b/IkiWiki.pm @@ -13,8 +13,8 @@ use open qw{:utf8 :std}; use vars qw{%config %links %oldlinks %pagemtime %pagectime %pagecase %pagestate %wikistate %renderedfiles %oldrenderedfiles - %pagesources %destsources %depends %depends_simple %hooks - %forcerebuild %loaded_plugins %typedlinks %oldtypedlinks + %pagesources %destsources %depends %depends_simple @mass_depends + %hooks %forcerebuild %loaded_plugins %typedlinks %oldtypedlinks %autofiles}; use Exporter q{import}; @@ -152,7 +152,7 @@ sub getsetup () { templatedir => { type => "string", default => "$installdir/share/ikiwiki/templates", - description => "location of template files", + description => "additional directory to search for template files", advanced => 1, safe => 0, # path rebuild => 1, @@ -1654,7 +1654,7 @@ sub saveindex () { sub template_file ($) { my $name=shift; - my $tpage=($name =~ /^\//) ? $name : "templates/$name"; + my $tpage=($name =~ s/^\///) ? $name : "templates/$name"; if ($name !~ /\.tmpl$/ && exists $pagesources{$tpage}) { $tpage=$pagesources{$tpage}; $name.=".tmpl"; @@ -1690,8 +1690,7 @@ sub template_depends ($$;@) { return unless defined $filename; - require HTML::Template; - return HTML::Template->new( + my @opts=( filter => sub { my $text_ref = shift; ${$text_ref} = decode_utf8(${$text_ref}); @@ -1702,6 +1701,10 @@ sub template_depends ($$;@) { @_, no_includes => 1, ); + return @opts if wantarray; + + require HTML::Template; + return HTML::Template->new(@opts); } sub template ($;@) { @@ -1712,7 +1715,8 @@ sub misctemplate ($$;@) { my $title=shift; my $pagebody=shift; - my $template=template("misc.tmpl", + my $template=template("misc.tmpl"); + $template->param( title => $title, indexlink => indexlink(), wikiname => $config{wikiname},