pagetop/extensions/pagetop-bootsier
2026-01-06 01:17:35 +01:00
..
src (bootsier): Añade componentes para formularios 2026-01-06 01:17:35 +01:00
static (bootsier): Añade plantilla estándar propia 2025-11-30 10:53:49 +01:00
.gitattributes 🎨 (bootsier): Ajusta estilos para personalizar 2025-10-12 20:37:38 +02:00
build.rs (bootsier): Añade componente Navbar 2025-11-02 12:40:26 +01:00
Cargo.toml (bootsier): Añade dependencia serde y edita doc 2025-10-19 21:47:19 +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 📝 Añade guías de contribución y revisa estilos 2025-12-19 11:15:49 +01: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,
            // ...
        ]
    }
}

#[pagetop::main]
async fn main() -> std::io::Result<()> {
    Application::prepare(&MyApp).run()?.await
}

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) -> ResultPage<Markup, ErrorPage> {
    Page::new(request)
        .with_theme(&Bootsier)
        .add_child(
            Block::new()
                .with_title(L10n::l("sample_title"))
                .add_child(Html::with(|cx| html! {
                    p { (L10n::l("sample_content").using(cx)) }
                })),
        )
        .render()
}

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