diff --git a/lib/og.js b/lib/og.js index 8c96434..69144e7 100644 --- a/lib/og.js +++ b/lib/og.js @@ -485,17 +485,21 @@ export async function generateOgImages(contentDir, cacheDir, siteName, batchSize // Render SVG to PNG using the system resvg CLI // Requires: pkg install resvg const outPath = join(ogDir, `${slug}.png`); - const resvgProc = spawnSync( - "resvg", - ["-w", String(WIDTH), "-b", COLORS.bg, "-o", outPath, "-"], - { input: svg, encoding: null } - ); - if (resvgProc.error) { - throw resvgProc.error; - } - if (resvgProc.status !== 0) { - throw new Error(`resvg CLI failed: ${resvgProc.stderr?.toString()}`); - } + console.log(`[og] Generating: ${outPath}`); + const result = spawnSync('resvg', ["-w", String(WIDTH), "-b", COLORS.bg, "-o", outPath, "-"], { input: svg, encoding: null }); + if (result.error) { + console.error(`[og] resvg CLI error for ${outPath}:`, result.error); + throw result.error; + } + if (result.status !== 0) { + console.error(`[og] resvg CLI failed for ${outPath}:`, result.stderr && result.stderr.toString()); + throw new Error(result.stderr && result.stderr.toString()); + } + if (!result.stdout || result.stdout.length === 0) { + console.error(`[og] resvg CLI produced no output for ${outPath}`); + throw new Error('resvg CLI produced no output'); + } + console.log(`[og] Wrote: ${outPath}`); newManifest[slug] = { title: slug, hash }; generated++;