Block style template inheritance for AngularJS inspired by Jade, Handlebars, and Django.
Requires jquery.
Download angular-blocks.min.js or install with bower.
$ bower install angular-blocks --saveLoad angular-blocks.min.js then add the angular-blocks module to your Angular app.
angular.module('app',['angular-blocks']);Given the template below:
<scripttype="text/ng-template" id="/layout.html"><headerdata-block="header"><p>:header</p></header><divdata-block="content"><p>:content</p></div><footerdata-block="footer"><p>:footer</p></footer></script><divdata-extend-template="/layout.html"><divdata-block="content"><p>Foo</p></div></div>Becomes:
<divdata-extend-template="/layout.html"><headerdata-block="header"><p>:header</p></header><divdata-block="content"><p>Foo</p></div><footerdata-block="footer"><p>:footer</p></footer></div><divdata-extend-template="/layout.html"><divdata-block-prepend="content"><p>Foo</p></div></div>Becomes:
<divdata-extend-template="/layout.html"><headerdata-block="header"><p>:header</p></header><divdata-block="content"><divdata-block-prepend="content"><p>Foo</p></div><p>:content</p></div><footerdata-block="footer"><p>:footer</p></footer></div><divdata-extend-template="/layout.html"><divdata-block-append="content"><p>Foo</p></div></div>Becomes:
<divdata-extend-template="/layout.html"><headerdata-block="header"><p>:header</p></header><divdata-block="content"><p>:content</p><divdata-block-append="content"><p>Foo</p></div></div><footerdata-block="footer"><p>:footer</p></footer></div><divdata-extend-template="/layout.html"><divdata-block-before="content"><p>Foo</p></div></div>Becomes:
<divdata-extend-template="/layout.html"><headerdata-block="header"><p>:header</p></header><divdata-block-before="content"><p>Foo</p></div><divdata-block="content"><p>:content</p></div><footerdata-block="footer"><p>:footer</p></footer></div><divdata-extend-template="/layout.html"><divdata-block-after="content"><p>Foo</p></div></div>Becomes:
<divdata-extend-template="/layout.html"><headerdata-block="header"><p>:header</p></header><divdata-block="content"><p>:content</p></div><divdata-block-after="content"><p>Foo</p></div><footerdata-block="footer"><p>:footer</p></footer></div>See the spec.
The project requires Bower, Grunt, and PhantomJS. Once you have installed them, you can build, test, and run the project.
To build and run tests, run either...
$ make installor
$ npm install
$ bower install
$ grunt buildCopyright (c) 2013 William L. Bunselmeyer. https://github.com/wmluke/angular-blocks
Licensed under the MIT License

