template-utils
v0.6.2
Published
Utils for [Template], and Template-based applications.
Downloads
1,406
Readme
template-utils
Utils for Template, and Template-based applications.
Install
Install with npm
npm i template-utils --save
Table of contents
(Table of contents generated by [verb])
Usage
var utils = require('template-utils');
API
.loaders.file
Vinyl file loader. Used in plugins to load vinyl
files onto app.views
.
Params
file
{Object}: Vinyl file objectreturns
{Object}: Template object
.toTemplate
Convert a Vinyl file object to a non-vinyl template object.
Params
file
{Object}: Vinyl file objectreturns
{Object}: Object with properties expected by Template or Template apps
Example
var template = utils.toTemplate(file);
.toVinyl
Convert a template
object to a Vinyl file object.
Params
file
{Object}: Object with properties expected by Templatereturns
{Object}: Vinyl file object
Example
var file = utils.toVinyl(template);
.isVinyl
Returns true if a file is a vinyl file object.
Params
file
{Object}: Object to test.Vinyl
{Object}: Optionally pass an instance of [vinyl]returns
{Boolean}: Returns true if it's a vinyl file.
Example
var file = utils.isVinyl(file);
.pushToStream
Push a collection of templates into the stream as vinyl files.
Params
collection
{Object}: Template collectionstream
{Stream}: Stream to push the files into
Example
module.exports = function myPlugin(app) {
var id = app.getTask();
// create a template type for vinyl files and assign the `task` loader
if (!app.hasOwnProperty(id)) {
app.create(id, ['task']);
}
return through.obj(function (file, enc, cb) {
// Convert vinyl file to template and add to collection
app[id](file);
cb();
}, function (cb) {
// Get the cached template and push into stream
app.pushToStream(id, this);
cb();
});
};
.bindAll
Bind a thisArg
to all the functions on the target
array of object.
Params
target
{Object|Array}: Object or Array with functions as values that will be bound.thisArg
{Object}: Object to bind to the functionsreturns
{Object|Array}: Object or Array with bound functions.
.basename
Get the basename of a file path, excluding extension.
Params
fp
{String}ext
{String}: Optionally pass the extension.
Example
utils.basename('a/b/c.hbs');
//=> 'c'
.renameKey
Rename a filepath to use as the key for caching templates.
Params
fp
{String}opts
{String}: Optionally passoptions.cwd
.
Example
utils.renameKey('a/b/c/d/e/f.md', {last: 2});
//=> 'e/f.md'
utils.renameKey('a/b/c/d/e/f.md', {last: 3});
//=> 'c/d/e/f.md'
utils.renameKey('a/b/c/d/e/f.md', {last: 1, ext: false});
//=> 'f'
.getExt
Get the extension from a string or from the first string in an array of file paths.
Params
val
{String|Array}: Filepath or array of filepaths
Example
utils.getExt('a/b/c.hbs');
//=> '.hbs'
utils.getExt(['a/b/c.hbs', 'x/y/z.hbs']);
//=> '.hbs'
.formatExt
Ensure file extensions are formatted properly for lookups.
Params
ext
{String}: File extensionreturns
{String}
Example
utils.formatExt('hbs');
//=> '.hbs'
utils.formatExt('.hbs');
//=> '.hbs'
.stripDot
Strip the dot from a file extension
Params
ext
{String}: extensionreturns
{String}
Example
utils.stripDot('.hbs');
//=> 'hbs'
.exts
Sanitize an array of extensions before converting them to regex.
This is used by the extensionRe()
util for creating
a regex to match the given file extensions.
Params
extensions
{Array}: Array of file extensionsreturns
{Array}
.extensionRe
Creates a regex to match only the file extensions of registered engines.
This is used by the default middleware to prevent unregistered extensions from being processed.
Params
str
{String}returns
{RegExp}
.arrayify
Cast value
to an array.
Params
value
{Array|String}returns
{Array}
Example
utils.arrayify('abc');
//=> ['abc']
utils.arrayify(['abc']);
//=> ['abc']
.headings
Adjust markdown heading levels.
Adds one heading level next to all markdown headings to make them correct within the scope of the inheriting document. Headings in fenced code blocks are skipped.
Params
str
{String}: Markdown string with headings to format.returns
{String}
Example
utils.heading(str);
Related projects
- middleware-utils: Utils for Template middleware.
- template: Render templates using any engine. Supports, layouts, pages, partials and custom template types. Use template… more
Running tests
Install dev dependencies:
npm i -d && npm test
Contributing
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue
Author
Jon Schlinkert
License
Copyright (c) 2014-2015 Jon Schlinkert Released under the MIT license.
This file was generated by verb-cli on May 10, 2015.