Module:ListGeneration: Difference between revisions

// via Wikitext Extension for VSCode
 
// via Wikitext Extension for VSCode
Line 60: Line 60:
         for i, item in ipairs(items) do
         for i, item in ipairs(items) do
             local processed = itemHook(item)
             local processed = itemHook(item)
             if processed and processed ~= '' then
             if processed then
                 table.insert(processedItems, processed)
                 table.insert(processedItems, processed)
             end
             end
Line 83: Line 83:


         -- Build the individual list items
         -- Build the individual list items
         for _, item in ipairs(items) do
         for _, itemData in ipairs(items) do
             table.insert(listItems, string.format('<li>%s</li>', item))
             local content = ''
            local itemClass = ''
            if type(itemData) == 'table' then
                content = itemData.content or ''
                if itemData.class and itemData.class ~= '' then
                    itemClass = string.format(' class="%s"', itemData.class)
                end
            elseif type(itemData) == 'string' then
                content = itemData
            end
 
            if content ~= '' then
                table.insert(listItems, string.format('<li%s>%s</li>', itemClass, content))
            end
         end
         end