Compare commits

..

No commits in common. "main" and "pagetop-macros-v0.3.0" have entirely different histories.

22 changed files with 39 additions and 124 deletions

View file

@ -8,59 +8,29 @@ Resume la evolución del proyecto para usuarios y colaboradores, destacando nuev
correcciones, mejoras durante el desarrollo o cambios en la documentación. Cambios menores o correcciones, mejoras durante el desarrollo o cambios en la documentación. Cambios menores o
internos pueden omitirse si no afectan al uso del proyecto. internos pueden omitirse si no afectan al uso del proyecto.
## 0.5.0 (2026-05-03)
PageTop 0.5.0 es la versión más ambiciosa hasta la fecha; concentra un largo periodo de trabajo en
refactorizaciones, nuevas abstracciones y mejoras que sientan las bases para una API estable y
robusta.
Algunos cambios pueden romper la compatibilidad con versiones anteriores. Se recomienda consultar la
[documentación de PageTop](https://docs.rs/pagetop) para actualizar el código a un entorno más
expresivo y mejor preparado para crecer hacia la versión 1.0. Entre estos cambios destacan:
- **Respuestas web completas**: soporte para páginas HTML, redirecciones HTTP, respuestas JSON,
cookies, y página de bienvenida integrada.
- **API de componentes consolidada**: ciclo de renderizado definitivo con `is_renderable`, manejo de
errores con `ComponentError` o mensajes de estado con `StatusMessage`/`MessageLevel`.
- **Temas hijo y macros de renderizado**: los temas pueden extenderse entre sí para sobrescribir el
renderizado de cualquier componente con `render_component!` y `setup_component!`.
- **Nueva acción `AlterMarkup`**: permite a extensiones y temas interceptar y transformar el HTML
final de cualquier componente antes de entregarlo.
- **Regiones y plantillas en temas**: los componentes `Region` y `Template` formalizan la gestión de
regiones, respaldados por una API de `Children` e `InRegion` completamente revisada.
- **Sistema de localización refactorizado**: nueva arquitectura interna con API más clara, mejor
integración en el contexto y soporte robusto para múltiples idiomas.
- **Tipos HTML consolidados**: unidades CSS, clase `Classes`, atributos HTML refactorizados y
cadenas internas optimizadas con `CowStr`.
- **Nuevas macros y utilidades de API pública**: macro `Getters` para exponer campos de componentes.
- **Configuración tipada**: nuevas opciones de configuración enumeradas para el log y otros
parámetros del sistema, con una gestión más expresiva y segura.
- **Recursos estáticos y trazabilidad**: gestión de recursos estáticos integrada en el núcleo de
PageTop y soporte para trazas y registro de eventos desde la propia librería.
## 0.4.0 (2025-09-20) ## 0.4.0 (2025-09-20)
### Añadido ### Añadido
- (app) Añade manejo de rutas no encontradas - [app] Añade manejo de rutas no encontradas
- (context) Añade métodos auxiliares de parámetros - [context] Añade métodos auxiliares de parámetros
- (util) Añade `indoc` para indentar código bien - [util] Añade `indoc` para indentar código bien
- Añade componente `PoweredBy` para copyright - Añade componente `PoweredBy` para copyright
### Cambiado ### Cambiado
- (html) Cambia tipos `Option...` por `Attr...` - [html] Cambia tipos `Option...` por `Attr...`
- (html) Implementa `Default` en `Context` - [html] Implementa `Default` en `Context`
- (welcome) Crea página de bienvenida desde intro - [welcome] Crea página de bienvenida desde intro
- (context) Generaliza los parámetros de contexto - [context] Generaliza los parámetros de contexto
- (context) Define un `trait` común de contexto - [context] Define un `trait` común de contexto
- Modifica tipos para atributos HTML a minúsculas - Modifica tipos para atributos HTML a minúsculas
- Renombra `with_component` por `add_child` - Renombra `with_component` por `add_child`
### Corregido ### Corregido
- (welcome) Corrige giro botón con ancho estrecho - [welcome] Corrige giro botón con ancho estrecho
- (welcome) Corrige centrado del pie de página - [welcome] Corrige centrado del pie de página
- Corrige nombre de función en prueba de `Html` - Corrige nombre de función en prueba de `Html`
- Corrige doc y código por cambios en Page - Corrige doc y código por cambios en Page
@ -70,19 +40,20 @@ expresivo y mejor preparado para crecer hacia la versión 1.0. Entre estos cambi
### Documentado ### Documentado
- (component) Amplía documentación de preparación - [component] Amplía documentación de preparación
- Normaliza referencias al nombre PageTop - Normaliza referencias al nombre PageTop
- Simplifica documentación de obsoletos - Simplifica documentación de obsoletos
- Mejora la documentación de recursos y contexto - Mejora la documentación de recursos y contexto
### Otros cambios ### Otros cambios
- (theme) Mejora gestión de regiones en páginas - 🎨 [theme] Mejora gestión de regiones en páginas
- (tests) Amplía pruebas para `PrepareMarkup' - ✅ [tests] Amplía pruebas para `PrepareMarkup'
- (locale) Mejora el uso de `lookup` / `using` - 🎨 [locale] Mejora el uso de `lookup` / `using`
- (tools) Fuerza pulsar intro para confirmar input - 🔨 [tools] Fuerza pulsar intro para confirmar input
- Unifica conversiones a String con `to_string()` - 💄 Aplica BEM a estilos de bienvenida y componente
- Elimina `Render` para usar siempre el contexto - 🎨 Unifica conversiones a String con `to_string()`
- 🔥 Elimina `Render` para usar siempre el contexto
## 0.3.0 (2025-08-16) ## 0.3.0 (2025-08-16)

8
Cargo.lock generated
View file

@ -1635,7 +1635,7 @@ checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381"
[[package]] [[package]]
name = "pagetop" name = "pagetop"
version = "0.5.0" version = "0.4.0"
dependencies = [ dependencies = [
"actix-files", "actix-files",
"actix-session", "actix-session",
@ -1669,7 +1669,7 @@ dependencies = [
[[package]] [[package]]
name = "pagetop-aliner" name = "pagetop-aliner"
version = "0.1.0" version = "0.0.9"
dependencies = [ dependencies = [
"pagetop", "pagetop",
"pagetop-build", "pagetop-build",
@ -1677,7 +1677,7 @@ dependencies = [
[[package]] [[package]]
name = "pagetop-bootsier" name = "pagetop-bootsier"
version = "0.1.1" version = "0.0.18"
dependencies = [ dependencies = [
"pagetop", "pagetop",
"pagetop-build", "pagetop-build",
@ -1704,7 +1704,7 @@ dependencies = [
[[package]] [[package]]
name = "pagetop-minimal" name = "pagetop-minimal"
version = "0.1.0" version = "0.0.10"
dependencies = [ dependencies = [
"concat-string", "concat-string",
"indoc", "indoc",

View file

@ -1,6 +1,6 @@
[package] [package]
name = "pagetop" name = "pagetop"
version = "0.5.0" version = "0.4.0"
edition = "2021" edition = "2021"
description = """ description = """
@ -83,10 +83,10 @@ serde = { version = "1.0", features = ["derive"] }
# Helpers # Helpers
pagetop-build = { version = "0.3", path = "helpers/pagetop-build" } pagetop-build = { version = "0.3", path = "helpers/pagetop-build" }
pagetop-macros = { version = "0.3", path = "helpers/pagetop-macros" } pagetop-macros = { version = "0.3", path = "helpers/pagetop-macros" }
pagetop-minimal = { version = "0.1", path = "helpers/pagetop-minimal" } pagetop-minimal = { version = "0.0", path = "helpers/pagetop-minimal" }
pagetop-statics = { version = "0.1", path = "helpers/pagetop-statics" } pagetop-statics = { version = "0.1", path = "helpers/pagetop-statics" }
# Extensions # Extensions
pagetop-aliner = { version = "0.1", path = "extensions/pagetop-aliner" } pagetop-aliner = { version = "0.0", path = "extensions/pagetop-aliner" }
pagetop-bootsier = { version = "0.1", path = "extensions/pagetop-bootsier" } pagetop-bootsier = { version = "0.0", path = "extensions/pagetop-bootsier" }
# PageTop # PageTop
pagetop = { version = "0.5", path = "." } pagetop = { version = "0.4", path = "." }

View file

@ -1,15 +0,0 @@
# CHANGELOG
Este archivo documenta los cambios más relevantes realizados en cada versión. El formato está basado
en [Keep a Changelog](https://keepachangelog.com/es-ES/1.0.0/), y las versiones se numeran siguiendo
las reglas del [Versionado Semántico](https://semver.org/lang/es/).
Resume la evolución del proyecto para usuarios y colaboradores, destacando nuevas funcionalidades,
correcciones, mejoras durante el desarrollo o cambios en la documentación. Cambios menores o
internos pueden omitirse si no afectan al uso del proyecto.
## 0.1.0 (2026-05-03)
### Añadido
- Versión inicial

View file

@ -1,6 +1,6 @@
[package] [package]
name = "pagetop-aliner" name = "pagetop-aliner"
version = "0.1.0" version = "0.0.9"
edition = "2021" edition = "2021"
description = """ description = """

View file

@ -1,21 +0,0 @@
# CHANGELOG
Este archivo documenta los cambios más relevantes realizados en cada versión. El formato está basado
en [Keep a Changelog](https://keepachangelog.com/es-ES/1.0.0/), y las versiones se numeran siguiendo
las reglas del [Versionado Semántico](https://semver.org/lang/es/).
Resume la evolución del proyecto para usuarios y colaboradores, destacando nuevas funcionalidades,
correcciones, mejoras durante el desarrollo o cambios en la documentación. Cambios menores o
internos pueden omitirse si no afectan al uso del proyecto.
## 0.1.1 (2026-05-07)
### Cambiado
- Renombra módulo `aux` por `attrs` para evitar posibles conflictos en Windows (#11)
## 0.1.0 (2026-05-03)
### Añadido
- Versión inicial

View file

@ -1,6 +1,6 @@
[package] [package]
name = "pagetop-bootsier" name = "pagetop-bootsier"
version = "0.1.1" version = "0.0.18"
edition = "2021" edition = "2021"
description = """ description = """

View file

@ -4,8 +4,8 @@
//! que se muestran en el apartado **Structs**, mientras que en **Enums** se listan los elementos //! que se muestran en el apartado **Structs**, mientras que en **Enums** se listan los elementos
//! auxiliares del tema utilizados en clases y componentes. //! auxiliares del tema utilizados en clases y componentes.
mod attrs; mod aux;
pub use attrs::*; pub use aux::*;
pub mod classes; pub mod classes;

View file

@ -1,6 +1,6 @@
use pagetop::prelude::*; use pagetop::prelude::*;
use crate::theme::attrs::Color; use crate::theme::aux::Color;
/// Esquema de color para los bordes ([`classes::Border`](crate::theme::classes::Border)). /// Esquema de color para los bordes ([`classes::Border`](crate::theme::classes::Border)).
#[derive(AutoDefault, Clone, Copy, Debug, PartialEq)] #[derive(AutoDefault, Clone, Copy, Debug, PartialEq)]

View file

@ -1,6 +1,6 @@
use pagetop::prelude::*; use pagetop::prelude::*;
use crate::theme::attrs::Color; use crate::theme::aux::Color;
// **< ButtonAction >********************************************************************************* // **< ButtonAction >*********************************************************************************

View file

@ -1,6 +1,6 @@
use pagetop::prelude::*; use pagetop::prelude::*;
use crate::theme::attrs::{BorderColor, Opacity, ScaleSize, Side}; use crate::theme::aux::{BorderColor, Opacity, ScaleSize, Side};
/// Clases para crear **bordes**. /// Clases para crear **bordes**.
/// ///

View file

@ -1,6 +1,6 @@
use pagetop::prelude::*; use pagetop::prelude::*;
use crate::theme::attrs::{ColorBg, ColorText, Opacity}; use crate::theme::aux::{ColorBg, ColorText, Opacity};
// **< Background >********************************************************************************* // **< Background >*********************************************************************************

View file

@ -1,6 +1,6 @@
use pagetop::prelude::*; use pagetop::prelude::*;
use crate::theme::attrs::{ScaleSize, Side}; use crate::theme::aux::{ScaleSize, Side};
use crate::theme::BreakPoint; use crate::theme::BreakPoint;
// **< Margin >************************************************************************************* // **< Margin >*************************************************************************************

View file

@ -1,6 +1,6 @@
use pagetop::prelude::*; use pagetop::prelude::*;
use crate::theme::attrs::RoundedRadius; use crate::theme::aux::RoundedRadius;
/// Clases para definir **esquinas redondeadas**. /// Clases para definir **esquinas redondeadas**.
/// ///

View file

@ -1,6 +1,6 @@
use pagetop::prelude::*; use pagetop::prelude::*;
use crate::theme::attrs::BreakPoint; use crate::theme::aux::BreakPoint;
// **< Kind >*************************************************************************************** // **< Kind >***************************************************************************************

View file

@ -1,20 +0,0 @@
# CHANGELOG
Este archivo documenta los cambios más relevantes realizados en cada versión. El formato está basado
en [Keep a Changelog](https://keepachangelog.com/es-ES/1.0.0/), y las versiones se numeran siguiendo
las reglas del [Versionado Semántico](https://semver.org/lang/es/).
Resume la evolución del proyecto para usuarios y colaboradores, destacando nuevas funcionalidades,
correcciones, mejoras durante el desarrollo o cambios en la documentación. Cambios menores o
internos pueden omitirse si no afectan al uso del proyecto.
## 0.1.0 (2026-05-03)
### Añadido
- Añade macros declarativas a utilidades
- Incorpora `paste!` a las utilidades
### Documentado
- Añade guías de contribución y revisa estilos

View file

@ -1,6 +1,6 @@
[package] [package]
name = "pagetop-minimal" name = "pagetop-minimal"
version = "0.1.0" version = "0.0.10"
edition = "2021" edition = "2021"
description = """ description = """