13个稳定版本
2.0.5 | 2022年3月17日 |
---|---|
2.0.4 | 2021年4月21日 |
2.0.3 | 2020年7月29日 |
1.2.3 | 2019年9月17日 |
0.1.1 | 2018年8月22日 |
#663 in 编码
每月 45 次下载
25KB
476 行
将映射转换为HTML中的JavaScript
这是一个将映射序列化为HTML中JavaScript代码的库,通常用于在网页上动态生成字符串。
用法
在HTML或模板中生成HTML,例如Handlebars,例如,
<script>
var _text = {};
{{{text}}}
</script>
然后,您可以使用 MapToJavaScriptHTML
特性插入来自映射的文本,
use std::collections::BTreeMap;
use map_to_javascript_html::MapToJavaScriptHTML;
let mut map = BTreeMap::new();
map.insert("hello", "Hello world!");
map.insert("welcome", "Welcome to my website.");
map.insert("other keys", "Hello world!");
let text = map.to_javascript_html("_text");
assert_eq!("_text['hello']='Hello world!';_text['other keys']='Hello world!';_text['welcome']='Welcome to my website.';", text);
在Handlebars将 {{{text}}} 替换为您的文本后,HTML将是,
<script>
var _text = {};
_text['hello']='Hello world!';_text['other keys']='Hello world!';_text['welcome']='Welcome to my website.';
</script>
在映射中使用的键和值必须实现 Display
特性。
以 _to_string
、_to_vec
、_to_writer
结尾的方法可以用于生成HTML。
还有以 to_javascript_html_with_keys
前缀开头的方法,可以用于与键一起过滤输出。
use std::collections::BTreeMap;
use map_to_javascript_html::MapToJavaScriptHTML;
let mut map = BTreeMap::new();
map.insert("hello", "Hello world!");
map.insert("welcome", "Welcome to my website.");
map.insert("other keys", "Hello world!");
let text = map.to_javascript_html_with_keys("_text", &["hello", "welcome"]);
assert_eq!("_text['hello']='Hello world!';_text['welcome']='Welcome to my website.';", text);
无需Std
禁用默认功能,以便在没有std的情况下编译此crate。
[dependencies.map-to-javascript-html]
version = "*"
default-features = false
Serde支持
为了支持来自serde
框架的映射,启用serde
功能。
[dependencies.map-to-javascript-html]
version = "*"
features = ["serde"]
Crates.io
https://crates.io/crates/map-to-javascript-html
文档
https://docs.rs/map-to-javascript-html
许可证
依赖项
~145–385KB