personal-homepage/config/shortcodes.js

31 lines
704 B
JavaScript

const Image = require('@11ty/eleventy-img')
const imageShortcode = async (imageObj = {}) => {
const widths = imageObj.widths || [300, 600, 900, 1200]
const className = imageObj.className || "image"
const sizes = "(min-width: 100px) 50vw, 100vw"
const metadata = await Image(imageObj.src, {
formats: ["webp"],
outputDir: "./_site/assets/images/generated/",
urlPath: "/assets/images/generated/",
widths: widths
})
const alt = imageObj.alt;
const imageAttributes = {
class: className,
alt,
sizes,
loading: "lazy",
decoding: "async",
}
return Image.generateHTML(metadata, imageAttributes)
}
module.exports = {
imageShortcode
}