????JFIF??x?x????'
Server IP : 104.21.48.1 / Your IP : 216.73.216.145 Web Server : LiteSpeed System : Linux premium151.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64 User : tempvsty ( 647) PHP Version : 8.0.30 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/tempvsty/eaabusiness.com/wp-content/themes/zakra/ |
Upload File : |
/** * Gulp workflow for Zakra. * * Contains the gulp commands to run repetitive tasks. */ import browserSync from 'browser-sync'; import { globbySync } from 'globby'; import gulp from 'gulp'; import autoprefixer from 'gulp-autoprefixer'; import eslint from 'gulp-eslint'; import imagemin from 'gulp-imagemin'; import lec from 'gulp-line-ending-corrector'; import notify from 'gulp-notify'; import phpcs from 'gulp-phpcs'; import rename from 'gulp-rename'; import rtlcss from 'gulp-rtlcss'; import gulpSass from 'gulp-sass'; import stylelint from 'gulp-stylelint'; import _uglify from 'gulp-uglify-es'; import uglifycss from 'gulp-uglifycss'; import wpPot from 'gulp-wp-pot'; import zip from 'gulp-zip'; import _sass from 'node-sass'; import webfontgenerator from 'webfonts-generator'; let uglify = _uglify.default; let sass = gulpSass(_sass); // Project information. let info = { name: 'zakra', slug: 'zakra', url: 'https://zakratheme.com/', author: 'ThemeGrill', authorUrl: 'https://themegrill.com/', authorEmail: '[email protected]', teamEmail: '[email protected]', localUrl: 'tg.io/zakra', }; // Defines paths. let paths = { scss: { src: ['./assets/sass/**/*.scss'], dest: './', }, adminscss: { src: ['./inc/admin/sass/*.scss'], dest: './inc/admin/css/', }, gbscss: { src: ['./assets/sass/style-editor-block.scss'], dest: './', }, iconfont: { svg: getFileUrls('assets/svg/*.svg'), font: './assets/fonts', scss: './assets/sass/elements/_icons.scss', scssTemp: './automate/webfont-scss.hbs', cssFontPath: 'assets/fonts', }, controls: { scss: { src: './inc/customizer/controls/scss/**/*.scss', dest: './inc/customizer/controls/css', }, }, metabox: { scss: { src: './inc/meta-boxes/assets/sass/**/*.scss', dest: './inc/meta-boxes/assets/css', }, }, css: { src: ['./assets/css/*.css', '!./assets/css/*.min.css'], dest: './assets/css', }, rtlcss: { src: ['./style.css'], dest: './', }, prefixStyles: { src: './*.css', dest: './', }, lintFiles: { php: [ './*.php', './inc/**/*.php', '!./inc/**/webfonts.php', './template-parts/**/*.php', ], styles: ['./assets/sass/**/*.scss'], js: ['./assets/js/*-custom.js', '!./assets/js/*.min.js'], }, js: { src: [ './assets/js/*.js', '!./assets/js/*.min.js', '!./assets/js/build/**', '!./assets/js/meta/**', ], dest: './assets/js/', }, zakraCustomizePreviewJS: { src: [ './inc/customizer/assets/js/zakra-customize-preview.js', '!./inc/customizer/assets/js/zakra-customize-preview.min.js', ], dest: './inc/customizer/assets/js/', }, customizePreviewJS: { src: [ './inc/customizer/core/assets/js/customize-preview.js', '!./inc/customizer/core/assets/js/customize-preview.min.js', ], dest: './inc/customizer/core/assets/js/', }, php: { src: ['./*.php', './inc/**/*.php'], }, img: { src: ['./assets/img/**'], dest: './assets/img', }, zip: { src: [ '**', '!vendor', '!vendor/**', '!node_modules', '!node_modules/**', '!assets/sass', '!inc/admin/sass', '!inc/admin/sass/**', '!inc/meta-boxes/assets/sass', '!inc/meta-boxes/assets/sass/**', '!assets/sass/**', '!automate', '!automate/**', '!dest.xml', '!dist', '!dist/**', '!package.json', '!package-lock.json', '!composer.json', '!*.md', '!gulpfile.js', '!composer.lock', '!phpcs.xml', '!.gitlab', '!.gitlab/**', ], dest: './dist', }, rename: { src: [ './languages/zakra.pot', './assets/js/zakra-custom.js', './inc/class-zakra-css-classes.php', './inc/customizer/class-zakra-customizer.php', './inc/customizer/class-zakra-customizer-partials.php', './inc/customizer/class-zakra-customizer-sanitize.php', './inc/customizer/controls/php/class-zakra-customize-background-control.php', './inc/customizer/controls/php/class-zakra-customize-base-control.php', './inc/customizer/controls/php/class-zakra-customize-color-control.php', './inc/customizer/controls/php/class-zakra-customize-dimensions-control.php', './inc/customizer/controls/php/class-zakra-customize-editor-control.php', './inc/customizer/controls/php/class-zakra-customize-radio-buttonset-control.php', './inc/customizer/controls/php/class-zakra-customize-radio-image-control.php', './inc/customizer/controls/php/class-zakra-customize-slider-control.php', './inc/customizer/controls/php/class-zakra-customize-sortable-control.php', './inc/customizer/controls/php/class-zakra-customize-text-control.php', './inc/customizer/controls/php/class-zakra-customize-toggle-control.php', './inc/customizer/controls/php/class-zakra-customize-typography-control.php', './inc/customizer/controls/php/class-zakra-fonts.php', './inc/customizer/extend-customizer/class-zakra-customize-panel.php', './inc/customizer/extend-customizer/class-zakra-customize-section.php', ], }, theme: { src: [ '**', '!gulpfile.js', '!vendor', '!vendor/**', '!node_modules', '!node_modules/**', '!dest.xml', '!dist', '!dist/**', '!package-lock.json', ], }, }; /** * Gulp Series Tasks. */ // Style tasks. let styles = gulp.series(compileSass, prefixStyles); // Start a front-end development server. let server = gulp.series(browserSyncStart, watch); // Test code. let test = gulp.series(lintPHP, lintJS, lintStyle); // Build. let build = gulp.series( styles, generateRTLCSS, // Minify scripts, minifyCSS, minifyJs, minifyZakraCustomizePreviewJs, // Create zip, generatePotFile, compressZip, ); /** * Function definitions. */ // BrowserSync. function browserSyncStart(cb) { browserSync.init( { proxy: info.localUrl, }, cb, ); } // Reload the browser. function browserSyncReload(cb) { browserSync.reload(); cb(); } // Compile SCSS into CSS. function compileSass() { return gulp .src(paths.scss.src) .pipe( sass({ indentType: 'tab', indentWidth: 1, outputStyle: 'expanded', }), ) .pipe(lec({ verbose: true, eolc: 'LF', encoding: 'utf8' })) .pipe(gulp.dest(paths.scss.dest)) .pipe(browserSync.stream()) .on('error', notify.onError()); } // Compile admin SCSS into CSS. function compileAdminSass() { return gulp .src(paths.adminscss.src) .pipe( sass({ indentType: 'tab', indentWidth: 1, outputStyle: 'expanded', }), ) .pipe(lec({ verbose: true, eolc: 'LF', encoding: 'utf8' })) .pipe(gulp.dest(paths.adminscss.dest)) .pipe(browserSync.stream()) .on('error', notify.onError()); } // Compile customizer controls SCSS into CSS. function compileControlSass() { return gulp .src(paths.controls.scss.src) .pipe( sass({ indentType: 'tab', indentWidth: 1, outputStyle: 'expanded', }), ) .pipe( autoprefixer({ cascade: false, }), ) .pipe(gulp.dest(paths.controls.scss.dest)) .on('error', notify.onError()); } // Compile meta box SCSS into CSS. function compileMetaboxSass() { return gulp .src(paths.metabox.scss.src) .pipe( sass({ indentType: 'tab', indentWidth: 1, outputStyle: 'expanded', }), ) .pipe( autoprefixer({ cascade: false, }), ) .pipe(gulp.dest(paths.metabox.scss.dest)) .pipe(browserSync.stream()) .on('error', notify.onError()); } // Compile Gutenberg SCSS into CSS. function compilegbsass() { return gulp .src(paths.gbscss.src) .pipe( sass({ indentType: 'tab', indentWidth: 1, outputStyle: 'expanded', }), ) .pipe(lec({ verbose: true, eolc: 'LF', encoding: 'utf8' })) .pipe(gulp.dest(paths.gbscss.dest)) .pipe(browserSync.stream()) .on('error', notify.onError()); } // Prefix CSS. function prefixStyles() { return gulp .src(paths.prefixStyles.src) .pipe( autoprefixer({ cascade: false, }), ) .pipe(gulp.dest(paths.prefixStyles.dest)) .on('error', notify.onError()); } // Generate RTL CSS file. function generateRTLCSS() { return gulp .src(paths.rtlcss.src) .pipe(rtlcss()) .pipe(rename({ suffix: '-rtl' })) .pipe(gulp.dest(paths.rtlcss.dest)) .pipe(browserSync.stream()) .on('error', notify.onError()); } // Minify css file. function minifyCSS() { return gulp .src(paths.css.src) .pipe(uglifycss()) .pipe(rename({ suffix: '.min' })) .pipe(gulp.dest(paths.css.dest)); } // Lint php through phpcs and PHPCompatibility. function lintPHP() { return gulp .src(paths.lintFiles.php) .pipe( phpcs({ bin: 'vendor/bin/phpcs', standard: 'phpcs.xml', warningSeverity: 0, }), ) .pipe(phpcs.reporter('log')) .pipe(phpcs.reporter('fail', { failOnFirst: false })) .on('error', notify.onError()); } // Lint scss,css file through stylelint. function lintStyle() { return gulp .src(paths.lintFiles.styles) .pipe( stylelint({ failAfterError: true, reporters: [{ formatter: 'string', console: true }], }), ) .on('error', notify.onError()); } // Lint js files through eslint. function lintJS() { return gulp .src(paths.lintFiles.js) .pipe(eslint()) .pipe(eslint.format()) .on('error', notify.onError()); } // Minify image files. function minifyImg() { return gulp .src(paths.img.src) .pipe(imagemin()) .pipe(gulp.dest(paths.img.dest)) .on('error', notify.onError()); } // Minify zakra customizer preview js. function minifyZakraCustomizePreviewJs() { return gulp .src(paths.zakraCustomizePreviewJS.src) .pipe(uglify()) .pipe(rename({ suffix: '.min' })) .pipe(gulp.dest(paths.zakraCustomizePreviewJS.dest)) .on('error', notify.onError()); } // Minify the js files. function minifyJs() { return gulp .src(paths.js.src) .pipe(uglify()) .pipe(rename({ suffix: '.min' })) .pipe(gulp.dest(paths.js.dest)) .on('error', notify.onError()); } // Generate iconfont from svgs. function generateWebfonts(cb) { webfontgenerator( { fontName: 'themegrill-icons', files: paths.iconfont.svg, dest: paths.iconfont.font, cssDest: paths.iconfont.scss, cssTemplate: paths.iconfont.scssTemp, cssFontsUrl: paths.iconfont.cssFontPath, }, cb, ); } // Generate translation file. function generatePotFile() { return gulp .src(paths.php.src) .pipe( wpPot({ domain: info.slug, package: info.name, bugReport: info.authorEmail, team: info.teamEmail, }), ) .pipe(gulp.dest('languages/' + info.slug + '.pot')) .on('error', notify.onError()); } // Compress theme into a zip file. function compressZip() { return gulp .src(paths.zip.src, { encoding: false }) .pipe( rename(function (path) { path.dirname = info.slug + '/' + path.dirname; }), ) .pipe(zip(info.slug + '.zip')) .pipe(gulp.dest(paths.zip.dest)) .on('error', notify.onError()) .pipe( notify({ message: 'Great! Package is ready', title: 'Build successful', }), ); } // Get URLs of files. function getFileUrls(path) { let out = []; out = out.concat(globbySync(path)); return out; } // Watch for file changes. function watch() { gulp.watch(paths.scss.src, styles); gulp.watch(paths.customizePreviewJS.src, minifyJs); gulp.watch(paths.zakraCustomizePreviewJS.src, minifyJs); gulp.watch(paths.adminscss.src, compileAdminSass); gulp.watch(paths.controls.scss.src, compileControlSass); gulp.watch(paths.metabox.scss.src, compileMetaboxSass); gulp.watch(paths.js.src, browserSyncReload); gulp.watch(paths.php.src, browserSyncReload); } /** * Define tasks. */ export { browserSyncReload, browserSyncStart, build, compileAdminSass, compileControlSass, compileMetaboxSass, compileSass, compilegbsass, compressZip, generatePotFile, generateRTLCSS, generateWebfonts, lintJS, lintPHP, lintStyle, minifyCSS, minifyImg, minifyJs, minifyZakraCustomizePreviewJs, prefixStyles, server, styles, test, watch, };