[![Build Status](https://travis-ci.org/machty/emblem.js.png)](https://travis-ci.org/machty/emblem.js) # Emblem.js Emblem.js is an indentation-based templating language that compiles down to the [Handlebars.js](https://github.com/wycats/handlebars.js/) runtime. It is therefore: 1. Efficiently/easily precompilable 1. Compilable in the browser 1. Fully compatible with Ember.js's auto-updating templates (with Ember-targeting/friendly syntax) Emblem's syntax most closely resembles that of the [Slim templating language](http://slim-lang.com/). Please see the [Emblem docs site](http://www.emblemjs.com) for a full explanation of the syntax. Also check out the [Embercast on Emblem.js](http://www.embercasts.com/episodes/2) ## Handlebars Version Dependencies _Updated: July 2013_ In the push to Handlebars 1.0.0, some changes were made to the Handlebars internals that broke Emblem, but Emblem's been fixed as of July 1, 2013. Here are the versions you should be using: - Handlebars 1.0.0: Use Emblem >= 0.3.0 - Handlebars <= 1.0.0.rc4: Use Emblem <= 0.2.9 ## Query params _Updated: March 2014_ Handlebars >= 1.3.0 is required to use query params. Emblem uses the following syntax: `= link-to 'index' (query-params foo="wat")` [Ember query params documentation](http://emberjs.com/guides/routing/query-params/) ## Syntax Examples - [Read the syntax documentation](http://www.emblemjs.com/syntax). - [Watch the Embercast](http://www.embercasts.com/episodes/2) - [Check out this JSBin.](http://jsbin.com/ulegec/337/edit) - Check out this [demo](http://emblem-test.herokuapp.com/) of an [ember-rails](https://github.com/machty/ember-rails) site with Emblem enabled. ![Emblem.js Syntax](https://s3.amazonaws.com/machty/emblem-sample.png) ## Using Emblem in your application You can use Emblem to compile either to vanilla Handlebars or Emberized Handlebars. Let's assume you're compiling to Emberized Handlebars for use with an Ember app. ### Compiling in the Browser Follow the pattern in [this JSBin](http://jsbin.com/ulegec/337/edit): 1. Include Handlebars 1. Include Emblem 1. Include Ember If you have a recent enough version of Ember, all the Emblem code you put into `