-- Exemple d'utilisation
--
{{#invoke:el-décl-adj|kalos|γνωστ}}
--
local p = {}
local entete = [==[
|-
!scope="col" rowspan="2"| ]
!scope="row" colspan="6"| ]
|-
!scope="col" class="sous-titre"| ]
!scope="col" class="sous-titre"| ]
!scope="col" class="sous-titre"| ] ]==]
function lien_couleur(r, desinence)
local des_couleur = '<font style="color:DeepPink">' .. desinence .. '</span>'
return "]"
end
function tableau(r, desinences)
local genres = {"m", "f", "n"}
local cas = {"nominatif", "génitif", "accusatif", "vocatif"}
local lignes = {}
table.insert(lignes, '{| class="flextable"')
local e = string.gsub(entete, "NOMBRE", "singulier")
table.insert(lignes, e)
for i, c in ipairs(cas) do
-- en-tête à gauche
table.insert(lignes, '|-')
table.insert(lignes, '!scope="row" class="sous-titre"| ]')
-- les 3 formes
for _, genre in ipairs(genres) do
table.insert(lignes, '|class="colle-gauche"| ' .. lien_couleur(r, desinences.sg))
end
end
local e = string.gsub(entete, "NOMBRE", "singulier")
table.insert(lignes, e)
for i, c in ipairs(cas) do
-- en-tête à gauche
table.insert(lignes, '|-')
table.insert(lignes, '!scope="row" class="sous-titre"| ]')
-- les 3 formes
for _, genre in ipairs(genres) do
table.insert(lignes, '|class="colle-gauche"| ' .. lien_couleur(r, desinences.pl))
end
end
return table.concat(lignes, "\n") .. "\n|}"
end
function p.kalos(frame)
local r = frame.args
local desinences = {
m = {sg = {"ός", "ού", "ό", "έ"},
pl = {"οί", "ών", "ούς", "οί"}},
f = {sg = {"ή", "ής", "ή", "ή"},
pl = {"ές", "ών", "ές", "ές"}},
n = {sg = {"ό", "ού", "ό", "ό"},
pl = {"ά", "ών", "ά", "ά"}},
}
return tableau(r, desinences)
end
return p
--