MediaWiki:Common.js: различия между версиями
Pok (обсуждение | вклад) мНет описания правки |
Pok (обсуждение | вклад) мНет описания правки |
||
| Строка 447: | Строка 447: | ||
mw.hook('wikipage.content').add(function($content) { | mw.hook('wikipage.content').add(function($content) { | ||
var $toc = $('#toc ul'); // Находим TOC | var $toc = $('#toc ul'); // Находим TOC | ||
var tocItems = $toc.find('li'); // Получаем текущие элементы TOC | |||
var tocNumber = tocItems.length + 1; // Начинаем нумерацию с первого доступного номера | |||
// Перебираем все кастомные заголовки | // Перебираем все кастомные заголовки | ||
$content.find('.custom-heading').each(function( | $content.find('.custom-heading').each(function() { | ||
var | var sectionId = $(this).attr('id') || 'custom-heading-' + tocNumber; | ||
$(this).attr('id', sectionId); // Присваиваем уникальный id заголовку | |||
$ | |||
// Получаем текст заголовка до добавления ссылки "править" | |||
var headingText = $(this).clone().children().remove().end().text().trim(); | |||
// Создаем ссылку "править" | // Создаем ссылку "править" | ||
| Строка 462: | Строка 463: | ||
$('<a>').attr('href', editUrl).text('править') | $('<a>').attr('href', editUrl).text('править') | ||
); | ); | ||
$ | $(this).append(editLink); // Добавляем ссылку "править" к заголовку | ||
// | // Создаем элемент в оглавлении (TOC) | ||
var tocItem = $('<li>').append( | var tocItem = $('<li>').append( | ||
$('<a>').attr('href', '#' + sectionId).append( | $('<a>').attr('href', '#' + sectionId).append( | ||
$('<span>').addClass('tocnumber').text( | $('<span>').addClass('tocnumber').text(tocNumber + '. '), | ||
$('<span>').addClass('toctext').text(headingText) | $('<span>').addClass('toctext').text(headingText) | ||
) | ) | ||
); | ); | ||
$toc.append(tocItem); // Добавляем элемент в оглавление | $toc.append(tocItem); // Добавляем элемент в оглавление | ||
tocNumber++; // Увеличиваем номер для следующего элемента | |||
}); | }); | ||
}); | }); | ||