📝 Revisión de la documentación en español
This commit is contained in:
parent
d69b63e3d4
commit
4b9ed163ba
23 changed files with 109 additions and 97 deletions
22
CREDITS.md
22
CREDITS.md
|
|
@ -1,21 +1,21 @@
|
||||||
# 🔃 Dependencias
|
# 🔃 Dependencias
|
||||||
|
|
||||||
PageTop está basado en [Rust](https://www.rust-lang.org/) y crece a hombros de gigantes aprovechando
|
`PageTop` está basado en [Rust](https://www.rust-lang.org/) y crece a hombros de gigantes
|
||||||
algunas de las librerías (*crates*) más robustas y populares del [ecosistema Rust](https://lib.rs),
|
aprovechando algunas de las librerías (*crates*) más robustas y populares del
|
||||||
incluyendo:
|
[ecosistema Rust](https://lib.rs), incluyendo:
|
||||||
|
|
||||||
* [Actix Web](https://actix.rs/) para los servicios web.
|
* [Actix Web](https://actix.rs/) para los servicios web.
|
||||||
* [Tracing](https://github.com/tokio-rs/tracing) para el seguimiento de los mensajes de registro y
|
* [Tracing](https://github.com/tokio-rs/tracing) para la gestión de trazas y registro de eventos
|
||||||
diagnóstico.
|
de la aplicación.
|
||||||
* [Fluent templates](https://github.com/XAMPPRocky/fluent-templates), que integra
|
* [Fluent templates](https://github.com/XAMPPRocky/fluent-templates), que integra
|
||||||
[Fluent](https://projectfluent.org/) para internacionalizar las aplicaciones.
|
[Fluent](https://projectfluent.org/) para internacionalizar las aplicaciones.
|
||||||
* Además de otros crates adicionales que puedes explorar en los archivos `Cargo.toml` de PageTop y
|
* Además de otros crates adicionales que puedes explorar en los archivos `Cargo.toml` de `PageTop`
|
||||||
sus paquetes.
|
y sus paquetes.
|
||||||
|
|
||||||
|
|
||||||
# ⌨️ Código
|
# ⌨️ Código
|
||||||
|
|
||||||
PageTop incorpora código de [config-rs](https://crates.io/crates/config) (versión
|
`PageTop` incorpora código de [config-rs](https://crates.io/crates/config) (versión
|
||||||
[0.11.0](https://github.com/mehcode/config-rs/tree/0.11.0)) de
|
[0.11.0](https://github.com/mehcode/config-rs/tree/0.11.0)) de
|
||||||
[Ryan Leckey](https://crates.io/users/mehcode), por sus ventajas para leer y asignar a tipos seguros
|
[Ryan Leckey](https://crates.io/users/mehcode), por sus ventajas para leer y asignar a tipos seguros
|
||||||
las opciones de configuración, delegando la asignación a cada diseño, paquete o aplicación.
|
las opciones de configuración, delegando la asignación a cada diseño, paquete o aplicación.
|
||||||
|
|
@ -23,9 +23,9 @@ las opciones de configuración, delegando la asignación a cada diseño, paquete
|
||||||
|
|
||||||
# 🗚 FIGfonts
|
# 🗚 FIGfonts
|
||||||
|
|
||||||
PageTop usa el paquete [figlet-rs](https://crates.io/crates/figlet-rs) desarrollado por *yuanbohan*
|
`PageTop` usa el paquete [figlet-rs](https://crates.io/crates/figlet-rs) desarrollado por
|
||||||
para mostrar un banner de presentación en el terminal con el nombre de la aplicación en caracteres
|
*yuanbohan* para mostrar un banner de presentación en el terminal con el nombre de la aplicación en
|
||||||
[FIGlet](http://www.figlet.org). Las fuentes incluidas en `pagetop/src/app` son:
|
caracteres [FIGlet](http://www.figlet.org). Las fuentes incluidas en `pagetop/src/app` son:
|
||||||
|
|
||||||
* [slant.flf](http://www.figlet.org/fontdb_example.cgi?font=slant.flf) de *Glenn Chappell*
|
* [slant.flf](http://www.figlet.org/fontdb_example.cgi?font=slant.flf) de *Glenn Chappell*
|
||||||
* [small.flf](http://www.figlet.org/fontdb_example.cgi?font=small.flf) de *Glenn Chappell*
|
* [small.flf](http://www.figlet.org/fontdb_example.cgi?font=small.flf) de *Glenn Chappell*
|
||||||
|
|
|
||||||
22
README.md
22
README.md
|
|
@ -13,7 +13,7 @@
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
**PageTop** reivindica la sencillez de la web clásica utilizando SSR (*renderizado en el servidor*),
|
`PageTop` reivindica la sencillez de la web clásica utilizando SSR (*renderizado en el servidor*),
|
||||||
HTML, CSS y JavaScript. Proporciona un conjunto completo de funcionalidades que pueden extenderse y
|
HTML, CSS y JavaScript. Proporciona un conjunto completo de funcionalidades que pueden extenderse y
|
||||||
adaptarse a las necesidades de cada solución web implementando:
|
adaptarse a las necesidades de cada solución web implementando:
|
||||||
|
|
||||||
|
|
@ -25,14 +25,14 @@ adaptarse a las necesidades de cada solución web implementando:
|
||||||
* **Diseños** (*layouts*). Permiten a los desarrolladores modificar la apariencia de páginas y
|
* **Diseños** (*layouts*). Permiten a los desarrolladores modificar la apariencia de páginas y
|
||||||
componentes sin afectar a su funcionalidad.
|
componentes sin afectar a su funcionalidad.
|
||||||
* **Paquetes** (*packages*). Extienden o personalizan funcionalidades existentes interactuando con
|
* **Paquetes** (*packages*). Extienden o personalizan funcionalidades existentes interactuando con
|
||||||
las APIs de PageTop o de paquetes de terceros.
|
las APIs de `PageTop` o de paquetes de terceros.
|
||||||
|
|
||||||
|
|
||||||
# ⚡️ Inicio rápido
|
# ⚡️ Inicio rápido
|
||||||
|
|
||||||
La aplicación más sencilla de PageTop se ve así:
|
La aplicación más sencilla de `PageTop` se ve así:
|
||||||
|
|
||||||
```rust
|
```rust#ignore
|
||||||
use pagetop::prelude::*;
|
use pagetop::prelude::*;
|
||||||
|
|
||||||
#[pagetop::main]
|
#[pagetop::main]
|
||||||
|
|
@ -42,9 +42,9 @@ async fn main() -> std::io::Result<()> {
|
||||||
```
|
```
|
||||||
|
|
||||||
Proporciona una página de bienvenida en `http://localhost:8088` según la configuración predefinida.
|
Proporciona una página de bienvenida en `http://localhost:8088` según la configuración predefinida.
|
||||||
Para personalizar el servicio puedes crear un paquete de PageTop:
|
Para personalizar el servicio puedes crear un paquete de `PageTop`:
|
||||||
|
|
||||||
```rust
|
```rust#ignore
|
||||||
use pagetop::prelude::*;
|
use pagetop::prelude::*;
|
||||||
|
|
||||||
struct HelloWorld;
|
struct HelloWorld;
|
||||||
|
|
@ -84,27 +84,27 @@ El repositorio se organiza en un *workspace* con los siguientes subproyectos:
|
||||||
|
|
||||||
* **[pagetop-build](https://github.com/manuelcillero/pagetop/tree/latest/helpers/pagetop-build)**,
|
* **[pagetop-build](https://github.com/manuelcillero/pagetop/tree/latest/helpers/pagetop-build)**,
|
||||||
permite incluir fácilmente archivos estáticos o archivos SCSS compilados directamente en el
|
permite incluir fácilmente archivos estáticos o archivos SCSS compilados directamente en el
|
||||||
binario de las aplicaciones **PageTop**.
|
binario de las aplicaciones `PageTop`.
|
||||||
|
|
||||||
* **[pagetop-macros](https://github.com/manuelcillero/pagetop/tree/latest/helpers/pagetop-macros)**,
|
* **[pagetop-macros](https://github.com/manuelcillero/pagetop/tree/latest/helpers/pagetop-macros)**,
|
||||||
proporciona una colección de macros que mejoran la experiencia de desarrollo con **PageTop**.
|
proporciona una colección de macros que mejoran la experiencia de desarrollo con `PageTop`.
|
||||||
|
|
||||||
## Paquetes
|
## Paquetes
|
||||||
|
|
||||||
* **[pagetop-seaorm](https://github.com/manuelcillero/pagetop/tree/latest/packages/pagetop-seaorm)**,
|
* **[pagetop-seaorm](https://github.com/manuelcillero/pagetop/tree/latest/packages/pagetop-seaorm)**,
|
||||||
integra [SeaORM](https://www.sea-ql.org/SeaORM) para trabajar con bases de datos en aplicaciones
|
integra [SeaORM](https://www.sea-ql.org/SeaORM) para trabajar con bases de datos en aplicaciones
|
||||||
**PageTop**.
|
`PageTop`.
|
||||||
|
|
||||||
## Aplicación
|
## Aplicación
|
||||||
|
|
||||||
* **[drust](https://github.com/manuelcillero/pagetop/tree/latest/drust)**, es una aplicación que
|
* **[drust](https://github.com/manuelcillero/pagetop/tree/latest/drust)**, es una aplicación que
|
||||||
utiliza **PageTop** para crear un Sistema de Gestión de Contenidos (CMS) que permita construir
|
utiliza `PageTop` para crear un Sistema de Gestión de Contenidos (CMS) que permita construir
|
||||||
sitios web dinámicos, administrados y configurables.
|
sitios web dinámicos, administrados y configurables.
|
||||||
|
|
||||||
|
|
||||||
# 🚧 Advertencia
|
# 🚧 Advertencia
|
||||||
|
|
||||||
**PageTop** es un proyecto personal que hago por diversión para aprender cosas nuevas. Su API es
|
`PageTop` es un proyecto personal que hago por diversión para aprender cosas nuevas. Su API es
|
||||||
inestable y está sujeta a cambios frecuentes. No recomiendo su uso en producción, al menos mientras
|
inestable y está sujeta a cambios frecuentes. No recomiendo su uso en producción, al menos mientras
|
||||||
no se libere una versión **1.0.0**.
|
no se libere una versión **1.0.0**.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
Modestamente inspirado en [Drupal](https://www.drupal.org), **Drust** exprime **PageTop** para
|
Modestamente inspirado en [Drupal](https://www.drupal.org), `Drust` exprime `PageTop` para
|
||||||
desarrollar un *Sistema de Gestión de Contenidos* (CMS) básico, que permita construir sitios web
|
desarrollar un *Sistema de Gestión de Contenidos* (CMS) básico, que permita construir sitios web
|
||||||
dinámicos, manejables y personalizables; y facilite a los usuarios la gestión de una variedad de
|
dinámicos, manejables y personalizables; y facilite a los usuarios la gestión de una variedad de
|
||||||
contenidos de manera sencilla.
|
contenidos de manera sencilla.
|
||||||
|
|
@ -24,7 +24,7 @@ sencillez de la web clásica aplicando *renderizado en el servidor* (SSR), HTML,
|
||||||
|
|
||||||
# 🚧 Advertencia
|
# 🚧 Advertencia
|
||||||
|
|
||||||
**PageTop** es un proyecto personal que hago por diversión para aprender cosas nuevas. Su API es
|
`PageTop` es un proyecto personal que hago por diversión para aprender cosas nuevas. Su API es
|
||||||
inestable y está sujeta a cambios frecuentes. No recomiendo su uso en producción, al menos mientras
|
inestable y está sujeta a cambios frecuentes. No recomiendo su uso en producción, al menos mientras
|
||||||
no se libere una versión **1.0.0**.
|
no se libere una versión **1.0.0**.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@ sencillez de la web clásica aplicando *renderizado en el servidor* (SSR), HTML,
|
||||||
|
|
||||||
# 🚧 Advertencia
|
# 🚧 Advertencia
|
||||||
|
|
||||||
**PageTop** es un proyecto personal que hago por diversión para aprender cosas nuevas. Su API es
|
`PageTop` es un proyecto personal que hago por diversión para aprender cosas nuevas. Su API es
|
||||||
inestable y está sujeta a cambios frecuentes. No recomiendo su uso en producción, al menos mientras
|
inestable y está sujeta a cambios frecuentes. No recomiendo su uso en producción, al menos mientras
|
||||||
no se libere una versión **1.0.0**.
|
no se libere una versión **1.0.0**.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
//! Incluye fácilmente archivos estáticos o archivos SCSS compilados directamente en el binario de
|
//! Incluye fácilmente archivos estáticos o archivos SCSS compilados directamente en el binario de
|
||||||
//! tus aplicaciones **PageTop**.
|
//! tus aplicaciones `PageTop``.
|
||||||
//!
|
//!
|
||||||
//! # Añadir al proyecto
|
//! # Añadir al proyecto
|
||||||
//!
|
//!
|
||||||
|
|
@ -11,7 +11,7 @@
|
||||||
//! ```
|
//! ```
|
||||||
//!
|
//!
|
||||||
//! Crea luego un archivo `build.rs` para definir cómo se van a incluir los archivos estáticos o
|
//! Crea luego un archivo `build.rs` para definir cómo se van a incluir los archivos estáticos o
|
||||||
//! archivos SCSS en tu aplicación, diseño o paquete de PageTop. Ejemplos de uso:
|
//! archivos SCSS en tu aplicación, diseño o paquete de `PageTop`. Ejemplos de uso:
|
||||||
//!
|
//!
|
||||||
//! ## 1. Incluir archivos estáticos desde un directorio
|
//! ## 1. Incluir archivos estáticos desde un directorio
|
||||||
//!
|
//!
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,7 @@ Entre sus macros se incluye una adaptación de [maud-macros](https://crates.io/c
|
||||||
[SmartDefault](https://crates.io/crates/smart_default) (0.7.1) de
|
[SmartDefault](https://crates.io/crates/smart_default) (0.7.1) de
|
||||||
[Jane Doe](https://crates.io/users/jane-doe), llamada `AutoDefault`. Estas macros eliminan la
|
[Jane Doe](https://crates.io/users/jane-doe), llamada `AutoDefault`. Estas macros eliminan la
|
||||||
necesidad de referenciar `maud` o `smart_default` en las dependencias del archivo `Cargo.toml` de
|
necesidad de referenciar `maud` o `smart_default` en las dependencias del archivo `Cargo.toml` de
|
||||||
cada proyecto **PageTop**.
|
cada proyecto `PageTop`.
|
||||||
|
|
||||||
|
|
||||||
# 📦 Sobre PageTop
|
# 📦 Sobre PageTop
|
||||||
|
|
@ -28,7 +28,7 @@ sencillez de la web clásica aplicando *renderizado en el servidor* (SSR), HTML,
|
||||||
|
|
||||||
# 🚧 Advertencia
|
# 🚧 Advertencia
|
||||||
|
|
||||||
**PageTop** es un proyecto personal que hago por diversión para aprender cosas nuevas. Su API es
|
`PageTop` es un proyecto personal que hago por diversión para aprender cosas nuevas. Su API es
|
||||||
inestable y está sujeta a cambios frecuentes. No recomiendo su uso en producción, al menos mientras
|
inestable y está sujeta a cambios frecuentes. No recomiendo su uso en producción, al menos mientras
|
||||||
no se libere una versión **1.0.0**.
|
no se libere una versión **1.0.0**.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
//! Una colección de macros que impulsan el desarrollo con **PageTop**.
|
//! Una colección de macros que impulsan el desarrollo con `PageTop`.
|
||||||
|
|
||||||
mod maud;
|
mod maud;
|
||||||
mod smart_default;
|
mod smart_default;
|
||||||
|
|
|
||||||
|
|
@ -11,8 +11,8 @@
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
PageTop SeaORM utiliza [SQLx](https://crates.io/crates/sqlx) y
|
Utiliza [SQLx](https://crates.io/crates/sqlx) y [SeaQuery](https://crates.io/crates/sea-query) para
|
||||||
[SeaQuery](https://crates.io/crates/sea-query), además de integrar en código una versión adaptada de
|
exportar sus funcionalidades, y también integra en código una versión adaptada de
|
||||||
[SeaORM Migration](https://github.com/SeaQL/sea-orm/tree/1.1.1/sea-orm-migration/src) (v1.1.1) para
|
[SeaORM Migration](https://github.com/SeaQL/sea-orm/tree/1.1.1/sea-orm-migration/src) (v1.1.1) para
|
||||||
permitir migraciones independientes para cada paquete del proyecto.
|
permitir migraciones independientes para cada paquete del proyecto.
|
||||||
|
|
||||||
|
|
@ -25,7 +25,7 @@ sencillez de la web clásica aplicando *renderizado en el servidor* (SSR), HTML,
|
||||||
|
|
||||||
# 🚧 Advertencia
|
# 🚧 Advertencia
|
||||||
|
|
||||||
**PageTop** es un proyecto personal que hago por diversión para aprender cosas nuevas. Está en
|
`PageTop` es un proyecto personal que hago por diversión para aprender cosas nuevas. Está en
|
||||||
desarrollo activo, su API es inestable y está sujeta a cambios frecuentes. No recomiendo su uso en
|
desarrollo activo, su API es inestable y está sujeta a cambios frecuentes. No recomiendo su uso en
|
||||||
producción, al menos hasta liberar la versión **1.0.0**.
|
producción, al menos hasta liberar la versión **1.0.0**.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@
|
||||||
//!
|
//!
|
||||||
//! assert_eq!(config::SETTINGS.database.db_host, "localhost");
|
//! assert_eq!(config::SETTINGS.database.db_host, "localhost");
|
||||||
//! ```
|
//! ```
|
||||||
//! See [`pagetop::include_config`] to learn how **PageTop** read configuration files and use
|
//! See [`pagetop::include_config`] to learn how `PageTop` read configuration files and use
|
||||||
//! settings.
|
//! settings.
|
||||||
|
|
||||||
use pagetop::prelude::*;
|
use pagetop::prelude::*;
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
//! Prepare and run an application created with **Pagetop**.
|
//! Prepara y ejecuta una aplicación creada con `Pagetop`.
|
||||||
|
|
||||||
mod figfont;
|
mod figfont;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
//! Base actions, components, layouts, and packages.
|
//! Acciones, componentes, diseños y paquetes base de `PageTop`.
|
||||||
|
|
||||||
pub mod action;
|
pub mod action;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
//! Load configuration settings.
|
//! Carga los ajustes de configuración.
|
||||||
//!
|
//!
|
||||||
//! These settings are loaded from [TOML](https://toml.io) files as `key = value` pairs and mapped
|
//! These settings are loaded from [TOML](https://toml.io) files as `key = value` pairs and mapped
|
||||||
//! into type-safe structures with predefined values.
|
//! into type-safe structures with predefined values.
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
//! Key types and functions for creating actions, components, layouts, and packages.
|
//! Tipos y funciones esenciales para crear acciones, componentes, diseños y paquetes.
|
||||||
|
|
||||||
use crate::util::TypeInfo;
|
use crate::util::TypeInfo;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
//! [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time handling
|
//! Soporte a fechas y horas según estándar [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
|
||||||
//! ([chrono](https://docs.rs/chrono)).
|
//! ([chrono](https://docs.rs/chrono)).
|
||||||
|
|
||||||
pub use chrono::prelude::*;
|
pub use chrono::prelude::*;
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
//! Global settings.
|
//! Ajustes globales de `PageTop`.
|
||||||
|
|
||||||
use crate::include_config;
|
use crate::include_config;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
//! HTML in code.
|
//! HTML en código.
|
||||||
|
|
||||||
mod maud;
|
mod maud;
|
||||||
pub use maud::{html, html_private, Markup, PreEscaped, DOCTYPE};
|
pub use maud::{html, html_private, Markup, PreEscaped, DOCTYPE};
|
||||||
|
|
|
||||||
|
|
@ -4,30 +4,45 @@
|
||||||
//!
|
//!
|
||||||
//! <h1>PageTop</h1>
|
//! <h1>PageTop</h1>
|
||||||
//!
|
//!
|
||||||
//! <p>An opinionated web framework to build modular <em>Server-Side Rendering</em> web solutions.</p>
|
//! <p>Entorno de desarrollo para crear soluciones web modulares, extensibles y configurables.</p>
|
||||||
//!
|
//!
|
||||||
//! [](https://github.com/manuelcillero/pagetop#-license)
|
//! [](#-license)
|
||||||
//! [](https://docs.rs/pagetop)
|
//! [](https://docs.rs/pagetop)
|
||||||
//! [](https://crates.io/crates/pagetop)
|
//! [](https://crates.io/crates/pagetop)
|
||||||
//! [](https://crates.io/crates/pagetop)
|
//! [](https://crates.io/crates/pagetop)
|
||||||
//!
|
//!
|
||||||
//! <br>
|
//! <br>
|
||||||
//! </div>
|
//! </div>
|
||||||
//!
|
//!
|
||||||
//! The `PageTop` core API provides a comprehensive toolkit for extending its functionalities to
|
//! `PageTop` reivindica la sencillez de la web clásica utilizando SSR (*renderizado en el
|
||||||
//! specific requirements and application scenarios through actions, components, layouts, and
|
//! servidor*), HTML, CSS y JavaScript. Proporciona un conjunto completo de funcionalidades que
|
||||||
//! packages:
|
//! pueden extenderse y adaptarse a las necesidades de cada solución web implementando:
|
||||||
//!
|
//!
|
||||||
//! * **Actions** serve as a mechanism to customize `PageTop`'s internal behavior by intercepting
|
//! * **Acciones** (*actions*). Las funcionalidades que incorporen acciones en su lógica de
|
||||||
//! its execution flow.
|
//! programa estarán proporcionando a los desarrolladores herramientas para alterar su
|
||||||
//! * **Components** encapsulate HTML, CSS, and JavaScript into functional, configurable, and
|
//! comportamiento interno interceptando su flujo de ejecución.
|
||||||
//! well-defined units.
|
//! * **Componentes** (*components*). Para encapsular HTML, CSS y JavaScript en unidades
|
||||||
//! * **Layouts** enable developers to alter the appearance of pages and components without
|
//! funcionales, configurables y bien definidas.
|
||||||
//! affecting their functionality.
|
//! * **Diseños** (*layouts*). Permiten a los desarrolladores modificar la apariencia de páginas y
|
||||||
//! * **Packages** extend or customize existing functionality by interacting with `PageTop` APIs
|
//! componentes sin afectar a su funcionalidad.
|
||||||
//! or third-party package APIs.
|
//! * **Paquetes** (*packages*). Extienden o personalizan funcionalidades existentes interactuando
|
||||||
|
//! con las APIs de `PageTop` o de paquetes de terceros.
|
||||||
//!
|
//!
|
||||||
//! # ⚡️ Quick start
|
//! # ⚡️ Inicio rápido
|
||||||
|
//!
|
||||||
|
//! 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
|
||||||
|
//! }
|
||||||
|
//! ```
|
||||||
|
//!
|
||||||
|
//! Proporciona una página de bienvenida en `http://localhost:8088` según la configuración
|
||||||
|
//! predefinida. Para personalizar el servicio puedes crear un paquete de `PageTop`:
|
||||||
//!
|
//!
|
||||||
//! ```rust#ignore
|
//! ```rust#ignore
|
||||||
//! use pagetop::prelude::*;
|
//! use pagetop::prelude::*;
|
||||||
|
|
@ -42,7 +57,7 @@
|
||||||
//!
|
//!
|
||||||
//! async fn hello_world(request: HttpRequest) -> ResultPage<Markup, ErrorPage> {
|
//! async fn hello_world(request: HttpRequest) -> ResultPage<Markup, ErrorPage> {
|
||||||
//! Page::new(request)
|
//! Page::new(request)
|
||||||
//! .with_component(Html::with(html! { h1 { "Hello World!" } }))
|
//! .with_component(Html::with(html! { h1 { "Hello world!" } }))
|
||||||
//! .render()
|
//! .render()
|
||||||
//! }
|
//! }
|
||||||
//!
|
//!
|
||||||
|
|
@ -51,24 +66,18 @@
|
||||||
//! Application::prepare(&HelloWorld).run()?.await
|
//! Application::prepare(&HelloWorld).run()?.await
|
||||||
//! }
|
//! }
|
||||||
//! ```
|
//! ```
|
||||||
//! This program implements a package named `HelloWorld` with one service that returns a web page
|
|
||||||
//! that greets the world whenever it is accessed from the browser at `http://localhost:8088` (using
|
|
||||||
//! the [default configuration settings](`global::Server`)). You can find this code in the `PageTop`
|
|
||||||
//! [examples repository](https://github.com/manuelcillero/pagetop/tree/latest/examples).
|
|
||||||
//!
|
//!
|
||||||
//! # 🧩 Dependency Management
|
//! Este programa prepara un paquete personalizado llamado `HelloWorld` que sirve una página web en
|
||||||
|
//! la ruta raíz (`/`) mostrando el mensaje "Hello world!" en un elemento HTML `<h1>`.
|
||||||
//!
|
//!
|
||||||
//! Projects leveraging `PageTop` will use `cargo` to resolve dependencies, similar to any other
|
//! # 🧩 Gestión de Dependencias
|
||||||
//! Rust project.
|
|
||||||
//!
|
//!
|
||||||
//! Nevertheless, it’s crucial that each package explicitly declares its
|
//! Los proyectos que utilizan `PageTop` gestionan las dependencias con `cargo`, como cualquier otro
|
||||||
//! [dependencies](core::package::PackageTrait#method.dependencies), if any, to assist `PageTop` in
|
//! proyecto en Rust.
|
||||||
//! structuring and initializing the application in a modular fashion.
|
|
||||||
//!
|
//!
|
||||||
//! # 🚧 Warning
|
//! Sin embargo, es fundamental que cada paquete declare explícitamente sus
|
||||||
//!
|
//! [dependencias](core::package::PackageTrait#method.dependencies), si las tiene, para que
|
||||||
//! **`PageTop`** framework is currently in active development. The API is unstable and subject to
|
//! `PageTop` pueda estructurar e inicializar la aplicación de forma modular.
|
||||||
//! frequent changes. Production use is not recommended until version **0.1.0**.
|
|
||||||
|
|
||||||
#![cfg_attr(docsrs, feature(doc_cfg))]
|
#![cfg_attr(docsrs, feature(doc_cfg))]
|
||||||
|
|
||||||
|
|
@ -76,44 +85,46 @@
|
||||||
|
|
||||||
pub use concat_string::concat_string;
|
pub use concat_string::concat_string;
|
||||||
|
|
||||||
/// Enables flexible identifier concatenation in macros, allowing new items with pasted identifiers.
|
/// Habilita la concatenación flexible de identificadores en macros, permitiendo crear nuevos
|
||||||
|
/// elementos con identificadores combinados.
|
||||||
pub use paste::paste;
|
pub use paste::paste;
|
||||||
|
|
||||||
pub use pagetop_macros::{fn_builder, html, main, test, AutoDefault, ComponentClasses};
|
pub use pagetop_macros::{fn_builder, html, main, test, AutoDefault, ComponentClasses};
|
||||||
|
|
||||||
pub type StaticResources = std::collections::HashMap<&'static str, static_files::Resource>;
|
pub type StaticResources = std::collections::HashMap<&'static str, static_files::Resource>;
|
||||||
|
|
||||||
|
// Un `TypeId` representa un identificador único global para un tipo.
|
||||||
pub use std::any::TypeId;
|
pub use std::any::TypeId;
|
||||||
|
|
||||||
pub type Weight = i8;
|
pub type Weight = i8;
|
||||||
|
|
||||||
// API *********************************************************************************************
|
// API *********************************************************************************************
|
||||||
|
|
||||||
// Useful functions and macros.
|
// Funciones y macros útiles.
|
||||||
pub mod util;
|
pub mod util;
|
||||||
// Load configuration settings.
|
// Carga los ajustes de configuración.
|
||||||
pub mod config;
|
pub mod config;
|
||||||
// Global settings.
|
// Ajustes globales.
|
||||||
pub mod global;
|
pub mod global;
|
||||||
// Application tracing and event logging.
|
// Gestión de trazas y registro de eventos de la aplicación.
|
||||||
pub mod trace;
|
pub mod trace;
|
||||||
// HTML in code.
|
// HTML en código.
|
||||||
pub mod html;
|
pub mod html;
|
||||||
// Localization.
|
// Localización.
|
||||||
pub mod locale;
|
pub mod locale;
|
||||||
// Date and time handling.
|
// Soporte a fechas y horas.
|
||||||
pub mod datetime;
|
pub mod datetime;
|
||||||
// Essential web framework.
|
// Gestión del servidor y servicios web.
|
||||||
pub mod service;
|
pub mod service;
|
||||||
// Key types and functions for creating actions, components, layouts, and packages.
|
// Tipos y funciones esenciales para crear acciones, componentes, diseños y paquetes.
|
||||||
pub mod core;
|
pub mod core;
|
||||||
// Web request response variants.
|
// Respuestas a peticiones web en sus diferentes variantes.
|
||||||
pub mod response;
|
pub mod response;
|
||||||
// Base actions, components, layouts, and packages.
|
// Acciones, componentes, diseños y paquetes base.
|
||||||
pub mod base;
|
pub mod base;
|
||||||
// Prepare and run the application.
|
// Prepara y ejecuta la aplicación.
|
||||||
pub mod app;
|
pub mod app;
|
||||||
|
|
||||||
// The PageTop Prelude *****************************************************************************
|
// Prelude de PageTop ******************************************************************************
|
||||||
|
|
||||||
pub mod prelude;
|
pub mod prelude;
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
//! Localization (L10n).
|
//! Localización (L10n).
|
||||||
//!
|
//!
|
||||||
//! PageTop uses the [Fluent](https://www.projectfluent.org/) specifications for application
|
//! `PageTop` uses the [Fluent](https://www.projectfluent.org/) specifications for application
|
||||||
//! localization, leveraging the [fluent-templates](https://docs.rs/fluent-templates/) crate to
|
//! localization, leveraging the [fluent-templates](https://docs.rs/fluent-templates/) crate to
|
||||||
//! integrate translation resources directly into the application binary.
|
//! integrate translation resources directly into the application binary.
|
||||||
//!
|
//!
|
||||||
|
|
@ -153,16 +153,17 @@ pub fn langid_for(language: impl Into<String>) -> Result<&'static LanguageIdenti
|
||||||
}
|
}
|
||||||
|
|
||||||
#[macro_export]
|
#[macro_export]
|
||||||
/// Defines a set of localization elements and local translation texts, removing Unicode isolating
|
/// Define un conjunto de elementos de localización y textos de traducción local.
|
||||||
/// marks around arguments to improve readability and compatibility in certain rendering contexts.
|
|
||||||
macro_rules! include_locales {
|
macro_rules! include_locales {
|
||||||
|
// Se eliminan las marcas de aislamiento Unicode en los argumentos para mejorar la legibilidad y
|
||||||
|
// la compatibilidad en ciertos contextos de renderizado.
|
||||||
( $LOCALES:ident $(, $core_locales:literal)? ) => {
|
( $LOCALES:ident $(, $core_locales:literal)? ) => {
|
||||||
$crate::locale::fluent_templates::static_loader! {
|
$crate::locale::fluent_templates::static_loader! {
|
||||||
static $LOCALES = {
|
static $LOCALES = {
|
||||||
locales: "src/locale",
|
locales: "src/locale",
|
||||||
$( core_locales: $core_locales, )?
|
$( core_locales: $core_locales, )?
|
||||||
fallback_language: "en-US",
|
fallback_language: "en-US",
|
||||||
// Removes unicode isolating marks around arguments.
|
// Elimina marcas de aislamiento Unicode en los argumentos.
|
||||||
customise: |bundle| bundle.set_use_isolating(false),
|
customise: |bundle| bundle.set_use_isolating(false),
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
@ -173,7 +174,7 @@ macro_rules! include_locales {
|
||||||
locales: $dir_locales,
|
locales: $dir_locales,
|
||||||
$( core_locales: $core_locales, )?
|
$( core_locales: $core_locales, )?
|
||||||
fallback_language: "en-US",
|
fallback_language: "en-US",
|
||||||
// Removes unicode isolating marks around arguments.
|
// Elimina marcas de aislamiento Unicode en los argumentos.
|
||||||
customise: |bundle| bundle.set_use_isolating(false),
|
customise: |bundle| bundle.set_use_isolating(false),
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
//! The `PageTop` Prelude.
|
//! *Prelude* de `PageTop`.
|
||||||
|
|
||||||
// RE-EXPORTED.
|
// RE-EXPORTED.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
//! Web request response variants.
|
//! Respuestas a las peticiones web en sus diferentes variantes.
|
||||||
|
|
||||||
pub use actix_web::ResponseError;
|
pub use actix_web::ResponseError;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
//! Essential web framework ([actix-web](https://docs.rs/actix-web)).
|
//! Gestión del servidor y servicios web ([actix-web](https://docs.rs/actix-web)).
|
||||||
|
|
||||||
pub use actix_session::Session;
|
pub use actix_session::Session;
|
||||||
pub use actix_web::body::BoxBody;
|
pub use actix_web::body::BoxBody;
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
//! Application tracing and event logging.
|
//! Gestión de trazas y registro de eventos de la aplicación.
|
||||||
//!
|
//!
|
||||||
//! `PageTop` collects application diagnostic information in a structured and event-based manner.
|
//! `PageTop` collects application diagnostic information in a structured and event-based manner.
|
||||||
//!
|
//!
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
//! Useful functions and macros.
|
//! Funciones y macros útiles.
|
||||||
|
|
||||||
use crate::trace;
|
use crate::trace;
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue