just-the-docs 是适用于 Jekyll 的一款文档风格主题模板,非常的强大。但是比较可惜的是,原版搜索功能只支持英文内容搜索。
Jekyll 主题 just-the-docs 使用 lunr.js 实现搜索功能,lunr.js 实际是支持阿拉伯语、丹麦语、德语、荷兰语、希腊语、西班牙语、芬兰语、法语、希伯来语、印地语、匈牙利语、亚美尼亚语、意大利语、日语、韩文、卡纳达语、挪威语、波兰语、葡萄牙语、罗马尼亚语、俄语、梵语、瑞典语、泰卢固语、泰米尔语、泰语、土耳其语、越南语、中文,同时提供多语言混合搜索。

无境最开始研究的时候挺头大的,实现以后发现其实很简单,下面为简化后的 lunr.js 实现多语言搜索的实现过程。只需要下载对应的文件并且修改2个文件即可,具体如下:
1: 打开assets\js\just-the-docs.js搜索 var index = lunr(function(){,在下面增加一行,并且粘贴以下内容
|
|
2: 下载lunr.multi.min.js、lunr.stemmer.support.min.js、lunr.zh.min.jss文件,存入’/assets/js/vendor/’ 目录中。(语言JS文件下载: https://github.com/MihaiValentin/lunr-languages/tree/master/min)
3: _includes\head_custom.html 文件中引入多语言js文件
|
|
演示: https://1px.run
lunr.multi.min.js 和 lunr.stemmer.support.min.js 文件是必须的。
如果还需要支持其他语言就按照上面步骤,在配置文件中增加语言代码、下载对应语言js文件、在模板中引入对应语言js文件。
如果只要支持一个语言,例如只要支持中文,将this.use(lunr.multiLanguage('en', 'zh')); 改为this.use(lunr.zh)即可。
如果需要支持的是其他语言,将zh改为对应的语言代码即可。
对应的语言代码可通过 ISO 639-1 语言代码查询,或者通过js文件下载链接查找。
转载请注明转自:一极乐( https://yijile.com/zh/make-just-the-docs-search-lunr-js-multilingual-chinese/ )
本文采用 CC BY-NC-SA 4.0方式授权。
转载请注明出处和本文链接,说明是否进行修改,不得用于商业用途,使用相同方式共享。