remix-og-image
Version:
Build-time in-browser Open Graph image generation plugin for Remix.
41 lines (38 loc) • 1.08 kB
text/typescript
import { Readable } from 'node:stream';
import { Plugin } from 'vite';
interface Options {
/**
* Selector for the element to capture as the Open Graph image.
* @example "#og-image"
*/
elementSelector: string;
/**
* Relative path to the directory to store generated images.
* Relative to the client build assets (e.g. `/build/client`).
*/
outputDirectory: string;
/**
* Format of the generated image.
* @default "jpeg"
*/
format?: 'jpeg' | 'png' | 'webp';
writeImage?: (image: {
stream: Readable;
}) => Promise<void>;
browser?: {
executablePath?: string;
/**
* Custom media features.
* Use this to force media features like `prefers-color-scheme`
* or `prefers-reduced-motion`.
*
* @example
* mediaFeatures: {
* 'prefers-color-scheme': 'dark',
* }
*/
mediaFeatures?: Record<string, string>;
};
}
declare function openGraphImage(options: Options): Plugin;
export { openGraphImage };