Модуль:Мэтаінфармацыя

 
Дакумэнтацыя модулю Дакумэнтацыя модулю[прагляд] [рэдагаваць] [гісторыя] [абнавіць]
-- Мэтаінфармацыя артыкулаў для даданьня на іх старонкі абмеркаваньняў

local p = {}
local HtmlBuilder = require( "Module:HtmlBuilder" )

function p.metainformation( frame )
    local args = {}
    local params = {
        ["vital"] = false,
        ["featured"] = {},
        ["projects"] = {}
    }
    local container = HtmlBuilder.create()

    -- ці істотны артыкул
    if args["істотны артыкул"] ~= "" then params.vital = true end

    for k, v in pairs( frame:getParent().args ) do
        v = mw.text.trim( v )
        if type( k ) == "string" then k = mw.ustring.lower( k ) end
        args[k] = mw.text.trim( v )
        
        -- забіваем featured
        if mw.ustring.match( k, "^адзнака(%d+)$" ) then
            local featuredId = tonumber( mw.ustring.match( k, "^адзнака(%d+)$" ) )
            if type( params.featured[featuredId] ) ~= "table" then
                params.featured[featuredId] = {}
            end
            params.featured[featuredId].name = v
        elseif mw.ustring.match( k, "^адзнака(%d+)_дата$" ) then
            local featuredId = tonumber( mw.ustring.match( k, "^адзнака(%d+)_дата$" ) )
            if type( params.featured[featuredId] ) ~= "table" then
                params.featured[featuredId] = {}
            end
            params.featured[featuredId].date = v
        -- забіваем projects
        elseif mw.ustring.match( k, "^праект(%d+)$" ) then
            local projectId = tonumber( mw.ustring.match( k, "^праект(%d+)$" ) )
            if type( params.projects[projectId] ) ~= "table" then
                params.projects[projectId] = {}
            end
            params.projects[projectId].name = v
        elseif mw.ustring.match( k, "^праект(%d+)_спасылка$" ) then
            local projectId = tonumber( mw.ustring.match( k, "^праект(%d+)_спасылка$" ) )
            if type( params.projects[projectId] ) ~= "table" then
                params.projects[projectId] = {}
            end
            params.projects[projectId].link = v
        end
    end

    container
        .tag( "table" )
            .addClass( "tmbox" )
            .addClass( "tmbox-notice" )
            .tag( "tr" )
                .tag( "td" )
                    .addClass( "mbox-image" )
                    .wikitext( "hey" )
                    .done()
                .tag( "td" )
                    .addClass( "mbox-text" )
                    .wikitext( "hola" )

    return tostring( container )
end

return p