Module:Infobox interval region: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 34: | Line 34: | ||
}) | }) | ||
Line 72: | Line 61: | ||
end | end | ||
table.insert(data, { | table.insert(data, { | ||
string.format("<div style=\"margin-top: 0.6em;\"><b>%s</b></div>", " | string.format("<div style=\"margin-top: 0.6em;\"><b>%s</b></div>", "JI intervals") | ||
}) | }) | ||
if ji3 ~= nil and ji3 ~= "" then | |||
table.insert(data, { | |||
"3-limit", | |||
ji3 | |||
}) | |||
end | |||
if ji5 ~= nil and ji5 ~= "" then | |||
table.insert(data, { | |||
"5-limit", | |||
ji5 | |||
}) | |||
end | |||
if ji7 ~= nil and ji7 ~= "" then | |||
table.insert(data, { | |||
"7-limit", | |||
ji7 | |||
}) | |||
end | |||
if ji11 ~= nil and ji11 ~= "" then | |||
table.insert(data, { | |||
"11-limit", | |||
ji11 | |||
}) | |||
end | |||
if ji13 ~= nil and ji13 ~= "" then | |||
table.insert(data, { | |||
"13-limit", | |||
ji13 | |||
}) | |||
end | |||
table.insert(data, { | |||
string.format("<div style=\"margin-top: 0.6em;\"><b>%s</b></div>", "Scale info") | |||
}) | |||
if moses ~= nil and moses ~= "" then | |||
table.insert(data, { | |||
"[[MOS]]es", | |||
moses | |||
}) | |||
end | |||
if equave == nil or equave == "" then | |||
table.insert(data, { | |||
"Equave", | |||
"[[" .. equave .. "]]" | |||
}) | |||
else | |||
table.insert(data, { | |||
"Equave", | |||
"[[2/1]]" | |||
}) | |||
end | |||
local result = infobox.build( | local result = infobox.build( | ||
"Interval region", | "Interval region", | ||
data | data | ||
) | ) | ||
return frame:preprocess(debugg == true and "<pre>" .. result .. "</pre>" or result) | return frame:preprocess(debugg == true and "<pre>" .. result .. "</pre>" or result) |
Revision as of 04:44, 14 March 2025
Documentation for this module may be created at Module:Infobox interval region/doc
-- EXTREMELY WIP
local p = {}
local u = require("Module:Utils")
local infobox = require("Module:Infobox")
local yesno = require("Module:Yesno")
function p.concatenate_tables(t1, t2)
for i=1, #t2 do
t1[#t1 + 1] = t2[i]
end
end
function p.infobox_IR(frame)
local name = frame.args["regionname"]
local complement = frame.args["complement"]
local centslower = frame.args["centsLowerWide"]
local centsupper = frame.args["centsUpperWide"]
local centslowerStrict = frame.args["centsLower"]
local centsupperStrict = frame.args["centsUpper"]
local equave = frame.args["equave"]
local ji3 = frame.args["ji3"]
local ji5 = frame.args["ji5"]
local ji7 = frame.args["ji7"]
local ji11 = frame.args["ji11"]
local ji13 = frame.args["ji13"]
local moses = frame.args["MOSes"]
local data = {}
table.insert(data, {
"Name",
name
})
if centslower == nil or centslower == "" then
table.insert(data, {
"Lower bound",
centslowerStrict .. "¢"
})
else
table.insert(data, {
"Lower bound",
centslower .. "¢ - " .. centslowerStrict .. "¢"
})
end
if centsupper == nil or centsupper == "" then
table.insert(data, {
"Upper bound",
centsupperStrict .. "¢"
})
else
table.insert(data, {
"Upper bound",
centsupperStrict .. "¢ - " .. centsupper .. "¢"
})
end
table.insert(data, {
string.format("<div style=\"margin-top: 0.6em;\"><b>%s</b></div>", "JI intervals")
})
if ji3 ~= nil and ji3 ~= "" then
table.insert(data, {
"3-limit",
ji3
})
end
if ji5 ~= nil and ji5 ~= "" then
table.insert(data, {
"5-limit",
ji5
})
end
if ji7 ~= nil and ji7 ~= "" then
table.insert(data, {
"7-limit",
ji7
})
end
if ji11 ~= nil and ji11 ~= "" then
table.insert(data, {
"11-limit",
ji11
})
end
if ji13 ~= nil and ji13 ~= "" then
table.insert(data, {
"13-limit",
ji13
})
end
table.insert(data, {
string.format("<div style=\"margin-top: 0.6em;\"><b>%s</b></div>", "Scale info")
})
if moses ~= nil and moses ~= "" then
table.insert(data, {
"[[MOS]]es",
moses
})
end
if equave == nil or equave == "" then
table.insert(data, {
"Equave",
"[[" .. equave .. "]]"
})
else
table.insert(data, {
"Equave",
"[[2/1]]"
})
end
local result = infobox.build(
"Interval region",
data
)
return frame:preprocess(debugg == true and "<pre>" .. result .. "</pre>" or result)
end
return p