]> sipb.mit.edu Git - ikiwiki.git/blobdiff - IkiWiki/Plugin/google.pm
Change Projects link to point to projects DB
[ikiwiki.git] / IkiWiki / Plugin / google.pm
index be07ca2be20d2a4e7e82a7e3c771feeb4be8fff3..68cde261c66748c5d32475657986ce9d465fbbbf 100644 (file)
@@ -3,33 +3,36 @@ package IkiWiki::Plugin::google;
 
 use warnings;
 use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
 use URI;
 
-sub import { #{{{
+sub import {
        hook(type => "getsetup", id => "google", call => \&getsetup);
        hook(type => "checkconfig", id => "google", call => \&checkconfig);
        hook(type => "pagetemplate", id => "google", call => \&pagetemplate);
-} # }}}
+}
 
-sub getsetup () { #{{{
+sub getsetup () {
        return
                plugin => {
                        safe => 1,
                        rebuild => 1,
+                       section => "web",
                },
-} #}}}
+}
 
-sub checkconfig () { #{{{
-       foreach my $required (qw(url)) {
-               if (! length $config{$required}) {
-                       error(sprintf(gettext("Must specify %s when using the google search plugin"), $required));
-               }
+sub checkconfig () {
+       if (! length $config{url}) {
+               error(sprintf(gettext("Must specify %s when using the %s plugin"), "url", 'google'));
        }
-} #}}}
+       
+       # This is a mass dependency, so if the search form template
+       # changes, every page is rebuilt.
+       add_depends("", "templates/googleform.tmpl");
+}
 
 my $form;
-sub pagetemplate (@) { #{{{
+sub pagetemplate (@) {
        my %params=@_;
        my $page=$params{page};
        my $template=$params{template};
@@ -38,12 +41,13 @@ sub pagetemplate (@) { #{{{
        if ($template->query(name => "searchform")) {
                if (! defined $form) {
                        my $searchform = template("googleform.tmpl", blind_cache => 1);
-                       $searchform->param(sitefqdn => URI->new($config{url})->host);
+                       $searchform->param(url => $config{url});
+                       $searchform->param(html5 => $config{html5});
                        $form=$searchform->output;
                }
 
                $template->param(searchform => $form);
        }
-} #}}}
+}
 
 1