AstroGlass suit une structure de projet Astro standard avec quelques modèles d’organisation clés.
Répertoires Clés
src/components/pages/
Contient des composants pleine page pour les routes dynamiques, tels que la Page Portfolio. Organisé par type de page :
pages/├── portfolio/│ ├── aurora/│ │ ├── PortfolioHeroAurora.astro│ │ ├── ...│ ├── liquid/│ │ ├── PortfolioHeroLiquid.astro│ │ ├── PortfolioGridLiquid.astro│ │ ├── PortfolioModalLiquid.astro│ │ ├── PortfolioCTALiquid.astro│ │ └── ...│ └── ...src/components/sections/
Contient tous les composants de section de page, organisés par type de section. Chaque section possède un sous-répertoire avec une variante par thème :
sections/├── hero/│ ├── HeroLiquid.astro│ ├── HeroGlass.astro│ ├── HeroNeo.astro│ ├── HeroLuxury.astro│ ├── HeroMinimal.astro│ └── HeroAurora.astro├── about/├── features/├── portfolio/├── pricing/├── testimonial/├── faq/├── cta/├── contact/└── footer/src/components/layout/header/
Composants d’en-tête/barre de navigation spécifiques au thème (par ex., HeaderGlass.astro, HeaderLuxury.astro).
src/components/ui/
Primitives d’interface utilisateur réutilisables : Button, Card, Badge, Avatar, Input, Tabs, Charts, ThemeSwitcher, LanguageSwitcher, et Search.
src/config/
Fichiers de configuration centraux :
themes.ts— Registre des thèmes (ID, noms, statut d’activation, listes de sections)locales.ts— Langues prises en charge et leurs métadonnéesnavigation.ts— Structure de navigation principale du sitedocs.ts— Configuration de la barre latérale de la documentation et gestion des versions
src/content/
Collections de Contenu Astro pour la documentation et les articles de blog. La structure à l’intérieur de docs/[lang]/ détermine les chemins URL pour la documentation.
src/locales/
Fichiers de traduction JSON organisés par code de langue. Chaque fichier correspond à une section de page (par ex., hero.json, pricing.json, contact.json).
src/pages/
Routage basé sur les fichiers. La route dynamique [theme].astro génère des pages pour chaque thème activé. Les modèles de répertoire [...lang] gèrent les variantes de pages localisées sur l’ensemble de l’architecture.
src/styles/
CSS global, surcharges de thème (_themes.css), images clés d’animation, et feuilles de style spécifiques aux composants dans components/.
src/utils/
Fonctions utilitaires pour les traductions i18n (i18n.ts), la détection de la langue (locale-utils.ts), et la navigation dans la documentation (docs-nav.ts).