📝 Revisión de la documentación en español

This commit is contained in:
Manuel Cillero 2024-12-06 22:24:09 +01:00
parent d69b63e3d4
commit 4b9ed163ba
23 changed files with 109 additions and 97 deletions

View file

@ -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*

View file

@ -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**.

View file

@ -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**.

View file

@ -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**.

View file

@ -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
//! //!

View file

@ -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**.

View file

@ -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;

View file

@ -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**.

View file

@ -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::*;

View file

@ -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;

View file

@ -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;

View file

@ -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.

View file

@ -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;

View file

@ -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::*;

View file

@ -1,4 +1,4 @@
//! Global settings. //! Ajustes globales de `PageTop`.
use crate::include_config; use crate::include_config;

View file

@ -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};

View file

@ -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>
//! //!
//! [![License](https://img.shields.io/badge/license-MIT%2FApache-blue.svg?style=for-the-badge)](https://github.com/manuelcillero/pagetop#-license) //! [![Licencia](https://img.shields.io/badge/license-MIT%2FApache-blue.svg?label=Licencia&style=for-the-badge)](#-license)
//! [![API Docs](https://img.shields.io/docsrs/pagetop?label=API%20Docs&style=for-the-badge&logo=Docs.rs)](https://docs.rs/pagetop) //! [![Doc API](https://img.shields.io/docsrs/pagetop?label=Doc%20API&style=for-the-badge&logo=Docs.rs)](https://docs.rs/pagetop)
//! [![Crates.io](https://img.shields.io/crates/v/pagetop.svg?style=for-the-badge&logo=ipfs)](https://crates.io/crates/pagetop) //! [![Crates.io](https://img.shields.io/crates/v/pagetop.svg?style=for-the-badge&logo=ipfs)](https://crates.io/crates/pagetop)
//! [![Downloads](https://img.shields.io/crates/d/pagetop.svg?style=for-the-badge&logo=transmission)](https://crates.io/crates/pagetop) //! [![Descargas](https://img.shields.io/crates/d/pagetop.svg?label=Descargas&style=for-the-badge&logo=transmission)](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, its 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;

View file

@ -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),
}; };
} }

View file

@ -1,4 +1,4 @@
//! The `PageTop` Prelude. //! *Prelude* de `PageTop`.
// RE-EXPORTED. // RE-EXPORTED.

View file

@ -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;

View file

@ -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;

View file

@ -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.
//! //!

View file

@ -1,4 +1,4 @@
//! Useful functions and macros. //! Funciones y macros útiles.
use crate::trace; use crate::trace;