Модуль:CategoryMenu
Материал из Space Station 14 Вики
Для документации этого модуля может быть создана страница Модуль:CategoryMenu/doc
local p = {} function p.generate(frame) local args = frame:getParent().args local html = mw.html.create() -- Контейнер для категорий local categoriesDiv = html:tag('div'):addClass('categories') -- Контейнер для меню и контента local mainContainer = html:tag('div'):addClass('main-container') local menuContainer = mainContainer:tag('div'):addClass('menu-container') local contentContainer = mainContainer:tag('div'):addClass('content') -- Проходим по всем категориям local i = 1 while args['category' .. i] do local category = args['category' .. i] categoriesDiv:tag('div'):addClass('category' .. i):wikitext(category) -- Создаём меню для этой категории local menu = menuContainer:tag('div'):addClass('menu'):addClass('category' .. i .. '-menu') local j = 1 while args['category' .. i .. '-paragraph' .. j] do local paragraph = args['category' .. i .. '-paragraph' .. j] local paragraphContent = args['category' .. i .. '-paragraph' .. j .. '-content'] menu:tag('div'):addClass('category' .. i .. '-paragraph' .. j):wikitext(paragraph) if paragraphContent then contentContainer:tag('div'):addClass('category' .. i .. '-paragraph' .. j .. '-content'):wikitext(paragraphContent) else contentContainer:tag('div'):addClass('category' .. i .. '-paragraph' .. j .. '-content'):wikitext('Контент отсутствует') end j = j + 1 end i = i + 1 end -- Возвращаем сгенерированный HTML-код return tostring(html) end return p