You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Jack Lukic 3addcf6029 icon side 11 years ago
..
node_modules Fixes issue with accidental submodule 11 years ago
out Fixes issue with accidental submodule 11 years ago
.npmignore Fixes issue with accidental submodule 11 years ago
LICENSE.txt Fixes issue with accidental submodule 11 years ago
README.md Fixes issue with accidental submodule 11 years ago
package.json Fixes issue with accidental submodule 11 years ago

README.md

Handlebars Plugin for DocPad

Adds support for the Handlebars templating engine to DocPad

Convention: .inlinejs|js|anything.handlebars|hbs|hb

Install

npm install --save docpad-plugin-handlebars

Configuration

Getting helpers and partials to work

For the plugin to support helpers and partials, you'll have to add something like the following to your docpad configuration file manually:

# ...
plugins:
	handlebars:
		helpers:
			# Expose docpads 'getBlock' function to handlebars
			getBlock: (type, additional...) ->
				additional.pop() # remove the hash object
				@getBlock(type).add(additional).toHTML()
		partials:
			title: '<h1>{{document.title}}</h1>'
			goUp: '<a href="#">Scroll up</a>'
# ...

Usage as precompiler

If the document extension is .inlinejs|js.handlebars|hbs|hb, the plugin will produce a precompiled template. In this case, you can customise the precompiled template via the following:

# ...
plugins:
	handlebars:
		precompileOpts:
			wrapper: "default"
# ...

Available values for the wrapper option are:

  • "default": Produces a handlebars wrapper like:

    (function() {
        var template = Handlebars.template, templates = Handlebars.templates = Handlebars.templates || {};
        templates['theSlugOfTheFile'] = template(function (Handlebars,depth0,helpers,partials,data) {
            ...
        })
    })();
    
    
    
  • "amd": Produces a AMD handlebars wrapper like:

    define(['handlebars'], function(Handlebars) {
        var template = Handlebars.template, templates = Handlebars.templates = Handlebars.templates || {};
        templates['theSlugOfTheFile'] = template(function (Handlebars,depth0,helpers,partials,data) {
            ...
        });
    });
    
    
    
  • "none": Produces a basic wrapper like:

    function (Handlebars,depth0,helpers,partials,data) {
        ...
    }
    
    
    
    
    

History

You can discover the history inside the History.md file

License

Licensed under the incredibly permissive MIT License
Copyright © 2012 Mike Moulton