GitHub - Make the site better (and wider)

Makes github full width in a few views, and makes PR diffs easier to browse

2015-08-18 या दिनांकाला. सर्वात नवीन आवृत्ती पाहा.

ही स्क्रिप्ट इंस्टॉल करण्यासाठी तुम्हाला Tampermonkey, Greasemonkey किंवा Violentmonkey यासारखे एक्स्टेंशन इंस्टॉल करावे लागेल.

ही स्क्रिप्ट इंस्टॉल करण्यासाठी तुम्हाला Tampermonkey किंवा Violentmonkey यासारखे एक्स्टेंशन इंस्टॉल करावे लागेल..

ही स्क्रिप्ट इंस्टॉल करण्यासाठी तुम्हाला Tampermonkey किंवा Violentmonkey यासारखे एक्स्टेंशन इंस्टॉल करावे लागेल..

You will need to install an extension such as Tampermonkey or Userscripts to install this script.

ही स्क्रिप्ट इंस्टॉल करण्यासाठी तुम्हाला Tampermonkey यासारखे एक्स्टेंशन इंस्टॉल करावे लागेल..

ही स्क्रिप्ट इंस्टॉल करण्यासाठी तुम्हाला एक युझर स्क्रिप्ट व्यवस्थापक एक्स्टेंशन इंस्टॉल करावे लागेल.

(माझ्याकडे आधीच युझर स्क्रिप्ट व्यवस्थापक आहे, मला इंस्टॉल करू द्या!)

ही स्टाईल इंस्टॉल करण्यासाठी तुम्हाला Stylus सारखे एक्स्टेंशन इंस्टॉल करावे लागेल.

ही स्टाईल इंस्टॉल करण्यासाठी तुम्हाला Stylus सारखे एक्स्टेंशन इंस्टॉल करावे लागेल.

ही स्टाईल इंस्टॉल करण्यासाठी तुम्हाला Stylus सारखे एक्स्टेंशन इंस्टॉल करावे लागेल.

ही स्टाईल इंस्टॉल करण्यासाठी तुम्हाला एक युझर स्टाईल व्यवस्थापक इंस्टॉल करावे लागेल.

ही स्टाईल इंस्टॉल करण्यासाठी तुम्हाला एक युझर स्टाईल व्यवस्थापक इंस्टॉल करावे लागेल.

ही स्टाईल इंस्टॉल करण्यासाठी तुम्हाला एक युझर स्टाईल व्यवस्थापक इंस्टॉल करावे लागेल.

(माझ्याकडे आधीच युझर स्टाईल व्यवस्थापक आहे, मला इंस्टॉल करू द्या!)

// ==UserScript==
// @name         GitHub - Make the site better (and wider)
// @namespace    http://adamwknox.com
// @version      0.5
// @description  Makes github full width in a few views, and makes PR diffs easier to browse
// @author       DrKnoxy
// @include      https://github.com/*
// @grant        none
// ==/UserScript==

var styleTemplate = [
	'<style id="knoxyTemplate">',
        // General
		'.container {',
			'width: 100%;',
			'padding-left: 15px;',
			'padding-right: 15px;',
		'}',
		'.repository-with-sidebar .repository-content {',
			'margin-right: 60px;',
			'float: none;',
			'width: auto;',
		'}',
    
        // PR / Compare
		'.blob-wrapper { display:none; }',
		'.file-header { max-height: 42px; }',
        '.subnav { max-height: 34px; }',
        '.table-list-header { max-height: 44px; }',
        
        // wiki pages
        '.wiki-wrapper #wiki-content {clear: none;}',
	'</style>',
].join('');

function workStyleTemplate(url) {
	var pattern = /https:\/\/github.com\/.*\/.*\/(pull|compare|wiki).*/g;
	var reg = new RegExp(pattern);
	if ( url.match(reg) ) {
		$('head').append(styleTemplate);
	} else {
		$('head').find('#knoxyTemplate').remove();
	}
}

$(function(){

	$(document).on('click', '.file-header', function(e){
	    $(this).next('.blob-wrapper').toggle();
	});

	// Update stylesheet on page load
	workStyleTemplate(window.location.href);

	// When pjax finishes, update our stylesheet
    $(document).on('pjax:complete pjax:popstate', function(e){
		var url = e.delegateTarget.URL;
		workStyleTemplate(url);
	});
});