Skip to main content

Primeros pasos con temas

Un tema define la apariencia del sitio: colores, tipografías, espaciados y estilos de componentes. Crono trae varios temas listos (Compacto, Compacto Azul, Compacto Rojo, entre otros) y permite crear los tuyos partiendo de uno existente.

Dónde viven los temas​

Los temas están en src/Crono.Web/Temas/. Cualquier carpeta que contenga un archivo tema.config se reconoce como un tema:

src/Crono.Web/Temas/
├── Compacto/ (tema base predeterminado)
│ ├── tema.config
│ ├── Views/
│ │ ├── _ViewImports.cshtml
│ │ └── _ViewStart.cshtml
│ └── wwwroot/
│ ├── tema.scss (archivo Sass raíz)
│ ├── tema-rtl.scss
│ ├── _variables.scss
│ ├── _variables-personalizados.scss
│ ├── _botones.scss, _menu.scss, _login.scss, ... (parciales)
├── CompactoAzul/ (hereda de Compacto)
├── CompactoRojo/
└── ...

El manifiesto tema.config​

Cada tema se describe con un tema.config (XML) en su raíz. La forma mínima:

<?xml version="1.0" encoding="utf-8"?>
<Tema titulo="Compacto" descripcion="'Compacto' tema predeterminado" autor="Crono" version="1.0">
<Vars>
<!-- variables del tema -->
</Vars>
</Tema>

Atributos del elemento raíz <Tema>:

AtributoDescripción
tituloNombre visible del tema.
descripcionDescripción corta.
autorAutor del tema.
versionVersión del tema.
temaBase(Opcional) Nombre del tema padre del que hereda (ver Herencia de temas).

Crear un tema nuevo​

La vía más rápida es heredar de uno existente y solo redefinir lo que cambia:

  1. Crea una carpeta bajo Temas/, por ejemplo MiTema/.
  2. Añade un tema.config con temaBase="Compacto" y los atributos del tema.
  3. Redefine en <Vars> únicamente las variables que quieras cambiar (colores de marca, fondos, etc.).
  4. Si necesitas más que variables, añade parciales SCSS o vistas en tu carpeta que sobrescriban los del tema base.

El tema Compacto Azul, por ejemplo, es un tema hijo que solo trae un tema.config cambiando unos cuantos colores; todo lo demás lo hereda de Compacto.

Activar un tema​

Los temas se seleccionan y configuran desde el backend, en la sección de temas de configuración: allí se elige el tema activo y se ajustan sus variables sin tocar el código fuente. Los valores que se cambian en esa pantalla se guardan en la base de datos y tienen prioridad sobre los valores por defecto del tema.config (ver Configuración de tema).

info

Los estilos SCSS se compilan en tiempo de ejecución con un caché en proceso y en disco. Tras editar el SCSS de un tema hay que reiniciar la aplicación para verlo (no hay recarga en caliente; ver Solución de problemas).