Implementujte vykreslování ve stylu HTML/template v jazyce Rust.
`go_html_template` je knihovna v jazyce Rust, která napodobuje klíčové postupy používané v Go pro práci s HTML šablonami. Podporuje syntax šablon, řetězení operací, bezpečné vkládání dat s ohledem na kontext a blokování potenciálně nebezpečných URL adres, přičemž zachovává známou strukturu rozhraní.
Rozhraní API pro šablony inspirované jazykem Go.
Použijte metodu `Template::new(...).parse(...).execute(...)` a využijte funkce definování proměnných, šablon, rozsahu, podmíněných výrazů a pipeline.
Kontextově řízené odchýlení.
Používá kontextově specifické mechanismy pro zabezpečení HTML textu, atributů, URL adres a sekcí skriptů/stylů, a blokuje potenciálně nebezpečné URL adresy začínající na "javascript:".
Režim "web-rust".
Funkce "web-rust" zakazuje použití funkcí `parse_files`, `parse_glob` a `parse_fs`, což umožňuje vynutit načítání šablon pouze do paměti.
Nastavení a základní použití.
Přidejte knihovnu (crate) a poté ověřte minimální proces parsování a následné konverze do řetězce. V prostředích využívajících web-rust používejte šablony uložené v paměti namísto API pro načítání souborů.
Instalovat.
cargo add go_html_template
Příklad v jazyce Rust.
use go_html_template::{Template, Value};
fn main() -> Result<(), Box> {
let tpl = Template::new("page")
.parse(r#"{{.Title}}
{{.Body | safe_html}}
"#)?;
let out = tpl.execute_to_string(&serde_json::json!({
"Title": "go_html_template",
"Body": "trusted"
}))?;
println!("{}", out);
Ok(())
}
Stav kompatibility.
Aktuální šablona HTML pro generování obsahu. implementuje základní pracovní postupy a zároveň se snaží odstraňovat problémy s kompatibilitou. Je důležité si uvědomit, že zatím nedosahuje plné kompatibility s knihovnou `html/template` v jazyce Go, takže je nutné ověřit její chování ve vašich produkčních šablonách.
Předchozí.
Seznam OSS.