Difference between revisions 40125 and 40126 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 = p.wiki(args["ger"])
    local ger2 = p.wiki(args["ger2"])
    ger = p.alts(ger, ger2)
    local presp = p.wiki(args["presp"])
    local presp2 = p.wiki(args["presp2"])
    presp = p.alts(presp, presp2)
(contracted; show full)
    local imperf1p2 = p.wiki(args["imperf1p2"]); local imperf2p2 = p.wiki(args["imperf2p2"]); local imperf3p2 = p.wiki(args["imperf3p2"])
    imperf1s = p.alts(imperf1s, imperf1s2); imperf2s = p.alts(imperf2s, imperf2s2); imperf3s = p.alts(imperf3s, imperf3s2)
    imperf1p = p.alts(imperf1p, imperf1p2); imperf2p = p.alts(imperf2p, imperf2p2); imperf3p = p.alts(imperf3p, imperf3p2)
    
local prem1s = p.wiki(args["prem1s"]); local prem2s = p.wiki(args["prem2s"]); local prem3s = p.wiki(args["prem3s"])
    local prem1p = p.wiki(args["prem1p"]); local prem2p = p.wiki(args["prem2p"]); local prem3p = p.wiki(args["prem3p"])
    prem1s = p.alts(prem1s, prem1s2); prem2s = p.alts(prem2s, prem2s2); prem3s = p.alts(prem3s, prem3s2)
    prem1p = p.alts(prem1p, prem1p2); prem2s = p.alts(prem2p, prem2p2); prem3p = p.alts(prem3p, prem3p2)

-- See if reflexive
    local mi = args["mi"] or " "; local ti = args["ti"] or " "; local si = args["si"] or " "; local ci = args["ci"] or " "; local vi = args["vi"] or " " 
    if mi ~= nil then mi = mi .. " "; ti = ti .." "; si = si .. " "; ci = ci .. " "; vi = vi .. " "; end
-- Start to build pretty table
(contracted; show full)
    conj = conj .. '|-\n! style="height:3em;background:#c0cfe4" colspan="1" | imperfect\n'
    conj = conj .. '|' .. mi .. imperf1s .. '\n|' .. ti .. imperf2s .. '\n|' .. si .. imperf3s .. '\n|' .. ci .. imperf1p .. '\n|' .. vi .. imperf2p .. '\n|' .. si .. imperf3p .. '\n'    

    conj = conj .. '|-\n! style="height:3em;background:#c0cfe4" colspan="1" | past historic\n'
    conj = conj .. '|' .. mi .. prem1s .. '\n|' .. ti .. prem2s .. '\n|' .. si .. prem3s .. '\n|' .. ci .. prem1p .. '\n|' .. vi .. prem2p .. '\n|' .. si .. prem3p .. '\n'
    
    conj = conj .. '|-\n'    
    
    conj = conj .. '|}</div></div>'
    return conj
    
end

return p