#html #html-templating #http #full-stack #client-side #server-side #text

dev_bestia_html_templating

全栈Rust中html模板库,支持服务器端或客户端wasm

1 个不稳定版本

0.1.41 2021年11月29日
0.1.38 2021年11月17日

#772 in HTTP服务器

MIT许可证

55KB
696

dev_bestia_html_templating

全栈Rust中html模板库,支持服务器端或客户端wasm
仓库;版本:0.1.41 日期:2021-11-29 作者:Luciano Bestia

Lines in Rust code Lines in Doc comments Lines in Comments Lines in examples Lines in tests

crates.io Documentation crev reviews Lib.rs Licence Rust

试用

动机

互联网浏览器几乎在所有平台上都可用。它们今天基于W3C标准W3Chtml5css3。所有现代浏览器也支持wasm/webassembly(代替或与javascript一起)。Rust是一种将编译成wasm的出色语言。这种组合可以用作跨平台GUI。
程序用户界面由数据和表示组成。遗憾的是,html将这些都混合在一个"文件"中。为了将数据与表示分离,我们使用模板库。
首先,图形设计师创建了一个带有一些示例文本的html5 + css3表示。当他满意时,程序员在html文件中添加一些注释和属性。这些标记由模板库处理,数据注入到html中。因此,我们从数据和表示的清晰分离开始,并以正常的html文件结束。

创建一个"标准"html页面

html页面必须与MicroXml兼容,基本上是XHtml。例如,将web_server_folder/review_list.html复制到一个新的html文件。用浏览器打开此文件以预览。我使用VSCode扩展vscode-open-wsl,右键单击文件并选择Open with default application。在WSL2中,我使用我的项目wsl_open_browser。现在编辑html文件以满足您的需求,并使用F5刷新浏览器以查看更改。使用一些示例文本来使其尽可能接近您想要的。这些文本将在稍后通过程序替换,但在设计布局时它们是无价的。

添加标记

在HTML中,您需要将示例文本替换为从服务器获取的数据。在文本前添加(不可见)标记,例如 <!--wt_crate_name-->。您也可以替换属性,如果在其前面插入属性,如下所示 data-wt_variable_name="next_attribute_name"
现在运行自动化任务 cargo auto build,这将此文件复制/嵌入到 files_mod.rs 中。

cargo crev reviews and advisory

我们生活在危险的时代,供应链攻击
建议始终使用 cargo-crev
来验证每个依赖项的可靠性。
请,传播这个信息。
您也可以在网络上快速查看评论
https://web.crev.dev/rust-reviews/crates/

开源免费,如同啤酒一样免费

我的开源项目免费,如同啤酒一样免费(MIT许可)。
我热爱编程。
但我也需要喝酒。如果您觉得我的项目和教程有帮助,
请在我的 paypal 上捐款给我买啤酒。
您知道您当地酒吧啤酒的价格 ;-)
这样我就可以为您的健康喝上一杯免费的啤酒 :-)
Na zdravje! Alla salute! Prost! Nazdravlje! 🍻

依赖项

~0.5–1MB
~23K SLoC