init-file-loader
Loader for Template, for loading files onto a custom view collection inside a vinyl plugin.
Install with npm
npm i init-file-loader --save
Usage
Register the loader
Register init-file-loader
as a custom loader:
app.loader('file', [require('init-file-loader')]);
app
is used as a placeholder for Verb, Assemble, Generate, or any application based on Template.
Use the loader
This is used in the built-in init
plugin in Assemble and Verb.
- The
.getTask()
method is used to get the name (id
) of the currently running task. - The
.create()
method uses the id
to create a custom template type for that task - The
file
loader is assigned to the template type. This basically means that the file
loader will be called on every file that is loaded.
Example usage in a plugin
var through = require('through2');
module.exports = function myPlugin() {
var app = this;
var id = this.getTask();
if (!app.hasOwnProperty(id)) {
app.create(id, ['file']);
}
return through.obj(function (file, enc, cb) {
app[id](file);
cb();
}, function (cb) {
app.pushToStream(id, this);
cb();
});
};
Related projects
- assemble: Static site generator for Grunt.js, Yeoman and Node.js. Used by Zurb Foundation, Zurb Ink, H5BP/Effeckt,… more
- middleware-utils: Utils for Template middleware.
- template: Render templates using any engine. Supports, layouts, pages, partials and custom template types. Use template… more
- template-utils: Utils for Template.
- 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
Contributing
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue
Author
Jon Schlinkert
github/jonschlinkert
twitter/jonschlinkert
License
Copyright (c) 2015 Jon Schlinkert
Released under the MIT license.
This file was generated by verb-cli on April 29, 2015.