🎨 Convierte el ciclo de renderizado en async
`prepare()` de `Component`, `render()` de `Region` y `Template`, y la implementación de `ComponentRender` pasan a ser funciones async. Se actualizan todos los componentes base, helpers, tests y ejemplos.
This commit is contained in:
parent
9acd8cc51a
commit
9354894b3a
48 changed files with 436 additions and 365 deletions
|
|
@ -51,6 +51,7 @@ use pagetop::prelude::*;
|
|||
|
||||
struct HelloWorld;
|
||||
|
||||
#[async_trait]
|
||||
impl Extension for HelloWorld {
|
||||
fn configure_router(&self, router: Router) -> Router {
|
||||
router.route("/", web::get(hello_world))
|
||||
|
|
@ -60,7 +61,7 @@ impl Extension for HelloWorld {
|
|||
async fn hello_world(request: HttpRequest) -> Result<Markup, ErrorPage> {
|
||||
Page::new(request)
|
||||
.with_child(Html::with(|_| html! { h1 { "Hello World!" } }))
|
||||
.render()
|
||||
.render().await
|
||||
}
|
||||
|
||||
#[pagetop::main]
|
||||
|
|
@ -72,7 +73,6 @@ async fn main() -> std::io::Result<()> {
|
|||
Este programa implementa una extensión llamada `HelloWorld` que sirve una página web en la ruta raíz
|
||||
(`/`) mostrando el texto "Hello World!" dentro de un elemento HTML `<h1>`.
|
||||
|
||||
|
||||
## Proyecto
|
||||
|
||||
El código se organiza en un *workspace* donde actualmente se incluyen los siguientes subproyectos:
|
||||
|
|
@ -111,7 +111,6 @@ El código se organiza en un *workspace* donde actualmente se incluyen los sigui
|
|||
* **[pagetop-seaorm](https://git.cillero.es/manuelcillero/pagetop/src/branch/main/extensions/pagetop-seaorm)**,
|
||||
integra [SeaORM](https://www.sea-ql.org/SeaORM) para acceder a bases de datos relacionales.
|
||||
|
||||
|
||||
## Pruebas
|
||||
|
||||
Para simplificar el flujo de trabajo, el repositorio incluye varios **alias de Cargo** declarados en
|
||||
|
|
@ -132,14 +131,12 @@ Para simplificar el flujo de trabajo, el repositorio incluye varios **alias de C
|
|||
> * Los alias suprimen las trazas del registro de eventos. Para activarlas usa directamente
|
||||
> `cargo test`.
|
||||
|
||||
|
||||
## Advertencia
|
||||
|
||||
**PageTop** es un proyecto personal para aprender [Rust](https://www.rust-lang.org/es) 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:
|
||||
|
|
@ -153,7 +150,6 @@ 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
|
||||
|
||||
PageTop mantiene **un único repositorio oficial**:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue