text: 'use strict';
  
  var gulp = require('gulp');
  var series = require('async/series');
  var icomoonConverter = require('gulp-icomoon-converter');
  var minimatch = require('minimatch');
  var plumber = require('gulp-plumber');
  var rename = require('gulp-rename');
  var unzip = require('gulp-unzip');
  
  // Example Gulp task to demonstrate how plugin can be used to convert icomoon.io project and fonts distributive
  // into SCSS configuration file with list of icons and set of font files inside project's assets directory
  gulp.task('font-icons', function (cb) {
      // There is number of configuration variables to define extensibility points
      // It is not needed to keep them in this way
  
      // Path to project file, generated by icomoon.io
      // It is required to for generation of list of font icons
      var icomoonProjectFile = 'icons/example.json';
      // Path to font icons distributive, generated by icomoon.io
      var icomoonDistributive = 'icons/example.zip';
      // List of font file formats that needs to be copied into project
      var iconFontsFileFormats = ['woff', 'ttf'];
      // Target name for font files with icons
      var fontFilesTargetName = 'icons';
      // Target path for font files with icons
      var fontFilesTargetPath = 'assets/font-icons';
      // Target path to store file with information about font icons to
      var iconsInfoTargetPath = 'info';
  
      series([
          function (next) {
              // Unpack icomoon.io distributive file, extract font files of requested formats
              // and put them into project's assets directory under required name
              gulp.src(icomoonDistributive)
                  .pipe(plumber())
                  .pipe(unzip({
                      filter: function (entry) {
                          // We only need font files to be extracted from distributive and only into defined formats
                          return minimatch(entry.path, 'fonts/*.+(' + iconFontsFileFormats.join('|') + ')');
                      }
                  }))
                  .pipe(rename({
                      dirname: '',        // Remove "fonts" directory path that is available into distributive
                      basename: fontFilesTargetName
                  }))
                  .pipe(gulp.dest(fontFilesTargetPath))
                  .on('error', function () {
                      console.log(['icomoon.io converter: icons extraction failed', arguments])
                  })
                  .on('end', next);
          },
          function (next) {
              // Generate file with font icons information
              gulp.src(icomoonProjectFile)
                  .pipe(plumber())
                  .pipe(icomoonConverter({
                      // You can add various options here, refer documentation for details
                  }))
                  .pipe(gulp.dest(iconsInfoTargetPath))
                  .on('error', function () {
                      console.log(['icomoon.io converter: icons information generator failed', arguments])
                  })
                  .on('end', next);
          }
      ], cb);
  });
  