Модуль:Кароткія спасылкі Інтэрнэт-архіву

З пляцоўкі Вікікрыніцы

Дакументацыю да гэтага модуля можна стварыць у Модуль:Кароткія спасылкі Інтэрнэт-архіву/Дакументацыя

local p = {} --p азначае пакет

local getArgs = require('Модуль:Аргумэнты').getArgs
local yesno = require('Модуль:ТакНе')
local make_style_string = require('Модуль:Дадатковы стыль').make_style_string

function IAlink(id, suffix)
	local add
	if suffix then
		add = " " .. suffix
	else
		add = ""
	end
	return "[https://archive.org/details/" .. (id or "") .. " ІА" .. add .. "]"
end

function p.links(frame)
	local args = getArgs(frame)
	
	local start = tonumber(args['пачатак']) or tonumber(args.start) or 1
	local prefix = args['прэфікс'] or args.prefix or ''
	local suffix = args['суфікс'] or args.suffix or ''
	local numbers = yesno(args['лікі'] or args.numbers or 'але' or 'так')
	local display = args['вывад'] or args.display
	
	local style = 'style="font-size: 83%;' .. (args['стыль'] or args.style or '') .. '"'
	
	local links = {}
	for k, id in pairs(args) do
		if tonumber(k) then
			if numbers then
				table.insert(links, IAlink(id, k + start - 1))
			else
				table.insert(links, IAlink(id, args.display))
			end
		end
	end
	
	return '<span title="Копія гэтага твору ў Інтэрнэт-архіве" ' .. style .. '">' .. prefix .. table.concat(links, ", ") .. suffix .. '</span>'
end

return p