minstache

迷你 mustache 编译为独立函数。「Mini mustache compiling to stand-alone functions」

  • Owner: visionmedia/minstache
  • Platform:
  • License::
  • Category::
  • Topic:
  • Like:
    0
      Compare:

Github stars Tracking Chart

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}}<a href="/login">login</a>{{/authenticated}}

convert it:

$ minstache < hello.mustache > hello.js

hello.js:

module.exports = function anonymous(obj) {

  function escape(html) {
    return String(html)
      .replace(/&/g, '&amp;')
      .replace(/"/g, '&quot;')
      .replace(/</g, '&lt;')
      .replace(/>/g, '&gt;');
  };

  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, "<a href=\"/login\">login</a>") + "\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 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

Main metrics

Overview
Name With Ownervisionmedia/minstache
Primary LanguageJavaScript
Program languageJavaScript (Language Count: 1)
Platform
License:
所有者活动
Created At2012-09-05 00:12:28
Pushed At2021-07-01 09:52:00
Last Commit At2014-06-17 21:38:56
Release Count3
Last Release Name1.2.0 (Posted on 2014-06-17 21:38:56)
First Release Name1.0.0 (Posted on 2012-11-06 16:24:29)
用户参与
Stargazers Count54
Watchers Count3
Fork Count14
Commits Count38
Has Issues Enabled
Issues Count5
Issue Open Count4
Pull Requests Count0
Pull Requests Open Count9
Pull Requests Close Count4
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private