Blaze is a powerful library for creating user interfaces by writing reactive HTML templates. Compared to using a combination of traditional templates and jQuery, Blaze eliminates the need for all the "update logic" in your app that listens for data changes and manipulates the DOM. Instead, familiar template directives like {{#if}}
and {{#each}}
integrate with Tracker's "transparent reactivity" and Minimongo's database cursors so that the DOM updates automatically.
-
A template compiler that compiles template files into JavaScript code that runs against the Blaze runtime library. Moreover, Blaze provides a compiler toolchain (think LLVM) that can be used to support arbitrary template syntaxes. The flagship template syntax is Spacebars, a variant of Handlebars, but a community alternative based on Jade is already in use by many apps.
-
A reactive DOM engine that builds and manages the DOM at runtime, invoked via templates or directly from the app, which features reactively updating regions, lists, and attributes; event delegation; and many callbacks and hooks to aid the app developer.
Blaze is a Meteor-only package for now. Soon we will have Blaze on npm so you can use it in your stack.
Each new Meteor project you create has Blaze included (the blaze-html-templates
package).
We'd love for you to help us build Blaze. If you'd like to be a contributor, check out our contributing guide.
Also, to stay up-to-date on all Blaze related news and the community you should definitely join us on Slack.
See open issues and consider helping with any of the tasks. Those labeled "contributions welcome" are probably a good start. We have issues organized into GitHub projects for a better overview as well. And the current roadmap shows the issues we need help with for the next release.
Support us with a monthly donation and help us continue our activities. Become a backer.
Become a sponsor and get your logo on our README on Github with a link to your site. Become a sponsor.
Blaze is available under the MIT license.