Skip to content
Handlebars templates for CLIs https://npmjs.org/package/stashed
JavaScript
Find file
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
templates
.gitignore
README.md
index.js
package.json
test.js

README.md

stashed

Handlebars templates for CLIs! Now you can groom your stash on the command line too. Now with colors!

If you're building a CLI and want to keep the nasty string manipulations out your well crafted code, use this.

Usage

First add stashed to your deps or install manually:

npm i stashed

Next:

var stashed = require('stashed');
var render = stashed({
  templateDir: "./templates"
});

console.log(render('basics'));

console.log(render('with_binds',{
  answer: "two",
  name: "Rich"
}));

Inside ./templates/basics.hbs, you'll find:

{{#rainbow}}Skittles, taste the rainbow{{/rainbow}}

Which will render this in your terminal:

Rainbows!

Inside ./templates/with_binds.hbs, you'll find:

This template has some binds:

  1 + 1 = {{answer}}

Hello {{#inverse}}{{name}}{{/inverse}}!

This will render:

Binds

Options

render( <String::filename_of_template_wo_ext>, 
        [Object::context_object],
        [Boolean::strip_colors] )

Supported colors and styles

Stashed uses @marak's awesome colors.js. Stashed exposes colors.js' colors and styles as Handlebars block helpers:

  • bold
  • underline
  • italic
  • inverse
  • grey
  • black
  • yellow
  • red
  • green
  • blue
  • white
  • cyan
  • magenta
  • rainbow
  • zebra
  • zalgo

To use these, all you have to do is wrap your text with {{#style}}text{{/style}}. You can nest styles too.

Contribute

Go nuts, but don't forget to send me some pull requests!

Something went wrong with that request. Please try again.