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

Страница интерфейса MediaWiki
Нет описания правки
Нет описания правки
Строка 13: Строка 13:
};
};


function colorize($root) {
function colorize(root) {
$root.find("*").each(function () {
if (!root) return;
var $el = $(this);
var elements = root.querySelectorAll("*");
if ($el.is("h1,h2,h3,h4,h5,h6,th,table,code,pre,.citizen-section-heading,.mw-headline")) return;
for (var i = 0; i < elements.length; i++) {
var html = $el.html();
var el = elements[i];
for (var word in words) {
if (el.tagName.match(/H[1-6]|TH|TABLE|PRE|CODE/) || el.classList.contains("citizen-section-heading") || el.classList.contains("mw-headline")) continue;
if (!words.hasOwnProperty(word)) continue;
el.innerHTML = el.innerHTML.replace(/\b(властью|ответственность|Процедуры|ядерный|диск|станции|ГСБ|увольнение|офицера|банановая)\b/g,
var color = words[word];
function(match) {
var re = new RegExp("\\b(" + word + ")\\b", "g");
return '<span style="color:' + words[match] + '; font-weight:600;">' + match + '</span>';
html = html.replace(re, '<span style="color:' + color + '; font-weight:600;">$1</span>');
});
}
}
$el.html(html);
});
}
}


mw.hook("wikipage.content").add(function ($content) {
var section = document.querySelector("#Ваши_обязанности");
colorize($content.find(".mw-parser-output"));
colorize(section);
});
})();
})();

Версия от 22:08, 16 января 2026

(function () {
	var words = {
		"властью": "#e74c3c",
		"ответственность": "#9b59b6",
		"Процедуры": "#2980b9",
		"ядерный": "#f1c40f",
		"диск": "#e67e22",
		"станции": "#1abc9c",
		"ГСБ": "#2c3e50",
		"увольнение": "#c0392b",
		"офицера": "#16a085",
		"банановая": "#d35400"
	};

	function colorize(root) {
		if (!root) return;
		var elements = root.querySelectorAll("*");
		for (var i = 0; i < elements.length; i++) {
			var el = elements[i];
			if (el.tagName.match(/H[1-6]|TH|TABLE|PRE|CODE/) || el.classList.contains("citizen-section-heading") || el.classList.contains("mw-headline")) continue;
			el.innerHTML = el.innerHTML.replace(/\b(властью|ответственность|Процедуры|ядерный|диск|станции|ГСБ|увольнение|офицера|банановая)\b/g,
				function(match) {
					return '<span style="color:' + words[match] + '; font-weight:600;">' + match + '</span>';
				});
		}
	}

	var section = document.querySelector("#Ваши_обязанности");
	colorize(section);
})();