X-Git-Url: https://sipb.mit.edu/gitweb.cgi/ikiwiki.git/blobdiff_plain/202c4d522f9f83d0e439b3846fb6a90e4eebee59..93351f1275d577aece40ac3fa6608047d4cbcca9:/IkiWiki.pm diff --git a/IkiWiki.pm b/IkiWiki.pm index 76472302e..7002b55be 100644 --- a/IkiWiki.pm +++ b/IkiWiki.pm @@ -3,8 +3,6 @@ package IkiWiki; use warnings; use strict; -use File::Spec; -use HTML::Template; use vars qw{%config %links %oldlinks %oldpagemtime %pagectime %renderedfiles %pagesources %depends %hooks}; @@ -36,6 +34,7 @@ sub defaultconfig () { #{{{ svnpath => "trunk", srcdir => undef, destdir => undef, + pingurl => [], templatedir => "/usr/share/ikiwiki/templates", underlaydir => "/usr/share/ikiwiki/basewiki", setup => undef, @@ -303,6 +302,7 @@ sub htmllink ($$$;$$$) { #{{{ "\">?$linktext" } + require File::Spec; $bestlink=File::Spec->abs2rel($bestlink, dirname($page)); if (! $noimageinline && isinlinableimage($bestlink)) { @@ -389,13 +389,24 @@ sub saveindex () { #{{{ close OUT; } #}}} +sub template_params (@) { #{{{ + my $filename=shift; + + require Encode; + require HTML::Template; + return filter => \&Encode::decode_utf8, + filename => "$config{templatedir}/$filename", @_; +} #}}} + +sub template ($;@) { #{{{ + HTML::Template->new(template_params(@_)); +} #}}} + sub misctemplate ($$) { #{{{ my $title=shift; my $pagebody=shift; - my $template=HTML::Template->new( - filename => "$config{templatedir}/misc.tmpl" - ); + my $template=template("misc.tmpl"); $template->param( title => $title, indexlink => indexlink(),