Docusaurus 2 中的自定义搜索栏

Custom Search Bar in Docusaurus 2

我只是在试验 Docusaurus V2,我想使用 LUNR(https://lunrjs.com/) 搜索启用离线搜索,如本博客中所述。

https://v2.docusaurus.io/feedback/p/offline-search

我也搜索了文档。

https://v2.docusaurus.io/docs/search/#__docusaurus

我用 "yarn swizzle @docusaurus/theme-classic SearchBar" 命令安装了,但是当 运行 "npm start".

时没有出现搜索栏

此外,在 src/theme/SearchBar.js 中创建了包含此内容的文档:

/**
 * Copyright (c) 2017-present, Facebook, Inc.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

export {default} from '@docusaurus/Noop';

文档真的很薄,可能有什么问题。有工作示例吗?

正如该视频博客中所述,存在这种可能性。 https://canny.io/images/873b18eabf90e91512ac4d0ceb48973b.gif

您需要编辑该文件并实现您自己的搜索栏组件。如果你想从 algolia 搜索栏

修改它,你可以做 yarn swizzle @docusaurus/theme-search-algolia SearchBar

可以创建您自己的自定义离线搜索组件,因此 Docusaurus 没有任何内置的离线搜索选项。

运行命令 yarn swizzle @docusaurus/theme-classic SearchBar 将创建一个自举搜索组件,您必须在其中编写自己的搜索逻辑。

离线搜索选项是 Docusaurus 中请求最多的功能之一,社区人员正在为此努力。它有一个 GitHub 问题 - https://github.com/facebook/docusaurus/issues/776在这里您可以查看功能的进度。

有第三方插件可以离线搜索 Docusaurus - https://github.com/lelouch77/docusaurus-lunr-search