My personal tool that I adapted for the company and my colleagues.

Overview

xarites-workflow

My personal tool that I adapted for the company and my colleagues.

XARITES THE CREATIVE AGENCY SRL

Automation workflow

Build Status

N|Solid

Created by Vecsei Szilveszter for Xarites.

This is our workflow tool for automating a series of tasks. We use Gulp + Webpack for fast development, here you will find a list of its features:

  • Convert SASS to CSS
  • Create source maps
  • Combine css files
  • Export SASS files to CSS files
  • Export JS modules
  • Bundle JS using webpack
  • Browser Sync

Tech

This tool must have the following to work properly:

  • node.js - be sure to have installed, do a version check node --version.

Installation

  • Copy this directory in your Plugin/Theme/WP root.
  • Navigate to it and run npm install
  • All npm tasks will be executed from here!

Configuration

This tool has a settings file(settins.js), this is the only file you will need to edit.

Settings README
appLocation your plugin path
appThemeLocation your theme path
urlToPreview your local url of the project
adminUrlToPreview your local admin url of the project
env your environment (development/production)

Usage

For plugins

I assume you use a boilderplate, I adapted to this one.

  • This tool is capable creating the file structure for you, hit:
npm run gulp-plugin-structure
  • All you need to do is to import and initialize all your modules from your modules directory in module-scripts.js, the tool will create a build directory using webpack, and automatically bundle all changes you make.
  • From this point you load only the bundle(scripts-bundled.js) from the build directory to the front-end.
  • You can also manually create only the js bundle with npm run gulp-scripts for client side, and npm run gulp-scripts-admin for the admin side.
npm run gulp-scripts

npm run gulp-scripts-admin

For css it works the same way, with the exception that there is only a module directory where you can create your SASS files.

  • All the SASS files from modules will be converted to CSS and bundeled in the build directory, this can also be done manually with npm run gulp-sass for client side, and npm run gulp-sass-admin for the admin side.
npm run gulp-sass

npm run gulp-sass-admin
  • You will load only the css bunle(styles-bundle.css) for the front-end.
  • If for any particular reason, you need the conversion only of the css modules, you can use npm run gulp-styles for the public conversion, and npm run gulp-styles-admin for the admin conversion, you will find the converted files in the build directory.
npm run gulp-styles

npm run gulp-styles-admin

Depending on where you work:

  • Hit gulp-watch to start the tool on the client side (will listen to the public directory)
  • Hit gulp-watch-admin to start the tool on the admin side (will listen to the admin directory)
  • You can create subdirectories in the modules folders
npm run gulp-watch

npm run gulp-watch-admin

For themes

Themes will use a simmilar structure like we have for plugins. To create the file structure use:

npm run gulp-theme-structure

This will create the assets directory with 2 subdirectories (admin and public). Everything is the same as I mentioned for plugins.

  • You will load only the css bunle(styles-bundle.css) and the js bundle(scripts-bundled.js) from the theme build directories.

Depending on where you work:

  • Hit gulp-watch-theme to start the tool on the client side (will listen to the public directory)
  • Hit gulp-watch-theme-admin to start the tool on the admin side (will listen to the admin directory)
npm run gulp-watch-theme

npm run gulp-watch-theme-admin
  • If for any particular reason, you need the conversion only of the css modules, you can use npm run gulp-styles-theme for the public conversion, and npm run gulp-styles-theme-admin for the admin conversion, you will find the converted files in the build directory.
npm run gulp-styles-theme

npm run gulp-styles-theme-admin
  • For manual creation of the css bundle you can use npm run gulp-sass-theme for client side and npm run gulp-sass-theme-admin for admin side.
npm run gulp-sass-theme

npm run gulp-sass-theme-admin
  • For manual creation of the js bundle you can use npm run gulp-scripts-theme for client side and gulp-scripts-theme-admin for admin side.
npm run gulp-scripts-theme

npm run gulp-scripts-theme-admin

Plugins

This tool is currently extended with the following plugins. Instructions on how to use them in your own application are linked below.

Plugin README
babel/core Babel compiler core.
preset-env A Babel preset for each environment.
wordpress/scripts Created by the official WP team.
babel-loader Babel module loader for webpack.
browser-sync Live CSS Reload & Browser Syncing.
gulp The streaming build system.
gulp-clean-css Minify css with clean-css.
gulp-cli Command line interface for gulp.
gulp-concat Concatenates files.
gulp-install Automatically install npm.
gulp-sass Gulp plugin for sass.
gulp-shell A handy command line interface for gulp.
gulp-sourcemaps Sourcemap support for gulpjs.
node-sass Wrapper around libsass
webpack Packs CommonJs/AMD modules for the browser.
webpack-cli CLI for webpack & friends

These are optional:

Plugin README
axios Promise based HTTP client for the browser and node.js
jquery JavaScript library for DOM operations

Development

Want to contribute? Great!

Make a change in your file and instantaneously see your updates! And of course, is open source, with a public repository on GitHub. To extend its features you can do the following:

Open your favorite Terminal and run these commands.npm

Dev Dependencies:

npm i -D <whatever you want>
or
npm i --save-dev <whatever you want>

Dependencies:

npm i -P <whatever you want>
or
npm i --save-prod <whatever you want>

License

MIT

Free Software, Hell Yeah!

You might also like...
Ethereal Billing System is meant to be used as a personal alternative to WHMCS.
Ethereal Billing System is meant to be used as a personal alternative to WHMCS.

Ethereal Billing System is meant to be used as a personal alternative to WHMCS. In no way is this as good or even better than WHMCS apart from the fact that is free and open source to the public.

Personal PHP MySQL query handler based on Eloquent using PDO.

🐳 Equivoluent Welcome to "Equivoluent" my personal PHP MySQL query handler using PDO. Equivoluent is based on Laravel's Eloquent. The goal of "Equivo

PHP_Depend is an adaptation of the established Java development tool JDepend. This tool shows you the quality of your design in terms of extensibility, reusability and maintainability.

PHP Depend Documentation PHP Depend for enterprise Available as part of the Tidelift Subscription. The maintainers of PHP Depend and thousands of othe

A tool for diff'ing this and OpenTHC lab metrics, creating their objects, and docs.

wcia-analytes-tool Consumes OpenTHC Lab Metrics and WCIA Analytes, and produces diff objects and docs for use in WA State interop. version 0.9.8 Getti

A tool that allows to quickly export data from Magento 1 and Magento 2 store and import it back into Magento 2

Simple Import / Export tool A tool that allows to quickly export data from Magento 1 and Magento 2 store and import it back into Magento 2. Table data

Skosmos is a web-based tool providing services for accessing controlled vocabularies, which are used by indexers describing documents and searchers looking for suitable keywords.

Skosmos is a web-based tool providing services for accessing controlled vocabularies, which are used by indexers describing documents and searchers looking for suitable keywords.

This tool is used to build and maintain browscap files.

Browser Capabilities Project This tool is used to build and maintain browscap files.

The swiss army knife for Magento developers, sysadmins and devops. The tool provides a huge set of well tested command line commands which save hours of work time. All commands are extendable by a module API.

netz98 magerun CLI tools for Magento 2 The n98 magerun cli tools provides some handy tools to work with Magento from command line. Build Status Latest

Owner
Vecsei Szilveszter
All I do is black magic.
Vecsei Szilveszter
YesilCMS is based on BlizzCMS and specifically adapted for VMaNGOS Core and includes new features and many bug fixes.

YesilCMS · YesilCMS is based on BlizzCMS and specifically adapted for VMaNGOS Core and includes new features and many bug fixes. Features In addition

yesilmen 12 Jan 4, 2023
Clean Code concepts adapted for PHP - A guide for producing readable, reusable, and refactorable PHP software

Clean Code concepts adapted for PHP - A guide for producing readable, reusable, and refactorable PHP software

Fabio Soares 172 Dec 25, 2022
Clean Code concepts adapted for PHP

Clean Code PHP Table of Contents Introduction Variables Use meaningful and pronounceable variable names Use the same vocabulary for the same type of v

Piotr Plenik 11.3k Jan 7, 2023
Clean Code concepts adapted for PHP

PHP Temiz Kod İçindekiler Giriş Değişkenler Anlamlı ve telaffuz edilebilir değişken isimleri kullanın Aynı türden değişkenler için aynı kelimeleri kul

Anıl Özmen 122 Dec 25, 2022
Magento 2 GDPR extension Free by Magepow helps websites comply with GDPR regulations, allowing customers to control personal data and avoid penalties.

Magento 2 GDPR extension Free by Magepow helps websites comply with GDPR regulations, allowing customers to control personal data and avoid penalties.

https://magepow.com 10 Dec 30, 2022
Your personal Self-hosted or offline YoutTube Kids!

New Tube You have a problem with youtube kids and need online youtube? This is yours. NewTube! Simply clone the project and put your mp4 video & cover

Javad Adib 7 Dec 28, 2022
my personal example of Laravel clean architecture

what is this repo about Clean Architect Laravel ###run we assume docker desktop is up and running open up a terminal cd project directory run "cp .env

Sadegh Salari 37 Dec 23, 2022
My Personal Bot

Rosebot My personal chat bot Query JSON Query { "query": { "sender": "sumith", "message": "hi" } } Query Command curl -s -X POST http:/

Emmadi Sumith Kumar 20 Aug 6, 2022
My personal uptime checker powered by Filament. ⚡️

About Laravel Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experie

Ryan Chandler 16 Sep 7, 2022
🐋 This project aims to broaden knowledge of system administration by using Docker: virtualizing several Docker images, creating them in a new personal virtual machine.

?? This project aims to broaden knowledge of system administration by using Docker: virtualizing several Docker images, creating them in a new personal virtual machine.

Anton Kliek 1 Jan 26, 2022