/WPGulp

🎯 Use Gulp with WordPress. An advanced & extensively documented Gulp WordPress boilerplate to help you kickstart a build-workflow for your WordPress plugins and themes. Gulp WordPress! — [2018 UPDATE]: We're building WPGulp v2.0; you can help → https://ahmda.ws/WPG2_

Primary LanguageJavaScriptGNU General Public License v2.0GPL-2.0

🙌 — If 500 people signup here, I will build a video series for WPGulp.


WP Gulp
🎯 Use Gulp with WordPress. An advanced & heavily documented Gulp WordPress boilerplate to help you kick start a build-workflow for your WordPress plugins and themes. Gulp WordPress!
A FOSS (Free & Open Source Software) project. Maintained by @AhmadAwais.

WPGulp — WordPress Gulp Workflow

Project Supported by WPGulp GitHub release

Use Gulp with WordPress. An advanced but portable Gulp workflow for WordPress. Start using Gulp with your WordPress plugins and themes.

wpgulp

Read: Introducing WPGulp: An Easy to Use WordPress Gulp Boilerplate

Table of Contents

ⓦ What Can WPGulp Do?

  1. Live reloads browser with BrowserSync
  2. CSS: Sass to CSS conversion, error catching, Autoprefixing, Sourcemaps, CSS minification, and Merging Media Queries
  3. JS: Concatenates & uglifies Vendor and Custom JS files
  4. Images: Minifies PNG, JPEG, GIF and SVG images
  5. Watches files for changes in CSS or JS
  6. Watches files for changes in PHP
  7. Corrects the line endings
  8. InjectCSS instead of browser page reload
  9. Generates .pot file for i18n and l10n

🎗 Getting Started?

→ Step #1. Download the Required Files

  • Download gulpfile.js, package.json, and .gitignore files inside the root folder of your WordPress plugin or WordPress theme
  • If you have cURL installed then you can run the following command to download all three files in one go (just make sure you open the root folder of your WordPress plugin or WordPress theme and download these files in the root):
curl -O https://raw.githubusercontent.com/ahmadawais/WPGulp/master/package.json && curl -O https://raw.githubusercontent.com/ahmadawais/WPGulp/master/gulpfile.js && curl -O https://raw.githubusercontent.com/ahmadawais/WPGulp/master/.gitignore

→ STEP #2: Editing the Project Variables

Configure the project variables E.g. paths, translation data, etc. in gulpfile.js. Project variables can be found in the following two comments

// START Editing Project Variables.
{PROJECT VARIABLES}
// STOP Editing Project Variables.

→ STEP #3: Installing NodeJS, NPM and Gulp

You need to have NodeJS & NPM installed. If it is installed, skip to installing Gulp. Otherwise, download NodeJS and install it. After installing NodeJS, you can verify the install of both NodeJS and Node Package Manager by typing the following commands. This step needs to be followed only once if you don't have NodeJS installed. No need to repeat it ever again.

node -v
# Results into v4.2.6

npm -v
# Results into 3.9.0

NodeJS and NPM are installed, now we need to install Gulp globally. To do that, run the following command

# For MAC OS X; run the following command with super user.
sudo npm install --global gulp

# For Linux; run the following command.
npm install --global gulp

→ STEP #4: Installing Node Dependencies

We are in the root folder of our WordPress plugin or WordPress theme at the moment, let's install the Node Dependencies. In the terminal run this command and wait for it to download all the NodeJS dependencies. It's a one-time process and can take about 5 minutes depending on the internet speed of your connection.

# For MAC OS X run the following command with super user.
sudo npm install

# For Linux run the following command.
npm install

→ STEP #5: Just run Gulp

Once the NodeJS dependencies are downloaded just run the following command to get up and running with WPGulp

# To start gulp
gulp

# To stop gulp press CTRL (⌃) + C

→ Optional Step #6: Images and Translation

To optimize images and generate WP POT translation file, you can run the following commands

# To optimize images
gulp images

# To generate WP POT translation file.
gulp translate

How to Update?

  1. Delete old files and download the latest gulpfile.js, package.json, and .gitignore files in the root of your WP project.
  2. Open your WordPress project (plugin/theme) root folder in the terminal and run
# For MAC OS X run the following command with super user.
sudo npm install
# For Linux run the following command.
npm install

Wait for the new dependencies to be downloaded. Once the download is complete type gulp and boom!

Project Dependencies

  • Built with Mac OS X but tested and works well with Linux as well as Windows.
  • You must have Git and NodeJS, and Gulp installed globally.

WPGulpTheme

Check out a basic WordPress theme implementation with WPGulp called WPGulpTheme. This theme demonstrates the architecture followed by default within WPGulp, which is most definitely optional.

To do

It's hard to maintain a FOSS free and open source software project on my own. Which is why there is a backlog and an incomplete to-do list.

  • Build WPGulp ✔︎
  • Write an introductory blog post about WPGulp ✔︎
  • Improve documentation with more easy to follow details ✔︎
  • Find sponsorship to produce free of cost video tutorials for WPGulp ⓦ
  • Write about the new WPGulp tasks, gulp images to optimize images and gulp translate to generate WP POT translation file.

Contribute

I am looking for WordPress ⓦ developers to contribute. I am open to all kinds of new NodeJS packages and workflows. I can always host custom, opinionated workflows in the form of a separate branch and WPGulp. Just make sure you follow the WordPress Coding Standards.

Changelog

Version 1.0.3

  • FIX: Required gulp-wp-pot
  • FIX: Required gulp-sort
  • IMPROVEMENT: Better docs for Translation variables

Version 1.0.2

  • NEW: Documentation update README.md
  • TASK: Image optimization gulp images
  • TASK: WP POT Translation file generation gulp translate

Version 1.0.1

  • BrowserSync
  • LineEndings

Version 1.0.0

  • First version
  • CSS, JS, PHP and Watch Routines

License

Released under GNU GPLv2.0 or later license. Copyright Ahmad Awais


🙌 — If 500 people signup here, I will build a video series for WPGulp.


This open source project is maintained by the help of awesome businesses listed below. What? Read more about it →