Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

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

已关闭
#851 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
3-5 天
新手友好度
35/100
Issue 类型
功能
描述清晰度
基本清楚
活跃度
活跃
技术栈
typescript
领域
frontend

调研方向

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.

由索引模型根据 Issue 内容生成。

描述

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
主要语言
TypeScript
星标
829
派生
234
平均合并
17 小时 46 分钟
30 天内合并 PR
73

环境准备

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

cameri/nostream 的其他 Issue

查看 cameri/nostream 的全部 Issue

相似的 Issue

更多 TypeScript Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。