Модул:Аромъне
Облик
Този модул се използва в {{Аромъне}}.
{{#invoke:Аромъне|get_link|227}}
--> http://macedonia.kroraina.com/gva/gva_6.htm
local p = {}
local link_prefix = 'http://macedonia.kroraina.com/gva/gva_'
local link_suffix = '.htm'
-- The values are the URL elements between the link_prefix and the link suffix.
-- Each key represents the _last_ page from the book that the corresponding web
-- page includes in it. For example, page 227 can be found online at the URL
-- "link_prefix .. '6' ... linux_suffix" because 227 > 213, which is the last
-- page included in '5', but < 243, which is the last page included in '6'.
local ranges = {
[2] = false,
[5] = 'pred',
[6] = false,
[39] = '1',
[120] = '2',
[170] = '3',
[187] = '4',
[213] = '5',
[243] = '6',
[257] = 'pr1',
[297] = 'pr2',
[305] = 'pr3',
}
local function sorted_range_keys()
local range_keys = {}
for k in pairs(ranges) do
table.insert(range_keys, k)
end
table.sort(range_keys)
return range_keys
end
local function match_range(page_num)
for _, k in ipairs(sorted_range_keys()) do
if page_num <= k then
return ranges[k]
end
end
return false
end
function p.get_link(frame)
local page_ref = frame.args[1]
local page_num = tonumber((page_ref:gsub('^(%d+)%D.*', '%1')))
if not page_num then return '' end
local web_page = match_range(page_num)
if not web_page then return '' end
return link_prefix .. web_page .. link_suffix
end
return p