Ceci est ma tentative d'écriture d'un système de modèle HTML pour la rouille. Une certaine inspiration provient du système de modèle Scala utilisé dans Play 2, ainsi que du vieux JSP.
Display doit être sorti.Ructes est à un stade assez précoce, mais fonctionne; Les modèles peuvent être transpirés aux fonctions de rouille, qui sont ensuite compilées et peuvent être appelées à partir du code de rouille.
Un modèle se compose de trois parties de base: d'abord un préambule d'instructions use , chacune admis par un @ signe. Deuxièmement, une déclaration des paramètres que prend le modèle. Et troisièmement, le corps du modèle.
La syntaxe complète est décrite dans la documentation. Certains exemples peuvent être vus dans des exemples / simples / modèles. Un modèle peut ressembler à ceci:
@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 compile vos modèles à la rouille qui devrait être compilé avec votre autre code de rouille, il doit donc être appelé avant la compilation, comme décrit dans la documentation. Il existe également des exemples, à la fois pour Ructe lui-même et son avenir et pour l'utiliser avec les frameworks Web axum, Actix-Web, Gotham, Iron, Nickel, Tide et Warp. Il existe également un exemple distinct d'utiliser Ructe avec Warp et Diesel.