Add a social share preview (OG image + complete meta)
维护者通常 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 内容生成。
描述
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 ignoresog:*for several fields) -
og:site_name,og:locale - Optional: per-page
ogImageprop so pages can override (e.g./communitywith a people-focused card,/get-startedwith 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 existingmediapipeline), not committed as a dead binary asset - Keep
hero-poster.webpas the film poster; pointog:imageat 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
环境准备
- 提供 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
cameri/nostream 的其他 Issue
-
Website
难度 2/5 1-3 小时 新手友好度 84/100
维护者通常 1 天内回复
-
feat(payments): subscription lifecycle, renewal invoices and plan-based write access可能已有人在做 @Priyanshubhartistm 于 1 天前认领。 未关闭enhancement
cameri/nostream#908 · 已指派 1 人 ·
维护者通常 1 天内回复
-
Three repositories have no unit tests (notification-outbox, notification-delivery-log, nip05-verification)可能已有人在做 @Priyanshubhartistm 今天认领。 未关闭
难度 4/5 3-5 天 新手友好度 72/100
cameri/nostream#905 · 已指派 1 人 ·
维护者通常 1 天内回复
-
难度 3/5 1-2 天 新手友好度 72/100
维护者通常 1 天内回复
-
No unit tests for four of six payment processors (nodeless, lnurl, opennode, zebedee)可能已有人在做 @Priyanshubhartistm 今天认领。 未关闭
难度 3/5 1-2 天 新手友好度 72/100
cameri/nostream#903 · 已指派 1 人 ·
维护者通常 1 天内回复
相似的 Issue
-
Area/Cloud Needs Triage Type/Bug
难度 1/5 1-3 小时 新手友好度 86/100
wso2/product-integrator#2847 ·
维护者通常 1 天内回复
-
bug
难度 2/5 1-3 小时 新手友好度 67/100
bluesky-social/social-app#12118 ·
维护者通常 1 天内回复
-
enhancement
难度 1/5 1 小时以内 新手友好度 85/100
维护者通常 1 天内回复
-
Player: speed button's accessible name doesn't include its visible text可能已有人在做 关联的 PR 仍在进行中或已合并。 未关闭
难度 2/5 1-3 小时 新手友好度 77/100
heygen-com/hyperframes#6021 ·
维护者通常 1 天内回复
-
check:passed streams:edit
难度 2/5 1-3 小时 新手友好度 68/100
维护者通常 1 天内回复