L'Abri
Aucun résumé des modifications
Aucun résumé des modifications
 
(41 versions intermédiaires par 2 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
 
local p = {}
 
local p = {}
  +
local util = require( 'Module:Util' )
 
  +
--[[
local iconTip = {
 
  +
Icon data is now stored on the sub page /data to seperate functional code
-- Plateformes
 
  +
for the dataset users will often need to update. This reduces the risk of
["android"] = "SE Android|plateforme",
 
  +
breaking the code by entering data in the wrong place and makes it easier to
["windowsphone"] = "Windows Phone|plateforme",
 
  +
manage the code itself by not having to pass through the large dataset at
["apple"] = "Apple iOS|plateforme",
 
  +
the top.
["switch"] = "Nintendo Switch|plateforme",
 
  +
]]
["pc"] = "PC|plateforme",
 
["mac"] = "Macintosh Classic ou Mac OS X|plateforme",
 
["macclassic"] = "Macintosh Classic (≤ MacOS 9)|plateforme",
 
["xbox360"] = "Xbox 360|plateforme",
 
["xboxone"] = "Xbox One|plateforme",
 
["ps3"] = "PlayStation 3|plateforme",
 
["ps4"] = "PlayStation 4|plateforme",
 
   
  +
require( 'Module:Icons/data' )
-- Publications
 
["AR"] = "All Roads",
 
["FB"] = "Fallout Bible",
 
["OMACP"] = "One Man, and a Crate of Puppets",
 
   
-- Jeux distribués
 
["FO1"] = "Fallout",
 
["FO2"] = "Fallout 2",
 
["FO3"] = "Fallout 3",
 
["FO3BS"] = "Broken Steel (extension)",
 
["FO3MZ"] = "Mothership Zeta (extension)",
 
["FO3OA"] = "Operation: Anchorage (extension)",
 
["FO3PL"] = "Point Lookout (extension)",
 
["FO3TP"] = "The Pitt (extension)",
 
["FNV"] = "Fallout: New Vegas",
 
["FNVCS"] = "Courier Stash (extension)",
 
["FNVDM"] = "Dead Money (extension)",
 
["FNVGRA"] = "Arsenal des Gun Runners (extension)",
 
["FNVHH"] = "Honest Hearts (extension)",
 
["FNVLR"] = "Lonesome Road (extension)",
 
["FNVOWB"] = "Old World Blues (extension)",
 
["FO4"] = "Fallout 4",
 
["FO4AUT"] = "Automatron (extension)",
 
["FO4CC"] = "Creation Club",
 
["FO4CW"] = "Contraptions Workshop",
 
["FO4FH"] = "Far Harbor (extension)",
 
["FO4NW"] = "Nuka-World (extension)",
 
["FO4VR"] = "Fallout 4 VR",
 
["FO4VW"] = "Vault-Tec Workshop",
 
["FO4WW"] = "Wasteland Workshop",
 
["FO1st"] = "Fallout 1st",
 
["FO76"] = "Fallout 76",
 
["FO76WA"] = "Wild Appalachia (extension)",
 
["FO76NW"] = "Nuclear Winter (extension)",
 
["FO76WL"] = "Wastelanders (extension)",
 
["FO76LR"] = "La course légendaire",
 
["FO76OW"] = "Terres désolées pour tous",
 
["FO76AA"] = "Aube d'acier",
 
["FOBOS"] = "Fallout: Brotherhood of Steel",
 
["FOBOS2"] = "Fallout: Brotherhood of Steel 2",
 
["FOS"] = "Fallout Shelter",
 
["FOT"] = "Fallout Tactics",
 
["FOT2"] = "Fallout Tactics 2",
 
 
-- Jeux annulés
 
["VB"] = "Van Buren",
 
["TORN"] = "Jeu TORN",
 
["PV13"] = "Projet V13",
 
["TAR"] = "Projet V13",
 
["FOX"] = "Fallout Extreme",
 
 
-- Autres projets
 
["JES"] = "Jeu de Rôle Fallout de J.E. Sawyer",
 
["LH"] = "Lionheart",
 
["FOD20"] = "Fallout Pen and Paper d20",
 
["FILM"] = "Fallout (Le Film)",
 
["FJP"] = "Fallout: Le Jeu de Plateau",
 
["FJPNC"] = "Fallout: New California (extension)",
 
["FWW "] = "Fallout: Wasteland Warfare",
 
["FWWRPG"] = "Fallout: Wasteland Warfare Roleplaying Game",
 
 
-- Réseaux sociaux
 
["facebook"] = "Facebook",
 
["instagram"] = "Instagram",
 
["linkedin"] = "Linkedin",
 
["myspace"] = "Myspace",
 
["tumblr"] = "Tumblr",
 
["twitch"] = "Twitch",
 
["twitter"] = "Twitter",
 
 
-- Réactions
 
["adore"] = "Adore",
 
["aime"] = "Apprécie",
 
["aimepas"] = "N'apprécie pas",
 
["déteste"] = "Déteste",
 
["indifférent"] = "Indifférent",
 
 
-- Artisanat
 
["atelier"] = "Atelier",
 
["atarmes"] = "Atelier d'armes",
 
["atarmures"] = "Atelier d'armures",
 
["atrobot"] = "Atelier de robotique",
 
["fabrication"] = "Fabrication",
 
["poscuis"] = "Poste de cuisine",
 
["stchim"] = "Station de chimie",
 
["starmass"] = "Station d'armure assistée",
 
["nukamix"] = "Station de Nuka Mixer",
 
["prnour"] = "Processeur de nourriture",
 
["fabrexpl"] = "Fabrique d'explosifs",
 
["brico"] = "Bricolage",
 
 
-- Gameplay
 
["niveau"] = "Niveau",
 
["pa"] = "Points d'Action",
 
["px"] = "Points d'Expérience",
 
["pv"] = "Points de vie",
 
["dégâts"] = "Dégâts",
 
["dgtcrit"] = "Dégâts critiques",
 
["effetcrit"] = "Effet critique",
 
["effetbonus"] = "Effet bonus",
 
["dpa"] = "Dégâts par Point d'Action",
 
["saignement"] = "Saignement",
 
["poids"] = "Poids",
 
["munitions"] = "Munitions",
 
["munitions2"] = "Munitions",
 
["soins"] = "Régénération de santé",
 
["dispersion"] = "Dispersion",
 
["dps"] = "Dégâts par seconde",
 
["effet"] = "Effet",
 
["radiations"] = "Radiations",
 
["atome"] = "Atome",
 
["distance"] = "Distance",
 
["détection|vision"] = "Détection",
 
["capachargeur"] = "Capacité du chargeur",
 
["portée"] = "Portée",
 
["rareté"] = "Rareté",
 
["ratio"] = "Ratio",
 
["poison"] = "Poison",
 
["froid"] = "Froid",
 
["acide"] = "Acide",
 
["attaque"] = "Attaque",
 
["chance"] = "Chances",
 
["ca"] = "Classe d'armure",
 
["rd"] = "Résistance aux dégâts",
 
["sd"] = "Seuil de dégâts",
 
["capacité"] = "Capacité",
 
["explosion"] = "Explosion",
 
["feu"] = "Feu",
 
["poing"] = "Poing",
 
["gaz"] = "Gaz",
 
["défense"] = "Défense",
 
["aptlégendaire"] = "Aptitude légendaire",
 
["dailyops"] = "Daily Ops",
 
["nw"] = "Nuclear Winter mode",
 
["score"] = "S.C.O.R.E.",
 
["mitraille"] = "Mitraille légendaire",
 
["per"] = "Perception",
 
["for"] = "Force",
 
["agi"] = "Agilité",
 
["chr"] = "Charisme",
 
["end"] = "Endurance",
 
["int"] = "Intelligence",
 
["cha"] = "Chance",
 
["maladie"] = "Maladie",
 
["muté"] = "Mutation",
 
 
-- Type d'arme
 
["arme"] = "Arme à feu",
 
["armelourde"] = "Armes lourdes, attaque directe",
 
["armelourdeaoe"] = "Armes lourdes, zone d'effet",
 
["lame"] = "Arme de mêlée tranchante",
 
["contondante"] = "Arme de mêlée contondante",
 
["sansarmes"] = "Sans armes",
 
["cac"] = "Corps à corps",
 
["fusil"] = "Fusil",
 
["pompe"] = "Fusil à pompe",
 
["pm"] = "Pistolet-mitrailleur",
 
["laser"] = "Laser",
 
["plasma"] = "Plasma",
 
["électrique"] = "Électrique",
 
["énergie"] = "Énergie",
 
["grenade"] = "Grenade",
 
["mine"] = "Mine",
 
["iem"] = "IEM",
 
["cryo"] = "Cryo",
 
 
-- Personnages
 
["boss"] = "Personnage Haut Niveau",
 
["caravan"] = "Joue au Caravan",
 
["cartes"] = "Cartes",
 
["compagnon"] = "Compagnon",
 
["confiance"] = "Confiance",
 
["docteur"] = "Docteur",
 
["marchand"] = "Marchand",
 
["groupe"] = "Groupe",
 
["FNVww"] = "Wild Wasteland",
 
 
-- Objets
 
["mod"] = "Avec mods",
 
["FO4chaine01"] = "Porte-clés quatre",
 
["FO4chaine02"] = "Porte-clés cinq",
 
["FO4clégen"] = "Clé générique",
 
["FO4holo"] = "Holobande",
 
["FO4clé01"] = "Clé Quantum",
 
["FO4clé02"] = "Clé du jouet fusée",
 
["FO4clé03"] = "Clé Vault Boy",
 
["FO4note"] = "Note",
 
["FO4abriID"] = "Carte d'identification d'Abri",
 
["jeupb"] = "Jeu Pip-Boy",
 
["gold bullion"] = "Gold Bullion",
 
["caps"] = "Caps",
 
 
-- Conditions
 
["requis"] = "Requis",
 
["semirequis"] = "Parfois requis ou requis au moins une fois",
 
["optionnel"] = "Optionnel",
 
["gratuit"] = "Gratuit",
 
 
-- État
 
["mort"] = "Décédé",
 
["temporaire"] = "Temporaire",
 
["oui"] = "Validé",
 
["ouitemp"] = "Validé temporairement",
 
["non"] = "Non",
 
["vert"] = "Fait fiable",
 
["ambre"] = "Fait non corroboré",
 
["rouge"] = "Fait peu fiable ou incorrect",
 
["question"] = "Point d'interrogation",
 
["mentionné"] = "Mentionné",
 
["répétable"] = "Répétable",
 
["réparable"] = "Réparable",
 
["neutre"] = "Neutre",
 
["essentiel"] = "Essentiel",
 
["asservissable"] = "Peut être assujetti",
 
["limitée"] = "Édition limitée",
 
["nouveau"] = "Nouveau",
 
 
-- Intra Wiki
 
["WIKI"] = "L'Abri",
 
["son"] = "Son",
 
["apparition"] = "Apparition",
 
["texte"] = "Texte",
 
["séquence"] = "Séquence",
 
["sic"] = "Épellation, ponctuation et/ou grammaire dans le jeu",
 
["coupé"] = "Contenu coupé",
 
["haché"] = "Haché",
 
["dial"] = "Dialogue",
 
["image"] = "Image",
 
["infos"] = "Informations",
 
 
-- Succès
 
["gamerscore"] = "Gamerscore",
 
["tropheebronze"] = "Trophée Bronze",
 
["tropheeargent"] = "Trophée Argent",
 
["tropheeor"] = "Trophée Or",
 
["tropheeplatine"] = "Trophée Platine",
 
 
["jury"] = "Jury Rigging",
 
["temporaire"] = "Icon limitedtime.png"
 
}
 
 
local gameIcon = {
 
["capacité"] = "Icon ability.png",
 
["bronzeca"] = "Icon shield bronze.png",
 
["acide"] = "Icon acid.png",
 
["pa"] = "Icon action.png",
 
["ambre"] = "Icon amber.png",
 
["munitions"] = "icon ammo.png",
 
["munitions2"] = "113.png",
 
["android"] = "icon android.png",
 
["apple"] = "icon appleios.png",
 
["AR"] = "gametitle-AR.png",
 
["atarmures"] = "Fo4_Armor_Work_Icon.png",
 
["atome"] = "Icon Fo76 Atom.png",
 
["attaque"] = "Icon attack.png",
 
["armelourde"] = "Icon heavy weapon.png",
 
["armelourdeaoe"] = "Icon big gun.png",
 
["lame"] = "Icon blade.png",
 
["saignement"] = "Icon bleed.png",
 
["contondante"] = "Icon blunt.png",
 
["cryo"] = "11c.png",
 
["effetbonus"] = "Icon bonus effect.png",
 
["boss"] = "FoS Boss.png",
 
["tropheebronze"] = "Bronze.png",
 
["caravan"] = "Icon cards.png",
 
["cartes"] = "Icon cards.png",
 
["chance"] = "Icon chance.png",
 
["oui"] = "Icon check.png",
 
["ouitemp"] = "Icon check temp.png",
 
["stchim"] = "Fo4_Chem_Work_Icon.png",
 
["compagnon"] = "Icon companion.png",
 
["confiance"] = "Icon confidence.png",
 
["poscuis"] = "Fo4_Cook_Work_Icon.png",
 
["fabrication"] = "Icon crafting.png",
 
["effetcrit"] = "Icon crit effect.png",
 
["dgtcrit"] = "Icon critical damage.png",
 
["non"] = "Icon cross.png",
 
["attaque"] = "Icon attack.png",
 
["coupé"] = "Icon cut.png",
 
["FOD20"] = "gametitle-D20.png",
 
["dégâts"] = "Icon damage.png",
 
["dpa"] = "Icon dap.png",
 
["mort"] = "Icon dead.png",
 
["défense"] = "Icon shield silver.png",
 
["détection"] = "Icon eye.png",
 
["dial"] = "Icon dialogue.png",
 
["aimepas"] = "Dislike.svg",
 
["distance"] = "Icon range.png",
 
["docteur"] = "Icon doctor.png",
 
["dps"] = "Icon dps.png",
 
["ca"] = "Icon shield bronze.png",
 
["rd"] = "Icon shield silver.png",
 
["sd"] = "Icon shield gold.png",
 
["effet"] = "Icon effect.png",
 
["électrique"] = "Icon electrical.png",
 
["iem"] = "Icon EMP.png",
 
["énergie"] = "Icon electrical.png",
 
["asservissable"] = "Icon cage.png",
 
["essentiel"] = "Icon essential.png",
 
["per"] = "FO76 P.png",
 
["for"] = "FO76 S.png",
 
["agi"] = "FO76 A.png",
 
["chr"] = "FO76 C.png",
 
["end"] = "FO76 E.png",
 
["int"] = "FO76 I.png",
 
["cha"] = "FO76 L.png",
 
["maladie"] = "117 black.png",
 
["muté"] = "135black.png",
 
["px"] = "Icon XP.png",
 
["fabrexpl"] = "Icon fo4cw builder.png",
 
["explosion"] = "Icon explosion.png",
 
["facebook"] = "FacebookIcon.png",
 
["FB"] = "gametitle-FB.png",
 
["FJP"] = "gametitle-FBG.png",
 
["FJPNC"] = "gametitle-FBGNC.png",
 
["FJPWW"] = "gametitle-FBGWW.png",
 
["FILM"] = "Film.png",
 
["feu"] = "Icon fire.png",
 
["poing"] = "Icon fist.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",
 
["FNVww"] = "Perk wild wasteland.png",
 
["FO"] = "gametitle-FO1.png",
 
["FO1"] = "gametitle-FO1.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",
 
["FO4chaine01"] = "icon Fo4 chain01.png",
 
["FO4chaine02"] = "icon Fo4 chain02.png",
 
["FO4CW"] = "gametitle-FO4_CW.png",
 
["FO4FH"] = "gametitle-FO4_FH.png",
 
["FO4clégen"] = "icon Fo4 gen keycard.png",
 
["FO4holo"] = "icon Fo4 holotape.png",
 
["FO4clé01"] = "icon Fo4 key01.png",
 
["FO4clé02"] = "icon Fo4 key02.png",
 
["FO4clé03"] = "icon Fo4 key03.png",
 
["FO4note"] = "icon Fo4 note.png",
 
["FO4NW"] = "gametitle-FO4_NW.png",
 
["FO4abriID"] = "icon Fo4 vaultid.png",
 
["FO4VR"] = "gametitle-FO4VR.png",
 
["FO4VW"] = "gametitle-FO4_VW.png",
 
["FO4WW"] = "gametitle-FO4_WW.png",
 
["FO1st"] = "FO1st.png",
 
["FO76"] = "gametitle-FO76.png",
 
["FO76WA"] = "gametitle-FO76 WA.png",
 
["FO76NW"] = "gametitle-FO76 NW.png",
 
["FO76WL"] = "gametitle-FO76 WL.png",
 
["FO76LR"] = "gametitle-FO76 LR.png",
 
["FO76OW"] = "gametitle-FO76 One Wasteland.png",
 
["FO76AA"] = "gametitle-FO76 Steel Dawn.png",
 
["FOBOS"] = "gametitle-FOBOS.png",
 
["FOBOS2"] = "gametitle-FOBOS2.png",
 
["prnour"] = "Icon fo4cw builder.png",
 
["FOS"] = "gametitle-FOS.png",
 
["FOT"] = "gametitle-FOT.png",
 
["FOT2"] = "gametitle-FOT2.png",
 
["FOW"] = "gametitle-FOW.png",
 
["FOX"] = "gametitle-FOX.png",
 
["FPB"] = "gametitle-FPB.png",
 
["froid"] = "Icon effect.png",
 
["FWW"] = "gametitle-FWW.png",
 
["FWWRPG"] = "gametitle-FWWRPG.png",
 
["gamerscore"] = "Gamerscore.svg",
 
["gaz"] = "Icon gas.png",
 
["tropheeor"] = "Gold.png",
 
["gold bullion"] = "Fo76 Icon Gold Bullion.png",
 
["vert"] = "Icon green.png",
 
["grenade"] = "Icon grenade.png",
 
["groupe"] = "Icon group.png",
 
["arme"] = "Icon gun.png",
 
["déteste"] = "Hate.svg",
 
["soins"] = "Icon healing.png",
 
["haché"] = "Fire axe icon.png",
 
["pv"] = "Icon heart.png",
 
["image"] = "Icon image.png",
 
["infos"] = "Icon info.png",
 
["instagram"] = "Instagram icon.jpg",
 
["JES"] = "gametitle-JES.png",
 
["jury"] = "JuryRigging.png",
 
["laser"] = "Icon laser.png",
 
["niveau"] = "Icon level.png",
 
["LH"] = "gametitle-LH.png",
 
["aime"] = "Like.svg",
 
["linkedin"] = "Linkedin icon.png",
 
["adore"] = "Love.svg",
 
["temporaire"] = "Icon limitedtime.png",
 
["mac"] = "Icon mac.png",
 
["macclassic"] = "Icon mac.png",
 
["capachargeur"] = "Assault carbine extended magazines.png",
 
["cac"] = "Icon melee.png",
 
["mentionné"] = "Icon mentioned.png",
 
["marchand"] = "Icon merchant.png",
 
["mine"] = "Icon mine.png",
 
["mod"] = "Icon plus.png",
 
["myspace"] = "Myspace icon.png",
 
["neutre"] = "Icon neutral.png",
 
["indifférent"] = "Neutral.svg",
 
["non"] = "Icon cross.png",
 
["nukamix"] = "Icon Nuka-mixer station.png",
 
["optionnel"] = "Icon optional.png",
 
["OMACP"] = "Penny Arcade.gif",
 
["starmass"] = "Fo4_Power_Work_Icon.png",
 
["jeupb"] = "Fo4_Pip-Boy game.png",
 
["pc"] = "Icon pc.png",
 
["plasma"] = "Icon plasma.png",
 
["tropheeplatine"] = "Plat.png",
 
["poison"] = "Icon poison.png",
 
["ps3"] = "Icon ps3.png",
 
["ps4"] = "Icon ps4.png",
 
["PV13"] = "PV13.png",
 
["radiations"] = "Icon radiation.png",
 
["portée"] = "Icon range.png",
 
["rareté"] = "Icon rarity.png",
 
["aptlégendaire"] = "FO76 Perk coin.png",
 
["dailyops"] = "Daily Ops Mode Icon Uplink.png",
 
["ratio"] = "Icon ratio.png",
 
["rouge"] = "Icon red.png",
 
["réparable"] = "Icon repair.png",
 
["répétable"] = "Icon repeat.png",
 
["requis"] = "Icon required.png",
 
["fusil"] = "Icon rifle.png",
 
["atrobot"] = "Icon robot workbench.png",
 
["semirequis"] = "Icon semi-required.png",
 
["séquence"] = "Icon sequence.png",
 
["pompe"] = "Icon shotgun.png",
 
["sic"] = "Icon sic.png",
 
["caps"] = "Caps.png",
 
["gratuit"] = "ATX FREE.png",
 
["limitée"] = "YOU SHOULD BUY THIS.png",
 
["nouveau"] = "ATX NEW.png",
 
["nw"] = "Vault 51.png",
 
["score"] = "137 low res.png",
 
["mitraille"] = "FO76 Scrip.png",
 
["tropheeargent"] = "Silver.png",
 
["pm"] = "Icon smg.png",
 
["son"] = "Icon sound.png",
 
["apparition"] = "Icon spawn.png",
 
["dispersion"] = "Icon spread.png",
 
["switch"] = "Nintendo Switch icon.png",
 
["TAR"] = "gametitle-TAR.jpg",
 
["texte"] = "Icon text.png",
 
["TORN"] = "gametitle-TORN.png",
 
["tumblr"] = "Tumblr Icon.png",
 
["twitch"] = "Twitch icon.png",
 
["twitter"] = "Twitter icon.png",
 
["sansarmes"] = "Icon unarmed.png",
 
["VB"] = "gametitle-VB.png",
 
["atarmes"] = "Fo4_Weapon_Work_Icon.png",
 
["poids"] = "Icon weight.png",
 
["WIKI"] = "gametitle-Wiki.png",
 
["windows"] = "Icon windows.png",
 
["atelier"] = "Icon workshop.png",
 
["xbox360"] = "Icon xbox360.png",
 
["xboxone"] = "Icon xboxone.png"
 
}
 
 
 
local iconSize = {
 
local iconSize = {
  +
--[[
  +
All sizes are controlled on the height to ensure a string of icons maintain
  +
a consistent line height
  +
]]
 
["petit"] = "x10px",
 
["petit"] = "x10px",
 
["medium"] = "x14px",
 
["medium"] = "x14px",
 
["normal"] = "x14px",
 
["normal"] = "x14px",
["gros"] = "x20px"
+
["gros"] = "x20px",
 
}
 
}
  +
 
  +
--[[ 28/Oct/2021 Added class control table to array as to handle light/dark
function p.Icons(frame)
 
  +
themes. This was originally put into the frontend template, when class
local iconList = mw.text.split(frame.args[1], ",")
 
  +
handling should be back end. Adding the ['class'] = 'light' or
local parserError = ""
 
  +
['class'] = 'dark' parameter to a icon's dataset on /data will enable it to
local iconSetting
 
  +
access a class if needed.
if frame.args[2] ~= nil and string.len(frame.args[2]) > 0 then
 
  +
]]
iconSetting = tostring(frame.args[2])
 
  +
  +
--[[ 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
 
else
iconSetting = iconSize["medium"]
+
iconSetting = iconSize["moyen"]
 
end
 
end
  +
 
local iconLinks
+
if util.exists(iconLinks) then
  +
iconLinks = mw.text.split(iconLinks, ",")
if frame.args[3] ~= nil then
 
iconLinks = mw.text.split(frame.args[3], ",")
 
 
end
 
end
  +
 
local tipOverride
+
if util.exists(tipOverride) then
  +
tipOverride = mw.text.split(tipOverride, ",")
if frame.args[4] ~= nil then
 
tipOverride = mw.text.split(frame.args[4], ",")
 
 
end
 
end
  +
 
  +
if util.exists(iconClass)then
local n = 1
 
  +
iconClass = "|classe=" .. tostring(iconClass);
  +
else
  +
iconClass = ""
  +
end
  +
 
local result = ""
 
local result = ""
  +
 
while n <= table.getn(iconList) do
+
for k, v in ipairs(iconList) do
newIcon = iconList[n]
+
newIcon = iconData[util.trim(v)]
if gameIcon[newIcon] ~= nil then
+
if util.exists(newIcon) then
currentIcon = gameIcon[newIcon]
+
currentIcon = newIcon.icon
if tipOverride ~= nil and tipOverride[n] ~= nil then
+
if util.exists(tipOverride, k) then
currentTip = tipOverride[n]
+
currentTip = tipOverride[k]
 
else
 
else
if iconLinks ~= nil and iconLinks[n] ~= nil then
+
if util.exists(iconLinks, k) then
currentTip = iconLinks[n]
+
currentTip = iconLinks[k]
 
else
 
else
splitTip = mw.text.split(iconTip[newIcon], "|")
+
currentTip = newIcon.tip
currentTip = splitTip[1]
 
 
end
 
end
 
end
 
end
Ligne 530 : Ligne 80 :
 
currentIcon = "Icon question.png"
 
currentIcon = "Icon question.png"
 
currentTip = "Unrecognized icon name"
 
currentTip = "Unrecognized icon name"
  +
result = result .. "[[Catégorie:Modules avec des paramètres invalides]]"
 
end
 
end
  +
 
  +
--Create wikitext icon
result = result .. '<span style="display: none;">' .. currentTip .. '</span>'
 
  +
dataLine = '[[File:' .. currentIcon .. '|' .. iconSetting
result = result .. '<span class="va-icon" title="' .. currentTip .. '">'
 
  +
if util.exists(iconLinks, k) then
result = result .. '[' .. '[File:' .. currentIcon .. '|' .. iconSetting
 
if iconLinks ~= nil and iconLinks[n] ~= nil and iconLinks[n] ~= "" then
+
dataLine = dataLine .. '|lien=' .. iconLinks[k]
result = result .. '|link=' .. iconLinks[n]
 
 
else
 
else
result = result .. '|link='
+
dataLine = dataLine .. '|lien='
 
end
 
end
 
if currentTip ~= nil then
 
if currentTip ~= nil then
result = result .. '|' .. currentTip
+
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
 
result = result .. ']]</span>'
 
n = n + 1
 
 
end
 
end
  +
 
 
return result .. parserError
 
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
 
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()
 
function p.documentation()
 
keys = {}
 
keys = {}
for k in pairs(gameIcon) do
+
for k in pairs(iconData) do
 
table.insert(keys, k)
 
table.insert(keys, k)
 
end
 
end
  +
 
 
 
table.sort(keys)
 
table.sort(keys)
 
 
result = '{| class="va-table va-table-full"\n|-\n !prefix!!Icon!!prefix!!Icon!!prefix!!Icon\n|-\n'
 
result = '{| class="va-table va-table-full"\n|-\n !prefix!!Icon!!prefix!!Icon!!prefix!!Icon\n|-\n'
 
 
set = 1
 
set = 1
 
for k,v in ipairs(keys) do
 
for k,v in ipairs(keys) do
  +
i = iconData[v]
 
 
result = result .. "||'''" .. v .. "'''"
 
result = result .. "||'''" .. v .. "'''"
  +
if util.exists(i) == true and i.class ~= nil then
result = result .. "||[[File:" .. gameIcon[v] .. "|25px]]"
 
+
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
 
if set == 3 then
result = result .. "\n|-\n"
+
result = result .. '\n|-\n'
 
end
 
end
  +
 
 
if set < 3 then
 
if set < 3 then
 
set = set + 1
 
set = set + 1
Ligne 579 : Ligne 201 :
 
end
 
end
 
end
 
end
 
result = result .. "\n|}"
 
 
return result
 
 
end
 
 
 
  +
result = result .. '\n|}'
function p.plateformes(frame)
 
local icons = mw.text.split(frame.args[1], ",")
 
local iconCount = 1
 
local platformCheck = ""
 
local result = ""
 
 
while iconCount <= table.getn(icons) do
 
currentIcon = iconTip[icons[iconCount]]
 
platformCheck = mw.text.split(currentIcon, "|")
 
if platformCheck[2] ~= nil then
 
result = result .. '<span style="display: none;">' .. platformCheck[1] .. '</span>'
 
result = result .. '<span class="va-icon" title="' .. platformCheck[1] .. '">'
 
result = result .. "[".."[File:" .. gameIcon[icons[iconCount]] .. "|x14px|link=]]"
 
result = result .. '</span>'
 
result = result .. " "
 
end
 
iconCount = iconCount + 1
 
end
 
if result == "" then
 
result = '<sup>[Plateformes nécessaires]</sup>[[Catégorie:Plateformes nécessaires]]'
 
end
 
 
 
 
return result
 
return result
end
 
 
function p.test(frame)
 
 
return frame.args[1]
 
 
end
 
end
  +
 
  +
function p.Test(frame)
  +
--Please empty when done debugging so other users know it is free to use
  +
  +
end
  +
 
return p
 
return p

Dernière version du 1 décembre 2021 à 23:17

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

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