Commit graph

31 commits

Author SHA1 Message Date
bb2e62b051 (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-21 10:03:56 +01:00
be0da21656 (pagetop): Añade macro Getters para estructuras 2025-12-21 10:03:31 +01:00
e10c0f30c7 🚧 Añade constante PAGETOP_VERSION 2025-12-21 10:03:24 +01:00
bdfbd85c7b 🗑️ Elimina métodos y definiciones obsoletas 2025-12-21 10:03:24 +01:00
633b0c1adb ♻️ (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:03:03 +01:00
8b1bfdc740 Añade trait JoinClasses para unir clases CSS
También elimina macros sin uso `join_op!` y `join_strict!` (KISS).
2025-12-21 10:03:03 +01:00
9555d092e3 🍱 Reemplaza imágenes del logo de PageTop con SVG 2025-12-21 10:02:24 +01:00
65d7c314f4 (html): Añade soporte para unidades CSS 2025-12-21 10:01:37 +01:00
f152cc0679 🚧 (core): Mueve Context al ámbito de componentes 2025-12-21 10:01:12 +01:00
808a0df310 📝 (doc): Normaliza referencias al nombre PageTop 2025-12-21 09:59:28 +01:00
24f4b84164 🧑‍💻 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 09:57:57 +01:00
46e858f93c Añade soporte para sesiones y cookies 2025-12-21 09:57:31 +01:00
da776a4f64 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 09:57:31 +01:00
bf105e8a47 Añade soporte a respuestas JSON 2025-12-21 09:51:43 +01:00
206cbea904 Añade respuestas web con redirecciones HTTP 2025-12-21 09:51:43 +01:00
7d3a135058 Añade el primer componente básico nativo
Este componente renderiza directamente código HTML durante el
renderizado del documento.
2025-12-21 09:51:43 +01:00
0683d8cdfa 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 09:51:43 +01:00
aa748b7f0a Añade soporte para inyectar acciones en código 2025-12-21 09:51:43 +01:00
25d5050e39 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 09:51:43 +01:00
16b8123768 Añade soporte para recursos en documentos HTML
- Incluye los recursos favicon, hojas de estilo y scripts JavaScript.
- Se introduce una estructura de contexto que, además de gestionar el
  idioma y el uso de parámetros contextuales, permite administrar estos
  recursos en documentos HTML.
2025-12-21 09:51:43 +01:00
03a3fc487e 🧑‍💻 Añade macros para concatenar cadenas 2025-12-21 09:51:25 +01:00
e903277ea1 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 09:51:25 +01:00
5652c1b186 (macros): Añade macro builder_fn 2025-12-21 09:51:15 +01:00
8284a65e36 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-12-21 09:51:15 +01:00
5c1cd683c8 Añade soporte para manejo de fechas y horas 2025-12-21 09:51:15 +01:00
6ba5451f06 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-12-21 09:51:15 +01:00
b6e4d54fd4 Añade AutoDefault para derivar Default avanzado 2025-12-21 09:51:15 +01:00
e6035ffa92 Añade macro para componer HTML en código
- Incorpora el código de la versión 0.25.0 de `maud_macros` creado por
  Chris Wong.
- Y reexporta los elementos esenciales desde la librería principal.
2025-12-21 09:51:15 +01:00
2af1e93a9b Añade gestión de trazas y registro de eventos
- Reexporta macros esenciales de `tracing` para el registro de eventos.
- Inicializa el gestor de trazas en el servidor web.
2025-12-21 09:51:15 +01:00
f7dbd90af2 Añade lectura de configuración global y modular
- Soporta jerarquía de ficheros TOML que mapean ajustes a estructuras
  fuertemente tipadas con valores predefinidos.
- Permite definir configuraciones distintas para cada entorno.
- Añade la macro `include_config!` para facilitar la asignación modular
  de ajustes de configuración.
- Añade documentación detallada y tests de verificación.
2025-07-05 22:23:05 +02:00
cbee4c2cb8 Añade servidor web y primeras macros de PageTop
- Crea el crate raíz `pagetop` y configura el workspace con
  `helpers/pagetop-macros`.
- Añade las macros #[pagetop::main] y #[pagetop::test] que envuelven
  Actix-web para crear aplicaciones y pruebas asíncronas sin depender
  explícitamente del framework.
- Reexporta, mediante el módulo `service`, los tipos esenciales de
  Actix-web para gestionar servidores y servicios web.
- Implementa `Application::{new, run, test}` para simplificar el
  arranque y la ejecución de tests.
- Expone `pagetop::prelude` con las macros, `service` y `Application`
  para una API pública coherente.
- Incorpora ejemplo `examples/app-basic.rs` que levanta un servidor web
  vacío con el código mínimo para hacerlo.
2025-07-03 20:33:52 +02:00