UNPKG

adgile

Version:

An easy-to-use automated front-end setup.

55 lines (47 loc) 1.44 kB
'use strict' /** * A module for running the `adg inline` task * @module task.inline */ const chalk = require('chalk'), gulp = require('gulp'), fs = require('fs-extra'), inlineCSS = require('gulp-inline-css'), globule = require('globule'); /** * Inlines all files in the current folder, unless a specific filename is specified. * @param {*} callback */ function runTask(cb) { let singleFile = false; let files; let numFiles; if (!process.argv[3]) { if (!globule.find('./*.html').length) { console.log(chalk.red('No HTML files found. Are you in the right directory?')); cb(null); process.exit(0); } numFiles = globule.find('./*.html').length; files = ['./*.html']; } else { files = process.argv[3]; singleFile = true; numFiles = 1; } if( singleFile && !fs.pathExists(files)) { console.log(chalk.red('File not found. Please provide an existing HTML file name.')); cb(null); process.exit(0); } return gulp.src(files, { read: true }) .pipe(inlineCSS({ preserveMediaQueries: true })) .pipe(gulp.dest('./_export')) .on('finish', () => { console.log(chalk.green('✓ CSS inline complete. ' + numFiles + ' files exported.')); }); cb(null); } module.exports = { runTask }