هذه هي محاولتي لكتابة نظام قالب 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 نفسها ومستقبلها واستخدامها مع أطر الويب Axum و Actix-Web و Gotham و Iron و Nickel و Tide و Warp. هناك أيضًا مثال منفصل على استخدام Ructe مع Warp و Diesel.