GitHub - machty/emblem.js: Emblem.js - Ember-friendly, indented syntax alternative for Handlebars.js (original) (raw)
Emblem.js
Emblem.js is an indentation-based templating language that printsHandlebars.jstemplates. Specifically, it targets Ember.jstemplates.
Emblem's syntax most closely resembles that of theSlim templating language. Please see theEmblem docs site for a full explanation of the syntax.
Also check out theEmbercast on Emblem.js
Installation with Ember-CLI
To use Emblem with Ember-CLI, use the ember-cli-emblemaddon.
Handlebars Version Dependencies
As of Emblem 0.5.0, the compiler is really a template printer. Previous versions compiled to Handlebars AST nodes and were forced to target specific versions of Handlebars. The move to printing has eliminated that restriction, and Emblem 0.5.0 should be compatible with any version of Handlebars.
For posterity, here is a history of Emblem and Handelbars compatibility across revisions.
- HTMLBars: Emblem 0.5.0+
- Handlebars 2.0.0: Use Emblem ~0.4.0, or 0.5.0+
- Handlebars 1.0.0: Use Emblem ~0.3.0, or 0.5.0+
- Handlebars <= 1.0.0.rc4: Use Emblem <= 0.2.9, or 0.5.0+
Using Emblem in your application
Previous versions of Emblem have supported a "vanilla" Handlebars mode. The intent was that Ember-specific helpers could be avoided.
Emblem 0.5.0 dropped support for vanilla template compilation, but we would like to bring it back. Please refer toVANILLA_HANDLEBARS.mdfor more context.
Building Emblem.js
Clone the repo, then run:
To run tests in the browser, run:
The tests will be available at http://localhost:4200/tests/.
To run tests in Headless Chrome and Node (which is how CI runs), use:
Reporting Bugs
If you find a bug in Emblem syntax, please try to reproduce it in its simplest form withthis JSBin before reporting an issue, which will help me nail down the source of the issue.
Emblem was authored and released by Alex Matchneer (@machty).
The Emblem 0.5.0 release was generously funded by Vestorly. Vestorly is a technology company solving the content marketing problem for individual professionals, small businesses, and the enterprises that support them. Vestorly's user interface is built entirely with Ember.js and modern web technologies. Vestorly is hiring!
