From 700bca7258df46be83baaf5ed46c75a5e6fba58f Mon Sep 17 00:00:00 2001 From: Manuel Cillero Date: Tue, 16 Dec 2025 09:06:52 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=92=A1=20Repasa=20comentarios=20de=20la?= =?UTF-8?q?=20cabecera=20de=20funciones?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pagetop-bootsier/src/theme/aux/border.rs | 4 +- .../src/theme/aux/breakpoint.rs | 56 +++++++++---------- .../pagetop-bootsier/src/theme/aux/button.rs | 4 +- .../pagetop-bootsier/src/theme/aux/color.rs | 40 ++++++------- .../pagetop-bootsier/src/theme/aux/layout.rs | 26 ++++----- .../pagetop-bootsier/src/theme/aux/rounded.rs | 34 +++++------ .../src/theme/classes/layout.rs | 26 ++++----- .../src/theme/dropdown/props.rs | 18 +++--- .../pagetop-bootsier/src/theme/image/props.rs | 6 +- .../pagetop-bootsier/src/theme/nav/item.rs | 2 +- .../pagetop-bootsier/src/theme/nav/props.rs | 10 ++-- .../src/theme/navbar/props.rs | 6 +- .../src/theme/offcanvas/props.rs | 8 +-- helpers/pagetop-build/src/lib.rs | 2 +- src/app.rs | 6 +- .../component/after_render_component.rs | 2 +- .../component/before_render_component.rs | 2 +- src/base/action/page/after_render_body.rs | 2 +- src/base/action/page/before_render_body.rs | 2 +- .../action/theme/after_render_component.rs | 2 +- .../action/theme/before_render_component.rs | 2 +- src/base/action/theme/prepare_render.rs | 2 +- src/core.rs | 44 +++++++-------- src/core/action/all.rs | 14 ++--- src/core/component/children.rs | 22 ++++---- src/core/theme/all.rs | 2 +- src/html.rs | 2 +- src/html/assets/favicon.rs | 16 +++--- src/response/json.rs | 2 +- 29 files changed, 182 insertions(+), 182 deletions(-) diff --git a/extensions/pagetop-bootsier/src/theme/aux/border.rs b/extensions/pagetop-bootsier/src/theme/aux/border.rs index 43882767..3bd705e7 100644 --- a/extensions/pagetop-bootsier/src/theme/aux/border.rs +++ b/extensions/pagetop-bootsier/src/theme/aux/border.rs @@ -22,7 +22,7 @@ impl BorderColor { const BORDER: &str = "border"; const BORDER_PREFIX: &str = "border-"; - // Devuelve el sufijo de la clase `border-*`, o `None` si no define ninguna clase. + /// Devuelve el sufijo de la clase `border-*`, o `None` si no define ninguna clase. #[rustfmt::skip] #[inline] const fn suffix(self) -> Option<&'static str> { @@ -35,7 +35,7 @@ impl BorderColor { } } - // Añade la clase `border-*` a la cadena de clases. + /// Añade la clase `border-*` a la cadena de clases. #[inline] pub(crate) fn push_class(self, classes: &mut String) { if let Some(suffix) = self.suffix() { diff --git a/extensions/pagetop-bootsier/src/theme/aux/breakpoint.rs b/extensions/pagetop-bootsier/src/theme/aux/breakpoint.rs index 4d9a7626..ce7998e7 100644 --- a/extensions/pagetop-bootsier/src/theme/aux/breakpoint.rs +++ b/extensions/pagetop-bootsier/src/theme/aux/breakpoint.rs @@ -19,7 +19,7 @@ pub enum BreakPoint { } impl BreakPoint { - // Devuelve la identificación del punto de ruptura. + /// Devuelve la identificación del punto de ruptura. #[rustfmt::skip] #[inline] pub(crate) const fn as_str(self) -> &'static str { @@ -33,11 +33,11 @@ impl BreakPoint { } } - // Añade el punto de ruptura con un prefijo y un sufijo (opcional) separados por un guion `-` a - // la cadena de clases. - // - // - Para `None` - `prefix` o `prefix-suffix` (si `suffix` no está vacío). - // - Para `SM..XXL` - `prefix-{breakpoint}` o `prefix-{breakpoint}-{suffix}`. + /// Añade el punto de ruptura con un prefijo y un sufijo (opcional) separados por un guion `-` a + /// la cadena de clases. + /// + /// - Para `None` - `prefix` o `prefix-suffix` (si `suffix` no está vacío). + /// - Para `SM..XXL` - `prefix-{breakpoint}` o `prefix-{breakpoint}-{suffix}`. #[inline] pub(crate) fn push_class(self, classes: &mut String, prefix: &str, suffix: &str) { if prefix.is_empty() { @@ -60,28 +60,28 @@ impl BreakPoint { } } - // Devuelve la clase para el punto de ruptura, con un prefijo y un sufijo opcional, separados - // por un guion `-`. - // - // - Para `None` - `prefix` o `prefix-suffix` (si `suffix` no está vacío). - // - Para `SM..XXL` - `prefix-{breakpoint}` o `prefix-{breakpoint}-{suffix}`. - // - Si `prefix` está vacío devuelve `""`. - // - // # Ejemplos - // - // ```rust - // # use pagetop_bootsier::prelude::*; - // let bp = BreakPoint::MD; - // assert_eq!(bp.class_with("col", ""), "col-md"); - // assert_eq!(bp.class_with("col", "6"), "col-md-6"); - // - // let bp = BreakPoint::None; - // assert_eq!(bp.class_with("offcanvas", ""), "offcanvas"); - // assert_eq!(bp.class_with("col", "12"), "col-12"); - // - // let bp = BreakPoint::LG; - // assert_eq!(bp.class_with("", "3"), ""); - // ``` + /// Devuelve la clase para el punto de ruptura, con un prefijo y un sufijo opcional, separados + /// por un guion `-`. + /// + /// - Para `None` - `prefix` o `prefix-suffix` (si `suffix` no está vacío). + /// - Para `SM..XXL` - `prefix-{breakpoint}` o `prefix-{breakpoint}-{suffix}`. + /// - Si `prefix` está vacío devuelve `""`. + /// + /// # Ejemplos + /// + /// ```rust + /// # use pagetop_bootsier::prelude::*; + /// let bp = BreakPoint::MD; + /// assert_eq!(bp.class_with("col", ""), "col-md"); + /// assert_eq!(bp.class_with("col", "6"), "col-md-6"); + /// + /// let bp = BreakPoint::None; + /// assert_eq!(bp.class_with("offcanvas", ""), "offcanvas"); + /// assert_eq!(bp.class_with("col", "12"), "col-12"); + /// + /// let bp = BreakPoint::LG; + /// assert_eq!(bp.class_with("", "3"), ""); + /// ``` #[inline] pub(crate) fn class_with(self, prefix: &str, suffix: &str) -> String { if prefix.is_empty() { diff --git a/extensions/pagetop-bootsier/src/theme/aux/button.rs b/extensions/pagetop-bootsier/src/theme/aux/button.rs index 0d1df87d..721c2bec 100644 --- a/extensions/pagetop-bootsier/src/theme/aux/button.rs +++ b/extensions/pagetop-bootsier/src/theme/aux/button.rs @@ -23,7 +23,7 @@ impl ButtonColor { const BTN_OUTLINE_PREFIX: &str = "btn-outline-"; const BTN_LINK: &str = "btn-link"; - // Añade la clase `btn-*` a la cadena de clases. + /// Añade la clase `btn-*` a la cadena de clases. #[inline] pub(crate) fn push_class(self, classes: &mut String) { if let Self::Default = self { @@ -106,7 +106,7 @@ impl ButtonSize { const BTN_SM: &str = "btn-sm"; const BTN_LG: &str = "btn-lg"; - // Añade la clase de tamaño `btn-sm` o `btn-lg` a la cadena de clases. + /// Añade la clase de tamaño `btn-sm` o `btn-lg` a la cadena de clases. #[inline] pub(crate) fn push_class(self, classes: &mut String) { if let Self::Default = self { diff --git a/extensions/pagetop-bootsier/src/theme/aux/color.rs b/extensions/pagetop-bootsier/src/theme/aux/color.rs index 480ff3d8..b1372104 100644 --- a/extensions/pagetop-bootsier/src/theme/aux/color.rs +++ b/extensions/pagetop-bootsier/src/theme/aux/color.rs @@ -23,7 +23,7 @@ pub enum Color { } impl Color { - // Devuelve el nombre del color. + /// Devuelve el nombre del color. #[rustfmt::skip] #[inline] pub(crate) const fn as_str(self) -> &'static str { @@ -94,7 +94,7 @@ impl Opacity { const OPACITY: &str = "opacity"; const OPACITY_PREFIX: &str = "-opacity"; - // Devuelve el sufijo para `*opacity-*`, o `None` si no define ninguna clase. + /// Devuelve el sufijo para `*opacity-*`, o `None` si no define ninguna clase. #[rustfmt::skip] #[inline] const fn suffix(self) -> Option<&'static str> { @@ -109,8 +109,8 @@ impl Opacity { } } - // Añade la opacidad a la cadena de clases usando el prefijo dado (`bg`, `border`, `text`, o - // vacío para `opacity-*`). + /// Añade la opacidad a la cadena de clases usando el prefijo dado (`bg`, `border`, `text`, o + /// vacío para `opacity-*`). #[inline] pub(crate) fn push_class(self, classes: &mut String, prefix: &str) { if let Some(suffix) = self.suffix() { @@ -127,18 +127,18 @@ impl Opacity { } } - // Devuelve la clase de opacidad con el prefijo dado (`bg`, `border`, `text`, o vacío para - // `opacity-*`). - // - // # Ejemplos - // - // ```rust - // # use pagetop_bootsier::prelude::*; - // assert_eq!(Opacity::Opaque.class_with(""), "opacity-100"); - // assert_eq!(Opacity::Half.class_with("bg"), "bg-opacity-50"); - // assert_eq!(Opacity::SemiTransparent.class_with("text"), "text-opacity-25"); - // assert_eq!(Opacity::Default.class_with("bg"), ""); - // ``` + /// Devuelve la clase de opacidad con el prefijo dado (`bg`, `border`, `text`, o vacío para + /// `opacity-*`). + /// + /// # Ejemplos + /// + /// ```rust + /// # use pagetop_bootsier::prelude::*; + /// assert_eq!(Opacity::Opaque.class_with(""), "opacity-100"); + /// assert_eq!(Opacity::Half.class_with("bg"), "bg-opacity-50"); + /// assert_eq!(Opacity::SemiTransparent.class_with("text"), "text-opacity-25"); + /// assert_eq!(Opacity::Default.class_with("bg"), ""); + /// ``` #[inline] pub(crate) fn class_with(self, prefix: &str) -> String { if let Some(suffix) = self.suffix() { @@ -206,7 +206,7 @@ impl ColorBg { const BG: &str = "bg"; const BG_PREFIX: &str = "bg-"; - // Devuelve el sufijo de la clase `bg-*`, o `None` si no define ninguna clase. + /// Devuelve el sufijo de la clase `bg-*`, o `None` si no define ninguna clase. #[rustfmt::skip] #[inline] const fn suffix(self) -> Option<&'static str> { @@ -223,7 +223,7 @@ impl ColorBg { } } - // Añade la clase de fondo `bg-*` a la cadena de clases. + /// Añade la clase de fondo `bg-*` a la cadena de clases. #[inline] pub(crate) fn push_class(self, classes: &mut String) { if let Some(suffix) = self.suffix() { @@ -305,7 +305,7 @@ impl ColorText { const TEXT: &str = "text"; const TEXT_PREFIX: &str = "text-"; - // Devuelve el sufijo de la clase `text-*`, o `None` si no define ninguna clase. + /// Devuelve el sufijo de la clase `text-*`, o `None` si no define ninguna clase. #[rustfmt::skip] #[inline] const fn suffix(self) -> Option<&'static str> { @@ -322,7 +322,7 @@ impl ColorText { } } - // Añade la clase de texto `text-*` a la cadena de clases. + /// Añade la clase de texto `text-*` a la cadena de clases. #[inline] pub(crate) fn push_class(self, classes: &mut String) { if let Some(suffix) = self.suffix() { diff --git a/extensions/pagetop-bootsier/src/theme/aux/layout.rs b/extensions/pagetop-bootsier/src/theme/aux/layout.rs index 1d351582..09edbf91 100644 --- a/extensions/pagetop-bootsier/src/theme/aux/layout.rs +++ b/extensions/pagetop-bootsier/src/theme/aux/layout.rs @@ -25,8 +25,8 @@ pub enum ScaleSize { } impl ScaleSize { - // Devuelve el sufijo para el tamaño (`"-0"`, `"-1"`, etc.), o `None` si no define ninguna - // clase, o `""` para el tamaño automático. + /// Devuelve el sufijo para el tamaño (`"-0"`, `"-1"`, etc.), o `None` si no define ninguna + /// clase, o `""` para el tamaño automático. #[rustfmt::skip] #[inline] const fn suffix(self) -> Option<&'static str> { @@ -42,7 +42,7 @@ impl ScaleSize { } } - // Añade el tamaño a la cadena de clases usando el prefijo dado. + /// Añade el tamaño a la cadena de clases usando el prefijo dado. #[inline] pub(crate) fn push_class(self, classes: &mut String, prefix: &str) { if !prefix.is_empty() { @@ -57,16 +57,16 @@ impl ScaleSize { } /* Devuelve la clase del tamaño para el prefijo, o una cadena vacía si no aplica (reservado). - // - // # Ejemplo - // - // ```rust - // # use pagetop_bootsier::prelude::*; - // assert_eq!(ScaleSize::Auto.class_with("border"), "border"); - // assert_eq!(ScaleSize::Zero.class_with("m"), "m-0"); - // assert_eq!(ScaleSize::Three.class_with("p"), "p-3"); - // assert_eq!(ScaleSize::None.class_with("border"), ""); - // ``` + /// + /// # Ejemplo + /// + /// ```rust + /// # use pagetop_bootsier::prelude::*; + /// assert_eq!(ScaleSize::Auto.class_with("border"), "border"); + /// assert_eq!(ScaleSize::Zero.class_with("m"), "m-0"); + /// assert_eq!(ScaleSize::Three.class_with("p"), "p-3"); + /// assert_eq!(ScaleSize::None.class_with("border"), ""); + /// ``` #[inline] pub(crate) fn class_with(self, prefix: &str) -> String { if !prefix.is_empty() { diff --git a/extensions/pagetop-bootsier/src/theme/aux/rounded.rs b/extensions/pagetop-bootsier/src/theme/aux/rounded.rs index 20e061d6..adf6c261 100644 --- a/extensions/pagetop-bootsier/src/theme/aux/rounded.rs +++ b/extensions/pagetop-bootsier/src/theme/aux/rounded.rs @@ -29,8 +29,8 @@ pub enum RoundedRadius { impl RoundedRadius { const ROUNDED: &str = "rounded"; - // Devuelve el sufijo para `*rounded-*`, o `None` si no define ninguna clase, o `""` para el - // redondeo por defecto. + /// Devuelve el sufijo para `*rounded-*`, o `None` si no define ninguna clase, o `""` para el + /// redondeo por defecto. #[rustfmt::skip] #[inline] const fn suffix(self) -> Option<&'static str> { @@ -48,8 +48,8 @@ impl RoundedRadius { } } - // Añade el redondeo de esquinas a la cadena de clases usando el prefijo dado (`rounded-top`, - // `rounded-bottom-start`, o vacío para `rounded-*`). + /// Añade el redondeo de esquinas a la cadena de clases usando el prefijo dado (`rounded-top`, + /// `rounded-bottom-start`, o vacío para `rounded-*`). #[inline] pub(crate) fn push_class(self, classes: &mut String, prefix: &str) { if let Some(suffix) = self.suffix() { @@ -65,19 +65,19 @@ impl RoundedRadius { } } - // Devuelve la clase para el redondeo de esquinas con el prefijo dado (`rounded-top`, - // `rounded-bottom-start`, o vacío para `rounded-*`). - // - // # Ejemplos - // - // ```rust - // # use pagetop_bootsier::prelude::*; - // assert_eq!(RoundedRadius::Scale2.class_with(""), "rounded-2"); - // assert_eq!(RoundedRadius::Zero.class_with("rounded-top"), "rounded-top-0"); - // assert_eq!(RoundedRadius::Scale3.class_with("rounded-top-end"), "rounded-top-end-3"); - // assert_eq!(RoundedRadius::Circle.class_with(""), "rounded-circle"); - // assert_eq!(RoundedRadius::None.class_with("rounded-bottom-start"), ""); - // ``` + /// Devuelve la clase para el redondeo de esquinas con el prefijo dado (`rounded-top`, + /// `rounded-bottom-start`, o vacío para `rounded-*`). + /// + /// # Ejemplos + /// + /// ```rust + /// # use pagetop_bootsier::prelude::*; + /// assert_eq!(RoundedRadius::Scale2.class_with(""), "rounded-2"); + /// assert_eq!(RoundedRadius::Zero.class_with("rounded-top"), "rounded-top-0"); + /// assert_eq!(RoundedRadius::Scale3.class_with("rounded-top-end"), "rounded-top-end-3"); + /// assert_eq!(RoundedRadius::Circle.class_with(""), "rounded-circle"); + /// assert_eq!(RoundedRadius::None.class_with("rounded-bottom-start"), ""); + /// ``` #[inline] pub(crate) fn class_with(self, prefix: &str) -> String { if let Some(suffix) = self.suffix() { diff --git a/extensions/pagetop-bootsier/src/theme/classes/layout.rs b/extensions/pagetop-bootsier/src/theme/classes/layout.rs index e9d7e248..adb8c3e4 100644 --- a/extensions/pagetop-bootsier/src/theme/classes/layout.rs +++ b/extensions/pagetop-bootsier/src/theme/classes/layout.rs @@ -48,7 +48,7 @@ impl Margin { // **< Margin HELPERS >************************************************************************* - // Devuelve el prefijo `m*` según el lado. + /// Devuelve el prefijo `m*` según el lado. #[rustfmt::skip] #[inline] const fn side_prefix(&self) -> &'static str { @@ -63,7 +63,7 @@ impl Margin { } } - // Devuelve el sufijo del tamaño (`auto`, `0`..`5`), o `None` si no define clase. + /// Devuelve el sufijo del tamaño (`auto`, `0`..`5`), o `None` si no define clase. #[rustfmt::skip] #[inline] const fn size_suffix(&self) -> Option<&'static str> { @@ -80,8 +80,8 @@ impl Margin { } /* Añade la clase de **margin** a la cadena de clases (reservado). - // - // No añade nada si `size` es `ScaleSize::None`. + /// + /// No añade nada si `size` es `ScaleSize::None`. #[inline] pub(crate) fn push_class(self, classes: &mut String) { let Some(size) = self.size_suffix() else { @@ -148,7 +148,7 @@ impl Padding { // **< Padding HELPERS >************************************************************************ - // Devuelve el prefijo `p*` según el lado. + /// Devuelve el prefijo `p*` según el lado. #[rustfmt::skip] #[inline] const fn prefix(&self) -> &'static str { @@ -163,9 +163,9 @@ impl Padding { } } - // Devuelve el sufijo del tamaño (`0`..`5`), o `None` si no define clase. - // - // Nota: `ScaleSize::Auto` **no aplica** a padding ⇒ devuelve `None`. + /// Devuelve el sufijo del tamaño (`0`..`5`), o `None` si no define clase. + /// + /// Nota: `ScaleSize::Auto` **no aplica** a padding ⇒ devuelve `None`. #[rustfmt::skip] #[inline] const fn suffix(&self) -> Option<&'static str> { @@ -182,8 +182,8 @@ impl Padding { } /* Añade la clase de **padding** a la cadena de clases (reservado). - // - // No añade nada si `size` es `ScaleSize::None` o `ScaleSize::Auto`. + /// + /// No añade nada si `size` es `ScaleSize::None` o `ScaleSize::Auto`. #[inline] pub(crate) fn push_class(self, classes: &mut String) { let Some(size) = self.suffix() else { @@ -192,9 +192,9 @@ impl Padding { self.breakpoint.push_class(classes, self.prefix(), size); } */ - // Devuelve la clase de **padding** como cadena (`"px-2"`, `"pe-sm-4"`, etc.). - // - // Si `size` es `ScaleSize::None` o `ScaleSize::Auto`, devuelve `""`. + /// Devuelve la clase de **padding** como cadena (`"px-2"`, `"pe-sm-4"`, etc.). + /// + /// Si `size` es `ScaleSize::None` o `ScaleSize::Auto`, devuelve `""`. #[inline] pub fn to_class(self) -> String { let Some(size) = self.suffix() else { diff --git a/extensions/pagetop-bootsier/src/theme/dropdown/props.rs b/extensions/pagetop-bootsier/src/theme/dropdown/props.rs index 7571332b..d88f0929 100644 --- a/extensions/pagetop-bootsier/src/theme/dropdown/props.rs +++ b/extensions/pagetop-bootsier/src/theme/dropdown/props.rs @@ -22,7 +22,7 @@ pub enum AutoClose { } impl AutoClose { - // Devuelve el valor para `data-bs-auto-close`, o `None` si es el comportamiento por defecto. + /// Devuelve el valor para `data-bs-auto-close`, o `None` si es el comportamiento por defecto. #[rustfmt::skip] #[inline] pub(crate) const fn as_str(self) -> Option<&'static str> { @@ -59,7 +59,7 @@ pub enum Direction { } impl Direction { - // Mapea la dirección teniendo en cuenta si se agrupa con otros menús [`Dropdown`]. + /// Mapea la dirección teniendo en cuenta si se agrupa con otros menús [`Dropdown`]. #[rustfmt::skip ] #[inline] const fn as_str(self, grouped: bool) -> &'static str { @@ -74,8 +74,8 @@ impl Direction { } } - // Añade la dirección de despliegue a la cadena de clases teniendo en cuenta si se agrupa con - // otros menús [`Dropdown`]. + /// Añade la dirección de despliegue a la cadena de clases teniendo en cuenta si se agrupa con + /// otros menús [`Dropdown`]. #[inline] pub(crate) fn push_class(self, classes: &mut String, grouped: bool) { if grouped { @@ -93,8 +93,8 @@ impl Direction { } } - // Devuelve la clase asociada a la dirección teniendo en cuenta si se agrupa con otros menús - // [`Dropdown`], o `""` si no corresponde ninguna. + /// Devuelve la clase asociada a la dirección teniendo en cuenta si se agrupa con otros menús + /// [`Dropdown`], o `""` si no corresponde ninguna. #[inline] pub(crate) fn class_with(self, grouped: bool) -> String { let mut classes = String::new(); @@ -138,7 +138,7 @@ impl MenuAlign { classes.push_str(class); } - // Añade las clases de alineación a `classes` (sin incluir la base `dropdown-menu`). + /// Añade las clases de alineación a `classes` (sin incluir la base `dropdown-menu`). #[inline] pub(crate) fn push_class(self, classes: &mut String) { match self { @@ -206,7 +206,7 @@ pub enum MenuPosition { } impl MenuPosition { - // Devuelve el valor para `data-bs-offset` o `None` si no aplica. + /// Devuelve el valor para `data-bs-offset` o `None` si no aplica. #[inline] pub(crate) fn data_offset(self) -> Option { match self { @@ -215,7 +215,7 @@ impl MenuPosition { } } - // Devuelve el valor para `data-bs-reference` o `None` si no aplica. + /// Devuelve el valor para `data-bs-reference` o `None` si no aplica. #[inline] pub(crate) fn data_reference(self) -> Option<&'static str> { match self { diff --git a/extensions/pagetop-bootsier/src/theme/image/props.rs b/extensions/pagetop-bootsier/src/theme/image/props.rs index e9b1286a..f31d74c1 100644 --- a/extensions/pagetop-bootsier/src/theme/image/props.rs +++ b/extensions/pagetop-bootsier/src/theme/image/props.rs @@ -31,7 +31,7 @@ pub enum Size { } impl Size { - // Devuelve el valor del atributo `style` en función del tamaño, o `None` si no aplica. + /// Devuelve el valor del atributo `style` en función del tamaño, o `None` si no aplica. #[inline] pub(crate) fn to_style(self) -> Option { match self { @@ -70,7 +70,7 @@ impl Source { const IMG_FLUID: &str = "img-fluid"; const IMG_THUMBNAIL: &str = "img-thumbnail"; - // Devuelve la clase base asociada a la imagen según la fuente. + /// Devuelve la clase base asociada a la imagen según la fuente. #[inline] fn as_str(&self) -> &'static str { match self { @@ -93,7 +93,7 @@ impl Source { classes.push_str(s); } */ - // Devuelve la clase asociada a la imagen según la fuente. + /// Devuelve la clase asociada a la imagen según la fuente. #[inline] pub(crate) fn to_class(&self) -> String { let s = self.as_str(); diff --git a/extensions/pagetop-bootsier/src/theme/nav/item.rs b/extensions/pagetop-bootsier/src/theme/nav/item.rs index 6c42a76a..41a8b9f2 100644 --- a/extensions/pagetop-bootsier/src/theme/nav/item.rs +++ b/extensions/pagetop-bootsier/src/theme/nav/item.rs @@ -60,7 +60,7 @@ impl ItemKind { classes.push_str(class); } */ - // Devuelve las clases asociadas al tipo de elemento. + /// Devuelve las clases asociadas al tipo de elemento. #[inline] pub(crate) fn to_class(&self) -> String { self.as_str().to_owned() diff --git a/extensions/pagetop-bootsier/src/theme/nav/props.rs b/extensions/pagetop-bootsier/src/theme/nav/props.rs index 46a4e2bc..97304ee4 100644 --- a/extensions/pagetop-bootsier/src/theme/nav/props.rs +++ b/extensions/pagetop-bootsier/src/theme/nav/props.rs @@ -21,7 +21,7 @@ impl Kind { const PILLS: &str = "nav-pills"; const UNDERLINE: &str = "nav-underline"; - // Devuelve la clase base asociada al tipo de menú, o una cadena vacía si no aplica. + /// Devuelve la clase base asociada al tipo de menú, o una cadena vacía si no aplica. #[rustfmt::skip] #[inline] const fn as_str(self) -> &'static str { @@ -33,7 +33,7 @@ impl Kind { } } - // Añade la clase asociada al tipo de menú a la cadena de clases. + /// Añade la clase asociada al tipo de menú a la cadena de clases. #[inline] pub(crate) fn push_class(self, classes: &mut String) { let class = self.as_str(); @@ -83,7 +83,7 @@ impl Layout { const FILL: &str = "nav-fill"; const JUSTIFIED: &str = "nav-justified"; - // Devuelve la clase base asociada a la distribución y orientación del menú. + /// Devuelve la clase base asociada a la distribución y orientación del menú. #[rustfmt::skip] #[inline] const fn as_str(self) -> &'static str { @@ -98,7 +98,7 @@ impl Layout { } } - // Añade la clase asociada a la distribución y orientación del menú a la cadena de clases. + /// Añade la clase asociada a la distribución y orientación del menú a la cadena de clases. #[inline] pub(crate) fn push_class(self, classes: &mut String) { let class = self.as_str(); @@ -112,7 +112,7 @@ impl Layout { } /* Devuelve la clase asociada a la distribución y orientación del menú, o una cadena vacía si no - // aplica (reservado). + /// aplica (reservado). #[inline] pub(crate) fn to_class(self) -> String { self.as_str().to_owned() diff --git a/extensions/pagetop-bootsier/src/theme/navbar/props.rs b/extensions/pagetop-bootsier/src/theme/navbar/props.rs index 1aeb6170..59189946 100644 --- a/extensions/pagetop-bootsier/src/theme/navbar/props.rs +++ b/extensions/pagetop-bootsier/src/theme/navbar/props.rs @@ -64,7 +64,7 @@ pub enum Position { } impl Position { - // Devuelve la clase base asociada a la posición de la barra de navegación. + /// Devuelve la clase base asociada a la posición de la barra de navegación. #[inline] const fn as_str(self) -> &'static str { match self { @@ -76,7 +76,7 @@ impl Position { } } - // Añade la clase asociada a la posición de la barra de navegación a la cadena de clases. + /// Añade la clase asociada a la posición de la barra de navegación a la cadena de clases. #[inline] pub(crate) fn push_class(self, classes: &mut String) { let class = self.as_str(); @@ -90,7 +90,7 @@ impl Position { } /* Devuelve la clase asociada a la posición de la barra de navegación, o cadena vacía si no - // aplica (reservado). + /// aplica (reservado). #[inline] pub(crate) fn to_class(self) -> String { self.as_str().to_string() diff --git a/extensions/pagetop-bootsier/src/theme/offcanvas/props.rs b/extensions/pagetop-bootsier/src/theme/offcanvas/props.rs index cdfe8623..5a3c1319 100644 --- a/extensions/pagetop-bootsier/src/theme/offcanvas/props.rs +++ b/extensions/pagetop-bootsier/src/theme/offcanvas/props.rs @@ -48,7 +48,7 @@ pub enum Placement { } impl Placement { - // Devuelve la clase base asociada a la posición de aparición del panel. + /// Devuelve la clase base asociada a la posición de aparición del panel. #[rustfmt::skip] #[inline] const fn as_str(self) -> &'static str { @@ -60,7 +60,7 @@ impl Placement { } } - // Añade la clase asociada a la posición de aparición del panel a la cadena de clases. + /// Añade la clase asociada a la posición de aparición del panel a la cadena de clases. #[inline] pub(crate) fn push_class(self, classes: &mut String) { if !classes.is_empty() { @@ -89,7 +89,7 @@ pub enum Visibility { } impl Visibility { - // Devuelve la clase base asociada al estado inicial del panel. + /// Devuelve la clase base asociada al estado inicial del panel. #[inline] const fn as_str(self) -> &'static str { match self { @@ -98,7 +98,7 @@ impl Visibility { } } - // Añade la clase asociada al estado inicial del panel a la cadena de clases. + /// Añade la clase asociada al estado inicial del panel a la cadena de clases. #[inline] pub(crate) fn push_class(self, classes: &mut String) { let class = self.as_str(); diff --git a/helpers/pagetop-build/src/lib.rs b/helpers/pagetop-build/src/lib.rs index 9088ec99..774a4af7 100644 --- a/helpers/pagetop-build/src/lib.rs +++ b/helpers/pagetop-build/src/lib.rs @@ -104,7 +104,7 @@ use pagetop::prelude::*; pub struct MyExtension; impl Extension for MyExtension { - // Servicio web que publica los recursos de `guides` en `/ruta/a/guides`. + /// Servicio web que publica los recursos de `guides` en `/ruta/a/guides`. fn configure_service(&self, scfg: &mut service::web::ServiceConfig) { static_files_service!(scfg, guides => "/ruta/a/guides"); } diff --git a/src/app.rs b/src/app.rs index b49e522e..6a266edc 100644 --- a/src/app.rs +++ b/src/app.rs @@ -50,7 +50,7 @@ impl Application { Self::internal_prepare(Some(root_extension)) } - // Método interno para preparar la aplicación, opcionalmente con una extensión. + /// Método interno para preparar la aplicación, opcionalmente con una extensión. fn internal_prepare(root_extension: Option) -> Self { // Al arrancar muestra una cabecera para la aplicación. Self::show_banner(); @@ -73,7 +73,7 @@ impl Application { Self } - // Muestra una cabecera para la aplicación basada en la configuración. + /// Muestra una cabecera para la aplicación basada en la configuración. fn show_banner() { use colored::Colorize; use terminal_size::{terminal_size, Width}; @@ -164,7 +164,7 @@ impl Application { Self::service_app() } - // Configura el servicio web de la aplicación. + /// Configura el servicio web de la aplicación. fn service_app() -> service::App< impl service::Factory< service::Request, diff --git a/src/base/action/component/after_render_component.rs b/src/base/action/component/after_render_component.rs index 0cb03347..7178404a 100644 --- a/src/base/action/component/after_render_component.rs +++ b/src/base/action/component/after_render_component.rs @@ -52,7 +52,7 @@ impl AfterRender { self } - // Despacha las acciones. + /// Despacha las acciones. #[inline] pub(crate) fn dispatch(component: &mut C, cx: &mut Context) { // Primero despacha las acciones para el tipo de componente. diff --git a/src/base/action/component/before_render_component.rs b/src/base/action/component/before_render_component.rs index 46ff9aae..2c86d243 100644 --- a/src/base/action/component/before_render_component.rs +++ b/src/base/action/component/before_render_component.rs @@ -52,7 +52,7 @@ impl BeforeRender { self } - // Despacha las acciones. + /// Despacha las acciones. #[inline] pub(crate) fn dispatch(component: &mut C, cx: &mut Context) { // Primero despacha las acciones para el tipo de componente. diff --git a/src/base/action/page/after_render_body.rs b/src/base/action/page/after_render_body.rs index 0bbfeaba..7ecc353a 100644 --- a/src/base/action/page/after_render_body.rs +++ b/src/base/action/page/after_render_body.rs @@ -34,7 +34,7 @@ impl AfterRenderBody { self } - // Despacha las acciones. + /// Despacha las acciones. #[inline(always)] #[allow(clippy::inline_always)] pub(crate) fn dispatch(page: &mut Page) { diff --git a/src/base/action/page/before_render_body.rs b/src/base/action/page/before_render_body.rs index 68f4af7d..d4ae64d0 100644 --- a/src/base/action/page/before_render_body.rs +++ b/src/base/action/page/before_render_body.rs @@ -34,7 +34,7 @@ impl BeforeRenderBody { self } - // Despacha las acciones. + /// Despacha las acciones. #[inline(always)] #[allow(clippy::inline_always)] pub(crate) fn dispatch(page: &mut Page) { diff --git a/src/base/action/theme/after_render_component.rs b/src/base/action/theme/after_render_component.rs index d0beeb45..a31ad56a 100644 --- a/src/base/action/theme/after_render_component.rs +++ b/src/base/action/theme/after_render_component.rs @@ -34,7 +34,7 @@ impl AfterRender { } } - // Despacha las acciones. + /// Despacha las acciones. #[inline] pub(crate) fn dispatch(component: &mut C, cx: &mut Context) { dispatch_actions( diff --git a/src/base/action/theme/before_render_component.rs b/src/base/action/theme/before_render_component.rs index ac5ee6b2..c00de8e9 100644 --- a/src/base/action/theme/before_render_component.rs +++ b/src/base/action/theme/before_render_component.rs @@ -34,7 +34,7 @@ impl BeforeRender { } } - // Despacha las acciones. + /// Despacha las acciones. #[inline] pub(crate) fn dispatch(component: &mut C, cx: &mut Context) { dispatch_actions( diff --git a/src/base/action/theme/prepare_render.rs b/src/base/action/theme/prepare_render.rs index 4a1a2da6..8e46e8cc 100644 --- a/src/base/action/theme/prepare_render.rs +++ b/src/base/action/theme/prepare_render.rs @@ -41,7 +41,7 @@ impl PrepareRender { } } - // Despacha las acciones. Se detiene en cuanto una renderiza. + /// Despacha las acciones. Se detiene en cuanto una renderiza. #[inline] pub(crate) fn dispatch(component: &C, cx: &mut Context) -> PrepareMarkup { let mut render_component = PrepareMarkup::None; diff --git a/src/core.rs b/src/core.rs index ab4d693b..8a47848e 100644 --- a/src/core.rs +++ b/src/core.rs @@ -30,28 +30,28 @@ impl TypeInfo { } } - // Extrae un rango de segmentos de `type_name` (tokens separados por `::`). - // - // Los argumentos `start` y `end` identifican los índices de los segmentos teniendo en cuenta: - // - // * Los índices positivos cuentan **desde la izquierda**, empezando en `0`. - // * Los índices negativos cuentan **desde la derecha**, `-1` es el último. - // * Si `end` es `None`, el corte llega hasta el último segmento. - // * Si la selección resulta vacía por índices desordenados o segmento inexistente, se devuelve - // la cadena vacía. - // - // Ejemplos (con `type_name = "alloc::vec::Vec"`): - // - // | Llamada | Resultado | - // |------------------------------|--------------------------| - // | `partial(..., 0, None)` | `"alloc::vec::Vec"` | - // | `partial(..., 1, None)` | `"vec::Vec"` | - // | `partial(..., -1, None)` | `"Vec"` | - // | `partial(..., 0, Some(-2))` | `"alloc::vec"` | - // | `partial(..., -5, None)` | `"alloc::vec::Vec"` | - // - // La porción devuelta vive tanto como `'static` porque `type_name` es `'static` y sólo se - // presta. + /// Extrae un rango de segmentos de `type_name` (tokens separados por `::`). + /// + /// Los argumentos `start` y `end` identifican los índices de los segmentos teniendo en cuenta: + /// + /// * Los índices positivos cuentan **desde la izquierda**, empezando en `0`. + /// * Los índices negativos cuentan **desde la derecha**, `-1` es el último. + /// * Si `end` es `None`, el corte llega hasta el último segmento. + /// * Si la selección resulta vacía por índices desordenados o segmento inexistente, se devuelve + /// la cadena vacía. + /// + /// Ejemplos (con `type_name = "alloc::vec::Vec"`): + /// + /// | Llamada | Resultado | + /// |------------------------------|--------------------------| + /// | `partial(..., 0, None)` | `"alloc::vec::Vec"` | + /// | `partial(..., 1, None)` | `"vec::Vec"` | + /// | `partial(..., -1, None)` | `"Vec"` | + /// | `partial(..., 0, Some(-2))` | `"alloc::vec"` | + /// | `partial(..., -5, None)` | `"alloc::vec::Vec"` | + /// + /// La porción devuelta vive tanto como `'static` porque `type_name` es `'static` y sólo se + /// presta. fn partial(type_name: &'static str, start: isize, end: Option) -> &'static str { let maxlen = type_name.len(); diff --git a/src/core/action/all.rs b/src/core/action/all.rs index 2a3dfd2d..7e7305b1 100644 --- a/src/core/action/all.rs +++ b/src/core/action/all.rs @@ -12,13 +12,13 @@ static ACTIONS: LazyLock>> = // **< AÑADIR ACCIONES >**************************************************************************** -// Registra una nueva acción en el sistema. -// -// Si ya existen acciones con la misma `ActionKey`, la acción se añade a la misma lista. Si no, se -// crea una nueva lista. -// -// Las extensiones llamarán a esta función durante su inicialización para instalar acciones -// personalizadas que modifiquen el comportamiento del *core* o de otros componentes. +/// Registra una nueva acción en el sistema. +/// +/// Si ya existen acciones con la misma `ActionKey`, la acción se añade a la misma lista. Si no, se +/// crea una nueva lista. +/// +/// Las extensiones llamarán a esta función durante su inicialización para instalar acciones +/// personalizadas que modifiquen el comportamiento del *core* o de otros componentes. pub(crate) fn add_action(action: ActionBox) { let key = ActionKey::new( action.type_id(), diff --git a/src/core/component/children.rs b/src/core/component/children.rs index 15a6de22..08e7e5b6 100644 --- a/src/core/component/children.rs +++ b/src/core/component/children.rs @@ -55,7 +55,7 @@ impl Child { // **< Child HELPERS >************************************************************************** - // Devuelve el [`UniqueId`] del tipo del componente, si existe. + /// Devuelve el [`UniqueId`] del tipo del componente, si existe. #[inline] fn type_id(&self) -> Option { self.0.as_ref().map(|c| c.read().type_id()) @@ -156,7 +156,7 @@ impl Typed { // **< Typed HELPERS >************************************************************************** - // Método interno para convertir un componente tipado en un [`Child`]. + /// Método interno para convertir un componente tipado en un [`Child`]. #[inline] fn into(self) -> Child { if let Some(c) = &self.0 { @@ -216,7 +216,7 @@ impl Children { Children::default().with_child(ChildOp::Add(child)) } - // Fusiona varias listas de `Children` en una sola. + /// Fusiona varias listas de `Children` en una sola. pub(crate) fn merge(mixes: &[Option<&Children>]) -> Self { let mut opt = Children::default(); for m in mixes.iter().flatten() { @@ -321,7 +321,7 @@ impl Children { // **< Children HELPERS >*********************************************************************** - // Añade más de un componente hijo al final de la lista (en el orden recibido). + /// Añade más de un componente hijo al final de la lista (en el orden recibido). #[inline] fn add_many(&mut self, iter: I) -> &mut Self where @@ -331,7 +331,7 @@ impl Children { self } - // Inserta un hijo después del componente con el `id` dado, o al final si no se encuentra. + /// Inserta un hijo después del componente con el `id` dado, o al final si no se encuentra. #[inline] fn insert_after_id(&mut self, id: impl AsRef, child: Child) -> &mut Self { let id = Some(id.as_ref()); @@ -342,7 +342,7 @@ impl Children { self } - // Inserta un hijo antes del componente con el `id` dado, o al principio si no se encuentra. + /// Inserta un hijo antes del componente con el `id` dado, o al principio si no se encuentra. #[inline] fn insert_before_id(&mut self, id: impl AsRef, child: Child) -> &mut Self { let id = Some(id.as_ref()); @@ -353,14 +353,14 @@ impl Children { self } - // Inserta un hijo al principio de la colección. + /// Inserta un hijo al principio de la colección. #[inline] fn prepend(&mut self, child: Child) -> &mut Self { self.0.insert(0, child); self } - // Inserta más de un componente hijo al principio de la lista (manteniendo el orden recibido). + /// Inserta más de un componente hijo al principio de la lista (manteniendo el orden recibido). #[inline] fn prepend_many(&mut self, iter: I) -> &mut Self where @@ -371,7 +371,7 @@ impl Children { self } - // Elimina el primer hijo con el `id` dado. + /// Elimina el primer hijo con el `id` dado. #[inline] fn remove_by_id(&mut self, id: impl AsRef) -> &mut Self { let id = Some(id.as_ref()); @@ -381,7 +381,7 @@ impl Children { self } - // Sustituye el primer hijo con el `id` dado por otro componente. + /// Sustituye el primer hijo con el `id` dado por otro componente. #[inline] fn replace_by_id(&mut self, id: impl AsRef, child: Child) -> &mut Self { let id = Some(id.as_ref()); @@ -394,7 +394,7 @@ impl Children { self } - // Elimina todos los componentes hijo de la lista. + /// Elimina todos los componentes hijo de la lista. #[inline] fn reset(&mut self) -> &mut Self { self.0.clear(); diff --git a/src/core/theme/all.rs b/src/core/theme/all.rs index 5e6b65b0..4774ee6e 100644 --- a/src/core/theme/all.rs +++ b/src/core/theme/all.rs @@ -19,7 +19,7 @@ pub static DEFAULT_THEME: LazyLock = // **< TEMA POR NOMBRE >**************************************************************************** -// Devuelve el tema identificado por su [`short_name()`](AnyInfo::short_name). +/// Devuelve el tema identificado por su [`short_name()`](AnyInfo::short_name). pub fn theme_by_short_name(short_name: &'static str) -> Option { let short_name = short_name.to_lowercase(); match THEMES diff --git a/src/html.rs b/src/html.rs index e0725dde..16a6c9e4 100644 --- a/src/html.rs +++ b/src/html.rs @@ -106,7 +106,7 @@ impl PrepareMarkup { self.render().into_string() } - // Integra el renderizado fácilmente en la macro [`html!`]. + /// Integra el renderizado fácilmente en la macro [`html!`]. pub(crate) fn render(&self) -> Markup { match self { PrepareMarkup::None => html! {}, diff --git a/src/html/assets/favicon.rs b/src/html/assets/favicon.rs index 7598603c..704e2d6b 100644 --- a/src/html/assets/favicon.rs +++ b/src/html/assets/favicon.rs @@ -113,14 +113,14 @@ impl Favicon { self } - // Función interna que centraliza la creación de las etiquetas ``. - // - // - `icon_rel`: indica el tipo de recurso (`"icon"`, `"apple-touch-icon"`, etc.). - // - `icon_source`: URL del recurso. - // - `icon_sizes`: tamaños opcionales. - // - `icon_color`: color opcional (solo relevante para `mask-icon`). - // - // También infiere automáticamente el tipo MIME (`type`) según la extensión del archivo. + /// Función interna que centraliza la creación de las etiquetas ``. + /// + /// - `icon_rel`: indica el tipo de recurso (`"icon"`, `"apple-touch-icon"`, etc.). + /// - `icon_source`: URL del recurso. + /// - `icon_sizes`: tamaños opcionales. + /// - `icon_color`: color opcional (solo relevante para `mask-icon`). + /// + /// También infiere automáticamente el tipo MIME (`type`) según la extensión del archivo. fn add_icon_item( mut self, icon_rel: &str, diff --git a/src/response/json.rs b/src/response/json.rs index 0878999f..23b8ab2c 100644 --- a/src/response/json.rs +++ b/src/response/json.rs @@ -10,7 +10,7 @@ //! #[derive(serde::Deserialize)] //! struct NuevoUsuario { nombre: String, email: String } //! -//! // Manejador configurado para la ruta POST "/usuarios". +//! /// Manejador configurado para la ruta POST "/usuarios". //! async fn crear_usuario(payload: Json) -> HttpResponse { //! // `payload` ya es `NuevoUsuario`; si la deserialización falla, //! // devolverá automáticamente 400 Bad Request con un cuerpo JSON que describe el error.