From 4bf8fc8d856d0d9d827c40275e7d69c62bdb3c9a Mon Sep 17 00:00:00 2001 From: Claude Date: Fri, 20 Feb 2026 13:18:01 +0000 Subject: [PATCH] Add og:video meta tags for video post embeds When a post contains a video embed, include og:video, og:video:secure_url, og:video:type (application/vnd.apple.mpegurl), and og:video:width/height meta tags alongside the existing og:image thumbnail. Also sets the Twitter card type to "player" for video posts instead of "summary_large_image". Handles both standalone video embeds and record-with-media video embeds. https://claude.ai/code/session_01H7uYXdTD17cQcfYPHhoWSr --- bskyweb/cmd/bskyweb/server.go | 10 ++++++++++ bskyweb/templates/post.html | 11 +++++++++++ 2 files changed, 21 insertions(+) diff --git a/bskyweb/cmd/bskyweb/server.go b/bskyweb/cmd/bskyweb/server.go index 1f9c0ed649..b76681b314 100644 --- a/bskyweb/cmd/bskyweb/server.go +++ b/bskyweb/cmd/bskyweb/server.go @@ -589,6 +589,11 @@ func (srv *Server) WebPost(c echo.Context) error { if postView.Embed.EmbedVideo_View.Thumbnail != nil { data["imgThumbUrls"] = []string{*postView.Embed.EmbedVideo_View.Thumbnail} } + data["videoPlaylistUrl"] = postView.Embed.EmbedVideo_View.Playlist + if postView.Embed.EmbedVideo_View.AspectRatio != nil { + data["videoWidth"] = postView.Embed.EmbedVideo_View.AspectRatio.Width + data["videoHeight"] = postView.Embed.EmbedVideo_View.AspectRatio.Height + } } else if hasMediaImages { var thumbUrls []string for i := range postView.Embed.EmbedRecordWithMedia_View.Media.EmbedImages_View.Images { @@ -599,6 +604,11 @@ func (srv *Server) WebPost(c echo.Context) error { if postView.Embed.EmbedRecordWithMedia_View.Media.EmbedVideo_View.Thumbnail != nil { data["imgThumbUrls"] = []string{*postView.Embed.EmbedRecordWithMedia_View.Media.EmbedVideo_View.Thumbnail} } + data["videoPlaylistUrl"] = postView.Embed.EmbedRecordWithMedia_View.Media.EmbedVideo_View.Playlist + if postView.Embed.EmbedRecordWithMedia_View.Media.EmbedVideo_View.AspectRatio != nil { + data["videoWidth"] = postView.Embed.EmbedRecordWithMedia_View.Media.EmbedVideo_View.AspectRatio.Width + data["videoHeight"] = postView.Embed.EmbedRecordWithMedia_View.Media.EmbedVideo_View.AspectRatio.Height + } } } diff --git a/bskyweb/templates/post.html b/bskyweb/templates/post.html index 6b6516288f..42d00e9226 100644 --- a/bskyweb/templates/post.html +++ b/bskyweb/templates/post.html @@ -33,7 +33,18 @@ {% endfor %} + {%- if videoPlaylistUrl %} + + + + {%- if videoWidth %} + + + {% endif -%} + + {% else %} + {% endif -%} {% else %}