X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/af9566ff1ae55d273ff96c7ca39e34265623a55d..e4ccc4f3b09aaaa4f64bdba1d6ffff24e924fd20:/IkiWiki/Plugin/search.pm diff --git a/IkiWiki/Plugin/search.pm b/IkiWiki/Plugin/search.pm index c71fef76e..c79d40469 100644 --- a/IkiWiki/Plugin/search.pm +++ b/IkiWiki/Plugin/search.pm @@ -9,10 +9,12 @@ use IkiWiki; sub import { #{{{ IkiWiki::hook(type => "checkconfig", id => "hyperestraier", call => \&checkconfig); + IkiWiki::hook(type => "pagetemplate", id => "hyperestraier", + call => \&pagetemplate); IkiWiki::hook(type => "delete", id => "hyperestraier", call => \&delete); - IkiWiki::hook(type => "render", id => "hyperestraier", - call => \&render); + IkiWiki::hook(type => "change", id => "hyperestraier", + call => \&change); IkiWiki::hook(type => "cgi", id => "hyperestraier", call => \&cgi); } # }}} @@ -23,8 +25,16 @@ sub checkconfig () { #{{{ IkiWiki::error("Must specify $required when using the search plugin\n"); } } +} #}}} + +sub pagetemplate (@) { #{{{ + my %params=@_; + my $page=$params{page}; + my $template=$params{template}; - $IkiWiki::config{headercontent}.=qq{ + # Add search box to page header. + if ($template->query(name => "searchform")) { + $template->param(searchform => qq{
@@ -32,7 +42,8 @@ sub checkconfig () { #{{{
-}; +}); + } } #}}} sub delete (@) { #{{{ @@ -41,7 +52,7 @@ sub delete (@) { #{{{ IkiWiki::estcfg(); } #}}} -sub render (@) { #{{{ +sub change (@) { #{{{ IkiWiki::debug("updating hyperestraier search index"); IkiWiki::estcmd("gather -cm -bc -cl -sd", map { @@ -79,9 +90,7 @@ sub estcfg () { #{{{ close TEMPLATE; open(TEMPLATE, ">$estdir/$cgi.conf") || error("write $estdir/$cgi.conf: $!"); - my $template=HTML::Template->new( - filename => "$config{templatedir}/estseek.conf" - ); + my $template=template("estseek.conf"); eval q{use Cwd 'abs_path'}; $template->param( index => $estdir,