From c9a57027a6a0d0032e415d1d371a71239a4fd580 Mon Sep 17 00:00:00 2001 From: Knight Date: Sat, 28 Dec 2024 11:40:25 -0500 Subject: [PATCH] Refactor image processing logic in generateSite.js to use a case-insensitive regex for file type checks and added a 'force' option for JPEG output. This improves flexibility in handling image formats and ensures consistent output quality. --- generateSite.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/generateSite.js b/generateSite.js index ec6ced0..b62e3c2 100644 --- a/generateSite.js +++ b/generateSite.js @@ -152,7 +152,7 @@ async function serveStaticSite(port = 3000) { console.log(`Parameters: quality=${quality}, width=${width}`); // If quality parameter is present, serve a resized version - if (quality && width && (filePath.endsWith('.jpg') || filePath.endsWith('.jpeg') || filePath.endsWith('.png'))) { + if (quality && width && /\.(jpe?g|png)$/i.test(filePath)) { // Case-insensitive check try { const Sharp = (await import('sharp')).default; @@ -175,7 +175,8 @@ async function serveStaticSite(port = 3000) { }) .jpeg({ quality: parseInt(quality), - progressive: true + progressive: true, + force: true // Force JPEG output regardless of input format }); // Get processed image info