Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const gulp = require('gulp-param')(require('gulp'), process.argv);
- const sass = require('gulp-sass');
- const concat = require('gulp-concat');
- const sourcemaps = require('gulp-sourcemaps');
- const postcss = require('gulp-postcss');
- const uglify = require('gulp-uglify');
- const autoprefixer = require('autoprefixer');
- const cssnano = require('cssnano');
- const gulpif = require('gulp-if');
- const plumber = require('gulp-plumber');
- const notify = require('gulp-notify');
- const browserSync = require('browser-sync').create();
- const themePath = 'src/theme';
- const assetsPath = 'src/theme/assets';
- // Settings to define
- // where are files are located
- const Paths = {
- build: assetsPath + '/build/',
- build_css: assetsPath + '/build/css/',
- sass_source: [
- assetsPath + '/src/scss/*.scss',
- assetsPath + '/src/scss/**/*.scss'
- ],
- sass_entry: assetsPath + '/src/scss/main.scss',
- build_js: assetsPath + '/build/js/',
- js_source: [
- assetsPath + '/vendor/jquery/dist/jquery.js',
- assetsPath + '/src/js/modernizr.js',
- assetsPath + '/vendor/foundation-sites/dist/plugins/foundation.core.js',
- assetsPath + '/vendor/foundation-sites/dist/plugins/foundation.util.*.js',
- assetsPath + '/vendor/foundation-sites/dist/plugins/foundation.accordion.js',
- // assetsPath + '/vendor/foundation-sites/dist/plugins/foundation.dropdown.js',
- // assetsPath + '/vendor/foundation-sites/dist/plugins/foundation.dropdownMenu.js',
- // assetsPath + '/vendor/foundation-sites/dist/plugins/foundation.drilldown.js',
- // assetsPath + '/vendor/foundation-sites/dist/plugins/foundation.responsiveMenu.js',
- // assetsPath + '/vendor/foundation-sites/dist/plugins/foundation.responsiveToggle.js',
- // assetsPath + '/vendor/foundation-sites/dist/plugins/foundation.equalizer.js',
- assetsPath + '/vendor/swiper/dist/js/swiper.jquery.js',
- assetsPath + '/vendor/fancybox/source/jquery.fancybox.js',
- assetsPath + '/src/js/gallery-fancybox.js',
- assetsPath + '/vendor/jquery-mousewheel/jquery.mousewheel.js',
- assetsPath + '/src/js/vertical-slider.js',
- assetsPath + '/src/js/horizontal-slider.js',
- assetsPath + '/src/js/member-single-slider.js',
- assetsPath + '/src/js/cards-slider.js',
- assetsPath + '/src/js/accordion-carousel.js',
- assetsPath + '/src/js/main-nav.js',
- assetsPath + '/src/js/secondary-nav.js',
- assetsPath + '/src/js/parallax.js',
- assetsPath + '/src/js/add-class-on-scroll.js',
- assetsPath + '/src/js/ajax-handlers.js',
- assetsPath + '/src/js/entry.js'
- ],
- fonts_source: [
- assetsPath + '/src/fonts/*',
- assetsPath + '/vendor/font-awesome/fonts/*',
- assetsPath + '/vendor/slick-carousel/slick/fonts/*'
- ],
- build_fonts: assetsPath + '/build/fonts/',
- img_source: [
- assetsPath + '/src/images/*',
- assetsPath + '/src/images/**/*',
- assetsPath + '/vendor/slick-carousel/slick/ajax-loader.gif',
- assetsPath + '/vendor/fancybox/source/*.png',
- assetsPath + '/vendor/fancybox/source/*.gif',
- ],
- build_img: assetsPath + '/build/images/',
- php_source: [
- themePath + '/*.php',
- themePath + '/functions/*.php',
- themePath + '/views/*.php',
- themePath + '/views/**/*.php',
- ]
- };
- // Build styles for dev
- gulp.task('styles', function (production) {
- var postcssArg = [
- autoprefixer({ browsers: ['> 2%', 'last 2 versions'] })
- ];
- if (production) postcssArg.push(cssnano);
- return gulp.src(Paths.sass_entry)
- .pipe(plumber({
- errorHandler: notify.onError(function (err) {
- return { title: 'styles', message: err.message };
- })
- }))
- .pipe(gulpif(!production, sourcemaps.init()))
- .pipe(sass())
- .pipe(postcss(postcssArg))
- .pipe(concat('main.css'))
- .pipe(gulpif(!production, sourcemaps.write()))
- .pipe(gulp.dest(Paths.build_css))
- .pipe(browserSync.stream());
- });
- // Build scripts for dev
- gulp.task('scripts', function (production) {
- return gulp.src(Paths.js_source)
- .pipe(plumber({
- errorHandler: notify.onError(function (err) {
- return { title: 'scripts', message: err.message };
- })
- }))
- .pipe(gulpif(!production, sourcemaps.init()))
- .pipe(concat('bundle.js'))
- .pipe(gulpif(!production, sourcemaps.write()))
- .pipe(gulpif(production, uglify()))
- .pipe(gulp.dest(Paths.build_js))
- .pipe(browserSync.stream());
- });
- // Copy fonts from given locations
- // to the build folder for production
- gulp.task('fonts', function () {
- return gulp.src(Paths.fonts_source)
- .pipe(gulp.dest(Paths.build_fonts))
- .pipe(browserSync.stream());
- });
- // Copy images from given locations
- // to the build folder for production
- gulp.task('images', function () {
- return gulp.src(Paths.img_source)
- // .pipe(imagemin())
- .pipe(gulp.dest(Paths.build_img))
- .pipe(browserSync.stream());
- });
- // Checks if something changes
- gulp.task('watch', function (proxy) {
- browserSync.init({
- ui: false,
- open: false,
- files: Paths.php_source,
- proxy,
- logPrefix: 'LOG',
- snippetOptions: {
- whitelist: ['/wp-admin/admin-ajax.php'],
- blacklist: ['/wp-admin/**']
- }
- });
- gulp.watch(Paths.sass_source, ['styles']);
- gulp.watch(Paths.js_source, ['scripts']);
- gulp.watch(Paths.fonts_source, ['fonts']);
- gulp.watch(Paths.img_source, ['images']);
- });
- gulp.task('build', ['styles', 'scripts', 'fonts', 'images']);
- gulp.task('default', ['build', 'watch']);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement