Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

Add a social share preview (OG image + complete meta)

Fechada
#851 0 comentários 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
4/5
Tempo estimado
3-5 dias
Facilidade para iniciantes
35/100
Tipo de issue
Funcionalidade
Clareza
Razoavelmente clara
Status de atividade
Ativa
Stack de tecnologia
typescript
Domínio
frontend

Direção de pesquisa

Start with Base.astro in the website site, where the existing og:* and twitter:card tags are emitted, then check the hero-poster.webp reference that og:image points to. Build-time generation belongs in website/site/scripts/ or the existing media pipeline, so look there for how assets are produced. Done means the meta checklist is complete, a 1200×630 card is generated at build time, and og:image points to it while hero-poster.webp stays the video poster. Card design needs maintainer input first.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

Website
Summary

Link unfurlers (Slack, Discord, Telegram, X, iMessage, Nostr clients like Snort/Nostrudel/Iris) currently render a preview from whatever generic meta they can find. Give the site a deliberate, on-brand social share preview.

What exists today

Base.astro already emits the minimum: og:type, og:title, og:description, og:url, og:image (the 1920×1080 hero-poster.webp), and twitter:card: summary_large_image. Missing everything else, and the one image doubles as the video poster.

Scope

Meta completion (Base.astro)

  • og:image:width / og:image:height / og:image:alt (some crawlers refuse images without dimensions)
  • twitter:image, twitter:title, twitter:description (X ignores og:* for several fields)
  • og:site_name, og:locale
  • Optional: per-page ogImage prop so pages can override (e.g. /community with a people-focused card, /get-started with the build card)

Dedicated share card (1200×630)

  • Design a purpose-built OG image instead of reusing the hero poster — 1200×630 is the canonical unfurl ratio; the 16:9 poster gets letterboxed/cropped differently per platform
  • Content: wordmark ("nostream"), tagline ("your relay, your rules" or "Nostr runs on relays. nostream is the one you own."), dark background consistent with the site (#08080a), brand pink accent
  • Source it from the hero-animation design language (the film's frame style) rather than a one-off export, so it stays coherent after future hero changes
  • Emit at build time (website/site/scripts/ or the existing media pipeline), not committed as a dead binary asset
  • Keep hero-poster.webp as the film poster; point og:image at the new card

Nostr-specific (optional, if we want it)

  • Nostr clients (noStr, Amethyst, Gossip, most web clients) read the same OG tags — no separate protocol needed; verify against one client
Acceptance
  • Paste https://ema.tnsor.network/ into the Slack/Discord/Telegram link inspectors and see the new card render
  • X card validator shows title/description/image
  • No regression to the existing <title>/canonical handling
Linguagem predominante
TypeScript
Estrelas
829
Forks
234
Merge médio
18h 43min
PRs com merge (30d)
67

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de cameri/nostream

Todas as issues de cameri/nostream

Issues semelhantes

Mais issues de TypeScript

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.