From 08bdc84ab1c76ede8de713fb03811d8f557a06c4 Mon Sep 17 00:00:00 2001 From: trueberryless Date: Mon, 14 Oct 2024 21:27:42 +0200 Subject: [PATCH 1/4] i18n(de): update translation guides/site-search --- .../content/docs/de/guides/site-search.mdx | 175 ++++++++++++++++++ 1 file changed, 175 insertions(+) create mode 100644 docs/src/content/docs/de/guides/site-search.mdx diff --git a/docs/src/content/docs/de/guides/site-search.mdx b/docs/src/content/docs/de/guides/site-search.mdx new file mode 100644 index 00000000000..c8fcb60ecc8 --- /dev/null +++ b/docs/src/content/docs/de/guides/site-search.mdx @@ -0,0 +1,175 @@ +--- +title: Suche +description: Finde heraus, welche Suchfunktionen in Starlight integriert sind und wie du sie anpassen kannst. +--- + +import { Tabs, TabItem, Steps } from '@astrojs/starlight/components'; + +Standardmäßig enthalten Websites, die Starlight verwenden, eine Volltextsuche mit [Pagefind](https://pagefind.app/), einem schnellen, bandbreitenarmen Suchwerkzeug für statische Websites. + +Es ist keine Konfiguration erforderlich, um die Suche zu aktivieren. Erstelle und implementiere deine Website und benutze dann die Suchleiste im Kopfbereich der Website, um nach Inhalten zu suchen. + +## Inhalte in den Suchergebnissen ausblenden + +### Eine Seite ausschließen + +Um eine Seite aus deinem Suchindex auszuschließen, füge [`pagefind: false`](/de/reference/frontmatter/#pagefind) zum Frontmatter der Seite hinzu: + +```md title="src/content/docs/not-indexed.md" ins={3} +--- +title: Inhalt, der vor der Suche verborgen werden soll. +pagefind: false +--- +``` + +### Einen Teil einer Seite ausschließen + +Pagefind ignoriert den Inhalt innerhalb eines Elements mit dem Attribut [`data-pagefind-ignore`](https://pagefind.app/docs/indexing/#removing-individual-elements-from-the-index). + +Im folgenden Beispiel wird der erste Absatz in den Suchergebnissen angezeigt, aber der Inhalt von `
` wird nicht angezeigt: + +```md title="src/content/docs/partially-indexed.md" ins="data-pagefind-ignore" +--- +title: Seite teilweise indiziert +--- + +Dieser Text kann über die Suche gefunden werden. + +
+ +Dieser Text wird von der Suche ausgeblendet. + +
+``` + +## Alternatives Suchsystem + +### Algolia DocSearch + +Wenn du Zugang zum [Algolia DocSearch-Programm](https://docsearch.algolia.com/) hast und es anstelle von Pagefind verwenden möchtest, kannst du das offizielle DocSearch-Plugin von Starlight verwenden. + + + +1. Installiere `@astrojs/starlight-docsearch`: + + + + + + ```sh + npm install @astrojs/starlight-docsearch + ``` + + + + + + ```sh + pnpm add @astrojs/starlight-docsearch + ``` + + + + + + ```sh + yarn add @astrojs/starlight-docsearch + ``` + + + + + +2. Füge DocSearch zu deiner Starlight-Konfiguration [`plugins`](/de/reference/configuration/#plugins) in der Datei `astro.config.mjs` hinzu und gib deine `appId`, `apiKey` und `indexName` von Algolia an: + + ```js ins={4,10-16} + // astro.config.mjs + import { defineConfig } from 'astro/config'; + import starlight from '@astrojs/starlight'; + import starlightDocSearch from '@astrojs/starlight-docsearch'; + + export default defineConfig({ + integrations: [ + starlight({ + title: 'Website mit DocSearch', + plugins: [ + starlightDocSearch({ + appId: 'YOUR_APP_ID', + apiKey: 'YOUR_SEARCH_API_KEY', + indexName: 'YOUR_INDEX_NAME', + }), + ], + }), + ], + }); + ``` + + + +Mit dieser aktualisierten Konfiguration öffnet die Suchleiste deiner Website nun ein Algolia-Modal anstelle des Standardmodals. + +#### Die Benutzeroberfläche von DocSearch übersetzen + +DocSearch stellt standardmäßig nur englische Benutzeroberflächen-Strings zur Verfügung. +Füge mithilfe des in Starlight integrierten [Internationalisierungssystems](/de/guides/i18n/#Übersetzen-der-Benutzeroberfläche-von-starlight) Übersetzungen der Benutzeroberfläche der Modale für deine Sprache hinzu. + + + +1. Erweitere die Definition der Starlight-Inhaltssammlung `i18n` um das DocSearch-Schema in `src/content/config.ts`: + + ```js ins={4} ins=/{ extend: .+ }/ + // src/content/config.ts + import { defineCollection } from 'astro:content'; + import { docsSchema, i18nSchema } from '@astrojs/starlight/schema'; + import { docSearchI18nSchema } from '@astrojs/starlight-docsearch/schema'; + + export const collections = { + docs: defineCollection({ schema: docsSchema() }), + i18n: defineCollection({ + type: 'data', + schema: i18nSchema({ extend: docSearchI18nSchema() }), + }), + }; + ``` + +2. Füge Übersetzungen zu deinen JSON-Dateien in `src/content/i18n/` hinzu. + Hier sind die englischen Standardwerte, die von DocSearch verwendet werden: + + ```json title="src/content/i18n/en.json" + { + "docsearch.searchBox.resetButtonTitle": "Clear the query", + "docsearch.searchBox.resetButtonAriaLabel": "Clear the query", + "docsearch.searchBox.cancelButtonText": "Cancel", + "docsearch.searchBox.cancelButtonAriaLabel": "Cancel", + "docsearch.searchBox.searchInputLabel": "Search", + + "docsearch.startScreen.recentSearchesTitle": "Recent", + "docsearch.startScreen.noRecentSearchesText": "No recent searches", + "docsearch.startScreen.saveRecentSearchButtonTitle": "Save this search", + "docsearch.startScreen.removeRecentSearchButtonTitle": "Remove this search from history", + "docsearch.startScreen.favoriteSearchesTitle": "Favorite", + "docsearch.startScreen.removeFavoriteSearchButtonTitle": "Remove this search from favorites", + + "docsearch.errorScreen.titleText": "Unable to fetch results", + "docsearch.errorScreen.helpText": "You might want to check your network connection.", + + "docsearch.footer.selectText": "to select", + "docsearch.footer.selectKeyAriaLabel": "Enter key", + "docsearch.footer.navigateText": "to navigate", + "docsearch.footer.navigateUpKeyAriaLabel": "Arrow up", + "docsearch.footer.navigateDownKeyAriaLabel": "Arrow down", + "docsearch.footer.closeText": "to close", + "docsearch.footer.closeKeyAriaLabel": "Escape key", + "docsearch.footer.searchByText": "Search by", + + "docsearch.noResultsScreen.noResultsText": "No results for", + "docsearch.noResultsScreen.suggestedQueryText": "Try searching for", + "docsearch.noResultsScreen.reportMissingResultsText": "Believe this query should return results?", + "docsearch.noResultsScreen.reportMissingResultsLinkText": "Let us know." + } + ``` + + + + + From fbfec3a3ee944b999c3e7b87b68be58781bc4a0e Mon Sep 17 00:00:00 2001 From: trueberryless Date: Mon, 14 Oct 2024 21:29:42 +0200 Subject: [PATCH 2/4] fix link --- docs/src/content/docs/de/guides/site-search.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/src/content/docs/de/guides/site-search.mdx b/docs/src/content/docs/de/guides/site-search.mdx index c8fcb60ecc8..2d583b0fdba 100644 --- a/docs/src/content/docs/de/guides/site-search.mdx +++ b/docs/src/content/docs/de/guides/site-search.mdx @@ -111,7 +111,7 @@ Mit dieser aktualisierten Konfiguration öffnet die Suchleiste deiner Website nu #### Die Benutzeroberfläche von DocSearch übersetzen DocSearch stellt standardmäßig nur englische Benutzeroberflächen-Strings zur Verfügung. -Füge mithilfe des in Starlight integrierten [Internationalisierungssystems](/de/guides/i18n/#Übersetzen-der-Benutzeroberfläche-von-starlight) Übersetzungen der Benutzeroberfläche der Modale für deine Sprache hinzu. +Füge mithilfe des in Starlight integrierten [Internationalisierungssystems](/de/guides/i18n/#starlights-ui-%C3%BCbersetzen) Übersetzungen der Benutzeroberfläche der Modale für deine Sprache hinzu. From abc6d3ed385629d844ae45d2211f373f19707266 Mon Sep 17 00:00:00 2001 From: trueberryless <99918022+trueberryless@users.noreply.github.com> Date: Mon, 21 Oct 2024 15:44:28 +0200 Subject: [PATCH 3/4] Update docs/src/content/docs/de/guides/site-search.mdx Co-authored-by: HiDeoo <494699+HiDeoo@users.noreply.github.com> --- docs/src/content/docs/de/guides/site-search.mdx | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/src/content/docs/de/guides/site-search.mdx b/docs/src/content/docs/de/guides/site-search.mdx index 2d583b0fdba..11af39319a0 100644 --- a/docs/src/content/docs/de/guides/site-search.mdx +++ b/docs/src/content/docs/de/guides/site-search.mdx @@ -133,6 +133,7 @@ Füge mithilfe des in Starlight integrierten [Internationalisierungssystems](/de ``` 2. Füge Übersetzungen zu deinen JSON-Dateien in `src/content/i18n/` hinzu. + Hier sind die englischen Standardwerte, die von DocSearch verwendet werden: ```json title="src/content/i18n/en.json" From fd75c787e93b675875a6303f3676e43fd837edf6 Mon Sep 17 00:00:00 2001 From: HiDeoo <494699+HiDeoo@users.noreply.github.com> Date: Tue, 22 Oct 2024 12:26:03 +0200 Subject: [PATCH 4/4] fix: link anchor --- docs/src/content/docs/de/guides/site-search.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/src/content/docs/de/guides/site-search.mdx b/docs/src/content/docs/de/guides/site-search.mdx index 11af39319a0..6d18b866ee6 100644 --- a/docs/src/content/docs/de/guides/site-search.mdx +++ b/docs/src/content/docs/de/guides/site-search.mdx @@ -111,7 +111,7 @@ Mit dieser aktualisierten Konfiguration öffnet die Suchleiste deiner Website nu #### Die Benutzeroberfläche von DocSearch übersetzen DocSearch stellt standardmäßig nur englische Benutzeroberflächen-Strings zur Verfügung. -Füge mithilfe des in Starlight integrierten [Internationalisierungssystems](/de/guides/i18n/#starlights-ui-%C3%BCbersetzen) Übersetzungen der Benutzeroberfläche der Modale für deine Sprache hinzu. +Füge mithilfe des in Starlight integrierten [Internationalisierungssystems](/de/guides/i18n/#starlights-ui-übersetzen) Übersetzungen der Benutzeroberfläche der Modale für deine Sprache hinzu.