diff --git a/examples/hello-name.rs b/examples/hello-name.rs index b6f9c113..c6a82aaf 100644 --- a/examples/hello-name.rs +++ b/examples/hello-name.rs @@ -14,11 +14,7 @@ async fn hello_name( ) -> ResultPage { let name = path.into_inner(); Page::new(request) - .add_child(Html::with(move |_| { - html! { - h1 style="text-align: center;" { "Hello " (name) "!" } - } - })) + .add_child(Html::with(move |_| html! { h1 { "Hello " (name) "!" } })) .render() } diff --git a/examples/hello-world.rs b/examples/hello-world.rs index 74727ac2..64817466 100644 --- a/examples/hello-world.rs +++ b/examples/hello-world.rs @@ -10,11 +10,7 @@ impl Extension for HelloWorld { async fn hello_world(request: HttpRequest) -> ResultPage { Page::new(request) - .add_child(Html::with(|_| { - html! { - h1 style="text-align: center;" { "Hello World!" } - } - })) + .add_child(Html::with(|_| html! { h1 { "Hello World!" } })) .render() } diff --git a/examples/navbar-menus.rs b/examples/navbar-menus.rs index 079508e9..341d394a 100644 --- a/examples/navbar-menus.rs +++ b/examples/navbar-menus.rs @@ -95,7 +95,7 @@ impl Extension for SuperMenu { })), )); - InRegion::Global(&DefaultRegion::Header).add(Child::with( + InRegion::Named("header").add(Child::with( Container::new() .with_width(container::Width::FluidMax(UnitValue::RelRem(75.0))) .add_child(navbar_menu), diff --git a/extensions/pagetop-bootsier/src/lib.rs b/extensions/pagetop-bootsier/src/lib.rs index 5c88959a..fb9b7206 100644 --- a/extensions/pagetop-bootsier/src/lib.rs +++ b/extensions/pagetop-bootsier/src/lib.rs @@ -102,34 +102,6 @@ pub mod prelude { pub use crate::theme::*; } -/// Plantillas que Bootsier añade. -#[derive(AutoDefault)] -pub enum BootsierTemplate { - /// Plantilla predeterminada de Bootsier. - #[default] - Standard, -} - -impl Template for BootsierTemplate { - fn render(&'static self, cx: &mut Context) -> Markup { - match self { - Self::Standard => theme::Container::new() - .with_classes(ClassesOp::Add, "container-wrapper") - .with_width(theme::container::Width::FluidMax( - config::SETTINGS.bootsier.max_width, - )) - .add_child(Html::with(|cx| { - html! { - (DefaultRegion::Header.render(cx)) - (DefaultRegion::Content.render(cx)) - (DefaultRegion::Footer.render(cx)) - } - })), - } - .render(cx) - } -} - /// Implementa el tema. pub struct Bootsier; @@ -145,11 +117,6 @@ impl Extension for Bootsier { } impl Theme for Bootsier { - #[inline] - fn default_template(&self) -> TemplateRef { - &BootsierTemplate::Standard - } - fn before_render_page_body(&self, page: &mut Page) { page.alter_assets(ContextOp::AddStyleSheet( StyleSheet::from("/bootsier/bs/bootstrap.min.css") @@ -160,10 +127,16 @@ impl Theme for Bootsier { JavaScript::defer("/bootsier/js/bootstrap.bundle.min.js") .with_version(BOOTSTRAP_VERSION) .with_weight(-90), - )) - .alter_child_in( - &DefaultRegion::Footer, - ChildOp::AddIfEmpty(Child::with(PoweredBy::new())), - ); + )); + } + + fn render_page_body(&self, page: &mut Page) -> Markup { + theme::Container::new() + .with_id("container-wrapper") + .with_width(theme::container::Width::FluidMax( + config::SETTINGS.bootsier.max_width, + )) + .add_child(Template::named(page.template())) + .render(page.context()) } } diff --git a/extensions/pagetop-bootsier/static/scss/_customs.scss b/extensions/pagetop-bootsier/static/scss/_customs.scss index 45e41001..988d7055 100644 --- a/extensions/pagetop-bootsier/static/scss/_customs.scss +++ b/extensions/pagetop-bootsier/static/scss/_customs.scss @@ -106,9 +106,3 @@ $utilities: map-merge( ), ) ); - -// Region Footer -.region-footer { - padding: .75rem 0 3rem; - text-align: center; -} diff --git a/helpers/pagetop-macros/src/lib.rs b/helpers/pagetop-macros/src/lib.rs index 6fa12357..5772a6ce 100644 --- a/helpers/pagetop-macros/src/lib.rs +++ b/helpers/pagetop-macros/src/lib.rs @@ -366,7 +366,7 @@ pub fn builder_fn(_: TokenStream, item: TokenStream) -> TokenStream { alter_name_str ); let with_alter_doc = concat!( - "Permite modificar la instancia actual (`&mut self`) con los mismos argumentos, ", + "Modifica la instancia actual (`&mut self`) con los mismos argumentos, ", "sin consumirla." ); diff --git a/src/base/component/html.rs b/src/base/component/html.rs index 48e47bbb..1cca9899 100644 --- a/src/base/component/html.rs +++ b/src/base/component/html.rs @@ -51,8 +51,9 @@ impl Html { /// Crea una instancia que generará el `Markup`, con acceso opcional al contexto. /// - /// El método [`Self::prepare_component()`] delega el renderizado a la función que aquí se - /// proporciona, que recibe una referencia mutable al [`Context`]. + /// El método [`prepare_component()`](crate::core::component::Component::prepare_component) + /// delega el renderizado en la función proporcionada, que recibe una referencia mutable al + /// contexto de renderizado ([`Context`]). pub fn with(f: F) -> Self where F: Fn(&mut Context) -> Markup + Send + Sync + 'static, @@ -63,8 +64,8 @@ impl Html { /// Sustituye la función que genera el `Markup`. /// /// Permite a otras extensiones modificar la función de renderizado que se ejecutará cuando - /// [`Self::prepare_component()`] invoque esta instancia. La nueva función también recibe una - /// referencia al [`Context`]. + /// [`prepare_component()`](crate::core::component::Component::prepare_component) invoque esta + /// instancia. La nueva función también recibe una referencia al contexto ([`Context`]). #[builder_fn] pub fn with_fn(mut self, f: F) -> Self where diff --git a/src/core/component/context.rs b/src/core/component/context.rs index 4f2cdf18..922067f4 100644 --- a/src/core/component/context.rs +++ b/src/core/component/context.rs @@ -11,7 +11,7 @@ use crate::{builder_fn, join}; use std::any::Any; use std::collections::HashMap; -/// Operaciones para modificar recursos asociados al [`Context`] de un documento. +/// Operaciones para modificar recursos asociados al contexto ([`Context`]) de un documento. pub enum ContextOp { /// Define el *favicon* del documento. Sobrescribe cualquier valor anterior. SetFavicon(Option), @@ -386,7 +386,7 @@ impl Context { /// 3. Un idioma válido extraído de la cabecera `Accept-Language` del navegador. /// 4. Y si ninguna de las opciones anteriores aplica, se usa el idioma de respaldo (`"en-US"`). /// -/// Resulta útil para usar el [`Context`] como fuente de traducción en +/// Resulta útil para usar un contexto ([`Context`]) como fuente de traducción en /// [`L10n::lookup()`](crate::locale::L10n::lookup) o [`L10n::using()`](crate::locale::L10n::using). impl LangId for Context { fn langid(&self) -> &'static LanguageIdentifier { diff --git a/static/css/intro.css b/static/css/intro.css index e3de4153..9c47c5c4 100644 --- a/static/css/intro.css +++ b/static/css/intro.css @@ -17,22 +17,13 @@ --intro-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06); } -body { - overflow-x: clip; -} - .intro { position: relative; min-width: 350px; color: var(--intro-color); background-color: var(--intro-bg-color); - left: 50%; - right: 50%; - margin-left: -50vw; - margin-right: -50vw; - width: 100vw; - + width: 100%; display: flex; flex-direction: column; justify-content: center;