Inject scripts, stylesheets and more into templates and htmls, with support for namespaces
JavaScript
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
lib
test
.gitignore
.travis.yml
LICENSE
README.md
index.js
package.json

README.md

Build Status NPM version Dependency Status

gulp-multinject

Inject scripts, stylesheets and more into templates and htmls, with support for namespaces.

Install

Install with npm.

npm install --save-dev gulp-multinject

Examples

The example below will scan all the .html and .jade files and will inject the provided scripts and styles.

var gulp = require('gulp');
var gulpMultinject = require('gulp-multinject');

gulp.task('default', function () {
  gulp.src(['assets/**/*.html', 'assets/**/*.jade'])
    .pipe(gulpMultinject([
        'assets/bundle.js',
        'http://example.com/test.js',
        'assets/styles/style.css'
      ],
      'adminNamespace'
    ))
    .pipe(gulp.dest('out/'));
});

For .html files it will inject between the tags:

  <!--INJECT:adminNamespace-->
  <!--END INJECT-->

For .jade files it will inject between the tags:

  //INJECT:adminNamespace
  //END INJECT

**At the moment only .html and .jade files are supported by default, but you can override the templates using the templateMap option (or submitting a PR) **

API

gulpMultinject(injectList, namespace, options)

Create a new gulp-multinject transform stream.

Arguments

  • injectList: Array. A list of URLs or files to inject.
  • namespace: String. The namespace to use for the inject tags.
  • Options: Object|undefined. An object containing the following
    • templateMap: A map used for resolving the tag and templates to use for the injection. For an example of a template map look into the default template map
  • base : String. Defaults to "". The base directory for the injected files. It will be removed from the provided path before the injection
  • urlPrefix: String. Defaults to "/". A string to prepend to the injected file url.
  • relative: Boolean. Defaults to false. If true the injected path will be relative to the file it is injected into.
  • defaultExtension: String. Defaults to null. Sometimes if you are injecting some URLs, for example from a CDN, they don't contain an extension, in this case gulp-multinject will use this options to resolve the proper template to use for the injection.

License

MIT @ Mario Casciaro


Bitdeli Badge