diff --git a/gulpfile.js b/gulpfile.js index d18af2b..eb8cd91 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -14,6 +14,7 @@ var scripts = { 'test/*.js' ], docs: 'docs/js', + site: '_gh_pages/js', src: 'src/datepicker.js', dest: 'dist' }; @@ -27,7 +28,8 @@ var styles = { ], main: 'dist/datepicker.css', docs: 'docs/css', - src: 'src/datepicker.scss', + site: '_gh_pages/css', + src: 'src/*.scss', dest: 'dist' }; var replacement = { @@ -52,49 +54,53 @@ var replacement = { }; gulp.task('jscopy', function () { - return gulp.src(scripts.src). - pipe(gulp.dest(scripts.dest)); + return gulp.src(scripts.src) + .pipe(gulp.dest(scripts.dest)); }); gulp.task('jshint', function () { - return gulp.src(scripts.all). - pipe(plugins.jshint()). - pipe(plugins.jshint.reporter('default')); + return gulp.src(scripts.all) + .pipe(plugins.jshint()) + .pipe(plugins.jshint.reporter('default')); }); gulp.task('jscs', function () { - return gulp.src(scripts.all). - pipe(plugins.jscs()). - pipe(plugins.jscs.reporter()); + return gulp.src(scripts.all) + .pipe(plugins.jscs()) + .pipe(plugins.jscs.reporter()); }); gulp.task('js', ['jshint', 'jscs'], function () { - return gulp.src(scripts.src). - pipe(plugins.replace(replacement.regexp, replacement.filter)). - pipe(gulp.dest(scripts.dest)). - pipe(plugins.rename(scripts.min)). - pipe(plugins.uglify({ + return gulp.src(scripts.src) + .pipe(plugins.replace(replacement.regexp, replacement.filter)) + .pipe(gulp.dest(scripts.dest)) + .pipe(gulp.dest(scripts.site)) + .pipe(plugins.rename(scripts.min)) + .pipe(plugins.uglify({ preserveComments: 'license' - })). - pipe(gulp.dest(scripts.dest)); + })) + .pipe(gulp.dest(scripts.dest)) + .pipe(gulp.dest(scripts.site)); }); gulp.task('sass', function () { - return gulp.src(styles.src). - pipe(plugins.sass()). - pipe(gulp.dest(styles.dest)); + return gulp.src(styles.src) + .pipe(plugins.sass({ + outputStyle: 'expanded' + })) + .pipe(gulp.dest(styles.dest)); }); gulp.task('csslint', ['sass'], function () { - return gulp.src(styles.all). - pipe(plugins.csslint('.csslintrc')). - pipe(plugins.csslint.reporter()); + return gulp.src(styles.all) + .pipe(plugins.csslint('.csslintrc')) + .pipe(plugins.csslint.reporter()); }); gulp.task('css', ['csslint'], function () { - return gulp.src(styles.main). - pipe(plugins.replace(replacement.regexp, replacement.filter)). - pipe(plugins.autoprefixer({ + return gulp.src(styles.main) + .pipe(plugins.replace(replacement.regexp, replacement.filter)) + .pipe(plugins.autoprefixer({ browsers: [ 'Android 2.3', 'Android >= 4', @@ -105,27 +111,29 @@ gulp.task('css', ['csslint'], function () { 'Opera >= 12', 'Safari >= 6' ] - })). - pipe(plugins.csscomb()). - pipe(gulp.dest(styles.dest)). - pipe(plugins.rename(styles.min)). - pipe(plugins.minifyCss({ + })) + .pipe(plugins.csscomb()) + .pipe(gulp.dest(styles.dest)) + .pipe(gulp.dest(styles.site)) + .pipe(plugins.rename(styles.min)) + .pipe(plugins.minifyCss({ compatibility: 'ie8', keepSpecialComments: 1 - })). - pipe(gulp.dest(styles.dest)); + })) + .pipe(gulp.dest(styles.dest)) + .pipe(gulp.dest(styles.site)); }); gulp.task('htmlcomb:demo', function () { - return gulp.src('demo/*.html'). - pipe(plugins.htmlcomb()). - pipe(gulp.dest('demo')); + return gulp.src('demo/*.html') + .pipe(plugins.htmlcomb()) + .pipe(gulp.dest('demo')); }); gulp.task('htmlcomb:docs', function () { - return gulp.src('docs/*.html'). - pipe(plugins.htmlcomb()). - pipe(gulp.dest('docs')); + return gulp.src('docs/*.html') + .pipe(plugins.htmlcomb()) + .pipe(gulp.dest('docs')); }); gulp.task('htmlcomb', ['htmlcomb:demo', 'htmlcomb:docs']); @@ -136,15 +144,15 @@ gulp.task('assets:js', function () { 'bower_components/jquery/dist/jquery.min.js', 'bower_components/bootstrap/dist/js/bootstrap.min.js', 'bower_components/qunit/qunit/qunit.js' - ]). - pipe(gulp.dest('assets/js')); + ]) + .pipe(gulp.dest('assets/js')); }); gulp.task('assets:fonts', function () { return gulp.src([ 'bower_components/bootstrap/fonts/*' - ]). - pipe(gulp.dest('assets/fonts')); + ]) + .pipe(gulp.dest('assets/fonts')); }); gulp.task('assets:css', ['assets:fonts'], function () { @@ -152,42 +160,38 @@ gulp.task('assets:css', ['assets:fonts'], function () { 'bower_components/bootstrap/dist/css/bootstrap.min.css', 'bower_components/fontawesome/css/font-awesome.min.css', 'bower_components/qunit/qunit/qunit.css' - ]). - pipe(gulp.dest('assets/css')); + ]) + .pipe(gulp.dest('assets/css')); }); gulp.task('assets', ['assets:js', 'assets:css']); -gulp.task('docs:js', function () { - return gulp.src(['dist/*.js', 'i18n/*.js']). - pipe(gulp.dest('_gh_pages/js')); +gulp.task('docs:i18n', function () { + return gulp.src(['i18n/*.js']) + .pipe(gulp.dest('_gh_pages/js')); }); -gulp.task('docs:css', function () { - return gulp.src('dist/*.css'). - pipe(gulp.dest('_gh_pages/css')); +gulp.task('docs:all', function () { + return gulp.src('docs/**') + .pipe(gulp.dest('_gh_pages')); }); -gulp.task('docs:html', function () { - return gulp.src('docs/**'). - pipe(gulp.dest('_gh_pages')); -}); - -gulp.task('docs', ['docs:html', 'docs:js', 'docs:css']); +gulp.task('docs', ['docs:i18n', 'docs:all']); gulp.task('test', ['js', 'css'], function () { - return gulp.src('test/*.html'). - pipe(plugins.qunit()); + return gulp.src('test/*.html') + .pipe(plugins.qunit()); }); -gulp.task('release', ['test'], function () { - return gulp.src('dist/*.{js,css}'). - pipe(gulp.dest('_releases/' + pkg.version)); +gulp.task('release', ['test', 'docs'], function () { + return gulp.src('dist/*.{js,css}') + .pipe(gulp.dest('_releases/' + pkg.version)); }); gulp.task('watch', function () { gulp.watch(scripts.src, ['jscopy']); gulp.watch(styles.src, ['sass']); + gulp.watch('docs/**', ['docs:all']); }); gulp.task('default', ['watch']);