summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorMark Felder <feld@feld.me>2025-02-28 16:12:22 -0800
committerMark Felder <feld@feld.me>2025-02-28 17:24:23 -0800
commitac0882e3483d6ad4d82e9a9ce88c80933bf9efe6 (patch)
tree115eabb1d89e896d12a561930a84b112d6c48179 /lib
parent2137b681dc9d2643aaee0698fe6e99167691c573 (diff)
downloadpleroma-ac0882e3483d6ad4d82e9a9ce88c80933bf9efe6.tar.gz
pleroma-ac0882e3483d6ad4d82e9a9ce88c80933bf9efe6.zip
Filter the parsed OpenGraph/Twittercard tags and only retain the ones we intend to use.
Diffstat (limited to 'lib')
-rw-r--r--lib/pleroma/web/rich_media/parsers/twitter_card.ex11
1 files changed, 11 insertions, 0 deletions
diff --git a/lib/pleroma/web/rich_media/parsers/twitter_card.ex b/lib/pleroma/web/rich_media/parsers/twitter_card.ex
index cc653729d..6f6f8b2ae 100644
--- a/lib/pleroma/web/rich_media/parsers/twitter_card.ex
+++ b/lib/pleroma/web/rich_media/parsers/twitter_card.ex
@@ -11,5 +11,16 @@ defmodule Pleroma.Web.RichMedia.Parsers.TwitterCard do
|> MetaTagsParser.parse(html, "og", "property")
|> MetaTagsParser.parse(html, "twitter", "name")
|> MetaTagsParser.parse(html, "twitter", "property")
+ |> filter_tags()
+ end
+
+ defp filter_tags(tags) do
+ Map.filter(tags, fn {k, _v} ->
+ cond do
+ k in ["card", "description", "image", "title", "ttl", "type", "url"] -> true
+ String.starts_with?(k, "image:") -> true
+ true -> false
+ end
+ end)
end
end