1个稳定版本
1.0.2 | 2021年1月13日 |
---|
#30 in #virtual-dom
785KB
251 行
包含 (WOFF字体,190KB) docs/FiraSans-Medium.woff,(WOFF字体,185KB) docs/FiraSans-Regular.woff,(WOFF字体,94KB) docs/SourceSerifPro-Bold.ttf.woff,(WOFF字体,89KB) docs/SourceSerifPro-Regular.ttf.woff,(WOFF字体,56KB) docs/SourceCodePro-Regular.woff,(WOFF字体,56KB) docs/SourceCodePro-Semibold.woff 以及更多。
rust_wasm_dodrio_templating
为dodrio提供的html模板
仓库;版本:1.0.2 日期:2021-01-13 作者:Luciano Bestia
Html模板
以前我使用Rust代码中的宏 html!
从 crate typed-html
编写html。
https://github.com/bodil/typed-html/p
我还为dodrio vdom创建了一个宏 dodrio!
。
我对这种方法有两个主要问题
- 任何对html的更改都需要重新编译。在Rust中,这非常慢。
- 我不能添加宏不识别的新html元素。我想使用SVG。没有对此的支持。
我重新发明了轮子 - "html模板"。首先,图形设计师制作一个看起来不错的html/css页面。没有javascript,一切都不是动态的。它只是一个图形模板。
然后我插入html注释和"data-"属性,我可以在代码中稍后替换。
由于这些原因,html在图形上没有改变。因此,图形设计师和程序员都很高兴。
在我的代码中,我将html模板解析为微xml文件。基本上,它们是相同的,只需做一点努力即可。
当我找到注释或"data-"属性时,我就替换下一个节点的值。
我可以替换属性、字符串和整个节点。我还可以使用"data-wt"插入事件以实现行为。
在开发过程中,加载并解析html模板并创建dodrio节点并不快。但是我可以实时更改html并看到它渲染,而不必重新编译Rust代码。这对于开发来说非常高效。
我计划添加一个Rust代码生成器,在编译前生成dodrio节点的Rust代码。在这种情况下,运行时不再解析任何内容,我预计速度会很快。但是,灵活性将降低。每次更改html模板时,都必须重新编译Rust代码。
应用于项目
https://github.com/LucianoBestia/unforgettable7_game/blob/master/unforgettable7
进行cargo crev审查和咨询
建议始终使用cargo-crev
来验证每个依赖的可靠性。
请,传播这个信息。
在网络上,使用此url来阅读crate审查。例如
https://web.crev.dev/rust-reviews/crate/num-traits/
依赖项
~8–11MB
~204K SLoC