Also check out the Embercast on Emblem.js
Installation with Ember-CLI
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+
Emblem uses the following syntax:
= link-to 'index' (query-params foo="wat")
- Read the syntax documentation.
- Watch the Embercast
- Check out this JSBin.
- Check out this demo of an ember-rails site with Emblem enabled.
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 to VANILLA_HANDLEBARS.md for more context.
Compiling in the Browser
For pre-0.5.0, follow the pattern in this JSBin:
- Include Handlebars
- Include Emblem
- Include Ember
A globals build of Emblem appropriate for JSBins should be completed before 0.5.1 is released. See #212.
Via Rails 3.1+
For pre-0.5.0, add the following to your Gemfile:
emblem-rails presently depends on
ember-rails. With these
two gems, any templates ending in
.emblem will be (pre)compiled
Also, check out the demo app which uses the above configuration.
Updates to Emblem syntax do not require an update to
update to the latest Emblem, you can run:
bundle update emblem-source
Emblem Build Tools
Compatible with 0.5.0+:
Compatible with pre-0.5.0:
- barber-emblem, a
Precompilation library for Ruby (used in
- emblem-brunch, Emblem support for Brunch.io
- Mimosa (support for Emblem since v 0.10.1)
- grunt-emblem, Emblem support for Grunt (and Yeoman)
- gulp-emblem, Emblem support for gulp
Clone the repo, then run:
npm install bower install ember build -e production
Running tests in the browser requires broccoli-cli to be installed.
To run tests in the browser, run:
The tests will be available at http://localhost:4200/tests/.
To run tests in Phantom and Node (which is how CI runs), use:
Check out vim-emblem for Vim editor support for Emblem.
Otherwise, for now, please refer to syntax highlighting solutions for Slim, which is not much different from Ember's. At some point, we'll have something even more custom tailored to Emblem (feel free to take a swing at it and send in a PR).
If you find a bug in Emblem syntax, please try to reproduce it in its simplest form with this JSBin before reporting an issue, which will help me nail down the source of the issue.
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!