Minor Changes
-
#8468
a8d72ceae
Thanks @bholmesdev! - Support theimg
component export for optimized images. This allows you to customize how optimized images are styled and rendered.When rendering an optimized image, Astro will pass the
ImageMetadata
object to yourimg
component as thesrc
prop. For unoptimized images (i.e. images using URLs or absolute paths), Astro will continue to pass thesrc
as a string.This example handles both cases and applies custom styling:
--- // src/components/MyImage.astro import type { ImageMetadata } from 'astro'; import { Image } from 'astro:assets'; type Props = { src: string | ImageMetadata; alt: string; }; const { src, alt } = Astro.props; --- { typeof src === 'string' ? ( <img class="custom-styles" src={src} alt={alt} /> ) : ( <Image class="custom-styles" {src} {alt} /> ) } <style> .custom-styles { border: 1px solid red; } </style>
Now, this components can be applied to the
img
component props object or file export:import MyImage from '../../components/MyImage.astro'; export const components = { img: MyImage }; # My MDX article