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.
Or, instead, you can just use Lemmy’s filters to filter out certain posts that contains certain words. No code necessary.
Edit: oops, I guess it’s just in the apps. Not lemmy itself.
¯\_(ツ)_/¯
Where? I see the option to block users, instances, and communities, but not words.
And regardless, I think this method has value because it can be applied to pretty much any website with a bit of tinkering, and it can be turned on and off with a couple of clicks. I actually started out with the ars filter before making one for Lemmy.
And it’ll be faster and more efficient to do it server side as opposed to making uBlock Origin handle it.
I think it’s better to use distributed filtering than having their SQL query do additional filtering. Every user who uses filtering adds to the lifting their side has to do - while your CPU probably sits under 1% utilization most of the time.
I’d rather Lemmy have filtering on the client-side, and just shoot us raw data.
Not all filtering is the same. Client side filtering requires more data to passed over the network that then just gets dropped. It also means rules that are not shared across devices.
Most importantly, these use CSS filters which are computationally more expensive because it has to take an entire DOM element, serialize it to text, string search it vs a server side filter that can just look at a one or two field variables. Even if it’s not filtered in SQL on Lemmy’s side I’d say it’s still more efficient overall.
You do what you want, but adding extra work on the client side is not what I’d want for my users. Of course, if your Lemmy instance does not supporting filtering, then this is moot.
The filter can still be shared across devices. Only the rules could be stored on the server, and applied by the client.
The CSS rules only apply when using ublock. If it was just a Lemmy client’s feature, it wouldn’t have to do that.
And on something like Lemmy, personally I would rather have the load distributed over the users to lighten the load on the server.
But maybe the best solution would be leaving that as an option for the server owner to decide on.
So, are you answering the questions from the comments on where lemmy has this setting hidden, because I am looking for it for over a year now and you got 7 upvotes and 3 people asking where this option is. Please let us know.
Thank you! Lemmy is basically unusable right now for those of us not from America. Every community from technology to gaming is wall to wall DAE TRUMP HITLER!? I get it, but some of us just want to talk about our hobbies. There are dedicated communities for discussing politics.
I empathize, I swear American politics is a infectious health hazard
It helps, and thanks for ublock idea for web browser users.
but because post titles aren’t required to contain the keywords, I still see a lot of political crap.
How would one implement these filters but EXCLUDE certain things … like say … filter anything with “MAGA” but allow it if there’s also mention of “Leopards” is still allowed? :)
lemmy.world##article.row:has-text(/word1|word2|word3/i):not(:has-text(/word4|word5|word6/i))
or
lemmy.world##article.row:has-text(/maga/i):not(:has-text(/leopard/i))
will do what you want - it’ll block any posts which contain words from the first regex, unless it also has some words from the second regex
not all heroes wear capes!!!
Voyager has a wonderful filter list under Settings -> Filters & Blocks. Works great and you can back up your settings to a json file in case you need to reload them.
Eternity app can do that on Android
my title filters btw:
Orban,Trump,Vance,Elon,Musk,NATO,Scholz,Merz,Habeck,AOC,Thunberg,Tunberg,Greta,Mr. Beast,MrBeast,Bitcoin,Putin,Russia,Kremlin,AfD,Grünen,Gaza,Israel,Palestine,Democrat,Republican,Surpreme,Abortion,Taliban,China,Chinese,Harris,Biden,Genocide,Tory,Brexit,Google,Microsoft,Windows,Apple,iPhone,Android,OpenAI,ChatGPT,Lora,intel,nvidia,arch,mint,ubuntu,framework,raspberry,pihole,pipewire,linux,bezos,amazon,fairphone,Europeans,Brics,leyen,swift,immigrant,Santis,California,Youtube,Montag, Laberfaden,G'sudert wird,Bluesky,Twitter,Montagslaberfaden,blsky,bluesky,isglitch.com,Gaetz,Kulturfreitag,Jimmy Carter,Boebert,Pokemon
are there even any posts left?
yeah, mostly interesting cool stuff
ideally, this is a native feature in lemmy
I would like to see less posts about Judd Trump.
Is there some kind of combination of words to filter out post bitching about having to see posts?