100 lines
2.9 KiB
Markdown
100 lines
2.9 KiB
Markdown
<div align="center">
|
|
|
|
<h1>PageTop Aliner</h1>
|
|
|
|
<p>Tema para <strong>PageTop</strong> que muestra esquemáticamente la composición de las páginas HTML.</p>
|
|
|
|
[](#-licencia)
|
|
[](https://docs.rs/pagetop-aliner)
|
|
[](https://crates.io/crates/pagetop-aliner)
|
|
[](https://crates.io/crates/pagetop-aliner)
|
|
|
|
<br>
|
|
</div>
|
|
|
|
## Sobre PageTop
|
|
|
|
[PageTop](https://docs.rs/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`:
|
|
|
|
```toml
|
|
[dependencies]
|
|
pagetop-aliner = "..."
|
|
```
|
|
|
|
**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:
|
|
|
|
```rust,no_run
|
|
use pagetop::prelude::*;
|
|
|
|
struct MyApp;
|
|
|
|
impl Extension for MyApp {
|
|
fn dependencies(&self) -> Vec<ExtensionRef> {
|
|
vec![
|
|
// ...
|
|
&pagetop_aliner::Aliner,
|
|
// ...
|
|
]
|
|
}
|
|
}
|
|
|
|
#[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:
|
|
|
|
```toml
|
|
[app]
|
|
theme = "Aliner"
|
|
```
|
|
|
|
…o **fuerza el tema por código** en una página concreta:
|
|
|
|
```rust,no_run
|
|
use pagetop::prelude::*;
|
|
|
|
async fn homepage(request: HttpRequest) -> ResultPage<Markup, ErrorPage> {
|
|
Page::new(request)
|
|
.with_theme("Aliner")
|
|
.add_component(
|
|
Block::new()
|
|
.with_title(L10n::l("sample_title"))
|
|
.add_component(Html::with(|cx| html! {
|
|
p { (L10n::l("sample_content").using(cx)) }
|
|
})),
|
|
)
|
|
.render()
|
|
}
|
|
```
|
|
|
|
|
|
# 🚧 Advertencia
|
|
|
|
**PageTop** es un proyecto personal para aprender [Rust](https://www.rust-lang.org/es) 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:
|
|
|
|
* **Licencia MIT**
|
|
([LICENSE-MIT](LICENSE-MIT) o también https://opensource.org/licenses/MIT)
|
|
|
|
* **Licencia Apache, Versión 2.0**
|
|
([LICENSE-APACHE](LICENSE-APACHE) o también https://www.apache.org/licenses/LICENSE-2.0)
|
|
|
|
Puedes elegir la licencia que prefieras. Este enfoque de doble licencia es el estándar de facto en
|
|
el ecosistema Rust.
|