Advertisement
Guest User

Untitled

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