Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Gulp and WordPress

Gulp and WordPress

A talk for the WordPress Meetup #2 in Varna (January 27, 2017)

Nikola Boychev

January 27, 2017
Tweet

Other Decks in Technology

Transcript

  1. Build Tools • Package management • Code Lint • Optimisation

    • Test • Compilation • Deploy • Others
  2. NodeJS Streams • Streams make programming in node simple and

    elegant • You can just snap together the streaming modules like lego bricks or garden hoses • .pipe()
  3. Node Glob • Gulp uses node-glob • Globs are patterns

    • The most common ones: • “filename.ext” - matches just the file named “filename.ext” • “dir/*.ext” - matches all the files with extension “ext” in directory “dir” • “dir/**/*.ext” - matches all the files with extension “ext” in “dir” and its sub directories • “dir/**/*” - matches all the files in “dir” and its sub directories
  4. How to install Gulp 1. $ npm init 2. $

    npm install --global gulp-cli 3. $ npm install --save-dev gulp
  5. SASS var gulp = require('gulp'); var sass = require('gulp-sass'); //

    SASS task gulp.task('sass', function() { gulp.src('./src/sass/app.scss') // Compile SASS .pipe(sass()) // Save the processed css to file .pipe(gulp.dest('./assets/css')); }); // Default task (used for fallback, when running gulp, without task specified.) gulp.task('default', ['sass']);
  6. SASS var gulp = require('gulp'); var sass = require('gulp-sass'); //

    SASS task gulp.task('sass', function() { gulp.src('./src/sass/app.scss') // Compile SASS .pipe(sass()) // Save the processed css to file .pipe(gulp.dest('./assets/css')); }); // Default task (used for fallback, when running gulp, without task specified.) gulp.task('default', ['sass']);
  7. SASS var gulp = require('gulp'); var sass = require('gulp-sass'); //

    SASS task gulp.task('sass', function() { gulp.src('./src/sass/app.scss') // Compile SASS .pipe(sass()) // Save the processed css to file .pipe(gulp.dest('./assets/css')); }); // Default task (used for fallback, when running gulp, without task specified.) gulp.task('default', ['sass']);
  8. SASS var gulp = require('gulp'); var sass = require('gulp-sass'); //

    SASS task gulp.task('sass', function() { gulp.src('./src/sass/app.scss') // Compile SASS .pipe(sass()) // Save the processed css to file .pipe(gulp.dest('./assets/css')); }); // Default task (used for fallback, when running gulp, without task specified.) gulp.task('default', ['sass']);
  9. SASS var gulp = require('gulp'); var sass = require('gulp-sass'); //

    SASS task gulp.task('sass', function() { gulp.src('./src/sass/app.scss') // Compile SASS .pipe(sass()) // Save the processed css to file .pipe(gulp.dest('./assets/css')); }); // Default task (used for fallback, when running gulp, without task specified.) gulp.task('default', ['sass']);
  10. SASS var gulp = require('gulp'); var sass = require('gulp-sass'); //

    SASS task gulp.task('sass', function() { gulp.src('./src/sass/app.scss') // Compile SASS .pipe(sass()) // Save the processed css to file .pipe(gulp.dest('./assets/css')); }); // Default task (used for fallback, when running gulp, without task specified.) gulp.task('default', ['sass']);
  11. SASS var gulp = require('gulp'); var sass = require('gulp-sass'); //

    SASS task gulp.task('sass', function() { gulp.src('./src/sass/app.scss') // Compile SASS .pipe(sass()) // Save the processed css to file .pipe(gulp.dest('./assets/css')); }); // Default task (used for fallback, when running gulp, without task specified.) gulp.task('default', ['sass']);
  12. JS Concat var gulp = require('gulp'); var concat = require('gulp-concat');

    // JS task gulp.task('js', function() { gulp.src([ ‘./src/js/modules/**/*.js’, ‘./src/js/app.js’ ]) // Concat JS .pipe(concat('app.js')) // Save the processed js to file .pipe(gulp.dest('./assets/js')) }) // Default task (used for fallback, when running gulp, without task specified.) gulp.task('default', ['js']);
  13. JS Concat var gulp = require('gulp'); var concat = require('gulp-concat');

    // JS task gulp.task('js', function() { gulp.src([ ‘./src/js/modules/**/*.js’, ‘./src/js/app.js’ ]) // Concat JS .pipe(concat('app.js')) // Save the processed js to file .pipe(gulp.dest('./assets/js')) }) // Default task (used for fallback, when running gulp, without task specified.) gulp.task('default', ['js']);
  14. JS Concat var gulp = require('gulp'); var concat = require('gulp-concat');

    // JS task gulp.task('js', function() { gulp.src([ ‘./src/js/modules/**/*.js’, ‘./src/js/app.js’ ]) // Concat JS .pipe(concat('app.js')) // Save the processed js to file .pipe(gulp.dest('./assets/js')) }) // Default task (used for fallback, when running gulp, without task specified.) gulp.task('default', ['js']);
  15. Resources • WordPress Theme Gulp Boilerplate: github.com/NBoychev/wp-gulp-boilerplate • Useful stuff:

    • Gulp docs: https://gulp.readme.io/ • Streams: https://gulp.readme.io/docs/understanding-streams • Node Glob: https://github.com/isaacs/node-glob