ES
empezandocaracteristicas

Características

Todo lo que astro-ignite incluye — qué hace cada característica y dónde vive.

Last updated

Cada característica aquí está conectada de extremo a extremo desde el primer arranque. Nada está simulado, stub, ni detrás de un feature flag. A continuación está lo que obtienes y dónde vive en el árbol.

Internacionalización

i18n nativo con un solo camino de código para sitios monolingües y multilingües. Elige los locales al momento del scaffold; el CLI genera rutas con prefijo de locale, content collections, entradas del sitemap y etiquetas hreflang.

  • astro.config.mjsi18n.locales controla todo lo demás
  • src/i18n/<locale>.json para strings tipados de UI vía useTranslations()
  • src/pages/[lang]/... refleja las rutas del locale por defecto
  • LocaleSwitcher.astro cambia el prefijo de URL sin perder la ruta actual

SEO y analítica

JSON-LD tipado de Schema.org construido con schema-dts, imágenes OG, sitemap con alternativas por locale y analítica Plausible que respeta el consentimiento de cookies.

  • src/lib/jsonld.ts construye WebPage, BreadcrumbList, Article, etc.
  • Analytics.astro carga Plausible de forma diferida solo tras el consentimiento
  • Imagen OG por defecto en public/og/og-default.png; variantes por locale y generación dinámica explicadas en docs/OG.md

Plantillas legales y consentimiento de cookies

Plantillas de política de privacidad, política de cookies y términos de servicio como entradas de content-collection — traducibles, versionadas y renderizadas mediante LegalLayout.

  • src/content/legal/<locale>/*.mdx para los documentos en sí
  • CookieBanner.astro aplaza la analítica hasta aceptar/rechazar
  • Los campos de última actualización y versión aparecen automáticamente en el layout

Registro de componentes

Un registro estilo shadcn de primitivos puros de Astro. Vienen preinstalados en src/components/ui/ en ambas plantillas — son tuyos, cada línea. Para reutilizar uno en otro proyecto, cópialo desde el código fuente del registro.

  • 24 primitivos: button, link, text, badge, card, input, textarea, label, separator, alert, avatar, skeleton, kbd, tabs, accordion, dialog, dropdown-menu, tooltip, toast, checkbox, switch, select, copy-button, radio-group
  • Cero runtime de React/Vue/Svelte — el comportamiento es custom elements + las APIs nativas de popover/dialog
  • Explora cada primitivo en vivo en Componentes

Temas y diseño

Un sistema de diseño basado en Zinc en variables CSS, oscuro por defecto, con un cambio de tema sin flash que persiste entre visitas.

  • src/styles/global.css define los tokens de diseño
  • ThemeToggle.astro cambia las variables --color-*; el script anti-flash se ejecuta antes del pintado
  • Geist Sans + Mono auto-alojados vía astro:assets (cero CLS al cambiar)

Rendimiento

Lighthouse 100 en móvil, verificado por CI. Salida puramente Astro, optimización de imágenes, precarga de fuentes y cero JS en cliente en la mayoría de páginas.

  • Image desde astro:assets para srcset responsive + AVIF/WebP
  • inlineStylesheets: 'always' incrusta la hoja de estilos completa en el HTML en el primer paint — sin ida y vuelta de CSS que bloquee el render
  • Mira Benchmarks para los números y cómo reproducirlos

Content collections

Contenido tipado para entradas de blog, proyectos de caso de estudio, documentos legales y los propios docs — todo consciente del locale, todo con esquemas de frontmatter.

  • src/content.config.ts define los esquemas Zod
  • Una carpeta por locale (p. ej. src/content/blog/en/, src/content/blog/es/)
  • Los enlaces entre locales se resuelven por id de colección

Formularios y email (solo en starter)

Un formulario de contacto funcional construido sobre Astro Actions, validación Zod, y tu elección de Resend o SMTP al hacer scaffold. La plantilla docs no incluye formulario de contacto ni dependencias de email.

  • src/actions/index.ts para la acción del servidor
  • src/lib/email/ para el adaptador del proveedor
  • La protección anti-spam está intencionalmente fuera del alcance — añade Turnstile o hCaptcha al gusto

A dónde ir