Module:section/analyse
Apparence
Page de test : Discussion module:section/analyse/test.
La documentation de ce module est générée par le modèle {{Documentation module}}.
Elle est incluse depuis la page Module:section/analyse/Documentation. Veuillez placer les catégories sur cette page-là.
Les éditeurs peuvent travailler dans le bac à sable (créer).
Voir les statistiques d'appel depuis le wikicode sur l'outil wstat et les appels depuis d'autres modules.
b = require("Module:bases")
local titres = mw.loadData('Module:section article/data')
local types = mw.loadData('Module:types de mots/data')
local p = {}
function _get_alias(alias_table)
aliases = {}
for code, valeur in pairs(alias_table) do
if aliases[valeur] == nil then aliases[valeur]={} end -- Initialise la liste des alias pour "valeur" si elle n'existe pas encore
table.insert(aliases[valeur], code) -- Ajoute le nouvel alias correspondant à "valeur"
end
return aliases
end
function _get_niveau(niveau)
if niveau == nil then return '====' end -- Le niveau le plus profond par défaut
if niveau == 1 then return '=' end
if niveau == 2 then return '==' end
if niveau == 3 then return '===' end
if niveau == 4 then return '====' end
--if niveau == 5 then return '=====' end
return '=====' -- Le niveau le plus profond par défaut
end
function p.affiche_code_remplacement_python()
local resultat = {}
table.insert(resultat, '<pre>')
-- PARTIE "SECTIONS DE TITRES NORMAUX" (titres)
table.insert(resultat, '# Sections de titres normaux')
-- Table inversée des alias
titres_al = _get_alias(titres['alias'])
for code, t in pairs(titres['texte']) do
local alias = titres_al and titres_al[code] or {}
table.insert(alias, code) -- On ajoute le code comme alias également pour éviter les problèmes
local niveau = _get_niveau(t['niveau'])
-- Remplacement des alias par le nom standard en corrigant le niveau au passage si besoin
local replaced = table.concat(alias, '|')
local replacements = '(u"\\n[\\t ]*=*[\\t ]*\\{\\{S\\|(' .. replaced .. ')\\}\\}[\\t ]*=*[\\t ]*\\r", u"\\n' .. niveau .. ' {{S|' .. code .. '}} ' .. niveau .. '"),';
table.insert(resultat, replacements)
end
-- PARTIE "SECTIONS DE TYPES" (types)
table.insert(resultat, '\n# Sections de types')
-- Table inversée des alias
types_al = _get_alias(types['alias'])
for code, t in pairs(types['texte']) do
local alias = types_al and types_al[code] or {}
table.insert(alias, code) -- On ajoute le code comme alias également pour éviter les problèmes
-- Remplacement des alias par le nom standard en corrigant le niveau au passage si besoin
local replaced = table.concat(alias, '|')
replacements = '(u"\\n[\\t ]*=*[\\t ]*\\{\\{S\\|(' .. replaced .. ')\\|(.+?)\\}\\}[\\t ]*=*[\\t ]*\\r", u"\\n=== {{S|' .. code .. '|" + r"\\2}} ==="),';
table.insert(resultat, replacements)
end
table.insert(resultat, '</pre>')
return table.concat(resultat, "\r\n")
end
function p.affiche_code_remplacement_javascript()
local resultat = {}
table.insert(resultat, '<pre>')
-- PARTIE "SECTIONS DE TITRES NORMAUX" (titres)
table.insert(resultat, '// Sections de titres normaux')
-- Table inversée des alias
titres_al = _get_alias(titres['alias'])
for code, t in pairs(titres['texte']) do
local alias = titres_al and titres_al[code] or {}
table.insert(alias, code) -- On ajoute le code comme alias également pour éviter les problèmes
local niveau = t['niveau']
if niveau == 'tous' then
niveau = 5
end
-- On fait autant de lignes que d'alias
for i, al in pairs(alias) do
mw.log(code, i, al)
local ligne = '"' .. al .. '": {niveau: ' .. niveau .. ', nom_maj: "' .. code .. '"},'
table.insert(resultat, ligne)
end
end
-- PARTIE "SECTIONS DE TYPES" (types)
table.insert(resultat, '\n// Sections de types')
-- Table inversée des alias
types_al = _get_alias(types['alias'])
for code, t in pairs(types['texte']) do
local alias = types_al and types_al[code] or {}
table.insert(alias, code) -- On ajoute le code comme alias également pour éviter les problèmes
-- On fait autant de lignes que d'alias
for i, al in pairs(alias) do
local ligne = '"' .. al .. '": { niveau: ' .. 3 .. ', nom_maj: "' .. code .. '", hasCode:1},'
table.insert(resultat, ligne)
end
end
table.insert(resultat, '</pre>')
return table.concat(resultat, "\r\n")
end
function p.affiche_regex_pour_dump()
-- ébauche
local res = {}
table.insert(res, '1. Titres et alias de niveau 4\n\n')
titres_al = _get_alias(titres['alias'])
for code, t in pairs(titres['texte']) do
local alias = titres_al and titres_al[code] or {}
table.insert(alias, code)
local replaced = table.concat(alias, '|') .. '|'
if t['niveau'] == 4 then
table.insert(res, replaced)
end
end
local res_str = table.concat(res, '')
return string.sub( res_str, 1, string.len( res_str )-1 )
end
return p