主题配置:Algolia Search {#theme-config-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) {#internationalization-i18n}
如果你的文档中有多个语言环境,并且你在 themeconfig 中定义了一个 locales 对象:
module.exports = {themeConfig: {locales: {// ...},algolia: {apiKey: 'your_api_key',indexName: 'index_name'}}}
VitePress 会自动在 searchParams.facetFilter 数组中添加一个语言值正确的 language facetFilter。通过添加 language 作为 faceting_ 的 _custom 属性 请确保你的 DocSearch 配置也配置正确 ,并根据 <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 配置 以获得完整的示例。
