-
-
Save sergixnet/4f3bcc3220d5df448d25 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Load plugins | |
var gulp = require('gulp'), | |
plugins = require('gulp-load-plugins')({ camelize: true }), | |
lr = require('tiny-lr'), | |
server = lr(); | |
// Php files | |
gulp.task('php', function() { | |
return gulp.src('./**/*.php') | |
.pipe(plugins.livereload(server)); | |
}); | |
// Styles | |
gulp.task('styles', function() { | |
return gulp.src('assets/styles/source/*.scss') | |
.pipe(plugins.sass({ style: 'expanded' })) | |
.pipe(plugins.autoprefixer('last 2 versions', 'ie 9', 'ios 6', 'android 4')) | |
.pipe(gulp.dest('assets/styles/build')) | |
.pipe(plugins.minifyCss({ keepSpecialComments: 1 })) | |
.pipe(plugins.livereload(server)) | |
.pipe(gulp.dest('./')) | |
.pipe(plugins.notify({ message: 'Styles task complete' })); | |
}); | |
// Vendor Plugin Scripts | |
// gulp.task('plugins', function() { | |
// return gulp.src(['assets/js/source/plugins.js', 'assets/js/vendor/*.js']) | |
// .pipe(plugins.concat('plugins.js')) | |
// .pipe(gulp.dest('assets/js/build')) | |
// .pipe(plugins.rename({ suffix: '.min' })) | |
// .pipe(plugins.uglify()) | |
// .pipe(plugins.livereload(server)) | |
// .pipe(gulp.dest('assets/js')) | |
// .pipe(plugins.notify({ message: 'Scripts task complete' })); | |
// }); | |
// Site Scripts | |
// gulp.task('scripts', function() { | |
// return gulp.src(['assets/js/source/*.js', '!assets/js/source/plugins.js']) | |
// .pipe(plugins.jshint('.jshintrc')) | |
// .pipe(plugins.jshint.reporter('default')) | |
// .pipe(plugins.concat('main.js')) | |
// .pipe(gulp.dest('assets/js/build')) | |
// .pipe(plugins.rename({ suffix: '.min' })) | |
// .pipe(plugins.uglify()) | |
// .pipe(plugins.livereload(server)) | |
// .pipe(gulp.dest('assets/js')) | |
// .pipe(plugins.notify({ message: 'Scripts task complete' })); | |
// }); | |
// Images | |
gulp.task('images', function() { | |
return gulp.src('assets/images/**/*') | |
.pipe(plugins.cache(plugins.imagemin({ optimizationLevel: 7, progressive: true, interlaced: true }))) | |
.pipe(plugins.livereload(server)) | |
.pipe(gulp.dest('assets/images')) | |
.pipe(plugins.notify({ message: 'Images task complete' })); | |
}); | |
// Watch | |
gulp.task('watch', function() { | |
// Listen on port 35729 | |
server.listen(35729, function (err) { | |
if (err) { | |
return console.log(err) | |
}; | |
// Watch .scss files | |
gulp.watch('assets/styles/source/**/*.scss', ['styles']); | |
// Watch .js files | |
// gulp.watch('assets/js/**/*.js', ['plugins', 'scripts']); | |
// Watch image files | |
gulp.watch('assets/images/**/*', ['images']); | |
// Watch php files | |
gulp.watch('./**/*.php', ['php']); | |
}); | |
}); | |
// Default task | |
gulp.task('default', ['styles', 'images', 'watch']); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var http = require('http'); | |
var gulp = require('gulp'); | |
var browserify = require('gulp-browserify'); | |
var concat = require('gulp-concat'); | |
var less = require('gulp-less'); | |
var refresh = require('gulp-livereload'); | |
var lr = require('tiny-lr'); | |
var lrserver = lr(); | |
var minifyCSS = require('gulp-minify-css'); | |
var embedlr = require('gulp-embedlr'); | |
var ecstatic = require('ecstatic'); | |
var imagemin = require('gulp-imagemin'); | |
var livereloadport = 35729, | |
serverport = 5001; | |
gulp.task('scripts', function() { | |
return gulp.src(['app/src/**/*.js']) | |
.pipe(browserify()) | |
.pipe(concat('dest.js')) | |
.pipe(gulp.dest('dist/build')) | |
.pipe(refresh(lrserver)); | |
}); | |
gulp.task('styles', function() { | |
return gulp.src(['app/css/style.less']) | |
.pipe(less()) | |
.on('error', console.log) | |
.pipe(minifyCSS()) | |
.pipe(gulp.dest('dist/build')) | |
.pipe(refresh(lrserver)); | |
}); | |
gulp.task('serve', function() { | |
//Set up your static fileserver, which serves files in the build dir | |
http.createServer(ecstatic({ root: __dirname + '/dist' })).listen(serverport); | |
//Set up your livereload server | |
lrserver.listen(livereloadport); | |
}); | |
gulp.task('html', function() { | |
return gulp.src("app/*.html") | |
.pipe(embedlr()) | |
.pipe(gulp.dest('dist/')) | |
.pipe(refresh(lrserver)); | |
}) | |
gulp.task('assets', function() { | |
return gulp.src("app/assets/**") | |
.pipe(imagemin({optimizationLevel: 5})) | |
.pipe(gulp.dest('dist/assets/')) | |
.pipe(refresh(lrserver)); | |
}); | |
// Requires gulp >=v3.5.0 | |
gulp.task('watch', function () { | |
gulp.watch('app/src/**', ['scripts']); | |
gulp.watch('app/css/**', ['styles']); | |
gulp.watch('app/**/*.html', ['html']); | |
gulp.watch('app/assets/**', ['assets']); | |
}); | |
gulp.task('default', ['scripts', 'styles', 'html', 'assets', 'serve', 'watch']); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment