! This is a uBlock Origin cosmetic filter designed to remove stories from ! Hacker News that are off-topic according to the guidelines: ! ! "Off-Topic: Most stories about politics, or crime, or sports, or ! celebrities, unless they're evidence of some interesting new phenomenon. ! Videos of pratfalls or disasters, or cute animal pictures. If they'd cover ! it on TV news, it's probably off-topic." ! ! https://news.ycombinator.com/newsguidelines.html ! ! I've also included some click-bait sites, pop science, and "technology" ! sites that for some reason hate technology (looking at you, Wired). The ! comments sections on these articles are inevitably horrific. ! ! To make use of this list, install the uBlock Origin extension in your ! browser, click its icon in the tool bar, click the "gears" icon, select the ! "Filter lists" tab, and enter this URL into the "Import..." section at the ! bottom of the page. ! ! HN user xvello deserves credit for the original inspiration for this list: ! https://news.ycombinator.com/item?id=33412932 ! ! This work is marked with CC0 1.0 Universal. Please feel free to use, ! distribute, remix, adapt, and build upon this list in any medium or format, ! even for commercial purposes. To view a copy of the license: ! http://creativecommons.org/publicdomain/zero/1.0 ! ! Feedback or death threats related to this list can be sent to ! dave@pifke.org. ! ! A request: if you know how to remove both tr.athing and its adjacent tr ! containing td.subtitle using a single rule, please let me know! ! news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^9to5mac\.com$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^9to5mac\.com$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^404media\.co$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^404media\.co$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^abc\.net\.au$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^abc\.net\.au$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^abc6onyourside\.com$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^abc6onyourside\.com$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^abc7(news|ny)?\.com$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^abc7(news|ny)?\.com$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^actionnewsjax\.com$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^actionnewsjax\.com$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^aljazeera\.com$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^aljazeera\.com$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^antipope\.org$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^antipope\.org$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^apnews\.com$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^apnews\.com$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^arstechnica\.com$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^arstechnica\.com$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^asteriskmag\.com$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^asteriskmag\.com$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^atlasobscura\.com$/):upward(tr) +tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^atlasobscura\.com$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^axios\.com$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^axios\.com$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^azcentral\.com$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^azcentral\.com$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^bbc\.co(m|\.uk)$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^bbc\.co(m|\.uk)$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^bellingcat\.com$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^bellingcat\.com$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^bigthink\.com$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^bigthink\.com$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^blobstreaming\.org$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^blobstreaming\.org$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^blogto\.com$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^blogto\.com$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^bloomberg\.com$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^bloomberg\.com$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^bostonglobe\.com$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^bostonglobe\.com$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^businessinsider\.(com|in)$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^businessinsider\.(com|in)$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^businesswire\.com$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^businesswire\.com$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^canarymedia\.com$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^canarymedia\.com$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^cbc\.ca$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^cbc\.ca$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^cbs(news|12)\.com$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^cbs(news|12)\.com$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^chronicle\.com$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^chronicle\.com$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^citationneeded\.news$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^citationneeded\.news$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^city-journal\.org$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^city-journal\.org$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^climate\.gov$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^climate\.gov$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^climateanalytics\.org$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^climateanalytics\.org$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^climatecasino\.net$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^climatecasino\.net$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^cnet\.com$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^cnet\.com$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^cnn\.com$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^cnn\.com$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^cnbc\.com$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^cnbc\.com$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^cnbctv18\.com$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^cnbctv18\.com$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^commondreams\.org$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^commondreams\.org$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^commonsense\.news$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^commonsense\.news$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^contexts\.org$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^contexts\.org$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^cowboystatedaily\.com$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^cowboystatedaily\.com$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^9to5mac\.com$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^9to5mac\.com$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^cp24\.com$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^cp24\.com$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^ctvnews\.ca$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^ctvnews\.ca$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^currentaffairs\.org$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^currentaffairs\.org$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^dailymail\.co\.uk$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^dailymail\.co\.uk$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^deadline\.com$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^deadline\.com$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^drb\.ie$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^drb\.ie$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^dw\.com$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^dw\.com$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^earthday\.org$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^earthday\.org$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^economist\.com$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^economist\.com$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^eff\.org$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^eff\.org$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^electrek\.co$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^electrek\.co$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^elpais\.com$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^elpais\.com$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^engadget\.com$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^engadget\.com$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^eur(onews|asiantimes)\.com$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^eur(onews|asiantimes)\.com$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^europa\.eu$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^europa\.eu$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^forbes\.com\/sites\//):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^forbes\.com\/sites\//):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^foreign(affairs|policy)\.com$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^foreign(affairs|policy)\.com$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^fortune\.com$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^fortune\.com$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^fox19\.com$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^fox19\.com$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^fox35orlando\.com$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^fox35orlando\.com$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^foxbaltimore\.com$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^foxbaltimore\.com$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^foxnews\.com$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^foxnews\.com$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^france24\.com$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^france24\.com$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^frontiersin\.org$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^frontiersin\.org$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^ft\.com$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^ft\.com$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^gatesnotes\.com$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^gatesnotes\.com$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^genengnews\.com$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^genengnews\.com$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^globalnews\.ca$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^globalnews\.ca$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^gizmodo\.com$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^gizmodo\.com$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^go\.com$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^go\.com$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^goodjobsfirst\.org$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^goodjobsfirst\.org$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^goodmorningamerica\.com$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^goodmorningamerica\.com$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^gothamist\.com$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^gothamist\.com$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^greenpeace\.org$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^greenpeace\.org$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^grist\.org$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^grist\.org$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^hawaiinewsnow\.com$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^hawaiinewsnow\.com$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^hcn\.org$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^hcn\.org$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^hindustantimes\.com$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^hindustantimes\.com$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^honest-broker\.com$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^honest-broker\.com$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^hongkongwatch\.org$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^hongkongwatch\.org$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^ij\.org$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^ij\.org$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^inc\.com$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^inc\.com$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^independent\.co\.uk$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^independent\.co\.uk$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^indiatimes\.com$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^indiatimes\.com$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^inews\.co\.uk$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^inews\.co\.uk$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^innocenceproject\.org$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^innocenceproject\.org$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^insideclimatenews\.org$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^insideclimatenews\.org$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^ipc-dc\.org$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^ipc-dc\.org$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^jacobin\.com$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^jacobin\.com$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^japantimes\.co\.jp$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^japantimes\.co\.jp$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^jefftiedrich\.com$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^jefftiedrich\.com$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^junglekeepers\.org$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^junglekeepers\.org$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^justice\.gov$/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^justice\.gov$/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.sitestr:has-text(/^k(? a:has-text(/\b[Aa]bortions?\b/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.titleline > a:has-text(/\b[Aa]bortions?\b/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.titleline > a:has-text(/\b(affordable housing|homeless(ness))\b/i):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.titleline > a:has-text(/\b(affordable housing|homeless(ness))\b/i):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.titleline > a:has-text(/\b[Bb]an(s|ning|ned)?\b/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.titleline > a:has-text(/\b[Bb]an(s|ning|ned)?\b/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.titleline > a:has-text(/\b(Bankman|SBF|FTX)\b/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.titleline > a:has-text(/\b(Bankman|SBF|FTX)\b/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.titleline > a:has-text(/\bBig Tech\b/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.titleline > a:has-text(/\bBig Tech\b/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.titleline > a:has-text(/\bBinance\b/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.titleline > a:has-text(/\bBinance\b/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.titleline > a:has-text(/\b[Bb](ro|illionaire)s?\b/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.titleline > a:has-text(/\b[Bb](ro|illionarie)s?\b/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.titleline > a:has-text(/\b(capitalis|socialis)(m|ts?)\b/i):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.titleline > a:has-text(/\b(capitalis|socialis)(m|ts?)\b/i):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.titleline > a:has-text(/\b(chin(a|ese)(\b.*)?\b(taiwan(ese)?|tsmc)|(taiwan(ese)?|tsmc)(\b.*)?chin(a|ese))\b/i):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.titleline > a:has-text(/\b(chin(a|ese)(\b.*)?\b(taiwan(ese)?|tsmc)|(taiwan(ese)?|tsmc)(\b.*)?chin(a|ese))\b/i):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.titleline > a:has-text(/\b(climate|CO2|carbon capture|global warming|polut(ion|ing)|drought|glaciers?|oceans?|sea (levels?|ice)|arctic)\b/i):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.titleline > a:has-text(/\b(climate|CO2|carbon capture|global warming|polut(ion|ing)|drought|glaciers?|oceans?|sea (levels?|ice)|arctic)\b/i):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.titleline > a:has-text(/\b(COVID|coronavirus|CDC|bird flu|H5N1|[Pp]andemics?)\b/i):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.titleline > a:has-text(/\b(COVID|coronavirus|CDC|bird flu|H5N1|[Pp]andemics?)\b/i):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.titleline > a:has-text(/\b([Dd]emocrat|[Rr]epublican|[Ll]ibertarian)s?\b/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.titleline > a:has-text(/\b([Dd]emocrat|[Rr]epublican|[Ll]ibertarian)s?\b/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.titleline > a:has-text(/\b(Elon|Musk|Tesla|DOGE|Doge)\b/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.titleline > a:has-text(/\b(Elon|Musk|Tesla|DOGE|Doge)\b/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.titleline > a:has-text(/\b(econom|environmental|scient)ists\b/i):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.titleline > a:has-text(/\b(econom|environmental|scient)ists\b/i):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.titleline > a:has-text(/\b[Ee]thic(ist)?s\b/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.titleline > a:has-text(/\b[Ee]thic(ist)?s\b/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.titleline > a:has-text(/\b([Aa]lt|[Ff]ar)[ -]([Rr]ight|[Ll]eft)\b/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.titleline > a:has-text(/\b([Aa]lt|[Ff]ar)[ -]([Rr]ight|[Ll]eft)\b/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.titleline > a:has-text(/\b[Ll]a(id|ys?)[ -]?[Oo]ffs?\b/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.titleline > a:has-text(/\b[Ll]a(id|ys?)[ -]?[Oo]ffs?\b/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.titleline > a:has-text(/\b[Jj]ob [Cc]uts\b/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.titleline > a:has-text(/\b[Jj]ob [Cc]uts\b/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.titleline > a:has-text(/\bMatt Levine\b/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.titleline > a:has-text(/\bMatt Levine\b/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.titleline > a:has-text(/\b([Mm]ental [Hh]ealth|[Hh]ealth ?[Cc]are|[Hh]ealth [Ii]nsur(ance|ers?)|Blue Cross|[Ss]uicides?|[Tt]umors?)\b/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.titleline > a:has-text(/\b([Mm]ental [Hh]ealth|[Hh]ealth ?[Cc]are|[Hh]ealth [Ii]nsur(ance|ers?)|Blue Cross|[Ss]uicides?|[Tt]umors?)\b/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.titleline > a:has-text(/\b([Mm]icroplastics|PFAS|[Ff]orever chemicals)\b/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.titleline > a:has-text(/\b([Mm]icroplastics|PFAS|[Ff]orever chemicals)\b/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.titleline > a:has-text(/\b(Biden|Trump|Putin|Netanyahu|Hamas|Gaza)\b/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.titleline > a:has-text(/\b(Biden|Trump|Putin|Netanyahu|Hamas|Gaza)\b/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.titleline > a:has-text(/\b(Twitter|Blue[Ss]ky|Porn ?[Hh]ub)\b/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.titleline > a:has-text(/\b(Twitter|Blue[Ss]ky|Porn ?[Hh]ub)\b/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.titleline > a:has-text(/\bUkrain(e|ian)\b/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.titleline > a:has-text(/\bUkrain(e|ian)\b/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.titleline > a:has-text(/\b(? a:has-text(/\b(? a:has-text(/\b([Vv]accin(ation|e)s?)\b/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.titleline > a:has-text(/\b([Vv]accin(ation|e)s?)\b/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.titleline > a:has-text(/\b([Ww]hite [Hh]ouse|EU)\b/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.titleline > a:has-text(/\b([Ww]hite [Hh]ouse|EU)\b/):upward(tr) news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.titleline > a:has-text(/\bXinjiang\b/):upward(tr) + tr news.ycombinator.com##:not(:matches-path(/^/item\?id=/)) tr.athing span.titleline > a:has-text(/\bXinjiang\b/):upward(tr)