返回首頁 

Greasy Fork is available in English.

GitHub Branches Sorter

Allows sorting the branches list of a repository in ways additional to the default, modification time ordering


Installer dette script?
// ==UserScript==// @name        GitHub Branches Sorter// @namespace   Violentmonkey Scripts// @match       https://github.com/*/*// @grant       none// @version     1.0.1// @license     ISC// @author      OctoSpacc// @description Allows sorting the branches list of a repository in ways additional to the default, modification time ordering// ==/UserScript==var lastpath = window.location.pathname;function onBranchesPage(){var pathElems = window.location.pathname.split('/').slice(3);return (pathElems[0] === 'branches' && pathElems[1]);}function main(){lastpath = window.location.pathname;var tableQuery = 'table.Table__StyledTable-sc-jofqvq-0.gsRldM.Table';var orderButtonElem = document.createElement('button');orderButtonElem.innerHTML = 'Sort Branches';orderButtonElem.onclick = function(){var tableElems = document.querySelectorAll(`${tableQuery} > tbody`);tableElems[0].style.display = (tableElems[0].style.display ? '' : 'none');tableElems[1].style.display = (tableElems[1].style.display ? '' : 'none');};var tableAlphabElem = document.querySelector(`${tableQuery} > tbody`).cloneNode(false);tableAlphabElem.style.display = 'none';var alphabRowElems = {};for (var branchRowElem of document.querySelectorAll(tableQuery + '> tbody > tr')) {var branchName = branchRowElem.querySelector('td > div > a').textContent;var branchRowElemNew = branchRowElem.cloneNode(true);alphabRowElems[branchName] = branchRowElemNew;}alphabRowElems = Object.keys(alphabRowElems).sort().reduce(function(obj, key) {obj[key] = alphabRowElems[key];return obj;},{});for (var branchRowElem of Object.values(alphabRowElems)) {tableAlphabElem.appendChild(branchRowElem);}document.querySelector('.Box-sc-g0xbh4-0.lhFvfi').appendChild(orderButtonElem);document.querySelector(tableQuery).appendChild(tableAlphabElem);}setInterval(function(){if (window.location.pathname !== lastpath && onBranchesPage()) {window.location.reload();}}, 1000);if (onBranchesPage()) {main();}