2015-08-21 13:35:15 +00:00
// Defining base pathes
var basePaths = {
bower : './bower_components/'
} ;
// Defining requirements
2015-08-12 06:13:10 +00:00
var gulp = require ( 'gulp' ) ;
2015-08-12 07:06:27 +00:00
var plumber = require ( 'gulp-plumber' ) ;
2015-08-12 06:13:10 +00:00
var sass = require ( 'gulp-sass' ) ;
2015-08-12 07:06:27 +00:00
var watch = require ( 'gulp-watch' ) ;
var minifyCSS = require ( 'gulp-minify-css' ) ;
var rename = require ( 'gulp-rename' ) ;
var concat = require ( 'gulp-concat' ) ;
var uglify = require ( 'gulp-uglify' ) ;
var merge2 = require ( 'merge2' ) ;
var ignore = require ( 'gulp-ignore' ) ;
var rimraf = require ( 'gulp-rimraf' ) ;
2015-08-12 06:13:10 +00:00
2016-01-18 13:57:52 +00:00
// Run:
// gulp sass
// Compiles SCSS files in CSS
2015-08-12 06:13:10 +00:00
gulp . task ( 'sass' , function ( ) {
gulp . src ( './sass/*.scss' )
2015-08-12 07:06:27 +00:00
. pipe ( plumber ( ) )
2015-08-12 06:13:10 +00:00
. pipe ( sass ( ) )
. pipe ( gulp . dest ( './css' ) ) ;
} ) ;
2016-01-18 13:57:52 +00:00
// Run:
// gulp watch
// Starts watcher. Watcher runs gulp sass task on changes
2015-08-12 07:06:27 +00:00
gulp . task ( 'watch' , function ( ) {
gulp . watch ( './sass/**/*.scss' , [ 'sass' ] ) ;
gulp . watch ( './css/theme.css' , [ 'minifycss' ] ) ;
} ) ;
2016-01-18 13:57:52 +00:00
// Run:
// gulp minifycss
// Minifies CSS files
2015-08-12 07:06:27 +00:00
gulp . task ( 'minifycss' , [ 'cleancss' ] , function ( ) {
2015-08-12 07:10:10 +00:00
return gulp . src ( './css/*.css' )
2015-08-12 07:06:27 +00:00
. pipe ( plumber ( ) )
. pipe ( rename ( { suffix : '.min' } ) )
2016-01-18 13:50:32 +00:00
. pipe ( minifyCSS ( { keepBreaks : false } ) )
2015-08-12 07:10:10 +00:00
. pipe ( gulp . dest ( './css/' ) ) ;
2015-08-12 07:06:27 +00:00
} ) ;
gulp . task ( 'cleancss' , function ( ) {
return gulp . src ( './css/*.min.css' , { read : false } ) // much faster
. pipe ( ignore ( 'theme.css' ) )
. pipe ( rimraf ( ) ) ;
} ) ;
2015-08-12 07:34:41 +00:00
2016-01-18 13:57:52 +00:00
// Run:
// gulp copy-assets.
2015-09-15 14:59:29 +00:00
// Copy all needed dependency assets files from bower_component assets to themes /js, /scss and /fonts folder. Run this task after bower install or bower update
2016-01-18 13:57:52 +00:00
// Copy all Bootstrap JS files
2015-08-12 07:06:27 +00:00
gulp . task ( 'copy-assets' , function ( ) {
2016-01-18 13:50:32 +00:00
gulp . src ( basePaths . bower + 'bootstrap-sass/assets/javascripts/**/*.js' )
2015-08-12 07:06:27 +00:00
. pipe ( gulp . dest ( './js' ) ) ;
2016-01-18 13:25:55 +00:00
2016-01-18 13:57:52 +00:00
// Copy all Bootstrap SCSS files
2015-09-15 15:03:25 +00:00
gulp . src ( basePaths . bower + 'bootstrap-sass/assets/stylesheets/**/*.scss' )
2015-09-15 13:51:19 +00:00
. pipe ( gulp . dest ( './sass/bootstrap-sass' ) ) ;
2016-01-18 13:25:55 +00:00
2016-01-18 13:57:52 +00:00
// Copy all Bootstrap Fonts
2016-01-04 13:35:52 +00:00
gulp . src ( basePaths . bower + 'bootstrap-sass/assets/fonts/bootstrap/*.{ttf,woff,woff2,eof,svg}' )
2015-08-12 07:06:27 +00:00
. pipe ( gulp . dest ( './fonts' ) ) ;
2016-01-18 13:25:55 +00:00
2016-01-18 13:57:52 +00:00
// Copy all Font Awesome Fonts
2016-01-04 13:38:20 +00:00
gulp . src ( basePaths . bower + 'fontawesome/fonts/**/*.{ttf,woff,woff2,eof,svg}' )
2015-08-12 07:06:27 +00:00
. pipe ( gulp . dest ( './fonts' ) ) ;
2016-01-18 13:25:55 +00:00
2016-01-18 13:57:52 +00:00
// Copy all Font Awesome SCSS files
gulp . src ( basePaths . bower + 'fontawesome/scss/*.scss' )
2015-09-15 13:51:19 +00:00
. pipe ( gulp . dest ( './sass/fontawesome' ) ) ;
2016-01-18 13:25:55 +00:00
2016-01-18 13:57:52 +00:00
// Copy jQuery
2015-08-21 13:35:15 +00:00
gulp . src ( basePaths . bower + 'jquery/dist/*.js' )
2015-08-12 07:06:27 +00:00
. pipe ( gulp . dest ( './js' ) ) ;
2016-01-18 13:36:23 +00:00
2016-01-18 13:57:52 +00:00
// _s JS files
2015-08-21 13:35:15 +00:00
gulp . src ( basePaths . bower + '_s/js/*.js' )
2015-08-12 07:06:27 +00:00
. pipe ( gulp . dest ( './js' ) ) ;
2016-01-18 13:57:52 +00:00
} ) ;