Module:Navbar: Difference between revisions
Jump to navigation
Jump to search
ArrowHead294 (talk | contribs) mNo edit summary |
ArrowHead294 (talk | contribs) mNo edit summary |
||
| Line 3: | Line 3: | ||
local p = {} | local p = {} | ||
function p._navbar(name, mode, text) | function p._navbar(name, namespace, mode, text) | ||
mode = mode or "" | mode = mode or "" | ||
text = text .. " " or "" | text = text .. " " or "" | ||
namespace = namespace or "Template:" | |||
return "<span style=\"font-size: 0.8em;\">" | return "<span style=\"font-size: 0.8em;\">" | ||
.. text | .. text | ||
.. "[[ | .. "[[" .. namespace .. name .. "|" .. ((mode == "mini") and "V" or "View") .. "]] • " | ||
.. "[[ | .. "[[" .. namespace .. name .. "|" .. ((mode == "mini") and "T" or "Talk") .. "]] • " | ||
.. "[[Special:EditPage/ | .. "[[Special:EditPage/" .. namespace .. name .. "|" .. ((mode == "mini") and "E" or "Edit") .. "]]" | ||
.. "</span>" | .. "</span>" | ||
end | end | ||
| Line 17: | Line 18: | ||
function p.navbar(frame) | function p.navbar(frame) | ||
local name = frame.args["name"] | local name = frame.args["name"] | ||
local namespace = frame.args["namespace"] | |||
local mode = frame.args["mode"] | local mode = frame.args["mode"] | ||
local text = frame.args["text"] | local text = frame.args["text"] | ||
return p._navbar(name, mode, text) | return p._navbar(name, namespace, mode, text) | ||
end | end | ||
Revision as of 18:33, 4 December 2024
- This module implements a metatemplate, and may be invoked by templates using its corresponding template Template:Navbar, or used directly from other modules.
This module is used by Template:Navbar to generate View/Talk/Edit links on templates.
To include this module in other modules, use local navbar = require("Module:Navbar")._navbar.
| Introspection summary for Module:Navbar | ||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
| |||||||||||||||||||||
No function descriptions were provided. The Lua code may have further information.
local ordinal = require("Module:Ordinal")._ordinal
local p = {}
function p._navbar(name, namespace, mode, text)
mode = mode or ""
text = text .. " " or ""
namespace = namespace or "Template:"
return "<span style=\"font-size: 0.8em;\">"
.. text
.. "[[" .. namespace .. name .. "|" .. ((mode == "mini") and "V" or "View") .. "]] • "
.. "[[" .. namespace .. name .. "|" .. ((mode == "mini") and "T" or "Talk") .. "]] • "
.. "[[Special:EditPage/" .. namespace .. name .. "|" .. ((mode == "mini") and "E" or "Edit") .. "]]"
.. "</span>"
end
function p.navbar(frame)
local name = frame.args["name"]
local namespace = frame.args["namespace"]
local mode = frame.args["mode"]
local text = frame.args["text"]
return p._navbar(name, namespace, mode, text)
end
function p.lumatone_map(frame)
local root_page_name = frame:preprocess("{{ROOTPAGENAME}}")
local a = root_page_name:match("[Ll]umatone%s*[Mm]apping%s*[Ff]or%s*(%d+)%s*[Ee][Dd][2Oo]")
local x = tonumber(frame.args["edo"]) or tonumber(a)
local thresh = 5
local out_str = frame:preprocess("<br />{{Navbox"
.. "|name=Navbox Lumatone"
.. "|Title=[[Lumatone|Lumatone mappings]]"
.. "|Data 1={{center|"
.. ((x >= thresh + 4) and "'''←''' " or "")
.. ((x >= thresh + 3) and "[[Lumatone mapping for " .. (x - 3) .. "edo|" .. (x - 3) .. "edo]] • " or "")
.. ((x >= thresh + 2) and "[[Lumatone mapping for " .. (x - 2) .. "edo|" .. (x - 2) .. "edo]] • " or "")
.. ((x >= thresh + 1) and "[[Lumatone mapping for " .. (x - 1) .. "edo|" .. (x - 1) .. "edo]] • " or "")
.. "'''Lumatone mapping for " .. x .. "edo''' • "
.. "[[Lumatone mapping for " .. (x + 1) .. "edo|" .. (x + 1) .. "edo]] • "
.. "[[Lumatone mapping for " .. (x + 2) .. "edo|" .. (x + 2) .. "edo]] • "
.. "[[Lumatone mapping for " .. (x + 3) .. "edo|" .. (x + 3) .. "edo]] '''→'''</div></div>}}"
.. "}}")
if string.lower(root_page_name) ~= "lumatone mapping navigation" then
out_str = out_str .. " [[Category:Lumatone mappings]] [[Category:" .. x .. "edo]]"
end
return out_str
end
function p.frac_octave(frame)
local root_page_name = frame:preprocess("{{ROOTPAGENAME}}")
local a = root_page_name:match("(%d+)%a+[%s%-]*[Oo]ctave%s*[Tt]emperament[s]?")
local x = tonumber(frame.args["f"]) or tonumber(a)
local out_str = frame:preprocess("<br />{{Navbox"
.. "|name=Navbox fractional-octave"
.. "|Title=[[Fractional-octave temperaments]]"
.. "|Data 1={{center|"
.. ((x >= 5) and "'''←''' " or "")
.. ((x >= 4) and "[[" .. ordinal(x - 3) .. "-octave temperaments|" .. ordinal(x - 3) .. "]] • " or "")
.. ((x >= 3) and "[[" .. ordinal(x - 2) .. "-octave temperaments|" .. ordinal(x - 2) .. "]] • " or "")
.. ((x >= 2) and "[[" .. ordinal(x - 1) .. "-octave temperaments|" .. ordinal(x - 1) .. "]] • " or "")
.. "'''" .. ordinal(x) .. "-octave''' • "
.. "[[" .. ordinal(x + 1) .. "-octave temperaments|" .. ordinal(x + 1) .. "]] • "
.. "[[" .. ordinal(x + 2) .. "-octave temperaments|" .. ordinal(x + 2) .. "]] • "
.. "[[" .. ordinal(x + 3) .. "-octave temperaments|" .. ordinal(x + 3) .. "]] '''→'''</div></div>}}"
.. "}}")
return out_str
end
return p