Commit graph

24 commits

Author SHA1 Message Date
b163b7726e ♻️ (util): Simplifica normalize_ascii*
`normalize_ascii_or_empty()` pasa a llamarse `normalize_ascii()` (la
variante indulgente, la más usada); la antigua `normalize_ascii()` pasa
a `normalize_ascii_non_blank()`.
2026-09-05 21:19:15 +02:00
dc2ed27da4 ♻️ (util): Extrae non_blank() y normalize_token() 2026-07-28 01:00:14 +02:00
af548b03c9 (core): Añade Route, RoutePath y Waypoint
`Route` resuelve URLs sensibles al `Context`/idioma en propiedades de
componentes; `RoutePath` (renombrado desde html/route.rs) es el valor
concreto de ruta + query. `Waypoint` transporta la URL de retorno entre
pantallas de listado/alta/edición vía query string.

Ajusta `Context::route()`, `Redirect` y los componentes que aceptan
rutas para integrarse con el nuevo tipo `Route`.
2026-07-19 22:16:21 +02:00
30151b6254 ♻️ (macros): Deja main/test sin depender de Tokio
Antes delegaban directamente en `#[tokio::main]`/`#[tokio::test]`; ahora
construyen su propio runtime vía `pagetop::util::build_runtime()`, con
el mismo comportamiento (`Builder::new_multi_thread().enable_all()`).
Las extensiones que usan estas macros ya no necesitan declarar Tokio
como dependencia directa en su `Cargo.toml`.
2026-07-14 00:44:21 +02:00
9c58d5e1d6 ♻️ (pagetop): Migra de actix-web a Axum
Sustituye el módulo `service` por `web` y adapta toda la API al modelo
de Axum: router inmutable, extractores via `FromRequestParts` y
servicios Tower para archivos estáticos.

- `HttpRequest` pasa a ser un tipo propio, mínimo y clonable.
- `configure_services` pasa a `configure_routes`.
- `EmbeddedFilesService` pasa a `ServeEmbedded`.
- Elimina `session_lifetime` de `Server` (va a `pagetop-auth`).
- Actualiza tests y ejemplos a la nueva API.
2026-05-30 22:30:58 +02:00
0684472df2 🩹 Mensajes de error en minúscula y corrige test 2026-05-02 18:19:45 +02: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
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
efd4975a50 🚧 Retoques menores en la documentación 2025-12-03 22:56:04 +01:00
4ac7caddd4 🗑️ Elimina métodos y definiciones obsoletas 2025-11-23 14:37:00 +01:00
5ec69345b3 Añade trait JoinClasses para unir clases CSS
También elimina macros sin uso `join_op!` y `join_strict!` (KISS).
2025-11-08 08:07:59 +01:00
708dc9244b ️ Mejora macro join_opt! y retoca documentación 2025-10-19 21:39:14 +02:00
f25f62dd3c 📝 Evita en los ejemplos use pagetop::prelude::*; 2025-10-12 06:57:04 +02:00
31435f30d3 💡 Mejora legibilidad de comentarios 2025-09-28 08:51:21 +02:00
cc03a0ea32 (util): Añade indoc para indentar código bien 2025-09-12 01:13:17 +02:00
7179cf0831 🎨 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-09-11 19:03:34 +02:00
fec3c32b8e 📝 (doc): Simplifica documentación de obsoletos 2025-09-03 21:12:19 +02:00
313ce391d5 📝 Retoques menores en la documentación 2025-08-21 09:12:22 +02:00
801642faab 🧑‍💻 Redefine función para directorios absolutos 2025-08-16 11:54:48 +02:00
4b281a1e96 🧑‍💻 Añade macros para concatenar cadenas 2025-07-16 00:45:05 +02:00
4eadc8b257 Añade gestión de recursos en binario o de disco
- Añade dosnuevas macros `include_files` y `include_files_service` para
  incluir los recursos preparados con `pagetop-build`.
- Añade nueva función útil `absolute_dir` y sus tests correspondientes.
2025-07-12 06:35:09 +02:00
896b066ca9 Añade soporte para localización y traducción
- Incluye recursos Fluent básicos y pruebas asociadas.
- Nueva variable de configuración global para definir el idioma
  predeterminado.
2025-07-09 20:39:39 +02:00