Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/visionmedia/minstache
Mini mustache compiling to stand-alone functions
https://github.com/visionmedia/minstache
Last synced: about 2 months ago
JSON representation
Mini mustache compiling to stand-alone functions
- Host: GitHub
- URL: https://github.com/visionmedia/minstache
- Owner: visionmedia
- Created: 2012-09-05T00:12:28.000Z (over 12 years ago)
- Default Branch: master
- Last Pushed: 2021-07-01T09:52:00.000Z (over 3 years ago)
- Last Synced: 2024-05-08T16:56:02.473Z (8 months ago)
- Language: JavaScript
- Homepage:
- Size: 225 KB
- Stars: 53
- Watchers: 4
- Forks: 14
- Open Issues: 13
-
Metadata Files:
- Readme: Readme.md
- Changelog: History.md
Awesome Lists containing this project
README
# minstache
Mini mustache template engine.
## Installation
$ npm install minstache
$ component install visionmedia/minstache## minstache(1)
The `minstache(1)` executable can compile a file to a valid
stand-alone commonjs module for you, there's no need to have minstache
as a dependency:hello.mustache:
```
Hello {{name}}! {{^authenticated}}login{{/authenticated}}
```convert it:
```
$ minstache < hello.mustache > hello.js
```hello.js:
```js
module.exports = function anonymous(obj) {function escape(html) {
return String(html)
.replace(/&/g, '&')
.replace(/"/g, '"')
.replace(//g, '>');
};function section(obj, prop, negate, str) {
var val = obj[prop];
if ('function' == typeof val) return val.call(obj, str);
if (negate) val = !val;
if (val) return str;
return '';
};return "Hello " + escape(obj.name) + "! " + section(obj, "authenticated", true, "login") + "\n"
}
```## API
### minstache(string, [obj])
Compile and render the given mustache `string` with optional context `obj`.
### minstache.compile(string)
Compile the mustache `string` to a stand-alone `Function` accepting a context `obj`.
## Divergence
Partials are not supported, this lib is meant to be a small template engine solution for stand-alone [component](http://github.com/component) templates. If your template takes "partials" then pass other rendered strings to it. If you need a full-blown mustache solution Hogan.js is still great.
Minstache uses `{{!name}}` for unescaped properties.
## License
MIT