MediaWiki:Test.js: различия между версиями

Страница интерфейса MediaWiki
Нет описания правки
Нет описания правки
 
(не показаны 124 промежуточные версии этого же участника)
Строка 1: Строка 1:
(function () {
(function(){
  var roleStyles = {
if(typeof mw==='undefined') return;
    "command":    { border: "#372686", background: "#241c4a" },
    "legal":      { border: "#6d5d53", background: "#3e3530" },
    "security":    { border: "#ff0000", background: "#7a0000" },
    "prison":      { border: "#002e86", background: "#00173d" },
    "med":        { border: "#275b66", background: "#15343c" },
    "sci":        { border: "#663a9c", background: "#3b2860" },
    "eng":        { border: "#cc9900", background: "#665200" },
    "supply":      { border: "#9c593a", background: "#512d1b" },
    "service":    { border: "#3e8b3e", background: "#2e552e" },
    "antags":      { border: "#5c0000", background: "#500000" },
    "free-antags": { border: "#8b0049", background: "#5d002f" },
    "wildlife":    { border: "#da791e", background: "#b36212" },
    "cc":          { border: "#4b662f", background: "#344f23" },
    "specops":    { border: "#005f2f", background: "#004022" },
    "synthetics":  { border: "#4b0082", background: "#360050" },
    "ghost":      { border: "#5e5e5e", background: "#3a3a3a" }
  };


  for (var key in roleStyles) {
var map={
    if (!roleStyles.hasOwnProperty(key)) continue;
"Клише":"#ff4d4d",
    var el = document.getElementById(key);
"властью":"#4dff4d",
    if (!el) continue;
"ответственность":"#4d4dff",
    var block = el.nextElementSibling;
"Стандартные Рабочие Процедуры":"#ff4dff",
    if (!block || typeof block.className === "undefined") continue;
"ядерный":"#ffa500",
"станции":"#4dffff",
"ГСБ":"#b84dff",
"диск":"#4dff88",
"СРП/КЗ":"#ffb6c1",
"банановая кожурка":"#ffff4d"
};


    block.className += " role-block";
function esc(s){return s.replace(/[.*+?^${}()|[\]\\]/g,'\\$&');}
    block.style.border = "2px solid " + roleStyles[key].border;
 
    block.style.background = roleStyles[key].background;
function walk(node){
  }
if(node.nodeType===3){
var t=node.nodeValue, r=t;
for(var k in map){
r=r.replace(new RegExp(esc(k),'g'),'<span style="color:'+map[k]+'">'+k+'</span>');
}
if(r!==t){
var s=document.createElement('span');
s.innerHTML=r;
node.parentNode.replaceChild(s,node);
}
}
}
 
var nodes=document.querySelectorAll('.mw-parser-output p, .mw-parser-output li');
for(var i=0;i<nodes.length;i++){
var cn=nodes[i].childNodes;
for(var j=0;j<cn.length;j++) walk(cn[j]);
}
})();
})();

Текущая версия от 11:16, 17 января 2026

(function(){
if(typeof mw==='undefined') return;

var map={
"Клише":"#ff4d4d",
"властью":"#4dff4d",
"ответственность":"#4d4dff",
"Стандартные Рабочие Процедуры":"#ff4dff",
"ядерный":"#ffa500",
"станции":"#4dffff",
"ГСБ":"#b84dff",
"диск":"#4dff88",
"СРП/КЗ":"#ffb6c1",
"банановая кожурка":"#ffff4d"
};

function esc(s){return s.replace(/[.*+?^${}()|[\]\\]/g,'\\$&');}

function walk(node){
if(node.nodeType===3){
var t=node.nodeValue, r=t;
for(var k in map){
r=r.replace(new RegExp(esc(k),'g'),'<span style="color:'+map[k]+'">'+k+'</span>');
}
if(r!==t){
var s=document.createElement('span');
s.innerHTML=r;
node.parentNode.replaceChild(s,node);
}
}
}

var nodes=document.querySelectorAll('.mw-parser-output p, .mw-parser-output li');
for(var i=0;i<nodes.length;i++){
var cn=nodes[i].childNodes;
for(var j=0;j<cn.length;j++) walk(cn[j]);
}
})();