Jakeuj's Notes master Help

Search

Writeside 本身沒有搜尋功能,但可以利用 Algolia search 來做搜尋。

首先參照官方說明文件來註冊 Algolia 帳號,並取得 API key。 Algolia search

  1. 註冊 Algolia 帳號,並取得 API key。

  2. 登入後應該會有預設的應用程式,如果沒有就新增一個,地區目前不支援亞洲。 App

  3. 在 Algolia 應用程式頁面,點選 Data sources | Indices,然後點選 Create Index。

    datasources.png

  4. 提供一個有意義的名稱並建立索引。

  5. 在索引頁面,點選 Configuration | Facets,然後點選 Attributes for faceting 下的 Add an attribute。

    Facets.png

  6. 新增兩個屬性:product 和 version。

  7. 點選 Review and Save Settings 並確認。

  8. 在左下角點 Settings 到設定頁面,點選 API Keys。

    ApiKeys.png

  9. 然後找到 Application ID, Search API Key, Admin API Key,這些資訊會用在 Writeside 的設定。

    ApiKey.png

Add search to config

繼續參照 官方文件 來設定 buildprofiles.xml

<variables> <algolia-id>YourAppId</algolia-id> <algolia-index>YourIndexName</algolia-index> <algolia-api-key>YourSearchApiKey</algolia-api-key> </variables>

Github Action

  1. 到 Github repo 的 Settings | Secrets,新增以下變數:

    • ALGOLIA_KEY: YourAdminApiKey

  2. 參考官方文件 Upload search indexes 建立 .github/workflows/deploy.yml 並確保以下設定有被正確設置

ALGOLIA_ARTIFACT: 'algolia-indexes-HI.zip' ALGOLIA_APP_NAME: 'YourAppId' ALGOLIA_INDEX_NAME: 'YourIndexName' ALGOLIA_KEY: '${{ secrets.ALGOLIA_KEY }}' CONFIG_JSON_PRODUCT: 'writerside' CONFIG_JSON_VERSION: 'master'

注意事項

  • CONFIG_JSON_PRODUCT 需要與 v.listvars.product 設定一致。

  • CONFIG_JSON_VERSION 需要與 writerside.cfginstance.version 設定一致。

否則會導致 Algolia search Filter productversion 條件不符而搜尋不到。

結果

完成後,就可以在 Writeside 網站右上角點放大鏡來使用搜尋功能了。

search-results.png
Last modified: 11 July 2024