A CLI tool for rendering Handlebars templates
Last updated 15 days ago by keithamus .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install hbs-cli 
SYNC missed versions from official npm registry.


This is a tool to render handlebars templates, with the ability to require in Partials, Helpers and JSON Data.

  hbs --version
  hbs --help
  hbs [-P <partial>]... [-H <helper>]... [-D <data>]... [-o <directory>] [--] (<template...>)

  -h, --help                 output usage information
  -v, --version              output the version number
  -o, --output <directory>   Directory to output rendered templates, defaults to cwd
  -e, --extension            Output extension of generated files, defaults to html
  -s, --stdout               Output to standard output
  -i, --stdin                Receive data directly from stdin
  -P, --partial <glob>...    Register a partial (use as many of these as you want)
  -H, --helper <glob>...     Register a helper (use as many of these as you want)

  -D, --data <glob|json>...  Parse some data


hbs --helper handlebars-layouts --partial ./templates/layout.hbs -- ./index.hbs
hbs --data ./package.json --data ./extra.json ./homepage.hbs --output ./site/
hbs --helper ./helpers/* --partial ./partials/* ./index.hbs # Supports globs!

* Yarn and NPM expand globs, so if you're using this in an NPM script make sure you wrap globs in quotes. For example:

hbs index.hbs --partial 'partials/*.hbs'

Using Helpers

In order to use Handlebar helpers you can simply create a folder with all your helpers in a js file each. These modules must export a register function which gets the Handlebars instance passed through its first parameter.

// src/template_helper/times.js
var times = function () {};

times.register = function (Handlebars) {
    Handlebars.registerHelper('times', function(n, block) {
        var accum = '';
        for(var i = 0; i < n; ++i)
            accum += block.fn(i);
        return accum;

module.exports = times;

Now you are able to use the times function within your Handlebars template such as this:

{{#times 10}}

To compile this template you may run this command:

hbs --helper ./src/template_helper/**/*.js --data src/data.json src/templates/**/*.hbs --output dist/

Current Tags

  • 1.4.0                                ...           latest (15 days ago)

6 Versions

  • 1.4.0                                ...           15 days ago
  • 1.3.0                                ...           2 years ago
  • 1.2.0                                ...           2 years ago
  • 1.1.1                                ...           3 years ago
  • 1.1.0                                ...           4 years ago
  • 1.0.0                                ...           4 years ago
Maintainers (1)
Today 0
This Week 0
This Month 0
Last Day 0
Last Week 0
Last Month 17
Dependencies (10)
Dev Dependencies (10)
Dependents (1)

Copyright 2014 - 2016 © taobao.org |