rsnext/test/e2e/app-dir/metadata-dynamic-routes/app/(group)
Jiachi Liu 7aba242b75
feat: generate image metadata (#48362)
### What?

* Support `generateMetadata(props)` to dynamically generate multiple
metadata images at the same time

```js
// /app/opengraph-image.tsx
import { ImageResponse } from 'next/server';

export async function generateImageMetadata({params}) {
  const images = await ...;
  return images.map((img, idx) => ({
    size: { width: 1200, height: 600 },
    alt: img.text,
    contentType: 'image/png',
    id: idx,
  }));
}

export default async function ({params, id}) {
  const text = await getTextFor(id);
  return new ImageResponse(
    (
      <div
        style={{...}}>
        {text}
      </div>),
    { width: 1200, height: 600 },
  );
}
```

### How?

Use `<metadata image>/[[...__metadata_id__]]/route.js` to catch all
metadata images id, and then use this `params.__metadata_id__` as id
argument for dynamic generate image.

If there's param, then we create `<metadata image>/<id>`, if there's
only 1 static image without dynamic `generateImageMetadata` then we keep
use `<metadata image>`

Closes NEXT-896
2023-04-14 20:52:31 +00:00
..
blog Create unique route path for og under group routes (#47985) 2023-04-05 22:40:17 +00:00
dynamic/[size] feat: generate image metadata (#48362) 2023-04-14 20:52:31 +00:00
static Add suffix to static metadata images (#48202) 2023-04-12 14:30:31 +00:00
layout.tsx Create unique route path for og under group routes (#47985) 2023-04-05 22:40:17 +00:00
opengraph-image.tsx Create unique route path for og under group routes (#47985) 2023-04-05 22:40:17 +00:00
twitter-image.tsx Support og image with edge (#48086) 2023-04-07 16:27:32 -07:00