xtpl
nodejs wrapper around xtemplate engine (easier for expressjs and koajs)
docs
syntax
refer: https://github.com/xtemplate/xtemplate
api
methods
config or get xtpl global option:
Object
option details:
name | type | default | description |
---|---|---|---|
encoding | String | utf-8 | xtpl file encoding |
XTemplate | Object | require('xtemplate') | xtemplate module value |
if options is undefined, then this method will return global config.
render file
void
parameter details:
name | type | default | description | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
path | String | xtpl template file | |||||||||||||
option | Object |
data to be rendered. the following properties will be used for control.
|
|||||||||||||
callback | function | callback |
npm install xtpl xtemplate --save
var xtpl = ;xtpl;
express adaptor
xtpl__express = xtplrenderFile
clear cache
clear xtemplate cache cached by xtpl file path
void ;
use for expressjs
var app = ;app;app;app;
use for koa
var app = views:'./views';app;
use for koa2
const koa = app = const xtpl = ;app;
Example
├── footer.xtpl
├── header.xtpl
├── index.xtpl
├── layout.xtpl
├── layout1.xtpl
└── sub
└── header.xtpl
index.xtpl
{{extend ("./layout1")}}
{{#block ("head")}}
<!--index head block-->
<link type="text/css" href="test.css" rev="stylesheet" rel="stylesheet" />
{{/block}}
{{#block ("body")}}
<!--index body block-->
<h2>{{title}}</h2>
{{/block}}
layout1.xtpl
<!doctype html>
<html>
<head>
<meta name="charset" content="utf-8" />
<title>{{title}}</title>
{{{block ("head")}}}
</head>
<body>
{{{include ("./header")}}}
{{{block ("body")}}}
{{{include ("./footer")}}}
</body>
</html>
render
res.render("index", {title: "xtpl engine!"})
output
<!doctype html>
<html>
<head>
<meta name="charset" content="utf-8" />
<title>xtpl engine!</title>
<!--index head block-->
<link type="text/css" href="test.css" rev="stylesheet" rel="stylesheet" />
</head>
<body>
<h1>header</h1>
<h2>sub header</h2>
<!--index body block-->
<h2>xtpl engine!</h2>
<h1>footer</h1>
</body>
</html>
changelog
https://github.com/xtemplate/xtpl/milestones
License
xtpl is released under the MIT license.