MediaWiki:Common.js: различия между версиями
Pok (обсуждение | вклад) мНет описания правки |
Pok (обсуждение | вклад) мНет описания правки |
||
| Строка 453: | Строка 453: | ||
var levelStack = []; // Стек для отслеживания уровней заголовков | var levelStack = []; // Стек для отслеживания уровней заголовков | ||
var maxLevel = 7; // Изначально максимальный уровень не определён | var maxLevel = 7; // Изначально максимальный уровень не определён | ||
var skipTOC = false; // Флаг для пропуска заголовков | var skipTOC = false; // Флаг для пропуска добавления заголовков | ||
// Первый проход для нахождения минимального уровня заголовков | // Первый проход для нахождения минимального уровня заголовков | ||
| Строка 461: | Строка 461: | ||
if ($heading.hasClass('custom-heading')) { | if ($heading.hasClass('custom-heading')) { | ||
level = 1; // Для кастомных заголовков | level = 1; // Для кастомных заголовков | ||
} else { | } else { | ||
var tagName = $heading.prop('tagName').toLowerCase(); | var tagName = $heading.prop('tagName').toLowerCase(); | ||
level = parseInt(tagName.charAt(1), 10); // Определяем уровень h1-h6 | level = parseInt(tagName.charAt(1), 10); // Определяем уровень h1-h6 | ||
} | } | ||
if (level < maxLevel) { | if (level < maxLevel) { | ||
| Строка 509: | Строка 505: | ||
var customId = $heading.attr('id') || 'custom-heading-' + getSectionNumber(); | var customId = $heading.attr('id') || 'custom-heading-' + getSectionNumber(); | ||
$heading.attr('id', customId); | $heading.attr('id', customId); | ||
skipTOC = true; // Устанавливаем флаг пропуска TOC после кастомного заголовка | |||
} else if ($headlineSpan.length > 0) { | } else if ($headlineSpan.length > 0) { | ||
if (skipTOC) { | |||
return; // Пропускаем заголовки ниже кастомного заголовка | |||
} | |||
var tagName = $heading.prop('tagName').toLowerCase(); | var tagName = $heading.prop('tagName').toLowerCase(); | ||
level = parseInt(tagName.charAt(1), 10); | level = parseInt(tagName.charAt(1), 10); | ||
| Строка 521: | Строка 520: | ||
} else { | } else { | ||
return; // Пропускаем элементы без заголовков | return; // Пропускаем элементы без заголовков | ||
} | } | ||