#javascript #html #map #generate-html #btree-map #hash-map #web-page

无需std map-to-javascript-html

一个用于将映射序列化为HTML中的JavaScript代码的库,通常用于在网页上动态生成字符串。

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 次下载

MIT 协议

25KB
476

将映射转换为HTML中的JavaScript

CI

这是一个将映射序列化为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

许可证

MIT

依赖项

~145–385KB