0
0
mirror of https://github.com/twbs/bootstrap.git synced 2024-11-30 12:24:19 +01:00
Bootstrap/docs/build/node_modules/hogan.js
2012-01-23 14:14:16 -08:00
..
bin add templates for doc generation 2012-01-23 14:14:16 -08:00
lib add templates for doc generation 2012-01-23 14:14:16 -08:00
test add templates for doc generation 2012-01-23 14:14:16 -08:00
tools add templates for doc generation 2012-01-23 14:14:16 -08:00
web add templates for doc generation 2012-01-23 14:14:16 -08:00
wrappers add templates for doc generation 2012-01-23 14:14:16 -08:00
.git_ignore add templates for doc generation 2012-01-23 14:14:16 -08:00
.gitmodules add templates for doc generation 2012-01-23 14:14:16 -08:00
LICENSE add templates for doc generation 2012-01-23 14:14:16 -08:00
Makefile add templates for doc generation 2012-01-23 14:14:16 -08:00
package.json add templates for doc generation 2012-01-23 14:14:16 -08:00
README.md add templates for doc generation 2012-01-23 14:14:16 -08:00

Hogan.js - A mustache compiler.

Hogan.js is a compiler for the Mustache templating language. For information on Mustache, see the manpage and the spec.

Basics

Hogan compiles templates to HoganTemplate objects, which have a render method.

var data = {
  screenName: "dhg",
};

var template = Hogan.compile("Follow @{{screenName}}.");
var output = template.render(data);

// prints "Follow @dhg."
console.log(output);

Features

Hogan is fast--try it on your workload.

Hogan has separate scanning, parsing and code generation phases. This way it's possible to add new features without touching the scanner at all, and many different code generation techniques can be tried without changing the parser.

Hogan exposes scan and parse methods. These can be useful for pre-processing templates on the server.

var text = "{{^check}}{{i18n}}No{{/i18n}}{{/check}}";
text +=  "{{#check}}{{i18n}}Yes{{/i18n}}{{/check}}";
var tree = Hogan.parse(Hogan.scan(text));

// outputs "# check"
console.log(tree[0].tag + " " + tree[0].name);

// outputs "Yes"
console.log(tree[1].nodes[0].nodes[0]);

It's also possible to use HoganTemplate objects without the Hogan compiler present. That means you can pre-compile your templates on the server, and avoid shipping the compiler. However, the optional lambda features from the Mustache spec do require the compiler to be present.

Why Hogan.js?

Why another templating library?

Hogan.js was written to meet three templating library requirements: good performance, standalone template objects, and a parser API.

Issues

Have a bug? Please create an issue here on GitHub!

https://github.com/twitter/hogan.js/issues

Versioning

For transparency and insight into our release cycle, releases will be numbered with the follow format:

<major>.<minor>.<patch>

And constructed with the following guidelines:

  • Breaking backwards compatibility bumps the major
  • New additions without breaking backwards compatibility bumps the minor
  • Bug fixes and misc changes bump the patch

For more information on semantic versioning, please visit http://semver.org/.

Authors

Robert Sayre

Jacob Thornton

License

Copyright 2011 Twitter, Inc.

Licensed under the Apache License, Version 2.0: http://www.apache.org/licenses/LICENSE-2.0