Skip to content

Commit

Permalink
Merge branch 'main' into chris/error-map-2
Browse files Browse the repository at this point in the history
  • Loading branch information
delucis authored Feb 23, 2024
2 parents 89cd0c0 + 1043052 commit fa1cd88
Show file tree
Hide file tree
Showing 24 changed files with 1,261 additions and 162 deletions.
5 changes: 5 additions & 0 deletions .changeset/spotty-hairs-care.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@astrojs/starlight": patch
---

Update Vietnamese UI translations
9 changes: 9 additions & 0 deletions .changeset/tricky-berries-retire.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
'@astrojs/starlight': minor
---

Updates `astro-expressive-code` dependency to the latest minor release (0.33).

This unlocks support for [word wrap](https://expressive-code.com/key-features/word-wrap/) and [line numbers](https://expressive-code.com/plugins/line-numbers/), as well as updating the syntax highlighter to the latest Shiki release, which includes new and updated language grammars.

See the [Expressive Code release notes](https://expressive-code.com/releases/) for more information including details of potentially breaking changes.
1 change: 1 addition & 0 deletions .github/labeler.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ i18n:
- docs/src/content/docs/ja/**/*
- docs/src/content/docs/zh-cn/**/*
- docs/src/content/docs/pt-br/**/*
- docs/src/content/docs/pt-pt/**/*
- docs/src/content/docs/ko/**/*
- docs/src/content/docs/ru/**/*
- docs/src/content/docs/id/**/*
Expand Down
1 change: 1 addition & 0 deletions docs/astro.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ export const locales = {
id: { label: 'Bahasa Indonesia', lang: 'id' },
'zh-cn': { label: '简体中文', lang: 'zh-CN' },
'pt-br': { label: 'Português do Brasil', lang: 'pt-BR' },
'pt-pt': { label: 'Português', lang: 'pt-PT' },
ko: { label: '한국어', lang: 'ko' },
tr: { label: 'Türkçe', lang: 'tr' },
ru: { label: 'Русский', lang: 'ru' },
Expand Down
4 changes: 4 additions & 0 deletions docs/lunaria.config.json
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,10 @@
"label": "Português do Brasil",
"lang": "pt-br"
},
{
"label": "Português",
"lang": "pt-pt"
},
{
"label": "Русский",
"lang": "ru"
Expand Down
2 changes: 1 addition & 1 deletion docs/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"version": "0.0.1",
"scripts": {
"test": "start-server-and-test 'pnpm preview' http://localhost:4321 'pnpm pa11y'",
"pa11y": "pa11y-ci --sitemap 'http://localhost:4321/sitemap-0.xml' --sitemap-find 'https://starlight.astro.build' --sitemap-replace 'http://localhost:4321' --sitemap-exclude '/(de|zh-cn|fr|es|pt-br|it|id|ko|ru|tr|hi|da|uk)/.*'",
"pa11y": "pa11y-ci --sitemap 'http://localhost:4321/sitemap-0.xml' --sitemap-find 'https://starlight.astro.build' --sitemap-replace 'http://localhost:4321' --sitemap-exclude '/(de|zh-cn|fr|es|pt-br|pt-pt|it|id|ko|ru|tr|hi|da|uk)/.*'",
"dev": "astro dev",
"start": "astro dev",
"build": "astro build",
Expand Down
37 changes: 2 additions & 35 deletions docs/src/content/docs/es/getting-started.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -83,42 +83,9 @@ Abre esta URL para comenzar a navegar por tu sitio.

Starlight está listo para que añadas nuevo contenido o ¡traigas tus archivos existentes!.

#### Formatos de archivo
Agrega nuevas páginas a tu sitio web creando archivos Markdown en el directorio `src/content/docs/`.

Starlight admite la creación de contenido en Markdown y MDX sin necesidad de configuración. Puedes agregar compatibilidad con Markdoc instalando la [integración experimental de Astro Markdoc](https://docs.astro.build/es/guides/integrations-guide/markdoc/).

#### Añade páginas

Añade nuevas páginas a tu sitio creando archivos `.md` o `.mdx` en `src/content/docs/`.
Utiliza subcarpetas para organizar tus archivos y crear múltiples segmentos de ruta.

Por ejemplo, la siguiente estructura de archivos generará páginas en `example.com/hello-world` y `example.com/guides/faq`:

import FileTree from '~/components/file-tree.astro';

<FileTree>

- src/
- content/
- docs/
- guides/
- faq.md
- hello-world.md

</FileTree>

#### Frontmatter con seguridad de tipos

Todas las páginas de Starlight comparten un [conjunto común personalizable de propiedades frontmatter](/es/reference/frontmatter/) para controlar cómo se muestra la página:

```md
---
title: ¡Hola, Mundo!
description: Esta es una página en mi sitio impulsado por Starlight
---
```

Si olvidas algo importante, Starlight te lo hará saber.
Lee más sobre el enrutamiento basado en archivos y el soporte para archivos MDX y Markdoc en la [Guía de Páginas](/es/guides/pages/)

### Siguientes pasos

Expand Down
173 changes: 173 additions & 0 deletions docs/src/content/docs/es/guides/pages.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,173 @@
---
title: Páginas
description: Aprende cómo crear y gestionar las páginas de tu sitio de documentación con Starlight.
sidebar:
order: 1
---

Starlight genera las páginas HTML de tu sitio basadas en tu contenido, con opciones flexibles proporcionadas a través del frontmatter de Markdown.
Además, los proyectos de Starlight tienen acceso completo a las [herramientas de generación de páginas de Astro](https://docs.astro.build/es/basics/astro-pages/).
Esta guía muestra cómo funciona la generación de páginas en Starlight.

## Páginas de contenido

### Formatos de archivo

Starlight admite la creación de contenido en Markdown y MDX sin necesidad de configuración.
Puedes agregar soporte para Markdoc instalando la integración experimental de [Astro Markdoc](https://docs.astro.build/es/guides/integrations-guide/markdoc/).

### Agregar páginas

Añade nuevas páginas a tu sitio creando archivos `.md` o `.mdx` en `src/content/docs/`.
Utiliza subcarpetas para organizar tus archivos y crear múltiples segmentos de ruta.

Por ejemplo, la siguiente estructura de archivos generará páginas en `example.com/hello-world` y `example.com/reference/faq`:

import FileTree from '~/components/file-tree.astro';

<FileTree>

- src/
- content/
- docs/
- hello-world.md
- reference/
- faq.md

</FileTree>

### Frontmatter tipado

Todas las páginas de Starlight comparten un [conjunto común de propiedades de frontmatter personalizables](/es/reference/frontmatter/) para controlar cómo aparece la página:

```md
---
title: ¡Hola, mundo!
description: Esta es una página en mi sitio impulsado por Starlight
---
```

Si olvidas algo importante, Starlight te lo hará saber.

## Páginas personalizadas

Para casos de uso avanzados, puedes agregar páginas personalizadas creando un directorio `src/pages/`.
El directorio `src/pages/` utiliza [enrutamiento basado en archivos de Astro](https://docs.astro.build/es/basics/astro-pages/#enrutamiento-basado-en-archivos) e incluye soporte para archivos `.astro` entre otros formatos de página.
Esto es útil si necesitas construir páginas con un diseño completamente personalizado o generar una página desde una fuente de datos alternativa.

Por ejemplo, este proyecto mezcla contenido Markdown en `src/content/docs/` con rutas de Astro y HTML en `src/pages/`:

<FileTree>

- src/
- content/
- docs/
- hello-world.md
- pages/
- custom.astro
- archived.html

</FileTree>

Lee más en la [Guía de Páginas en la documentación de Astro](https://docs.astro.build/es/basics/astro-pages/).

### Usar el diseño de Starlight en páginas personalizadas

Para usar el diseño de Starlight en páginas personalizadas, envuelve el contenido de tu página con el componente `<StarlightPage />`.
Esto puede ser útil si estás generando contenido dinámicamente pero aún quieres usar el diseño de Starlight.

```astro
---
// src/pages/custom-page/example.astro
import StarlightPage from '@astrojs/starlight/components/StarlightPage.astro';
import CustomComponent from './CustomComponent.astro';
---
<StarlightPage frontmatter={{ title: 'Mi página personalizada' }}>
<p>Esta es una página personalizada con un componente personalizado:</p>
<CustomComponent />
</StarlightPage>
```

#### Props

El componente `<StarlightPage />` acepta las siguientes props.

##### `frontmatter` (requerido)

**tipo:** `StarlightPageFrontmatter`

Establece las [propiedades de frontmatter](/es/reference/frontmatter/) para esta página, similar al frontmatter en las páginas de Markdown.
La propiedad [`title`](/es/reference/frontmatter/#title-requerido) es requerida y todas las demás propiedades son opcionales.

Las siguientes propiedades difieren del frontmatter de Markdown:

- La propiedad [`slug`](/es/reference/frontmatter/#slug) no es compatible y se establece automáticamente en función de la URL de la página personalizada.
- La opción [`editUrl`](/es/reference/frontmatter/#editurl) requiere una URL para mostrar un enlace de edición.
- La propiedad frontmatter [`sidebar`](/es/reference/frontmatter/#sidebar) para personalizar cómo aparece la página en [grupos de enlaces autogenerados](/es/reference/configuration/#sidebar) no está disponible. Las páginas que utilizan el componente `<StarlightPage />` no forman parte de una colección y no pueden ser agregadas a un grupo de barra lateral autogenerado.

##### `sidebar`

**tipo:** `SidebarEntry[]`
**por defecto:** la barra lateral generada basada en la [configuración global de `sidebar`](/es/reference/configuration/#sidebar)

Proporciona una barra lateral de navegación personalizada para esta página.
Si no se establece, la página usará la barra lateral global predeterminada.

Por ejemplo, la siguiente página sobrescribe la barra lateral predeterminada con un enlace a la página de inicio y un grupo de enlaces a diferentes constelaciones.
La página actual en la barra lateral se establece utilizando la propiedad `isCurrent` y se ha agregado un `badge` opcional a un elemento de enlace.

```astro {3-13}
<StarlightPage
frontmatter={{ title: 'Orion' }}
sidebar={[
{ label: 'Home', href: '/' },
{
label: 'Constelaciones',
items: [
{ label: 'Andromeda', href: '/andromeda/' },
{ label: 'Orion', href: '/orion/', isCurrent: true },
{ label: 'Osa Menor', href: '/ursa-minor/', badge: 'Stub' },
],
},
]}
>
Contenido de la página
</StarlightPage>
```

##### `hasSidebar`

**tipo:** `boolean`
**por defecto:** `false` si [`frontmatter.template`](/es/reference/frontmatter/#template) es `'splash'`, de lo contrario `true`

Controla si la barra lateral debe mostrarse en esta página o no.

##### `headings`

**tipo:** `{ depth: number; slug: string; text: string }[]`
**por defecto:** `[]`

Proporciona un array de todos los encabezados en esta página.
Starlight generará la tabla de contenidos de la página a partir de estos encabezados si se proporcionan.

##### `dir`

**tipo:** `'ltr' | 'rtl'`
**por defecto:** la dirección de escritura para la configuración regional actual

Establece la dirección de escritura para el contenido de esta página.

##### `lang`

**tipo:** `string`
**por defecto:** el idioma de la configuración regional actual

Establece la etiqueta de idioma BCP-47 para el contenido de esta página, por ejemplo, `en`, `zh-CN` o `pt-BR`.

##### `isFallback`

**tipo:** `boolean`
**por defecto:** `false`

Indica si esta página está utilizando [contenido alternativo](/es/guides/i18n/#contenido-de-respaldo) porque no hay traducción para el idioma actual.
35 changes: 25 additions & 10 deletions docs/src/content/docs/es/resources/plugins.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,26 @@ Amplia tu sitio con un plugins oficiales respaldados por el equipo de Starlight
title="starlight-typedoc"
description="Genera páginas de Starlight desde TypeScript usando TypeDoc"
/>
<LinkCard
href="https://github.com/HiDeoo/starlight-blog"
title="starlight-blog"
description="Agrega un blog a tu sitio de documentación."
/>
<LinkCard
href="https://github.com/HiDeoo/starlight-openapi"
title="starlight-openapi"
description="Crea páginas de documentación a partir de especificaciones OpenAPI/Swagger."
/>
<LinkCard
href="https://github.com/HiDeoo/starlight-obsidian"
title="starlight-obsidian"
description="Publica bóvedas de Obsidian en tu sitio de Starlight."
/>
<LinkCard
href="https://astro-ghostcms.xyz/intro/starlight/install/"
title="starlight-ghostcms"
description="Agrega tus publicaciones de blog de GhostCMS junto con tus documentos de Starlight."
/>
</CardGrid>

## Herramientas e integraciones de la comunidad
Expand All @@ -52,16 +72,6 @@ Estas herramientas e integraciones de la comunidad se pueden utilizar para añad
title="FeelBack"
description="Agrega un sistema de comentarios de usuarios a la páginas de tus docs."
/>
<LinkCard
href="https://github.com/HiDeoo/starlight-blog"
title="starlight-blog"
description="Agrega un blog a tu sitio de documentación."
/>
<LinkCard
href="https://github.com/HiDeoo/starlight-openapi"
title="starlight-openapi"
description="Crea páginas de documentación a partir de especificaciones OpenAPI/Swagger."
/>
<LinkCard
href="https://github.com/val-town/notion-to-astro"
title="notion-to-astro"
Expand All @@ -72,4 +82,9 @@ Estas herramientas e integraciones de la comunidad se pueden utilizar para añad
title="astro-live-code"
description="Renderiza bloques de código MDX como componentes interactivos."
/>
<LinkCard
href="https://github.com/HiDeoo/starlight-i18n"
title="starlight-i18n"
description="Extensión de Visual Studio Code para ayudar a traducir páginas de Starlight."
/>
</CardGrid>
44 changes: 35 additions & 9 deletions docs/src/content/docs/fr/guides/pages.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -104,15 +104,41 @@ Les propriétés suivantes diffèrent du frontmatter en Markdown :

- La propriété [`slug`](/fr/reference/frontmatter/#slug) n'est pas supportée et est automatiquement définie en fonction de l'URL de la page personnalisée.
- L'option [`editUrl`](/fr/reference/frontmatter/#editurl) nécessite une URL pour afficher un lien d'édition.
- La propriété [`sidebar`](/fr/reference/frontmatter/#sidebar) n'est pas supportée. Dans le frontmatter en Markdown, cette option permet de personnaliser les [groupes de liens autogénérés](/fr/reference/configuration/#sidebar), ce qui n'est pas applicable aux pages utilisant le composant `<StarlightPage />`.

{/* ##### `sidebar` */}

{/* **Type :** `SidebarEntry[] | undefined` */}
{/* **Par défaut :** la barre latérale générée en fonction de la [configuration globale `sidebar`](/fr/reference/configuration/#sidebar) */}

{/* Fournir une barre latérale de navigation personnalisée pour cette page. */}
{/* Si elle n'est pas définie, la page utilisera la barre latérale globale par défaut. */}
- La propriété [`sidebar`](/fr/reference/frontmatter/#sidebar) du frontmatter permettant de personnaliser l'affichage de la page dans les [groupes de liens autogénérés](/fr/reference/configuration/#sidebar) n'est pas disponible. Les pages utilisant le composant `<StarlightPage />` ne font pas partie d'une collection et ne peuvent pas être ajoutées à un groupe de liens autogénérés.

##### `sidebar`

**Type :** `SidebarEntry[]`
**Par défaut :** la barre latérale générée en fonction de la [configuration globale `sidebar`](/fr/reference/configuration/#sidebar)

Fournit une barre latérale de navigation personnalisée pour cette page.
Si elle n'est pas définie, la page utilisera la barre latérale globale par défaut.

Par exemple, la page suivante remplace la barre latérale par défaut par un lien vers la page d'accueil et un groupe de liens vers différentes constellations.
La page courante dans la barre latérale est définie à l'aide de la propriété `isCurrent` et un `badge` optionnel a été ajouté à un élément de lien.

```astro {3-13}
<StarlightPage
frontmatter={{ title: 'Orion' }}
sidebar={[
{ label: 'Accueil', href: '/' },
{
label: 'Constellations',
items: [
{ label: 'Andromède', href: '/andromède/' },
{ label: 'Orion', href: '/orion/', isCurrent: true },
{
label: 'La Petite Ourse',
href: '/la-petite-ourse/',
badge: 'Ébauche',
},
],
},
]}
>
Exemple de contenu.
</StarlightPage>
```

##### `hasSidebar`

Expand Down
Loading

0 comments on commit fa1cd88

Please sign in to comment.