const Image = require('@11ty/eleventy-img'); const path = require('path'); const imageShortcode = async (src, pcls, cls, alt, loading, sizes = '100vw') => { if (!alt) { throw new Error(`Missing \`alt\` on Image from: ${src}`); } let metadata = await Image(src, { widths: [400, 700, 1280], formats: ['avif', 'webp', 'jpeg'], urlPath: '/_assets/images/', outputDir: './dist/_assets/images/', // Custom Image Filename filenameFormat: function (id, src, width, format, options) { const extension = path.extname(src); const name = path.basename(src, extension); return `${name}-${width}w.${format}`; } }); let lowsrc = metadata.jpeg[0]; return ` ${Object.values(metadata) .map(imageFormat => { return ` `; }) .join('\n')} ${alt} `; }; module.exports = imageShortcode;