Este es mi intento de escribir un sistema de plantilla HTML para Rust. Alguna inspiración proviene del sistema de plantilla Scala utilizado en Play 2, así como JSP Old Old.
Display debe ser obtenible.Ructes está en una etapa bastante temprana, pero funciona; Las plantillas se pueden traspilar a las funciones de óxido, que luego se compilan y se pueden llamar desde el código de óxido.
Una plantilla consta de tres partes básicas: primero un preámbulo de use de declaraciones, cada una prepuesta por un letrero @ . En segundo lugar, una declaración de los parámetros que toma la plantilla. Y tercero, el cuerpo de la plantilla.
La sintaxis completa se describe en la documentación. Algunos ejemplos se pueden ver en ejemplos/simples/plantillas. Una plantilla puede verse algo así:
@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 compila sus plantillas en el código de oxidación que debe compilarse con su otro código de óxido, por lo que debe llamarse antes de compilar, como se describe en la documentación. También hay ejemplos, tanto para el propio Ructe como para sus futuros y para usarlo con los marcos web Axum, Actix-Web, Gotham, Iron, Nickel, Tide y Warp. También hay un ejemplo separado del uso de Ructe con Warp y Diesel.