Files

23 lines
742 B
Python

#!/usr/bin/env python3
"""Render scripts/og-image.html to public/og-image.png at 1200x630.
Run with the project's Playwright environment, e.g.:
/tmp/pwvenv/bin/python scripts/render-og.py
"""
import pathlib
from playwright.sync_api import sync_playwright
HERE = pathlib.Path(__file__).resolve().parent
SRC = HERE / "og-image.html"
OUT = HERE.parent / "public" / "og-image.png"
with sync_playwright() as p:
browser = p.chromium.launch(headless=True)
page = browser.new_page(viewport={"width": 1200, "height": 630}, device_scale_factor=1)
page.goto(SRC.as_uri())
page.wait_for_timeout(400) # let webfonts + cloud images settle
page.locator(".card").screenshot(path=str(OUT))
browser.close()
print("wrote", OUT)