Rust मध्ये Go html/template शैलीतील रेंडरिंग.

go_html_template हे Rust crate असून ते Go html/template मधील प्रमुख workflow प्रतिबिंबित करते. परिचित API आकार जपत ते template syntax, pipelines, context-aware escaping आणि unsafe URL scheme blocking समर्थित करते.

Go-सदृश Template API

define/template/range/with/pipeline वैशिष्ट्यांसह Template::new(...).parse(...).execute(...) वापरा.

संदर्भ-जाणिवशील escaping

HTML मजकूर, attributes, URL attributes आणि script/style contexts साठी context-aware escaping लागू करते आणि unsafe javascript: URL रोखते.

web-rust मोड

web-rust वैशिष्ट्यासह parse_files/parse_glob/parse_fs अक्षम होतात, त्यामुळे in-memory template loading सक्तीने वापरता येते.

सेटअप आणि मूलभूत वापर

crate जोडा, नंतर किमान parse + execute_to_string प्रवाह पडताळा. web-rust वातावरणात file-loading API ऐवजी in-memory template strings वापरा.

इंस्टॉल करा

cargo add go_html_template

Rust उदाहरण

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(())
}
सुसंगततेची स्थिती

go_html_template सध्या मूलभूत कार्यप्रवाह अंमलात आणत असताना सुसंगततेतील दरी भरत आहे . Go html/template साठी अजून हे कठोर 1:1 compatibility लक्ष्य नाही, त्यामुळे production template मध्ये वर्तन तपासा.