UNPKG

dojo-theme-bigur

Version:
134 lines (114 loc) 3.72 kB
// =========================================================================== // Инициализируем плагины // =========================================================================== var gulp = require('gulp'), uglify = require('gulp-uglify'), sass = require('gulp-sass'), cssmin = require('gulp-clean-css'), sourcemaps = require('gulp-sourcemaps'), browserSync = require('browser-sync'), clean = require('gulp-clean'), sequence = require('gulp-sequence'), fontgen = require('gulp-fontgen'), pug = require('gulp-pug'), reload = browserSync.reload; // =========================================================================== // Настройки // =========================================================================== var config = { theme: 'default', src: { html : './test/**/*.pug', css : './src/**/*.scss', images : './test/**/*.png', fonts : { gilroy : 'fonts/**/*.otf', awesome : 'node_modules/font-awesome/fonts/*.*', }, }, watch: { html : './test/**/*.pug', css : './src/**/*.scss', }, build: { root : './build', html : './build', css : './build', images : './build', fonts : './build/fonts', }, server: { server: { baseDir: './build', routes: { '/lib/dojo-theme-bigur' : './build', '/lib/dojo' : './node_modules/dojo', '/lib/dijit' : './node_modules/dijit', '/lib/dgrid' : './node_modules/dgrid', '/lib/dstore' : './node_modules/dojo-dstore', }, }, tunnel: false, open: false, port: 9001, } } // =========================================================================== // Очистка сборки // =========================================================================== gulp.task('clean', function() { return gulp.src([config.build.root], {read: false}).pipe(clean()); }); // =========================================================================== // Сборка шрифтов // =========================================================================== gulp.task('build:fonts:awesome', function() { return gulp.src(config.src.fonts.awesome) .pipe(gulp.dest(config.build.fonts)); }); gulp.task('build:fonts:gilroy', function() { return gulp.src(config.src.fonts.gilroy) .pipe(fontgen({dest: config.build.fonts})); }); gulp.task('build:fonts', sequence([ 'build:fonts:awesome', 'build:fonts:gilroy', ])); // =========================================================================== // Сборка проекта // =========================================================================== gulp.task('build:html', function() { return gulp.src(config.src.html) .pipe(pug({pretty:true})) .pipe(gulp.dest(config.build.html)) .pipe(reload({stream: true})); }); gulp.task('build:css', function() { return gulp.src(config.src.css) //.pipe(sourcemaps.init()) .pipe(sass({ includePaths: [ './src/variants/' + config.theme, './src/fonts', './node_modules/font-awesome/scss', ] })) .pipe(cssmin()) //.pipe(sourcemaps.write('maps')) .pipe(gulp.dest(config.build.css)) .pipe(reload({stream: true})); }); gulp.task('build:images', function() { return gulp.src(config.src.images) .pipe(gulp.dest(config.build.images)) .pipe(reload({stream: true})); }); gulp.task('watch', function () { gulp.watch(config.watch.html, ['build:html']); gulp.watch(config.watch.css, ['build:css']); }); gulp.task('server', function () { browserSync.init(config.server); }); gulp.task('build', ['build:html', 'build:css', 'build:images']); gulp.task('default', sequence('build', ['server', 'watch']));