搜索功能
This content is not available in your language yet.
ShokaX 支持两种搜索引擎,分别是 Pagefind(本地)和Algolia(远程)。我们建议使用 Pagefind 引擎,因为其配置更少,更简单易用,也对隐私更友好
Pagefind 引擎仅在 ShokaX 0.5.3 以上可用
Pagefind 搜索
Section titled “Pagefind 搜索”由于 Hexo 对于 ESM 的支持存在严重缺陷,而 Pagefind 仅支持 ESM 格式,ShokaX 无法在主题中内置其自动索引流程,你必须在每次构建后使用 CLI 进行索引,所以使用流程如下:
你需要先在config.shokax.yml
中加入如下内容:
pagefind: enable: true
然后,在每次hexo g
完成后使用pnpm dlx pagefind --site public
进行手动索引,如果你使用hexo d -g
,则必须把生成和部署分开,在生成后部署前索引
现在主题的 Pagefind 功能已经可用了
我们建议将你 hexo 根目录下的package.json
中scripts
的build
的值修改为:
hexo generate && pnpm dlx pagefind --site public
然后用pnpm build
代替hexo g
这样索引就会在构建后自动运行,不需要手动执行,如果你需要部署,可将部署指令也拼接在上述指令之后:
hexo generate && pnpm dlx pagefind --site public && hexo deploy
现在pnpm build
等于hexo d -g
加上搜索索引
Algolia 搜索
Section titled “Algolia 搜索”在 hexo 根目录 _config.yml
中加入如下内容:
algolia: appId: #Your appId apiKey: #Your apiKey adminApiKey: #Your adminApiKey chunkSize: 5000 indexName: #"shokaX" fields: - title #必须配置 - path #必须配置 - categories #推荐配置 - content:strip:truncate,0,2000 - gallery - photos - tags
流程如下:
- 登录 Algolia 官网,建议使用 Github/Google 账号注册/登录。
- 进入
Dashboard
-Search
-Index
页面,选择上方+ Create Index
创建索引,索引名称建议为shokaX
。 - 进入
Dashboard
-Settings
-API Keys
页面,复制如下数据到上方配置中。
页面数据 | 对应配置 |
---|---|
Application ID | appId |
Search-Only API Key | apiKey |
Admin API Key | adminApiKey |
创建的索引名 | indexName |
- 在博客部署前运行
hexo algolia
上传索引,可在Dashboard
-Search
-Index
页面中查看。
津公网安备 12011402001353 号