// ==UserScript== // @name StackExchange hide closed questions // @namespace http://ostermiller.org/ // @version 1.13 // @license MIT // @description Hide closed questions on the home page and in other lists of questions. Put a link showing the number of closed questions that have been hidden that shows the closed questions again. // @include /https?\:\/\/([a-z\.]*\.)?(stackexchange|askubuntu|superuser|serverfault|stackoverflow|answers\.onstartups)\.com\/.*/ // @exclude *://chat.stackoverflow.com/* // @exclude *://chat.stackexchange.com/* // @exclude *://chat.*.stackexchange.com/* // @exclude *://api.*.stackexchange.com/* // @exclude *://data.stackexchange.com/* // @grant unsafeWindow // @downloadURL https://update.greasyfork.icu/scripts/3361/StackExchange%20hide%20closed%20questions.user.js // @updateURL https://update.greasyfork.icu/scripts/3361/StackExchange%20hide%20closed%20questions.meta.js // ==/UserScript== (function() { 'use strict' var $ = unsafeWindow.jQuery function closedQuestionVisibility(show){ var numberOfClosed=0; $('.question-summary, .s-post-summary').each(function(){ var e = $(this) var t = e.find('h3 a, .s-post-summary--content-title a').text() if (t.match(/ \[(migrated|closed|duplicate)\]$/)){ e.addClass('closed').toggle(show) numberOfClosed++ } }); return numberOfClosed } function run(){ if ($('.question-summary, .s-post-summary').length){ // if it has a list of questions var numberHidden=closedQuestionVisibility(false) if (numberHidden > 0){ $('#mainbar h1').after(" (" + numberHidden + " hidden closed)") $('#unhideclosedlink').click(function(){ closedQuestionVisibility(true) $('#unhideclosedlink').hide() return false; }); $('html > head').append("") } } } run() $('.page-numbers').click(function(){ setTimeout(run, 2000); }) })()