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

Страница интерфейса MediaWiki
Нет описания правки
Нет описания правки
 
(не показано 128 промежуточных версий этого же участника)
Строка 1: Строка 1:
body {
(function(){
  background-color: #121212;
if(typeof mw==='undefined') return;
  color: #e0e0e0;
}
 
#chemistry-recipes {
  margin-top: 1em;
}
 
/* Общий стиль карточек */
.chem-recipe {
  border-radius: 10px;
  margin-bottom: 1em;
  box-shadow: 0 2px 6px rgba(0,0,0,0.6);
  overflow: hidden;
  background-color: #1e1e1e;
  color: #e0e0e0;
}
 
/* Шапка карточки */
.chem-header {
  padding: 0.8em 1em;
  font-weight: bold;
  font-size: 1.2em;
  cursor: pointer;
  user-select: none;
  color: #fff;
}


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


.chem-content ul {
function esc(s){return s.replace(/[.*+?^${}()|[\]\\]/g,'\\$&');}
  margin: 0.4em 0 0.8em 1.2em;
  padding-left: 1em;
}


.chem-content p {
function walk(node){
  margin: 0.4em 0;
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){
.chem-content hr {
var s=document.createElement('span');
  border: none;
s.innerHTML=r;
  border-top: 1px solid #444;
node.parentNode.replaceChild(s,node);
  margin: 0.5em 0;
}
}
/* Индивидуальные цвета */
.chem-mannitol .chem-header {
  background-color: #6a5acd; /* фиолетовый */
}
}
.chem-chlorine .chem-header {
  background-color: #9acd32; /* жёлто-зелёный */
}
.chem-fluorine .chem-header {
  background-color: #ffcc00; /* бледно-жёлтый */
  color: #000;
}
}


.chem-iron .chem-header {
var nodes=document.querySelectorAll('.mw-parser-output p, .mw-parser-output li');
  background-color: #b0b0b0; /* стальной серый */
for(var i=0;i<nodes.length;i++){
  color: #000;
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]);
}
})();