helper-yaml
v0.1.0
Published
Template helper for parsing YAML from a string.
Downloads
5,569
Readme
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.