pagetop/extensions/pagetop-bootsier
Manuel Cillero c7b680a7f7 (html): Añade Preload para precarga de recursos
Nuevo tipo `Preload` (junto a `StyleSheet` y `JavaScript`) que emite
`<link rel="preload">` con soporte para fuentes, estilos, scripts e
imágenes (WebP y AVIF incluidos). Bootsier lo usa para precargar las
fuentes Source Sans 3 y eliminar el FOUT en la carga inicial.
2026-07-07 00:03:36 +02:00
..
assets (html): Añade Preload para precarga de recursos 2026-07-07 00:03:36 +02:00
src (html): Añade Preload para precarga de recursos 2026-07-07 00:03:36 +02:00
.gitattributes 🎨 (bootsier): Ajusta estilos para personalizar 2025-10-12 20:37:38 +02:00
build.rs ♻️ (bootsier): Reorganiza activos estáticos 2026-06-20 19:52:21 +02:00
Cargo.toml 📝 Limpia y corrige documentación de extensiones 2026-06-12 21:29:10 +02:00
CHANGELOG.md 🔖 Prepara publicación de pagetop-bootsier 0.1.1 2026-05-07 21:21:47 +02:00
LICENSE-APACHE 📄 Actualiza licencias y revisa *badges* de README 2025-10-12 13:08:33 +02:00
LICENSE-MIT 📄 Actualiza licencias y revisa *badges* de README 2025-10-12 13:08:33 +02:00
README.md 📝 Limpia y corrige documentación de extensiones 2026-06-12 21:29:10 +02:00

PageTop Bootsier

Tema de PageTop basado en Bootstrap para aplicar su catálogo de estilos y componentes flexibles.

Doc API Crates.io Descargas Licencia

Sobre PageTop

PageTop es un entorno de desarrollo que reivindica la esencia de la web clásica para crear soluciones web SSR (renderizadas en el servidor) modulares, extensibles y configurables, basadas en HTML, CSS y JavaScript.

Guía rápida

Igual que con otras extensiones, añade la dependencia a tu Cargo.toml:

[dependencies]
pagetop-bootsier = { ... }

Declara la extensión en tu aplicación (o extensión que la requiera). Recuerda que el orden en dependencies() determina la prioridad relativa frente a las otras extensiones:

use pagetop::prelude::*;

struct MyApp;

impl Extension for MyApp {
    fn dependencies(&self) -> Vec<ExtensionRef> {
        vec![
            // ...
            &pagetop_bootsier::Bootsier,
            // ...
        ]
    }
}

Y selecciona el tema en la configuración de la aplicación:

[app]
theme = "Bootsier"

o fuerza el tema por código en una página concreta:

use pagetop::prelude::*;
use pagetop_bootsier::Bootsier;

async fn homepage(request: HttpRequest) -> Result<Markup, ErrorPage> {
    Page::new(request)
        .with_theme(&Bootsier)
        .with_child(
            Block::new()
                .with_title(L10n::l("sample_title"))
                .with_child(Html::with(|cx| html! {
                    p { (L10n::l("sample_content").using(cx)) }
                })),
        )
        .render()
}

Créditos

Este crate integra la biblioteca de estilos Bootstrap 5.3.8 para definir el comportamiento, la apariencia y los componentes de la interfaz. Bootstrap se distribuye bajo licencia MIT.

Advertencia

PageTop es un proyecto personal para aprender Rust y conocer su ecosistema. Su API está sujeta a cambios frecuentes. No se recomienda su uso en producción, al menos hasta que se libere la versión 1.0.0.

Licencia

El código está disponible bajo una doble licencia:

Puedes elegir la licencia que prefieras. Este enfoque de doble licencia es el estándar de facto en el ecosistema Rust.