Skip to content

michaelleeallen/dustjs-require

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dustjs-require

A requirejs plugin that loads dustjs templates and compiles them. This lets you use dustjs templates in your AMD application like so:

define(
  [
    'dustjs-linkedin',
    'dustc!path/to/my/template/partial.dust'
  ],
  function(dust, tplName){
    dust.render(tplName, {}, function(err, out){
    // do something with your rendered template...
  });
});

Configuration

The dust template file extension is now detected automattically(thanks, @clmsnskr).You must specify the path to this plugin and provide the path to dustjs. You may optionally specify a module name for dustjs if different from "dustjs-linkedin". You must also include the requirejs-text plugin and Q framework in your project:

require.config({
  config: {
    'dustc': {
      dustModule: 'dustjs' // optional, defaults to "dustjs-linkedin"
    }
  },
  paths: {
    'dustc': 'path/to/this/plugin/dustjs-require',
    'dustjs': 'path/to/dustjs-linkedin/dist/dust-full-2.2.2',
    'q': 'path/to/q',
    'text': 'path/to/text'
  }
});

Usage

Include your dustjs templates in your AMD module like you would with the text! plugin:

define(['dustc!path/to/your/template/partial.dust'])

The plugin will load the template, compile it, store it in dust.cache as:

dust.cache['path/to/your/template/partial']

, and return the template name to your AMD module. Then you can easily render your templates via dust.render:

define(
  [
    'dustjs-linkedin',
    'dust!path/to/my/template/partial.dust'
  ],
  function(dust, tplName){
    dust.render(tplName, {}, function(err, out){
      // do something with your rendered template...
    });
  });

This plugin will also work with the r.js optimizer(!).

About

Requirejs plugin that loads dust resources and compiles them.

Resources

Stars

Watchers

Forks

Packages

No packages published