Skip to content

Instantly share code, notes, and snippets.

@CodeStalker
Last active August 29, 2015 14:14
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save CodeStalker/9661725dcaf105d2ed6c to your computer and use it in GitHub Desktop.
Save CodeStalker/9661725dcaf105d2ed6c to your computer and use it in GitHub Desktop.
A gist running order problem
var dest = './httpdocs';
var src = './src';
var prefix = '/assets/';
var erase = './httpdocs';
// make the webroot of your test domain match the 'dest' var above
var vm = 'http://server.dev';
// Don't use a trailing slash here!
var vmpath = '/path/to/vagrant';
module.exports = {
sass: {
src: src + prefix + "sass/**/*.scss",
dest: dest + prefix + "/css/",
temp: src + prefix + "/css/"
},
images: {
src: src + prefix + "images/**/*",
dest: dest + prefix + "images"
},
html: {
src: src + "/*.html",
dest: dest
},
// Don't use a trailing slash on paths to scripts here!
scripts: {
src: src + prefix + "js",
dest: dest + prefix + "js",
watch: src + prefix + "js/**/*.js"
},
fonts: {
src: src + prefix + "fonts/*.{ttf,woff,eot,svg,html}",
dest: dest + prefix + "fonts/"
},
clean: {
nuke: dest,
erase: dest + prefix
},
rsync: {
src: dest + prefix,
dest: vmpath + prefix
},
browserSyncVM: {
proxy: vm,
notify: false
//files: [dest + "/**/*.css", dest + "fonts/**/*.{ttf,woff,eot,svg}", dest + "/**/*.js"]
},
};
var gulp = require('gulp'),
sass = require('gulp-sass'),
minifyCSS = require('gulp-minify-css'),
notify = require("gulp-notify"),
plumber = require('gulp-plumber'),
csso = require('gulp-csso'),
size = require('gulp-size'),
config = require('../config').sass;
// Get plumber to beep on error
var onError = function(err) {
gutil.beep();
console.log(err);
};
// Parse Sass files
gulp.task('sass', function() {
gulp.src(config.src)
.pipe(sass({
errLogToConsole: true,
sourceComments: 'map',
sourceMap: 'sass'
}))
.pipe(plumber(onError))
.pipe(gulp.dest(config.dest))
.pipe(notify(
{
message: "SASS Done!",
onLast: true
}
));
});
// Minify Sass files
gulp.task('minify-sass', function() {
gulp.src(config.src)
.pipe(sass())
.pipe(size())
.pipe(plumber(onError))
.pipe(gulp.dest(config.temp))
.pipe(csso())
.pipe(minifyCSS({
keepBreaks: false
}))
.pipe(size())
.pipe(plumber(onError))
.pipe(gulp.dest(config.dest))
.pipe(notify(
{
message: "SASS Minify Done!",
onLast: true
}
));
});
var gulp = require('gulp'),
rsync = require('gulp-rsync'),
config = require('../config');
gulp.task('rsync-css', function(cb) {
return gulp.src(config.sass.dest + '/*.css')
.pipe(rsync({
root: 'httpdocs/assets/css',
destination: 'assets/css'
})).on('finish', function() {
console.log('finished');
cb();
});
});
gulp.task('rsync-scripts', function() {
gulp.src(config.scripts.dest + '/*.js')
.pipe(rsync({
root: 'httpdocs/assets/js',
destination: 'assets/js'
}));
});
gulp.task('rsync-images', function() {
gulp.src(config.images.dest + '/**/*.*')
.pipe(rsync({
root: 'httpdocs/assets/images',
destination: 'assets/images'
}));
});
gulp.task('rsync-fonts', function() {
gulp.src(config.fonts.dest)
.pipe(rsync({
root: 'httpdocs/assets/fonts',
destination: 'assets/fonts'
}));
});
var gulp = require('gulp'),
browserSync = require('browser-sync'),
watch = require('gulp-watch'),
config = require('../config'),
reload = browserSync.reload;
gulp.task('vm', function() {
browserSync(config.browserSyncVM);
watch(config.sass, function() {
gulp.start('scripts',['rsync-scripts']);
});
watch(config.scripts.watch, function() {
gulp.start('scripts',['rsync-scripts']);
});
watch(config.fonts.src, function() {
gulp.start('fonts',['rsync-fonts']);
});
watch(config.images.src, function() {
gulp.start('images',['rsync-images']);
});
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment