Rust मा Go html/template-शैलीको rendering।
go_html_template एउटा Rust crate हो जसले Go html/template का मुख्य workflow हरूलाई नजिकबाट पुनःनिर्माण गर्छ। यसले template syntax, pipeline, context-aware escaping, र unsafe URL scheme blocking समर्थन गर्छ, जबकि API को परिचित रूप कायम राख्छ।
Go-जस्तै Template API
define/template/range/with/pipeline सुविधासहित Template::new(...).parse(...).execute(...) प्रयोग गर्नुहोस्।
सन्दर्भअनुसार Escaping
HTML text, attribute, URL attribute, र script/style context का लागि context-aware escaping लागू गर्छ, र असुरक्षित javascript: URL लाई रोक्छ।
web-rust मोड
web-rust feature मा parse_files/parse_glob/parse_fs बन्द हुन्छन्, जसले in-memory template loading कडाइका साथ प्रयोग गर्न दिन्छ।
सेटअप र आधारभूत प्रयोग
crate थप्नुहोस्, त्यसपछि न्यूनतम parse + execute_to_string प्रवाह जाँच गर्नुहोस्। web-rust वातावरणमा file-loading API को सट्टा in-memory template string प्रयोग गर्नुहोस्।
इन्स्टल
cargo add go_html_template
Rust उदाहरण
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 ले हाल मुख्य workflow कार्यान्वयन गर्दै अनुकूलताको बाँकी अन्तरहरू क्रमशः पूरा गर्दैछ । Go html/template सँग कडा 1:1 अनुकूलता लक्ष्य अझै होइन, त्यसैले production template मा प्रयोग गर्नु अघि व्यवहार जाँच गर्नुहोस्।
अघिल्लो
OSS सूचीअर्को
README / पूर्ण विवरण