xtpl v3.4.2
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 config(option:Object)
option details:
if options is undefined, then this method will return global config.
render file
void renderFile(path:String, options:Object, callback:function)
parameter details:
npm install xtpl xtemplate --save
var xtpl = require('xtpl');
xtpl.renderFile('./x.xtpl',{
x:1
},function(error,content){
});
express adaptor
xtpl.__express = xtpl.renderFile
clear cache
clear xtemplate cache cached by xtpl file path
void clearCache(path:String);
use for expressjs
var app = require('express')();
app.set('views','./views');
app.set('view engine', 'xtpl');
app.use(function(req, res){
res.render('test',{data:1});
});
use for koa
var app = require('xtpl/lib/koa2')(new require('koa')(),{
views:'./views'
});
app.use(async function(ctx){
await ctx.render('test',{data:1});
});
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.
5 years ago
5 years ago
6 years ago
8 years ago
9 years ago
9 years ago
9 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago