Esta é a minha tentativa de escrever um sistema de modelo HTML para ferrugem. Alguma inspiração vem do sistema de modelo Scala usado no Play 2, bem como no JSP antigo e simples.
Display deve ser produzida.Os rastos estão em um estágio bastante inicial, mas funciona; Os modelos podem ser transpilados para funções de ferrugem, que são compiladas e podem ser chamadas do código de ferrugem.
Um modelo consiste em três peças básicas: primeiro um preâmbulo de instruções use , cada uma com antecedência por um sinal @ . Em segundo lugar, uma declaração dos parâmetros que o modelo leva. E terceiro, o corpo do modelo.
A sintaxe completa é descrita na documentação. Alguns exemplos podem ser vistos em exemplos/simples/modelos. Um modelo pode parecer algo assim:
@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 > A Ructe compila seus modelos para o código de ferrugem que deve ser compilado com seu outro código de ferrugem, por isso precisa ser chamado antes de compilar, conforme descrito na documentação. Existem também exemplos, tanto para a própria Ructe quanto seus futuros e para usá-lo com as estruturas da web axum, actix-web, gotham, ferro, níquel, maré e urdidura. Há também um exemplo separado de usar Ructe com Warp e Diesel.