From b31a934a804aed3f35442ceafe2080b0955e7317 Mon Sep 17 00:00:00 2001 From: dcc Date: Wed, 15 May 2024 00:57:23 -0700 Subject: total rebase --- lib/pleroma/web/metadata/providers/feed.ex | 0 lib/pleroma/web/metadata/providers/open_graph.ex | 0 lib/pleroma/web/metadata/providers/provider.ex | 0 lib/pleroma/web/metadata/providers/rel_me.ex | 14 +++++++++++--- lib/pleroma/web/metadata/providers/restrict_indexing.ex | 0 lib/pleroma/web/metadata/providers/twitter_card.ex | 13 +++++++++++-- 6 files changed, 22 insertions(+), 5 deletions(-) mode change 100755 => 100644 lib/pleroma/web/metadata/providers/feed.ex mode change 100755 => 100644 lib/pleroma/web/metadata/providers/open_graph.ex mode change 100755 => 100644 lib/pleroma/web/metadata/providers/provider.ex mode change 100755 => 100644 lib/pleroma/web/metadata/providers/rel_me.ex mode change 100755 => 100644 lib/pleroma/web/metadata/providers/restrict_indexing.ex mode change 100755 => 100644 lib/pleroma/web/metadata/providers/twitter_card.ex (limited to 'lib/pleroma/web/metadata/providers') diff --git a/lib/pleroma/web/metadata/providers/feed.ex b/lib/pleroma/web/metadata/providers/feed.ex old mode 100755 new mode 100644 diff --git a/lib/pleroma/web/metadata/providers/open_graph.ex b/lib/pleroma/web/metadata/providers/open_graph.ex old mode 100755 new mode 100644 diff --git a/lib/pleroma/web/metadata/providers/provider.ex b/lib/pleroma/web/metadata/providers/provider.ex old mode 100755 new mode 100644 diff --git a/lib/pleroma/web/metadata/providers/rel_me.ex b/lib/pleroma/web/metadata/providers/rel_me.ex old mode 100755 new mode 100644 index f0bee85..eabd8cb --- a/lib/pleroma/web/metadata/providers/rel_me.ex +++ b/lib/pleroma/web/metadata/providers/rel_me.ex @@ -8,12 +8,20 @@ defmodule Pleroma.Web.Metadata.Providers.RelMe do @impl Provider def build_tags(%{user: user}) do - bio_tree = Floki.parse_fragment!(user.bio) + profile_tree = + user.bio + |> append_fields_tag(user.fields) + |> Floki.parse_fragment!() - (Floki.attribute(bio_tree, "link[rel~=me]", "href") ++ - Floki.attribute(bio_tree, "a[rel~=me]", "href")) + (Floki.attribute(profile_tree, "link[rel~=me]", "href") ++ + Floki.attribute(profile_tree, "a[rel~=me]", "href")) |> Enum.map(fn link -> {:link, [rel: "me", href: link], []} end) end + + defp append_fields_tag(bio, fields) do + fields + |> Enum.reduce(bio, fn %{"value" => v}, res -> res <> v end) + end end diff --git a/lib/pleroma/web/metadata/providers/restrict_indexing.ex b/lib/pleroma/web/metadata/providers/restrict_indexing.ex old mode 100755 new mode 100644 diff --git a/lib/pleroma/web/metadata/providers/twitter_card.ex b/lib/pleroma/web/metadata/providers/twitter_card.ex old mode 100755 new mode 100644 index 2dac22e..426022c --- a/lib/pleroma/web/metadata/providers/twitter_card.ex +++ b/lib/pleroma/web/metadata/providers/twitter_card.ex @@ -76,9 +76,10 @@ defmodule Pleroma.Web.Metadata.Providers.TwitterCard do {:meta, [name: "twitter:card", content: "summary_large_image"], []}, {:meta, [ - name: "twitter:player", + name: "twitter:image", content: MediaProxy.url(url["href"]) - ], []} + ], []}, + {:meta, [name: "twitter:image:alt", content: truncate(attachment["name"])], []} | acc ] |> maybe_add_dimensions(url) @@ -130,4 +131,12 @@ defmodule Pleroma.Web.Metadata.Providers.TwitterCard do metadata end end + + defp truncate(nil), do: "" + + defp truncate(text) do + # truncate to 420 characters + # see https://developer.twitter.com/en/docs/twitter-for-websites/cards/overview/markup + Pleroma.Formatter.truncate(text, 420) + end end -- cgit v1.2.3