roadlabs
9/27/2018 - 3:57 AM

Clone gist in Desktop

Clone gist in Desktop

// ==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);
}());

Download the user.js file and then drop it into your chrome://extensions/ tab and enjoy the button on your gists!