summaryrefslogtreecommitdiff
path: root/priv/scrubbers/search_indexing.ex
diff options
context:
space:
mode:
authorHaelwenn <contact+git.pleroma.social@hacktivis.me>2024-01-21 12:03:29 +0000
committerHaelwenn <contact+git.pleroma.social@hacktivis.me>2024-01-21 12:03:29 +0000
commitab3f03a04a34f2e267bef649ea7d055df583e43e (patch)
tree41c555d32f0805a45f553ae348b9bf42158e9426 /priv/scrubbers/search_indexing.ex
parenta5f64ffd0cba5e183744cf46506656ba61d36eda (diff)
parent548434f85ccaa4a77c460fb5bda37153ea6e9c39 (diff)
downloadpleroma-ab3f03a04a34f2e267bef649ea7d055df583e43e.tar.gz
pleroma-ab3f03a04a34f2e267bef649ea7d055df583e43e.zip
Merge branch 'develop' into 'public-polls'
# Conflicts: # docs/development/API/differences_in_mastoapi_responses.md
Diffstat (limited to 'priv/scrubbers/search_indexing.ex')
-rw-r--r--priv/scrubbers/search_indexing.ex24
1 files changed, 24 insertions, 0 deletions
diff --git a/priv/scrubbers/search_indexing.ex b/priv/scrubbers/search_indexing.ex
new file mode 100644
index 000000000..02756ab79
--- /dev/null
+++ b/priv/scrubbers/search_indexing.ex
@@ -0,0 +1,24 @@
+# Pleroma: A lightweight social networking server
+# Copyright © 2017-2022 Pleroma Authors <https://pleroma.social/>
+# SPDX-License-Identifier: AGPL-3.0-only
+
+defmodule Pleroma.HTML.Scrubber.SearchIndexing do
+ @moduledoc """
+ An HTML scrubbing policy that scrubs things for searching.
+ """
+
+ require FastSanitize.Sanitizer.Meta
+ alias FastSanitize.Sanitizer.Meta
+
+ # Explicitly remove mentions
+ def scrub({:a, attrs, children}) do
+ if(Enum.any?(attrs, fn {att, val} -> att == "class" and String.contains?(val, "mention") end),
+ do: nil,
+ # Strip the tag itself, leave only children (text, presumably)
+ else: children
+ )
+ end
+
+ Meta.strip_comments()
+ Meta.strip_everything_not_covered()
+end