
Security News
The AI Industry Is Betting on Open Weights
An open letter signed by 50 companies, from NVIDIA and Microsoft to Mistral and Hugging Face, urges Washington not to restrict open weight AI.
Emblem.js is an indentation-based templating language that prints Handlebars.js templates. Specifically, it targets Ember.js templates.
Emblem's syntax most closely resembles that of the Slim templating language. Please see the Emblem docs site for a full explanation of the syntax, and check out Try Emblem.
Also check out the Embercast on Emblem.js
To use Emblem with Ember-CLI, use the ember-cli-emblem addon.
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.
Emblem uses the following syntax:
= link-to 'index' (query-params foo="wat")
Ember query params documentation

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.
For pre-0.5.0, follow the pattern in this JSBin:
A globals build of Emblem appropriate for JSBins should be completed before 0.5.1 is released. See #212.
For pre-0.5.0, add the following to your Gemfile:
gem 'emblem-rails'
emblem-rails presently depends on ember-rails. With these
two gems, any templates ending in .emblem will be (pre)compiled
with Emblem.js.
Also, check out the demo app which uses the above configuration.
Updates to Emblem syntax do not require an update to emblem-rails. To
update to the latest Emblem, you can run:
bundle update emblem-source
Compatible with 0.5.0+:
Compatible with pre-0.5.0:
ember-rails)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:
broccoli serve
The tests will be available at http://localhost:4200/tests/.
To run tests in Phantom and Node (which is how CI runs), use:
npm test
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.
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!
FAQs
Templating language targeting Handlebars with default Ember.js conventions
The npm package emblem receives a total of 1,534 weekly downloads. As such, emblem popularity was classified as popular.
We found that emblem demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 4 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
An open letter signed by 50 companies, from NVIDIA and Microsoft to Mistral and Hugging Face, urges Washington not to restrict open weight AI.

Security News
/Research
A fake corepack.org site is impersonating the Node.js tool and delivers an infostealer and proxyware to developers who download it.

Research
/Security News
A large-scale campaign abused GitHub Actions in compromised repositories to exploit CVE-2026-41940 in cPanel and WHM and steal server credentials.