« Module:TagInfoCard » : différence entre les versions
De Eco - Wiki Français
| [version vérifiée] | [version vérifiée] |
Page créée avec « local p = {} local Utils = require('Module:Utils') local IconUtils = require('Module:IconUtils') local RecipeUtils = require('Module:RecipeUtils') local Lang = Utils.getLanguageName() function p.main(frame) -- Récupération du nom de la page local NomPage = frame.args[1] -- Supprimer le suffixe "Tag" si présent local TagSuffixe = string.gsub(Utils.Translate("{0} Tag"), "{0}", "") NomPage = string.gsub(NomPage, TagSuffixe, "") -- Dé... » |
Aucun résumé des modifications |
||
| Ligne 10 : | Ligne 10 : | ||
-- Récupération du nom de la page | -- Récupération du nom de la page | ||
local NomPage = frame.args[1] | local NomPage = frame.args[1] | ||
-- Décoder les entités HTML (comme ' en ') | |||
NomPage = mw.text.decode(NomPage) | |||
-- Normaliser les apostrophes typographiques (au cas où) | |||
NomPage = Utils.NormalizeApostrophes(NomPage) | |||
-- Supprimer le suffixe "Tag" si présent | -- Supprimer le suffixe "Tag" si présent | ||
| Ligne 30 : | Ligne 36 : | ||
local Tag = TagData.tags[NomTag] | local Tag = TagData.tags[NomTag] | ||
if not Tag then | if not Tag then | ||
return "Tag introuvable : " .. NomTag | return '<div class="alert alert-danger">Tag introuvable : "' .. NomPage .. '" (recherché comme : "' .. NomTag .. '")</div>' | ||
end | end | ||
| Ligne 39 : | Ligne 45 : | ||
local WikiTexte = "" | local WikiTexte = "" | ||
WikiTexte = WikiTexte .. "__NOTOC__" | WikiTexte = WikiTexte .. "__NOTOC__" | ||
-- Catégorie | -- Catégorie | ||
| Ligne 54 : | Ligne 58 : | ||
-- Liste des items associés | -- Liste des items associés | ||
WikiTexte = WikiTexte .. "<h3>" .. Utils.Translate("Items in Tag | WikiTexte = WikiTexte .. "<h3>" .. Utils.Translate("Items in Tag") .. " :</h3>" | ||
WikiTexte = WikiTexte .. '<div class="row">' | WikiTexte = WikiTexte .. '<div class="row">' | ||
| Ligne 75 : | Ligne 79 : | ||
local RecetteTagIngredients = RecipeUtils.TagIngredient(NomTag) | local RecetteTagIngredients = RecipeUtils.TagIngredient(NomTag) | ||
if RecetteTagIngredients ~= "" then | if RecetteTagIngredients ~= "" then | ||
WikiTexte = WikiTexte .. "<h3>" .. Utils.Translate("Used in | WikiTexte = WikiTexte .. "<h3>" .. Utils.Translate("Used in") .. " :</h3>" | ||
WikiTexte = WikiTexte .. RecipeUtils.CraftTable(RecetteTagIngredients) | WikiTexte = WikiTexte .. RecipeUtils.CraftTable(RecetteTagIngredients) | ||
end | end | ||
Dernière version du 21 novembre 2025 à 21:43
La documentation pour ce module peut être créée à Module:TagInfoCard/doc
local p = {}
local Utils = require('Module:Utils')
local IconUtils = require('Module:IconUtils')
local RecipeUtils = require('Module:RecipeUtils')
local Lang = Utils.getLanguageName()
function p.main(frame)
-- Récupération du nom de la page
local NomPage = frame.args[1]
-- Décoder les entités HTML (comme ' en ')
NomPage = mw.text.decode(NomPage)
-- Normaliser les apostrophes typographiques (au cas où)
NomPage = Utils.NormalizeApostrophes(NomPage)
-- Supprimer le suffixe "Tag" si présent
local TagSuffixe = string.gsub(Utils.Translate("{0} Tag"), "{0}", "")
NomPage = string.gsub(NomPage, TagSuffixe, "")
-- Déterminer le nom interne du tag selon la langue
local NomTag
if Lang == 'English' then
NomTag = NomPage
else
NomTag = Utils.TagSearch(NomPage)
end
-- Charger les modules de données
local TagData = require("Module:TagData")
local ItemData = require("Module:ItemData")
-- Récupérer les données du tag
local Tag = TagData.tags[NomTag]
if not Tag then
return '<div class="alert alert-danger">Tag introuvable : "' .. NomPage .. '" (recherché comme : "' .. NomTag .. '")</div>'
end
local TagID = Tag.ID
local ListeItems = Tag.Items
-- Début du texte Wiki
local WikiTexte = ""
WikiTexte = WikiTexte .. "__NOTOC__"
-- Catégorie
WikiTexte = WikiTexte .. "[[Catégorie:" .. Utils.Translate("Tags") .. "]]"
-- Icône du tag
WikiTexte = WikiTexte .. IconUtils.main{
name = Tag.Name[Lang],
id = TagID,
size = 128,
style = 4,
}
-- Liste des items associés
WikiTexte = WikiTexte .. "<h3>" .. Utils.Translate("Items in Tag") .. " :</h3>"
WikiTexte = WikiTexte .. '<div class="row">'
for _, NomItem in pairs(ListeItems) do
local Item = ItemData.items[NomItem]
if Item then
WikiTexte = WikiTexte .. IconUtils.main{
name = Item.Name[Lang],
id = Item.ID,
size = 128,
style = 4,
link = Item.Name[Lang]
}
end
end
WikiTexte = WikiTexte .. "</div>"
-- Objets utilisant ce tag dans des recettes
local RecetteTagIngredients = RecipeUtils.TagIngredient(NomTag)
if RecetteTagIngredients ~= "" then
WikiTexte = WikiTexte .. "<h3>" .. Utils.Translate("Used in") .. " :</h3>"
WikiTexte = WikiTexte .. RecipeUtils.CraftTable(RecetteTagIngredients)
end
return WikiTexte
end
return p