// ==UserScript== // @id clonegistindesktop // @name Clone gist in Desktop // @author Antoine BERNIER (abernier) // @version 0.0.2 // @description Add a 'Clone in Desktop' button to gists // @match https://gist.github.com/* // ==/UserScript== (function () { var li = document.createElement('li'); var downloadLi = document.querySelector('a[href*="/download"]').parentNode; var repoUrl = document.querySelector('input[name="url-field"]').getAttribute('value'); // make a copy of the download li li.innerHTML = downloadLi.innerHTML; // Change some things li.innerHTML = li.innerHTML.replace(/href="[^"]*"/, 'href="github-mac://openRepo/' + repoUrl + '"'); li.innerHTML = li.innerHTML.replace('Download Gist', 'Clone in Desktop'); li.innerHTML = li.innerHTML.replace('octicon-cloud-download', 'octicon-device-desktop'); // insert just before downloadLi.parentNode.insertBefore(li, downloadLi); }());