gulp.task('images:xlarge', function (done) { 'use strict'; // Options var imagesXLargeColorProfile = 'sRGB_v4_ICC_preference_displayclass.icc'; var imagesXLargeColorSpace = 'rgb'; console.log('Creating extra-large web images from ' + paths.img.source); if (fileExists.sync('_tools/profiles/' + imagesXLargeColorProfile)) { gulp.src(paths.img.source + '*.{' + filetypes + '}') .pipe(newer(paths.img.web)) .pipe(debug({title: 'Creating extra-large '})) .pipe(responsive({ '*': [{ width: 2048, quality: 90, upscale: false, suffix: '-2048' }] }).on('error', function (e) { console.log(e); })) .pipe(gm(function (gmfile) { return gmfile.profile('_tools/profiles/' + imagesXLargeColorProfile).colorspace(imagesXLargeColorSpace); }).on('error', function (e) { console.log(e); })) .pipe(gulp.dest(paths.img.web)); } else { console.log('Colour profile _tools/profiles/' + imagesXLargeColorProfile + ' not found. Exiting.'); return; } done(); });
gulp.task('images:printpdf', function (done) { 'use strict'; // Options var printPDFColorProfile = 'PSOcoated_v3.icc'; var printPDFColorSpace = 'cmyk'; console.log('Processing print-PDF images from ' + paths.img.source); if (fileExists.sync('_tools/profiles/' + printPDFColorProfile)) { gulp.src(paths.img.source + '*.{' + filetypes + '}') .pipe(newer(paths.img.printpdf)) .pipe(debug({title: 'Creating print-PDF version of '})) .pipe(gm(function (gmfile) { return gmfile.profile('_tools/profiles/' + printPDFColorProfile).colorspace(printPDFColorSpace); }).on('error', function (e) { console.log(e); })) .pipe(gulp.dest(paths.img.printpdf)); } else { console.log('Colour profile _tools/profiles/' + printPDFColorProfile + ' not found. Exiting.'); return; } done(); });
gulp.task('images:optimise', function (done) { 'use strict'; // Options var imagesOptimiseColorProfile = 'sRGB_v4_ICC_preference_displayclass.icc'; var imagesOptimiseColorSpace = 'rgb'; console.log('Processing screen-PDF, web, epub and app images from ' + paths.img.source); if (fileExists.sync('_tools/profiles/' + imagesOptimiseColorProfile)) { gulp.src(paths.img.source + '*.{' + filetypes + '}') .pipe(newer(paths.img.web)) .pipe(debug({title: 'Optimising '})) .pipe(responsive({ '*': [{ width: 810, quality: 90, upscale: false }] }).on('error', function (e) { console.log(e); })) .pipe(gm(function (gmfile) { return gmfile.profile('_tools/profiles/' + imagesOptimiseColorProfile).colorspace(imagesOptimiseColorSpace); }).on('error', function (e) { console.log(e); })) .pipe(gulp.dest(paths.img.screenpdf)) .pipe(gulp.dest(paths.img.web)) .pipe(gulp.dest(paths.img.epub)) .pipe(gulp.dest(paths.img.app)); } else { console.log('Colour profile _tools/profiles/' + imagesOptimiseColorProfile + ' not found. Exiting.'); return; } done(); });
'use strict'; const underscore = require('underscore'); const configExists = require('file-exists'); // Load environment dependent config variables const localEnv = process.env.NODE_ENV || 'development'; const environment = localEnv.toLowerCase(); const envConfigPath = `${__dirname}/env/${environment}.js`; let envConfig = {}; if (configExists.sync(envConfigPath)) { // eslint-disable-next-line import/no-dynamic-require, global-require envConfig = require(envConfigPath); } // Default config variables const defaultConfig = { environment, port: process.env.PORT || 5000, webConcurrency: process.env.WEB_CONCURRENCY || 1, apiKey: process.env.GAMBIT_API_KEY || 'totallysecret', // overridden in production to true forceHttps: false, }; const configVars = underscore.extend({}, defaultConfig, envConfig); /** * Winston Logger setup * We don't need to export the Logger. Just require adhoc in whatever file we need it,