Guest User

Untitled

a guest
Nov 13th, 2018
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.93 KB | None | 0 0
  1. /* ==========================================================================
  2. Dependencies
  3. "gulp": "^3.9.1",
  4. "gulp-autoprefixer": "^6.0.0",
  5. "gulp-cache": "^1.0.2",
  6. "gulp-clean": "^0.4.0",
  7. "gulp-concat": "^2.6.1",
  8. "gulp-imagemin": "^5.0.3",
  9. "gulp-notify": "^3.2.0",
  10. "gulp-plumber": "^1.2.0",
  11. "gulp-rename": "^1.2.2",
  12. "gulp-sass": "^4.0.2",
  13. "gulp-uglify": "^3.0.0"
  14.  
  15. I like to run:
  16. npm-check-updates -u
  17. then
  18. npm install
  19. ========================================================================== */
  20.  
  21. var gulp = require('gulp'),
  22. clean = require('gulp-clean'),
  23. uglify = require('gulp-uglify'),
  24. autoprefixer = require('gulp-autoprefixer'),
  25. concat = require('gulp-concat'),
  26. rename = require('gulp-rename'),
  27. sass = require('gulp-sass'),
  28. notify = require("gulp-notify"),
  29. cache = require('gulp-cache'),
  30. imagemin = require('gulp-imagemin'),
  31. plumber = require('gulp-plumber');
  32.  
  33. /* ==========================================================================
  34. Sources - Set your folders here
  35. ========================================================================== */
  36.  
  37. var source = {
  38. // Javascript folder
  39. js_src: "./js",
  40. // Javascript Library folder
  41. js_libs: "./js/lib/",
  42. // Sass folder
  43. sass_src: "./sass",
  44. //CSS output folder
  45. css_src: "./"
  46. };
  47.  
  48. /* ==========================================================================
  49. Sass watch task
  50. Watches and compiles sass files in sass directory, also applies autoprefier
  51. ========================================================================== */
  52.  
  53. gulp.task('sass', function(){
  54. // return gulp.src('./sass/*.scss')
  55. return gulp.src(source.sass_src+'/*.scss')
  56.  
  57. .pipe(plumber({errorHandler: notify.onError("Ack. <%= error.message %>")}))
  58. .pipe(sass({
  59. outputStyle: 'compressed',
  60. noCache: true
  61. })
  62. .on('error', sass.logError))
  63. .pipe(autoprefixer('last 100 versions'))
  64. .pipe(gulp.dest(source.css_src));
  65. });
  66.  
  67.  
  68. /* ==========================================================================
  69. gulp scripts
  70. Concatenates and minifies javascript files excluding modernizr
  71. and IE6-8 specific selectivizr.js
  72. ========================================================================== */
  73.  
  74. // Your javascript vendor/library files to be concatenated and minified
  75. gulp.task('scripts', ['cleanScripts'], function() {
  76. return gulp.src([source.js_libs+'/*.js', '!'+source.js_libs+'modernizr.js', '!'+source.js_libs+'selectivizr.js'])
  77. .pipe(concat("plugins.js"))
  78. .pipe(gulp.dest(source.js_src))
  79. .pipe(rename({suffix: '.min'}))
  80. .pipe(uglify())
  81. .pipe(gulp.dest(source.js_src))
  82. .pipe(notify({message: 'Scripts are done.'}));
  83. });
  84.  
  85. // Clean plugins.min.js file
  86. gulp.task('cleanScripts', function() {
  87. return gulp.src('./js/plugins.min.js', {read: false})
  88. .pipe(clean());
  89. });
  90.  
  91. /* ==========================================================================
  92. gulp images
  93. Minifies images
  94. ========================================================================== */
  95.  
  96. gulp.task('images', function() {
  97. gulp.src('./images/**')
  98. .pipe(cache(imagemin({
  99. optimizationLevel: 5,
  100. progressive: true,
  101. interlaced: true
  102. })))
  103. .pipe(gulp.dest('./images/'))
  104. .pipe(notify({
  105. message: "Images are optimized."
  106. }));
  107. });
  108.  
  109. /* ==========================================================================
  110. gulp watch
  111. Main gulp task to watch sass files for changes
  112. ========================================================================== */
  113.  
  114. gulp.task('watch', function () {
  115.  
  116. // Watch .scss files
  117. gulp.watch(source.sass_src+'/**/*.scss', ['sass']);
  118.  
  119. // Watch all files for changes
  120. gulp.watch(['./*', '!./*.css']);
  121.  
  122. });
  123.  
  124. /* ==========================================================================
  125. default task
  126. ========================================================================== */
  127.  
  128. gulp.task('default', function(){
  129. gulp.start('watch', 'scripts', 'images');
  130. });
Add Comment
Please, Sign In to add comment