summaryrefslogtreecommitdiff
path: root/IkiWiki/Plugin
diff options
context:
space:
mode:
authorJoey Hess <joey@kitenet.net>2010-05-06 23:20:48 -0400
committerJoey Hess <joey@kitenet.net>2010-05-06 23:20:48 -0400
commitea4967f184bf0a27eaa2dc81da1084780756156a (patch)
treee277454c3c67b6cafb17cce16d87493ae2bb0348 /IkiWiki/Plugin
parent121e2ffc2f25bf264a68d35e80a9386995fa9e5a (diff)
inline: Call indexhtml when inlining internal pages, so their text can be indexed for searching.
Diffstat (limited to 'IkiWiki/Plugin')
-rw-r--r--IkiWiki/Plugin/inline.pm7
-rw-r--r--IkiWiki/Plugin/search.pm6
2 files changed, 10 insertions, 3 deletions
diff --git a/IkiWiki/Plugin/inline.pm b/IkiWiki/Plugin/inline.pm
index 933e30646..715a3d652 100644
--- a/IkiWiki/Plugin/inline.pm
+++ b/IkiWiki/Plugin/inline.pm
@@ -476,6 +476,13 @@ sub get_inline_content ($$) {
filter($page, $destpage,
readfile(srcfile($file))))));
$nested--;
+ if (isinternal($page)) {
+ # make inlined text of internal pages searchable
+ run_hooks(indexhtml => sub {
+ shift->(page => $page, destpage => $page,
+ content => $ret);
+ });
+ }
}
if ($cached_destpage ne $destpage) {
diff --git a/IkiWiki/Plugin/search.pm b/IkiWiki/Plugin/search.pm
index b1f4747fe..c578b44ab 100644
--- a/IkiWiki/Plugin/search.pm
+++ b/IkiWiki/Plugin/search.pm
@@ -10,7 +10,7 @@ sub import {
hook(type => "getsetup", id => "search", call => \&getsetup);
hook(type => "checkconfig", id => "search", call => \&checkconfig);
hook(type => "pagetemplate", id => "search", call => \&pagetemplate);
- hook(type => "indexhtml", id => "search", call => \&index);
+ hook(type => "indexhtml", id => "search", call => \&indexhtml);
hook(type => "delete", id => "search", call => \&delete);
hook(type => "cgi", id => "search", call => \&cgi);
}
@@ -68,7 +68,7 @@ sub pagetemplate (@) {
my $scrubber;
my $stemmer;
-sub index (@) {
+sub indexhtml (@) {
my %params=@_;
setupfiles();
@@ -117,7 +117,7 @@ sub index (@) {
eval q{use HTML::Entities};
error $@ if $@;
$doc->set_data(
- "url=".urlto($params{page}, "")."\n".
+ "url=".urlto($params{destpage}, "")."\n".
"sample=".decode_entities($sample)."\n".
"caption=".decode_entities($caption)."\n".
"modtime=$IkiWiki::pagemtime{$params{page}}\n".