From 2bec3518c22c2627df4062c80179a5b7027c52bf Mon Sep 17 00:00:00 2001 From: joey Date: Sat, 26 Aug 2006 21:57:59 +0000 Subject: [PATCH] * Patch from James Westby to add a template for the search form. * Cache search form for speedup. --- IkiWiki/Plugin/search.pm | 17 ++++++++--------- debian/changelog | 4 +++- doc/patchqueue/make-searchform-template.mdwn | 13 ------------- doc/templates.mdwn | 5 +++++ templates/searchform.tmpl | 7 +++++++ 5 files changed, 23 insertions(+), 23 deletions(-) delete mode 100644 doc/patchqueue/make-searchform-template.mdwn create mode 100644 templates/searchform.tmpl diff --git a/IkiWiki/Plugin/search.pm b/IkiWiki/Plugin/search.pm index 751c75ab5..c8e0dd580 100644 --- a/IkiWiki/Plugin/search.pm +++ b/IkiWiki/Plugin/search.pm @@ -27,6 +27,7 @@ sub checkconfig () { #{{{ } } #}}} +my $form; sub pagetemplate (@) { #{{{ my %params=@_; my $page=$params{page}; @@ -34,15 +35,13 @@ sub pagetemplate (@) { #{{{ # Add search box to page header. if ($template->query(name => "searchform")) { - $template->param(searchform => qq{ -
-
- - - -
-
-}); + if (! defined $form) { + my $searchform = IkiWiki::template("searchform.tmpl", blind_cache => 1); + $searchform->param(searchaction => $IkiWiki::config{cgiurl}); + $form=$searchform->output; + } + + $template->param(searchform => $form); } } #}}} diff --git a/debian/changelog b/debian/changelog index e36ad1c8b..a2320c1e0 100644 --- a/debian/changelog +++ b/debian/changelog @@ -32,8 +32,10 @@ ikiwiki (1.22) UNRELEASED; urgency=low from a different directory. * Generalised preprocesser loop protection code. * Patch from James Westby to allow a description to be set for rss feeds. + * Patch from James Westby to add a template for the search form. + * Cache search form for speedup. - -- Joey Hess Sat, 26 Aug 2006 13:26:22 -0400 + -- Joey Hess Sat, 26 Aug 2006 17:51:16 -0400 ikiwiki (1.21) unstable; urgency=low diff --git a/doc/patchqueue/make-searchform-template.mdwn b/doc/patchqueue/make-searchform-template.mdwn deleted file mode 100644 index 97a8b7e11..000000000 --- a/doc/patchqueue/make-searchform-template.mdwn +++ /dev/null @@ -1,13 +0,0 @@ -Here is a small patch that adds a new template for the search form. - -http://jameswestby.net/scratch/search_template.diff - -I wanted this so I could add a label to it easily. - -I don't really think there's a problem with doing it except that it makes it -more easy to break the search box. - - Thanks for the patch. The only problem I see is that the template - is identical but gets rebuilt per-page. Would probably be better to - build it only the first time, then reuse the rendered text for all - further pages, to avoid slowing ikiwiki down any. --[[Joey]] diff --git a/doc/templates.mdwn b/doc/templates.mdwn index 55e6ec6c8..53b14f9bd 100644 --- a/doc/templates.mdwn +++ b/doc/templates.mdwn @@ -29,6 +29,8 @@ It ships with some basic templates which can be customised: * `rsslink.tmpl` - Used to add a rss link if blogpost.tmpl is not used. * `aggregatepost.tmpl` - Used by the [[plugins/aggregate]] plugin to create a page for a post. +* `searchform.tmpl` - Used by the [[plugins/search]] plugin to add a search + form to wiki pages. If you like, you can add these to further customise it: @@ -44,3 +46,6 @@ CGI::FormBuilder, which interfaces to HTML::Template, so not all of it can be customised with templates, although most of it can, by creating these templates. Without the templates, CGI::FormBuilder creates the page bodies by itself. + +The [[plugin/template]] plugin also uses templates, though those templates +are stored in the wiki. diff --git a/templates/searchform.tmpl b/templates/searchform.tmpl new file mode 100644 index 000000000..7c4fdb026 --- /dev/null +++ b/templates/searchform.tmpl @@ -0,0 +1,7 @@ +
+
+ + + +
+
-- 2.44.0