Difference between revisions 40080 and 40084 on test2wiki

-- This is a test of scribbling. Using Italian templates from en.wiktionary.
-- Owner SemperBlotto
local p = {}

function p.itadj(frame)
    local pframe = frame:getParent()
    local args = pframe.args
    local stem = args[1] or error("1st parameter (stem of adjective) missing!")
(contracted; show full)function p.itconj(frame)
-- This function builds pretty tables for Italian verb conjugation.
-- It is called by other templates/functions for regular verbs, and called directly for some irregular ones.
    local pframe = frame:getParent()
    local args = pframe.args
    local inf = args["inf"] or error("Infinitive missing!")
    local aux = args["aux"] or "avere"

-- Get all the inflected forms and their alternative forms (at least 1 alt each)
    local ger = args["ger"]
    local ger2 = args["ger2"]
    ger = p.alts(ger, ger2)
    local presp = args["presp"]
    local presp2 = args["presp2"]
    presp = p.alts(presp, presp2)
    local pastp = args["pastp"]
    local pastp2 = args["pastp2"]; local pastp3 = args["pastp3"]; local pastp3 = args["pastp3"]; local pastp4 = args["pastp4"]
    pastp = p.alts(pastp, pastp2)
    pastp = p.alts(pastp, pastp3)
    pastp = p.alts(pastp, pastp4)
    local pres1s = args["pres1s"]; local pres2s = args["pres2s"]; local pres3s = args["pres3s"]
    local pres1p = args["pres1p"]; local pres2p = args["pres2p"]; local pres3p = args["pres3p"]
    local pres1s2 = args["pres1s2"]; local pres2s2 = args["pres2s2"]; local pres2s2 = args["pres2s2"]
    local pres1p2 = args["pres1p2"]; local pres2p2 = args["pres2p2"]; local pres3p2 = args["pres3p2"]    
    pres1s = p.alts(pres1s, pres1s2); pres2s = p.alts(pres2s, pres2s2); pres3s = p.alts(pres3s, pres3s2) 
    pres1p = p.alts(pres1p, pres1p2); pres2p = p.alts(pres2p, pres2p2); pres3p = p.alts(pres3p, pres3p2)     

-- See if reflexive
    local mi = args["mi"]; local ti = args["ti"]; local si = args["si"]; local ci = args["ci"]; local vi = args["vi"]; 
-- Start to build pretty table
    local conj = '<div class="NavFrame">\n'
    conj = conj .. '<div class="NavHead" align=left>&nbsp; &nbsp; Conjugation of ' .. inf .. '</div>\n'
    conj = conj .. '<div class="NavContent">\n'
    conj = conj .. '{| style="background:#F0F0F0;border-collapse:separate;border-spacing:2px" class="inflection-table"\n'
    conj = conj .. '|-\n'
(contracted; show full)
    conj = conj .. '! style="background:#c0cfe4" | lui/lei\n'
    conj = conj .. '! style="background:#c0cfe4" | noi\n'
    conj = conj .. '! style="background:#c0cfe4" | voi\n'
    conj = conj .. '! style="background:#c0cfe4" | essi/esse\n|-\n'
    conj = conj .. '! style="height:3em;background:#c0cfe4" colspan="1" | present\n'
    conj = conj .. '|[[' ..
 mi .. pres1s .. ']]\n|[[' .. pres2s .. ']]\n|[[' .. pres3s .. ']]\n|[[' .. pres1p .. ']]\n|[[' .. pres2p .. ']]\n|[[' .. pres3p .. ']]\n'
    conj = conj .. '|-\n'    
    
    conj = conj .. '|}</div></div>'
    return conj
    
end

return p