'use strict'; var fs = require('fs'); var gulp = require('gulp'); // gulp plugins var less = require('gulp-less'); //var prefix = require('gulp-autoprefixer'); //префиксы //var concatCss = require('gulp-concat-css'); //конкатенация //var minifyCss = require('gulp-minify-css'); //минификация //var rename = require('gulp-rename'); //переименовывание // ============================= // paths // ============================= var sysPath = { root: '../', app: '../~dev_rating/' }; var srcPath = { css: sysPath.root + 'media/css/**/*.css', less: sysPath.root + 'media/less/**/*.less', js: sysPath.root + 'media/js/**/*.js', media: sysPath.root + 'media/', config: sysPath.root + 'config/*' }; var dstPath = { css: sysPath.app + 'static/css/', less: sysPath.app + 'static/css/', js: sysPath.app + 'static/js/', media: sysPath.app + 'static/', config: sysPath.app + 'application/config/' }; // ============================= // rules // ============================= gulp.task('less:compile', function () { gulp.src( srcPath.less ) .pipe( less() ) .pipe( gulp.dest( dstPath.css ) ); }); gulp.task('css:copy', function() { gulp.src( srcPath.css ) .pipe( gulp.dest( dstPath.css ) ); }); gulp.task('js:copy', function() { gulp.src( srcPath.js ) .pipe(gulp.dest(dstPath.js)); }); gulp.task('config:copy', function() { gulp.src( srcPath.config ) .pipe(gulp.dest(dstPath.config)); }); gulp.task('folders:create', function() { var dirs = [ sysPath.app + 'application/logs/', sysPath.app + 'application/cache/', sysPath.app + 'application/cache/twig/' ]; fs.mkdir(dirs[0], function() {}); fs.mkdir(dirs[1], function() { fs.mkdir(dirs[2], function() {}); }); }); // gulp.task('css', ['less'], function() { // return gulp.src('css/*.css') // .pipe(concatCss('styles/bundle.css')) // .pipe(prefix('last 2 versions', '> 1%', 'ie9')) // .pipe(minifyCss('')) // .pipe(rename({suffix: '.min'})) // .pipe(gulp.dest('out/')); // }); // gulp.task('copyHtml', function() { // gulp.src('source/*.html').pipe(gulp.dest('public')); // }); // ============================= // watch // ============================= gulp.task('watch', function () { gulp.watch( srcPath.css, ['css:copy']); gulp.watch( srcPath.less, ['less:compile']); gulp.watch( srcPath.js, ['js:copy']); }); // ============================= // common tasks // ============================= gulp.task('config', [ 'config:copy' ]); gulp.task('default', [ 'less:compile', 'css:copy', 'js:copy', ]); gulp.task('install', [ 'folders:create', 'config', 'default' ]);