Advertisement
RawrBear

Flex Gulpfile

Jul 6th, 2016
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // Include gulp
  2. var gulp = require('gulp');
  3.  
  4. // Include plugins
  5. var nib = require ('nib'); //addon for stylus
  6. var data = require('gulp-data'); //required for stylus
  7. var stylus = require('gulp-stylus');
  8. var browserSync = require('browser-sync').create();
  9. var concat = require('gulp-concat');
  10. var uglifycss = require('gulp-uglifycss');
  11. var sass = require('gulp-sass');
  12. // var koutoSwiss = require( "kouto-swiss" );
  13.  
  14.  
  15. // Setup Tasks
  16.  
  17.  
  18. // Stylus
  19. gulp.task('stylus', function () {
  20.    var stream =  gulp.src(['stylus/**.styl', '!stylus/_*.styl'])
  21.        .pipe(stylus({
  22.            compress: true,
  23.            use: nib()
  24.     }))
  25.     .on('error', onError)
  26.     .pipe(gulp.dest('css'));
  27.     return stream;
  28. });
  29.  
  30. // Sass / Scss
  31. gulp.task('sass', function () {
  32.   return gulp.src(['sass/**/*.scss', '!sass/**/_*.scss'])
  33.     .pipe(sass.sync().on('error', sass.logError))
  34.     .pipe(gulp.dest('css'));
  35. });
  36.  
  37.  
  38.  
  39. // Concatinating CSS
  40. gulp.task('concat',['stylus'], function(cb) {
  41.   var stream = gulp.src(["css/**.css",
  42.    "!css/app.css",
  43.    "!css/foundation.css",
  44.    "!css/foundation.min.css",
  45.    "!css/master.css",
  46.    "css/global.css"])
  47.   .pipe(concat('master.css'))
  48.   .pipe(gulp.dest('css'));
  49.   return stream;
  50. });
  51.  
  52.  
  53.  
  54. // Uglify CSS
  55. gulp.task('uglifycss',['concat'], function () {
  56.    var stream = gulp.src('css/master.css')
  57.     .pipe(uglifycss({
  58.       "maxLineLen": 80,
  59.       "uglyComments": true,
  60.     }))
  61.     .pipe(gulp.dest('css'));
  62.     return stream;
  63. });
  64.  
  65.  
  66.  
  67. //Browser Sync setup
  68. // Static server
  69.  
  70. var PHPFiles = './*.php'; // Path to all PHP files.    
  71. var reload = browserSync.reload; // For manual browser reload.
  72.  
  73. gulp.task('browser-sync', function() {
  74.     browserSync.init({
  75.         proxy: "localhost/flex/"
  76.     });
  77.     gulp.watch(['stylus/*.styl','sass/**/*.scss','./*.html', 'gulpfile.js'], ['processCSS']).on('change', browserSync.reload);
  78.     // gulp.watch('./*.html').on('change', browserSync.reload);
  79.     gulp.watch(PHPFiles, reload); //Reloads on PHP changes
  80. });
  81.  
  82. // Run tasks
  83. gulp.task('default', ['stylus','sass','concat','uglifycss','browser-sync']);
  84. gulp.task('processCSS', ['stylus','sass','concat','uglifycss']);
  85.  
  86.  
  87. // Error handling
  88. function onError(err) {
  89.   console.log(err);
  90.   this.emit('end');
  91. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement