Commit graph

48 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
66c7938211 (bootsier): Añade componente Nav
- Adapta `Dropdown` para poder integrarlo en los menús `Nav`.
- Actualiza `Children` para soportar operaciones múltiples.
2025-12-21 10:24:46 +01:00
c6926b3121 🩹 Correcciones menores en comentarios y código 2025-12-21 10:24:39 +01:00
9ef8d09e3f ️ Mejora macro join_opt! y retoca documentación 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
855f4052e2 📝 Repasa doc y cambia caracteres Unicode ambiguos 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
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
7b99ee9478 🎨 Mejora Region para declarar las regiones 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
2041465977 🚚 Renombra ErrorParam por ContextError 2025-12-21 10:23:37 +01:00
e53c5e8395 🚧 (core): Mueve Context al ámbito de componentes 2025-12-21 10:23:31 +01:00
d2a8a169e6 💡 Mejora legibilidad de comentarios 2025-12-21 10:23:19 +01:00
af52de8149 🔥 Elimina definitivamente TypedOpt por Typed 2025-12-21 10:23:19 +01:00
07dbdc8a16 🚚 Renombra TypedSlot por TypedOpt 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
9aafe19b93 🔥 Elimina Render para usar siempre el contexto 2025-12-21 10:22:53 +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
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
0ed84d1fd6 🚚 Renombra with_component por add_component 2025-12-21 10:22:20 +01:00
9716f43dd7 📝 (doc): Normaliza referencias al nombre PageTop 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
6d7656e94a 📝 (component): Amplía documentación de preparación
Añade un párrafo explicando la mejor manera de que `prepare_component()`
pueda ser útil a los programadores que sobrescriban su comportamiento.
2025-12-21 10:21:42 +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
f925fdf719 🎨 (theme): Mejora gestión de regiones en páginas 2025-12-21 10:21:23 +01:00
9cd9ca4c22 📝 Retoques menores en la documentación 2025-12-21 10:21:10 +01:00
65fb79f5ed 🧑‍💻 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 10:21:10 +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
d68ad398fe 💡 Corrige ejemplos de uso del componente Html 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
0bad96985d 🍱 Añade gestión de recursos estáticos de PageTop 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
81f2e9f04b 💡 Mejora los comentarios para normalizar 2025-12-21 10:17:55 +01:00
fbdae7632f 💡 Normaliza comentarios en varios archivos 2025-12-21 10:17:48 +01:00
2ea9e99d5e Añade gestión de regiones en temas 2025-12-21 10:17:48 +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
74c850d5c8 Añade soporte para inyectar acciones en código 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
e6c59b8579 📝 Retoques en la documentación 2025-12-21 10:17:48 +01:00
39eb449310 Añade API para extensiones con funcionalidades
Añade el interfaz común que debe implementar cualquier extensión de
PageTop para añadir nuevas funcionalidades a la aplicación en forma de
servicios web y API de uso.
2025-12-21 10:17:33 +01:00