Skip to content
forked from ews/dustjs

Asynchronous templates for the browser and node.js

License

Notifications You must be signed in to change notification settings

shrm-org/dustjs

 
 

Repository files navigation

Dust Build Status

Demo & Guide

ß Extensive docs and a full demo are available at http://akdubya.github.com/dustjs

Asynchronous templates for the browser and node.js

Highlights!

I like Mustache and variants but none of them offers quite what I need.

Use Dust if you want these things:

  • async/streaming operation
  • browser/node compatibility
  • extended Mustache/ctemplate syntax
  • clean, low-level API
  • high performance
  • composable templates

This is the LinkedIn fork of dust.js

Details in the blog post : http://engineering.linkedin.com/frontend/leaving-jsps-dust-moving-linkedin-dustjs-client-side-templates

We will gradually be extending this library with helper functions and bug fixes.

Current LinkedIn additions include:

  • Fix to peg.js to print the line and column number for syntax errors in dust templates
  • Fix to support > node0.4
  • Addition of jasmine test suite, BDD with dust.js
  • There are cases of rendering logic that are best done in templates. @if helper that relies entirely on the js eval for expression evaluation, The perf results are here: http://jsperf.com/dust-if. We intend to replace the slow js eval with a expression parser soon
  • Section index for lists of maps stored in the dust context for ease of writing simple logic in templates
  • Section size for lists of maps stored in the dust context for ease of writing simple logic in templates

Installation

For Linkedin Dustjs

$ npm install dustjs-linkedin

To render compiled templates in the browser:

<script src="dust-core-0.6.0.min.js"></script>

To compile a template on the command line, use the dustc command. Its syntax is:

dustc [{-n|--name}=<template_name>] {inputfilename|-} [<outputfilename>]

For example, to compile a template on the command line and have it registered under the same name as the source file:

$ dustc template.html

You can customize the name under which the template is registered:

$ dustc --name=mytemplate template.html

Running Tests

To run tests:

$ make test

To generate code coverage report:

$ npm install cover -g
$ make coverage

To view HTML test coverage report:

$ open cover_html/index.html

About

Asynchronous templates for the browser and node.js

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%