MediaWiki:Common.js: различия между версиями
Материал из Музыкально-фольклорный депозитарий
Krdk (обсуждение | вклад) Нет описания правки |
Krdk (обсуждение | вклад) Нет описания правки |
||
| Строка 1: | Строка 1: | ||
/* Бронебойный скрипт для SVG-баннеров в боковом меню (Timeless) */ | |||
/* | mw.loader.using('mediawiki.util').then(function () { | ||
mw.hook('wikipage.content').add(function () { | |||
mw.hook('wikipage.content').add(function() { | // Ищем ссылки во всех боковых меню (и левом, и правом) | ||
$('#mw-site-navigation a, #mw-related-navigation a, .sidebar-chunk a, .mw-portlet a').each(function () { | |||
var $link = $(this); | var $link = $(this); | ||
var linkText = $link.text().trim(); | var linkText = $link.text().trim(); | ||
// | // Если текст ссылки заканчивается на .svg (регистронезависимо) | ||
if (linkText.match(/\.svg$/i)) { | if (linkText.match(/\.svg$/i)) { | ||
// | // Получаем прямую ссылку на файл | ||
var imgSrc = mw.util.getUrl('Special:FilePath/' + linkText); | var imgSrc = mw.util.getUrl('Special:FilePath/' + linkText); | ||
// Создаем | // Создаем картинку | ||
var $img = $('<img>', { | var $img = $('<img>', { | ||
src: imgSrc, | src: imgSrc, | ||
| Строка 26: | Строка 20: | ||
'height': 'auto', | 'height': 'auto', | ||
'display': 'block', | 'display': 'block', | ||
'margin': '5px auto' | 'margin': '5px auto', | ||
'border-radius': '4px', | |||
'transition': 'transform 0.2s' | |||
} | } | ||
}); | }); | ||
// Эффект при наведении прямо в JS (чтобы не зависеть от CSS) | |||
$img.hover( | |||
function() { $(this).css('transform', 'scale(1.03)'); }, | |||
function() { $(this).css('transform', 'scale(1)'); } | |||
); | |||
// Очищаем стили родительских элементов (убираем маркеры списка) | |||
$link.closest('li').css({'list-style': 'none', 'margin-bottom': '10px'}); | |||
$link.closest('ul').css({'padding-left': '0', 'list-style': 'none'}); | |||
// Меняем текст на картинку | |||
$link.empty().append($img); | $link.empty().append($img); | ||
} | } | ||
}); | }); | ||
} | }); | ||
}); | }); | ||
Версия от 12:28, 8 апреля 2026
/* Бронебойный скрипт для SVG-баннеров в боковом меню (Timeless) */
mw.loader.using('mediawiki.util').then(function () {
mw.hook('wikipage.content').add(function () {
// Ищем ссылки во всех боковых меню (и левом, и правом)
$('#mw-site-navigation a, #mw-related-navigation a, .sidebar-chunk a, .mw-portlet a').each(function () {
var $link = $(this);
var linkText = $link.text().trim();
// Если текст ссылки заканчивается на .svg (регистронезависимо)
if (linkText.match(/\.svg$/i)) {
// Получаем прямую ссылку на файл
var imgSrc = mw.util.getUrl('Special:FilePath/' + linkText);
// Создаем картинку
var $img = $('<img>', {
src: imgSrc,
alt: 'Баннер',
css: {
'max-width': '100%',
'height': 'auto',
'display': 'block',
'margin': '5px auto',
'border-radius': '4px',
'transition': 'transform 0.2s'
}
});
// Эффект при наведении прямо в JS (чтобы не зависеть от CSS)
$img.hover(
function() { $(this).css('transform', 'scale(1.03)'); },
function() { $(this).css('transform', 'scale(1)'); }
);
// Очищаем стили родительских элементов (убираем маркеры списка)
$link.closest('li').css({'list-style': 'none', 'margin-bottom': '10px'});
$link.closest('ul').css({'padding-left': '0', 'list-style': 'none'});
// Меняем текст на картинку
$link.empty().append($img);
}
});
});
});