<commit_before># [template.js](https://github.com/yanhaijing/template.js)
[![](https://img.shields.io/badge/Powered%20by-jslib%20base-brightgreen.svg)](https://github.com/yanhaijing/jslib-base)
[![Build Status](https://travis-ci.org/yanhaijing/template.js.svg?branch=master)](https://travis-ci.org/yanhaijing/template.js)
[![license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/yanhaijing/template.js/blob/master/LICENSE)

一款javascript模板引擎，简单，好用，支持webpack, rollup, parcel, browserify, fis和gulp

## 特性

- JS原生语法，模版解析，编译，渲染
- 支持所有浏览器及Node，支持TypeScript
- 预编译支持主流打包工具
- 自定义配置、修饰符、函数
- 支持数据过滤
- 异常捕获功能
- 子模版
- 沙箱模式
- 支持JIT和AOT两种编译模式
- 提供cli集成化工具
- 提供编辑器插件支持

## 使用者指南
template.js是比拼接字符串更好的方式

模板例子

```
<ul>
    <%for(var i = 0; i < list.length; i++) {%>
        <li><%:=list[i].name%></li>
    <%}%>
</ul>
```

数据例子

```js
const data = {
    list: [
        {name: "yan"},
        {name: "haijing"}
    ]
};
```

渲染输出

```html
<ul>
    <li>yan</li>
    <li>haijing</li>
</ul>
```

template.js支持的编辑器插件

| 编辑器 | 插件                                                         |
| ------ | ------------------------------------------------------------ |
| Vscode | [高亮插件](https://marketplace.visualstudio.com/items?itemName=yanhaijing1234.templatejs) |
| Sublime | [高亮插件](https://github.com/yanhaijing/template-sublime) |

通过cli工具快速初始化项目

```bash
$ npx @templatejs/cli new myapp
# 选择对应的平台
# ❯ webpack4 
#   rollup 
#   parcel 
#   fis3 
#   browserify 
#   gulp 
#   browser 
```

如果已有项目，可以选择对应的插件，template.js支持多种使用方式

| 平台          | 插件                                                         |
| ------------- | ------------------------------------------------------------ |<commit_msg>doc: up<commit_after># [template.js](https://github.com/yanhaijing/template.js)
[![](https://img.shields.io/badge/Powered%20by-jslib%20base-brightgreen.svg)](https://github.com/yanhaijing/jslib-base)
[![Build Status](https://travis-ci.org/yanhaijing/template.js.svg?branch=master)](https://travis-ci.org/yanhaijing/template.js)
[![license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/yanhaijing/template.js/blob/master/LICENSE)

一款javascript模板引擎，简单，好用，支持webpack, rollup, parcel, browserify, fis和gulp

## 特性

- JS原生语法，模版解析，编译，渲染
- 支持所有浏览器及Node，支持TypeScript
- 预编译支持主流打包工具
- 自定义配置、修饰符、函数
- 支持数据过滤
- 异常捕获功能
- 子模版
- 沙箱模式
- 支持JIT和AOT两种编译模式
- 提供cli集成化工具
- 提供编辑器插件支持

## 使用者指南
template.js是比拼接字符串更好的方式

模板例子

```
<ul>
    <%for(var i = 0; i < list.length; i++) {%>
        <li><%:=list[i].name%></li>
    <%}%>
</ul>
```

数据例子

```js
const data = {
    list: [
        {name: "yan"},
        {name: "haijing"}
    ]
};
```

渲染输出

```html
<ul>
    <li>yan</li>
    <li>haijing</li>
</ul>
```

template.js支持的编辑器插件

| 编辑器 | 插件                                                         |
| ------ | ------------------------------------------------------------ |
| Vscode | [高亮插件](https://marketplace.visualstudio.com/items?itemName=yanhaijing1234.templatejs) |
| Sublime | [高亮插件](https://github.com/yanhaijing/template-sublime) |
| Atom | [高亮插件](https://atom.io/packages/language-templatejs) |
| WebStorm | TODO |

通过cli工具快速初始化项目

```bash
$ npx @templatejs/cli new myapp
# 选择对应的平台
# ❯ webpack4 
#   rollup 
#   parcel 
#   fis3 
#   browserify 
#   gulp 
#   browser 
```

如果已有项目，可以选择对应的插件，template.js支持多种使用方式

| 平台          | 插件                                                         |
| ------------- | ------------------------------------------------------------ |
{'fraction_non_alphanumeric': 0.24755887421022402, 'fraction_numerical': 0.006318207926479035, 'mean_word_length': 2.0392670157068062, 'pattern_counts': {'":': 0, '<': 31, '<?xml version=': 0, '>': 29, 'https://': 19, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 9, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1384474', 'n_tokens_mistral': 1584, 'n_tokens_neox': 1651, 'n_words': 155}