- def filter_tags(html, scrubber) do
- html |> Scrubber.scrub(scrubber)
+ def filter_tags(html, scrubber), do: Scrubber.scrub(html, scrubber)
+ def filter_tags(html), do: filter_tags(html, nil)
+ def strip_tags(html), do: Scrubber.scrub(html, Scrubber.StripTags)
+
+ def get_cached_scrubbed_html_for_activity(
+ content,
+ scrubbers,
+ activity,
+ key \\ "",
+ callback \\ fn x -> x end
+ ) do
+ key = "#{key}#{generate_scrubber_signature(scrubbers)}|#{activity.id}"
+
+ Cachex.fetch!(:scrubber_cache, key, fn _key ->
+ object = Pleroma.Object.normalize(activity)
+ ensure_scrubbed_html(content, scrubbers, object.data["fake"] || false, callback)
+ end)
+ end
+
+ def get_cached_stripped_html_for_activity(content, activity, key) do
+ get_cached_scrubbed_html_for_activity(
+ content,
+ HtmlSanitizeEx.Scrubber.StripTags,
+ activity,
+ key,
+ &HtmlEntities.decode/1
+ )