นี่คือความพยายามของฉันในการเขียนระบบแม่แบบ HTML สำหรับการเกิดสนิม แรงบันดาลใจบางอย่างมาจากระบบเทมเพลต Scala ที่ใช้ใน Play 2 เช่นเดียวกับ JSP เก่าธรรมดา
Display ควรเป็นเอาท์พุทได้ซากอยู่ในระยะแรก แต่ทำงานได้ เทมเพลตสามารถถ่ายโอนไปยังฟังก์ชั่นการเกิดสนิมซึ่งจะรวบรวมและสามารถเรียกได้จากรหัสสนิม
เทมเพลตประกอบด้วยสามส่วนพื้นฐาน: ก่อนอื่นคำนำของคำสั่ง use แต่ละรายการเตรียมไว้ล่วงหน้าโดยเครื่องหมาย @ ประการที่สองการประกาศพารามิเตอร์ที่เทมเพลตใช้ และประการที่สามร่างกายแม่แบบ
ไวยากรณ์เต็มรูปแบบอธิบายไว้ในเอกสาร ตัวอย่างบางส่วนสามารถเห็นได้ในตัวอย่าง/ง่าย/เทมเพลต เทมเพลตอาจมีลักษณะเช่นนี้:
@use any::rust::Type;
@use super::statics::style_css;
@(name: &str, items: &[Type])
< html >
< head >
< title > @name </ title >
< link rel =" stylesheet " href =" /static/@style_css.name " type =" text/css " />
</ head >
< body >
< h1 > @name </ h1 >
< dl >
@for item in items {
< dt > @item.title() </ dt >
< dd > @item.description() </ dd >
}
</ dl >
< body >
</ html > Ructe รวบรวมเทมเพลตของคุณเป็นรหัสสนิมที่ควรรวบรวมกับรหัสสนิมอื่น ๆ ของคุณดังนั้นจึงต้องมีการเรียกก่อนที่จะรวบรวมตามที่อธิบายไว้ในเอกสาร นอกจากนี้ยังมีตัวอย่างทั้งสำหรับ Ructe และอนาคตของมันและสำหรับการใช้งานกับ Web Frameworks Axum, Actix-Web, Gotham, Iron, Nickel, Tide และ Warp นอกจากนี้ยังมีตัวอย่างแยกต่างหากของการใช้ ructe กับ warp และดีเซล