Commit graph

45 commits

Author SHA1 Message Date
c3e0f6ff5f (theme): Añade componentes Region y Template
- Incluye un componente base `Template` para gestionar la estructura
  del documento y sus regiones (`Region`).
- Actualiza el *trait* `Contextual` para permitir la selección de la
  plantilla de renderizado.
- Modifica `Page` y `Context`, y refactoriza el manejo de temas, para
  dar soporte al nuevo sistema de plantillas y eliminar la gestión
  obsoleta de regiones.
2025-12-21 10:25:20 +01:00
85731108c2 🚚 Renombra ThemeRegion por DefaultRegions 2025-12-21 10:25:20 +01:00
9ad18d1a11 Incorpora is_renderable en Component 2025-12-21 10:25:20 +01:00
04a7ad3a02 ♻️ (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:25:13 +01:00
5a07f05c5e ⚰️ (menu): Elimina implementación base de menús 2025-12-21 10:24:59 +01:00
ae90c60591 🍱 Reemplaza imágenes del logo de PageTop con SVG 2025-12-21 10:24:39 +01:00
c6926b3121 🩹 Correcciones menores en comentarios y código 2025-12-21 10:24:39 +01:00
bf38ed0356 🔒 Mejora seguridad de enlaces con noopener 2025-12-21 10:24:27 +01:00
f79f976651 ️ Mejora adición de componentes hijos 2025-12-21 10:24:26 +01:00
5fb9685594 🚚 Renombra add_component por add_child 2025-12-21 10:24:13 +01:00
c10f267fc6 🎨 (pagetop): Mejoras sencillas en doc. y código 2025-12-21 10:24:06 +01:00
87c49540a1 Añade tema Bootsier basado en Bootstrap 2025-12-21 10:23:38 +01:00
07d97ebae0 ♻️ Refactoriza página de bienvenida y tema Basic
- Actualiza `Welcome` para usar el nuevo componente `Intro`.
- Simplifica el tema `Basic` apoyándose en la lógica de `Theme`.
- Predefine los *assets* básicos como recursos de `Theme`.
- Refactoriza archivos de localicación para reflejar los cambios de los
componentes.
2025-12-21 10:23:37 +01:00
6c9b9d771f 📝 Evita en los ejemplos use pagetop::prelude::*; 2025-12-21 10:23:37 +01:00
7f052c86bd 🚧 Revisión del estado de los menús 2025-12-21 10:23:37 +01:00
4432c9df9e 🎨 Mejora el uso de regiones y añade BasicRegion 2025-12-21 10:23:37 +01:00
4a21a44342 🚧 Depura la estructura y estilos del menú e intro 2025-12-21 10:23:37 +01:00
95c598b988 🚚 Renombra region_name a region_key 2025-12-21 10:23:37 +01:00
d29de819b9 🎨 Mejora uso de las regiones en contexto y página 2025-12-21 10:23:37 +01:00
378d4f844a 🚚 Renombra AssetsOp por ContextOp 2025-12-21 10:23:31 +01:00
a1e50c9062 🎨 Mejora la estructura y estilos del menú
Rrenombra clases, ajusta estilos CSS y actualiza la lógica de JavaScript
para una mejor gestión de submenús.
2025-12-21 10:23:31 +01:00
2bf62697b5 🚧 (base): Añade nuevo componente menu 2025-12-21 10:23:25 +01:00
43eebf103d 🚧 (base): Añade nuevo componente Icon 2025-12-21 10:23:19 +01:00
d2a8a169e6 💡 Mejora legibilidad de comentarios 2025-12-21 10:23:19 +01:00
c35d87400d 🎨 Unifica parámetros y estilos del tema básico
Ofrece dos composiciones de página dirigidas a una introducción de
contenidos neutra o con referencias a PageTop.
2025-12-21 10:22:59 +01:00
85cbd17edc 🎨 Mejora la página de bienvenida y el tema básico
Convierte la estructura de la página de bienvenida en una composición
del tema básico para ser usada en otros contextos. Por ejemplo, para la
página de mantenimiento, o la página de inicio de la guía de uso de
PageTop.
2025-12-21 10:22:59 +01:00
9e9f64b0eb 🎨 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:22:53 +01:00
0234ed6c09 🎨 Generaliza página de bienvenida con parámetros 2025-12-21 10:22:52 +01:00
40a4a9c2d3 🚧 (context): Generaliza los parámetros de contexto 2025-12-21 10:22:27 +01:00
e6d8bb3405 🚧 (welcome): Crea página de bienvenida desde intro
- Implementa un nuevo *layout* en el tema `Basic` para crear una
  plantilla de páginas de introducción.
- Añade nuevo fichero CSS `intro.css` para los estilos globales de la
  página de introducción.
- Incorpora nuevos recursos gráficos para la cabecera de la página de
  introducción en varios formatos (AVIF, WebP, JPEG).
- Revisa los ficheros de localización.
2025-12-21 10:22:20 +01:00
0a03ef40eb 🎨 (locale): Mejora el uso de lookup / using 2025-12-21 10:22:14 +01:00
9716f43dd7 📝 (doc): Normaliza referencias al nombre PageTop 2025-12-21 10:22:02 +01:00
e45bbf13aa 💄 Aplica BEM a estilos de bienvenida y componente 2025-12-21 10:22:02 +01:00
e313f78528 💄 Añade componente PoweredBy para copyright
Adapta la página de bienvenida al tratamiento revisado de regiones y
añade en el pie el componente `PoweredBy` para la nota de copyright.
2025-12-21 10:21:56 +01:00
9d271b37b5 🚧 Aplica recomendaciones en componente Html 2025-12-21 10:21:56 +01:00
ae54650955 ♻️ (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 10:21:29 +01:00
00f5b3b23e 💡 Retoques menores en comentarios para documentar 2025-12-21 10:18:14 +01:00
2a8dbea835 🏷️ Simplifica nombres de traits esenciales
Los traits `ExtensionTrait`, `ThemeTrait` y `ComponentTrait` pasan a ser
`Extension`, `Theme`y `Component`, respectivamente,
2025-12-21 10:18:14 +01:00
0fbd9ce209 ♻️ Refactoriza manejo de idiomas para localización 2025-12-21 10:18:14 +01:00
2b96a70cf1 🧑‍💻 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 10:18:14 +01:00
4c45c3d251 Añade página de bienvenida y de comprobación
- Añade nueva hoja de estilos (normalize.css) al tema básico.
- Activa la extensión de la página de bienvenida por defecto en el
   registro de extensiones.
- Añade traducciones en inglés y español para el contenido de la página
  de bienvenida.
- Incluye estilos CSS y recursos gráficos para el diseño y disposición
  de la página de bienvenida.
2025-12-21 10:18:14 +01:00
d7114c8955 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 10:17:55 +01:00
86add3e897 Añade el primer componente básico nativo
Este componente renderiza directamente código HTML durante el
renderizado del documento.
2025-12-21 10:17:48 +01:00
2ac09060b8 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 10:17:48 +01:00
f2d9fff0c3 Añade soporte a temas en la API de extensiones
- Incluye una opción de configuración para definir el tema por defecto.
- Añade un tema básico predeterminado.
2025-12-21 10:17:48 +01:00