主题配置: Algolia Search

themeConfig.algolia 选项允许您使用 Algolia DocSearch. 要启用它, 您至少需要提供 apiKey 和 indexName:

module.exports = {
  themeConfig: {
    algolia: {
      apiKey: "your_api_key",
      indexName: "index_name",
    },
  },
};

有关更多选项, 请查看 Algolia DocSearch‘s documentation. 您可以将任何额外的选项与其他选项一起传递, 例如传递searchParameters:

module.exports = {
  themeConfig: {
    algolia: {
      apiKey: "your_api_key",
      indexName: "index_name",
      searchParameters: {
        facetFilters: ["tags:guide,api"],
      },
    },
  },
};

国际化 (i18n)

如果您的文档中有多个语言环境, 并且您在 themeconfig 中定义了一个 locales 对象:

module.exports = {
  themeConfig: {
    locales: {
      // ...
    },
    algolia: {
      apiKey: "your_api_key",
      indexName: "index_name",
    },
  },
};

VitePress 会自动在 searchParams.facetFilter 数组中添加一个语言值正确的 language facetFilter. 请确保您的 DocSearch 配置也配置正确通过添加language作为 faceting_ 的 _custom 属性, 并根据 <html> 元素的 lang 属性进行设置. 以下是 DocSearch 配置的一个简短示例:

{
  "index_name": "<the name of your library>",
  "start_urls": [
    {
      "url": "<your deployed url>"
    }
  ],
  "stop_urls": ["(?:(?<!\\.html)(?<!/))$"],
  "selectors": {
    "lvl0": {
      "selector": ".sidebar > .sidebar-links > .sidebar-link .sidebar-link-item.active",
      "global": true,
      "default_value": "Documentation"
    },
    "lvl1": ".content h1",
    "lvl2": ".content h2",
    "lvl3": ".content h3",
    "lvl4": ".content h4",
    "lvl5": ".content h5",
    "lvl6": ".content p, .content li",
    "text": ".content [class^=language-]",
    "language": {
      "selector": "/html/@lang",
      "type": "xpath",
      "global": true,
      "default_value": "en-US"
    }
  },
  "custom_settings": {
    "attributesForFaceting": ["language"]
  }
}

您可以查看 Vue Router 使用的 DocSearch 配置以获得完整的示例.