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

мНет описания правки
м Функции для добавления кастомных заголовков в TOC и кнопки "править"
Строка 440: Строка 440:
             });
             });
         }
         }
    });
}
// Функции для добавления кастомных заголовков в TOC и кнопки "править"
function addCustomHeadingsWithEditLinks() {
    mw.hook('wikipage.content').add(function($content) {
        var $toc = $('#toc ul'); // Находим TOC
        if ($toc.length === 0) {
            return; // Если оглавление отсутствует, выходим
        }
        $content.find('.custom-heading').each(function(index) {
            var sectionId = $(this).attr('id') || 'custom-heading-' + (index + 1);
            $(this).attr('id', sectionId); // Присваиваем уникальный id заголовку
            // Создаем ссылку "править"
            var editUrl = mw.util.getUrl(mw.config.get('wgPageName')) + '?action=edit&section=' + sectionId;
            var editLink = $('<span>').addClass('mw-editsection').append(
                $('<a>').attr('href', editUrl).text('править')
            );
            $(this).append(editLink); // Добавляем ссылку "править" к заголовку
            // Добавляем заголовок в оглавление (TOC)
            var headingText = $(this).text();
            var tocItem = $('<li>').append(
                $('<a>').attr('href', '#' + sectionId).text(headingText)
            );
            $toc.append(tocItem); // Добавляем элемент в оглавление
        });
     });
     });
}
}
Строка 482: Строка 511:
         applyHighlighting();
         applyHighlighting();
     }, 500);
     }, 500);
}
var customHeadings = document.querySelectorAll('.custom-heading');
if (tables.length > 0) {
addCustomHeadingsWithEditLinks();
}
}
});
});