1个不稳定版本
0.1.0 | 2024年1月18日 |
---|
471 在 #web-framework
5KB
Hust
Hust 是一种将Rust嵌入HTML的首选方式。
此包
此包用于在项目中使用hust。
使用方法
使用类似以下格式的.hust文件
let result = include_hust!("test.hust");
想象一下你的文件看起来像这样
<h1>Hello, World!</h1>
<p>Hello from Hust!</p>
<%= variable_name %>
该文件将被转换为如下所示的Rust代码,这些代码将插入宏运行的位置。
let output_buffer = String::new();
output_buffer.push_str("<h1>Hello, World!</h1>\n\r<p>Hello from Hust!</p>\n\r");
output_buffer.push_str(variable_name);
output_buffer
然后,这段代码将直接内联在调用宏的地方。
示例Hust
<h1>User</h1>
<div class="user">
<%= &user.username %>
</div>
或者,对于更复杂的用法
<h1>All Users</h1>
<div class="py-2">
<%= &users.len().to_string() %> users found.
</div>
<% for user in users { %>
<div class="user">
<a href="/users/<%= &user.id.to_string() %>">
<%= &user.username %>
</a>
</div>
<% } %>
<a href="/users/new" class="btn btn-primary">New User</a>
缺点/不足
目前,无法进行调试。由于Rust当前宏的工作方式,任何Hust代码中的错误都将显示在include_hust!
处,而不是在导致错误的文件行上。我们正在考虑在未来改进这一点。
依赖关系
~1.5MB
~36K SLoC