Inlines 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.
Inline and compress tags that contain the inline
attribute. Supports <script>
, <link>
, and <img>
(including *.svg
sources) tags by default.
Install gulp-inline-source-html
as a development dependency
npm install --save-dev gulp-inline-source-html
Targate file src/html/index.html
<html>
<body>
<script src="../js/app.js" inline></script>
</body>
</html>
Source file src/js/app.js
function test() {
const foo = 'lorem ipsum';
return foo;
}
Output file
<html>
<body>
<script>function test(){const a="lorem ipsum";return a}</script>
</body>
</html>
inlineSource(options?: Object)
const { task, src, dest } = require('gulp')
const inlineSource = require('gulp-inline-source-html')
task('inlineSource', () => {
return src('src/*.html')
.pipe(inlineSource())
.pipe(dest('dist'))
})
or you can
import inlineSource from 'gulp-inline-source-html'
task('inlineSource', () => {
return src('src/*.html')
.pipe(inlineSource({ compress: false }))
.pipe(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.