mustache-cli
v2.3.2
Published
Mustache's CLI interface.
Downloads
158
Maintainers
Readme
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
true
orfalse
, for config file.forcePretty
(Default:
__pretty
, Since: 2.3.0+)Set the key of pretty, The possible value is
true
orfalse
, for config file.ext
(Default:
html
)Set the extname of output files.
render
(Default:
mustache.render
)Set render function.
print
Set log output function.
onError
The 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