0.1.0 • Published 12 years ago
gulp-multinject v0.1.0
gulp-multinject
Inject scripts, stylesheets and more into templates and htmls, with support for namespaces.
Install
Install with npm.
npm install --save-dev gulp-multinjectExamples
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 INJECTAt 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 followingtemplateMap: 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 injectionurlPrefix:String. Defaults to"/". A string to prepend to the injected file url.relative:Boolean. Defaults tofalse. If true the injected path will be relative to the file it is injected into.defaultExtension:String. Defaults tonull. 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
0.1.0
12 years ago



