我试图通过jekyll-lunr-js-search在Jekyll生成的静态网站中实现搜索功能(参见here)。
如果搜索到的字符串出现在html或高亮显示标记之外,或者标题,纯文本文本中,则搜索功能有效...
但如果我查找标记内出现的单词或单词的一部分帖子(.md文件),找不到它。
检查该特定帖子的search.json条目,我确实看到该主体不包含此内容......
这是一个已知的问题?或者这是一个配置问题?
帖子会例如包含
<ul><li>Labyrinth</li></ul> Bicycle races are fun yes yes!
然后search.json中的正文内容为:body: "Bicycle races are fun yes yes!"
正在搜索实验室&#39;那时候没有结果。
提前致谢。
答案 0 :(得分:0)
我认为这是插件的问题。 Looking at the source,我们可以看到它通过扫描渲染页面中的文本来构建搜索索引。
def render(item)
item.render({}, @site.site_payload)
doc = Nokogiri::HTML(item.output)
paragraphs = doc.search('//text()').map {|t| t.content }
paragraphs = paragraphs.join(" ").gsub("\r", " ").gsub("\n", " ").gsub("\t", " ").gsub(/\s+/, " ")
end
您可以修改插件并将//text()
XPath更改为您需要的CSS选择器,因为Nokogiri's search允许XPath和CSS搜索。