diff options
author | feld <feld@feld.me> | 2025-03-01 02:01:22 +0000 |
---|---|---|
committer | feld <feld@feld.me> | 2025-03-01 02:01:22 +0000 |
commit | a8e863e0d627b6ed9563d953ee2cc8c9f4c9ee7a (patch) | |
tree | 3d03c844a0dbc1c651a17e0873bbf20a917aa61e /lib | |
parent | b77085090335f0cf3a24fd5dd82e52f8a24c1752 (diff) | |
parent | ac0882e3483d6ad4d82e9a9ce88c80933bf9efe6 (diff) | |
download | pleroma-a8e863e0d627b6ed9563d953ee2cc8c9f4c9ee7a.tar.gz pleroma-a8e863e0d627b6ed9563d953ee2cc8c9f4c9ee7a.zip |
Merge branch 'rich-media-ordering' into 'develop'
Rich Media Parser should use first image found
Closes #3356
See merge request pleroma/pleroma!4329
Diffstat (limited to 'lib')
-rw-r--r-- | lib/pleroma/web/rich_media/parsers/meta_tags_parser.ex | 2 | ||||
-rw-r--r-- | lib/pleroma/web/rich_media/parsers/twitter_card.ex | 11 |
2 files changed, 12 insertions, 1 deletions
diff --git a/lib/pleroma/web/rich_media/parsers/meta_tags_parser.ex b/lib/pleroma/web/rich_media/parsers/meta_tags_parser.ex index 320a5f515..c42e2c96b 100644 --- a/lib/pleroma/web/rich_media/parsers/meta_tags_parser.ex +++ b/lib/pleroma/web/rich_media/parsers/meta_tags_parser.ex @@ -9,7 +9,7 @@ defmodule Pleroma.Web.RichMedia.Parsers.MetaTagsParser do |> Enum.reduce(data, fn el, acc -> attributes = normalize_attributes(el, prefix, key_name, value_name) - Map.merge(acc, attributes) + Map.merge(attributes, acc) end) |> maybe_put_title(html) end 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 |