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

мНет описания правки
мНет описания правки
Строка 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
        $toc.empty();


         // Получаем все кастомные заголовки
         // Получаем все кастомные заголовки
         var $customHeadings = $content.find('.custom-heading');
         var $customHeadings = $content.find('.custom-heading');


         // Определяем текущие элементы TOC
         // Установим начальный номер для TOC
        var tocItems = $toc.find('li');
         var tocNumber = 1;
         var tocNumber = tocItems.length + 1; // Начинаем нумерацию с первого доступного номера


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


             // Вставляем элемент в TOC в правильное место
             // Добавляем элемент в TOC
             if (index === 0) {
             $toc.append(tocItem);
                $toc.append(tocItem); // Добавляем элемент в конец TOC, если это первый элемент
            } else {
                var $prevTocItem = $toc.find('li').eq(index - 1);
                $prevTocItem.after(tocItem); // Вставляем после предыдущего элемента
            }


             tocNumber++; // Увеличиваем номер для следующего элемента
             tocNumber++;
         });
         });
     });
     });