Docusaurus 官方给出了一个添加搜索的方式 Algolia DocSearch,但是这个搜索插件需要得到Algolia官方的认证,如果你的网站还处于建设阶段,那么就不会被允许使用。
在网上搜索后发现了search-local的插件,这个插件为本地离线搜索。
- 这里是关于离线搜索的讨论
docusaurus-lunr-search 使用方法
安装方法
yarn add @cmfcmf/docusaurus-search-local
注意,在官方文档中是不支持中文搜索的。在查看源码后发现,这个插件使用的是lunr-language来进行分词的,
在最新版本中已经包含了中文分词,并且依赖nodejieba。
所以要再安装nodejieba
yarn nodejieba
nodejieba
的安装依赖python,并且python的安装目录不能有中文
如果python已经安装到了中文目录,那么npm install nodejieba
是可以安装的,然后yarn install
。
千万别直接yarn
。这将会导致代码框中的copy无法使用。
使用方法
module.exports = {
plugins: [
[
require.resolve('@cmfcmf/docusaurus-search-local'),
{
indexDocs: true,
indexBlog: true,
docsRouteBasePath: '/doc',
blogRouteBasePath: '/blog',
language: ['en', 'zh'],
}
],
],
}
最后编译 npm run build
即可。
最后
这个插件只能在静态页面中生效,也就是部署了之后才能看到
yarn build
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 365433079@qq.com