Github搜索净化

搜索时屏蔽github上的用户CiroSantilli和wumaoland等人的仓库

Устаревшая версия за 15.12.2023. Перейдите к последней версии.

Чтобы установить этот скрипт, вы сначала должны установить расширение браузера, например Tampermonkey, Greasemonkey или Violentmonkey.

Чтобы установить этот скрипт, вы сначала должны установить расширение браузера, например Tampermonkey или Violentmonkey.

Чтобы установить этот скрипт, вы сначала должны установить расширение браузера, например Tampermonkey или Violentmonkey.

Чтобы установить этот скрипт, вы сначала должны установить расширение браузера, например Tampermonkey или Userscripts.

Чтобы установить этот скрипт, сначала вы должны установить расширение браузера, например Tampermonkey.

Чтобы установить этот скрипт, вы должны установить расширение — менеджер скриптов.

(у меня уже есть менеджер скриптов, дайте мне установить скрипт!)

Чтобы установить этот стиль, сначала вы должны установить расширение браузера, например Stylus.

Чтобы установить этот стиль, сначала вы должны установить расширение браузера, например Stylus.

Чтобы установить этот стиль, сначала вы должны установить расширение браузера, например Stylus.

Чтобы установить этот стиль, сначала вы должны установить расширение — менеджер стилей.

Чтобы установить этот стиль, сначала вы должны установить расширение — менеджер стилей.

Чтобы установить этот стиль, сначала вы должны установить расширение — менеджер стилей.

(у меня уже есть менеджер стилей, дайте мне установить скрипт!)

// ==UserScript==
// @name Github搜索净化
// @namespace https://github.com/danicastarr
// @version 1.0.4
// @description 搜索时屏蔽github上的用户CiroSantilli和wumaoland等人的仓库
// @license GPLv3
// @author DanicaStar
// @include http*://github.com/search*
// @run-at document-end
// ==/UserScript==
(function (){
// Github更新时可能会发生变化,需要手动更改!
// cardClass为外面的圆角矩形,就是项目的卡片
// nameTextClass为仓库名
const cardClass = 'div.Box-sc-g0xbh4-0.hKtuLA'
const nameTextClass = 'span.Text-sc-17v1xeu-0.qaOIC.search-match'
let ban = ['cirosantilli', 'wumaoland', 'codin-stuffs', 'cheezcharmer', 'Dimples1337', 'Dujltqzv', 'gege-circle', 'PCL/', 'zhaohmng-outlook-com', 'zaohmeing', 'Daravai1234', 'candice531033938', 'jk-ice-cream', 'sky8964', 'pxvr-official', 'zpc1314521', 'jjzhang166', 'panbinibn'];

function run() {
  let cards = document.querySelectorAll(cardClass);
  cards.forEach((el) => {
    let nameNode = el.querySelectorAll(nameTextClass)[0].innerHTML;
    ban.forEach((person) => {
      if (nameNode.includes(person)) {
        el.remove()
      }
    })
  })
}

// 首次运行
run()

// github 路由更新时
function pageChange(url) {
  // 保证时机
  setTimeout(() => {
    run()
  }, 1000)
}


// 重写 history event
let _wr = function(type) {

  let orig = history[type];
  return function() {

    let rv = orig.apply(this, arguments);

    let e = new Event(type);
    e.arguments = arguments;

    window.dispatchEvent(e);
    return rv;
  }
}

// 重写方法
history.pushState = _wr('pushState');
//监听
window.addEventListener('pushState', function(e) {
  pageChange(location.href);
})


})();