Open the repository home page with a right click on the notification item. 右键点击 GitHub 的通知项直接跳转到项目主页。
// ==UserScript==
// @name GitHub Notification Right Click to Repo Page
// @namespace http://clear.studio/
// @version 0.1
// @license MIT
// @description Open the repository home page with a right click on the notification item. 右键点击 GitHub 的通知项直接跳转到项目主页。
// @author Kytrun
// @match https://github.com/notifications*
// @icon https://github.com/favicon.ico
// @grant none
// ==/UserScript==
(function () {
'use strict';
const rightClickOpenRepo = () => {
const lis = document.querySelectorAll('li.notifications-list-item')
lis.forEach(li => {
const a = li.querySelector('a.notification-list-item-link').href
const repoReg = /(https:\/\/github.com\/[a-zA-Z0-9-]+\/[a-zA-Z0-9-]+)\/.+/
const repoLink = a.replace(repoReg, '$1')
//console.log(repoLink)
li.addEventListener('contextmenu', function (ev) {
ev.preventDefault();
window.open(repoLink)
return false
}, false)
})
}
rightClickOpenRepo()
// SPA reload
window.history.pushState = new Proxy(window.history.pushState, {
apply: (target, thisArg, argArray) => {
setTimeout(rightClickOpenRepo, 2000)
return target.apply(thisArg, argArray)
},
})
})();