Module:Prime limit navigation
Jump to navigation
Jump to search
Note: Do not invoke this module directly; use the corresponding template instead: Template:Prime limit navigation.
This module generates the navigation bar for prime limit pages.
local p = {}
local yesno = require("Module:Yesno")
local PRIME_LIST = {2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127}
local function table_index(t, v)
for i, ti in ipairs (t) do
if v == ti then
return i
end
end
return nil
end
function p.prime_limit_navigation(frame)
local i = table_index(PRIME_LIST, tonumber (frame.args['limit']))
local entry_prev, entry_curr, entry_next, out_elem = "", "", "", ""
if PRIME_LIST[i] then
entry_curr = string.format("[[%d-limit]]", PRIME_LIST[i])
if PRIME_LIST[i - 1] then
entry_prev = string.format("<span style=\"font-size: 0.8em;\">"
.. "[[%d-limit|'''←''' %d-limit]]"
.. "</span> ", PRIME_LIST[i - 1], PRIME_LIST[i - 1])
else
entry_prev = ""
end
if PRIME_LIST[i + 1] then
entry_next = string.format(" <span style=\"font-size: 0.8em;\">"
.. "[[%d-limit|%d-limit '''→''']]"
.. "</span>", PRIME_LIST[i + 1], PRIME_LIST[i + 1])
else
entry_next = ""
end
end
local result = "<div class=\"toccolours\" style=\"float: right; margin: 0px 0px 4px 4px;\">\n"
.. "{{centre|'''[[Prime limit]]'''}}\n"
.. "<hr />\n"
.. string.format("%s%s%s\n", entry_prev, entry_curr, entry_next)
.. "</div>"
if yesno(frame.args["debug"]) == true then
result = "<syntaxhighlight lang=\"wikitext\">" .. result .. "</syntaxhighlight>"
end
return frame:preprocess(result)
end
return p