diff --git a/gulp/build.coffee b/gulp/build.coffee new file mode 100644 index 00000000..ea5f1e58 --- /dev/null +++ b/gulp/build.coffee @@ -0,0 +1 @@ +gulp.task 'build', ['clean', 'styles', 'scripts', 'fonts'] diff --git a/gulp/build.js b/gulp/build.js deleted file mode 100644 index 620fb913..00000000 --- a/gulp/build.js +++ /dev/null @@ -1 +0,0 @@ -gulp.task('build', ['clean', 'styles', 'scripts', 'fonts']); diff --git a/gulp/clean.coffee b/gulp/clean.coffee new file mode 100644 index 00000000..ced17c48 --- /dev/null +++ b/gulp/clean.coffee @@ -0,0 +1,7 @@ +del = require 'del' + +gulp.task 'clean', -> + del.sync config.fonts.outputDir + del.sync config.js.outputDir + del.sync config.sass.outputDir + del.sync 'output_*/assets/{css,fonts,js}' diff --git a/gulp/clean.js b/gulp/clean.js deleted file mode 100644 index 864a53e6..00000000 --- a/gulp/clean.js +++ /dev/null @@ -1,8 +0,0 @@ -var del = require('del'); - -gulp.task('clean', function () { - del.sync(config.fonts.outputDir); - del.sync(config.js.outputDir); - del.sync(config.sass.outputDir); - del.sync('output_*/assets/{css,fonts,js}'); -}); diff --git a/gulp/default.coffee b/gulp/default.coffee new file mode 100644 index 00000000..8279d877 --- /dev/null +++ b/gulp/default.coffee @@ -0,0 +1 @@ +gulp.task 'default', ['build', 'watch'] diff --git a/gulp/default.js b/gulp/default.js deleted file mode 100644 index 2838ee7b..00000000 --- a/gulp/default.js +++ /dev/null @@ -1 +0,0 @@ -gulp.task('default', ['build', 'watch']); diff --git a/gulp/fonts.coffee b/gulp/fonts.coffee new file mode 100644 index 00000000..323b95b1 --- /dev/null +++ b/gulp/fonts.coffee @@ -0,0 +1,2 @@ +gulp.task 'fonts', -> + app.copy [config.bowerDir + '/font-awesome/fonts/*'], config.fonts.outputDir diff --git a/gulp/fonts.js b/gulp/fonts.js deleted file mode 100644 index 1324bb7a..00000000 --- a/gulp/fonts.js +++ /dev/null @@ -1,6 +0,0 @@ -gulp.task('fonts', function () { - app.copy( - config.bowerDir + '/font-awesome/fonts/*', - config.fonts.outputDir - ); -}); diff --git a/gulp/minify-prod-html.js b/gulp/minify-prod-html.js deleted file mode 100644 index 00f427f5..00000000 --- a/gulp/minify-prod-html.js +++ /dev/null @@ -1,5 +0,0 @@ -gulp.task('minify-prod-html', function () { - gulp.src('output_prod/**/*.html') - .pipe(plugins.htmlmin(config.htmlmin)) - .pipe(gulp.dest('output_prod')); -}); diff --git a/gulp/scripts.js b/gulp/scripts.coffee similarity index 55% rename from gulp/scripts.js rename to gulp/scripts.coffee index b141bafc..4aa47b62 100644 --- a/gulp/scripts.js +++ b/gulp/scripts.coffee @@ -1,7 +1,6 @@ -gulp.task('scripts', function () { - app.js([ +gulp.task 'scripts', -> + app.js [ config.bowerDir + '/jquery/dist/jquery.js', config.bowerDir + '/bootstrap-sass/assets/javascripts/bootstrap.js', - config.js.pattern - ], 'site.js'); -}); + config.js.sourceDir + config.js.pattern + ], 'site.js' diff --git a/gulp/styles.coffee b/gulp/styles.coffee new file mode 100644 index 00000000..f1386258 --- /dev/null +++ b/gulp/styles.coffee @@ -0,0 +1,5 @@ +gulp.task 'styles', -> + app.sass [ + config.bowerDir + '/font-awesome/css/font-awesome.css', + config.sass.sourceDir + config.sass.pattern + ], 'site.css' diff --git a/gulp/styles.js b/gulp/styles.js deleted file mode 100644 index e51e5454..00000000 --- a/gulp/styles.js +++ /dev/null @@ -1,6 +0,0 @@ -gulp.task('styles', function () { - app.sass([ - config.bowerDir + '/font-awesome/css/font-awesome.css', - config.sass.sourceDir + '/site.sass' - ], 'site.css'); -}); diff --git a/gulp/watch.coffee b/gulp/watch.coffee new file mode 100644 index 00000000..78be4228 --- /dev/null +++ b/gulp/watch.coffee @@ -0,0 +1,5 @@ +gulp.task 'watch', -> + plugins.refresh.listen() + + gulp.watch config.sass.sourceDir + config.sass.pattern, ['styles'] + gulp.watch config.js.sourceDir + config.sass.pattern, ['scripts'] diff --git a/gulp/watch.js b/gulp/watch.js deleted file mode 100644 index 232e7448..00000000 --- a/gulp/watch.js +++ /dev/null @@ -1,8 +0,0 @@ -gulp.task('watch', function () { - plugins.refresh.listen(); - - gulp.watch(config.sass.sourceDir + config.sass.pattern, ['styles']); - gulp.watch(config.sass.sourceDir + config.scss.pattern, ['styles']); - - gulp.watch(config.js.sourceDir + config.js.pattern, ['scripts']); -}); diff --git a/gulpfile.coffee b/gulpfile.coffee new file mode 100644 index 00000000..3a056805 --- /dev/null +++ b/gulpfile.coffee @@ -0,0 +1,54 @@ +'use strict' + +global.gulp = require 'gulp' +global.plugins = require('gulp-load-plugins')() + +global.config = + autoprefixer: + browsers: 'last 2 versions' + bowerDir: 'vendor/bower', + fonts: + outputDir: 'source/assets/fonts' + htmlmin: + collapseWhitespace: true + js: + sourceDir: 'assets/js', + pattern: '/js/**/*.js', + outputDir: 'source/assets/js' + production: plugins.util.env.production || false + sass: + sourceDir: 'assets/sass', + pattern: '/**/*.sass', + outputDir: 'source/assets/css' + scss: + pattern: '/**/*.scss' + +global.app = {} + +app.sass = (paths, filename) -> + gulp.src paths + .pipe plugins.plumber() + .pipe plugins.if !config.production, plugins.sourcemaps.init() + .pipe plugins.sassGlob() + .pipe plugins.sass() + .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, plugins.refresh() + .pipe gulp.dest config.sass.outputDir + +app.js = (paths, filename) -> + gulp.src paths + .pipe plugins.plumber() + .pipe plugins.if !config.production, plugins.sourcemaps.init() + .pipe plugins.concat filename + .pipe plugins.if config.production, plugins.uglify() + .pipe plugins.if !config.production, plugins.sourcemaps.write('.') + .pipe gulp.dest config.js.outputDir + +app.copy = (source, destination) -> + gulp.src source + .pipe gulp.dest destination + +require('require-dir')('./gulp') diff --git a/gulpfile.js b/gulpfile.js deleted file mode 100644 index a6dc5261..00000000 --- a/gulpfile.js +++ /dev/null @@ -1,64 +0,0 @@ -'use strict'; - -global.gulp = require('gulp'); -global.plugins = require('gulp-load-plugins')(); - -global.config = { - autoprefixer: { - browsers: 'last 2 versions' - }, - bowerDir: 'vendor/bower', - fonts: { - outputDir: 'source/assets/fonts' - }, - htmlmin: { - collapseWhitespace: true - }, - js: { - sourceDir: 'assets/js', - pattern: '/js/**/*.js', - outputDir: 'source/assets/js' - }, - production: plugins.util.env.production || false, - sass: { - sourceDir: 'assets/sass', - pattern: '/**/*.sass', - outputDir: 'source/assets/css' - }, - scss: { - pattern: '/**/*.scss' - } -} - -global.app = {}; - -app.sass = function (paths, filename) { - gulp.src(paths) - .pipe(plugins.plumber()) - .pipe(plugins.if(!config.production, plugins.sourcemaps.init())) - .pipe(plugins.sassGlob()) - .pipe(plugins.sass()) - .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, plugins.refresh())) - .pipe(gulp.dest(config.sass.outputDir)); -}; - -app.js = function (paths, filename) { - gulp.src(paths) - .pipe(plugins.plumber()) - .pipe(plugins.if(!config.production, plugins.sourcemaps.init())) - .pipe(plugins.concat(filename)) - .pipe(plugins.if(config.production, plugins.uglify())) - .pipe(plugins.if(!config.production, plugins.sourcemaps.write('.'))) - .pipe(gulp.dest(config.js.outputDir)); -}; - -app.copy = function (source, destination) { - gulp.src(source) - .pipe(gulp.dest(destination)); -}; - -require('require-dir')('./gulp');