Set the correct height/width if the data is available when generating twittercard metadata

This commit is contained in:
Mark Felder 2021-06-08 15:59:55 -05:00
parent 1175023687
commit 5de65ce3e8
2 changed files with 13 additions and 5 deletions

View file

@ -80,11 +80,14 @@ defp build_attachments(id, %{data: %{"attachment" => attachments}}) do
# TODO: Need the true width and height values here or Twitter renders an iFrame with
# a bad aspect ratio
"video" ->
height = url["height"] || 480
width = url["width"] || 480
[
{:meta, [property: "twitter:card", content: "player"], []},
{:meta, [property: "twitter:player", content: player_url(id)], []},
{:meta, [property: "twitter:player:width", content: "480"], []},
{:meta, [property: "twitter:player:height", content: "480"], []},
{:meta, [property: "twitter:player:width", content: "#{width}"], []},
{:meta, [property: "twitter:player:height", content: "#{height}"], []},
{:meta, [property: "twitter:player:stream", content: url["href"]], []},
{:meta,
[property: "twitter:player:stream:content_type", content: url["mediaType"]], []}

View file

@ -123,7 +123,12 @@ test "it renders supported types of attachments and skips unknown types" do
},
%{
"url" => [
%{"mediaType" => "video/webm", "href" => "https://pleroma.gov/about/juche.webm"}
%{
"mediaType" => "video/webm",
"href" => "https://pleroma.gov/about/juche.webm",
"height" => 600,
"width" => 800
}
]
}
]
@ -143,8 +148,8 @@ test "it renders supported types of attachments and skips unknown types" do
property: "twitter:player",
content: Router.Helpers.o_status_url(Endpoint, :notice_player, activity.id)
], []},
{:meta, [property: "twitter:player:width", content: "480"], []},
{:meta, [property: "twitter:player:height", content: "480"], []},
{:meta, [property: "twitter:player:width", content: "800"], []},
{:meta, [property: "twitter:player:height", content: "600"], []},
{:meta,
[
property: "twitter:player:stream",