aboutsummaryrefslogtreecommitdiff
path: root/node_modules/preserve/.verb.md
blob: 72344a9eb30cae2e0d26ae26b118a84b1d32d964 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# {%= name %} {%= badge("fury") %}

> {%= description %}

Useful for protecting tokens, like templates in HTML, from being mutated when the string is transformed in some way, like from a formatter/beautifier.

**Example without `preserve`**

Let's say you want to use [js-beautify] on a string of html with Lo-Dash/Underscore templates, such as: `<ul><li><%= name %></li></ul>`:

js-beautify will render the template unusable (and apply incorrect formatting because of the unfamiliar syntax from the Lo-Dash template):

```html
<ul>
  <li>
    <%=n ame %>
  </li>
</ul>
```

**Example with `preserve`**

Correct.

```html
<ul>
  <li><%= name %></li>
</ul>
```

For the record, this is just a random example, I've had very few issues with js-beautify in general. But with or without js-beautify, this kind of token mangling does happen sometimes when you use formatters, beautifiers or similar tools.

## Install
{%= include("install-npm", {save: true}) %}

## Run tests

```bash
npm test
```

## API
{%= apidocs("index.js") %}

## Contributing
Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue]({%= bugs.url %})

## Author
{%= include("author") %}

## License
{%= copyright() %}
{%= license() %}

***

{%= include("footer") %}

[js-beautify]: https://github.com/beautify-web/js-beautify