This is a private module sandbox of ObnoxiousCoder, for their own experimentation. Items in this module may be added and removed at ObnoxiousCoder's discretion; do not rely on this module's stability.
return function (first, meta)
local nom, act, mid
local top =
'\n{| class="inflection-table vsSwitcher autocollapsed" data-toggle-category="inflection" style="background:#FF; text-align:center; border: 0.5px solid #CCC;"'..
'\n|- style="background: #{{{color1|ebd9ff}}}"'..
'\n! class="vsToggleElement" style="text-align: center; width:20em" colspan="4" |'..meta.title..
'\n|-'..
'\n! class="vsHide" style="background-color:#ebd9ff; text-align: center;" colspan="4" |'..meta.class
local bottom =
'\n|- class="vsHide"'..
'\n| style="font-size:85%; text-align:left" colspan="5" |'..(meta.note or '')..
'\n|}'
if first.nom then
nom =
'\n|- class="vsHide"'..
'\n! style="background-color:#f7efff; min-width: 7em" | Infinitive'..
'\n| style="background-color:#ffffff; font-size: 100%;" |'..first.nom.inf..
'\n|- class="vsHide"'..
'\n! style="background-color:#f7efff; min-width: 5em". | Participle'..
'\n| style="background-color:#ffffff; font-size: 100%;" |'..first.nom.part..
'\n|- class="vsHide"'..
'\n! style="background-color:#f7efff; min-width: 5em" | Noun'..
'\n| style="background-color:#ffffff; font-size: 100%;" |'..first.nom.noun..
'\n|- class="vsHide"'..
'\n! style="background-color:#f7efff; min-width: 5em" | Supine'..
'\n| style="background-color:#ffffff; font-size: 100%;" |'..first.nom.su
end
if first.act then
act =
'\n|- class="vsHide"'..
'\n! style="background-color:#ebd9ff; min-width: 5em" |Active'..
'\n! style="background-color:#ebd9ff; min-width: 12em" |Present'..
'\n! style="background-color:#ebd9ff; min-width: 12em" |Aorist'..
'\n! style="background-color:#ebd9ff; min-width: 12em" |Imperative'..
'\n|- class="vsHide"'..
'\n! style="background-color:#f7efff" | 1.sg'..
'\n| style="background-color:#ffffff" |'..first.act.pre..
'\n| style="background-color:#ffffff" |'..first.act.aor..
'\n| style="background-color:#ffffff" |'..first.act.imp..
'\n|- class="vsHide"'..
'\n! style="background-color:#f7efff" | 2.sg'..
'\n| style="background-color:#ffffff" |'..first.act.pre..
'\n| style="background-color:#ffffff" |'..first.act.aor..
'\n| style="background-color:#ffffff" |'..first.act.imp..
'\n|- class="vsHide"'..
'\n! style="background-color:#f7efff" | 3.sg'..
'\n| style="background-color:#ffffff" |'..first.act.pre..
'\n| style="background-color:#ffffff" |'..first.act.aor..
'\n| style="background-color:#ffffff" |'..first.act.imp..
'\n|- class="vsHide"'..
'\n! style="background-color:#f7efff" | 1.pl'..
'\n| style="background-color:#ffffff" |'..first.act.pre..
'\n| style="background-color:#ffffff" |'..first.act.aor..
'\n| style="background-color:#ffffff" |'..first.act.imp..
'\n|- class="vsHide"'..
'\n! style="background-color:#f7efff" | 2.pl'..
'\n| style="background-color:#ffffff" |'..first.act.pre..
'\n| style="background-color:#ffffff" |'..first.act.aor..
'\n| style="background-color:#ffffff" |'..first.act.imp..
'\n|- class="vsHide"'..
'\n! style="background-color:#f7efff" | 3.pl'..
'\n| style="background-color:#ffffff" |'..first.act.pre..
'\n| style="background-color:#ffffff" |'..first.act.aor..
'\n| style="background-color:#ffffff" |'..first.act.imp
end
if first.mid then
mid =
'\n|- class="vsHide"'..
'\n! style="background-color:#ebd9ff; min-width: 5em" |Middle'..
'\n! style="background-color:#ebd9ff; min-width: 12em" |Present'..
'\n! style="background-color:#ebd9ff; min-width: 12em" |Aorist'..
'\n! style="background-color:#ebd9ff; min-width: 12em" |Imperative'..
'\n|- class="vsHide"'..
'\n! style="background-color:#f7efff" | 1.sg'..
'\n| style="background-color:#ffffff" |'..first.mid.pre..
'\n| style="background-color:#ffffff" |'..first.mid.aor..
'\n| style="background-color:#ffffff" |'..first.mid.imp..
'\n|- class="vsHide"'..
'\n! style="background-color:#f7efff" | 2.sg'..
'\n| style="background-color:#ffffff" |'..first.mid.pre..
'\n| style="background-color:#ffffff" |'..first.mid.aor..
'\n| style="background-color:#ffffff" |'..first.mid.imp..
'\n|- class="vsHide"'..
'\n! style="background-color:#f7efff" | 3.sg'..
'\n| style="background-color:#ffffff" |'..first.mid.pre..
'\n| style="background-color:#ffffff" |'..first.mid.aor..
'\n| style="background-color:#ffffff" |'..first.mid.imp..
'\n|- class="vsHide"'..
'\n! style="background-color:#f7efff" | 1.pl'..
'\n| style="background-color:#ffffff" |'..first.mid.pre..
'\n| style="background-color:#ffffff" |'..first.mid.aor..
'\n| style="background-color:#ffffff" |'..first.mid.imp..
'\n|- class="vsHide"'..
'\n! style="background-color:#f7efff" | 2.pl'..
'\n| style="background-color:#ffffff" |'..first.act.pre..
'\n| style="background-color:#ffffff" |'..first.act.aor..
'\n| style="background-color:#ffffff" |'..first.act.imp..
'\n|- class="vsHide"'..
'\n! style="background-color:#f7efff" | 3.pl'..
'\n| style="background-color:#ffffff" |'..first.act.pre..
'\n| style="background-color:#ffffff" |'..first.act.aor..
'\n| style="background-color:#ffffff" |'..first.act.imp
end
return (top..(nom or '')..(act or '')..(mid or '')..bottom)
end