ការបង្ហាញរចនាប័ទ្ម Go html/template ក្នុង Rust
go_html_template គឺជា crate Rust ដែលចម្លងលំហូរការងារសំខាន់ៗរបស់ Go html/template។ វាគាំទ្រ syntax របស់ template, pipelines, ការសម្ងាត់តាមបរិបទ, និងការទប់ស្កាត់ URL scheme មិនសុវត្ថិភាព ខណៈរក្សារូបរាង API ដែលស្គាល់។
API Template ដូច Go
ប្រើ Template::new(...).parse(...).execute(...) ជាមួយមុខងារ define/template/range/with/pipeline។
ការសម្ងាត់តាមបរិបទ
អនុវត្តការសម្ងាត់តាមបរិបទសម្រាប់ text HTML, attributes, URL attributes, និង script/style contexts ហើយទប់ស្កាត់ javascript: URLs ដែលមិនសុវត្ថិភាព។
របៀប web-rust
ជាមួយមុខងារ web-rust, parse_files/parse_glob/parse_fs ត្រូវបានបិទ ដើម្បីអាចបង្ខំឲ្យផ្ទុក template ពី memory ប៉ុណ្ណោះ។
ដំឡើង និងប្រើប្រាស់មូលដ្ឋាន
បន្ថែម crate បន្ទាប់មកផ្ទៀងផ្ទាត់លំហូរ parse + execute_to_string អប្បបរមា។ ក្នុងបរិស្ថាន web-rust សូមប្រើ template strings ក្នុង memory ជំនួស APIs ផ្ទុកឯកសារ។
ដំឡើង
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 អនុវត្តលំហូរស្នូល ខណៈកំពុងបិទគម្លាតភាពឆបគ្នាបន្តទៀត . វាមិនទាន់ជា target ភាពឆបគ្នា 1:1 តឹងរ៉ឹងជាមួយ Go html/template ទេ ដូច្នេះត្រូវផ្ទៀងផ្ទាត់ behavior នៅក្នុង production templates របស់អ្នក។
មុន
បញ្ជី OSSបន្ទាប់
README / លក្ខណៈពេញលេញ