Rust icinde Go html/template tarzinda render.

go_html_template, Go html/template'in temel is akislariyla uyumlu bir Rust crate'idir. Template soz dizimini, pipeline'lari, baglama duyarli kacislari ve guvensiz URL semalarini engellemeyi, tanidik bir API yapisi koruyarak destekler.

Go benzeri Template API'si

define/template/range/with/pipeline ozellikleriyle Template::new(...).parse(...).execute(...) kullanin.

Bağlama Duyarlı Kaçış

HTML metni, nitelikler, URL nitelikleri ve script/style baglamlari icin baglama duyarli kacis uygular ve guvensiz javascript: URL'lerini engeller.

web-rust Modu

web-rust ozelligiyle parse_files/parse_glob/parse_fs devre disi kalir; boylece yalnizca bellek ici template yukleme zorunlu tutulabilir.

Kurulum ve Temel Kullanım

Crate'i ekleyin, sonra minimal bir parse + execute_to_string akisini dogrulayin. web-rust ortamlarinda dosya yukleme API'leri yerine bellek ici template string'leri kullanin.

Kurulum

cargo add go_html_template

Rust Örneği

src/main.rs
use go_html_template::{Template, Value};

fn main() -> Result<(), Box<dyn std::error::Error>> {
  let tpl = Template::new("page")
    .parse(r#"<h1>{{.Title}}</h1>\n<p>{{.Body | safe_html}}</p>"#)?;

  let out = tpl.execute_to_string(&serde_json::json!({
    "Title": "go_html_template",
    "Body": "<em>trusted</em>"
  }))?;

  println!("{out}");
  Ok(())
}
Uyumluluk Durumu

go_html_template su anda temel is akislari uygular ve uyumluluk bosluklarini kapatmaya devam eder . Henuz Go html/template ile kati bir 1:1 uyumluluk hedefi degildir; bu nedenle uretim template'lerinizde davranisi dogrulayin.