Advertisement
Guest User

Untitled

a guest
Nov 9th, 2016
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.58 KB | None | 0 0
  1. var gulp = require('gulp'),
  2. gutil = require('gulp-util' ),
  3. scss = require('gulp-sass'),
  4. browserSync = require('browser-sync'),
  5. concat = require('gulp-concat'),
  6. uglify = require('gulp-uglify'),
  7. cleanCSS = require('gulp-clean-css'),
  8. rename = require('gulp-rename'),
  9. del = require('del'),
  10. imagemin = require('gulp-imagemin'),
  11. pngquant = require('imagemin-pngquant'),
  12. cache = require('gulp-cache'),
  13. autoprefixer = require('gulp-autoprefixer'),
  14. fileinclude = require('gulp-file-include'),
  15. gulpRemoveHtml = require('gulp-remove-html'),
  16. bourbon = require('node-bourbon'),
  17. ftp = require('vinyl-ftp'),
  18. notify = require("gulp-notify");
  19.  
  20. gulp.task('browser-sync', function() {
  21. browserSync({
  22. server: {
  23. baseDir: 'app'
  24. },
  25. notify: false
  26. });
  27. });
  28.  
  29. gulp.task('scss', ['headerscss'], function() {
  30. return gulp.src('app/scss/**/*.scss')
  31. .pipe(scss({
  32. includePaths: bourbon.includePaths
  33. }).on("error", notify.onError()))
  34. .pipe(rename({suffix: '.min', prefix : ''}))
  35. .pipe(autoprefixer(['last 15 versions']))
  36. .pipe(cleanCSS())
  37. .pipe(gulp.dest('app/css'))
  38. .pipe(browserSync.reload({stream: true}))
  39. });
  40.  
  41. gulp.task('headerscss', function() {
  42. return gulp.src('app/header.scss')
  43. .pipe(scss({
  44. includePaths: bourbon.includePaths
  45. }).on("error", notify.onError()))
  46. .pipe(rename({suffix: '.min', prefix : ''}))
  47. .pipe(autoprefixer(['last 15 versions']))
  48. .pipe(cleanCSS())
  49. .pipe(gulp.dest('app'))
  50. .pipe(browserSync.reload({stream: true}))
  51. });
  52.  
  53. gulp.task('libs', function() {
  54. return gulp.src([
  55. 'app/libs/jquery/dist/jquery.min.js',
  56. 'app/libs/underscore/underscore-min.js',
  57. 'app/libs/parallax/parallax.min.js',
  58. 'app/libs/magnific-popup/jquery.magnific-popup.min.js',
  59. 'app/libs/scroll2id/PageScroll2id.min.js',
  60. 'app/libs/waypoints/waypoints.min.js',
  61. 'app/libs/animate/animate.min.js'
  62. ])
  63. .pipe(concat('libs.min.js'))
  64. .pipe(uglify())
  65. .pipe(gulp.dest('app/js'));
  66. });
  67.  
  68. gulp.task('watch', ['scss', 'libs', 'browser-sync'], function() {
  69. gulp.watch('app/header.scss', ['headerscss']);
  70. gulp.watch('app/scss/**/*.scss', ['scss']);
  71. gulp.watch('app/*.html', browserSync.reload);
  72. gulp.watch('app/js/**/*.js', browserSync.reload);
  73. });
  74.  
  75. gulp.task('imagemin', function() {
  76. return gulp.src('app/img/**/*')
  77. .pipe(cache(imagemin({
  78. interlaced: true,
  79. progressive: true,
  80. svgoPlugins: [{removeViewBox: false}],
  81. use: [pngquant()]
  82. })))
  83. .pipe(gulp.dest('dist/img'));
  84. });
  85.  
  86. gulp.task('buildhtml', function() {
  87. gulp.src(['app/*.html'])
  88. .pipe(fileinclude({
  89. prefix: '@@'
  90. }))
  91. .pipe(gulpRemoveHtml())
  92. .pipe(gulp.dest('dist/'));
  93. });
  94.  
  95. gulp.task('removedist', function() { return del.sync('dist'); });
  96.  
  97. gulp.task('build', ['removedist', 'buildhtml', 'imagemin', 'scss', 'libs'], function() {
  98.  
  99. var buildCss = gulp.src([
  100. 'app/css/fonts.min.css',
  101. 'app/css/style.min.css'
  102. ]).pipe(gulp.dest('dist/css'));
  103.  
  104. var buildFiles = gulp.src([
  105. 'app/.htaccess'
  106. ]).pipe(gulp.dest('dist'));
  107.  
  108. var buildFonts = gulp.src('app/fonts/**/*').pipe(gulp.dest('dist/fonts'));
  109.  
  110. var buildJs = gulp.src('app/js/**/*').pipe(gulp.dest('dist/js'));
  111.  
  112. });
  113.  
  114. gulp.task('deploy', function() {
  115.  
  116. var conn = ftp.create({
  117. host: 'hostname.com',
  118. user: 'username',
  119. password: 'userpassword',
  120. parallel: 10,
  121. log: gutil.log
  122. });
  123.  
  124. var globs = [
  125. 'dist/**',
  126. 'dist/.htaccess',
  127. ];
  128. return gulp.src(globs, {buffer: false})
  129. .pipe(conn.dest('/path/to/folder/on/server'));
  130.  
  131. });
  132.  
  133. gulp.task('clearcache', function () { return cache.clearAll(); });
  134.  
  135. gulp.task('default', ['watch']);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement