Гэтая старонка не даступная на іншых мовах.
local navMap = { { ["title"] = "Дапамога", ["location"] = "Дапамога:Зьмест", ["children"] = { { ["title"] = "Пачаткоўцам", ["location"] = "Дапамога:Зьмест/Пачаткоўцам" }, { ["title"] = "Частыя пытаньні", ["location"] = "Вікіпэдыя:Частыя пытаньні" }, { ["title"] = "Правілы і рэкамэндацыі", ["location"] = "Вікіпэдыя:Правілы і рэкамэндацыі" }, { ["title"] = "Пошук", ["location"] = "Вікіпэдыя:Пошук" }, { ["title"] = "Пясочніца", ["location"] = "Вікіпэдыя:Пясочніца" } } }, { ["title"] = "Суполка", ["location"] = "Вікіпэдыя:Суполка", ["children"] = { { ["title"] = "Форум", ["location"] = "Вікіпэдыя:Форум" }, { ["title"] = "Адміністрацыя", ["location"] = "Вікіпэдыя:Адміністрацыя" }, { ["title"] = "Апытаньні", ["location"] = "Вікіпэдыя:Апытаньні" }, { ["title"] = "Галасаваньні", ["location"] = "Вікіпэдыя:Галасаваньні" }, { ["title"] = "Абмеркаваньне правілаў", ["location"] = "Вікіпэдыя:Абмеркаваньне правілаў" }, { ["title"] = "Паведамленьні пра памылкі", ["location"] = "Вікіпэдыя:Паведамленьні пра памылкі" } } }, { ["title"] = "Ацэньваньне", ["location"] = "Вікіпэдыя:Ацэньваньне", ["children"] = { { ["title"] = "Для рэцэнзаваньня", ["location"] = "Вікіпэдыя:Артыкулы для рэцэнзаваньня" }, { ["title"] = "У добрыя", ["location"] = "Вікіпэдыя:Кандыдаты ў добрыя артыкулы" }, { ["title"] = "У абраныя", ["location"] = "Вікіпэдыя:Кандыдаты ў абраныя артыкулы" } } }, { ["title"] = "Узнагароды", ["location"] = "Вікіпэдыя:Узнагароды артыкулаў", ["children"] = { { ["title"] = "Абраныя артыкулы", ["location"] = "Вікіпэдыя:Абраныя артыкулы" }, { ["title"] = "Добрыя артыкулы", ["location"] = "Вікіпэдыя:Добрыя артыкулы" } } }, { ["title"] = "Праекты", ["location"] = "Вікіпэдыя:Праекты", ["children"] = { { ["title"] = "Злучнасьць", ["location"] = "Вікіпэдыя:Праект:Злучнасьць" }, { ["title"] = "Правілы", ["location"] = "Вікіпэдыя:Праект:Правілы" }, { ["title"] = "Рабатызацыя", ["location"] = "Вікіпэдыя:Рабатызацыя" }, { ["title"] = "Ці ведаеце вы", ["location"] = "Вікіпэдыя:Праект:Ці ведаеце вы" }, { ["title"] = "Тэматычны тыдзень", ["location"] = "Вікіпэдыя:Праект:Тэматычны тыдзень" } } }, { ["title"] = "Парталы", ["location"] = "Партал:Агляд", ["children"] = { { ["title"] = "Геаграфія", ["location"] = "Партал:Геаграфія" }, { ["title"] = "Гісторыя", ["location"] = "Партал:Гісторыя" }, { ["title"] = "Грамадзтва", ["location"] = "Партал:Грамадзтва" }, { ["title"] = "Асобы", ["location"] = "Партал:Асобы" }, { ["title"] = "Рэлігія", ["location"] = "Партал:Рэлігія" }, { ["title"] = "Спорт", ["location"] = "Партал:Спорт" }, { ["title"] = "Тэхніка", ["location"] = "Партал:Тэхніка" }, { ["title"] = "Навука", ["location"] = "Партал:Навука" }, { ["title"] = "Мастацтва", ["location"] = "Партал:Мастацтва" }, { ["title"] = "Філязофія", ["location"] = "Партал:Філязофія" } } }, { ["title"] = "Запыты", ["location"] = "Вікіпэдыя:Запыты", ["children"] = { { ["title"] = "Да адміністратараў", ["location"] = "Вікіпэдыя:Запыты да адміністратараў" }, { ["title"] = "Да адміністратараў інтэрфэйсу", ["location"] = "Вікіпэдыя:Запыты да адміністратараў інтэрфэйсу" }, { ["title"] = "На стварэньне", ["location"] = "Вікіпэдыя:На стварэньне" }, { ["title"] = "Накіды", ["location"] = "Катэгорыя:Вікіпэдыя:Накіды" }, { ["title"] = "На перанос", ["location"] = "Вікіпэдыя:Запыты на перанос" }, { ["title"] = "На аб’яднаньне", ["location"] = "Катэгорыя:Вікіпэдыя:Кандыдатуры на аб’яднаньне" }, { ["title"] = "На выдаленьне", ["location"] = "Вікіпэдыя:Кандыдатуры на выдаленьне" }, { ["title"] = "На пераклад", ["location"] = "Вікіпэдыя:Запыты на пераклад" } } } } local p = {} local builder = require( "Модуль:HtmlBuilder" ) local currentPosition = {} local function detectPosition() if next( currentPosition ) ~= nil then return currentPosition else currentPosition = { ["section"] = "", ["contents"] = "", ["isection"] = 0, ["icontents"] = 0 } local currentTitle = mw.title.getCurrentTitle().prefixedText for k, section in ipairs( navMap ) do for l, child in ipairs( section.children ) do if child.location == currentTitle then currentPosition.icontents = l currentPosition.contents = child.location currentPosition.isection = k currentPosition.section = section.location break end end if section.location == currentTitle then currentPosition.isection = k currentPosition.section = section.location end end end return currentPosition end local function renderSections() local currentSection = detectPosition().section local root = builder.create() for _, section in ipairs( navMap ) do local item = root.tag( 'div' ).wikitext( "[[:" .. section.location .. "|" .. section.title .. "]]" ) if section.location == currentSection then item.addClass( 'active' ) end end return tostring( root ) end local function renderContents() local currentPos = detectPosition() if navMap[currentPos.isection] == nil then return "" end local root = builder.create() for _, child in ipairs( navMap[currentPos.isection].children ) do local item = root.tag( 'li' ).wikitext( "[[:" .. child.location .. "|" .. child.title .. "]]" ) end return tostring( root ) end function p.metaNavigation( frame ) local root = builder.create() for n, m in pairs( navMap ) do mw.log( m.location ) end local rootNode = root.tag( 'div' ) .addClass( 'metanavigation' ) .tag( 'div' ) .addClass( 'metanavigation-sections' ) .wikitext( renderSections() ) .done() local contentsText = renderContents() if contentsText ~= "" then rootNode.tag( 'div' ) .addClass( 'metanavigation-contents' ) .tag( 'ul' ) .addClass( 'hlist' ) .wikitext( renderContents() ) .done() end return tostring( root ) end return p