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.
 
 
 

2.2 KiB

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