Skip to content
On this page

vitepress 添加 Algolia 搜索

1. 申请流程

vitepress 搜索使用 algolia,使用前需要申请 appId,appKey,indexName。algolia 申请地址,申请后需要回复邮件确认。 image.png 下面确认后邮件红色的框需要进入注册账号,到主页如下:

  1. 先 getStarted 选择应用类型 image.png
  2. 后点击 API Keys image.png
  3. 保存这些 key image.png
  4. 创建 indexName vitepress 中的三个参数获取完毕。 image.png

2. 如何实时更新搜索

algolia 默认一个星期更新,需要使用 github-Actions 添加实时更新。

  1. 根目录下新建爬虫 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
}
  1. 新建 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 }}
  1. github 中添加变量 image.png

3. 更新文档

999 搜索不到

image.png

添加 999:

image.png

更新后输入: image.png

问题:如果是 algolia 先执行完,则不会搜索到,可以添加延时执行。

image.png

代码仓库

Released under the MIT License.