Модуль:CategoryMenu: различия между версиями
Материал из Space Station 14 Вики
Pok (обсуждение | вклад) Нет описания правки |
Pok (обсуждение | вклад) Нет описания правки |
||
Строка 7: | Строка 7: | ||
-- Контейнер для категорий | -- Контейнер для категорий | ||
local categoriesDiv = html:tag('div'):addClass('categories') | local categoriesDiv = html:tag('div'):addClass('categories') | ||
-- Контейнер для меню и контента | -- Контейнер для меню и контента | ||
local mainContainer = html:tag('div'):addClass('main-container') | local mainContainer = html:tag('div'):addClass('main-container') | ||
Строка 13: | Строка 13: | ||
local contentContainer = mainContainer:tag('div'):addClass('content') | local contentContainer = mainContainer:tag('div'):addClass('content') | ||
-- Проходим по всем | -- Проходим по всем категориям | ||
local i = 1 | |||
while args['category' .. i] do | |||
local category = args['category' .. i] | 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) | |||
contentContainer:tag('div'):addClass('category' .. i .. '-paragraph' .. j .. '-content'):wikitext(paragraphContent) | |||
j = j + 1 | |||
end | end | ||
i = i + 1 | |||
end | end | ||
Версия от 02:15, 19 сентября 2024
Для документации этого модуля может быть создана страница Модуль: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) contentContainer:tag('div'):addClass('category' .. i .. '-paragraph' .. j .. '-content'):wikitext(paragraphContent) j = j + 1 end i = i + 1 end -- Возвращаем сгенерированный HTML-код return tostring(html) end return p