0.1.1 • Published 9 years ago

init-file-loader v0.1.1

Weekly downloads
47
License
MIT
Repository
github
Last release
9 years ago

init-file-loader NPM version

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();

  // create a template type for vinyl files and assign the loader
  if (!app.hasOwnProperty(id)) {
    // `id` is something like `task_foo`
    app.create(id, ['file']);
  }

  return through.obj(function (file, enc, cb) {

    // Here, we call the method we created above, which would 
    // be something like `app.task_foo()`. This is the same exact 
    // thing that `assemble.page()` does, or `verb.docs()`.
    // 
    // Instead of `pages` or `docs`, the loader we're using will 
    // convert the vinyl file to a template and add it to the 
    // `task_foo` collection.
    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.