JSPM

init-file-loader

0.1.1
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 60
  • Score
    100M100P100Q67507F
  • License

Loader for Template, for loading files onto a custom view collection inside a vinyl plugin.

Package Exports

  • init-file-loader

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (init-file-loader) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

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();
  });
};
  • 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.