An advanced Gulp workflow for WordPress development with extensive documentation. Used by 40,000+ themes and plugins.
WPGulp (WordPress Gulp) π― An advanced & extensively documented Gulp WordPress workflow. Kick-start a build-workflow for your WordPress plugins and themes with Gulp. |
|
A FOSS (Free & Open Source Software) project. Maintained by @AhmadAwais. |
THATβ’
WPGulp
is an advanced & extensively documented Gulp.js
+ WordPress
workflow. It can help you kick-start a build-workflow for your WordPress plugins and themes with Gulp.js
, save you a lot of grunt work time, follow the DRY (Donβt Repeat Yourself) principle, and #0CJS
Zero-config JavaScript startup but still configurable via wpgulp.config.js
file. It is:
π» DEV ENVIRONMENT
- Live reload browser with BrowserSync
- Hotloading styles with CSS Injection
π¨ STYLES
- Sass to CSS conversion
- Merging media queries
- Error handling
- Auto-prefixing
- Minification
- Sourcemaps
π JavaScript
- Concatenation
- Minification/uglification
- Separate vendor and custom JS files handling
π IMAGES
- Minification/optimization of images
- File types:
.png
,.jpg
,.jpeg
,.gif
,.svg
π― TRANSLATION
- Generates
.pot
translation file for i18n and l10n
π WATCHING
- For changes in files to recompile
- File types:
.css
,.html
,.php
,.js
Run step #1
, #2
, and #3
quickly in one go β Run inside local WP installβs theme/plugin folder E.g. /wp.local/wp-content/plugins/your-plugin
or /wp.local/wp-content/themes/your-theme
directory.
# 1β Install WPGulp in your WordPress theme/plugin.
npx wpgulp
# 2β Now configure variables inside the `wpgulp.config.js` file.
# 3β Start your npm build workflow.
npm start
(npx is a package runner tool that comes with npm 5.2+ and higher).
π If you want to study the detailed installation of step
#1
,#2
, and#3
β then take a look at the steps below.
STEP #0
β Don't have Node.js
+ npm
installed? Read this. (CLICK TO EXPAND!)In case you are an absolute beginner to the world of Node.js
, JavaScript, and npm
packages β all you need to do is go to the Nodeβs site download + install Node on your system. This will install both Node.js
and npm
, i.e., node package manager β the command line interface of Node.js.
You can verify the install by opening your terminal app and typingβ¦
node -v
# Results into v9.11.2 β make sure you have Node >= 8 installed.
npm -v
# Results into 6.2.0 β make sure you have npm >= 5.3 installed.
STEP #1
β Download the Required FilesItβll take a couple of minutes to install.
npx wpgulp
(npx is a package runner tool that comes with npm 5.2+ and higher).
β οΈ Iβm assuming that there are no previously present similar files in the root of your folder. Otherwise, you need to merge these very carefully. E.g. You can include the
scripts
,devDependencies
in your currentpackage.json
file and so on for other files. If you run the above command all similar files will be overwritten.
STEP #2
β Editing the Project VariablesConfigure the project paths and other variables inside the wpgulp.config.js
file. This is a compulsory step.
STEP #3
β Start your projectOnce the installation is done, you can open your project (WordPress plugin/theme) folder and run the start script.
npm start
# To stop press CTRL (β) + C
OPTIONAL STEP #4
β More Scripts/TasksTo optimize images and generate WP POT translation file, or generate a RTL stylesheet you can run the following commands
# To optimize images.
npm run images
# To generate WP POT translation file.
npm run translate
# To generate RTL stylesheets and Sourcemap.
npm run styles-rtl
# To generate theme/plugin zip file without extranious files.
npm run zip
npx install-wpgulp
it will overwrite all the wpgulp files.npm install
commands in the root folder of your WordPress plugin/theme.Read whatβs π¦ new, π improved, π fixed, and if π docs got updated.
π Go read the entire changelog at this link β WPGulp Changelog β
Nothingβs ever complete, so bear with us while we keep iterating towards a better future.
'Coz every night I lie in bed The brightest colors fill my head A million dreams are keeping me awake I think of what the world could be A vision of the one I see A million dreams is all it's gonna take A million dreams for the world we're gonna make ...
β¦ listen to β A million dreams!
Me (Ahmad Awais) and my incredible wife (Maedah Batool) are two engineers who fell in love with open source and then with each other. You can read more about me here. If you or your company use any of my projects or like what Iβm doing then consider backing me. Iβm in this for the long run. An open-source developer advocate.
This repository is part of the NodeCLI.com course.
After building hundreds of developer automation tools used by millions of developers, I am sharing exactly how you can do it yourself with minimum effective effort. Learn to build Node.js & JavaScript based CLI (Command Line Interface) apps. Automate the grunt work, do more in less time, impress your manager, and help the community.
β Iβm sharing it all in this online video course. Node CLI Automation
without wasting a 1,000 hours β
This open source project is maintained by the help of awesome businesses listed below. What? Read more about it β
MIT Β© Ahmad Awais.
This project is inspired by the work of many awesome developers especially those who contribute to this project, Gulp.js, Babel, and many other dependencies as listed in the package.json
file. FOSS (Free & Open Source Software) for the win.
ahmadawais | MaedahBatool | akmur | marianrick | asharirfan | JeremyEnglert |
ajitbohra | noplanman | cdils | selrond | EugenioPetulla | FrankM1 |
isaacdanielanderson | JeffMatson | AdnanMuhib | mauryaratan | richtabor | saqibameen |
slushman |