Rust хэл дээр html/template маягийн өгөгдлийн бүртгэлтийг хэрэгжүүлэх.

`go_html_template` нь Rust-ийн бүтээгдэхүүн бөгөөд энэ нь Go хэлний html/template ажиллалтын гол зарчмуудыг дагаж явахаар бүтээгдсэн. Энэ нь шаблоны синтакс, дамжуулалтын бүлэг (pipelines), контексттой холбоотой өгөгдлийг аюулгүй болгох (escaping) болон аюултай URL-ийг хязгаарлахад туслах функцүүдийг агуулдаг бөгөөд түүнчлэн танил интерфэйсээр дамжуулагддаг.

"Go" хэлний загвар API.

`Template::new(...).parse(...).execute(...)` функцээр тодорхойлолтууд, загвар, хүрээ, "with" болон "pipeline" шиг бүлэг функцийг ашиглана.

Ойлголтын дагуу гарч авах арга.

Энэ нь HTML текст, атрибут, URL атрибут болон скрипт/стиль хэсгүүдэд контексттойгоор аюулгүй байдлыг хангахаар өөрчлөлт хийдэг бөгөөд аюултай JavaScript URL-уудыг хөдөлгөлдөг.

"Web-rust" горим.

"Web-rust" функц ажиллаж байх үед, `parse_files`, `parse_glob` болон `parse_fs` функцууд идэвхгүй болгогддог. Ингэснээр, шаблооны файлыг серверээс бус, програмын санах ойд ашиглахыг шаардах боломжтой болно.

Тохируулга ба үндсэн ашиглалт.

Програмын багцаа (crate) нэмж, дараа нь хамгийн бага хэмжээний шинжилгээ хийж, үр дүнгэйг текстийн хэлбэрээр гаргах үйлчилгээний үүргүүдийг шалгана. Веб-руст орчинд, файлуудыг ашиглах API-г ашиглахын оронд, санах орон дээр хадгалагдсан текстийн хэлбэрийн үүргүүдийг ашиглана.

Суулгах.

cargo нь go хэлний HTML загварыг нэмэх тухай команд.

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(()) }
Тохируулгын байдал.

"go_html_template" нь одоогийн байдлаар. Энэ нь үндсэн үйл ажиллагаануудыг хэрэгжүүлэхтэй зэрэгцээд, өөр өөр системийг хамтдаа ашиглах боломжийг бүрдүүлэх асуудлыг шийдвэрлэхэд тусална. Энэ нь одоогоор Go хэлний html/template-тэй бүрэн зохицохгүй байгаа тул, таны үйлдвэрлэлийн загваруудад энэ нь ямар үр дүнд хүргэж байгааг шалгаж үзэхийг зөвлөж байна.