#hashmap #javascript #html #web #serialization

map-to-javascript-html

A library for serializing a (hash) map to JavaScript code in HTML usually for dynamically generating strings on web pages

7 releases (stable)

1.1.2 Sep 7, 2018
1.1.1 Sep 1, 2018
1.0.1 Sep 1, 2018
0.1.1 Aug 22, 2018
0.1.0 Aug 22, 2018

#16 in #hashmap

Download history 28/week @ 2018-08-25 27/week @ 2018-09-01 48/week @ 2018-09-08 7/week @ 2018-09-15 4/week @ 2018-09-22 24/week @ 2018-09-29 7/week @ 2018-10-06 1/week @ 2018-10-13 113/week @ 2018-10-20 6/week @ 2018-10-27 43/week @ 2018-11-03 37/week @ 2018-11-10

31 downloads per month

MIT license

9KB
124 lines

Map to JavaScript in HTML

Build Status Build status

This is a library for serializing a (hash) map to JavaScript code in HTML, usually for dynamically generating strings on web pages.

Example

In your HTML or templates to generate HTML, such as Handlebars, for instance,

<script>
var _text = {};
{{{text}}}
</script>

Then, you can use this crate to insert your text into JavaScript code in HTML,

extern crate map_to_javascript_html;

use map_to_javascript_html::hash_map_to_javascript_html;
use std::collections::HashMap;

let mut map = HashMap::new();

map.insert("hello", "Hello world!");
map.insert("welcome", "Welcome to my website.");
map.insert("other keys", "Hello world!");

let text = hash_map_to_javascript_html(&map, "_text", &["welcome", "hello"]).unwrap();

If you want your text to be beautified, you can use hash_map_to_javascript_html_beautify function.

After Handlebars replaces {{{text}}} with your text, the HTML will be,

<script>
var _text = {};
_text['welcome']='Welcome to my website.';_text['hello']='Hello world!';
</script>

The key and the value used in a map must implement the Display trait.

By the way, the text_to_javascript_html function can be useful when you just want to insert text as a JavaScript string into your HTML code.

Crates.io

https://crates.io/crates/map-to-javascript-html

Documentation

https://docs.rs/map-to-javascript-html

License

MIT

Dependencies

~2MB
~35K SLoC