Files
MyBlog-Next/src/utils/generateOgImages.tsx
T
u8b19 2f82febff4 fix: resolve non-latin char issue in generated OG images (#318)
Changes made
- update font source with Google font
- add error handling in font fetching logic
- update docs in dynamic-og-images blog post

---------

Co-authored-by: satnaing <satnaingdev@gmail.com>
2024-07-27 14:36:52 +07:00

21 lines
608 B
TypeScript

import { Resvg } from "@resvg/resvg-js";
import { type CollectionEntry } from "astro:content";
import postOgImage from "./og-templates/post";
import siteOgImage from "./og-templates/site";
function svgBufferToPngBuffer(svg: string) {
const resvg = new Resvg(svg);
const pngData = resvg.render();
return pngData.asPng();
}
export async function generateOgImageForPost(post: CollectionEntry<"blog">) {
const svg = await postOgImage(post);
return svgBufferToPngBuffer(svg);
}
export async function generateOgImageForSite() {
const svg = await siteOgImage();
return svgBufferToPngBuffer(svg);
}