Advertisement
Guest User

Untitled

a guest
Jan 17th, 2018
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.62 KB | None | 0 0
  1. var gulp = require('gulp'); // Require gulp
  2.  
  3. // Sass dependencies
  4. var sass = require('gulp-sass'); // Compile Sass into CSS
  5. var minifyCSS = require('gulp-minify-css'); // Minify the CSS
  6.  
  7. // Minification dependencies
  8. var minifyHTML = require('gulp-minify-html'); // Minify HTML
  9. var concat = require('gulp-concat'); // Join all JS files together to save space
  10. var stripDebug = require('gulp-strip-debug'); // Remove debugging stuffs
  11. var uglify = require('gulp-uglify'); // Minify JavaScript
  12. var imagemin = require('gulp-imagemin'); // Minify images
  13.  
  14. // Other dependencies
  15. var size = require('gulp-size'); // Get the size of the project
  16. var browserSync = require('browser-sync'); // Reload the browser on file changes
  17.  
  18. // Sprite dependencies
  19. var spritesmith = require('gulp.spritesmith');
  20.  
  21. // Tasks -------------------------------------------------------------------- >
  22.  
  23. // Task to compile Sass file into CSS, and minify CSS into build directory
  24. gulp.task('styles', function() {
  25. gulp.src('./src/sass/*')
  26. .pipe(sass().on('error', sass.logError))
  27. .pipe(gulp.dest('./src/css'))
  28. .pipe(minifyCSS())
  29. .pipe(gulp.dest('./build/styles/'))
  30. .pipe(browserSync.reload({
  31. stream: true,
  32. }));
  33. });
  34.  
  35. // Task to create sprite
  36. gulp.task('svg', function () {
  37. gulp.src('./src/images/*')
  38. .pipe(spritesmith({
  39. imgName: 'sprite.png',
  40. cssName: 'sprite.css',
  41. imgOpts: {
  42. quality: 100
  43. }
  44. }))
  45. .pipe(gulp.dest('./build/images/interface/'));
  46. });
  47.  
  48. // Task to minify new or changed HTML pages
  49. gulp.task('html', function() {
  50. gulp.src('./src/html/*.html')
  51. .pipe(minifyHTML())
  52. .pipe(gulp.dest('./build/'))
  53. .pipe(browserSync.reload({
  54. stream: true,
  55. }));
  56. });
  57.  
  58. // Task to minify images into build
  59. gulp.task('images', function() {
  60. gulp.src('./src/images/*')
  61. .pipe(imagemin({
  62. progressive: true,
  63. }))
  64. .pipe(gulp.dest('./build/images'));
  65. });
  66.  
  67. // Task to get the size of the src project
  68. gulp.task('size', function() {
  69. gulp.src('./src/**')
  70. .pipe(size({
  71. showFiles: true,
  72. }));
  73. });
  74.  
  75. // Task to get the size of the build project
  76. gulp.task('build-size', function() {
  77. gulp.src('./build/**')
  78. .pipe(size({
  79. showFiles: true,
  80. }));
  81. });
  82.  
  83. // Serve srclication
  84. gulp.task('serve', ['styles', 'html', 'images', 'svg', 'size'], function() {
  85. browserSync.init({
  86. server: {
  87. root: 'build',
  88. baseDir: 'build',
  89. },
  90. });
  91. });
  92.  
  93. // Run all Gulp tasks and serve srclication
  94. gulp.task('default', ['serve', 'styles'], function() {
  95. gulp.watch('src/sass/*', ['styles']);
  96. gulp.watch('./src/html/*.html', ['html']);
  97. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement