vitepress 添加 Algolia 搜索
1. 申请流程
vitepress 搜索使用 algolia,使用前需要申请 appId,appKey,indexName。algolia 申请地址,申请后需要回复邮件确认。 下面确认后邮件红色的框需要进入注册账号,到主页如下:
- 先 getStarted 选择应用类型
- 后点击 API Keys
- 保存这些 key
- 创建 indexName vitepress 中的三个参数获取完毕。
2. 如何实时更新搜索
algolia 默认一个星期更新,需要使用 github-Actions 添加实时更新。
- 根目录下新建爬虫 crawlerConfig.json 文件
json
{
"index_name": "yinuosnowball",
"start_urls": ["https://blog.yinuosnowball.top/"],
"rateLimit": 8,
"maxDepth": 10,
"selectors": {
"lvl0": {
"selector": "",
"defaultValue": "Documentation"
},
"lvl1": ".content h1",
"lvl2": ".content h2",
"lvl3": ".content h3",
"lvl4": ".content h4",
"lvl5": ".content h5",
"content": ".content p, .content li",
"lang": {
"selector": "/html/@lang",
"type": "xpath",
"global": true
}
},
"selectors_exclude": ["aside", ".page-footer", ".next-and-prev-link", ".table-of-contents"],
"custom_settings": {
"attributesForFaceting": ["lang", "tags"]
},
"js_render": true
}
- 新建 algolia.yml 文件
yml
name: algolia
on:
push:
branches:
- main
jobs:
algolia:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Get the content of algolia.json as config
id: algolia_config
run: echo "config=$(cat crawlerConfig.json | jq -r tostring)" >> $GITHUB_OUTPUT
- name: Push indices to Algolia
uses: signcl/docsearch-scraper-action@master
env:
APPLICATION_ID: ${{ secrets.ALGOLIA_APP_ID }}
API_KEY: ${{ secrets.ALGOLIA_API_KEY }}
CONFIG: ${{ steps.algolia_config.outputs.config }}
- github 中添加变量
3. 更新文档
999 搜索不到
添加 999:
更新后输入:
问题:如果是 algolia 先执行完,则不会搜索到,可以添加延时执行。