• Stars
    star
    216
  • Rank 182,610 (Top 4 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created over 11 years ago
  • Updated over 6 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Template inheritance for Angular JS

angular-blocks

Build Status Coverage Status

Block style template inheritance for AngularJS inspired by Jade, Handlebars, and Django.

Installation

Requires jquery.

Download angular-blocks.min.js or install with bower.

$ bower install angular-blocks --save

Load angular-blocks.min.js then add the angular-blocks module to your Angular app.

angular.module('app', ['angular-blocks']);

Usage

Given the template below:

<script type="text/ng-template" id="/layout.html">
    <header data-block="header">
        <p>:header</p>
    </header>
    <div data-block="content">
        <p>:content</p>
    </div>
    <footer data-block="footer">
        <p>:footer</p>
    </footer>
</script>

Block Replace: data-block

<div data-extend-template="/layout.html">
   <div data-block="content">
       <p>Foo</p>
   </div>
</div>

Becomes:

<div data-extend-template="/layout.html">
    <header data-block="header">
        <p>:header</p>
    </header>
    <div data-block="content">
        <p>Foo</p>
    </div>
    <footer data-block="footer">
        <p>:footer</p>
    </footer>
</div>

Block Prepend: data-block-prepend

<div data-extend-template="/layout.html">
   <div data-block-prepend="content">
       <p>Foo</p>
   </div>
</div>

Becomes:

<div data-extend-template="/layout.html">
    <header data-block="header">
        <p>:header</p>
    </header>
    <div data-block="content">
       <div data-block-prepend="content">
           <p>Foo</p>
       </div>
       <p>:content</p>
    </div>
    <footer data-block="footer">
        <p>:footer</p>
    </footer>
</div>

Block Append: data-block-append

<div data-extend-template="/layout.html">
   <div data-block-append="content">
       <p>Foo</p>
   </div>
</div>

Becomes:

<div data-extend-template="/layout.html">
    <header data-block="header">
        <p>:header</p>
    </header>
    <div data-block="content">
       <p>:content</p>
       <div data-block-append="content">
           <p>Foo</p>
       </div>
    </div>
    <footer data-block="footer">
        <p>:footer</p>
    </footer>
</div>

Block Before: data-block-before

<div data-extend-template="/layout.html">
   <div data-block-before="content">
       <p>Foo</p>
   </div>
</div>

Becomes:

<div data-extend-template="/layout.html">
    <header data-block="header">
        <p>:header</p>
    </header>
   <div data-block-before="content">
       <p>Foo</p>
   </div>
    <div data-block="content">
       <p>:content</p>
    </div>
    <footer data-block="footer">
        <p>:footer</p>
    </footer>
</div>

Block After: data-block-after

<div data-extend-template="/layout.html">
   <div data-block-after="content">
       <p>Foo</p>
   </div>
</div>

Becomes:

<div data-extend-template="/layout.html">
    <header data-block="header">
        <p>:header</p>
    </header>
    <div data-block="content">
       <p>:content</p>
    </div>
   <div data-block-after="content">
       <p>Foo</p>
   </div>
    <footer data-block="footer">
        <p>:footer</p>
    </footer>
</div>

API

See the spec.

Contributing

Prerequisites

The project requires Bower, Grunt, and PhantomJS. Once you have installed them, you can build, test, and run the project.

Build & Test

To build and run tests, run either...

$ make install

or

$ npm install
$ bower install
$ grunt build

Licsense

Copyright (c) 2013 William L. Bunselmeyer. https://github.com/wmluke/angular-blocks

Licensed under the MIT License

More Repositories

1

dokku-domains-plugin

Dokku plugin to create nginx vhost with multiple domains
Shell
176
star
2

angular-flash

Flash messages for Angular JS
JavaScript
159
star
3

grunt-inline-angular-templates

Inline angular templates into a HTML file
JavaScript
42
star
4

angular-bugsnag

Angular wrapper for Bugsnag
JavaScript
36
star
5

angular-common

Some useful services and directives for Angular.js
JavaScript
9
star
6

gulp-inline-angular-templates

Inline angular templates into an HTML file
JavaScript
9
star
7

translate

A command line utility to translate Java ResourceBundle Properties Files with Google Translate.
Go
8
star
8

docker-jenkins-node

Jenkins Node Docker image
Dockerfile
6
star
9

grunt-build-lifecycle

Flexible build lifecycles for Grunt
JavaScript
6
star
10

pipes

Middleware for Java 1.8
Java
4
star
11

slickgrid-print-plugin

Create a printable view of a SlickGird as a simple a HTML table
JavaScript
4
star
12

play2-guice-module

Google Guice module for Play 2.1
Java
3
star
13

mongo-migrate

Mongo Migration Maven Plugin
Java
2
star
14

q-mongodb

A Q promise wrapper for the native node mongo drivers.
JavaScript
2
star
15

angular-restsource

Restful resources for AngularJS
JavaScript
1
star
16

mac-remote

A simple node app to pause and resume Backblaze and Arq cloud backup services.
JavaScript
1
star
17

awesome-radio

Awesome Radio is a personal internet radio station aggregator
TypeScript
1
star
18

dosea

A dosea (daw-see-ey) for your datasets. Data visualization tool for relational, time series, and document databases
TypeScript
1
star
19

mattermost

Mattermost docker images for linux/arm64 and linux/amd64 https://hub.docker.com/r/wmluke/mattermost
Dockerfile
1
star