Modul:Homokozó/Bean49/homokozó/Modul:Archívum nav
Megjelenés
Homokozó/Bean49/homokozó/Modul:Archívum nav[mi ez?] • [dokumentáció: mutat, ] • [tesztek: létrehozás]
require('strict')
local p = {}
local getArgs = require('Modul:Arguments').getArgs
function p.main(frame)
local args = getArgs(frame)
local title = args[1] or tostring(mw.title.getCurrentTitle())
local prefix, n = title:match('(.-[Aa]rchív.-)(%d+)$')
if not n then
return nil
end
local pattern = '%0' .. n:len() .. 'd'
n = tonumber(n)
local m = n + 6
local prevTarget = prefix .. pattern:format(n - 1)
local nextTarget = prefix .. pattern:format(n + 1)
local i = n + 1
title = mw.title.new(prefix .. pattern:format(i))
while i < m and title.exists do
n = i
i = i + 1
title = mw.title.new(prefix .. pattern:format(i))
end
m = math.max(0, n - 11)
local pages = ''
while n > m do
pages = '[[' .. prefix .. pattern:format(n) .. '|' .. n .. ']] ' .. pages
n = n - 1
end
return ([=[<hr><div style="display:flex">
<div style="width:14ch">[[%s|« előző]]</div>
<div style="width:100%%; text-align:center">%s</div>
<div style="width:14ch; text-align:right">[[%s|következő »]]</div>
</div>]=]):format(prevTarget, pages, nextTarget)
end
return p