Module:InfoboxImage

From Totem Arts Wiki
Revision as of 18:37, 22 December 2020 by RaiderAlpha (talk | contribs)
Jump to navigation Jump to search

Documentation for this module may be created at Module:InfoboxImage/doc

--
-- This module implements {{InfoboxImage}}
--
 
local p = {}

p.main = function(f)
    local args = f:getParent().args
    if args[1] == nil then
        return ""
    end
    local wikitext = mw.text.trim(args[1])
    local gallery = wikitext:match('<gallery>(.+)</gallery>')
    if gallery then
        local size = args[2] or '250px'
        local tabberArgs = {'tabber', ''}
        for match in gallery:gmatch("[^%c]+") do
            local split = mw.text.split(match, "|", true)
            local file = mw.text.trim(split[1] or '')
            if not file:match("File:(.+)") then
                file = "File:" .. file
            end
            local desc = mw.text.trim(split[2] or '')
            tabberArgs[2] = tabberArgs[2] .. "\n|-|\n " .. desc.. "=\n[["
            tabberArgs[2] = tabberArgs[2] .. file .. "|" ..size.. "]]"
        end
        return f:callParserFunction('#tag', tabberArgs)
    else
        return f:callParserFunction('#tag', {"nowiki", args[1]})
    end
end

return p