Created
September 30, 2014 12:01
-
-
Save joostdevries/f2ce4f24dc16ae8c2d10 to your computer and use it in GitHub Desktop.
github-related-issues.user.js
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Adds a 'References' section to the github issue/PR sidebar | |
// | |
// Installation: | |
// - Save this file as github-related-issues.user.js somewhere | |
// - Go to chrome://extensions | |
// - Drag the file to the open extensions tab | |
(function(w) { | |
var $ = function(selector, one) { | |
return one?document.querySelector(selector):document.querySelectorAll(selector); | |
} | |
var initGithub = function() { | |
var refs = $('.discussion-item-ref .state'); | |
var sidebar = $('.discussion-sidebar',true); | |
var refsList = refsList = $('.references-userscript-list',true); | |
if(!refs.length || !sidebar || refsList) return false; | |
var cssNode = document.createElement('style'); | |
var head = $('head', true); | |
cssNode.type='text/css'; | |
cssNode.innerText = '.references-userscript-list .discussion-item-header {display:none;}'+ | |
'.references-userscript-list .issue-meta-section {display:none;}'+ | |
'.references-userscript-list .discussion-item {margin:0; padding:0; padding-top:10px; font-size:10px !important;height:35px; overflow:hidden;}'+ | |
'.references-userscript-list .discussion-item a .issue-num{float:left;}'; | |
head.appendChild(cssNode); | |
var refsNode = document.createElement('div'); | |
refsNode.className = 'discussion-sidebar-item sidebar-additional'; | |
refsNode.innerHTML = '<div id="references-userscript">' + | |
' <div class="references-userscript">' + | |
'' + | |
' <h3 class="discussion-sidebar-heading">' + | |
' References' + | |
' </h3>' + | |
' <div class="references-userscript-list">' + | |
' </div>' + | |
' </div>' + | |
'</div>'; | |
sidebar.insertBefore(refsNode, sidebar.firstChild); | |
refsList = $('.references-userscript-list',true); | |
for(var i=0; i<refs.length; i++) { | |
// console.log(refs[i], refs[i].querySelector('.state')); | |
var ref = refs[i].parentNode; | |
var state = ref.querySelector('.state').cloneNode(true); | |
var link = ref.querySelector('.title-link').cloneNode(true); | |
link.title = link.innerText.trim(); | |
link.removeChild(link.firstChild); | |
var newTitle = document.createElement('h3'); | |
newTitle.className='discussion-item-ref-title'; | |
newTitle.appendChild(link); | |
var newNode = document.createElement('div'); | |
newNode.className='discussion-item discussion-item-ref'; | |
newNode.appendChild(state); | |
newNode.appendChild(newTitle); | |
refsList.appendChild(newNode); | |
} | |
} | |
var github = w.location.href.indexOf('github.com')!==-1; | |
// if(github && w.addEventListener) | |
setInterval(function() { | |
initGithub(); | |
},1000); | |
})(window); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment