我真的很喜欢Python-Sphinx文档工具,但有一件事让我烦恼的是,我几乎无法从sphinx搜索框中获得正确的搜索结果:
所以我想知道是否有任何技巧,以便我可以从Sphinx搜索框获得更好的搜索性能?此外,是否有任何工具允许我用自定义谷歌搜索替换Sphinx搜索框?
谢谢!
编辑:我刚刚发现Scipy搜索框自动链接到谷歌。我想知道是否有人知道他们是如何实现的?
Sphinx搜索功能目前不是非常强大/可配置。
要解决您的问题,您也可以
1)实现自己的Sphinx搜索或
2)调整您的Sphinx模板以支持自定义Google搜索。
对于1),您可能想要查看非稳定的Sphinx扩展sphinxcontrib-lunrsearch 0.2。
2),阅读Sphinx templating documentation。
Sphinx project on GitHub中存在一些可能涉及到您想要的方向的未解决问题,因此您可以尝试回馈该项目并获得Sphinx社区的支持。
Google搜索框的集成在Sphinx常见问题解答部分中进行了描述,您需要申请Google帐户。它按预期对我有用。也许您可能需要调整CSS Z-Index以避免根据您的主题按内容覆盖搜索结果。
来自:https://www.sphinx-doc.org/en/master/faq.html?highlight=google%20search
要使用Google搜索替换Sphinx的内置搜索功能,请按以下步骤操作:
_templates/searchbox.html
中:
<div>
<h3>{{ _('Quick search') }}</h3>
<script>
(function() {
var cx = '......';
var gcse = document.createElement('script');
gcse.type = 'text/javascript';
gcse.async = true;
gcse.src = 'https://cse.google.com/cse.js?cx=' + cx;
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(gcse, s);
})();
</script>
<gcse:search></gcse:search>
</div>
searchbox.html
添加到html_sidebars
配置值。