Par défaut, les sites utilisant Starlight incluent une recherche plein texte utilisant Pagefind, un outil de recherche rapide et à faible bande passante pour sites statiques.
Aucune configuration n’est requise pour activer la recherche. Créez et déployez votre site, puis utilisez la barre de recherche dans l’en-tête du site pour trouver du contenu.
Cacher du contenu dans les résultats de recherche
Exclure une page
Pour exclure une page de votre index de recherche, ajoutez pagefind: false au frontmatter de la page :
Exclure une partie d’une page
Pagefind ignorera le contenu à l’intérieur d’un élément avec l’attribut data-pagefind-ignore.
Dans l’exemple suivant, le premier paragraphe s’affichera dans les résultats de recherche, mais le contenu de la <div> ne s’affichera pas :
Système de recherche alternatif
Algolia DocSearch
Si vous avez accès au programme DocSearch d’Algolia et que vous souhaitez l’utiliser à la place de Pagefind, vous pouvez utiliser le module d’extension officiel DocSearch de Starlight.
Ajouter DocSearch à votre configuration plugins de Starlight dans le fichier astro.config.mjs et spécifiez votre appId, apiKey et indexName d’Algolia :
Avec cette configuration mise à jour, la barre de recherche de votre site ouvrira désormais une modale Algolia au lieu de celle par défaut.
Traduire l’interface utilisateur de DocSearch
DocSearch fournit seulement des chaînes de l’interface utilisateur en anglais par défaut.
Ajoutez des traductions de l’interface utilisateur de la modale pour votre langue en utilisant le système d’internationalisation intégré à Starlight.
Étendez la définition de la collection de contenus i18n de Starlight avec le schéma DocSearch dans src/content/config.ts :
Ajoutez des traductions à vos fichiers JSON dans src/content/i18n/.
Voici les valeurs par défaut en anglais utilisées par DocSearch :