<commit_before>## Mucilage

Mucilage is a simple data to template binding engine which allows to bind the updating of the template with the data.
Mucilage return an object containing methods matching the data keys which can then be used to update the data object or retrieve current values.

Due to the nature of the template engine the template is re-compiled everytime the data object changes.

## API

### mucilage( string template, object data, HTMLElement target );

Bind template and data together and return a new mucilage data object

### mucilage.templateSettings( object settings );

Change the settings of the template.

Default settings
```javascript
{
    evaluate: /\{\{([\s\S]+?)\}\}/g, // {{ ... }}
    interpolate: /\{\{=([\s\S]+?)\}\}/g, // {{= ... }}
    encode: /\{\{!([\s\S]+?)\}\}/g, // {{! ... }}
    use: /\{\{#([\s\S]+?)\}\}/g, // {{# ... }} compile time evaluation
    define: /\{\{##\s*([\w\.$]+)\s*(\:|=)([\s\S]+?)#\}\}/g, // {{## ... }} compile time defs
    varname: '$', // only default settings change from doT (doT uses 'it')
    strip : true,
    append: true
}
```

## Template engine features

* no dependencies
* custom delimiters
* runtime evaluation
* runtime interpolation
* compile-time evaluation
* partials support
* encoding
* control whitespace - strip or preserve
* streaming friendly

## Basic usage


```html
<!DOCTYPE html>
<html>
<script src="mucilage.js"></script>
<body>
<div id="content"></div>
<script>
```<commit_msg>formatting update<commit_after>## Mucilage

Mucilage is a simple data to template binding engine which allows to bind the updating of the template with the data.
Mucilage return an object containing methods matching the data keys which can then be used to update the data object or retrieve current values.

Due to the nature of the template engine the template is re-compiled everytime the data object changes.

## API

### mucilage( string template, object data, HTMLElement target );

Bind template and data together and return a new mucilage data object

### mucilage.templateSettings( object settings );

Change the settings of the template.

Default settings
```javascript
    evaluate: /\{\{([\s\S]+?)\}\}/g, // {{ ... }}
    interpolate: /\{\{=([\s\S]+?)\}\}/g, // {{= ... }}
    encode: /\{\{!([\s\S]+?)\}\}/g, // {{! ... }}
    use: /\{\{#([\s\S]+?)\}\}/g, // {{# ... }} compile time evaluation
    define: /\{\{##\s*([\w\.$]+)\s*(\:|=)([\s\S]+?)#\}\}/g, // {{## ... }} compile time defs
    varname: '$', // only default settings change from doT (doT uses 'it')
    strip : true,
    append: true
```

## Template engine features

* no dependencies
* custom delimiters
* runtime evaluation
* runtime interpolation
* compile-time evaluation
* partials support
* encoding
* control whitespace - strip or preserve
* streaming friendly

## Basic usage


```html
<!DOCTYPE html>
<html>
<script src="mucilage.js"></script>
<body>
<div id="content"></div>
<script>
```
{'fraction_non_alphanumeric': 0.18342391304347827, 'fraction_numerical': 0.0, 'mean_word_length': 3.421921921921922, 'pattern_counts': {'":': 0, '<': 19, '<?xml version=': 0, '>': 19, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2667328', 'n_tokens_mistral': 927, 'n_tokens_neox': 872, 'n_words': 323}