Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 'use strict';
- var autoprefixer = require('gulp-autoprefixer');
- var csso = require('gulp-csso');
- var del = require('del');
- var gulp = require('gulp');
- var htmlmin = require('gulp-htmlmin');
- var runSequence = require('run-sequence');
- var sass = require('gulp-sass');
- var uglify = require('gulp-uglify');
- var imagemin = require('gulp-imagemin');
- var gutil = require('gulp-util');
- var svgmin = require('gulp-svgmin');
- var ftp = require('vinyl-ftp');
- gulp.task('default', ['styles-sass', 'styles-css',
- 'scripts', 'pages', 'images', 'svg', 'copy-favicon'])
- gulp.task('deploy', ['ftp-upload'])
- // Set the browser that you want to support
- const AUTOPREFIXER_BROWSERS = [
- 'ie >= 10',
- 'ie_mob >= 10',
- 'ff >= 30',
- 'chrome >= 34',
- 'safari >= 7',
- 'opera >= 23',
- 'ios >= 7',
- 'android >= 4.4',
- 'bb >= 10'
- ];
- // Gulp task to minify CSS files
- gulp.task('styles-sass', function () {
- return gulp.src('./src/sass/**/*.scss')
- // Compile SASS files
- .pipe(sass({
- outputStyle: 'nested',
- precision: 10,
- includePaths: ['.'],
- onError: console.error.bind(console, 'Sass error:')
- }))
- // Auto-prefix css styles for cross browser compatibility
- .pipe(autoprefixer({ browsers: AUTOPREFIXER_BROWSERS }))
- // Minify the file
- .pipe(csso())
- // Output
- .pipe(gulp.dest('./dist/css'))
- });
- gulp.task('svg', function () {
- return gulp.src('./src/svg/**/*.svg')
- .pipe(svgmin())
- .pipe(gulp.dest('./dist/svg'));
- });
- // Gulp task to minify CSS files
- gulp.task('styles-css', function () {
- return gulp.src('./src/css/**/*.css')
- // Auto-prefix css styles for cross browser compatibility
- .pipe(autoprefixer({ browsers: AUTOPREFIXER_BROWSERS }))
- // Minify the file
- .pipe(csso())
- // Output
- .pipe(gulp.dest('./dist/css'))
- });
- // Gulp task to minify JavaScript files
- gulp.task('scripts', function () {
- return gulp.src('./src/js/**/*.js')
- // Minify the file
- .pipe(uglify())
- // Output
- .pipe(gulp.dest('./dist/js'))
- });
- // Gulp task to minify HTML files
- gulp.task('pages', function () {
- return gulp.src(['./src/**/*.html'])
- .pipe(htmlmin({
- collapseWhitespace: true,
- removeComments: true
- }))
- .pipe(gulp.dest('./dist'));
- });
- //Gulp task to minify Image Files
- gulp.task('images', () =>
- gulp.src('src/images/**/*')
- .pipe(imagemin())
- .pipe(gulp.dest('dist/images'))
- );
- //Gulp task to copy favicon.
- gulp.task('copy-favicon', function () {
- return gulp.src('src/favicon.ico')
- .pipe(gulp.dest('dist'));
- });
- gulp.task('ftp-upload', function () {
- var conn = ftp.create({
- host: 'cedriccoloma.x10host.com',
- user: 'test@cedriccoloma.x10host.com',
- password: 'testtest',
- parallel: 10,
- log: gutil.log
- });
- var globs = [
- './dist/**'
- ];
- // using base = '.' will transfer everything to /public_html correctly
- // turn off buffering in gulp.src for best performance
- return gulp.src(globs, { base: '', buffer: false })
- .pipe(conn.newer('/public_html')) // only upload newer files
- .pipe(conn.dest('/public_html'));
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement