Skip to content
Snippets Groups Projects
gulpfile.js 2.75 KiB
Newer Older
pimka's avatar
pimka committed
'use strict';
var fs = require('fs');
pimka's avatar
pimka committed
var gulp = require('gulp');
PavelBegunkov's avatar
PavelBegunkov committed

// gulp plugins
pimka's avatar
pimka committed
var less = require('gulp-less');
PavelBegunkov's avatar
PavelBegunkov committed
//var prefix = require('gulp-autoprefixer'); //префиксы
//var concatCss = require('gulp-concat-css'); //конкатенация
//var minifyCss = require('gulp-minify-css'); //минификация
//var rename = require('gulp-rename');		//переименовывание




// =============================
//          paths
// =============================
pimka's avatar
pimka committed

PavelBegunkov's avatar
PavelBegunkov committed
var sysPath = {
    root: '../',
xamgore's avatar
xamgore committed
    app: '../~dev_rating/'
PavelBegunkov's avatar
PavelBegunkov committed
};
pimka's avatar
pimka committed

PavelBegunkov's avatar
PavelBegunkov committed
var srcPath = {
    css: sysPath.root + 'media/css/**/*.css',
    less: sysPath.root + 'media/less/**/*.less',
    js: sysPath.root + 'media/js/**/*.js',
PavelBegunkov's avatar
PavelBegunkov committed
    media: sysPath.root + 'media/',
xamgore's avatar
xamgore committed
    config: sysPath.root + 'config/*'
PavelBegunkov's avatar
PavelBegunkov committed
};
PavelBegunkov's avatar
PavelBegunkov committed
var dstPath = {
    css: sysPath.app + 'static/css/',
    less: sysPath.app + 'static/css/',
    js: sysPath.app + 'static/js/',
    media: sysPath.app + 'static/',
xamgore's avatar
xamgore committed
    config: sysPath.app + 'application/config/'
PavelBegunkov's avatar
PavelBegunkov committed
};



// =============================
//          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 ) );
pimka's avatar
pimka committed
});

gulp.task('js:copy', function() {
PavelBegunkov's avatar
PavelBegunkov committed
        .pipe(gulp.dest(dstPath.js));
pimka's avatar
pimka committed
});

gulp.task('config:copy', function() {
PavelBegunkov's avatar
PavelBegunkov committed
        .pipe(gulp.dest(dstPath.config));
});

gulp.task('folders:create', function() {
    var dirs = [
PavelBegunkov's avatar
PavelBegunkov committed
        sysPath.app + 'application/logs/',
        sysPath.app + 'application/cache/',
        sysPath.app + 'application/cache/twig/'
PavelBegunkov's avatar
PavelBegunkov committed
    fs.mkdir(dirs[0], function() {});
    fs.mkdir(dirs[1], function() {
        fs.mkdir(dirs[2], function() {});
pimka's avatar
pimka committed
});

// 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'));
// });

PavelBegunkov's avatar
PavelBegunkov committed


// =============================
//          watch
// =============================

pimka's avatar
pimka committed
gulp.task('watch', function () {
	gulp.watch( srcPath.css, ['css:copy']);
	gulp.watch( srcPath.less, ['less:compile']);
    gulp.watch( srcPath.js, ['js:copy']);
pimka's avatar
pimka committed


PavelBegunkov's avatar
PavelBegunkov committed


// =============================
//          common tasks
// =============================

gulp.task('config', [
    'config:copy'
]);

gulp.task('default', [
    'less:compile',
    'css:copy',
    'js:copy',
PavelBegunkov's avatar
PavelBegunkov committed
]);

gulp.task('install', [
    'folders:create',
    'config',
    'default'