From 217b7fa3d78ea6c0a6220d3faa81541a7a5518f4 Mon Sep 17 00:00:00 2001 From: Patrick Alvin Alcala Date: Thu, 9 Oct 2025 16:44:07 +0800 Subject: [PATCH] Created optimizedLogo --- src/utils/scripts/optimizeLogo.js | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 src/utils/scripts/optimizeLogo.js diff --git a/src/utils/scripts/optimizeLogo.js b/src/utils/scripts/optimizeLogo.js new file mode 100644 index 0000000..ed48aac --- /dev/null +++ b/src/utils/scripts/optimizeLogo.js @@ -0,0 +1,30 @@ +import sharp from 'sharp' +import * as fs from 'fs' +import * as path from 'path' +import { consola } from 'consola' +;(async () => { + try { + const dirPath = path.resolve('../../../public') + const webpImage = 'src/assets/images/optimized/logo.webp' + const avifImage = 'src/assets/images/optimized/logo.avif' + const inputSrc = 'src/assets/images/logo.png' + + const avifBuffer = await sharp(inputSrc).avif({ quality: 60 }).resize(props.size).toBuffer() + await sharp(avifBuffer).toFile(avifImage) + + const webpBuffer = await sharp(inputSrc).webp({ quality: 75 }).resize(props.size).toBuffer() + await sharp(webpBuffer).toFile(webpImage) + + if (fs.existsSync(dirPath)) { + const inputSrc = '../../assets/images/logo.png' + const favicon = dirPath + '/favicon.png' + const faviconBuffer = await sharp(inputSrc).png({ quality: 90 }).resize(50).toBuffer() + await sharp(faviconBuffer).toFile(favicon) + consola.success('Favicon generated successfully') + } else { + consola.error('Directory does not exist:', dirPath) + } + } catch (error) { + consola.error('Error generating favicon:', error) + } +})()