Commit graph

33 commits

Author SHA1 Message Date
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
84aff05e73 🏗️ Añade el tema para renderizar en contexto HTML 2025-12-21 09:51:43 +01:00
e9fe500d07 Añade tipos para renderizar atributos HTML 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
fec29ebf71 📝 Retoques en la documentación 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
663e6536fd 🧑‍💻 (build): Más opciones de tipo para funciones
Cambia parámetros de tipo en las funciones `from_dir` y `with_name` para
aceptar referencias a cadenas.
2025-12-21 09:51:34 +01:00
e52e1b3869 🧑‍💻 Mejora uso y doc. de la API de localización 2025-12-21 09:51:34 +01:00
2ca82903c9 🚑 (macros): Corrige rutas absolutas en html!
- Mantiene fijas las rutas absolutas en las funciones de la macro html!.
- Introduce un alias interno del crate (`extern crate self as pagetop;`)
  en `src/lib.rs` para que las expansiones funcionen uniformemente en
  tests, ejemplos y dependencias externas.
2025-12-21 09:51:25 +01:00
3a541908f2 📝 Actualiza documentación con favicon propio 2025-12-21 09:51:25 +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
a9e893b7c9 🎨 Mejora definición encapsulando uso de recursos 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
f92e90d3e0 🚩 Añade feature "testing"
- Permite desactivar trazas y registro de eventos al ejecutar tests.
- Añade opción de configuración para activar o desactivar las trazas.
2025-12-21 09:51:15 +01:00
c7a416dcae Añade estáticos y SCSS compilados para binarios
Módulo auxiliar para ejecutar durante la compilación de proyectos de
PageTop para incluir archivos estáticos o archivos SCSS compilados en
los binarios de los proyectos.
2025-12-21 09:51:15 +01:00
a93d1c7e60 📝 Actualiza el banner en la documentación 2025-12-21 09:51:15 +01:00
690840e66c 🍱 Añade el banner de PageTop 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
d4871c0b80 🚨 Aplica retoques por ejecución de clippy 2025-12-21 09:51:15 +01:00
b6e4d54fd4 Añade AutoDefault para derivar Default avanzado 2025-12-21 09:51:15 +01:00
c6f538d3ea ⬆️ Actualiza el código de maud a la versión 0.27.0 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
dac26f1f16 📝 (config): Amplía y corrige documentación 2025-12-21 09:50:58 +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
45e2882653 📄 Añade las licencias del proyecto 2025-06-24 20:23:28 +02:00
5b9c5ffdae 🎉 Inicia el proyecto 2025-06-24 15:57:55 +02:00