diff --git a/gulp/fonts.js b/gulp/fonts.js index b5db2bc8..4ea3bc05 100644 --- a/gulp/fonts.js +++ b/gulp/fonts.js @@ -1,6 +1,6 @@ gulp.task('fonts', function () { app.copy( config.bowerDir + '/font-awesome/fonts/*', - config.outputDir + '/fonts' + config.fonts.output ); }); diff --git a/gulp/minify-prod-html.js b/gulp/minify-prod-html.js index 31d741a2..8d3cdb1f 100644 --- a/gulp/minify-prod-html.js +++ b/gulp/minify-prod-html.js @@ -1,5 +1,5 @@ gulp.task('minify-prod-html', function () { gulp.src('output_prod/**/*.html') - .pipe(plugins.htmlmin({ collapseWhitespace: true })) + .pipe(plugins.htmlmin(config.htmlminp)) .pipe(gulp.dest('output_prod')); }); diff --git a/gulp/scripts.js b/gulp/scripts.js index d22ddb9c..503b39ac 100644 --- a/gulp/scripts.js +++ b/gulp/scripts.js @@ -3,7 +3,7 @@ gulp.task('scripts', function () { [ config.bowerDir + '/jquery/dist/jquery.js', config.bowerDir + '/bootstrap-sass/assets/javascripts/bootstrap.js', - config.assetsDir + '/' + config.jsPattern + config.js.search ], 'site.js' ); diff --git a/gulp/styles.js b/gulp/styles.js index 69c25d48..47bb86ac 100644 --- a/gulp/styles.js +++ b/gulp/styles.js @@ -1,6 +1,6 @@ gulp.task('styles', function () { app.css([ config.bowerDir + '/font-awesome/css/font-awesome.css', - config.assetsDir + '/sass/site.sass' + config.sass.source + '/site.sass' ], 'site.css'); }); diff --git a/gulp/watch.js b/gulp/watch.js index 73a7fb35..00ac5f9c 100644 --- a/gulp/watch.js +++ b/gulp/watch.js @@ -1,6 +1,7 @@ gulp.task('watch', function () { plugins.refresh.listen(); - gulp.watch(config.assetsDir + '/' + config.sassPattern, ['styles']); - gulp.watch(config.assetsDir + '/' + config.jsPattern, ['scripts']); + gulp.watch(config.sass.source + config.sass.search, ['styles']); + gulp.watch(config.sass.source + config.scss.search, ['styles']); + gulp.watch(config.js.source + config.js.search, ['scripts']); }); diff --git a/gulpfile.js b/gulpfile.js index 8b02cb10..77ed7051 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -4,12 +4,30 @@ global.gulp = require('gulp'); global.plugins = require('gulp-load-plugins')(); global.config = { - assetsDir: 'assets', + autoprefixer: { + browsers: 'last 2 versions' + }, bowerDir: 'vendor/bower', - jsPattern: 'js/**/*.js', - outputDir: 'source/assets', + fonts: { + output: 'source/assets/fonts' + }, + htmlmin: { + collapseWhitespace: true + }, + js: { + source: 'assets/js', + search: '/js/**/*.js', + output: 'source/assets/js' + }, production: plugins.util.env.production || false, - sassPattern: 'sass/**/*.sass', + sass: { + source: 'assets/sass', + search: '/**/*.sass', + output: 'source/assets/css' + }, + scss: { + search: '/**/*.scss' + } } global.app = {}; @@ -20,13 +38,12 @@ app.css = function (paths, filename) { .pipe(plugins.if(!config.production, plugins.sourcemaps.init())) .pipe(plugins.sassGlob()) .pipe(plugins.sass()) - .pipe(plugins.autoprefixer({ browsers: 'last 2 versions' })) + .pipe(plugins.autoprefixer(config.autoprefixer)) .pipe(plugins.concat(filename)) .pipe(plugins.if(config.production, plugins.cleanCss())) .pipe(plugins.if(!config.production, plugins.sourcemaps.write('.'))) - .pipe(plugins.if(!config.production, gulp.dest(config.outputDir + '/css'))) .pipe(plugins.if(!config.production, plugins.refresh())) - .pipe(gulp.dest(config.outputDir + '/css')); + .pipe(gulp.dest(config.sass.output)); }; app.js = function (paths, filename) { @@ -36,7 +53,7 @@ app.js = function (paths, filename) { .pipe(plugins.concat(filename)) .pipe(plugins.if(config.production, plugins.uglify())) .pipe(plugins.if(!config.production, plugins.sourcemaps.write('.'))) - .pipe(gulp.dest(config.outputDir + '/js')); + .pipe(gulp.dest(config.js.output)); }; app.copy = function (source, destination) {