mustache-cli v2.3.2
mustache-cli
Description
Mustache's CLI interface.
Usage
npm install mustache-cli --global
mustache-cli -h./tpl/layout.mustache
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>{{title}}</title>
</head>
<body>
<div>
{{>tpl}}
</div>
</body>
</html>./tpl/page.mustache
<h1>{{title}}</h1>
{{>content}}./conf/index.json
{
"__root": "layout.mustache",
"__tpl": "page.mustache",
"_content": "<strong>Hello World</strong>",
"title": "Home"
}./conf/multi.js
const output = require('mustache-cli').output
module.exports = function(opts){
return {
__file: 'multi/index.html',
__root: 'layout.mustache',
_tpl: '{{{ html }}}',
title: 'Multi',
html: function(){
const page1 = output({
__root: 'page.mustache',
_content: '<p>page1</p>',
title: this.title,
}, opts)
const page2 = output({
__root: 'page.mustache',
_content: '<p>page2</p>',
title: this.title,
}, opts)
return page1 + page2
}
}
}mustache-cli -p --color ././out/index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Home</title>
</head>
<body>
<div>
<h1>Home</h1>
<strong>Hello World</strong>
</div>
</body>
</html>./out/multi/index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Multi</title>
</head>
<body>
<div>
<h1>Multi</h1>
<p>page1</p>
<h1>Multi</h1>
<p>page2</p>
</div>
</body>
</html>Node
import express from 'express'
import {renderFile} from 'mustache-cli/lib/express'
const app = express()
app.set('views', 'src/mustache/tpl')
app.set('view engine', 'mustache')
app.engine('mustache', renderFile({
baseDir: 'src/mustache',
}))
app.use((req, res) => {
res.render('layout', {
title: 'Home',
})
})
app.listen(3000)API
output(config[, options])
options:
baseDir(Default:
.)Set the root dir for mustache.
confDir(Default:
./conf)Set the config dir, include js or json files.
tplDir(Default:
./tpl)Set the template dir, include mustache or html files.
outDir(Default:
./out)Set the output dir.
rootTpl(Default:
__root)Set the key of a main template file path.
outFile(Default:
__file, Since: 2.2.0+)Set the key of a output file path.
partialPrefix(Default:
_)Set the prefix, represent a partial.
// HTML <div>{{>nav}}</div> // JSON { _nav: '<nav>...</nav>', ... }tplPrefix(Default:
__)Set the prefix, represent a template file path for a partial.
// HTML <div>{{>form}}</div> // JSON { __form: 'form.mustache', ... }forceMinify(Default:
__minify, Since: 2.3.0+)Set the key of minifier, The possible value is
trueorfalse, for config file.forcePretty(Default:
__pretty, Since: 2.3.0+)Set the key of pretty, The possible value is
trueorfalse, for config file.ext(Default:
html)Set the extname of output files.
render(Default:
mustache.render)Set render function.
printSet log output function.
onErrorThe callback is called when an error occurs.
color(Default:
false)Print color text.
minify(Default:
false)To minify HTML.
pretty(Default:
false)To pretty HTML.
watch(Default:
false)To watch working files.
config(Deprecated)
setGlobalData(data)
Set default data.
getGlobalData()
Get default data.
License
MIT