npm stats
  • Search
  • About
  • Repo
  • Sponsor
  • more
    • Search
    • About
    • Repo
    • Sponsor

Made by Antonio Ramirez

helper-yaml

0.1.0

@jonschlinkert

npmHomeRepoSnykSocket
Downloads:92806
$ npm install helper-yaml
DailyWeeklyMonthlyYearly

helper-yaml NPM version

Template helper for parsing YAML from a string.

Install

Install with npm

npm i helper-yaml --save

Usage

var yaml = require('helper-yaml');

Usage with [handlebars]

var handlebars = require('handlebars');
handlebars.registerHelper('yaml', yaml.sync);

handlebars.compile('{{{yaml "name: Halle\nage: 4\n"}}}')();
//=> {first: 'Halle', age: 4}

Usage with Template

var yaml = require('helper-yaml');
var Template = require('template');
var template = new Template();

/**
 * Register an engine
 */

template.engine('foo', require('engine-handlebars'));

/**
 * Register the helper
 */

template.asyncHelper('yaml', yaml);
template.helper('stringify', function (o) {
  return JSON.stringify(o);
});

/**
 * Add some templates
 */

// note that JSON.stringify and JSON.parse are only
// necessary here since I'm defining the YAML string inline.
// If it's passed as a variable JSON.parse/stringify aren't needed
template.page('abc.foo', '{{{stringify (yaml "first: Halle\nlast: Schlinkert\n")}}}');
template.page('xyz.foo', '{{{stringify (yaml "first: Brooke\nlast: Schlinkert\n")}}}');

/**
 * Render the templates
 */

template.render('abc.foo', function (err, res) {
  if (err) console.log(err);
  console.log(JSON.parse(res));
  //=> { first: 'Halle', last: 'Schlinkert' }
});

template.render('xyz.foo', function (err, res) {
  if (err) console.log(err);
  console.log(JSON.parse(res));
  //=> { first: 'Brooke', last: 'Schlinkert' }
});

Related projects

  • assemble: Static site generator for Grunt.js, Yeoman and Node.js. Used by Zurb Foundation, Zurb Ink, H5BP/Effeckt,… more
  • template: Render templates using any engine. Supports, layouts, pages, partials and custom template types. Use template… more
  • template-helpers: Generic JavaScript helpers that can be used with any template engine. Handlebars, Lo-Dash, Underscore, or… more
  • verb: Documentation generator for GitHub projects. Extremely powerful, easy to use, can generate anything from API… more

Running tests

Install dev dependencies:

npm i -d && npm test

Update js-yaml

% npm run update

Contributing

Pull requests and stars are always welcome. For bugs and feature requests, please create an issue

Author

Jon Schlinkert

  • github/jonschlinkert
  • twitter/jonschlinkert

License

Copyright (c) 2015 Jon Schlinkert Released under the MIT license.


This file was generated by verb-cli on May 12, 2015.