Advertisement
Guest User

Untitled

a guest
Oct 16th, 2017
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. 'use strict';
  2.  
  3. var gulp = require('gulp');
  4. var rename = require('gulp-rename');
  5. var sass = require('gulp-sass');
  6. var autoprefixer = require('gulp-autoprefixer');
  7.  
  8. var minifyCSS = require('gulp-minify-css');
  9. var imagemin = require('gulp-imagemin');
  10. var uglify = require('gulp-uglify');
  11.  
  12. var svgmin = require('gulp-svgmin');
  13. var svgstore = require('gulp-svgstore');
  14. var cheerio = require('gulp-cheerio');
  15.  
  16. var clean = require('gulp-clean');
  17.  
  18.  
  19. // gulp.task('connect', function () {
  20. //     connect.server({
  21. //         root: "build",
  22. //         port: 9000,
  23. //         livereload: false
  24. //     });
  25. // });
  26.  
  27. var paths = {
  28.     styles: {
  29.         src: 'src/scss/*.scss',
  30.         dest: '../dist/css/',
  31.         watch: 'src/scss/**/*.scss'
  32.     },
  33.     scripts: {
  34.         src: '../dist/js/',
  35.         dest: '../dist/js/'
  36.     },
  37.     images: {
  38.         src: '../dist/images/*',
  39.         dest: 'src/img-compress/'
  40.     },
  41.     icons:{
  42.         src: 'src/icons/icons__src/*.svg',
  43.         srcmin: 'src/icons/icons__min/',
  44.         dest: 'src/icons/'
  45.     }
  46. }
  47.  
  48. //default
  49. gulp.task('default', function () {
  50.     // gulp.src(paths.styles.src)
  51.         // .pipe(sass())
  52.         // .pipe(autoprefixer({
  53.         //  browsers: ['last 3 versions', '> 5%']
  54.         // }))
  55.         // .pipe(minifyCSS())
  56.         // .pipe(rename('bundle.min.css'))
  57.         // .pipe(gulp.dest(paths.styles.dest));
  58. });
  59.  
  60. //scss / autoprefixer
  61. gulp.task('scss', function(){
  62.     gulp.src(paths.styles.src)
  63.         .pipe(sass())
  64.         .pipe(autoprefixer({
  65.             browsers: ['last 2 versions']
  66.         }))
  67.         .pipe(rename('all.css'))
  68.         .pipe(gulp.dest(paths.styles.dest));
  69. });
  70. // gulp.task('autoprefixer', function(){
  71. //  gulp.src(paths.styles.dest + 'all.css')
  72. //      .pipe(autoprefixer({
  73. //          browsers: ['last 2 versions']
  74. //      }))
  75. //      .pipe(gulp.dest(paths.styles.dest));
  76. // });
  77.  
  78. //icons tasks
  79. gulp.task('icons-min', function () {
  80.     return gulp.src(paths.icons.src)
  81.         .pipe(svgmin())
  82.         .pipe(gulp.dest(paths.icons.srcmin));
  83. });
  84. gulp.task('icons', function (){
  85.     return gulp.src(paths.icons.srcmin + '*.svg')
  86.         .pipe(rename({prefix: 'icon-'}))
  87.         .pipe(cheerio({
  88.             run: function($){
  89.                 $('[fill]').removeAttr('fill');
  90.             },
  91.             parserOptions: { xmlMode: true }
  92.         }))
  93.         .pipe(svgstore({inlineSvg:true}))
  94.         .pipe(cheerio({
  95.             run: function ($) {
  96.                 $('svg').attr('style', 'display:none');
  97.             },
  98.             parserOptions: { xmlMode: true }
  99.         }))
  100.         .pipe(rename('svg-defs.svg'))
  101.         .pipe(gulp.dest(paths.icons.dest));
  102. });
  103.  
  104. //finish tasks
  105. gulp.task('css-minify', function(){
  106.     gulp.src(paths.styles.dest + 'all.css')
  107.         .pipe(minifyCSS())
  108.         .pipe(rename('all.min.css'))
  109.         .pipe(gulp.dest(paths.styles.dest));
  110. });
  111. gulp.task('images-compress', function(){
  112.     gulp.src(paths.images.src)
  113.         .pipe(imagemin())
  114.         .pipe(gulp.dest(paths.images.dest));
  115. });
  116. gulp.task('js-minify', function(){
  117.     gulp.src(paths.scripts.src + 'main.js')
  118.         .pipe(uglify())
  119.         .pipe(rename('main.min.js'))
  120.         .pipe(gulp.dest(paths.scripts.dest));
  121. });
  122.  
  123. //clean
  124. gulp.task('clean', function(){
  125.     gulp.src('node_modules', {read: false})
  126.         .pipe(clean());
  127. });
  128.  
  129. //watch
  130. gulp.task('watch', function(){
  131.     // gulp.watch('src/**/*.scss', ['default']);
  132.     gulp.watch(paths.styles.watch, ['scss', 'autoprefixer']);
  133. });
  134.  
  135. //
  136. // gulp.task('styles-run', ['scss', 'autoprefixer']);
  137. gulp.task('styles-run', ['scss']);
  138. gulp.task('icons-run', ['icons-min', 'icons']);
  139. gulp.task('finish', ['css-minify', 'images-compress', 'js-minify']);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement