import { ImageResponse } from "next/og";
import { readFile } from "node:fs/promises";
import { join } from "node:path";
export const size = {
width: 1200,
height: 630,
};
export const contentType = "image/png";
export async function generateHomeImage() {
return generateImage(
overreacted
by
,
);
}
export async function generatePostImage({ title }) {
return generateImage(
overreacted
by
{title}
,
);
}
async function generateImage(jsx) {
return new ImageResponse(jsx, {
...size,
fonts: [
{
name: "Montserrat",
data: await montserratExtraBold,
style: "normal",
weight: 900,
},
{
name: "Merriweather",
data: await merriweatherRegular,
style: "normal",
weight: 500,
},
{
name: "Merriweather",
data: await merriweatherItalic,
style: "italic",
weight: 500,
},
],
});
}
const montserratExtraBold = readFile(
join(process.cwd(), "og/Montserrat-ExtraBold.ttf"),
);
const merriweatherRegular = readFile(
join(process.cwd(), "og/Merriweather-Regular.ttf"),
);
const merriweatherItalic = readFile(
join(process.cwd(), "og/Merriweather-Italic.ttf"),
);