Los componentes te permiten reutilizar fácilmente una parte de la interfaz de usuario o un estilo de manera consistente. Ejemplos podrían incluir una tarjeta de enlace o un incrustado de YouTube. Starlight admite el uso de componentes en archivos MDX y proporciona algunos componentes comunes para que los utilices.
Puedes utilizar un componente importándolo en tu archivo MDX y luego renderizándolo como una etiqueta JSX. Estas etiquetas se ven como etiquetas HTML, pero comienzan con una letra mayúscula que coincide con el nombre en tu declaración de import:
Starlight aplica estilos predeterminados a tu contenido en Markdown, por ejemplo, añadiendo margen entre elementos.
Si estos estilos entran en conflicto con la apariencia de tu componente, establece la clase not-content en tu componente para deshabilitarlos.
Componentes integrados
Starlight proporciona algunos componentes integrados para casos de uso comunes en la documentación. Estos componentes están disponibles en el paquete @astrojs/starlight/components.
Pestañas
Puedes mostrar una interfaz con pestañas utilizando los componentes <Tabs> y <TabItem>. Cada <TabItem> debe tener una label que se mostrará a los usuarios.
El código anterior genera las siguientes pestañas en la página:
Puedes mostrar contenido en una caja que coincida con los estilos de Starlight utilizando el componente <Card>. Envuelve varias tarjetas en el componente <CardGrid> para mostrar las tarjetas una al lado de la otra cuando hay suficiente espacio.
Los apartados son útiles para mostrar información secundaria junto al contenido principal de una página.
Un <Aside> puede tener un type opcional de note (el valor predeterminado), tip, caution o danger. Establecer un atributo title anula el título predeterminado del apartado.
El código anterior genera lo siguiente en la página:
Starlight también proporciona una sintaxis personalizada para renderizar apartados en Markdown y MDX como una alternativa al componente <Aside>.
Consulta la guía “Creación de contenido en Markdown” para obtener más detalles de la sintaxis personalizada.
Iconos
Starlight proporciona un conjunto de iconos comunes que puedes mostrar en tu contenido utilizando el componente <Icon>.
Cada <Icon> requiere un atributo name que se puede encontrar en la lista de todos los iconos, y opcionalmente puede incluir atributos como label, size y color.
El código anterior genera lo siguiente en la página:
Todos los iconos
A continuación se muestra una lista de todos los iconos disponibles con sus nombres asociados. Haz clic en un ícono para copiar el código del componente correspondiente.
Código
Usa el componente <Code> para renderizar código con resaltado de sintaxis cuando no sea posible usar un bloque de código Markdown, por ejemplo, para renderizar datos provenientes de fuentes externas como archivos, bases de datos o APIs.
El código anterior genera lo siguiente en la página:
Código importado
Usa el sufijo de importación ?raw de Vite para importar cualquier archivo de código como un string.
Puedes pasar luego este string importado al componente <Code> para incluirlo en tu página.
El código anterior genera lo siguiente en la página: