Map to JavaScript in HTML

CI

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

Usage

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

```html

```

Then, you can use the MapToJavaScriptHTML trait to insert your text from a map,

```rust use std::collections::BTreeMap;

use maptojavascript_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.tojavascripthtml("_text");

asserteq!("text['hello']='Hello world!';text['other keys']='Hello world!';text['welcome']='Welcome to my website.';", text); ```

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

```html

```

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

Methods suffixed with _to_string, _to_vec, _to_writer can be used to generate HTML.

There are also methods prefixed with to_javascript_html_with_keys which can be used with keys to filter the output.

```rust use std::collections::BTreeMap;

use maptojavascript_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.tojavascripthtmlwithkeys("_text", &["hello", "welcome"]);

asserteq!("text['hello']='Hello world!';_text['welcome']='Welcome to my website.';", text); ```

No Std

Disable the default features to compile this crate without std.

toml [dependencies.map-to-javascript-html] version = "*" default-features = false

Serde Support

To support the maps from the serde framework, enable the serde feature.

toml [dependencies.map-to-javascript-html] version = "*" features = ["serde"]

Crates.io

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

Documentation

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

License

MIT