48 lines
1.9 KiB
JavaScript
48 lines
1.9 KiB
JavaScript
// ==UserScript==
|
|
// @name nightly.link buttons
|
|
// @namespace blankie-scripts
|
|
// @match http*://github.com/*/*/runs/*
|
|
// @match http*://github.com/*/*/actions/runs/*
|
|
// @grant none
|
|
// @version 1.0
|
|
// @author blankie
|
|
// @run-at document-end
|
|
// @description Show buttons to nightly.link on artifacts and build logs
|
|
// ==/UserScript==
|
|
|
|
const INSTANCE_URL = "https://nightly.link";
|
|
|
|
function pageUpdated() {
|
|
console.log("awo");
|
|
let artifactsDiv = document.evaluate(
|
|
"//div[@class = 'mx-0 mx-md-1'][h4[@class = 'text-bold']][div[@class = 'color-fg-muted text-small']]", document)
|
|
.iterateNext();
|
|
if (artifactsDiv !== null) {
|
|
let artifactsButton = document.createElement("a");
|
|
artifactsButton.className = "btn";
|
|
// https://stackoverflow.com/a/17228764
|
|
artifactsButton.style.float = "right";
|
|
artifactsButton.innerText = "View on nightly.link";
|
|
artifactsButton.href = INSTANCE_URL + location.pathname;
|
|
artifactsDiv.prepend(artifactsButton);
|
|
}
|
|
|
|
let githubLogsButton = document.querySelector("a.js-steps-dropdown-raw-logs");
|
|
let logsHeader = document.querySelector("div.js-checks-log-toolbar");
|
|
if (githubLogsButton !== null) {
|
|
let nightlyLogsButton = document.createElement("a");
|
|
nightlyLogsButton.className = "pl-5 dropdown-item btn-link";
|
|
nightlyLogsButton.innerText = "View logs on nightly.link";
|
|
nightlyLogsButton.href = INSTANCE_URL + location.pathname + ".txt";
|
|
githubLogsButton.parentNode.append(nightlyLogsButton);
|
|
} else if (logsHeader !== null) {
|
|
let logsLink = document.createElement("a");
|
|
logsLink.innerText = "View on nightly.link";
|
|
logsLink.href = INSTANCE_URL + location.pathname + ".txt";
|
|
logsHeader.append(logsLink);
|
|
}
|
|
}
|
|
|
|
// TODO: function properly on SPA-like navigation
|
|
pageUpdated();
|