Guest User

Untitled

a guest
Apr 12th, 2018
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.46 KB | None | 0 0
  1. /*
  2.  
  3. If you're using this file, you'll need to update
  4. * Directories
  5. * FTP details (59, 60, 61)
  6. * Scripts paths (105, 106)
  7. * + watch directories (135)
  8.  
  9. */
  10.  
  11.  
  12.  
  13. // Directories
  14. var dir = {
  15. src : './src/',
  16. css : './assets/css/',
  17. js : './assets/js/',
  18. scss : './assets/css/scss/',
  19. remote : 'public_html/wordpress/wp-content/themes/wordpress-theme', // Update path
  20. };
  21.  
  22. // Notifications
  23. var note = {
  24. deploy : "Site deployed",
  25. css : "SCSS compiled",
  26. vendor : "all.min.js created",
  27. js : "theme.min.js created",
  28. removed : "all.js removed",
  29. }
  30.  
  31. // Dependancies
  32. var gulp = require('gulp'),
  33. gutil = require('gulp-util'),
  34. ftp = require('vinyl-ftp'),
  35. sass = require('gulp-sass'),
  36. autoprefixer = require('gulp-autoprefixer'),
  37. sourcemaps = require('gulp-sourcemaps'),
  38. rename = require('gulp-rename'),
  39. cssnano = require('gulp-cssnano'),
  40. uglify = require('gulp-uglify'),
  41. concat = require('gulp-concat'),
  42. notify = require('gulp-notify'),
  43. clean = require('gulp-clean'),
  44. mediaqueries = require('gulp-group-css-media-queries');
  45.  
  46. // Prefixer
  47. var supportedBrowsers = [
  48. 'last 2 versions',
  49. 'safari >= 8',
  50. 'ie >= 9',
  51. 'ff >= 20',
  52. 'ios 6',
  53. 'android 4'
  54. ];
  55.  
  56. // FTP
  57. gulp.task('deploy', function() {
  58. var conn = ftp.create( {
  59. host: '11.22.333.44',
  60. user: 'user_name',
  61. password: 'Passw0rd',
  62. parallel: 3,
  63. log: gutil.log,
  64. secure: false
  65. } );
  66.  
  67. /* list all files you wish to ftp in the glob variable */
  68. var globs = [
  69. '**/*',
  70. '*',
  71. '!node_modules/**',
  72. '!.git/**',
  73. '!.gitignore',
  74. '!sftp-config.json',
  75. '!gulpfile.js' // if you wish to exclude directories, start the item with an !
  76. ];
  77.  
  78. return gulp.src( globs, { base: '.', buffer: false } )
  79. .pipe( conn.newer( dir.remote ) ) // only upload newer files
  80. .pipe( conn.dest( dir.remote ) )
  81. .pipe(notify( note.deploy ));
  82.  
  83. });
  84.  
  85. // Styles
  86. gulp.task('styles', function(){
  87. return gulp.src( dir.scss + 'style.scss')
  88. .pipe(sourcemaps.init())
  89. .pipe(sass({sourceComments: true})
  90. .on('error', function(err) {notify().write(err);}))
  91. .pipe(mediaqueries())
  92. .pipe(autoprefixer(supportedBrowsers))
  93. .pipe(gulp.dest('./'))
  94. .pipe(rename({ suffix: '.min' }))
  95. .pipe(cssnano())
  96. .pipe(sourcemaps.write( dir.css + 'maps'))
  97. .pipe(gulp.dest('./'))
  98. .pipe(notify({ message: note.css }));
  99. });
  100.  
  101.  
  102. // Scripts
  103. gulp.task('vendor', function() {
  104. return gulp.src([
  105. '!assets/js/all.js', // ignore
  106. 'assets/js/vendor/*.js'
  107. ])
  108. .pipe(concat('all.js'))
  109. .pipe(gulp.dest( dir.js ))
  110. .pipe(rename({ suffix: '.min' }))
  111. .pipe(uglify())
  112. .pipe(gulp.dest( dir.js ))
  113. .pipe(notify({ message: note.vendor }));
  114. });
  115.  
  116. // Remove Scripts on minify.js
  117. gulp.task('remove', ['vendor'], function () {
  118. return gulp.src( dir.js + 'all.js', {read: false})
  119. .pipe(clean())
  120. .pipe(notify({ message: note.removed }));
  121. });
  122.  
  123. // Minify Default js
  124. gulp.task('js', function() {
  125. return gulp.src( dir.js + 'theme.js')
  126. .pipe(rename({ suffix: '.min' }))
  127. .pipe(uglify())
  128. .pipe(gulp.dest('./'))
  129. .pipe(notify({ message: note.js }));
  130. });
  131.  
  132. // Default Gulp Task / Watch
  133. gulp.task('watch', function(){
  134. gulp.watch( dir.scss + '**/*.scss', ['styles']);
  135. gulp.watch( dir.js + 'vendor/*.js', ['remove']);
  136. gulp.watch( dir.js + 'theme.js', ['js']);
  137. });
Add Comment
Please, Sign In to add comment