La documentation pour ce module peut être créée à Module:contexte/Documentation
local b = require('Module:bases')
local l = require('Module:langues')
local db = mw.loadData('Module:contexte/data')
local p = {}
function _contexte_def(liste, langue)
local ligne_def = {}
-- Regarde chaque élément un à un
local n = 1
while(liste ~= nil) do
local nom = mw.text.trim(liste)
n = n+1
-- Ce contexte existe-t-il ?
cont = db or {}
if not cont or not cont.invisible == true then
local label = cont.label or nom
local lien = cont.lien or nil
-- lien ?
if cont and not lien then
lien = "Annexe:Glossaire grammatical#" .. cont
end
if lien then
if #ligne_def == 0 then
label = "]"
else
label = "]"
end
elseif #ligne_def == 0 then
label = b.ucfirst(label)
end
table.insert(ligne_def, label)
-- Pas dans la liste: affiche quand même le texte et catégorise comme contexte non défini
else
table.insert(ligne_def, texte)
local cat = b.fait_categorie_contenu('Wiktionnaire:Contexte non défini', nil, true)
end
end
if #ligne_def > 0 then
return "''(<span class='contexte'>" .. b.ucfirst(table.concat(ligne_def, ', ')) .. "</span>)''"
else
return ""
end
end
-- Pour générer tout ce qui est {term}, {emploi}, {région}...
function p.contexte(frame)
local args
if frame.args ~= nil and frame.args ~= nil then
args = frame.args
else
args = frame:getParent().args
end
argsnum = b.trim_parametres(args)
-- Vérifie que des paramètres de contexte sont donnés
if argsnum == nil or argsnum == '' then return '(Pas de contexte donné)' end
-- Paramètre de langue
local lang = args
local langue
if lang ~= nil then
langue = l.get_nom(lang)
end
-- Récupère la liste des infos de contexte
-- Prépare le texte à afficher sur la ligne de définition et les catégories associées
local texte_out = _contexte_def(argsnum, langue)
-- Affichage final
return texte_out
end
return p