From 8bd469d1ad4c559ee61dc8aa0425d0226bbee895 Mon Sep 17 00:00:00 2001 From: Eric Jinks Date: Mon, 18 Dec 2017 10:05:05 +1000 Subject: [PATCH] Improve path parsing getImageUrl --- src/util/getImageUrl.js | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/util/getImageUrl.js b/src/util/getImageUrl.js index 2cd45aa..52e4de6 100644 --- a/src/util/getImageUrl.js +++ b/src/util/getImageUrl.js @@ -2,10 +2,17 @@ const sizes = [10, 300, 600, 1200, 1800] const outputDir = '/images/uploads/' const resizedDir = '/images/uploads/resized/' +const parseFilename = filename => { + const parts = filename.match(/(.+)\.([\w]+)$/) + return { + filename: parts[1], + extname: parts[2] + } +} + const getImageSrcset = path => { if (path.match(/^http/) || path.match(/svg$/)) return null - const filename = path.split('.').shift() - const extname = path.split('.').pop() + const { filename, extname } = parseFilename(path) const pathname = encodeURI(filename.replace(outputDir, resizedDir)) const srcset = sizes @@ -27,8 +34,7 @@ const getImageSrc = (path, sizeRequested) => { size = sizes[Math.ceil(sizes.length / 2)] } - const extname = path.split('.').pop() - const filename = path.split('.').shift() + const { filename, extname } = parseFilename(path) const pathname = encodeURI(filename.replace(outputDir, resizedDir)) return `${pathname}.${size}.${extname}` }