10 个版本 (4 个重大变更)
0.5.1 | 2024年6月18日 |
---|---|
0.5.0 | 2024年1月20日 |
0.4.1 | 2024年1月18日 |
0.3.2 | 2024年1月12日 |
0.1.0 | 2024年1月12日 |
在 模板引擎 中排名第 95
每月下载量 340
63KB
940 代码行
hypertext
一个闪电般的类型检查 HTML 宏 crate。
功能
- 元素名称/属性的类型检查
- 完全可扩展,可用于非标准元素/属性
#![no_std]
支持- 自动转义
- 默认使用懒惰渲染以避免多次分配
- 在嵌套文档的情况下,性能卓越,其他库可能无法胜任
使用 hypertext
的项目
- vidhan.io,我的网站
提交一个 pull request 以在此处列出您的项目!
示例
use hypertext::{html_elements, GlobalAttributes, RenderIterator, Renderable};
let shopping_list = ["milk", "eggs", "bread"];
let shopping_list_maud = hypertext::maud! {
div {
h1 { "Shopping List" }
ul {
@for (&item, i) in shopping_list.iter().zip(1..) {
li.item {
input #{ "item-" (i) } type="checkbox";
label for={ "item-" (i) } { (item) }
}
}
}
}
}
.render();
// or, alternatively:
let shopping_list_rsx = hypertext::rsx! {
<div>
<h1>Shopping List</h1>
<ul>
{ shopping_list.iter().zip(1..).map(|(&item, i)| hypertext::rsx_move! {
<li class="item">
<input id=format!("item-{i}") type="checkbox">
<label for=format!("item-{i}")>{ item }</label>
</li>
}).render_all() }
</ul>
</div>
}
.render();
依赖关系
~0.6–11MB
~133K SLoC