INTEGRITY Документация

vercel/og

@vercel/og Pages Plugin - это middleware, который создает изображения для социальных сетей для веб-страниц. Он также включает API для создания произвольных изображений.

Как следует из названия, это работает на основе @vercel/og. Этот плагин и лежащий в его основе Satori библиотека создана командой Vercel.

Установить

Чтобы установить @vercel/og Pages Plugin, выполните:

npm i @cloudflare/pages-plugin-vercel-og

Использование

import React from "react";
import vercelOGPagesPlugin from "@cloudflare/pages-plugin-vercel-og";

interface Props {
	ogTitle: string;
}

export const onRequest = vercelOGPagesPlugin<Props>({
	imagePathSuffix: "/social-image.png",
	component: ({ ogTitle, pathname }) => {
		return <div style={{ display: "flex" }}>{ogTitle}</div>;
	},
	extractors: {
		on: {
			'meta[property="og:title"]': (props) => ({
				element(element) {
					props.ogTitle = element.getAttribute("content");
				},
			}),
		},
	},
	autoInject: {
		openGraph: true,
	},
});

Плагин принимает объект с шестью свойствами:

Создавайте произвольные изображения

Используйте API этого плагина для генерации произвольных изображений, а не только в качестве middleware.

Например, приведённый ниже код создаёт изображение с надписью «Hello, world!», доступное по адресу /greet.

import React from "react";
import { ImageResponse } from "@cloudflare/pages-plugin-vercel-og/api";

export const onRequest: PagesFunction = async () => {
  return new ImageResponse(
    <div style={{ display: "flex" }}>Hello, world!</div>,
    {
      width: 1200,
      height: 630,
    }
  );
};

Это тот же API, который используется базовым @vercel/og библиотека предлагает.