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