diff options
Diffstat (limited to 'packages/web/src')
| -rw-r--r-- | packages/web/src/pages/s/index.astro | 39 |
1 files changed, 37 insertions, 2 deletions
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}`; + +--- <StarlightPage hasSidebar={false} frontmatter={{ - title: "Share", + title: title, pagefind: false, template: "splash", tableOfContents: false, + head: [ + { + tag: "meta", + attrs: { + property: "og:image", + content: ogImageUrl, + }, + }, + { + tag: "meta", + attrs: { + name: "twitter:image", + content: ogImageUrl, + }, + }, + ], }} > <Share api={apiUrl} data={data.messages} client:only="solid" /> |
