搜索时屏蔽github上的用户CiroSantilli和wumaoland等人的仓库
目前為
// ==UserScript==
// @name Github搜索净化
// @namespace https://github.com/danicastarr
// @version 1.0.5
// @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 search_list = document.querySelector("div[data-testid='results-list']").childNodes;
for (let i = 0;i < search_list.length; i++) {
for (let j = 0; j < ban.length; j++) {
if (search_list[i].innerText.includes(ban[j])) {
search_list[i].hidden = true;
break;
}
}
}
}
// 首次运行
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);
})
})();