Permite servir `css`, `js` y `fonts` desde disco mientras la aplicación está en ejecución, sin necesidad de recompilar.
58 lines
1.7 KiB
Rust
58 lines
1.7 KiB
Rust
//! Opciones de configuración del tema.
|
|
//!
|
|
//! Ejemplo:
|
|
//!
|
|
//! ```toml
|
|
//! [bootsier]
|
|
//! max_width = "90rem"
|
|
//! ```
|
|
//!
|
|
//! Uso:
|
|
//!
|
|
//! ```rust,no_run
|
|
//! # use pagetop::prelude::*;
|
|
//! use pagetop_bootsier::config;
|
|
//!
|
|
//! assert_eq!(config::SETTINGS.bootsier.max_width, UnitValue::Px(1440));
|
|
//! ```
|
|
//!
|
|
//! Consulta [`pagetop::config`] para ver cómo PageTop lee los archivos de configuración y aplica
|
|
//! los valores a los ajustes.
|
|
|
|
use pagetop::prelude::*;
|
|
|
|
use serde::Deserialize;
|
|
|
|
include_config!(SETTINGS: Settings => [
|
|
// [bootsier]
|
|
"bootsier.max_width" => "1440px",
|
|
// [dev]
|
|
"dev.bootsier_static_dir" => "",
|
|
]);
|
|
|
|
/// Ajustes para la sección [`Bootsier`] de [`SETTINGS`].
|
|
#[derive(Debug, Deserialize)]
|
|
pub struct Settings {
|
|
pub bootsier: Bootsier,
|
|
pub dev: Dev,
|
|
}
|
|
|
|
/// Sección **`[bootsier]`** de la configuración. Forma parte de [`Settings`].
|
|
#[derive(Debug, Deserialize)]
|
|
pub struct Bootsier {
|
|
/// Ancho máximo predeterminado para la página, por ejemplo "100%" o "90rem".
|
|
pub max_width: UnitValue,
|
|
}
|
|
|
|
/// Sección **`[dev]`** de la configuración. Forma parte de [`Settings`].
|
|
#[derive(Debug, Deserialize)]
|
|
pub struct Dev {
|
|
/// Directorio raíz de `static/` para servir los archivos estáticos propios de Bootsier.
|
|
///
|
|
/// Si se indica una ruta válida, absoluta o relativa al directorio del proyecto o del binario
|
|
/// en ejecución, los archivos estáticos se servirán desde disco. Útil para poder modificar los
|
|
/// archivos estáticos mientras la aplicación está en ejecución, sin necesidad de recompilar.
|
|
///
|
|
/// Si la cadena está vacía, se ignora este ajuste.
|
|
pub bootsier_static_dir: String,
|
|
}
|