search: Added googlesearch option, which makes it search google rather than using the internal xapain database. (googlesearch plugin is too hard to turn on when xapain databases corrupt themselves, which happens all too frequently).
parent
5e5f602782
commit
002a97ffcd
|
@ -33,6 +33,13 @@ sub getsetup () {
|
|||
safe => 0, # external program
|
||||
rebuild => 0,
|
||||
},
|
||||
google_search => {
|
||||
type => "booblean",
|
||||
example => 1,
|
||||
description => "use google site search rather than internal xapian index?",
|
||||
safe => 1,
|
||||
rebuild => 0,
|
||||
},
|
||||
}
|
||||
|
||||
sub checkconfig () {
|
||||
|
@ -75,6 +82,8 @@ my $stemmer;
|
|||
sub indexhtml (@) {
|
||||
my %params=@_;
|
||||
|
||||
return if $config{google_search};
|
||||
|
||||
setupfiles();
|
||||
|
||||
# A unique pageterm is used to identify the document for a page.
|
||||
|
@ -165,6 +174,8 @@ sub indexhtml (@) {
|
|||
}
|
||||
|
||||
sub delete (@) {
|
||||
return if $config{google_search};
|
||||
|
||||
my $db=xapiandb();
|
||||
foreach my $page (@_) {
|
||||
my $pageterm=pageterm(pagename($page));
|
||||
|
@ -176,14 +187,20 @@ sub cgi ($) {
|
|||
my $cgi=shift;
|
||||
|
||||
if (defined $cgi->param('P')) {
|
||||
# only works for GET requests
|
||||
chdir("$config{wikistatedir}/xapian") || error("chdir: $!");
|
||||
$ENV{OMEGA_CONFIG_FILE}="./omega.conf";
|
||||
$ENV{CGIURL}=IkiWiki::cgiurl();
|
||||
IkiWiki::loadindex();
|
||||
$ENV{HELPLINK}=htmllink("", "", "ikiwiki/searching",
|
||||
noimageinline => 1, linktext => "Help");
|
||||
exec($config{omega_cgi}) || error("$config{omega_cgi} failed: $!");
|
||||
if ($config{google_search}) {
|
||||
print $cgi->redirect("https://www.google.com/search?sitesearch=$config{cgiurl}&q=".$cgi->param('P'));
|
||||
exit 0;
|
||||
}
|
||||
else {
|
||||
# only works for GET requests
|
||||
chdir("$config{wikistatedir}/xapian") || error("chdir: $!");
|
||||
$ENV{OMEGA_CONFIG_FILE}="./omega.conf";
|
||||
$ENV{CGIURL}=IkiWiki::cgiurl();
|
||||
IkiWiki::loadindex();
|
||||
$ENV{HELPLINK}=htmllink("", "", "ikiwiki/searching",
|
||||
noimageinline => 1, linktext => "Help");
|
||||
exec($config{omega_cgi}) || error("$config{omega_cgi} failed: $!");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -12,6 +12,10 @@ ikiwiki (3.20130904.2) UNRELEASED; urgency=low
|
|||
break some setups where not all files get committed to git.
|
||||
* comments: Write pending moderation comments to the transient underlay
|
||||
to avoid conflict with only_committed_changes.
|
||||
* search: Added googlesearch option, which makes it search google
|
||||
rather than using the internal xapain database.
|
||||
(googlesearch plugin is too hard to turn on when xapain databases
|
||||
corrupt themselves, which happens all too frequently).
|
||||
|
||||
-- Joey Hess <joeyh@debian.org> Thu, 05 Sep 2013 10:01:10 -0400
|
||||
|
||||
|
|
Loading…
Reference in New Issue