« Module:Multiparamètres » : différence entre les versions

De Starfield Wiki
Page créée avec « -- Original : https://fr.wikipedia.org/wiki/Module:Multiparam%C3%A8tres local p = {} function p.brut( frame ) return p._main( frame, function ( item ) return item end ) end function p.lien( frame ) return p._main( frame, function ( item ) return "" .. ( ( item:sub( 1, 1 ) == ":" ) and item or ":" .. item ) .. "" end ) end function p.categorie( frame ) return p._main( frame, function ( item ) return "[[:Catégorie:" .. item .. "|" .. item .. "]... »
(Aucune différence)

Version du 25 janvier 2023 à 13:03

Documentation[voir] [modifier] [purger]

Module gérant le formatage de plusieurs liens.

Présentation des fonctions

-- Original : https://fr.wikipedia.org/wiki/Module:Multiparam%C3%A8tres

local p = {}

function p.brut( frame )
    return p._main( frame, function ( item ) return item end )
end

function p.lien( frame )
    return p._main( frame, function ( item ) return "[[" .. ( ( item:sub( 1, 1 ) == ":" ) and item or ":" .. item ) .. "]]" end )
end

function p.categorie( frame )
    return p._main( frame, function ( item ) return "[[:Catégorie:" .. item .. "|" .. item .. "]]" end )
end

function p.utilisateur( frame )
    return p._main( frame, function ( item ) return "[[Utilisateur:" .. item .. "|" .. item .. "]]" end )
end

function p._main( frame, formatter )
    local args = frame:getParent().args

    local gras = ( args.gras and args.gras ~= "" )
    local items = {}

    for i, v in ipairs( args ) do
        local item = trim( v )
        if item ~= "" then
            item = formatter( item )
            if gras then
                item = "'''" .. item .. "'''"
            end
            items[ #items + 1 ] = item
        end
    end

    local dernierSeparateur = args.et and ( " " .. args.et .. " " )

    -- le paramètre "et" peut être défini à vide
    if args.et == "" then
        dernierSeparateur = " "
    end

    return mw.text.listToText( items, ", ", dernierSeparateur )
end

return p