Greasy Fork is available in English.

屏蔽知乎首页推荐中的广告和关键词

知乎推荐太讨厌了

// ==UserScript==
// @name         屏蔽知乎首页推荐中的广告和关键词
// @namespace    http://tampermonkey.net/
// @version      0.6
// @description  知乎推荐太讨厌了
// @author       Ava
// @match        https://www.zhihu.com/
// @grant        none
// ==/UserScript==

(function () {
    'use strict';

    var keysReg = /肖战|余生请多指教|斗罗大陆|王一博|龚俊|温客行|俊子|山河令|张哲瀚|明星/;
    var hideVideo = 1; //如果需要展示视频回答,改成 hideVideo = 0

    var elList = document.querySelector('.Topstory-recommend>div');

    function hideCards(items) {
        items.forEach(function (item) {
            if (item.classList.contains('TopstoryItem--advertCard')) {
                item.parentNode.removeChild(item);
            } else {
                var domTitle = item.querySelector('.ContentItem-title a');
                if (domTitle && keysReg.test(domTitle.innerHTML)) {
                    item.parentNode.removeChild(item);
                } else if (hideVideo && (item.querySelector('.ZVideoItem') || item.querySelector('.VideoAnswerPlayer'))) {
                    item.parentNode.removeChild(item);
                }
            }
        });
    }

    function callback(mutationList, observer) {
        mutationList.forEach(function (mutation) {
            if (mutation.type === 'childList') {
                if (mutation.addedNodes.length) {
                    hideCards(mutation.addedNodes);
                }
            }
        });
    }

    hideCards(elList.childNodes);

    var observerOptions = {childList: true};
    var observer = new MutationObserver(callback);
    observer.observe(elList, observerOptions);

})();