qb_akkoma/lib/pleroma/web/rich_media/parsers/twitter_card.ex

23 lines
706 B
Elixir
Raw Normal View History

# Pleroma: A lightweight social networking server
2020-03-03 22:44:49 +00:00
# Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/>
# SPDX-License-Identifier: AGPL-3.0-only
2019-01-10 18:09:56 +00:00
defmodule Pleroma.Web.RichMedia.Parsers.TwitterCard do
2019-08-06 20:19:28 +00:00
alias Pleroma.Web.RichMedia.Parsers.MetaTagsParser
@spec parse(String.t(), map()) :: {:ok, map()} | {:error, String.t()}
2019-01-10 18:09:56 +00:00
def parse(html, data) do
2019-08-06 20:19:28 +00:00
data
|> parse_name_attrs(html)
|> parse_property_attrs(html)
end
defp parse_name_attrs(data, html) do
MetaTagsParser.parse(html, data, "twitter", %{}, "name")
end
defp parse_property_attrs({_, data}, html) do
MetaTagsParser.parse(html, data, "twitter", "No twitter card metadata found", "property")
2019-01-10 18:09:56 +00:00
end
end