diff options
author | Haelwenn <contact+git.pleroma.social@hacktivis.me> | 2024-01-21 12:03:29 +0000 |
---|---|---|
committer | Haelwenn <contact+git.pleroma.social@hacktivis.me> | 2024-01-21 12:03:29 +0000 |
commit | ab3f03a04a34f2e267bef649ea7d055df583e43e (patch) | |
tree | 41c555d32f0805a45f553ae348b9bf42158e9426 /priv/scrubbers/search_indexing.ex | |
parent | a5f64ffd0cba5e183744cf46506656ba61d36eda (diff) | |
parent | 548434f85ccaa4a77c460fb5bda37153ea6e9c39 (diff) | |
download | pleroma-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.ex | 24 |
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 |