Add a "Go to Github" button on Graphite PRs
目前為
// ==UserScript==
// @name Graphite "Go to Github" button
// @namespace https://app.graphite.dev
// @version 0.1
// @description Add a "Go to Github" button on Graphite PRs
// @author Topher Brown
// @match https://app.graphite.dev/github/pr/*/*/*
// @icon data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==
// @grant none
// @license MIT
// ==/UserScript==
(function() {
'use strict';
addButton('Github PR')
function getPrGithubUrl () {
// Finds and returns the URL for this PR in Github
// example match: https://app.graphite.dev/github/pr/ORG/REPO/PR_NUMBER/PR_TITLE
var pathname = window.location.pathname
var match = pathname.match(/[^/?]*[^/?]/g)
var org = match[2]
var repo = match[3]
var prNumber = match[4]
return `https://www.github.com/${org}/${repo}/pull/${prNumber}`
}
function addButton(text, onclick, cssObj) {
cssObj = cssObj || {position: 'absolute', top: '11%', right:'4%', 'z-index': 3}
let button = document.createElement('a'), btnStyle = button.style
document.body.appendChild(button)
button.innerHTML = text
button.setAttribute("href", getPrGithubUrl())
Object.keys(cssObj).forEach(key => btnStyle[key] = cssObj[key])
return button
}
})();