Custom Theme Development
Themes live in /extensions/themes/{theme-name}/ and are registered via a theme.json manifest.
Required Files
extensions/themes/my-theme/
├── theme.json
├── assets/
│ ├── css/
│ ├── js/
│ └── images/
├── views/
│ ├── layouts/master.blade.php
│ ├── pages/
│ ├── partials/
│ └── components/
└── config.php
theme.json
The manifest defines name, version, author, description, supported features, and default settings (primary color, layout style).
Design Guidelines
- Each theme must have a distinct visual identity
- Use Bootstrap 5.3.8 utility classes extensively
- Use CSS custom properties for colors and fonts
- Mobile-first, responsive, and accessible (WCAG AA)
- Use
{{ __('key') }}for all translatable strings
View Resolution
Themes can override any core or add-on view. The system checks theme views first, then falls back to add-on and core defaults.
Building Assets
After creating or modifying SCSS/JS files, rebuild:
npx vite build