Simple YouTube Channel Subscriptions Filter-IN

You have like 200 channel subscriptions but only really follow a few? put them on the 'matchList' variable and other channels will not be visible on the quick list.

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey, Greasemonkey или Violentmonkey.

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey или Violentmonkey.

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey или Violentmonkey.

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey или Userscripts.

За да инсталирате скрипта, трябва да инсталирате разширение като Tampermonkey.

За да инсталирате този скрипт, трябва да имате инсталиран скриптов мениджър.

(Вече имам скриптов мениджър, искам да го инсталирам!)

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

(Вече имам инсталиран мениджър на стиловете, искам да го инсталирам!)

// ==UserScript==
// @name       Simple YouTube Channel Subscriptions Filter-IN
// @version    0.1 alpha
// @description You have like 200 channel subscriptions but only really follow a few? put them on the 'matchList' variable and other channels will not be visible on the quick list.
// @match      http://www.youtube.com/*
// @match      http://youtube.com/*
// @match      https://www.youtube.com/*
// @match      https://youtube.com/*
// @license    GPLv3 - http://www.gnu.org/licenses/gpl-3.0.en.html
// @copyright  teken
// @namespace https://greasyfork.org/users/17433
// ==/UserScript==

var funcFilter = function() {
    var aElementList = [];
    
    var hideAllChannelsFirst = document.getElementsByClassName("video-thumb  yt-thumb yt-thumb-20");
    for (var iHide = 0; iHide < hideAllChannelsFirst.length; iHide++) {
        hideAllChannelsFirst[iHide].parentElement.parentElement.parentElement.parentElement.style.display = "none";
    }
    
    var bestChannels;
    var matchList = [ //it is CASE SENSITIVE, simply change and add new entries as shown below.
        "Channel Name 1", 
        "chaNNel naME 2",
    ];
    for (var iMatch = 0; iMatch < matchList.length; iMatch++) {
        bestChannels = document.evaluate("//span[contains(text(),'"+matchList[iMatch]+"')]", document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
        for (var iFillFinal = 0; iFillFinal < bestChannels.snapshotLength; iFillFinal++) {var temp1 = bestChannels.snapshotItem(iFillFinal);aElementList.push(temp1);}
    }
    
    //console.log("DEBUG2: "+aElementList.length);
    
    for (var iUnhideBest = 0; iUnhideBest < aElementList.length; iUnhideBest++) {
        var temp2 = aElementList[iUnhideBest];
        temp2.parentElement.parentElement.parentElement.parentElement.style.display = ""; //clear the "none" value
        //temp2.style.color = "#FFFF00";
        //temp2.style.backgroundColor = "#0000A0";
    }
};

document.addEventListener("DOMSubtreeModified", function() { funcFilter(); } , false);