I've adopted - and am very grateful for - Pikamander2's solution. My version now looks like this.
(Update: in Firefox 64, I've had to add the @require
statement to include jQuery, and the @match
/@exclude
statements no longer work - I have to configure that from within the GreaseMonkey menu instead.)
// ==UserScript==
// @name Hide Hot Network Questions
// @version 4
// @grant none
// @require https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js
// @match *://*.askubuntu.com/*
// @match *://*.mathoverflow.net/*
// @match *://*.serverfault.com/*
// @match *://*.stackapps.com/*
// @match *://*.stackexchange.com/*
// @match *://*.stackoverflow.com/*
// @match *://*.superuser.com/*
// @exclude *://api.stackexchange.com/*
// @exclude *://blog.*.com/*
// @exclude *://chat.*.com/*
// @exclude *://data.stackexchange.com/*
// @exclude *://elections.stackexchange.com/*
// @exclude *://openid.stackexchange.com/*
// @exclude *://stackexchange.com/*
// see http://meta.stackexchange.com/questions/225297/filter-hot-network-questions-by-excluding-sites
// and http://stackoverflow.com/questions/29682724/why-does-my-greasemonkey-jquery-script-that-hides-the-sidebar-work-on-stack-exch
// ==/UserScript==
//console.log("filtering hot network questions ...");
$.each([
"astronomy",
"aviation",
"codegolf",
"electronics",
"gaming",
"judaism",
"movies",
"photo",
"puzzling",
"rpg",
"scifi",
"space",
"tridion",
"worldbuilding",
"writing"
], function(i, sitename)
{
//console.log("excluding " + sitename);
$(".favicon-" + sitename).parent().css('visibility', 'hidden');
$(".favicon-" + sitename).parent().css('height', '0');
})