codersfree / laratheme
A Laravel theme package for managing themes in a Laravel application.
Installs: 5
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 1
Open Issues: 0
Type:laravel-package
pkg:composer/codersfree/laratheme
Requires
- php: >=8.2
- illuminate/console: ^11.0|^12.0
- illuminate/contracts: ^11.0|^12.0
- illuminate/filesystem: ^11.0|^12.0
- illuminate/support: ^11.0|^12.0
- illuminate/view: ^11.0|^12.0
README
Laratheme es un paquete para Laravel que permite gestionar múltiples temas visuales (themes), facilitando la personalización de vistas y assets para tu aplicación.
🚀 Características
- ✅ Cambio dinámico de temas mediante configuración
- 🧩 Namespaces automáticos para las vistas del tema activo
- 🛠 Comando Artisan
make:theme
para generar nuevos temas con estructura predefinida - 📁 Soporte para vistas, assets y stubs personalizables
- 📦 Totalmente integrable con Laravel 11 y 12
📦 Instalación
Requiere PHP 8.2+ y Laravel 11+.
composer require codersfree/laratheme
Publicar archivos de configuración y stubs
php artisan vendor:publish --tag=theme-config php artisan vendor:publish --tag=theme-stubs
Esto generará:
config/theme.php
: configuración de Larathemeresources/themes/stubs
: plantillas base para nuevos temas
⚙️ Configuración
Archivo de configuración: config/theme.php
return [ 'active' => env('THEME_ACTIVE', 'default'), 'paths' => [ 'views' => env('THEME_VIEWS_PATH', resource_path('themes')), 'assets' => env('THEME_ASSETS_PATH', public_path('themes')), 'stubs' => env('THEME_STUBS_PATH', resource_path('themes/stubs')), ], ];
views
: ubicación de las vistas por temaassets
: ubicación pública de CSS, JS, imágenes, etc.stubs
: plantillas para generar nuevos temas
🧪 Uso
Crear un nuevo tema
php artisan make:theme nombre-del-tema
Esto creará la siguiente estructura:
resources/themes/nombre-del-tema/
├── welcome.blade.php
└── layouts/
└── app.blade.php
public/themes/nombre-del-tema/
├── css/app.css
├── js/app.js
└── image/
🧩 Cargar vistas y assets del tema
Cargar una vista del tema activo
use Theme; return Theme::view('welcome');
Obtener una URL de asset del tema
Theme::asset('css/app.css'); // → themes/tu-tema-activo/css/app.css
✅ Los assets deben estar en
public/themes
.
📁 Estructura del paquete
config/
├── theme.php
src/
├── Console/Commands/MakeThemeCommand.php
├── Facades/Theme.php
├── Services/ThemeService.php
└── ThemeServiceProvider.php
stubs/
├── welcome.blade.php.stub
└── layouts/app.blade.php.stub
📝 Licencia
Este proyecto está bajo la licencia MIT. Consulta el archivo LICENSE para más información.
❤️ Autor
Desarrollado por CodersFree Contacto: victor@codersfree.com