Hide starred repos in trending and remove slob
当前为
// ==UserScript==
// @name Undiscovered Trending
// @namespace shiftgeist
// @icon https://github.com/fluidicon.png
// @match https://github.com/trending*
// @grant none
// @version 20250402
// @author shiftgeist
// @description Hide starred repos in trending and remove slob
// @license GNU GPLv3
// ==/UserScript==
function log(...params) {
if (localStorage.getItem('undiscovered-debug') === 'true') {
console.log('[undiscovered]', ...params)
}
}
function main() {
log('start of main')
setTimeout(() => {
log('delay done')
const articles = document.querySelectorAll('article')
for (article of articles) {
if (
// Already starred
article.querySelector('.starred-button-icon').getClientRects().length > 0 ||
// Contains AI
[
' ai ',
'ai assistant',
'ai chat',
'ai models',
'ai-powered',
'crypto',
'deepseek',
'defi',
'gemini',
'gpt',
'llm',
'mcp',
'ollama',
'openai',
'qwenlm',
].findIndex(e => article.innerText.toLowerCase().includes(e)) >= 0
) {
article.style.display = 'none'
}
}
}, 300)
}
log('init')
let previousUrl = ''
const observer = new MutationObserver(function (mutations) {
if (location.href !== previousUrl) {
previousUrl = location.href
main()
}
})
const config = { subtree: true, childList: true }
observer.observe(document, config)