24 lines
1.1 KiB
Rust
24 lines
1.1 KiB
Rust
//! API para añadir y gestionar nuevos temas.
|
||
//!
|
||
//! En PageTop un tema es la *piel* de la aplicación, decide cómo se muestra cada documento HTML,
|
||
//! especialmente las páginas de contenido ([`Page`](crate::response::page::Page)), sin alterar la
|
||
//! lógica interna de sus componentes.
|
||
//!
|
||
//! Un tema **declara las regiones** (*cabecera*, *barra lateral*, *pie*, etc.) que estarán
|
||
//! disponibles para colocar contenido. Los temas son responsables últimos de los estilos,
|
||
//! tipografías, espaciados y cualquier otro detalle visual o de comportamiento (como animaciones,
|
||
//! *scripts* de interfaz, etc.).
|
||
//!
|
||
//! Los temas son extensiones que implementan [`Extension`](crate::core::extension::Extension); por
|
||
//! lo que se instancian, declaran sus dependencias y se inician igual que el resto de extensiones;
|
||
//! pero serán temas si además implementan [`theme()`](crate::core::extension::Extension::theme) y
|
||
//! [`Theme`].
|
||
|
||
mod definition;
|
||
pub use definition::{Theme, ThemeRef};
|
||
|
||
mod regions;
|
||
pub(crate) use regions::ChildrenInRegions;
|
||
pub use regions::{InRegion, Region, REGION_CONTENT};
|
||
|
||
pub(crate) mod all;
|