jonnybarnes.uk/gulpfile.js

81 lines
2.7 KiB
JavaScript

var gulp = require('gulp');
var zopfli = require('gulp-zopfli');
var brotli = require('gulp-brotli');
var elixir = require('laravel-elixir');
/*
|--------------------------------------------------------------------------
| Elixir Asset Management
|--------------------------------------------------------------------------
|
| Elixir provides a clean, fluent API for defining some basic Gulp tasks
| for your Laravel application. By default, we are compiling the Sass
| file for our application, as well as publishing vendor resources.
|
*/
elixir(function(mix) {
mix.sass('global.scss', 'public/assets/css');
mix.version([
'assets/css/global.css',
'assets/css/projects.css',
'assets/css/alertify.css',
'assets/css/sanitize.min.css',
'assets/css/prism.css',
'assets/js/form-save.js',
'assets/js/links.js',
'assets/js/maps.js',
'assets/js/newplace.js',
'assets/js/newnote.js',
'assets/js/fetch.js',
'assets/js/alertify.js',
'assets/js/store2.min.js',
'assets/js/Autolinker.min.js',
'assets/js/marked.min.js',
'assets/js/prism.js',
]);
});
gulp.task('gzip-built-css', function() {
return gulp.src('public/build/assets/css/*.css')
.pipe(zopfli({ format: 'gzip', append: true }))
.pipe(gulp.dest('public/build/assets/css/'));
});
gulp.task('br-built-css', function() {
return gulp.src('public/build/assets/css/*.css')
.pipe(brotli.compress({mode: 1, quality: 11}))
.pipe(gulp.dest('public/build/assets/css/'));
});
gulp.task('gzip-built-js', function() {
return gulp.src('public/build/assets/js/*.js')
.pipe(zopfli({ format: 'gzip', append: true }))
.pipe(gulp.dest('public/build/assets/js/'));
});
gulp.task('br-built-js', function() {
return gulp.src('public/build/assets/js/*.js')
.pipe(brotli.compress({mode: 1, quality: 11}))
.pipe(gulp.dest('public/build/assets/js/'));
});
gulp.task('bower', function() {
//copy JS files
gulp.src([
'bower_components/fetch/fetch.js',
'bower_components/alertify.js/dist/js/alertify.js',
'bower_components/store2/dist/store2.min.js',
'bower_components/Autolinker.js/dist/Autolinker.min.js',
'bower_components/marked/marked.min.js',
])
.pipe(gulp.dest('public/assets/js/'));
//copy CSS files
gulp.src([
'bower_components/alertify.js/dist/css/alertify.css',
'bower_components/sanitize-css/dist/sanitize.min.css',
])
.pipe(gulp.dest('public/assets/css/'));
});
gulp.task('compress', ['gzip-built-css', 'br-built-css', 'gzip-built-js', 'br-built-js']);