Commit graph

257 commits

Author SHA1 Message Date
234fe71809 🩹 Corrige ejemplo de dependencias 2026-03-30 19:36:17 +02:00
f1295c74df ♻️ (pagetop): Renombra Slot a Embed 2026-03-29 13:32:40 +02:00
d10d546418 (pagetop): Mejora API y doc. de Children
- `From<T: Component> for ChildOp: with_child()` acepta componentes
  directamente sin envolverlos en `Child::with(...)`.
- `From<Child> for ChildOp` para completar las conversiones implícitas.
- Actualiza ejemplos y tests con la nueva API en bootsier y aliner.
2026-03-29 11:54:20 +02:00
cd9454a729 📝 Retoques menores en documentación y ejemplos 2026-03-28 07:48:20 +01:00
54f990b11c ♻️ Refactoriza la API de Children e InRegion
- Patrón prototipo en `InRegion`: cada petición recibe clones profundos.
- `ComponentClone` habilita clonar `dyn Component` de forma segura.
- `ChildTyped<C>` renombrado a `Slot<C>`, elimina `ChildTypedOp`.
- `Mutex` en lugar de `Arc<RwLock>` en `Child` y `Slot`.
- `is_renderable` y `setup_before_prepare` reciben `&Context`.
- Nuevos tests para `Children`, `ChildOp` y `Slot`.
2026-03-26 20:36:32 +01:00
04e3d5b3c2 Completa la API de temas con setup_component!
Elimina `action::theme` fusionando sus responsabilidades en
`action::component`. Renombra `AlterMarkup` a `TransformMarkup` y
`FnActionAlterMarkup` a `FnActionTransformMarkup`. Simplifica
`ActionKey` y mueve los tipos de función al módulo de componente.
2026-03-23 15:52:06 +01:00
0c648fb95a Añade acción AlterMarkup para filtrar render
Permite a las extensiones transformar el `Markup` final de un componente
mediante edición de texto. Se despacha como último paso del ciclo de
renderizado.
2026-03-22 12:15:31 +01:00
02bcf29eaa 📝 Simplifica la descripción de temas en la intro 2026-03-22 09:03:30 +01:00
4cbe84b4c0 Implementa temas hijo y macro render_component!
Añade `Theme::parent()` para declarar jerarquías de herencia entre
temas. Sustituye la acción `PrepareRender<C>` por el método
`Theme::prepare_component()` y la macro `render_component!`.
2026-03-22 08:58:15 +01:00
af309930f7 🩹 Mensajes de error en minúscula y corrige test 2026-03-21 13:26:11 +01:00
04dbbc8858 Añade StatusMessage/MessageLevel al contexto 2026-03-21 13:24:42 +01:00
34aeeab2d7 Añade ComponentError con HTML alternativo
`prepare_component()` ahora devuelve `Result<Markup, ComponentError>` en
lugar de `Markup`, para que los componentes señalen fallos durante el
renderizado de forma explícita.

`ComponentError` encapsula un mensaje de error y un marcado HTML
alternativo opcional (`fallback`). Si se produce un error, el ciclo de
renderizado registra la traza y muestra el `fallback` en lugar del
componente fallido, sin interrumpir el resto de la página.

Lo mismo aplica a los errores devueltos por la acción `PrepareRender` de
los temas, que siguen el mismo mecanismo.
2026-03-21 13:15:39 +01:00
a0b14aec36 Implementa Debug en comp./tipos principales 2026-03-21 11:26:02 +01:00
c3feff9efd 🚚 Renombra ContextOp a AssetsOp
El nombre anterior era ambiguo (podría referirse a cualquier operación
del contexto); `AssetsOp` describe exactamente lo que hace: operar sobre
los recursos del documento.
2026-03-21 11:12:46 +01:00
3e1bc0fb0e ♻️ Cambia en prepare_component() el tipo devuelto
Elimina `PrepareMarkup` como tipo de retorno de prepare_component() y de
`FnPrepareRender`, sustituyéndolo directamente por `Markup`. Se elimina
una capa innecesaria, ya que html! {} y html! { ... } cubren todos los
casos que ofrecía `PrepareMarkup`.
2026-03-17 20:04:26 +01:00
a5ee0fecb1 Merge branch 'preparing-release-zero-five' of git.cillero.es:manuelcillero/pagetop into preparing-release-zero-five 2026-01-06 01:23:29 +01:00
6203a02b89 📝 Retoques menores en documentación 2026-01-06 01:23:26 +01:00
8a29596b18 📝 Retoques menores en documentación 2026-01-06 01:18:45 +01:00
bfaf2e569f (bootsier): Añade componentes para formularios 2026-01-06 01:17:35 +01:00
b39ed38d0d ♻️ (pagetop): Optimiza cadenas con CowStr 2026-01-06 01:16:09 +01:00
cf7aba2b53 Extiende normalización de cadenas ASCII 2026-01-04 19:14:51 +01:00
e9d326cd99 Añade normalización de cadenas ASCII 2026-01-04 13:00:16 +01:00
41d5091348 Añade pruebas para operaciones con clases 2025-12-31 08:48:50 +01:00
00d4de840b ️ Mejora operaciones con clases y documentación 2025-12-31 08:48:25 +01:00
e9565bf70b ️ Mejora rendimiento de búsquedas de clases 2025-12-28 18:00:26 +01:00
4bf2c18b24 ♻️ Refactoriza AttrClasses como Classes 2025-12-28 14:57:21 +01:00
fa32833ffa ♻️ Refactoriza atributos HTML 2025-12-28 14:03:35 +01:00
25d32ec5de ♻️ Cambia Self::default() por Tipo::default() 2025-12-28 13:18:18 +01:00
47c47ba9a0 📝 Actualiza el formato de mensajes commit 2025-12-21 15:20:53 +01:00
dd5cdb19cf 📝 Actualiza las guías de contribución 2025-12-21 09:47:35 +01:00
3db798ad3b 📝 Añade guías de contribución y revisa estilos 2025-12-19 11:15:49 +01:00
57f2fa64f4 🎨 Mejora gestión de errores para 403, 404 y otros 2025-12-17 12:40:53 +01:00
3f00b69902 🚨 Ajuste menor sugerido por clippy 2025-12-17 12:36:26 +01:00
11763d097d 🔥 Elimina anotaciones #[inline] para evitar abuso 2025-12-17 12:35:21 +01:00
700bca7258 💡 Repasa comentarios de la cabecera de funciones 2025-12-16 09:06:52 +01:00
b76c4a4d23 🚧 (config): Opciones enumeradas para el log 2025-12-15 20:51:23 +01:00
16d6afbd98 🚧 (config): Nueva gestión de opciones enumeradas 2025-12-15 17:24:00 +01:00
7b340a19f3 (locale): Refactoriza el sistema de localización
- Modulariza la lógica de localización.
- Actualiza la estructura de `Locale` para mejorar la resolución y
  gestión de idiomas.
- Introduce `RequestLocale` para manejar la negociación de idioma basada
  en las peticiones HTTP.
- Mejora `L10n` para ofrecer una gestión más flexible de traducciones
  con argumentos dinámicos.
- Actualiza la implementación de `LangId` en `Page` para garantizar una
  identificación de idioma coherente.
- Elimina código obsoleto y simplifica la gestión de identificadores de
  idioma.
2025-12-14 14:33:35 +01:00
9297f51b42 🔨 Actualiza *script* de generación de CHANGELOGs 2025-12-12 00:20:25 +01:00
476aff1d8e (pagetop): Añade gestión de rutas con parámetros 2025-12-12 00:14:55 +01:00
caa4cf6096 🚚 Renombra LangMatch por Locale 2025-12-10 15:18:07 +01:00
a46cf35fee ♻️ (minimal): Incorpora paste! a las utilidades 2025-12-07 12:49:51 +01:00
6c024da51e (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.
2025-12-07 11:55:26 +01:00
0351000487 🩹 (bootsier): Corrige más enlaces dinámicos 2025-12-07 11:37:23 +01:00
e271437da8 🩹 Corrige ejemplos con enlaces dinámicos 2025-12-03 23:06:35 +01:00
efd4975a50 🚧 Retoques menores en la documentación 2025-12-03 22:56:04 +01:00
10a8a1136c ♻️ Refactoriza gestión de idiomas en el contexto 2025-12-03 22:55:24 +01:00
c4d0a2f613 Añade config. para activar página de bienvenida 2025-12-03 22:48:05 +01:00
da229e494d Añade soporte a contenido HTML en ítems de menú 2025-12-03 06:47:33 +01:00
498df42b5b 🎨 (pagetop): Mejora gestión de URLs según contexto 2025-12-03 06:41:52 +01:00