« Module:IconUtils » : différence entre les versions

De Eco - Wiki Français
Aller à :navigation, rechercher
[version vérifiée][version vérifiée]
Aucun résumé des modifications
Aucun résumé des modifications
 
(7 versions intermédiaires par le même utilisateur non affichées)
Ligne 3 : Ligne 3 :
function p.main(param)
function p.main(param)
     local Utils = require('Module:Utils')
     local Utils = require('Module:Utils')
     local Icon = ''
     local Icon = ''
     local IconStyle = ''
     local IconStyle = ''
     local IconSize = ''
     local IconSize = ''
     local IconLink = ''
     local IconLink = ''
     local DisplayName = ''
     local IconBorder = ''
      
     local IconCount = ''
 
     local args = Utils.normalise(param)
     local args = Utils.normalise(param)
   
 
     if args.id == nil or args.id == '' then
     if args.id == nil or args.name == '' then return 'Module:IconUtils \'id\' must be specified.' end
        return 'Module:IconUtils \'id\' must be specified.'
 
    end
     local Icon = args.id .. '_Icon.png'
   
 
     Icon = args.id .. '_Icon.png'
     if args.size == nil or args.size == '' then IconSize = 28 else IconSize = args.size end
   
     if args.style == nil or args.style == '' then IconStyle = '1' else IconStyle = args.style end
    -- Gestion de la taille
     if args.link == nil or args.link == '' then IconLink = '' else IconLink = '[[' .. args.link .. ']]' end  
     if args.size == nil or args.size == '' then
     if args.link == '1' then IconLink = '[[' .. args.name .. ']]' end
        IconSize = 28
     if IconLink == '' then IconTextLine = ' ' .. args.name IconTextBr = '<br>' .. args.name else IconTextLine = ' ' .. IconLink IconTextBr = '<br>' .. IconLink end
    else
     if args.count == nil or args.count == '' then IconCount = '1' else IconCount = args.count end
        IconSize = args.size
     if args.border == nil or args.border == '' then IconBorder = ' borderwhite' else IconBorder = ' border' .. args.border end
    end
 
   
     if IconStyle == '1' then return '[[file:'.. Icon ..'|'.. IconSize ..'px|link='.. IconLink ..']]' end
    -- Gestion du style
     if IconStyle == '2' then return '[[file:'.. Icon ..'|'.. IconSize ..'px|link='.. IconLink ..']]' .. IconTextLine end
     if args.style == nil or args.style == '' then
     if IconStyle == '3' then return '[[file:'.. Icon ..'|'.. IconSize ..'px|link='.. IconLink ..']]' .. IconTextBr end
        IconStyle = '1'
     if IconStyle == '4' then return '<div class="IconFrame">[[file:'.. Icon ..'|'.. IconSize ..'px|link='.. IconLink ..']]' .. IconTextBr .. '</div>' end
    else
     if IconStyle == '5' then return '<div class="recipeitem withcount' .. IconBorder .. '" style="font-size:' .. IconSize .. 'px">' .. '<div class="recipeitemicon">[[file:'.. Icon ..'|'.. IconSize ..'px|link=]]</div><span class="recipeitemcount">' .. IconCount .. '</span>' .. '[[' .. args.link .. '|<div class="recipeitemlink" title="' .. args.link .. '"></div>]]</div>' end
        IconStyle = args.style
    if IconStyle == '6' then return '<div class="recipeitem' .. IconBorder .. '" style="font-size:' .. IconSize .. 'px">' .. '<div class="recipeitemicon">[[file:'.. Icon ..'|'.. IconSize ..'px|link=]]</div>[[' .. args.link .. '|<div class="recipeitemlink" title="' .. args.link .. '"></div>]]</div>' end
    end
   
    -- Récupération automatique du nom si non spécifié
    if args.name == nil or args.name == '' then
        -- Charger les données de traduction
        local ItemData = require('Module:ItemData')
        local itemInfo = ItemData.items[args.id .. 'Item']
       
        if itemInfo and itemInfo.Name then
            -- Priorité au français, sinon anglais
            DisplayName = itemInfo.Name['French'] or itemInfo.Name['English'] or args.id
        else
            DisplayName = args.id
        end
    else
        DisplayName = args.name
    end
   
    -- Gestion du lien
     if args.link == nil or args.link == '' then
        IconLink = ''
    else
        IconLink = '[[' .. args.link .. ']]'
    end
   
     if args.link == '1' then
        IconLink = '[[' .. DisplayName .. ']]'
    end
   
    -- Création des variations de texte
    local IconTextLine, IconTextBr
     if IconLink == '' then
        IconTextLine = ' ' .. DisplayName
        IconTextBr = '<br>' .. DisplayName
    else
        IconTextLine = ' ' .. IconLink
        IconTextBr = '<br>' .. IconLink
     end
      
    -- Rendu selon le style
     if IconStyle == '1' then
        return '[[file:'.. Icon ..'|'.. IconSize ..'px|link='.. IconLink ..']]'
    end
   
     if IconStyle == '2' then
        return '[[file:'.. Icon ..'|'.. IconSize ..'px|link='.. IconLink ..']]' .. IconTextLine
    end
   
     if IconStyle == '3' then
        return '[[file:'.. Icon ..'|'.. IconSize ..'px|link='.. IconLink ..']]' .. IconTextBr
    end
   
     if IconStyle == '4' then
        return '<div class="IconFrame">[[file:'.. Icon ..'|'.. IconSize ..'px|link='.. IconLink ..']]' .. IconTextBr .. '</div>'
     end
end
end


return p
return p

Dernière version du 25 février 2026 à 21:53

La documentation pour ce module peut être créée à Module:IconUtils/doc

local p = {}

function p.main(param)
    local Utils = require('Module:Utils')

    local Icon = ''
    local IconStyle = ''
    local IconSize = ''
    local IconLink = ''
    local IconBorder = ''
    local IconCount = ''

    local args = Utils.normalise(param)

    if args.id == nil or args.name == '' then return 'Module:IconUtils \'id\' must be specified.' end

    local Icon = args.id .. '_Icon.png'

    if args.size == nil or args.size == '' then IconSize = 28 else IconSize = args.size end
    if args.style == nil or args.style == '' then IconStyle = '1' else IconStyle = args.style end
    if args.link == nil or args.link == '' then IconLink = '' else IconLink = '[[' .. args.link .. ']]' end   
    if args.link == '1' then IconLink = '[[' .. args.name .. ']]' end
    if IconLink == '' then IconTextLine = '  ' .. args.name IconTextBr = '<br>' .. args.name else IconTextLine = '  ' .. IconLink IconTextBr = '<br>' .. IconLink end
    if args.count == nil or args.count == '' then IconCount = '1' else IconCount = args.count end
    if args.border == nil or args.border == '' then IconBorder = ' borderwhite' else IconBorder = ' border' .. args.border end

    if IconStyle == '1' then return '[[file:'.. Icon ..'|'.. IconSize ..'px|link='.. IconLink ..']]' end
    if IconStyle == '2' then return '[[file:'.. Icon ..'|'.. IconSize ..'px|link='.. IconLink ..']]' .. IconTextLine end
    if IconStyle == '3' then return '[[file:'.. Icon ..'|'.. IconSize ..'px|link='.. IconLink ..']]' .. IconTextBr end
    if IconStyle == '4' then return '<div class="IconFrame">[[file:'.. Icon ..'|'.. IconSize ..'px|link='.. IconLink ..']]' .. IconTextBr .. '</div>' end
    if IconStyle == '5' then return '<div class="recipeitem withcount' .. IconBorder .. '" style="font-size:' .. IconSize .. 'px">' .. '<div class="recipeitemicon">[[file:'.. Icon ..'|'.. IconSize ..'px|link=]]</div><span class="recipeitemcount">' .. IconCount .. '</span>' .. '[[' .. args.link .. '|<div class="recipeitemlink" title="' .. args.link .. '"></div>]]</div>' end
    if IconStyle == '6' then return '<div class="recipeitem' .. IconBorder .. '" style="font-size:' .. IconSize .. 'px">' .. '<div class="recipeitemicon">[[file:'.. Icon ..'|'.. IconSize ..'px|link=]]</div>[[' .. args.link .. '|<div class="recipeitemlink" title="' .. args.link .. '"></div>]]</div>' end
end

return p