Skip to content

Add Open Graph and Twitter card metadata with branded share image#7

Merged
kevincodex1 merged 2 commits into
mainfrom
feat/opengraph
Jul 3, 2026
Merged

Add Open Graph and Twitter card metadata with branded share image#7
kevincodex1 merged 2 commits into
mainfrom
feat/opengraph

Conversation

@kevincodex1

Copy link
Copy Markdown
Contributor

Description

Sharing the explorer link produced a bare, imageless preview. This adds proper
social cards:

  • index.html: full og: + twitter: metadata (type, site_name, title,
    description, url, image + dimensions + alt, summary_large_image card) and a
    standard <meta name="description">. All URLs are absolute
    (https://explorer.gitlawb.com/og.png) since link scrapers don't resolve
    relative paths or execute JS.
  • public/og.png: a 1200×630 share card designed in the app's own terminal
    aesthetic — blueprint grid texture, the gitlawb mark + "explorer." wordmark
    (lowercase with the warm trailing period, echoing the in-app hero), a
    gitlawb:// tagline, and a real repo row with pills and an activity sparkline
    as the signature element. 41 KB, rendered from a JetBrains Mono HTML template
    at exact OG dimensions.

Note: as a static SPA, all routes share one card. Per-repo OG cards would need
edge/SSR rendering — possible follow-up, out of scope here.

Type of change

  • Bug fix (non-breaking change that fixes an issue)
  • New feature (non-breaking change that adds functionality)
  • Breaking change (fix or feature that changes existing behavior)
  • Refactor / code quality (no behavior change)
  • Documentation
  • Tests / CI

How was this tested?

  • npm run build confirms og.png ships in dist/ and all 9 og: tags are
    present in the built HTML; lint and tests (72) pass.
  • Card image rendered and visually reviewed at exact 1200×630.
  • Live-scrape validation (opengraph.xyz) pending production deploy — preview
    deployments are SSO-protected, so scrapers can't reach them.

Screenshots

og

Checklist

  • npm run lint passes
  • npm test passes
  • npm run build passes (includes typecheck)
  • New logic in src/lib/ has colocated unit tests
  • I kept the change focused on a single concern

kevincodex1 and others added 2 commits July 3, 2026 09:49
Sharing the explorer link previously produced a bare, imageless card.
index.html now carries og:/twitter: metadata with absolute URLs (link
scrapers don't resolve relative paths or run JS), and public/og.png is
a 1200x630 card in the app's own terminal aesthetic: blueprint grid,
gitlawb mark + "explorer." wordmark, and a real repo row with activity
sparkline. 41 KB, rendered from a JetBrains Mono HTML template.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Real repo data from the node: z6MkqDnb/openclaude, its actual branch
and update recency, described by its README one-liner.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@kevincodex1 kevincodex1 merged commit c48bede into main Jul 3, 2026
4 checks 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.

1 participant