注册 Algolia
- 进入 Algolia 官网,并注册账号。
- 进入 Dashboard -
Search
-Index
页面,选择上方+ Create Index
创建索引,并记住索引名。 - 进入 Dashboard -
Settings
-API Keys
页面,记住如下数据:Application ID
Search API Key
Admin API Key
Hugo 中配置 Algolia
- 在外层
hugo.toml
中添加如下配置,这样在执行hugo
生成网站时同时在public
文件夹下生成algolia.json
文件,用于 Algolia 搜索。
[outputs]
home = ["Algolia", "HTML", "RSS"]
[outputFormats.Algolia]
baseName = "algolia"
isPlainText = true
mediaType = "application/json"
notAlternative = true
- 在
params.yml
中将algolia_search.enable
改为true
,并填写相关信息(注意!这里填写的是Search-Only Key,不允许填写Admin Key!!否则可能被攻击)
algolia_search:
enable: true
appID: # 上文中的 Application ID
apiKey: # 上文中的 Search API Key
indexName: # 创建的索引名
上传索引
直接上传
执行
hugo
生成网站,此时会在public
文件夹下生成algolia.json
文件。进入 Dashboard -
Search
-Index
页面,找到刚刚创建的索引,点击Add records
-Uploading file
,选择algolia.json
文件上传。
使用 atomic-algolia
包上传
使用 atomic-algolia 包来上传索引,以下步骤来自于该包的文档
- 安装
atomic-algolia
包和cross-env
包:
npm install atomic-algolia cross-env
- 执行
hugo
生成网站后执行如下命令:
npx cross-env ALGOLIA_APP_ID={{ 上文中的 Application ID }} ALGOLIA_ADMIN_KEY={{ 上文中的 Admin API Key }} ALGOLIA_INDEX_NAME={{ 创建的索引名 }} ALGOLIA_INDEX_FILE=algolia.json atomic-algolia