AstroGlass is configured via files in src/config/ and standard CSS custom properties.
Configuration Files
- src/
- config/
- themes.ts — Theme definitions (name, colors, sections, premium flag)
- locales.ts — Supported languages and locale metadata
- navigation.ts — Main site navigation structure
- docs.ts — Documentation sidebar and version config
- config/
Styling with Tailwind CSS v4
This project uses Tailwind CSS v4 via the @tailwindcss/vite plugin. There is no tailwind.config.mjs file — all configuration is done through CSS.
Colors and theme variables are defined as CSS custom properties in src/styles/global.css and src/styles/_themes.css:
:root { --p: 260 80% 60%; /* Primary (HSL) */ --s: 310 80% 60%; /* Secondary */ --a: 190 90% 60%; /* Accent */ --b1: 220 20% 10%; /* Base background */ --bc: 220 20% 90%; /* Base content (text) */}To change the site’s color scheme, update the HSL values in src/styles/global.css. Theme-specific overrides live in src/styles/_themes.css using [data-theme="..."] selectors.
Theme Configuration
Each theme is registered in src/config/themes.ts. This centralizes all theme metadata:
export const themes: ThemeDefinition[] = [ { id: 'liquid', name: 'Liquid', color: 'from-blue-500 to-cyan-400', icon: '💧', sections: ['Header', 'Hero', 'About', 'Features', 'Portfolio', 'Pricing', 'Testimonial', 'FAQ', 'CTA', 'Contact', 'Footer'], enabled: true, premium: false, description: 'Fluid, organic design with smooth animations', }, // ... 5 more themes (Glass, Neo, Luxury, Minimal, Aurora)];Locale Configuration
Languages are managed in src/config/locales.ts. To add a new language, add an entry and set enabled: true:
export const localesConfig: LocaleConfig[] = [ { code: 'en', name: 'English', nativeName: 'English', flag: '🇬🇧', direction: 'ltr', enabled: true }, { code: 'ru', name: 'Russian', nativeName: 'Русский', flag: '🇷🇺', direction: 'ltr', enabled: true },];