<commit_before>您们的支持 +星  是我的动力啊, 还好 npm 那边已经突破了10000的下载了，数据不错。加油支持啊 各位.....

###  1. 什么是 Sdopx
Sdopx是一款用于 nodejs 的后端渲染模板引擎，目前版本是1.2.22, 与php语言中的smarty模板引擎相似度极高，可以说是 smarty 的 nodejs 版本。
相对于其他js模板引擎，具有功能齐全，语法直观,性能超高，以及编写的模板容易维护等特点。使得开发和维护模板有很好的体验。是新一代的模板引擎。总得来说，它的特性如下：

>1.成熟方案：Sdopx语法风格借鉴于Smarty，如果有过Smarty经验的开发者，可以很快速的掌握其语法结构，使用方式。

>2.非常简单：即使没有smarty经验也容易学习，只要半小时就能通过半学半猜完全掌握用法。拒绝其他模板引擎那种非人性化的语法和习俗。使得开发CMS系统比较容易。

>3.超高的性能：Sdopx 是编译型模板引擎，第一次解析模板将会编译到内存并且常驻内存，再次采访是不再编译，运行效率和 EJS 相当，但功能却比EJS要多得多。

>4.功能强大：Sdopx 支持模板嵌套，模板继承写法，也支持模板函数的写法，可以很方便的组织维护页面每部分的代码。

>5.易于整合：Sdopx 能很容易的与各种web框架整合，如 Express KOA ThinkJs BeaconJs 乃至可直接用原生 http 模块。

>6.扩展和个性化：Sdopx 支持自定义属性，标签，语法块，插件，函数，修饰器，数据源，前置后置过滤器等。

>7.安全性高：Sdopx 默认输出为HTML实体，防止页面XSS脚本攻击，保障代码安全。

更多帮助文档 ： http://www.sdopx.com
### 2. 安装
2.1. 安装
```
npm install sdopx
```
案例 1
```javascript
const http = require('http');
const path = require('path');
const Sdopx = require('sdopx').Sdopx;
//全局设置模板位置<commit_msg>Create README.md<commit_after>您们的支持 +星  是我的动力啊, 还好 npm 那边已经突破了10000的下载了，数据不错。加油支持啊 各位.....

###  1. 什么是 Sdopx
Sdopx是一款用于 nodejs 的后端渲染模板引擎，目前版本是1.2.22, 与php语言中的smarty模板引擎相似度极高，可以说是 smarty 的 nodejs 版本。
相对于其他js模板引擎，具有功能齐全，语法直观,性能超高，以及编写的模板容易维护等特点。使得开发和维护模板有很好的体验。是新一代的模板引擎。总得来说，它的特性如下：

>1.成熟方案：Sdopx语法风格借鉴于Smarty，如果有过Smarty经验的开发者，可以很快速的掌握其语法结构，使用方式。

>2.非常简单：即使没有smarty经验也容易学习，只要半小时就能通过半学半猜完全掌握用法。拒绝其他模板引擎那种非人性化的语法和习俗。使得开发CMS系统比较容易。

>3.超高的性能：Sdopx 是编译型模板引擎，第一次解析模板将会编译到内存并且常驻内存，再次采访是不再编译，运行效率和 EJS 相当，但功能却比EJS要多得多。

>4.功能强大：Sdopx 支持模板嵌套，模板继承写法，也支持模板函数的写法，可以很方便的组织维护页面每部分的代码。

>5.易于整合：Sdopx 能很容易的与各种web框架整合，如 Express KOA ThinkJs BeaconJs 乃至可直接用原生 http 模块。

>6.扩展和个性化：Sdopx 支持自定义属性，标签，语法块，插件，函数，修饰器，数据源，前置后置过滤器等。

>7.安全性高：Sdopx 默认输出为HTML实体，防止页面XSS脚本攻击，保障代码安全。

### 2. 安装
2.1. 安装
```
npm install sdopx
```
案例 1
```javascript
const http = require('http');
const path = require('path');
const Sdopx = require('sdopx').Sdopx;
//全局设置模板位置
{'fraction_non_alphanumeric': 0.12891246684350133, 'fraction_numerical': 0.022281167108753316, 'mean_word_length': 8.155339805825243, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 17, 'https://': 0, 'lorem ipsum': 0, 'www.': 1, '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': '1233037', 'n_tokens_mistral': 1551, 'n_tokens_neox': 1775, 'n_words': 122}