Skip to content

Commit

Permalink
Merge branch 'main' into feat/print-stylesheet
Browse files Browse the repository at this point in the history
  • Loading branch information
delucis authored Jan 8, 2025
2 parents 20cf394 + 656ed7d commit 6870540
Show file tree
Hide file tree
Showing 60 changed files with 443 additions and 232 deletions.
5 changes: 5 additions & 0 deletions .changeset/smart-moons-repair.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@astrojs/starlight': patch
---

Prevents the header title from being translated by automatic translation systems.
1 change: 1 addition & 0 deletions docs/astro.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ export default defineConfig({
dark: '/src/assets/logo-dark.svg',
replacesTitle: true,
},
lastUpdated: true,
editLink: {
baseUrl: 'https://github.com/withastro/starlight/edit/main/docs/',
},
Expand Down
4 changes: 2 additions & 2 deletions docs/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
"build": "astro build",
"preview": "astro preview",
"typecheck": "tsc --noEmit",
"linkcheck": "CHECK_LINKS=true pnpm build --force",
"linkcheck": "CHECK_LINKS=true pnpm build",
"astro": "astro",
"lunaria:build": "lunaria build",
"grammars": "node grammars/generate.mjs"
Expand All @@ -28,6 +28,6 @@
"@playwright/test": "^1.45.0",
"axe-playwright": "^2.0.3",
"sitemapper": "^3.2.12",
"starlight-links-validator": "^0.13.2"
"starlight-links-validator": "^0.14.0"
}
}
2 changes: 1 addition & 1 deletion docs/src/content/docs/components/using-components.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ The following example uses `ComponentProps` to get the type of the props accepte
---
// src/components/Example.astro
import type { ComponentProps } from 'astro/types';
import { Icon } from '@astrojs/starlight/icon';
import { Icon } from '@astrojs/starlight/components';
type IconProps = ComponentProps<typeof Icon>;
---
Expand Down
2 changes: 1 addition & 1 deletion docs/src/content/docs/de/components/using-components.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ Das folgende Beispiel benutzt `ComponentProps`, um den Typ der Eigenschaften zu
---
// src/components/Example.astro
import type { ComponentProps } from 'astro/types';
import { Icon } from '@astrojs/starlight/icon';
import { Icon } from '@astrojs/starlight/components';
type IconProps = ComponentProps<typeof Icon>;
---
Expand Down
4 changes: 2 additions & 2 deletions docs/src/content/docs/fr/components/using-components.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Les composants vous permettent de réutiliser facilement un élément d'interfac
Il peut s'agir par exemple d'une carte de liaison ou d'une intégration YouTube.
Starlight prend en charge l'utilisation de composants dans les fichiers [MDX](https://mdxjs.com/) et [Markdoc](https://markdoc.dev/) et fournit des composants courants que vous pouvez utiliser.

[Pour en savoir plus sur la création de composants, consultez la documentation d'Astro](https://docs.astro.build/fr/core-concepts/astro-components/).
[Pour en savoir plus sur la création de composants, consultez la documentation d'Astro](https://docs.astro.build/fr/basics/astro-components/).

## Utilisation d'un composant avec MDX

Expand Down Expand Up @@ -89,7 +89,7 @@ L'exemple suivant utilise `ComponentProps` pour obtenir le type des props accept
---
// src/components/Exemple.astro
import type { ComponentProps } from 'astro/types';
import { Icon } from '@astrojs/starlight/icon';
import { Icon } from '@astrojs/starlight/components';
type IconProps = ComponentProps<typeof Icon>;
---
Expand Down
4 changes: 2 additions & 2 deletions docs/src/content/docs/fr/environmental-impact.md
Original file line number Diff line number Diff line change
Expand Up @@ -137,6 +137,6 @@ Ces tests avec le [Website Carbon Calculator][wcc] comparent des pages similaire
[sf]: https://www.sciencefocus.com/science/what-is-the-carbon-footprint-of-the-internet/
[bbc]: https://www.bbc.com/future/article/20200305-why-your-internet-habits-are-not-as-clean-as-you-think
[http]: https://httparchive.org/reports/state-of-the-web
[assets]: https://docs.astro.build/en/guides/assets/
[islands]: https://docs.astro.build/en/concepts/islands/
[assets]: https://docs.astro.build/fr/guides/images/
[islands]: https://docs.astro.build/fr/concepts/islands/
[wcc]: https://www.websitecarbon.com/
2 changes: 1 addition & 1 deletion docs/src/content/docs/fr/guides/authoring-content.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ Vous pouvez mettre en évidence le `code en ligne` à l'aide de barres de défil

## Images

Les images dans Starlight utilisent [la prise en charge intégrée des ressources optimisées d'Astro](https://docs.astro.build/en/guides/assets/).
Les images dans Starlight utilisent [la prise en charge intégrée des ressources optimisées d'Astro](https://docs.astro.build/fr/guides/images/).

Markdown et MDX supportent la syntaxe Markdown pour l'affichage des images qui inclut le texte alt pour les lecteurs d'écran et les technologies d'assistance.

Expand Down
20 changes: 11 additions & 9 deletions docs/src/content/docs/fr/guides/i18n.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -188,16 +188,17 @@ Vous pouvez fournir des traductions pour les langues supplémentaires que vous s

<Steps>

1. Configurez la collection de contenus `i18n` dans `src/content/config.ts` si elle n'est pas déjà configurée :
1. Configurez la collection de contenus `i18n` dans `src/content.config.ts` si elle n'est pas déjà configurée :

```diff lang="js" ins=/, (i18nSchema)/
// src/content/config.ts
```diff lang="js" ins=/, (i18nLoader|i18nSchema)/
// src/content.config.ts
import { defineCollection } from 'astro:content';
import { docsLoader, i18nLoader } from '@astrojs/starlight/loaders';
import { docsSchema, i18nSchema } from '@astrojs/starlight/schema';

export const collections = {
docs: defineCollection({ schema: docsSchema() }),
+ i18n: defineCollection({ type: 'data', schema: i18nSchema() }),
docs: defineCollection({ loader: docsLoader(), schema: docsSchema() }),
+ i18n: defineCollection({ loader: i18nLoader(), schema: i18nSchema() }),
};
```

Expand Down Expand Up @@ -257,14 +258,15 @@ Ajoutez des clés personnalisées aux dictionnaires de traduction de votre site
Dans l'exemple suivant, une nouvelle clé optionnelle `custom.label` est ajoutée aux clés par défaut :

```diff lang="js"
// src/content/config.ts
// src/content.config.ts
import { defineCollection, z } from 'astro:content';
import { docsLoader, i18nLoader } from '@astrojs/starlight/loaders';
import { docsSchema, i18nSchema } from '@astrojs/starlight/schema';

export const collections = {
docs: defineCollection({ schema: docsSchema() }),
docs: defineCollection({ loader: docsLoader(), schema: docsSchema() }),
i18n: defineCollection({
type: 'data',
loader: i18nLoader(),
schema: i18nSchema({
+ extend: z.object({
+ 'custom.label': z.string().optional(),
Expand All @@ -274,7 +276,7 @@ export const collections = {
};
```

Consultez [« Définir un schéma de collection de contenus »](https://docs.astro.build/fr/guides/content-collections/#defining-a-collection-schema) dans la documentation d'Astro pour en savoir plus sur les schémas de collection de contenus.
Consultez [« Définir un schéma de collection de contenus »](https://docs.astro.build/fr/guides/content-collections/#définition-dun-schéma-de-collection) dans la documentation d'Astro pour en savoir plus sur les schémas de collection de contenus.

## Utiliser les traductions de l'interface utilisateur

Expand Down
6 changes: 3 additions & 3 deletions docs/src/content/docs/fr/guides/overriding-components.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ import Default from '@astrojs/starlight/components/SocialIcons.astro';
Lorsque vous affichez un composant intégré dans un composant personnalisé :

- Décomposez `Astro.props` dans celui-ci. Cela permet de s'assurer qu'il reçoit toutes les données dont il a besoin pour être affiché.
- Ajoutez un élément [`<slot />`](https://docs.astro.build/fr/core-concepts/astro-components/#les-emplacements-slots) à l'intérieur du composant par défaut. Cela permet de s'assurer que si le composant reçoit des éléments enfants, Astro sait où les afficher.
- Ajoutez un élément [`<slot />`](https://docs.astro.build/fr/basics/astro-components/#les-emplacements-slots) à l'intérieur du composant par défaut. Cela permet de s'assurer que si le composant reçoit des éléments enfants, Astro sait où les afficher.

Si vous réutilisez les composants [`PageFrame`](/fr/reference/overrides/#pageframe) ou [`TwoColumnContent`](/fr/reference/overrides/#twocolumncontent) qui contiennent des [emplacements (slots) nommés](https://docs.astro.build/fr/basics/astro-components/#les-emplacements-slots-nomm%C3%A9s), vous devez également [transférer](https://docs.astro.build/fr/basics/astro-components/#transf%C3%A9rer-les-emplacements) ces emplacements.

Expand Down Expand Up @@ -141,7 +141,7 @@ Dans l'exemple suivant, un composant redéfinissant le composant [`Footer`](/fr/
import type { Props } from '@astrojs/starlight/props';
import Default from '@astrojs/starlight/components/Footer.astro';
const isHomepage = Astro.props.slug === '';
const isHomepage = Astro.props.id === '';
---
{
Expand All @@ -155,4 +155,4 @@ const isHomepage = Astro.props.slug === '';
}
```

Pour en savoir plus sur le rendu conditionnel, consultez le [guide de syntaxe d'Astro](https://docs.astro.build/fr/core-concepts/astro-syntax/#html-dynamique).
Pour en savoir plus sur le rendu conditionnel, consultez le [guide de syntaxe d'Astro](https://docs.astro.build/fr/basics/astro-syntax/#html-dynamique).
7 changes: 3 additions & 4 deletions docs/src/content/docs/fr/guides/project-structure.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,12 @@ description: Apprenez à organiser les fichiers dans votre projet Starlight.

Ce guide vous montrera comment un projet Starlight est organisé et ce que font les différents fichiers de votre projet.

Les projets Starlight suivent généralement la même structure de fichiers et de répertoires que les autres projets Astro. Voir [la documentation sur la structure des projets Astro](https://docs.astro.build/fr/core-concepts/project-structure/) pour plus de détails.
Les projets Starlight suivent généralement la même structure de fichiers et de répertoires que les autres projets Astro. Voir [la documentation sur la structure des projets Astro](https://docs.astro.build/fr/basics/project-structure/) pour plus de détails.

## Fichiers et répertoires

- `astro.config.mjs` — Le fichier de configuration d'Astro ; inclut l'intégration et la configuration de Starlight.
- `src/content/config.ts` — Fichier de configuration des collections de contenu ; ajoute les schémas de la matière première de Starlight à votre projet.
- `src/content.config.ts` — Fichier de configuration des collections de contenu ; ajoute les schémas de la matière première de Starlight à votre projet.
- `src/content/docs/` — Fichiers de contenu. Starlight transforme chaque fichier `.md`, `.mdx` ou `.mdoc` de ce répertoire en une page de votre site.
- `src/content/i18n/` (optionnel) — Données de traduction pour prendre en charge l'[internationalisation](/fr/guides/i18n/).
- `src/` — Autre code source et fichiers (composants, styles, images, etc.) pour votre projet.
Expand Down Expand Up @@ -39,8 +39,7 @@ import { FileTree } from '@astrojs/starlight/components';
- 01-getting-started.md
- 02-advanced.md
- index.mdx
- config.ts
- env.d.ts
- content.config.ts
- astro.config.mjs
- package.json
- tsconfig.json
Expand Down
9 changes: 5 additions & 4 deletions docs/src/content/docs/fr/guides/site-search.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -126,16 +126,17 @@ Ajoutez des traductions de l'interface utilisateur de la modale pour votre langu

1. Étendez la définition de la collection de contenus `i18n` de Starlight avec le schéma DocSearch dans `src/content/config.ts` :

```js ins={4} ins=/{ extend: .+ }/
// src/content/config.ts
```js ins={5} ins=/{ extend: .+ }/
// src/content.config.ts
import { defineCollection } from 'astro:content';
import { docsLoader, i18nLoader } from '@astrojs/starlight/loaders';
import { docsSchema, i18nSchema } from '@astrojs/starlight/schema';
import { docSearchI18nSchema } from '@astrojs/starlight-docsearch/schema';

export const collections = {
docs: defineCollection({ schema: docsSchema() }),
docs: defineCollection({ loader: docsLoader(), schema: docsSchema() }),
i18n: defineCollection({
type: 'data',
loader: i18nLoader(),
schema: i18nSchema({ extend: docSearchI18nSchema() }),
}),
};
Expand Down
6 changes: 6 additions & 0 deletions docs/src/content/docs/fr/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,12 @@ description: Starlight vous aide à créer de magnifiques sites web de documenta
template: splash
editUrl: false
lastUpdated: false
banner:
content: |
En cours de mise à jour vers Astro 5?
<a href="https://github.com/withastro/starlight/releases/tag/%40astrojs/starlight%400.30.0">
Apprenez à mettre à niveau
</a>
hero:
title: Faites briller vos documentations avec Starlight
tagline: Tout ce dont vous avez besoin pour créer un excellent site web de documentation. Rapide, accessible et facile à utiliser.
Expand Down
16 changes: 10 additions & 6 deletions docs/src/content/docs/fr/manual-setup.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -62,20 +62,24 @@ Retrouvez toutes les options disponibles dans la [référence de configuration S

### Configurer les collections de contenu

Starlight s'appuie sur les [collections de contenu d'Astro](https://docs.astro.build/fr/guides/content-collections/), qui sont configurées dans le fichier `src/content/config.ts`.
Starlight s'appuie sur les [collections de contenu d'Astro](https://docs.astro.build/fr/guides/content-collections/), qui sont configurées dans le fichier `src/content.config.ts`.

Créez ou mettez à jour le fichier de configuration du contenu, en ajoutant une collection `docs` qui utilise le schéma `docsSchema` de Starlight :
Créez ou mettez à jour le fichier de configuration du contenu, en ajoutant une collection `docs` qui utilise les `docsLoader` et `docsSchema` de Starlight :

```js ins={3,6}
// src/content/config.ts
```js ins={3-4,7}
// src/content.config.ts
import { defineCollection } from 'astro:content';
import { docsLoader } from '@astrojs/starlight/loaders';
import { docsSchema } from '@astrojs/starlight/schema';

export const collections = {
docs: defineCollection({ schema: docsSchema() }),
docs: defineCollection({ loader: docsLoader(), schema: docsSchema() }),
};
```

Starlight supporte également [l'option `legacy.collections`](https://docs.astro.build/fr/reference/legacy-flags/) où les collections sont gérées en utilisant l'implémentation de collections de contenu héritée.
Celà est utile si vous avez un projet Astro existant et que vous ne pouvez pas apporter de modifications aux collections pour utiliser un chargeur.

### Ajouter du contenu

Starlight est maintenant configuré et il est temps d'ajouter du contenu !
Expand Down Expand Up @@ -125,6 +129,6 @@ import { FileTree } from '@astrojs/starlight/components';

### Utiliser Starlight avec SSR

Pour activer le SSR, suivez le guide [« Adaptateurs de rendu à la demande »](https://docs.astro.build/fr/guides/server-side-rendering/) dans la documentation d'Astro pour ajouter un adaptateur serveur à votre projet Starlight.
Pour activer le SSR, suivez le guide [« Adaptateurs de rendu à la demande »](https://docs.astro.build/fr/guides/on-demand-rendering/) dans la documentation d'Astro pour ajouter un adaptateur serveur à votre projet Starlight.

Les pages de documentation générées par Starlight sont pré-rendues par défaut, quel que soit le mode de rendu de votre projet. Pour désactiver le pré-rendu de vos pages Starlight, définissez [l'option de configuration `prerender`](/fr/reference/configuration/#prerender) à `false`.
4 changes: 2 additions & 2 deletions docs/src/content/docs/fr/reference/configuration.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -462,7 +462,7 @@ Pagefind ne peut pas être activé lorsque l'option [`prerender`](#prerender) es
**Type :** `boolean`
**Par défaut :** `true`

Définit si les pages générées par Starlight doivent être pré-rendues en HTML statique ou rendues à la demande par un [adaptateur SSR](https://docs.astro.build/fr/guides/server-side-rendering/).
Définit si les pages générées par Starlight doivent être pré-rendues en HTML statique ou rendues à la demande par un [adaptateur SSR](https://docs.astro.build/fr/guides/on-demand-rendering/).

Les pages Starlight sont pré-rendues par défaut.
Si vous utilisez un adaptateur SSR et que vous souhaitez générer les pages Starlight à la demande, définissez `prerender: false`.
Expand Down Expand Up @@ -568,7 +568,7 @@ Par example, cette page a pour titre « Référence de configuration » et ce si
**Type :** `boolean`
**Par défaut :** `false`

Désactive l'injection de la [page 404](https://docs.astro.build/fr/core-concepts/astro-pages/#page-derreur-404-personnalis%C3%A9e) par défaut de Starlight. Pour utiliser une route personnalisée `src/pages/404.astro` dans votre projet, définissez cette option à `true`.
Désactive l'injection de la [page 404](https://docs.astro.build/fr/basics/astro-pages/#page-derreur-404-personnalis%C3%A9e) par défaut de Starlight. Pour utiliser une route personnalisée `src/pages/404.astro` dans votre projet, définissez cette option à `true`.

### `components`

Expand Down
25 changes: 15 additions & 10 deletions docs/src/content/docs/fr/reference/frontmatter.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ La description de la page est utilisée pour les métadonnées de la page et ser

**type**: `string`

Remplace le slug de la page. Consultez [« Définition d’un slug personnalisé »](https://docs.astro.build/fr/guides/content-collections/#d%C3%A9finition-dun-slug-personnalis%C3%A9e) dans la documentation d'Astro pour plus de détails.
Remplace le slug de la page. Consultez [« Définition d’identifiants personnalisés »](https://docs.astro.build/fr/guides/content-collections/#définition-didentifiants-personnalisés) dans la documentation d'Astro pour plus de détails.

### `editUrl`

Expand Down Expand Up @@ -397,19 +397,20 @@ sidebar:

## Personnaliser le schéma du frontmatter

Le schéma du frontmatter de la collection de contenus `docs` de Starlight est configuré dans `src/content/config.ts` en utilisant l'utilitaire `docsSchema()` :
Le schéma du frontmatter de la collection de contenus `docs` de Starlight est configuré dans `src/content.config.ts` en utilisant l'utilitaire `docsSchema()` :

```ts {3,6}
// src/content/config.ts
```ts {4,7}
// src/content.config.ts
import { defineCollection } from 'astro:content';
import { docsLoader, i18nLoader } from '@astrojs/starlight/loaders';
import { docsSchema } from '@astrojs/starlight/schema';

export const collections = {
docs: defineCollection({ schema: docsSchema() }),
docs: defineCollection({ loader: docsLoader(), schema: docsSchema() }),
};
```

Consultez [« Définir un schéma de collection de contenus »](https://docs.astro.build/fr/guides/content-collections/#defining-a-collection-schema) dans la documentation d'Astro pour en savoir plus sur les schémas de collection de contenus.
Consultez [« Définir un schéma de collection de contenus »](https://docs.astro.build/fr/guides/content-collections/#définition-dun-schéma-de-collection) dans la documentation d'Astro pour en savoir plus sur les schémas de collection de contenus.

`docsSchema()` accepte les options suivantes :

Expand All @@ -423,13 +424,15 @@ La valeur doit être un [schéma Zod](https://docs.astro.build/fr/guides/content

Dans l'exemple suivant, nous définissons un type plus strict pour `description` pour le rendre obligatoire et ajouter un nouveau champ `category` facultatif :

```ts {8-13}
// src/content/config.ts
```ts {10-15}
// src/content.config.ts
import { defineCollection, z } from 'astro:content';
import { docsLoader } from '@astrojs/starlight/loaders';
import { docsSchema } from '@astrojs/starlight/schema';

export const collections = {
docs: defineCollection({
loader: docsLoader(),
schema: docsSchema({
extend: z.object({
// Rend un champ de base obligatoire au lieu de facultatif.
Expand All @@ -444,13 +447,15 @@ export const collections = {

Pour tirer parti de l'[utilitaire `image()` d'Astro](https://docs.astro.build/fr/guides/images/#images-in-content-collections), utilisez une fonction qui retourne votre extension de schéma :

```ts {8-13}
// src/content/config.ts
```ts {10-15}
// src/content.config.ts
import { defineCollection, z } from 'astro:content';
import { docsLoader } from '@astrojs/starlight/loaders';
import { docsSchema } from '@astrojs/starlight/schema';

export const collections = {
docs: defineCollection({
loader: docsLoader(),
schema: docsSchema({
extend: ({ image }) => {
return z.object({
Expand Down
5 changes: 4 additions & 1 deletion docs/src/content/docs/fr/reference/overrides.md
Original file line number Diff line number Diff line change
Expand Up @@ -69,11 +69,14 @@ Pour les sites multilingues, cette valeur inclura la locale actuelle, par exempl

Le slug de la page généré à partir du nom du fichier du contenu.

Cette propriété est dépréciée et sera supprimée dans une version future de Starlight.
Migrez vers la nouvelle API Content Layer en utilisant le [`docsLoader` de Starlight](/fr/manual-setup/#configurer-les-collections-de-contenu) et utilisez la propriété [`id`](#id) à la place.

#### `id`

**Type :** `string`

L'identifiant unique de cette page basé sur le nom du fichier du contenu.
Le slug de cette page ou l'identifiant unique de cette page basé sur le nom du fichier du contenu si l'option [`legacy.collections`](https://docs.astro.build/fr/reference/legacy-flags/#collections) est utilisée.

#### `isFallback`

Expand Down
2 changes: 1 addition & 1 deletion docs/src/content/docs/ko/components/using-components.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ Starlight는 요소 사이에 여백을 추가하는 등 Markdown 콘텐츠에
---
// src/components/Example.astro
import type { ComponentProps } from 'astro/types';
import { Icon } from '@astrojs/starlight/icon';
import { Icon } from '@astrojs/starlight/components';
type IconProps = ComponentProps<typeof Icon>;
---
Expand Down
Loading

0 comments on commit 6870540

Please sign in to comment.