+ 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
+ )
+ end
+
+ def ensure_scrubbed_html(
+ content,
+ scrubbers,
+ fake,
+ callback
+ ) do
+ content =
+ content
+ |> filter_tags(scrubbers)
+ |> callback.()
+
+ if fake do
+ {:ignore, content}
+ else
+ {:commit, content}
+ end
+ end
+
+ defp generate_scrubber_signature(scrubber) when is_atom(scrubber) do
+ generate_scrubber_signature([scrubber])
+ end
+
+ defp generate_scrubber_signature(scrubbers) do
+ Enum.reduce(scrubbers, "", fn scrubber, signature ->
+ "#{signature}#{to_string(scrubber)}"
+ end)
+ end
+
+ def extract_first_external_url(_, nil), do: {:error, "No content"}