# Filter “Hot Network Questions” by excluding sites

I was going to make a filter for the "Hot Network Questions" by excluding some sites from it. I noticed this answer which talks about "negative filtering" but does not explain how one can do it or if it is possible. There does not seem to be a way to do this, though. On the filter page, my only options are:

So how can I do "All sites except [list]"?

It would also be nice if this could include similar functionality with the meta checkbox. Something like "All main & meta sites except..."

-
The post you linked to is a declined feature request, the answer is just a suggestion that was never implemented. The filter page you posted a screenshot from is also not relevant, it's about all questions not hot questions. – Shadow Wizard Mar 13 '14 at 15:10
@ShadowWizard My apologies for not knowing how to do it. Could you point me in the right direction? – David Starkey Mar 13 '14 at 15:12
No problem, you did the right thing here by posting new feature request. I was just clarifying some points you seemed to miss. – Shadow Wizard Mar 13 '14 at 15:13
@ShadowWizard The filter page was accessed from the Hot Questions page by clicking the link in the text "Create a filter to pick just the topics you want to see..." located on the right of the page. If this link is wrong, it should probably be fixed as well. – David Starkey Mar 13 '14 at 15:18
Yes, noticed this. The wording can indeed be confusing for those not familiar with the hot questions/filters concepts. You can start new feature request asking to change the wording, ideally giving your own idea. You'll have my support. :-) – Shadow Wizard Mar 13 '14 at 15:30
@Downvoter: While I respect the ability to be anonymous, I appreciate feedback so I can better not only this question but all future posts I make. If you would be kind enough to elaborate on your reason for the down-vote, I would appreciate it. – David Starkey May 2 '14 at 16:33
For exlcuding sites from the filters (and not the Hot questions), see Excluding a set of sites from a filter. – unor Jan 14 at 5:36

For those that do not want to wait for an official version, I made a short GreaseMonkey script that will hide sites you specify. Use this page to get the official names to use when setting the "ignore" variable. Multiple sites should be separated by a comma (,) and it works best if you avoid putting more than 1 space after commas.

// ==UserScript==
// @name        Hide SE site from Hot Questions
// @namespace   stackexchange
// @description Hide certain Stack Exchange sites from the Hot Network Questions list.
// @include     *stackoverflow.com*
// @include     *superuser.com*
// @include     *serverfault.com*
// @include     *stackapps.com*
// @include     *mathoverflow.com*
// @include     *.stackexchange.com*
// @version     1
// @grant       none
// ==/UserScript==

/*
For list of Stack Exchange sites, look here:
http://stackexchange.com/sites?view=list#traffic

Put your excluded sites here under variable 'ignore'.  Example, if you want to ignore Arqade and Mathematica:
*/
//This is just an example list, I have nothing against these sites, they just happened to have Hot Questions when this was made
var ignore="Programming Puzzles & Code Golf, TeX - LaTeX";

var questList=document.getElementById("hot-network-questions").getElementsByTagName("li");
var curSite="";

ignore=","+ignore.replace(", ",",");

for(i=0;i<questList.length;i++){
curSite=questList[i].getElementsByTagName("div")[0].title;
if(curSite.indexOf("Stack Exchange")>1){
curSite=curSite.substring(0,curSite.length-15);
}

if(ignore.indexOf(","+curSite)>-1){
questList[i].style.display="none";
}
}


This should work in all major browsers, but I only tested in Firefox. If you have questions, leave a comment. If you have improvements feel free to edit the answer.

-
This works for me only if I wrap it into a setTimeout(function(){ ... }, 1000);. But it's still great! – romkyns Sep 8 '14 at 18:01
@romkyns- The reason why you have to do that is because, on page load, each list item is assigned a style of display: list-item, which overrides Greasemonkey's display:none. Another option, besides setTimeout, is to use visibility:hidden and height:0 – Pikamander2 Feb 19 at 10:11
@Pikamander2 interesting. I figured the list was loaded after the page through ajax or something. Good to know. – David Starkey Jun 9 at 15:53

Using Greasemonkey or Tampermonkey:

// ==UserScript==
// @name        Hide Hot Network Questions
// @namespace   GreaseMonkeyStackOverflow
// @description Hides certain Hot Network Questions on Stack Overflow
// @include     http://stackoverflow.com/*
// @include     http://*.stackexchange.com/*
// @include       http://superuser.com/*
// @include       http://serverfault.com/*
// @include     http://mathoverflow.com/*
// @version     1
// @grant       none
// ==/UserScript==
$(".favicon-gaming").parent().css('visibility', 'hidden');$(".favicon-gaming").parent().css('height', '0');


Replace favicon-gaming with the favicon class name for whatever StackExchange website you don't want to see on the list.

-

We have something along these lines in the hopper to test in the next few weeks.

Sorry, I totally misunderstood the question.

We're going to try some algorithm changes to the hot network questions which will try to guess which sites you like and don't like, and give you more of the sites that you like.

The right sidebar on the hot network questions page is just a way to create filtered questions lists. It really doesn't have anything to do with the hot network questions and I agree it's confusing. It's been that way for a long time, but we'll see if we can make it clearer.

-
Will it be done via the sidebar, or the full list of hot questions? – Shadow Wizard Mar 13 '14 at 15:31
Just the hot network questions for now. – Jeremy T Mar 13 '14 at 15:32
I'll put my vote in for the sidebar too, there are some sites I'd ideally not like to see – Richard Tingle Mar 13 '14 at 15:36
OK, what about the wording in the right sidebar of the hot questions page, you agree it's misleading? At least two users thought it means filtering the hot questions. – Shadow Wizard Mar 13 '14 at 15:39
The request here is to manually filter the sites, algorithm that try to guess... doesn't sound very good to be honest. – Shadow Wizard Mar 13 '14 at 15:56
"guess which sites you like" - oh no, this likely means more hordes of passers-by from hot list that just happen to liek c00l stuff at softer sites like Workplace and Programmers, with their senseless answers and votes. As if we didn't have enough damage already. You'd better redirect them to Stack Overflow, where it's claimed to be an issue of -17 priority – gnat Mar 13 '14 at 17:44
It would really be better if we could still have this feature, even if you mess with the algorithms in addition. After all, some users might just like to see the odd questions Arqade asks, but not be all that interested in gaming. – David Starkey Mar 13 '14 at 17:54
Regards "We're going to try some algorithm changes to the hot network questions which will try to guess which sites you like and don't like, and give you more of the sites that you like.", how about implementing the same thumbs up/thumbs down voting you have for the ads? This way you don't have to guess; users will just tell you which sites they do/don't like to see. Personally, I'd like to be able to turn the whole thing off as I find it distracting, but maybe that's just me. – DeanOC Mar 18 '14 at 0:35
@gnat: You posted that complaint in completely the wrong place, which is why it was downvoted as irrelevant to mods. – Oddthinking Nov 17 at 22:27
@Oddthinking I posted it in the right place because I wanted to learn if it's important or not for SO. There's nothing inherently irrelevant there; for comparison, moderators at many smaller sites worry about HNQ. It's just that bunch of funny "site-specific adjustments" in hotness calculation makes it less of an issue at SO compared to other sites. I wanted to learn how much less it is and I learned that – gnat Nov 17 at 22:33
@gnat: Let's go to chat. – Oddthinking Nov 17 at 22:38

I've adopted - and am very grateful for - Pikamander2's solution. My version looks like this:

// ==UserScript==
// @name        Hide Hot Network Questions
// @namespace   GreaseMonkeyStackOverflow
// @description Hides certain Hot Network Questions on Stack Overflow
// @include     http://*.stackexchange.com/*
// @include     http://stackoverflow.com/*
// @include     http://superuser.com/*
// @include     http://serverfault.com/*
// @include     http://mathoverflow.com/*
// @include     http://*/*
// @version     2
// @grant       none
// see http://meta.stackexchange.com/questions/225297/filter-hot-network-questions-by-excluding-sites
// ==/UserScript==
$.each([ "gaming", "scifi", "movies"], function(i, sitename) {$(".favicon-" + sitename).parent().css('visibility', 'hidden');
\$(".favicon-" + sitename).parent().css('height', '0');
})

-