#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

9 releases (stable)

1.2.1 Nov 14, 2018
1.2.0 Oct 15, 2018
1.1.2 Sep 7, 2018
0.1.1 Aug 22, 2018

#102 in Parser tooling

Download history 1/week @ 2019-03-16 109/week @ 2019-03-23 10/week @ 2019-04-06 2/week @ 2019-04-13 10/week @ 2019-04-20 11/week @ 2019-04-27 2/week @ 2019-05-04 23/week @ 2019-05-11 12/week @ 2019-05-18 9/week @ 2019-05-25 18/week @ 2019-06-01 18/week @ 2019-06-08 11/week @ 2019-06-15 101/week @ 2019-06-22

70 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
~32K SLoC