- Amplia la estructura "Page" para trabajar el renderizado con regiones de componentes para componer la página. - Añade acciones "BeforeRenderBody" y "AfterRenderBody" para alterar el contenido de la página antes y después del renderizado. - Actualiza "Context" para admitir parámetros dinámicos y mejorar la gestión de temas. - Implementa el manejo de errores HTTP respondiendo páginas. - Mejora la documentación y reorganiza el código en varios módulos.
27 lines
1.2 KiB
Rust
27 lines
1.2 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.).
|
||
//!
|
||
//! Es una extensión más (implementando [`ExtensionTrait`](crate::core::extension::ExtensionTrait)).
|
||
//! Se instala, activa y declara dependencias igual que el resto de extensiones; y se señala a sí
|
||
//! misma como tema (implementando [`theme()`](crate::core::extension::ExtensionTrait::theme)
|
||
//! y [`ThemeTrait`]).
|
||
|
||
mod definition;
|
||
pub use definition::{ThemeRef, ThemeTrait};
|
||
|
||
mod regions;
|
||
pub(crate) use regions::ChildrenInRegions;
|
||
pub use regions::InRegion;
|
||
|
||
pub(crate) mod all;
|
||
|
||
/// Nombre de la región por defecto: `content`.
|
||
pub const CONTENT_REGION_NAME: &str = "content";
|