helper-yaml
Template helper for parsing YAML from a string.
Last updated 11 years ago by jonschlinkert .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install helper-yaml 
SYNC missed versions from official npm registry.

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

License

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


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

Current Tags

  • 0.1.0                                ...           latest (11 years ago)

1 Versions

  • 0.1.0                                ...           11 years ago
Maintainers (1)
Downloads
Today 0
This Week 0
This Month 0
Last Day 0
Last Week 0
Last Month 1
Dependencies (0)
None
Dev Dependencies (8)
Dependents (1)

Copyright 2013 - present © cnpmjs.org | Home |