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
Vinyl file loader. Used in plugins to load vinyl
files onto app.views
.
Params
file
{Object}: Vinyl file objectreturns
{Object}: Template object
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);
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);
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);
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();
if (!app.hasOwnProperty(id)) {
app.create(id, ['task']);
}
return through.obj(function (file, enc, cb) {
app[id](file);
cb();
}, function (cb) {
app.pushToStream(id, this);
cb();
});
};
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.
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');
Rename a filepath to use as the key for caching templates.
Params
fp
{String}opts
{String}: Optionally pass options.cwd
.
Example
utils.renameKey('a/b/c/d/e/f.md', {last: 2});
utils.renameKey('a/b/c/d/e/f.md', {last: 3});
utils.renameKey('a/b/c/d/e/f.md', {last: 1, ext: false});
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');
utils.getExt(['a/b/c.hbs', 'x/y/z.hbs']);
Ensure file extensions are formatted properly for lookups.
Params
ext
{String}: File extensionreturns
{String}
Example
utils.formatExt('hbs');
utils.formatExt('.hbs');
Strip the dot from a file extension
Params
ext
{String}: extensionreturns
{String}
Example
utils.stripDot('.hbs');
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}
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}
Cast value
to an array.
Params
value
{Array|String}returns
{Array}
Example
utils.arrayify('abc');
utils.arrayify(['abc']);
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.