vitepress配置algolia
申请algolia资源
注意事项
- 您必须是该网站的所有者,或至少有更新其内容的权限
- 网站必须是一个开源项目或技术博客的技术文档
- 第一次注册可能需要一定时间通过,注意邮箱查收相关邮件同意注册
注册algolia账号
点击控制台 Apis keys
申请Apis keys
复制我们需要的内容到vitepress配置文件夹里边
Application ID
填入options.appId
Search-Only API Key
填入options.apiKey
配置使用algolia
algolia可能需要很久才会自动索引,可以尝试手动索引网站
config.mts/defineConfig配置
ts
{
search:
process.env.BUILD_ENV === "github"
? {
provider: "local",
}
: {
provider: "algolia",
options: {
appId: "2T********3X", // 应用程序 ID
apiKey: "************408f9c****", // 公钥
indexName: "blog",
placeholder: "请输入关键词",
},
},
}
推送索引自动化脚本
- 项目根目录下新建algolia的配置文件
crawlerConfig.json
crawlerConfig.json
配置文件
json
{
"index_name": "一条懒羊羊",
"start_urls": ["http://www.jwblog.cn"],
"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
- .github/workflows/目录下新建
algolia.yml
文件
algolia.yml
yml
name: algolia # 工作流名称
on:
push:
branches:
- master # 触发条件:当推送到 master 分支时触发此工作流
jobs:
algolia:
runs-on: ubuntu-latest # 在最新版本的 Ubuntu 环境中运行此作业
steps:
- uses: actions/checkout@v3 # 步骤1:使用 GitHub 官方的动作检出代码库
- name: Get the content of algolia.json as config # 步骤2:读取 crawlerConfig.json 文件内容作为配置
id: algolia_config
run: echo "config=$(cat crawlerConfig.json | jq -r tostring)" >> $GITHUB_OUTPUT
# 读取 crawlerConfig.json 文件的内容并转换为字符串格式,然后将其保存到 GitHub Actions 的输出变量中
- name: Push indices to Algolia # 步骤3:将索引推送到 Algolia
uses: signcl/docsearch-scraper-action@master
env:
APPLICATION_ID: ${{ secrets.APPLICATION_ID }} # 从 GitHub Secrets 中读取 Algolia 应用程序 ID
API_KEY: ${{ secrets.API_KEY }} # 从 GitHub Secrets 中读取 Algolia API 密钥
CONFIG: ${{ steps.algolia_config.outputs.config }} # 使用上一步骤中读取的配置
# 使用 signcl/docsearch-scraper-action 动作,将配置推送到 Algolia