Un entorno para el desarrollo de soluciones web modulares, extensibles y configurables.
Find a file
Manuel Cillero 37df2ada75 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-07-24 08:38:17 +02:00
.cargo 🚩 Añade feature "testing" 2025-07-11 22:17:59 +02:00
config Añade soporte a temas en la API de extensiones 2025-07-20 23:51:15 +02:00
examples Añade servidor web y primeras macros de PageTop 2025-07-03 20:33:52 +02:00
helpers 🧑‍💻 [build] Más opciones de tipo para funciones 2025-07-20 11:58:17 +02:00
src Añade acciones base y renderizado de componentes 2025-07-24 08:38:17 +02:00
static 📝 Actualiza documentación con favicon propio 2025-07-16 01:04:36 +02:00
tests Añade soporte para recursos en documentos HTML 2025-07-20 14:24:19 +02:00
.gitignore Añade gestión de trazas y registro de eventos 2025-07-06 23:03:21 +02:00
Cargo.lock Añade acciones base y renderizado de componentes 2025-07-24 08:38:17 +02:00
Cargo.toml Añade acciones base y renderizado de componentes 2025-07-24 08:38:17 +02:00
LICENSE-APACHE 📄 Añade las licencias del proyecto 2025-06-24 20:23:28 +02:00
LICENSE-MIT 📄 Añade las licencias del proyecto 2025-06-24 20:23:28 +02:00
README.md 🚩 Añade feature "testing" 2025-07-11 22:17:59 +02:00

PageTop

Un entorno para el desarrollo de soluciones web modulares, extensibles y configurables.

Licencia

PageTop reivindica la esencia de la web clásica usando Rust para la creación de soluciones web SSR (renderizadas en el servidor) basadas en HTML, CSS y JavaScript.

Guía rápida

La aplicación más sencilla de PageTop se ve así:

use pagetop::prelude::*;

#[pagetop::main]
async fn main() -> std::io::Result<()> {
    Application::new().run()?.await
}

🧪 Pruebas

Para simplificar el flujo de trabajo, el repositorio incluye varios alias de Cargo declarados en .cargo/config.toml. Basta con ejecutarlos desde la raíz del proyecto:

Comando Descripción
cargo ts Ejecuta los tests de pagetop (unit + integration) con la feature testing.
cargo ts --test util Lanza sólo las pruebas de integración del módulo util.
cargo tw Ejecuta los tests de todos los paquetes del workspace.

Nota Estos alias ya compilan con la configuración adecuada. No requieren --no-default-features. Si quieres activar las trazas del registro de eventos entonces usa simplemente cargo test.

🚧 Advertencia

PageTop es un proyecto personal para aprender Rust y conocer su ecosistema. Su API está sujeta a cambios frecuentes. No se recomienda su uso en producción, al menos hasta que se libere la versión 1.0.0.

📜 Licencia

El código está disponible bajo una doble licencia:

Puedes elegir la licencia que prefieras. Este enfoque de doble licencia es el estándar de facto en el ecosistema Rust.

Contribuir

Cualquier contribución para añadir al proyecto se considerará automáticamente bajo la doble licencia indicada arriba (MIT o Apache v2.0), sin términos o condiciones adicionales, tal y como permite la licencia Apache v2.0.