- 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.
47 lines
1.3 KiB
Markdown
47 lines
1.3 KiB
Markdown
<div align="center">
|
|
|
|
<h1>PageTop</h1>
|
|
|
|
<p>Un entorno para el desarrollo de soluciones web modulares, extensibles y configurables.</p>
|
|
|
|
[](#-license)
|
|
|
|
</div>
|
|
|
|
`PageTop` reivindica la esencia de la web clásica usando [Rust](https://www.rust-lang.org/es) 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í:
|
|
|
|
```rust#ignore
|
|
use pagetop::prelude::*;
|
|
|
|
#[pagetop::main]
|
|
async fn main() -> std::io::Result<()> {
|
|
Application::new().run()?.await
|
|
}
|
|
```
|
|
|
|
|
|
# 📜 Licencia
|
|
|
|
El código está disponible bajo una doble licencia:
|
|
|
|
* **Licencia MIT**
|
|
([LICENSE-MIT](LICENSE-MIT) o también https://opensource.org/licenses/MIT)
|
|
|
|
* **Licencia Apache, Versión 2.0**
|
|
([LICENSE-APACHE](LICENSE-APACHE) o también https://www.apache.org/licenses/LICENSE-2.0)
|
|
|
|
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*.
|