Module:Règle
De Nefald
Autres actions
La documentation pour ce module peut être créée à Module:Règle/doc
local p = {}
local function makeAncre(numero)
return "r-" .. string.gsub(numero, "%.", "-")
end
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 = makeAncre(numero)
local lien = '[[#' .. ancre .. '|§ ' .. numero .. ']]'
local sortie = '<span id="' .. ancre .. '"></span>' .. lien .. ' ' .. texte
return frame:preprocess(sortie)
end
function p.rref(frame)
local args = frame:getParent().args
local numero = mw.text.trim(args[1] or "")
local page = mw.text.trim(args["page"] or "")
if numero == "" then return "" end
local ancre = makeAncre(numero)
local label = '§ ' .. numero
local lien
if page ~= "" then
-- Lien vers une autre page
lien = '[[' .. page .. '#' .. ancre .. '|' .. label .. ']]'
else
-- Lien vers la page courante
lien = '[[#' .. ancre .. '|' .. label .. ']]'
end
return frame:preprocess(lien)
end
return p