Module:Prime limit navigation: Difference between revisions
Jump to navigation
Jump to search
ArrowHead294 (talk | contribs) m 75% seems a little too small |
m Fix |
||
| (7 intermediate revisions by 2 users not shown) | |||
| Line 1: | Line 1: | ||
local p = {} | local p = {} | ||
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} | 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) | local function table_index(t, v) | ||
for i, ti in ipairs (t) do | for i, ti in ipairs (t) do | ||
if v == ti then | if v == ti then | ||
| Line 14: | Line 15: | ||
function p.prime_limit_navigation(frame) | function p.prime_limit_navigation(frame) | ||
local i = table_index(PRIME_LIST, tonumber (frame.args['limit'])) | local i = table_index(PRIME_LIST, tonumber (frame.args['limit'])) | ||
local entry_prev, entry_curr, entry_next | local entry_prev, entry_curr, entry_next = "", "", "" | ||
if PRIME_LIST[i] then | if PRIME_LIST[i] then | ||
entry_curr = "[[" | entry_curr = string.format("[[%d-limit]]", PRIME_LIST[i]) | ||
if PRIME_LIST[i - 1] then | if PRIME_LIST[i - 1] then | ||
entry_prev = "<span style=\"font-size: 0.8em;\"> | entry_prev = string.format("<span style=\"font-size: 0.8em;\">" | ||
.. "[[%d-limit|'''←''' %d-limit]]" | |||
.. "</span> ", PRIME_LIST[i - 1], PRIME_LIST[i - 1]) | |||
else | else | ||
entry_prev = "" | entry_prev = "" | ||
end | end | ||
if PRIME_LIST[ i+ 1] then | if PRIME_LIST[i + 1] then | ||
entry_next = " <span style=\"font-size: 0.8em;\"> | entry_next = string.format(" <span style=\"font-size: 0.8em;\">" | ||
.. "[[%d-limit|%d-limit '''→''']]" | |||
.. "</span>", PRIME_LIST[i + 1], PRIME_LIST[i + 1]) | |||
else | else | ||
entry_next = "" | entry_next = "" | ||
| Line 29: | Line 35: | ||
end | end | ||
local result = "<div class=\"toccolours\" style=\"float: right; margin: 0px 0px 4px 4px;\">\n" | |||
"< | .. "{{centre|'''[[Prime limit]]'''}}\n" | ||
"< | .. "----\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 | |||
function p.odd_limit_navigation(frame) | |||
local limit = tonumber (frame.args['limit']) | |||
local entry_prev, entry_curr, entry_next = "", "", "", "" | |||
if limit > 0 and limit % 2 == 1 then | |||
entry_curr = string.format("[[%d-odd-limit]]", limit) | |||
limit_prev = limit - 2 | |||
if limit_prev > 0 then | |||
entry_prev = string.format("<span style=\"font-size: 0.8em;\">" | |||
.. "[[%d-odd-limit|'''←''' %d-odd-limit]]" | |||
.. "</span> ", limit_prev, limit_prev) | |||
else | |||
entry_prev = "" | |||
end | |||
limit_next = limit + 2 | |||
if limit_next > 0 then | |||
entry_next = string.format(" <span style=\"font-size: 0.8em;\">" | |||
.. "[[%d-odd-limit|%d-odd-limit '''→''']]" | |||
.. "</span>", limit_next, limit_next) | |||
else | |||
entry_next = "" | |||
end | |||
end | |||
local result = "<div class=\"toccolours\" style=\"float: right; margin: 0px 0px 4px 4px;\">\n" | |||
.. "{{centre|'''[[Odd limit]]'''}}\n" | |||
.. "----\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 | return frame:preprocess(result) | ||
end | end | ||
return p | return p | ||
Latest revision as of 15:14, 23 September 2025
- This module should not be invoked directly; use its corresponding templates instead: Template:Prime limit navigation and Template:Odd limit navigation.
This module generates the navigation bars for prime limit and odd limit pages.
| Introspection summary for Module:Prime limit navigation | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
| |||||||||||||||
No function descriptions were provided. The Lua code may have further information.
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 = "", "", ""
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"
.. "----\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
function p.odd_limit_navigation(frame)
local limit = tonumber (frame.args['limit'])
local entry_prev, entry_curr, entry_next = "", "", "", ""
if limit > 0 and limit % 2 == 1 then
entry_curr = string.format("[[%d-odd-limit]]", limit)
limit_prev = limit - 2
if limit_prev > 0 then
entry_prev = string.format("<span style=\"font-size: 0.8em;\">"
.. "[[%d-odd-limit|'''←''' %d-odd-limit]]"
.. "</span> ", limit_prev, limit_prev)
else
entry_prev = ""
end
limit_next = limit + 2
if limit_next > 0 then
entry_next = string.format(" <span style=\"font-size: 0.8em;\">"
.. "[[%d-odd-limit|%d-odd-limit '''→''']]"
.. "</span>", limit_next, limit_next)
else
entry_next = ""
end
end
local result = "<div class=\"toccolours\" style=\"float: right; margin: 0px 0px 4px 4px;\">\n"
.. "{{centre|'''[[Odd limit]]'''}}\n"
.. "----\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