UNPKG

goldnet-sources

Version:

Goldnet Bilişim Teknolojileri kurumsal web sitesi tasarımları ve kodlanması

129 lines (115 loc) 3.97 kB
/* global require */ const gulp = require('gulp'); var browserSync = require('browser-sync').create(); var sass = require('gulp-sass'); var pug = require('gulp-pug'); var notify = require("gulp-notify"); var plumber = require("gulp-plumber"); var path = require('path'); var data = require('gulp-data'); var concatCss = require('gulp-concat-css'); var csso = require('gulp-csso'); const autoprefixer = require('gulp-autoprefixer'); /* Change your directory and settings here */ var settings = { publicDir: '_dist', sassDir: '_structure/_sass', layoutDir: '_structure/_pages', partialsDir: '_structure/_pages/_partials', dataDir: '_structure/_pages/_data', cssDir: '_dist/assets/css', /* change to disable system notification */ systemNotify: true } /** * serve task, will launch browserSync and launch index.html files, * and watch the changes for pug and sass files. **/ gulp.task('serve', ['sass'], function() { /** * Launch BrowserSync from publicDir */ browserSync.init({ server: settings.publicDir }); /** * watch for changes in sass files */ gulp.watch(settings.sassDir + "/*.sass", ['sass']); /** * watch for changes in pug files */ gulp.watch([settings.layoutDir + "/*.pug", settings.partialsDir + "/*.pug", settings.dataDir + "/*.pug.json"], ['pug']); }); /** * sass task, will compile the .sass files, * and handle the error through plumber and notify through system message. */ gulp.task('sass', function() { return gulp.src(settings.sassDir + "/*.sass") .pipe(plumber({ errorHandler: settings.systemNotify ? notify.onError("Error: <%= error.messageOriginal %>") : function(err) { console.log(" ************** \n " + err.messageOriginal + "\n ************** "); this.emit('end'); } })) .pipe(sass({ includePaths: ['./node_modules/breakpoint-sass/stylesheets'] })) .pipe(gulp.dest(settings.cssDir)) .pipe(browserSync.stream()); }); /** * pug task, will compile the pug, * and handle the error through plumber and notify through system message. */ gulp.task('pug', function() { return gulp.src(settings.layoutDir + "/*.pug") .pipe(data(function (file) { return require('./_structure/_pages/_data/' + path.basename(file.path) + '.json'); })) .pipe(plumber({ errorHandler: settings.systemNotify ? notify.onError("Error: <%= error %>") : function(err) { console.log("************** \n " + err + "\n **************"); this.emit('end'); } })) .pipe(pug({ pretty: true })) .pipe(gulp.dest(settings.publicDir)) .pipe(browserSync.stream()); }); gulp.task('default', function () { return gulp.src('_dist/assets/css/*.css') .pipe(concatCss("_dist/assets/css/goldnet.css")) .pipe(gulp.dest('_dist/assets/css')); }); gulp.task('default', function () { return gulp.src('_dist/assets/css/goldnet.css') .pipe(csso()) .pipe(gulp.dest('_dist/assets/css')); }); gulp.task('development', function () { return gulp.src('_dist/assets/css/goldnet.css') .pipe(csso({ restructure: false, sourceMap: true, debug: true })) .pipe(gulp.dest('_dist/assets/css')); }); gulp.task('default', () => gulp.src('_dist/assets/css/goldnet.css') .pipe(autoprefixer({ browsers: ['last 2 versions'], cascade: false })) .pipe(gulp.dest('_dist/assets/css')) ); /** * Default task, running just `gulp` will compile the sass, * compile the site, launch BrowserSync then watch * files for changes */ gulp.task('default', ['serve']);