From 5f684c5f4bc909701137aa602bc45199ec191e64 Mon Sep 17 00:00:00 2001 From: Brittany Chiang Date: Wed, 15 Mar 2017 13:38:19 -0400 Subject: [PATCH] build working, need to separate browsersync --- _config.yml | 1 + build/fonts.js | 16 ++++----- build/images.js | 20 +++++------ build/sass.js | 36 +++++++++---------- build/scripts.js | 34 +++++++++--------- gulpfile.js | 91 +++++++++++++++++++++++++----------------------- 6 files changed, 101 insertions(+), 97 deletions(-) diff --git a/_config.yml b/_config.yml index 9c5db84..693b554 100644 --- a/_config.yml +++ b/_config.yml @@ -31,6 +31,7 @@ exclude: - "*.gemspec" - "README.md" - "node_modules" + - "build" - "gulpfile.js" - "package.json" diff --git a/build/fonts.js b/build/fonts.js index 28ff162..de612ba 100644 --- a/build/fonts.js +++ b/build/fonts.js @@ -1,11 +1,11 @@ -// const fontsPath = 'fonts/**/*'; -// const destPath = '_site/fonts'; +const fontsPath = 'fonts/**/*'; +const destPath = '_site/fonts'; -// module.exports = gulp => { +module.exports = gulp => { -// gulp.task('fonts', () => { -// return gulp.src( fontsPath ) -// .pipe(gulp.dest( destPath )); -// }); + gulp.task('fonts', () => { + return gulp.src( fontsPath ) + .pipe(gulp.dest( destPath )); + }); -// } +} diff --git a/build/images.js b/build/images.js index f4204e5..4abdd80 100644 --- a/build/images.js +++ b/build/images.js @@ -1,14 +1,14 @@ -// const imagemin = require('gulp-imagemin'); +const imagemin = require('gulp-imagemin'); -// const imgPath = 'img/**/*.+(png|jpg|gif|svg)'; -// const destPath = '_site/img'; +const imgPath = 'img/**/*.+(png|jpg|gif|svg)'; +const destPath = '_site/img'; -// module.exports = gulp => { +module.exports = gulp => { -// gulp.task('images', () => { -// return gulp.src( imgPath ) -// .pipe(imagemin()) -// .pipe(gulp.dest( destPath )); -// }); + gulp.task('images', () => { + return gulp.src( imgPath ) + .pipe(imagemin()) + .pipe(gulp.dest( destPath )); + }); -// } +} diff --git a/build/sass.js b/build/sass.js index 49632eb..fbc5e24 100644 --- a/build/sass.js +++ b/build/sass.js @@ -1,21 +1,21 @@ -// const sass = require('gulp-sass'); -// const prefix = require('gulp-autoprefixer'); -// const cleanCSS = require('gulp-clean-css'); +const sass = require('gulp-sass'); +const prefix = require('gulp-autoprefixer'); +const cleanCSS = require('gulp-clean-css'); -// const scssPath = '_scss/*.scss'; -// const destPath = '_site/css'; +const scssPath = '_scss/*.scss'; +const destPath = '_site/css'; -// module.exports = gulp => { +module.exports = gulp => { -// gulp.task('sass', () => { -// return gulp.src( scssPath ) -// .pipe(sass({ -// includePaths: ['scss'], -// outputStyle: 'expanded' -// })) -// .pipe(prefix(['last 15 versions', '> 1%', 'ie 8', 'ie 7'], {cascade: true})) -// .pipe(cleanCSS({compatibility: 'ie8'})) -// .pipe(gulp.dest( destPath )) -// .pipe(gulp.dest('css')); -// }); -// } \ No newline at end of file + gulp.task('sass', () => { + return gulp.src( scssPath ) + .pipe(sass({ + includePaths: ['scss'], + outputStyle: 'expanded' + })) + .pipe(prefix(['last 15 versions', '> 1%', 'ie 8', 'ie 7'], {cascade: true})) + .pipe(cleanCSS({compatibility: 'ie8'})) + .pipe(gulp.dest( destPath )) + .pipe(gulp.dest('css')); + }); +} \ No newline at end of file diff --git a/build/scripts.js b/build/scripts.js index ed545f3..3d0bbdc 100644 --- a/build/scripts.js +++ b/build/scripts.js @@ -1,21 +1,21 @@ -// const jshint = require('gulp-jshint'); -// const babel = require('gulp-babel'); -// const uglify = require('gulp-uglify'); +const jshint = require('gulp-jshint'); +const babel = require('gulp-babel'); +const uglify = require('gulp-uglify'); -// const jsPath = '_scripts/*.js'; -// const destPath = '_site/js'; +const jsPath = '_scripts/*.js'; +const destPath = '_site/js'; -// module.exports = gulp => { +module.exports = gulp => { -// gulp.task('scripts', () => { -// return gulp.src( jsPath ) -// .pipe(jshint()) -// .pipe(babel({ -// presets: ['es2015'] -// })) -// .pipe(uglify()) -// .pipe(gulp.dest( destPath )) -// .pipe(gulp.dest( 'js' )); -// }); + gulp.task('scripts', () => { + return gulp.src( jsPath ) + .pipe(jshint()) + .pipe(babel({ + presets: ['es2015'] + })) + .pipe(uglify()) + .pipe(gulp.dest( destPath )) + .pipe(gulp.dest( 'js' )); + }); -// } +} diff --git a/gulpfile.js b/gulpfile.js index 628c018..ee60669 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -3,19 +3,19 @@ const gulp = require('gulp'); const browserSync = require('browser-sync'); const cp = require('child_process'); -const sass = require('gulp-sass'); -const prefix = require('gulp-autoprefixer'); -const cleanCSS = require('gulp-clean-css'); -const jshint = require('gulp-jshint'); -const babel = require('gulp-babel'); -const uglify = require('gulp-uglify'); -const imagemin = require('gulp-imagemin'); +// const sass = require('gulp-sass'); +// const prefix = require('gulp-autoprefixer'); +// const cleanCSS = require('gulp-clean-css'); +// const jshint = require('gulp-jshint'); +// const babel = require('gulp-babel'); +// const uglify = require('gulp-uglify'); +// const imagemin = require('gulp-imagemin'); +const sass = require('./build/sass'); +const scripts = require('./build/scripts'); +const images = require('./build/images'); +const fonts = require('./build/fonts'); // const sync = require('./build/browsersync'); -// const sass = require('./build/sass'); -// const scripts = require('./build/scripts'); -// const images = require('./build/images'); -// const fonts = require('./build/fonts'); const jekyll = process.platform === 'win32' ? 'jekyll.bat' : 'jekyll'; @@ -31,7 +31,7 @@ gulp.task('jekyll-rebuild', ['jekyll-build'], () => { }); // Wait for jekyll-build task to complete, then launch the Server -gulp.task('browser-sync', ['styles', 'scripts', 'jekyll-build'], () => { +gulp.task('browser-sync', ['sass', 'scripts', 'jekyll-build'], () => { browserSync({ server: { baseDir: '_site' @@ -44,46 +44,49 @@ const jsPath = ['_scripts/*.js']; const templatePath = ['index.html', '404.html', '_layouts/*.html', '_includes/*.html', '_data/*.yml', '_posts/*', '_drafts/*', '**/*.html']; gulp.task('watch', () => { - gulp.watch(scssPath, ['styles', 'jekyll-rebuild']); + gulp.watch(scssPath, ['sass', 'jekyll-rebuild']); gulp.watch(jsPath, ['scripts', 'jekyll-rebuild']); gulp.watch(templatePath, ['jekyll-rebuild']); }); -gulp.task('styles', () => { - return gulp.src('_scss/*.scss') - .pipe(sass({ - includePaths: ['scss'], - onError: browserSync.notify - })) - .pipe(prefix(['last 15 versions', '> 1%', 'ie 8', 'ie 7'], {cascade: true})) - .pipe(cleanCSS({compatibility: 'ie8'})) - .pipe(gulp.dest('_site/css')) - .pipe(gulp.dest('css')); -}); +// gulp.task('styles', () => { +// return gulp.src('_scss/*.scss') +// .pipe(sass({ +// includePaths: ['scss'], +// onError: browserSync.notify +// })) +// .pipe(prefix(['last 15 versions', '> 1%', 'ie 8', 'ie 7'], {cascade: true})) +// .pipe(cleanCSS({compatibility: 'ie8'})) +// .pipe(gulp.dest('_site/css')) +// .pipe(gulp.dest('css')); +// }); -gulp.task('scripts', () => { - return gulp.src('_scripts/*.js') - .pipe(jshint()) - .pipe(babel({ - presets: ['es2015'] - })) - .pipe(uglify()) - .pipe(gulp.dest('_site/js')) - .pipe(gulp.dest('js')); -}); +// gulp.task('scripts', () => { +// return gulp.src('_scripts/*.js') +// .pipe(jshint()) +// .pipe(babel({ +// presets: ['es2015'] +// })) +// .pipe(uglify()) +// .pipe(gulp.dest('_site/js')) +// .pipe(gulp.dest('js')); +// }); -gulp.task('images', () => { - return gulp.src('img/**/*.+(png|jpg|gif|svg)') - .pipe(imagemin()) - .pipe(gulp.dest('_site/img')); -}); +// gulp.task('images', () => { +// return gulp.src('img/**/*.+(png|jpg|gif|svg)') +// .pipe(imagemin()) +// .pipe(gulp.dest('_site/img')); +// }); -gulp.task('fonts', () => { - return gulp.src('fonts/**/*') - .pipe(gulp.dest('_site/fonts')); -}); +// gulp.task('fonts', () => { +// return gulp.src('fonts/**/*') +// .pipe(gulp.dest('_site/fonts')); +// }); +[ sass, scripts, images, fonts ].forEach( task => { + task( gulp ); +}); gulp.task('serve', ['browser-sync', 'watch']); -gulp.task('build', ['styles', 'scripts', 'images', 'fonts', 'jekyll-build']); +gulp.task('build', ['sass', 'scripts', 'images', 'fonts', 'jekyll-build']);