Skip to content


Subversion checkout URL

You can clone with
Download ZIP
A layout and template manager for Backbone applications.
JavaScript HTML CoffeeScript CSS
Pull request Compare This branch is 13 commits ahead, 179 commits behind master.
Fetching latest commit...
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


v0.9.0 Build
Status Dependency Status

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

  • Upgraded all internal dependencies.
  • Batch rendering via jQuery collections has been added. Check out the htmlBatch method.
  • Full on AMD support. No more shimming necessary!
  • render now returns the View instance to maintain parity with other Backbone.View tutorials and plugins.
  • fetch and render overrides have been renamed to fetchTemplate and renderTemplate respectively.
  • New method renderViews which will only return nested Views and not the parent view, useful for top level layouts.
  • Event bubbling has been removed.
  • Named regions for selectors using the section object.
  • Greatly refactored how the async() methods work. This allows every method of the render lifecycle to be asynchronous and maintain the context of the View.

Full Release Log


Please read and follow the contribution guide before contributing.

Running the unit tests in the browser

Open test/index.html in your favorite browser to ensure LayoutManager works as expected.

Running the unit tests headless

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

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

[sudo] npm install grunt-cli -g

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.