Commit graph

43 commits

Author SHA1 Message Date
633b0c1adb ♻️ (bootsier): Refactoriza la gestión de clases
- Mejora la legibilidad del código.
- Simplifica las alteraciones de clases en los componentes `Container`,
  `Dropdown`, `Image`, `Nav`, `Navbar` y `Offcanvas` usando métodos
  dedicados para generar clases en función de sus propiedades.
- Mejora los enums añadiendo métodos que devuelven sus clases
  asociadas, reduciendo código repetitivo.
- Elimina el trait `JoinClasses` y su implementación, integrando la
  lógica de unión de clases directamente en los componentes.
2025-12-21 10:03:03 +01:00
8b1bfdc740 Añade trait JoinClasses para unir clases CSS
También elimina macros sin uso `join_op!` y `join_strict!` (KISS).
2025-12-21 10:03:03 +01:00
9555d092e3 🍱 Reemplaza imágenes del logo de PageTop con SVG 2025-12-21 10:02:24 +01:00
195bcd8ffa Simplifica Display con f.write_str() 2025-12-21 10:01:58 +01:00
76369e5a0f 🎨 (pagetop): Mejoras sencillas en doc. y código 2025-12-21 10:01:51 +01:00
e96aeac271 (unit): Añade método is_numeric en UnitValue 2025-12-21 10:01:44 +01:00
65d7c314f4 (html): Añade soporte para unidades CSS 2025-12-21 10:01:37 +01:00
67af3ea703 📝 Repasa doc y cambia caracteres Unicode ambiguos 2025-12-21 10:01:19 +01:00
fa9caa3287 📝 Evita en los ejemplos use pagetop::prelude::*; 2025-12-21 10:01:19 +01:00
f152cc0679 🚧 (core): Mueve Context al ámbito de componentes 2025-12-21 10:01:12 +01:00
698862a3b7 🚚 Renombra AssetsOp por ContextOp 2025-12-21 10:01:12 +01:00
906c0989b2 💡 Mejora legibilidad de comentarios 2025-12-21 10:00:58 +01:00
b98c5843b2 🚨 Ajustes menores sugeridos por clippy 2025-12-21 10:00:34 +01:00
de328f9d3d 🔥 Elimina Render para usar siempre el contexto 2025-12-21 10:00:27 +01:00
b88cd84009 🎨 Unifica conversiones a String con to_string()
Como `String::from()` y `.to_string()` son equivalentes, se sustituyen
todas las ocurrencias de `String::from()` por `to_string()` para mayor
coherencia y legibilidad.
2025-12-21 10:00:27 +01:00
f274c9c952 (context): Añade métodos auxiliares de parámetros 2025-12-21 10:00:21 +01:00
7a7087e642 📝 Mejora la documentación de recursos y contexto 2025-12-21 10:00:21 +01:00
5e5fa0fe01 🚧 (context): Define un trait común de contexto 2025-12-21 10:00:14 +01:00
65f1c78807 🚧 (context): Generaliza los parámetros de contexto 2025-12-21 09:59:59 +01:00
e9aa575e75 🎨 (locale): Mejora el uso de lookup / using 2025-12-21 09:59:42 +01:00
132cce8963 🚧 (html): Implementa Default en Context 2025-12-21 09:59:11 +01:00
21ccba5c1e 💡 Corrección menor en comentario 2025-12-21 09:59:11 +01:00
a38bbb1fa0 ♻️ (html): Cambia tipos Option... por Attr...
Renombra los tipos para atributos HTML `Id`, `Name`, `Value` (`String`),
`L10n` (`Translate`) y `Classes`. Y mueve `OptionComponent` al *core* de
componentes como `TypedSlot`.
2025-12-21 09:58:22 +01:00
ef1ea2578a 🎨 Retoques al importar fmt para usar Display 2025-12-21 09:57:57 +01:00
481835e9d8 🦺 Modifica tipos para atributos HTML a minúsculas 2025-12-21 09:57:57 +01:00
24f4b84164 🧑‍💻 Mejora la integración de archivos estáticos
Elimina el uso de `include_files!` y sustituye `include_files_service!`
por alternativas más completas ofreciadas por `static_files_service!`.
2025-12-21 09:57:57 +01:00
76b1443c67 💡 Retoques menores en comentarios para documentar 2025-12-21 09:57:40 +01:00
e3ed4ecae9 🏷️ Simplifica nombres de traits esenciales
Los traits `ExtensionTrait`, `ThemeTrait` y `ComponentTrait` pasan a ser
`Extension`, `Theme`y `Component`, respectivamente,
2025-12-21 09:57:40 +01:00
5a6f566e7c ♻️ Refactoriza manejo de idiomas para localización 2025-12-21 09:57:40 +01:00
2dfcd80b84 🧑‍💻 Mejora funcionalidad del componente Html
- Amplía la documentación del componente.
- Aplica la nueva funcionalidad en la página de bienvenida usando el
  nuevo renderizado dinámico con contexto.
- Añade pruebas unitarias para el componente.
2025-12-21 09:57:40 +01:00
da776a4f64 Añade soporte para responder páginas HTML
- 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.
2025-12-21 09:57:31 +01:00
336788f619 💡 Mejora los comentarios para normalizar 2025-12-21 09:57:31 +01:00
3c392ee192 ✏️ Corrige las referencias "builder" a self/Self 2025-12-21 09:57:31 +01:00
26c3c5c46a ♻️ Reemplaza ContextOp por AssetsOp en el contexto 2025-12-21 09:57:31 +01:00
90ecdcf99d 💡 Normaliza comentarios en varios archivos 2025-12-21 09:51:43 +01:00
03fa63d513 🧑‍💻 Mejora las operaciones de cambio en contexto 2025-12-21 09:51:43 +01:00
0683d8cdfa Añade acciones base y renderizado de componentes
- Añade acciones BeforeRender y AfterRender para ejecutar código
  personalizado antes y después de renderizar un componente.
- Introduce la acción PrepareRender para personalizar totalmente el
  renderizado de un componente.
- Se actualizan las definiciones de acciones para utilizar el nuevo
  "trait" ActionDispatcher.
- Se crea un nuevo trait ComponentTrait para definir componentes
  renderizables.
- Se implementan las estructuras Children y Child para gestionar
  componentes hijos dentro de un componente padre.
- Se añade OptionComponent para encapsular de forma segura componentes
  opcionales y poder usarlos en otros componentes.
2025-12-21 09:51:43 +01:00
84aff05e73 🏗️ Añade el tema para renderizar en contexto HTML 2025-12-21 09:51:43 +01:00
e9fe500d07 Añade tipos para renderizar atributos HTML 2025-12-21 09:51:43 +01:00
16b8123768 Añade soporte para recursos en documentos HTML
- Incluye los recursos favicon, hojas de estilo y scripts JavaScript.
- Se introduce una estructura de contexto que, además de gestionar el
  idioma y el uso de parámetros contextuales, permite administrar estos
  recursos en documentos HTML.
2025-12-21 09:51:43 +01:00
2ca82903c9 🚑 (macros): Corrige rutas absolutas en html!
- Mantiene fijas las rutas absolutas en las funciones de la macro html!.
- Introduce un alias interno del crate (`extern crate self as pagetop;`)
  en `src/lib.rs` para que las expansiones funcionen uniformemente en
  tests, ejemplos y dependencias externas.
2025-12-21 09:51:25 +01:00
c6f538d3ea ⬆️ Actualiza el código de maud a la versión 0.27.0 2025-12-21 09:51:15 +01:00
e6035ffa92 Añade macro para componer HTML en código
- Incorpora el código de la versión 0.25.0 de `maud_macros` creado por
  Chris Wong.
- Y reexporta los elementos esenciales desde la librería principal.
2025-12-21 09:51:15 +01:00