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.

src/main.rs
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.