Reposting from https://lemmy.world/post/24545370
Some other people had suggestions for other apps (such as Voyager) having built-in keyword filters, feel free to have a look at the original post
Why YSK: Certain topics are stressful and tend to spread all over the site, including to unrelated communities. Blocking communities can be overkill and ineffective, and likewise for blocking individual users.
To do so, open up the uBlock Origin dashboard, go to the ‘My filters’ tab, and add this filter:
lemmy.world##article.row:has-text(/word1|word2|word3|word4/i)
For example:
lemmy.world##article.row:has-text(/Trump|Elon|Musk|nazi/i)
Then apply the changes and reload any open tabs, and all posts which contain any of your filtered words will simply not show up.
You’ll have to change “lemmy.world” at the start to whatever your actual instance is. You can filter as many or as few words as you want, just keep the / at the start, the /i at the end, and separate words with | pipes. What’s actually being filtered is a case-insensitive regex, if you want to get fancy with it.
Here are equivalent filters for reddit and Ars Technica:
reddit.com##div.thing[data-context="listing"]:has-text(/word1|word2|word3|word4/i)
arstechnica.com##:not(:not(head>title:has-text(/^Ars Technica/))) article:has-text(/word1|word2|word3|word4/i)
As a disclaimer, I made these myself, and I’m not particularly familiar with creating uBlock Origin filters. There may be better ways to do this. Also the reddit one is specific to old.reddit.com, and the lemmy filter is made to work with the default lemmy.world web UI and may not work on other UIs without tinkering.
Yes, I know I’m just hiding my head in the sand
How is performance in
has-text()
these days? Last time I checked it was slow enough that I didn’t bother adding it to things like ad blockers because it bogged down websites.It’s quite fast on Lemmy default UI, but that UI is very light. No sure about other front-ends.