%PDF- %PDF-
Direktori : /var/www/pn/wp-content/themes/intosai/ |
Current File : //var/www/pn/wp-content/themes/intosai/gulpfile.js |
// *********************************************** // UTVECKLA MOT SPECIFIK URL - Ändra FOLDER_NAME så att den pekar mot rätt mapp. const FOLDER_NAME = 'intosaidonor'; // UTVECKLING SKER LOKALT? TRUE || FALSE const LOCAL_DEVELOPMENT = true; // Imports const gulp = require('gulp'); const sass = require('gulp-sass'); const rename = require('gulp-rename'); const concat = require('gulp-concat'); const autoprefixer = require('gulp-autoprefixer'); const cleanCSS = require('gulp-clean-css'); const minify = require('gulp-minify'); const browserSync = require('browser-sync').create(); // Webbläsare som autoprefixer ska prefixa för const browsersList = [ 'last 2 versions', 'android 4', 'opera 12' ]; const cssDebug = true; const cssCompatibility = 'ie8'; // Sätter upp koppling mot utvecklingsmiljö let watchDependencies = ['build']; if (LOCAL_DEVELOPMENT) { gulp.task('browserSync', function () { const PROXY_URL = `localhost/${FOLDER_NAME}/`; browserSync.init({ proxy: PROXY_URL, notify: true }); }); watchDependencies.push('browserSync'); } // Kör SCSS flödet på angedd källa function doSassTasks(source, filename, destination) { let task = gulp.src(source) .pipe(sass()).on('error', sass.logError) .pipe(rename(filename)) .pipe(autoprefixer({ browsers: browsersList, cascade: false })) .pipe(cleanCSS({ compatibility: cssCompatibility, debug: cssDebug, rebase: false, }, function (details) { if (!cssDebug) { return; } console.log('/*************************/'); console.log(` ${details.name}: ${details.stats.originalSize}`); console.log(` ${details.name}: ${details.stats.minifiedSize}`); console.log('/*************************/'); })) .pipe(gulp.dest(destination)); if (LOCAL_DEVELOPMENT) { task = task.pipe(browserSync.reload({ stream: true })); } return task; } // Slår ihop all CSS gulp.task('css', function () { return doSassTasks('assets/styles/main.scss', 'structure.css', 'dist/css'); }); // Slår ihop admin CSS gulp.task('adminCss', function () { return doSassTasks('assets/styles/admin/admin.scss', 'admin.css', 'dist/css/admin'); }); // Slår ihop editor CSS gulp.task('editorCss', function () { return doSassTasks('assets/styles/admin/editor.scss', 'editor.css', 'dist/css/admin'); }); // Kör Javascript flödet på källfilerna i sources. function doJSTasks(sources, filename, destination) { let task = gulp.src(sources) .pipe(concat(filename)) .pipe(minify({ ext:{ src:'.js', min:'.min.js' }, exclude: ['tasks'], ignoreFiles: ['.combo.js', '-min.js'] })) .pipe(gulp.dest(destination)); if (LOCAL_DEVELOPMENT) { task = task.pipe(browserSync.reload({ stream: true })); } return task; } // Slår ihop alla script gulp.task('scripts', function () { let files = [ 'assets/scripts/jquery/jquery.1.10.2.js', 'assets/scripts/modernizer/modernizr.min.js', 'assets/scripts/plugins/owl-slider/owl.carousel.min.js', 'assets/scripts/plugins/bx-slider/jquery.bxslider.min.js', 'assets/scripts/plugins/pickadate/picker.js', 'assets/scripts/plugins/pickadate/picker.date.js', 'assets/scripts/plugins/pickadate/legacy.js', 'assets/scripts/plugins/validate/jquery.validate.js', 'assets/scripts/plugins/chart/chart.min.js', 'assets/scripts/plugins/canvg/canvg.min.js', 'assets/scripts/plugins/jquery-visible/jquery.visible.js', 'assets/scripts/plugins/jquery-scrollify/jquery.scrollify.js', 'assets/scripts/main.js', ]; return doJSTasks(files, 'main-dist.js', 'dist/js/'); }); // Slår ihop alla admin script gulp.task('scriptsAdmin', function () { let files = [ 'assets/scripts/admin/admin.js' ]; return doJSTasks(files, 'admin.js', 'dist/js/admin'); }); gulp.task('build', ['css', 'editorCss', 'adminCss', 'scripts', 'scriptsAdmin']) // Sätter upp watch commandot (gulp watch) för att automatiskt kompilera gulp.task('watch', watchDependencies, function () { gulp.watch('assets/styles/**/*.scss', ['css']); gulp.watch('assets/styles/admin/admin.scss', ['adminCss']); gulp.watch('assets/styles/admin/editor.scss', ['editorCss']); gulp.watch('assets/scripts/main.js', ['scripts']); gulp.watch('assets/scripts/admin/admin.js', ['scriptsAdmin']); if (LOCAL_DEVELOPMENT) { gulp.watch("./**/*.php").on('change', browserSync.reload); } });