@exuanbo/gulp-inline-source
A Gulp.js plugin for inlining flagged js, css, and img sources in html with inline-source
This plugin is based on fmal/gulp-inline-source, which is no longer maintained. It now supports Gulp.js v4 and ES6 / ES2015.
Table of Contents
Description
Inline and compress tags that contain the inline
attribute. Supports <script>
, <link>
, and <img>
(including *.svg
sources) tags by default.
Installation
Install @exuanbo/gulp-inline-source
as a development dependency
npm install --save-dev @exuanbo/gulp-inline-source
How it works
Targate file src/html/index.html
<html>
<head>
<script src="../js/inlineScript.js" inline></script>
</head>
<body>
</body>
</html>
Source file src/js/inlineScript.js
function test() {
const foo = 'lorem ipsum';
return foo;
}
Output file
<html>
<head>
<script>function test(){const a="lorem ipsum";return a}</script>
</head>
<body>
</body>
</html>
Usage
inlineSource(options?: Object)
const gulp = require('gulp')
const inlineSource = require('@exuanbo/gulp-inline-source')
gulp.task('inlineSource', () => {
return gulp.src('src/*.html')
.pipe(inlineSource())
.pipe(gulp.dest('dist'))
})
const gulp = require('gulp')
const inlineSource = require('@exuanbo/gulp-inline-source')
gulp.task('inlineSource', () => {
const options = {
compress: false
}
return gulp.src('src/*.html')
.pipe(inlineSource(options))
.pipe(gulp.dest('dist'))
})
Available options
include:
-
attribute
: attribute used to parse sources (all tags will be parsed if set tofalse
. Default'inline'
) -
compress
: enable/disable compression of inlined content (defaulttrue
) -
fs
: specifyfs
implementation (default is Node core'fs'
) -
handlers
: specify custom handlers (default[]
) [see custom handlers] -
preHandlers
: specify custom pre handlers (default[]
) [see custom pre handlers] -
ignore
: disable inlining based ontag
,type
, and/orformat
(default[]
) -
pretty
: maintain leading whitespace whenoptions.compress
isfalse
(defaultfalse
) -
rootpath
: directory path used for resolving inlineable paths (defaultprocess.cwd()
) -
saveRemote
: enable/disable saving a local copy of remote sources (defaulttrue
) -
svgAsImage
: convert<img inline src="*.svg" />
to<img>
and not<svg>
(defaultfalse
) -
swallowErrors
: enable/disable suppression of errors (defaultfalse
)
For documentation about the options-object, see popeindustries/inline-source.