Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
A layout and template manager for Backbone.js applications.
JavaScript HTML CoffeeScript


NPM version Build status Code coverage

Have a problem? Come chat with us!


Maintained by Tim Branyen @tbranyen, Mike Pennisi @jugglinmike, Simon Boudrias @SBoudrias, and @ssafejava with help from awesome contributors!

Provides a logical foundation for assembling layouts and views within Backbone. Designed to be adaptive and configurable for painless integration. Well tested, with full code coverage, in both the browser and Node.js environments.

Depends on Underscore, Backbone, and jQuery. You can swap out the dependencies with a custom configuration.


Migrating from 0.8

Release notes

  • Full Browserify support.
  • The options object is now cloned when passed into a Layout.
  • Fixes a bug with setView removing deeply nested views.
  • Fixes compatibility with Backbone Epoxy.
  • Fixes a bug where a removed view could still be rendered asynchronously.
  • renderViews now accepts an array of Views to render batched.
  • Added an empty event that triggers when all Views are removed from a parent.

Full Release Log


Please read and follow the contribution guide before contributing.

Running the unit tests

Open test/index.html in your browser to run the test suite.


Install Node.js, Grunt.js 0.4, and run npm install -q inside the project directory.

Make sure you've installed grunt-cli globally with:

npm install grunt-cli -gq

Run grunt inside a terminal in the project directory to run the tests in both a headless browser and Node.js environment.

Something went wrong with that request. Please try again.