מדיה ויקי:Gadget-alignEditsectionToRight.js

מתוך ויקיפדיה, האנציקלופדיה החופשית

הערה: לאחר הפרסום, ייתכן שיהיה צורך לנקות את זיכרון המטמון (cache) של הדפדפן כדי להבחין בשינויים.

  • פיירפוקס / ספארי: להחזיק את המקש Shift בעת לחיצה על טעינה מחדש (Reload) או ללחוץ על צירוף המקשים Ctrl-F5 או Ctrl-R (במחשב מק: ⌘-R).
  • גוגל כרום: ללחוץ על צירוף המקשים Ctrl-Shift-R (במחשב מק: ⌘-Shift-R).
  • אינטרנט אקספלורר / אדג': להחזיק את המקש Ctrl בעת לחיצה על רענן (Refresh) או ללחוץ על צירוף המקשים Ctrl-F5.
  • אופרה: ללחוץ על Ctrl-F5.
// מעביר את פסקת פתיח בצמוד לכותרת
// נלקח מויקי אנגלית
// המשתנים ניתנים להתאמה באמצעות סקריפט הסקין האישי

// font-size css definition for edit link span


// main program
$(function() {
	var content = document.getElementById('content');

	// Some MediaWiki pages, like Special:CX, just don't have a content element,
	// so stop at this point
	if ( content === null ) {
		return;
	}

	// css definition for spacing after heading text span
	var leftEditLinkFontSize = window.leftEditLinkFontSize || 'small';
	var leftEditLinkSpacing = window.leftEditLinkSpacing || '0.2em'; 

	// recursively fix all spans inside headings
	var LeftEditLink = function(level) {
 
		// get all heading of this level
		var headings = content.getElementsByTagName('h' + level);
		for (var i = 0; i < headings.length; i ++) {
			var heading = headings[i];
 
			// get edit span
			var editSpan = heading.firstChild;
			if (editSpan === null) { continue }
			if (editSpan.className != 'editsection') { continue }
 
			// get blank
			var blank = editSpan.nextSibling;
			if (blank === null) { continue }
			if (blank.nodeValue != ' ') { continue }
 
			// get heading span
			var headingSpan = blank.nextSibling;
			if (headingSpan === null) { continue }
			if (headingSpan.nodeName != 'SPAN') { continue }
 
			// move blank after heading text
			heading.appendChild(blank);
 
			// move edit span after blank
			heading.appendChild(editSpan);
 
			// get rid of evil edit span floating
			editSpan.style.styleFloat = 'none';
			editSpan.style.cssFloat = 'none';
 
			// set edit span font size
			editSpan.style.fontSize = leftEditLinkFontSize;
 
			// set heading span right margin
			headingSpan.style.marginRight = leftEditLinkSpacing;
		}
 
		// recurse through heading levels
		if (level < 6) {
			LeftEditLink(level + 1);
		}
		return;
	};
 
	// call recursive function
	LeftEditLink(1);
});