// Генерирует static/og/default.png — дефолтная OG-карточка 1200×630. // Запуск: pnpm --dir web gen:og. Карточка рисуется в браузере (текст, иконки), // per-tool карточки — этим же harness позже (docs/plan-seo.md S1e). import { mkdirSync } from "node:fs"; import { chromium } from "playwright"; const W = 1200; const H = 630; const IMAGE_ICON = ``; function cardHtml() { return `
EP
easy-png-tools
PNG utilities right in your browser
Convert · Crop · Resize — locally, no uploads
${IMAGE_ICON}
`; } mkdirSync(new URL("../static/og/", import.meta.url), { recursive: true }); const browser = await chromium.launch(); try { const page = await browser.newPage({ viewport: { width: W, height: H } }); await page.setContent(cardHtml()); await page.screenshot({ path: new URL("../static/og/default.png", import.meta.url).pathname.replace( /^\/([A-Za-z]:)/, "$1", ), }); console.log(`og/default.png written (${W}x${H})`); } finally { await browser.close(); }