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

v1.0.3 2025-06-14 01:48 UTC

This package is not auto-updated.

Last update: 2025-10-18 03:30:23 UTC


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.

MIT License

🚀 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 Laratheme
  • resources/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 tema
  • assets: 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