b4f91f3cc66e68e3c7a589d0b407e65a4da0238b
[akkoma] / lib / pleroma / web / activity_pub / mrf / normalize_markup.ex
1 defmodule Pleroma.Web.ActivityPub.MRF.NormalizeMarkup do
2 alias Pleroma.HTML
3
4 @behaviour Pleroma.Web.ActivityPub.MRF
5
6 @mrf_normalize_markup Application.get_env(:pleroma, :mrf_normalize_markup)
7
8 def filter(%{"type" => activity_type} = object) when activity_type == "Create" do
9 scrub_policy = Keyword.get(@mrf_normalize_markup, :scrub_policy)
10
11 child = object["object"]
12
13 content =
14 child["content"]
15 |> HTML.filter_tags(scrub_policy)
16
17 child = Map.put(child, "content", content)
18
19 object = Map.put(object, "object", child)
20
21 {:ok, object}
22 end
23
24 def filter(object), do: {:ok, object}
25 end