Hugo lovelt的搜索坑
Contents
lovelt主题的搜索,提供了Lunr.js 、algolia, 两个搜索引擎,但是都很麻烦。
首先lunr
简单,但不支持中文检索,中文分词依赖库很久都没更新了,我都试下也不能用。
algolia
,配置比较麻烦,还需要注册账号,上传索引,具体操作参考Hugo 集成 Algolia 搜索。然而当我认为可以用时,又发现了问题,hugo-algolia
生成索引中跳转的路径都不对。于是需要一个一个解决。
路径大小写问题
hugo-algolia
生成的路径是存在大小写的。看图中的uri:
但hugo
页面上的路径会默认全部转为小写。
解决办法:配置disablePathToLower
为true
(见官方论坛回答)。
相对路径问题
hugo-algolia
默认生成的uri是相对路径,会导致不在首页下的搜索都出现问题(具体在这个issues里)。
为了解决这个问题,我修改了hugo-algolia源码,搞了一个新的包hugo-lovelt-algolia,增加baseURL
配置,可以将uri变为绝对路径。