helper-yaml

Template helper for parsing YAML from a string.

helper-yaml

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

License

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


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

HomePage

https://github.com/jonschlinkert/helper-yaml

Repository

https://github.com/jonschlinkert/helper-yaml


公众号

欢迎 JavaScript 爱好者