From 98b463603ae973a0e10998cf20d3269859f5ec0a Mon Sep 17 00:00:00 2001 From: Oj Date: Sat, 17 Jul 2021 14:53:58 +0100 Subject: [PATCH] [ImageCDN] Add color image gen --- src/imageCdn.js | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/src/imageCdn.js b/src/imageCdn.js index a66a9c2..79e61e8 100644 --- a/src/imageCdn.js +++ b/src/imageCdn.js @@ -5,9 +5,9 @@ import { exec } from 'child_process'; import axios from 'axios'; export default (manifest) => { - return manifest.images ? Promise.all(manifest.images.map(async (x, i) => { - const baseDir = join(distDir, 'img', manifest.name); + const baseDir = join(distDir, 'img', manifest.name); + return manifest.images ? Promise.all(manifest.images.map(async (x, i) => { const rawFile = join(baseDir, x.split('/').pop()); const rawExt = rawFile.split('.').pop(); @@ -16,6 +16,19 @@ export default (manifest) => { mkdirSync(baseDir, { recursive: true }); + if (!x.includes('http')) { + console.log('color', x, i, finalFile); + + try { + await new Promise((res) => exec(`convert -size 330x200 xc:${x.replace('(', '\\(').replace(')', '\\)')} "${finalFile}"`, res)); + } catch (e) { + console.error('Failed to use ImageMagick to resize and compress, copying file as backup'); + // copyFileSync(rawFile, finalFile); + } + + return `/img/${manifest.name}/${finalName}`; + } + console.log(x, i, rawFile, finalFile); const writer = createWriteStream(rawFile);