Basculer le menu
Changer de menu des préférences
Basculer le menu personnel
Non connecté(e)
Votre adresse IP sera visible au public si vous faites des modifications.

« Module:Règle » : différence entre les versions

De Nefald
Hiob (discussion | contributions)
Aucun résumé des modifications
Hiob (discussion | contributions)
Aucun résumé des modifications
Ligne 12 : Ligne 12 :
local ancre = "r-" .. string.gsub(numero, "%.", "-")
local ancre = "r-" .. string.gsub(numero, "%.", "-")


-- Wikitext pur, pas de HTML
local texte_parse = frame:preprocess(texte)
local lien = '[[#' .. ancre .. '|§ ' .. numero .. ']]'
local sortie = lien .. ' ' .. texte


return frame:preprocess(sortie)
-- L'ancre est posée via un span SÉPARÉ du div principal
-- MediaWiki accepte les id sur les spans dans le wikitext parsé
local html = '<span id="' .. ancre .. '"></span>'
          .. '<div class="regle-item regle-niveau-' .. niveau .. '">'
          .. '<a class="regle-numero" href="#' .. ancre .. '">§&#160;' .. numero .. '</a>'
          .. '<span class="regle-texte">' .. texte_parse .. '</span>'
          .. '</div>'
 
return frame:preprocess(html)
end
end


return p
return p

Version du 22 février 2026 à 11:47

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

local _, points = string.gsub(numero, "%.", "")
local niveau = math.min(points + 1, 3)
local ancre = "r-" .. string.gsub(numero, "%.", "-")

local texte_parse = frame:preprocess(texte)

-- L'ancre est posée via un span SÉPARÉ du div principal
-- MediaWiki accepte les id sur les spans dans le wikitext parsé
local html = '<span id="' .. ancre .. '"></span>'
          .. '<div class="regle-item regle-niveau-' .. niveau .. '">'
          .. '<a class="regle-numero" href="#' .. ancre .. '">§&#160;' .. numero .. '</a>'
          .. '<span class="regle-texte">' .. texte_parse .. '</span>'
          .. '</div>'

return frame:preprocess(html)
end

return p
Les témoins (''cookies'') nous aident à fournir nos services. En utilisant nos services, vous acceptez notre utilisation de témoins.