L'Abri
Advertisement

Modèle pour afficher de petites icônes.

Utilisation

{{Icône|nom de l'icône}}

Afin de mettre à jour les icônes disponibles, le module Icon nécessite un nouveau paramètre dans les listes iconTip (default tooltip) et gameIcon (icon filename).

Paramètres

Oui
<unnamed 1>
Quelle icône devrait être affichée. Les icônes multiples peuvent être listées en les séparant par une virgule. ({{Icône|FO1,FO2,FO3}})
Neutre
(défaut: "x14px")
<unnamed 2>
Spécifie la taille de l'icône. Celle-ci peut être paramétrée par un préréglage, ou donnée directement sous forme de valeur en pixels (même syntaxe que pour spécifier la taille d'une image).

Les préréglages sont :

  • petit: Les icônes seront affichées à 10px de hauteur.
  • medium/normal: Les icônes seront affichées à 14px de hauteur.
  • gros: Les icônes seront affichées à 20px de hauteur.
Neutre
lien
La page vers laquelle le lien doit pointer (sans clôturer avec "[[]]"). Si l'infobulle n'est pas spécifiée, c'est également utilisé en tant que texte d'infobulle.
Neutre
infobulle
Le texte d'infobulle affiché lors d'un survol de l'icône. Surcharge le texte par défaut de l'icône.

Icônes disponibles

prefix Icon prefix Icon prefix Icon
FNVTD Icon wildwasteland.png FO4chaine01 Icon Fo4 chain01.png FO4chaine02 Icon Fo4 chain02.png
FO4chaine03 Icon Fo4 chain03.png FO4clé01 Icon Fo4 key01.png FO4clé02 Icon Fo4 key02.png
FO4clé03 Icon Fo4 key03.png FO4clégen Icon Fo4 gen keycard.png FO4holo Icon Fo4 holotape.png
FO4note Icon Fo4 note.png FO4vaultid Icon Fo4 vaultid.png acide Icon acid.png
action Icon action.png adore Love.svg agi FO76 A.png
aime Like.svg aimepas Dislike.svg alcool FO76 Alcohol Icon.svg
aléatoire FO76 ui roleplay team.png ambre Icon amber.png android Icon android.png
apparition Icon spawn.png apple Icon appleios.png aptlégendaire FO76 Perk coin.png
ar Gametitle-AR.png armelourde Icon heavy weapon.png armorwb Fo4 Armor Work Icon.png
artisanat Icon crafting.png asservissable Icon cage.png atelier Icon workshop.png
atelierpublic Icon Public Workshop.png atome FO76 Atom Currency 2.png attaque Icon attack.png
aucunéchange Icon NoTrade.png bf Gametitle-FB.png bigger gun Icon big gun.png
boisson FO76 Drink Icon.svg bouclierargent Icon shield silver.png bouclierbronze Icon shield bronze.png
bouclieror Icon shield gold.png boîteàsandwich FO76 Lunchbox Icon.svg bricolage FO76 vaultboy licensedplumber 01.png
bugged unav Radroach.png ca Icon shield bronze.png cadence régénération Icon healing.png
cadencedetir FO76 UI icon Ammo custom.png cal12 Icon shotgun.png camp FO76 ui extra team.png
capachargeur Icon mag.png capacité Icon ability.png caps Caps.png
caravan Icon cards.png cartes Icon cards.png cerveau Brain icon.png
chance FO76 L.png chef FoS Boss.png chems FO76 Chems Icon.svg
chimie Fo4 Chem Work Icon.png chr FO76 C.png compagnon NW icon ally.png
confiance Icon confidence.png contondant Icon blunt.png corps à corps Icon melee.png
coupé Icon cut.png crit Icon critical damage.png croix Icon cross.png
cryo Icon cryo.png crédit Credits icon.png cœur Icon heart.png
d20 Fichier:Gammetitle-D20.png dial Icon dialogue.png dialogue Icon dialogue.png
dispersion Icon spread.png distance Icon range.png docteur Icon doctor.png
dpa Icon dap.png dps Icon dps.png dur Icon limitedtime.png
défense Icon shield silver.png dégâts Icon damage.png détect Icon eye.png
détection Icon eye.png déteste Hate.svg effet Icon effect.png
effet bonus Icon bonus effect.png effet crit Icon crit effect.png end FO76 E.png
essentiel Icon essential.png explosion Icon explosion.png expérience Icon XP.png
facebook FacebookIcon.png fbgcritter FBG Critter icon.svg fbgdieablhits FBG Die ABL Hits.png
fbgendurance FBG E icon.svg fbghit FBG Hit icon.svg fbghuman FBG Human icon.svg
fbgintelligence FBG I icon.svg fbgloot FBG Loot icon.svg fbgluck FBG L icon.svg
fbgmonster FBG Monster icon.svg fbgperception FBG P icon.svg fbgquest FBG Quest objective.svg
fbgradiation FBG Radiation icon.svg fbgranged FBG Ranged icon.svg fbgretreat FBG Retreat icon.svg
fbgrobot FBG Robot icon.svg fbgsecurity FBG Defender icon.svg fbgsettlement FBG Settlement icon.svg
fbgstrength FBG S icon.svg fbgsupermutant FBG Super Mutant icon.svg fbgvault109 FBG Vault 109 icon.svg
fbgvault84 FBG Vault 84 icon.svg fbgwasteland FBG Wasteland icon.svg fbgweapon FBG Weapon icon.svg
feu Icon fire.png film Film.png fjp Gametitle-FBG.png
fjpagenda FBG Agenda icon.svg fjpagilité FBG A icon.svg fjpagressif FBG Aggressive icon.svg
fjparmure FBG Armor icon.svg fjpasset FBG Asset icon.svg fjpcharisme FBG C icon.svg
fjpcompagnon FBG Companion icon.svg fjpdangereux FBG Dangerous icon.svg fjpliberté FBG Freedom icon.svg
fjpmortel FBG Deadly icon.svg fjpnc Gametitle-FBGNC.png fjptenue FBG Apparel icon.svg
fjpww Gametitle-FBGWW.png fnv Gametitle-FNV.png fnvcs Gametitle-FNV CS.png
fnvdm Gametitle-FNV DM.png fnvgra Gametitle-FNV GRA.png fnvhh Gametitle-FNV HH.png
fnvlr Gametitle-FNV LR.png fnvowb Gametitle-FNV OWB.png fo Gametitle-FO1.png
fo1 Gametitle-FO1.png fo1st FO1st.png fo2 Gametitle-FO2.png
fo3 Gametitle-FO3.png fo3bs Gametitle-FO3 BS.png fo3mz Gametitle-FO3 MZ.png
fo3oa Gametitle-FO3 OA.png fo3pl Gametitle-FO3 PL.png fo3tp Gametitle-FO3 TP.png
fo4 Gametitle-FO4.png fo4aut Gametitle-FO4 AUT.png fo4cc Gametitle-FO4 CC.png
fo4cw Gametitle-FO4 CW.png fo4fh Gametitle-FO4 FH.png fo4nw Gametitle-FO4 NW.png
fo4vr Gametitle-FO4VR.png fo4vw Gametitle-FO4 VW.png fo4ww Gametitle-FO4 WW.png
fo76 Gametitle-FO76.png fo76fw Gametitle-FO76 FW.png fo76ll Gametitle-FO76 Locked n Loaded.png
fo76lr Gametitle-FO76 LR.png fo76nw Gametitle-FO76 NW.png fo76ow Gametitle-FO76 One Wasteland.png
fo76sd Gametitle-FO76 Steel Dawn.png fo76sr Gametitle-FO76 Steel Reign.png fo76tp Gametitle-FO76 TP.png
fo76ts Gametitle-FO76 TS.png fo76wa Gametitle-FO76 WA.png fo76wl Gametitle-FO76 WL.png
fobos Gametitle-FOBOS.png fobos2 Gametitle-FOBOS2.png foodpr Icon fo4cw builder.png
fool PV13.png for FO76 S.png fos Gametitle-FOS.png
foso Gametitle-FOSO.png fot Gametitle-FOT.png fot2 Gametitle-FOT2.png
fow Gametitle-FOW.png foww Gametitle-FWW.png fox Gametitle-FOX.png
fpb Gametitle-FPB.png fusil Icon rifle.png fww Gametitle-FWW.png
fwwrpg Gametitle-FWWRPG.png féminin Female-gender-sign.png gamerscore Gamerscore.svg
gaz Icon gas.png gelé Icon effect.png gratuit ATX FREE.png
grenade FO76 iconwheel grenade.png groupe Icon group.png haché Fire axe icon color.png
iem Icon EMP.png image Icon image.png indifférent Neutral.svg
info Icon info.png instagram Instagram icon.jpg int FO76 I.png
inutilisé Icon unused.png ios Icon appleios.png jce FO76 ui casual team.png
jcj FO76 ui workshopraid team.png jes Gametitle-JES.png jeu FO76 ui roleplay team.png
jeupb Fo4 Pip-Boy game.png lame Icon blade.png laser Icon laser.png
lh Gametitle-LH.png lieu FO76 ui exploration team.png limité YOU SHOULD BUY THIS.png
lingot Fo76 Icon Gold Bullion.png lingot d'or Fo76 Icon Gold Bullion.png linkedin Linkedin icon.png
légendaire Icon legendary.png mac Icon mac.png macclassic Icon mac.png
mains nues Icon unarmed.png maladie Icon disease.png marchand FO76 ui trading team.png
masculin Male-gender-sign.png mentionné Icon mentioned.png mine FO76 iconwheel minefrag.png
mitraille FO76 Scrip.png mitraillette Icon smg.png mod Icon plus.png
mort Icon dead.png moulinexpl Icon fo4cw builder.png munitions Icon ammo.png
munitions2 Icon ammo01.png mutation FO76 Mutation Icon.svg muter FO76 vaultboy dna.png
myspace Myspace icon.png neutre Icon neutral.png niveau Icon level.png
non Icon cross.png note Icon Fo4 note.png nourriture Fallout 76 Food Icon.svg
nouveau ATX NEW.png nukamix Icon Nuka-mixer station.png nw FO76NW Vault 51 icon.png
opposums FO76 Possum badge blue.png opposums sombre FO76 Possum badge.png opquotidiennes FO76 ui dailyops team.png
optionnel Icon optional.png oui Icon check.png oui1 Icon CheckYellowShadowed.png
ouibrun Icon check temp.png pa Icon ap.png pc Icon pc.png
pe Icon XP.png per FO76 P.png pistolet FO76 iconwheel pistol.png
plasma Icon plasma.png platine Plat.png poids FO76 icon weight.png
poing Icon fist.png poison Icon poison.png poison2 Poison Icon.png
portée Icon range.png posarmass Fo4 Power Work Icon.png poscuis Fo4 Cook Work Icon.png
pourcent FO76 ui roleplay team.png prochainement Mbox upcoming.png présent FO76 Present Icon.png
ps3 Icon ps3.png ps4 Icon ps4.png pv Icon heart.png
pv13 PV13.png question Icon question.png quête FO76 ui icon quest.png
radiations Icon radiation.png raidabri Vault Raids.png rareté Icon rarity.png
ratio Icon ratio.png rd Icon shield silver.png requis Icon required.png
rouge Icon red.png régénération Icon healing.png réparable FO76 ui workshop team.png
répéter Icon repeat.png réticule Icon attack.png saison FO76 scoresprite seasons.png
saisonnier FO76 Quest Old Man Winter.png sang Icon bleed.png santé Icon heart.png
score FO76 scoresprite seasons.png scout FO76 Pioneer Scouts.png sd Icon shield gold.png
seau Icon FO76 mole miner pail.png semi Icon semi-required.png semirequis Icon semi-required.png
sic Icon sic.png soda FO76 Soda Icon.svg son Icon sound.png
spooky FO76 candyBowl MapIcon.png stimpak FO76 Stimpak Icon.svg survie FO76 icon roadmap survival.png
switch Nintendo Switch icon.png séquence Icon sequence.png tar Gametitle-TAR.jpg
temporaire Icon check temp.png tempslimité Icon limitedtime.png texte Icon text.png
thé FO76 Drink Tea Icon.svg torn Gametitle-TORN.png trophéeargent Silver.png
trophéebronze Bronze.png trophéeor Gold.png tumblr Tumblr Icon.png
twitch Twitch icon.png twitter Twitter icon.png têtard FO76 Tadpole badge blue.png
têtard sombre FO76 Tadpole badge.png v76 FO76 Vault 76 icon.png vaulttec Icon vaulttec.png
vb Gametitle-VB.png vert Icon green.png vt Icon vaulttec.png
wiki Gametitle-Wiki.png wild wasteland Icon wildwasteland.png windows Icon windows.png
ww Icon wildwasteland.png xbox360 Icon xbox360.png xboxone Icon xboxone.png
électrique Icon electrical.png énergie Icon electrical.png établiarmes Fo4 Weapon Work Icon.png
établirobot Icon robot workbench.png étoile Icon legendary.png évènement FO76 icon map event.png
évènementpublic FO76 icon map public event.png œil Icon eye.png

De plus, toutes les abréviations gérées par {{Abr}} peuvent être utilisée pour afficher une icône correspondante à un jeu.


local p = {}
local util = require( 'Module:Util' )
--[[
	Icon data is now stored on the sub page /data to seperate functional code
	for the dataset users will often need to update. This reduces the risk of
	breaking the code by entering data in the wrong place and makes it easier to
	manage the code itself by not having to pass through the large dataset at 
	the top.
]]

require( 'Module:Icons/data' ) 

local iconSize = {
    --[[
        All sizes are controlled on the height to ensure a string of icons maintain 
        a consistent line height
    ]]
    ["petit"]           = "x10px",
    ["medium"]          = "x14px",
    ["normal"]          = "x14px",
    ["gros"]             = "x20px",
}

--[[ 28/Oct/2021 Added class control table to array as to handle light/dark 
	themes. This was originally put into the frontend template, when class
	handling should be back end. Adding the ['class'] = 'light' or 
	['class'] = 'dark' parameter to a icon's dataset on /data will enable it to
	access a class if needed.
	]]

--[[ 08/Nov/2021 Remove the class definition as to be able to just pass straight through
local class = {
	['light'] = 'lighticon',
	['dark'] = 'darkicon',
	['general'] = 'generalicon'
}
]]

function _generate(iconList, iconSetting, iconLinks, tipOverride, iconClass, iconSize)
	local parserError = ''
    if util.exists(iconSetting)  then 
    	iconSetting = util.trim(iconSetting)
        if util.exists(iconSize[iconSetting]) then
            iconSetting = iconSize[iconSetting]
        end
    else
        iconSetting = iconSize["moyen"]
    end
    
    if util.exists(iconLinks) then
        iconLinks = mw.text.split(iconLinks, ",")
    end
        
    if util.exists(tipOverride) then
        tipOverride = mw.text.split(tipOverride, ",")
    end
    
    if util.exists(iconClass)then
    	iconClass = "|classe=" .. tostring(iconClass);
    else
    	iconClass = ""
    end

    local result = ""

    for k, v in ipairs(iconList) do
        newIcon = iconData[util.trim(v)]
        if util.exists(newIcon) then
            currentIcon = newIcon.icon
            if util.exists(tipOverride, k) then
                currentTip = tipOverride[k]
            else
                if util.exists(iconLinks, k) then
                    currentTip = iconLinks[k]
                else
                    currentTip = newIcon.tip
                end
            end
        else
            currentIcon = "Icon question.png"
            currentTip = "Unrecognized icon name"
            result = result .. "[[Catégorie:Modules avec des paramètres invalides]]"
        end
        
        --Create wikitext icon
		dataLine = '[[File:' .. currentIcon .. '|' .. iconSetting
        if util.exists(iconLinks, k) then
            dataLine = dataLine .. '|lien=' .. iconLinks[k]
        else
            dataLine = dataLine .. '|lien='
        end
        if currentTip ~= nil then
            dataLine = dataLine .. '|' .. currentTip
        end

        dataLine = dataLine .. iconClass .. ']]'

		createTip = mw.html.create('span')
        	createTip:addClass( 'va-icon' )
        	:attr('title', currentTip)
        	:wikitext(dataLine)
        result = result .. tostring(createTip)
        
        if k < table.getn(iconList) then
        	result = result .. " "
        end
    end
    
    return result .. parserError
end

function p.Icons(frame) 
	--[[All icons are now lower case to reduce script errors from 
	incorrectly entering the icon code in a different case to the list]]
    local iconList = mw.text.split(string.lower(frame.args[1]), ",")
    local iconSetting = frame.args[2]
    local iconLinks = frame.args[3]
    local tipOverride = frame.args[4]
    local iconClass = frame.args[5]	
	local iconSize = {
    	--[[
    	    All sizes are controlled on the height to ensure a string of icons maintain 
	        a consistent line height
    	]]
    	["petit"]           = "x10px",
    	["moyen"]          = "x14px",
    	["normal"]          = "x14px",
    	["gros"]             = "x20px"
	}
    return _generate(iconList, iconSetting, iconLinks, tipOverride, iconClass, iconSize)    
end

function p.plateformes(frame)
	--[[All icons are now lower case to reduce script errors from 
	incorrectly entering the icon code in a different case to the list]]
    local icons = mw.text.split(string.lower(frame.args[1]), ",")
    local result = ""
    
    for k, v in ipairs(icons) do
        currentIcon = iconData[util.trim(v)]
        
        if util.exists(currentIcon, 'platform') == true then
        	
            createSM = mw.html.create('span')
            	createSM:css('display', 'none')
            	:wikitext('[[Has platform::' .. currentIcon.tip .. ']]')
            	:allDone()
            createPlatform = mw.html.create('span')
            	createPlatform:addClass('va-icon')
            		:attr('title', currentIcon.tip)
            		:wikitext('[[File:' 
            			.. currentIcon.icon 
            			.. '|x14px|link=]]')
            		:allDone()
            	--[[ Uncommenting tostring(createSM) below will enable 
            	Semantic Mediawiki data tracking]]
            	result = result .. tostring(createSM) 
            			.. tostring(createPlatform)
            if k < table.getn(icons) then
                result = result .. " "
            end
        end
    end
    if result == '' then
        result = '<sup>[Plateformes nécessaires]</sup>[[Catégorie:Plateformes nécessaires]]'
    end
    
    return result
end    

function p.documentation()
    keys = {}
    for k in pairs(iconData) do
        table.insert(keys, k)
    end
 
    table.sort(keys)
    result = '{| class="va-table va-table-full"\n|-\n !prefix!!Icon!!prefix!!Icon!!prefix!!Icon\n|-\n'
    set = 1
    for k,v in ipairs(keys) do
		i = iconData[v]
        result = result .. "||'''" .. v .. "'''"
        if util.exists(i) == true and i.class ~= nil then
        	newFile = mw.html.create(span)
        		--:addClass(class[i.class])
        		:wikitext('[[File:' .. iconData[v].icon .. '|25px]]')
        else
        	newFile = mw.html.create(span)
        		:wikitext('[[File:' .. iconData[v].icon .. '|25px]]')
        end
        result = result .. '||' .. tostring(newFile)
 
        if set == 3 then
            result = result .. '\n|-\n'
        end
 
        if set < 3 then
            set = set + 1
        else
            set = 1
        end
    end
 
    result = result .. '\n|}'
 
    return result
end

function p.Test(frame) 
	--Please empty when done debugging so other users know it is free to use

end

return p
Advertisement