Skip to content

feat: social share card meta (og/twitter) - #3

Merged
0froq merged 2 commits into
mainfrom
cursor/og-meta-share-card-736e
Oct 12, 2026
Merged

0froq merged 2 commits into
mainfrom
cursor/og-meta-share-card-736e

Conversation

@0froq

@0froq 0froq commented Oct 12, 2026 •

Copy link
Copy Markdown
Owner

Site-wide Open Graph and Twitter tags so pasted links show a large preview card. Pages that already have their own title/description keep those in the share tags.

Tags

On every page:

  • twitter:card = summary_large_image
  • og:title, og:description
  • og:image (absolute URL, 1200×630 PNG)
  • og:image:secure_url, og:image:type, og:image:width, og:image:height, og:image:alt
  • og:url (canonical absolute URL)
  • og:type (website by default; article on docs and generic content pages)
  • og:site_name = froq/ui
  • twitter:title, twitter:description, twitter:image, twitter:image:alt

og:image URL

https://ui.froq.me/og.png

Production origin is https://ui.froq.me (live 200). README updated to match. The old Pages hostname ui-a09.pages.dev is gone.

Open Graph share image

Per-page overrides

  • Home: title froq/ui, description from hero.lede (locale-aware)
  • Docs (/docs/*): content title / description, og:type = article
  • Generic content pages: same as docs
  • Components index: components.title / components.lede
  • Concept pages: concept id as title; component names as description
  • Component pages: component name / reference description
  • Changelog: changelog.title / changelog.lede
  • Error: notFound.title / status message

Generated HTML

pnpm generate prerendered 284 routes. All 140 HTML files contain twitter:card=summary_large_image and https://ui.froq.me/og.png. No leftover ui-a09.pages.dev.

dist/index.html:

<meta name="description" content="Small controls, shared behavior, one visual language. Built for froq’s projects, with the details still open to refinement.">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="froq/ui">
<meta name="twitter:description" content="Small controls, shared behavior, one visual language. Built for froq’s projects, with the details still open to refinement.">
<meta name="twitter:image" content="https://ui.froq.me/og.png">
<meta name="twitter:image:alt" content="froq/ui">
<meta property="og:site_name" content="froq/ui">
<meta property="og:type" content="website">
<meta property="og:title" content="froq/ui">
<meta property="og:description" content="Small controls, shared behavior, one visual language. Built for froq’s projects, with the details still open to refinement.">
<meta property="og:url" content="https://ui.froq.me">
<meta property="og:image" content="https://ui.froq.me/og.png">
<meta property="og:image:secure_url" content="https://ui.froq.me/og.png">
<meta property="og:image:type" content="image/png">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="630">
<meta property="og:image:alt" content="froq/ui">

dist/docs/install/index.html (per-page title/description/og:type=article):

<meta name="description" content="Vendor the library into a project's vendor/ui with subtree, and commit it there.">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Install — froq/ui">
<meta name="twitter:description" content="Vendor the library into a project's vendor/ui with subtree, and commit it there.">
<meta name="twitter:image" content="https://ui.froq.me/og.png">
<meta property="og:type" content="article">
<meta property="og:title" content="Install — froq/ui">
<meta property="og:description" content="Vendor the library into a project's vendor/ui with subtree, and commit it there.">
<meta property="og:url" content="https://ui.froq.me/docs/install">
<meta property="og:image" content="https://ui.froq.me/og.png">

Coverage:

html files: 140
with twitter:card summary_large_image: 140
with https://ui.froq.me/og.png: 140
still mentioning ui-a09.pages.dev: []

To show artifacts inline, enable in settings.

Open in Web Open in Cursor 

Add a 1200x630 paper/ink share image and site-wide Open Graph / Twitter tags so pasted links show a large preview card. Pages keep their own title and description.

Co-authored-by: froQ <sayhola@froq.me>
@0froq
0froq marked this pull request as ready for review October 12, 2026 14:09
Pages hostname ui-a09.pages.dev is gone. Canonical and og:image URLs now use the live production domain.

Co-authored-by: froQ <sayhola@froq.me>
@0froq
0froq merged commit 479a33f into main Oct 12, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants