Module:fr-conj/beta
Apparence
La documentation pour ce module peut être créée à Module:fr-conj/beta/Documentation
local p = {}
function _temps_impersonnels(frame)
local args = frame.args
-- Définition des parties du tableau
local newrow = "|-"
local entete = [==[
{| class="fr-conj wikitable"
|-
! width="8%" | [[mode|Mode]]
! width="42%" colspan="3" | [[présent|Présent]]
! width="50%" colspan="3" | [[passé|Passé]]
|- align="center"]==]
local cloture = "\n|}"
-- Création du tableau lui-même
local tableau = {entete}
-- Préparation de l'auxiliaire
local auxiliaire = args['auxiliaire'] or '(auxiliaire manquant)'
local aux_pron = auxiliaire == 'avoir' and 'a.vwa' or 'ɛtʁ'
-- Ajout de l'infinitif
table.insert(tableau, _fait_ligne_entete("[[infinitif|Infinitif]]", "8%"))
-- Présent de l'infinitif
table.insert(tableau, _fait_ligne("", "4.5%", "right"))
table.insert(tableau, _fait_ligne(args['infinitif'] or '(infinitif manquant)', "12.5%", "left"))
table.insert(tableau, _fait_ligne(frame:preprocess("{{pron|{{{infinitif.pron|}}}|fr}}"), "25%"))
-- Participe passé de l'infinitif
table.insert(tableau, _fait_ligne(auxiliaire .. " ", "15%", "right"))
table.insert(tableau, _fait_ligne(args['participe_passé'] or '(participe passé manquant)', "15%", "left"))
table.insert(tableau, _fait_ligne(args['participe_passé.pron'] and args['participe_passé.pron'] or '(prononciation du participe passé manquante)' , "25%"))
local tableau_imprimable = table.concat(tableau, "\n")
return tableau_imprimable
end
function _fait_ligne(texte, width, align, entete)
local lignet = {}
table.insert(lignet, entete and '!' or '|')
if width ~= nil then table.insert(lignet, 'width="' .. width .. '"') end
if align ~= nil then table.insert(lignet, 'align="' .. align .. '"') end
table.insert(lignet, '|')
if texte ~= nil then table.insert(lignet, texte) end
return table.concat(lignet, ' ')
end
function _fait_ligne_entete(texte, width, align)
return _fait_ligne(texte, width, align, true)
end
-- Pour un modèle. Récupère les paramètres du modèle et renvoie la liste formatée, mais sans bandeau.
function p.print_conjugaison(frame)
return _temps_impersonnels(frame)
end
return p