UNPKG

laravel-elixir-base64

Version:

A small helper to inline images as base64 for Laravel Elixir

41 lines (31 loc) 1.36 kB
var elixir = require('laravel-elixir'), inline_base64 = require('gulp-inline-base64'), gulp = require("gulp"), rename = require("gulp-rename"), utilities = require('laravel-elixir/ingredients/commands/Utilities'), notifications = require('laravel-elixir/ingredients/commands/Notification'); /** * Run the base64 converted on the source file. * * @param {string|array} src * @param {string} output * @param {object|null} options */ var inlineBase64 = function(src, filename, options) { var opts = options || {}; var file_path = elixir.config.cssOutput + "/" + src; var fullBaseDir = opts.baseDir || elixir.config.assetsDir + "images/"; gulp.task("base-64-inline", function() { var compiledFile = gulp.src(file_path) .pipe(inline_base64({ baseDir: fullBaseDir, maxSize: opts.maxSize || 14 * 1024, debug: opts.debug || false })); compiledFile.pipe(rename(filename || "optimized.css")) .pipe(gulp.dest(elixir.config.cssOutput)); }); this.registerWatcher("base-64-inline", [ file_path, fullBaseDir + "**/*" ]); return this.queueTask("base-64-inline"); }; elixir.extend("inlineBase64", inlineBase64);