endskin.assign(<Object>);
The keys in the object passed to assign() will be copied to endskin.data
endskin.assign(<String> key, value);
This method will add a key to the endskin.data
To pass data to an endskin instance. You can use any of the three ways:
endskin.data.key = value;
endskin.assign(key,value);
endskin.assign({ key: value });
To clear data and reuse the instance. You can set endskin.data to an empty object.
endskin.data = {};
endskin.html();
This method will generate output of the endskin instance.

{$varname}
this will show the data you setted to endskin.data.varname
{$obj.keyname} will show endskin.data.obj.keyname
<%=this.data.varname%> will show endskin.data.varname
<%=global.varname%> will show global.varname ( the nodejs runtime global )
<%=new Date().toString()%> will show the current datetime string

{include sub-template.html}
or
<!-- include sub-template.html -->
the file name after "include" is based on the Root folder you setted with EndSkin.setRoot()
You can include any amount of templates. You can also use include in sub-template.html.

<%
var a=1;
a++;
var b = this.data.b;
output.push(a+','+b);
%>
everything in <% %> will be parsed as native code snippets.
to access the data you setted in endskin.data, just use this.data
to write output back, just push the string to output array.
for convenience, <%=abc%> will be parsed as <% output.push(abc); %>