From a81117972d39df35574bbab809bb590abc874761 Mon Sep 17 00:00:00 2001 From: Valentin Popov Date: Sat, 14 Jun 2025 19:25:16 +0000 Subject: feat: implement Open Graph image generation and enhance configuration - Added ogImages integration to generate Open Graph images for blog posts. - Updated configuration to include Open Graph settings and default preview image. - Refactored Head component to utilize new preview property for Open Graph meta tags. - Enhanced blog post schema to include preview image for structured data representation. - Introduced utility functions for creating Open Graph images with dynamic content. --- src/utils/ogResources.ts | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 src/utils/ogResources.ts (limited to 'src/utils/ogResources.ts') diff --git a/src/utils/ogResources.ts b/src/utils/ogResources.ts new file mode 100644 index 0000000..8049fb2 --- /dev/null +++ b/src/utils/ogResources.ts @@ -0,0 +1,15 @@ +import { config } from "../config"; +import fs from "fs/promises"; +import path from "path"; +import sharp from "sharp"; + +export const resources = { + fonts: { + regular: await fs.readFile(path.resolve(config.og.fonts.regular)), + bold: await fs.readFile(path.resolve(config.og.fonts.bold)), + }, + photoBase64: await (async () => { + const buf = await fs.readFile(path.resolve(config.og.photo)); + return "data:image/png;base64," + (await sharp(buf).resize(120, 120).png({ quality: 95 }).toBuffer()).toString("base64"); + })(), +}; -- cgit v1.2.3