Files
sisvietnamvn_01/fix_img.js

39 lines
1.3 KiB
JavaScript

const fs = require('fs');
const cheerio = require('cheerio');
const file = 'sisvietnamvn/src/main/resources/templates/flex-finish.html';
const html = fs.readFileSync(file, 'utf8');
const $ = cheerio.load(html, { decodeEntities: false }, false);
$('img').each((i, el) => {
$(el).removeAttr('srcset');
$(el).removeAttr('data-srcset');
$(el).removeAttr('data-src');
let src = $(el).attr('src');
if (src) {
// Extract the filename from the src
let filename = src.split('/').pop().split('?')[0];
// Handle the base64 gif fallback
if (src.includes('data:image/gif')) {
// we have to find the filename from srcset or data-srcset
let altSrcset = $(el).attr('srcset') || $(el).attr('data-srcset');
if (altSrcset) {
let firstUrl = altSrcset.split(' ')[0];
filename = firstUrl.split('/').pop().split('?')[0];
} else {
// Hardcode for UMass Flex Header 1.png because it's lazyloaded
filename = 'UMass Flex Header 1.png';
}
}
filename = decodeURIComponent(filename);
$(el).attr('th:src', `@{/images/umass/${filename}}`);
$(el).removeAttr('src');
}
});
fs.writeFileSync(file, $.html());
console.log('Done fixing images!');