Gulp task for converting all files found within a stylesheet (those within a url( ... ) declaration) into base64-encoded data URI strings.
Install with npm
npm install gulp-base64 --save-dev
var gulp = require('gulp');
var base64 = require('./build/gulp-base64');
//basic example
gulp.task('build', function () {
return gulp.src('./css/*.css')
.pipe(base64())
.pipe(concat('main.css'))
.pipe(gulp.dest('./public/css'));
});
...
//example with options
gulp.task('build', function () {
return gulp.src('./css/*.css')
.pipe(base64({
baseDir: 'public',
extensions: ['svg', 'png', /\.jpg#datauri$/i],
exclude: [/\.server\.(com|net)\/dynamic\//, '--live.jpg'],
maxImageSize: 8*1024, // bytes,
deleteAfterEncoding: false,
debug: true
}))
.pipe(concat('main.css'))
.pipe(gulp.dest('./public/css'));
});
-
baseDir
(String)
If you have absolute image paths in your stylesheet, the path specified in this option will be used as the base directory (relative to gulpfile). -
deleteAfterEncoding
(Boolean)
Set this to true to delete images after they've been encoded. You'll want to do this in a staging area, and not in your source directories. Be careful. -
extensions
(Array ofString
orRegExp
s)
Proccess only specified extensions.
Strings are matched against file-extension only, while RegExps are tested against the raw URL value. -
exclude
(Array ofString
orRegExp
s)
Skip files with URLs that match these patterns.
Unlike with theextensions
option Strings are sub-string matched against the whole URL value. -
maxImageSize
(Number)
Maximum filesize in bytes for changing image to base64. -
debug
(Boolean)
Enable log to console.