Модуль:CategoryMenu: различия между версиями

Нет описания правки
Нет описания правки
Строка 1: Строка 1:
local p = {}
local p = {}


-- Функция для рендеринга категории
function p.renderCategory(paragraphs, contents, categoryName, categoryIndex)
function p.renderCategory(paragraphs, contents, categoryName, categoryIndex)
     local html = mw.html.create()
     local html = mw.html.create()
Строка 15: Строка 16:
      
      
     for i, paragraph in ipairs(paragraphs) do
     for i, paragraph in ipairs(paragraphs) do
         categoryMenu:tag('div')
         if paragraph then
            :addClass('category' .. categoryIndex .. '-paragraph' .. i)
            categoryMenu:tag('div')
            :wikitext(paragraph)
                :addClass('category' .. categoryIndex .. '-paragraph' .. i)
                :wikitext(paragraph)
        end
     end
     end
      
      
Строка 24: Строка 27:
      
      
     for i, contentText in ipairs(contents) do
     for i, contentText in ipairs(contents) do
         content:tag('div')
         if contentText then
            :addClass('category' .. categoryIndex .. '-paragraph' .. i .. '-content')
            content:tag('div')
            :wikitext(contentText)
                :addClass('category' .. categoryIndex .. '-paragraph' .. i .. '-content')
                :wikitext(contentText)
        end
     end
     end
      
      
Строка 32: Строка 37:
end
end


-- Главная функция, которая вызывается в шаблоне
function p.main(frame)
function p.main(frame)
     local args = frame:getParent().args
     local args = frame:getParent().args
Строка 59: Строка 65:


             for j = 1, 3 do
             for j = 1, 3 do
                 table.insert(paragraphs, args['category' .. i .. '-paragraph' .. j])
                 table.insert(paragraphs, args['category' .. i .. '-paragraph' .. j] or '')
                 table.insert(contents, args['category' .. i .. '-paragraph' .. j .. '-content'])
                 table.insert(contents, args['category' .. i .. '-paragraph' .. j .. '-content'] or '')
             end
             end