5个版本 (3个重大变更)
0.3.1 | 2024年8月8日 |
---|---|
0.3.0 | 2024年8月8日 |
0.2.0 | 2024年8月7日 |
0.1.0 | 2024年8月7日 |
0.0.1 | 2024年8月7日 |
#1896 在 进程宏 中
每月381次下载
用于 rempl
32KB
716 行
Rempl
关于
Rempl是一个简单的库,添加了两个宏,允许您通过在源代码中直接嵌入HTML来轻松创建返回HTML的函数。无需模板!
安装
要开始使用rempl,只需在您的终端中运行
$ cargo add rempl
。
特性
Rempl添加了两个简单的宏。首先,是 html!
宏,它允许您在Rust源代码中直接创建HTML部分。示例
let classes = vec!["bg-red", "b-solid"];
let msg = "Hello, world";
html! {
<p class={ classes.join(" ") }>{ msg }</p>
}
如您所见,您可以将任何Rust表达式作为HTML元素的属性传递,或者如果它实现了 Display
特性,可以直接在HTML本身中传递。
第二个宏是 component
宏,它允许您创建自定义HTML标签,您可以在 html!
调用中调用这些标签。示例
fn Echo(class: String, children: HtmlNode) -> HtmlTerm {
html! {
<p class={ class }>{ children }</p>
}
}
fn main() {
let r = html! {
<@Echo class="Test">
"Hello, world!"
</Echo>
}
}
可以通过在标签名称前放置一个 @
来调用组件,任何属性都将作为参数传递给函数,除了标签的内部HTML,它将作为必需的 children
参数传递。
您可以通过在 HtmlTerm
上调用 .to_string()
来将HTML输出渲染到 String
。
特性
如果您正在运行夜间编译器,可以通过启用 nightly
功能来启用一些更好的诊断,以便在编写无效HTML时使用。
许可证
本项目采用Mozilla公共许可证,您可以在此处(LICENSE)或https://www.mozilla.org/en-US/MPL/2.0/找到。
依赖关系
~270–720KB
~17K SLoC