nuxt-og-image
Version:
Enlightened OG Image generation for Nuxt.
25 lines (24 loc) • 739 B
JavaScript
import { createBrowser } from "#og-image/bindings/chromium";
import { createError } from "h3";
import { createScreenshot } from "./screenshot.js";
const ChromiumRenderer = {
name: "chromium",
supportedFormats: ["png", "jpeg", "jpg"],
async debug() {
return {};
},
async createImage(ctx) {
const browser = await createBrowser();
const screenshot = await createScreenshot(ctx, browser).catch((e) => e);
await browser.close();
if (screenshot instanceof Error) {
return createError({
statusCode: 400,
cause: screenshot,
statusMessage: `[Nuxt OG Image] Failed to create screenshot ${screenshot.message}.`
});
}
return screenshot;
}
};
export default ChromiumRenderer;