✨ (minimal): Añade macros declarativas a utilidades
- Incorpora nuevo *crate* `pagetop-minimal` con macros básicas para operaciones con cadenas, bloques de texto o colecciones clave-valor. - Refactoriza código para usar `util::join!` y `util::join_pair!` en la concatenación de cadenas. - Normaliza la gestión de localización usando `util::kv!` para los argumentos con pares clave-valor. - Actualizada documentación y archivos README para reflejar la nueva estructura y funcionalidades.
This commit is contained in:
parent
0351000487
commit
6c024da51e
25 changed files with 504 additions and 154 deletions
|
|
@ -1,7 +1,7 @@
|
|||
use crate::core::component::Context;
|
||||
use crate::html::assets::Asset;
|
||||
use crate::html::{html, Markup, PreEscaped};
|
||||
use crate::{join, join_pair, AutoDefault, Weight};
|
||||
use crate::{util, AutoDefault, Weight};
|
||||
|
||||
// Define el origen del recurso JavaScript y cómo debe cargarse en el navegador.
|
||||
//
|
||||
|
|
@ -215,21 +215,21 @@ impl Asset for JavaScript {
|
|||
fn render(&self, cx: &mut Context) -> Markup {
|
||||
match &self.source {
|
||||
Source::From(path) => html! {
|
||||
script src=(join_pair!(path, "?v=", &self.version)) {};
|
||||
script src=(util::join_pair!(path, "?v=", &self.version)) {};
|
||||
},
|
||||
Source::Defer(path) => html! {
|
||||
script src=(join_pair!(path, "?v=", &self.version)) defer {};
|
||||
script src=(util::join_pair!(path, "?v=", &self.version)) defer {};
|
||||
},
|
||||
Source::Async(path) => html! {
|
||||
script src=(join_pair!(path, "?v=", &self.version)) async {};
|
||||
script src=(util::join_pair!(path, "?v=", &self.version)) async {};
|
||||
},
|
||||
Source::Inline(_, f) => html! {
|
||||
script { (PreEscaped((f)(cx))) };
|
||||
},
|
||||
Source::OnLoad(_, f) => html! { script { (PreEscaped(join!(
|
||||
Source::OnLoad(_, f) => html! { script { (PreEscaped(util::join!(
|
||||
"document.addEventListener(\"DOMContentLoaded\",function(){", (f)(cx), "});"
|
||||
))) } },
|
||||
Source::OnLoadAsync(_, f) => html! { script { (PreEscaped(join!(
|
||||
Source::OnLoadAsync(_, f) => html! { script { (PreEscaped(util::join!(
|
||||
"document.addEventListener(\"DOMContentLoaded\",async()=>{", (f)(cx), "});"
|
||||
))) } },
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue