1.0.2 • Published 8 years ago

pug-angularjs-templates-brunch v1.0.2

Weekly downloads
269
License
-
Repository
github
Last release
8 years ago

Compile Pug templates in an AngularJS module as a Brunch plugin

For each template, wrap around in a shared AngularJS module called templates by default with each template file's path as the template URL. See $templateCache for more information.

For information about Pug (formerly known as Jade), go here.

Installation

npm install --save pug-angularjs-templates-brunch

Usage

  1. Set joinTo attribute for templates in config.coffee, e.g.

    templates:
      joinTo:
    	'templates.js': /^app/
  2. In your markup, include templates.js:

    <script type="text/javascript" src="/templates.js"></script>
  3. Your app module must require the module your templates were placed in:

    angular.module('MyApp', [
      ...
      'templates'
      ...
    ]);
  4. Get a particular template by its path. Templates can be either .jade or .pug.

    $routeProvider.when('/home', { templateUrl: 'app/home/home.jade' });
  5. Run Brunch (e.g. brunch build)

Options

module

Specify the module to place the templates in

Default: templates

plugins:
  pug_angular_templates:
    module: 'MyModule'

path_transform

Specify a transform function for the template path. This callback function will be invoked with the brunch path to each template file (e.g. 'app/home/home.html') and must return a new path for that template (e.g. '/partials/home/home.jade'). This new path will be used when inserting into the template cache. This allows the template files to be served from an arbitrary location regardless of their source.

Default: no-op (returns input path)

Example: if your template is in app/scripts/somedir/myTemplate.jade buy you'd prefer to reference the templates as 'somedir/myTemplate.jade', you could use this path transform:

plugins:
  pug_angular_templates:
    path_transform: (path) -> path.replace('app/scripts/', '')

Pug Options

Supports a couple of other Pug options - pretty, doctype, locals

plugins:
  pug_angular_templates:
    pretty: true

Credit

Inspiration from the following projects: