搜索功能
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 号