Module:Règle
De Nefald
Autres actions
La documentation pour ce module peut être créée à Module:Règle/doc
local p = {}
function p.regle(frame)
local args = frame:getParent().args
local numero = mw.text.trim(args[1] or "")
local texte = mw.text.trim(args[2] or "")
if numero == "" then return "" end
-- Détection du niveau
local _, points = string.gsub(numero, "%.", "")
local niveau = math.min(points + 1, 3)
-- Ancre
local ancre = "r-" .. string.gsub(numero, "%.", "-")
-- Parse le texte (gère les templates imbriqués)
local texte_parse = frame:preprocess(texte)
-- Retour via un tag <div> parsé par MediaWiki
-- On utilise frame:preprocess sur du wikitext contenant du HTML
local html = '<div class="regle-item regle-niveau-' .. niveau .. '" id="' .. ancre .. '">'
.. '<a class="regle-numero" href="#' .. ancre .. '">§ ' .. numero .. '</a>'
.. '<span class="regle-texte">' .. texte_parse .. '</span>'
.. '</div>'
return frame:preprocess(html)
end
return p