Dokumentationen för denna modul kan skapas på Modul:Vägskyltar/dok

local p = {}
require "mw.ustring"

--[[
  Vagnummerskylt, genererar kod för vägskylt med nummer
  Skyltarna länkar automatiskt till artikeln för respektive väg (gäller endast Europavägar, Riksvägar och Länsvägar med nummer lägre än 500.
 
  parametrar
  ==========
  1 (typ):  
    - E för europaväg
    - <tom> för väg med nummer under 500
    - <länsbokstav> för vägar med nummer 500 eller högre (denna funktion är inte implementerad än)
    - alt för en omledningsvägnummerskylt (blå text mot vit botten). 
   2 (nr): vägens nummer
   höjd: (frivillig) antal px, om inget värde anges blir höjden 17px
   länk: (frivillig) länk som bilden ska länka till, om länk ej anges fås en länk till Europaväg, Riksväg respektive Länsväg automatiskt
]]

function p.Vagnummerskylt(frame)
	local typ= frame.args[1] or ''
	local nr = frame.args[2] or ''
	local hojd = frame.args['höjd'] or '17'
	local link = frame.args['länk'] or ''
--color	
	local color = 'blå'
 	if (typ == 'E') then color = 'grön' end	
	if (typ == 'alt') then color = 'white' end
--link
    if (link ~= '') then
    	link = '|länk=' .. link
	else
		link = '|länk=' -- ingen länk för sekundära länsvägar
 		if ((tonumber(nr) or 999) < 500) then link = '|länk=Länsväg ' .. nr end
		if ((tonumber(nr) or 999) < 100) then link = '|länk=Riksväg ' .. nr end
		if (typ == 'E') then link = '|länk=E' .. nr end
		if (mw.ustring.sub(nr,1,1) == 'E') then link = '|länk=' .. nr end
	end
--files	
	local res = '[[Fil:Vänster - ' .. color .. '.svg|500x' .. hojd .. 'px|länk=]]'
	if (typ == 'E') then res = res .. '[[Fil:E - grön.svg|500x' .. hojd .. 'px|länk=]]' end
	for i = 1, string.len(nr) do
		res = res .. '[[Fil:' .. mw.ustring.sub(nr..'',i,i) .. ' - ' .. color .. '.svg|500x' .. hojd .. 'px|länk=]]'
	end
	res = res .. '[[Fil:Höger - ' .. color .. '.svg|500x' .. hojd .. 'px' .. link .. ']]' 
	
	return res
end

--[[
  Avfartnummerskylt, genererar kod för avfartsskylt med nummer
 
 parametrar
  ==========
  1 (nr): avfartens nummer
    länk: (frivillig) länk till önskad artikel
    höjd: (frivillig) antal px, om inget värde anges blir höjden 17px
]]

function p.Avfartnummerskylt(frame)
	local nr = frame.args[1] or ''
	local link = frame.args['länk'] or ''
	local hojd = frame.args['höjd'] or '17'
	local res = '[[Fil:Avfart - gul.svg|500x' .. hojd .. 'px|länk=' .. link .. ']]'
	for i = 1, string.len(nr) do
		res = res .. '[[Fil:' .. mw.ustring.sub(nr..'',i,i) .. ' - gul.svg|500x' .. hojd .. 'px|länk=' .. link .. ']]'
	end
	res = res .. '[[Fil:Höger - gul.svg|500x' .. hojd .. 'px|länk=' .. link .. ']]' 
	return res
end

return p