配置 Vitepress 的 Algolia 搜索
前置条件
- 注册
algolia的账号 intel或者amd的x86-64处理器 (Apple的M1试过了不行)- jq 是一个 轻量级 和 灵活 的命令行
JSON工具shbrew install jq # 如果你有安装 homebrew # or 使用 yum 来安装 jq # 1. yum install epel-release -y # 2. yum update -y # 3. yum install jq -y # 4. jq -V 检查是否安装成功 - docker
配置
.env/root/algolia/.envsh# Algolia 应用程序的 ID APPLICATION_ID= # 有读有写的能力的 Admin Api Key API_KEY=config.json/root/algolia/config.jsonjson{ "index_name": "你的 algolia 的 index 名,随便起", "start_urls": ["https://需要爬虫的 blog 网页地址.com"], "selectors": { "lvl0": "", "lvl1": ".content h1", "lvl2": ".content h2", "lvl3": ".content h3", "lvl4": ".content h4", "lvl5": ".content h5", "content": ".content p, .content li" } }
运行
使用 docker 进行爬虫
- 解释
--env-file=/root/algolia/.env读取ID和Key-e "CONFIG=$(xxx)"把解析的json配置放到CONFIG这个环境变量里$(cat /root/algolia/config.json | jq -r tostring)用jq解析 (把json变成一行)
sh
docker run -it --env-file=/root/algolia/.env -e "CONFIG=$(cat /root/algolia/config.json | jq -r tostring)" algolia/docsearch-scrapervitepress
.vitepress/config.js
js
import { defineConfig } from 'vitepress'
export default defineConfig({
themeConfig: {
// ...
algolia: {
appId: 'Algolia 应用程序的 ID,随便起',
apiKey: '只有读能力的 Api Key',
indexName: '你的 algolia 的 index 名',
},
},
})