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

мНет описания правки
мНет описания правки
Строка 444: Строка 444:


// Функции для добавления кастомных заголовков в TOC
// Функции для добавления кастомных заголовков в TOC
function addCustomHeadingsWithTOC() {
function addHeadingsWithTOC() {
     mw.hook('wikipage.content').add(function($content) {
     mw.hook('wikipage.content').add(function($content) {
         var $toc = $('#toc ul'); // Находим TOC
         var $toc = $('#toc ul'); // Находим TOC
Строка 450: Строка 450:
         $toc.empty();
         $toc.empty();


        // Получаем все кастомные заголовки
         var $headings = $content.find('.mw-headline, .custom-heading').sort(function(a, b) {
         var $customHeadings = $content.find('.custom-heading');
            // Сортировка по порядку появления на странице
            return $(a).index() - $(b).index();
        });


        // Установим начальный номер для TOC
         var tocNumber = 1;
         var tocNumber = 1;


         // Перебираем кастомные заголовки в порядке их появления
         // Перебираем все заголовки в порядке их появления
         $customHeadings.each(function() {
         $headings.each(function() {
             var $heading = $(this);
             var $heading = $(this);
             var sectionId = $heading.attr('id') || 'custom-heading-' + tocNumber;
             var sectionId = $heading.attr('id') || 'heading-' + tocNumber;
             $heading.attr('id', sectionId); // Присваиваем уникальный id заголовку
             $heading.attr('id', sectionId); // Присваиваем уникальный id заголовку