MediaWiki:PreMarkup.js
Appearance
This content is in the Mediawiki Namespace. This is a system namespace for wiki-wide tuning.
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.
$(document).ready(function () {
$('pre').each(function () {
var $this = $(this)
var OriginalText = $this.html();
$this.parent(".mw-collapsible-content").show(); /// temporary show collapsible content to read its location....
$this.parent().parent(".mw-collapsible-content").show(); /// temporary show collapsible content to read its location....
function returnBoxedText(match, p1) { return '' + p1 + ''; }
function returnSpanPosStr(match, p1) {
var MarginTop = 0;
var MarginLeft = 0;
var Rotation = 0;
switch (p1) {
case "":
MarginTop = 5;
MarginLeft = 5;
Rotation = 225;
break;
case "-tr":
MarginTop = 5;
MarginLeft = 5;
Rotation = 225;
break;
case "-br":
MarginTop = 20;
MarginLeft = 0;
Rotation = 315;
break;
break;
case "-bl":
MarginTop = 10;
MarginLeft = -5;
Rotation = 45;
break;
case "-tl":
MarginTop = 0;
MarginLeft = -5;
Rotation = 135;
break;
}
return '<point-here class="pre-arrow" orientation="' + p1 + '" style="position:absolute; maring-left: ' + MarginLeft + 'px; margin-top: ' + MarginTop + 'px; transform: rotate(' + Rotation + 'deg); transform-origin: 0% 0%;"> </point-here>';
}
var newText = OriginalText.replace(/<box>(.*)<\/box>/g, returnBoxedText);
newText = newText.replace(/<point-here(\S*)>/g, returnSpanPosStr);
$this.html(newText);
$this.find('box').each(function () {
posTop = $(this).position().top - 3;
posLeft = $(this).position().left - 3;
boxWidth = $(this).width();
$this.append('<div style="padding:1px; padding-left:2px; border: 2px solid red; border-radius: 5px; box-shadow: 0.5px 0.5px 5px 0.5px red; position: absolute; left: ' + posLeft + 'px; top: ' + posTop + 'px; width:' + boxWidth + 'px;"> </div>');
});
});
});