Jump to content

User:Gary/editable template examples.js

From Wikipedia, the free encyclopedia

This is the current revision of this page, as edited by Xeno (talk | contribs) at 22:24, 20 February 2014 (Xeno moved page User:Gary King/editable template examples.js to User:Gary/editable template examples.js without leaving a redirect: Automatically moved page while renaming the user "Gary King" to "Gary"). The present address (URL) is a permanent link to this version.

(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff)
Note: After saving, you have to bypass your browser's cache to see the changes. Google Chrome, Firefox, Microsoft Edge and Safari: Hold down the ⇧ Shift key and click the Reload toolbar button. For details and instructions about other browsers, see Wikipedia:Bypass your cache.
/*
	EDITABLE TEMPLATE EXAMPLES
	Description: Converts template examples in <pre> tags to <textarea> so they can be more easily copied.
		Simply click anywhere in the box, then right-click and choose "Select All" (or use the keyboard shortcut). Then copy the text.
*/

if (typeof(unsafeWindow) != 'undefined')
{
	mw = unsafeWindow.mw;
}

$(editableTemplateExamples);

function editableTemplateExamples()
{
	if (mw.config.get('wgCanonicalNamespace') != 'Template' || mw.util.getParamValue('disable') == 'editexamples') return false;
	
	// Convert each <pre> to <textarea>
	$('#template-documentation pre').each(function()
	{
		var pre = $(this);
		
		// Continue to next if current node is color coded source code.
		if (pre.parent().parent().hasClass('mw-geshi')) return true;
		
		var contents = pre.contents().first();
		var rows = contents[0].nodeValue.split('\n').length;
		var textarea = $('<textarea rows="' + rows + '"></textarea>').append(contents);
		textarea.css('width', (textarea.attr('cols') + 5) + 'em');
		pre.replaceWith(textarea);
	});
}