Модуль: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') -- Проходим по всем параметрам и генерируем HTML for i = 1, 10 do local category = args['category' .. i] if category then -- Добавляем категорию в categories categoriesDiv:tag('div'):addClass('category' .. i):wikitext(category) -- Создаём меню для этой категории local menu = menuContainer:tag('div'):addClass('menu'):addClass('category' .. i .. '-menu') for j = 1, 10 do local paragraph = args['category' .. i .. '-paragraph' .. j] local paragraphContent = args['category' .. i .. '-paragraph' .. j .. '-content'] if paragraph and paragraphContent then -- Добавляем пункт в меню menu:tag('div'):addClass('category' .. i .. '-paragraph' .. j):wikitext(paragraph) -- Добавляем контент для пункта contentContainer:tag('div'):addClass('category' .. i .. '-paragraph' .. j .. '-content'):wikitext(paragraphContent) end end end end -- Возвращаем сгенерированный HTML-код return tostring(html) end return p