From b97b15e0fe9ef5336dcb99e95b3cd604fc98a8c7 Mon Sep 17 00:00:00 2001 From: Jay V Date: Mon, 9 Jun 2025 16:42:13 -0500 Subject: share og image --- packages/web/package.json | 1 + packages/web/src/pages/s/index.astro | 39 ++++++++++++++++++++++++++++++++++-- 2 files changed, 38 insertions(+), 2 deletions(-) (limited to 'packages') diff --git a/packages/web/package.json b/packages/web/package.json index 283edb3c9..dc6654119 100644 --- a/packages/web/package.json +++ b/packages/web/package.json @@ -20,6 +20,7 @@ "ai": "catalog:", "astro": "5.7.13", "diff": "8.0.2", + "js-base64": "3.7.7", "luxon": "3.6.1", "marked": "15.0.12", "rehype-autolink-headings": "7.1.0", diff --git a/packages/web/src/pages/s/index.astro b/packages/web/src/pages/s/index.astro index a9eab7046..e39b57000 100644 --- a/packages/web/src/pages/s/index.astro +++ b/packages/web/src/pages/s/index.astro @@ -1,4 +1,5 @@ --- +import { Base64 } from "js-base64"; import config from "virtual:starlight/user-config"; import StarlightPage from '@astrojs/starlight/components/StarlightPage.astro'; @@ -12,15 +13,49 @@ const data = await res.json(); console.log(data.info) ---- +const title = "Share"; + +const encodedTitle = encodeURIComponent( + Base64.encode( + // Convert to ASCII + encodeURIComponent( + // Truncate to fit S3's max key size + title.substring(0, 700) + ) + ) +) +const cardService = "https://social-cards.sst.dev"; +const cost = "$0.12"; +const model = "claude-sonnet-4-20250514,claude-opus-4-20250514"; +const version = "v0.1.1"; +// ?cost=$0.12&model=claude-sonnet-4-20250514,claude-opus-4-20250514&version=v0.1.1&id=43120e6b +const ogImageUrl = `${cardService}/opencode-share/${encodedTitle}.png?cost=${cost}&model=${model}&version=${version}&id=${id}`; + +--- -- cgit v1.2.3