MediaWiki:Gadget-lefteditlinks.js
|
|
This page is a System Message. The code in these pages is used to alter the wiki site itself Only Administrators are able to alter system messages. If you think one should be changed, leave a note on the talk page or message User:gboyers. |
Note: After publishing, you may have to bypass your browser's cache to see the changes.
- Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
- Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
- Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5.
/* _____________________________________________________________________________
* | |
* | === WARNING: GLOBAL GADGET FILE === |
* | Changes to this page affect many users. |
* | Please discuss changes on the talk page or on [[WT:Gadget]] before editing. |
* |_____________________________________________________________________________|
*
* Moves edit links next to section headers, see [[User:Drilnoth/lefteditlinks.js/doc]]
*/
// user customizable variables via monobook.js:
// font-size css definition for edit link span
if (typeof(leftEditLinkFontSize) == 'undefined') { var leftEditLinkFontSize = 'small'; }
// css definition for spacing after heading text span
if (typeof(leftEditLinkSpacing) == 'undefined') { var leftEditLinkSpacing = '0.2em'; }
// main program
var LeftEditLinkMain = function() {
// recursively fix all spans inside headings
var content = document.getElementById('content');
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);
};
addOnloadHook(LeftEditLinkMain);