diff --git a/docs/config/algolia-search.md b/docs/config/algolia-search.md index 0076bcaa..55ae39e2 100644 --- a/docs/config/algolia-search.md +++ b/docs/config/algolia-search.md @@ -13,4 +13,75 @@ module.exports = { } ``` -For more options, check out [Algolia DocSearch's documentation](https://github.com/algolia/docsearch#docsearch-options). +For more options, check out [Algolia DocSearch's documentation](https://docsearch.algolia.com/docs/behavior). You can pass any extra option alongside other options, e.g. passing `searchParameters`: + +```js +module.exports = { + themeConfig: { + algolia: { + apiKey: 'your_api_key', + indexName: 'index_name', + searchParameters: { + facetFilters: ['tags:guide,api'] + } + } + } +} +``` + +## Internationalization (i18n) + +If you have multiple locales in your documentation and you have defined a `locales` object in your `themeConfig`: + +```js +module.exports = { + themeConfig: { + locales: { + // ... + }, + algolia: { + apiKey: 'your_api_key', + indexName: 'index_name' + } + } +} +``` + +VitePress will automatically add a `language` _facetFilter_ to the `searchParams.facetFilter` array. **Make sure to properly configure your DocSearch config as well** by adding `language` as a _custom attribute for faceting_ and by setting it based on the `lang` attribute of the `` element. Here is a short example of DocSearch config: + +```json +{ + "index_name": "", + "start_urls": [ + { + "url": "" + } + ], + "stop_urls": ["(?:(? .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"] + } +} +``` + +You can take a look at the [DocSearch config used by Vue Router](https://github.com/algolia/docsearch-configs/blob/master/configs/next_router_vuejs.json) for a complete example.