- Los errores controlados (403, 404, fatales) se renderizan con el tema activo; un `panic!` no controlado se intercepta con un HTML mínimo y autónomo, sin depender del tema ni de los componentes. - Corrige además que `Context::template()` no seguía los cambios de tema hechos con `with_theme()` después de crear la página. - Renombra `DefaultRegion(s)`/`DefaultTemplate(s)`, añade `Theme::admin_template()` y `Page::admin()`, y documenta la creación de temas e `InRegion` en `core/theme.rs`.
32 lines
925 B
Rust
32 lines
925 B
Rust
/// Es el tema básico que incluye PageTop por defecto.
|
|
use crate::prelude::*;
|
|
|
|
/// Tema básico por defecto que extiende el funcionamiento predeterminado de [`Theme`].
|
|
pub struct Basic;
|
|
|
|
#[async_trait]
|
|
impl Extension for Basic {
|
|
fn theme(&self) -> Option<ThemeRef> {
|
|
Some(&Self)
|
|
}
|
|
}
|
|
|
|
#[async_trait]
|
|
impl Theme for Basic {
|
|
fn before_render_page_body(&self, page: &mut Page) {
|
|
page.alter_assets(AssetsOp::AddStyleSheet(
|
|
StyleSheet::from("/pagetop/css/normalize.css")
|
|
.with_version("8.0.1")
|
|
.with_weight(-99),
|
|
))
|
|
.alter_assets(AssetsOp::AddStyleSheet(
|
|
StyleSheet::from("/pagetop/css/basic.css")
|
|
.with_version(PAGETOP_VERSION)
|
|
.with_weight(-99),
|
|
))
|
|
.alter_child_in(
|
|
&DefaultRegions::Footer,
|
|
ChildOp::AddIfEmpty(PoweredBy::new().into()),
|
|
);
|
|
}
|
|
}
|