Modul:Infobox

Från Nordens Stjärnors officiella handbok

Dokumentationen för denna modul kan skapas på Modul:Infobox/dok

Skriptfel: Luafel: Internt fel: Tolken har avslutats med signalen "11".

local p = {}

_G.vars = { Pagename = mw.title.getCurrentTitle().text }

local f = require("Modul:Funktioner")

function p.birthdate(frame)
	local date = frame.args['date'] or frame.args[1]
	local date_lc = string.lower(date)

	if string.match(date_lc, "okänt") or string.match(date_lc, "okänd") then
		return "[[:Kategori:Figurer med okänt födelsedatum|" .. date .. "]][[Kategori:Figurer med okänt födelsedatum]]"

	elseif string.match(date_lc, "ej fastställd") or string.match(date_lc, "ej fastställt") or string.match(date_lc, "inte fastställd") or string.match(date_lc, "inte fastställt") then
		return "[[:Kategori:Figurer utan fastställt födelsedatum|" .. date .. "]][[Kategori:Figurer utan fastställt födelsedatum]]"

	else
		return "[[" .. date .. "]]"
	end
end

function p.affiliation( frame )
	local text = frame.args['text'] or frame.args[1] or nil
	local delimiter = frame.args['delimiter'] or frame.args[2] or ';'
	local affiliates = mw.text.split( text, delimiter )
	local output = {}

	for i, item in ipairs( affiliates ) do
		item = f.trim(item)
		if not string.match(item, '%S') then break end

		if string.lower(item) == "nordens stjärnor" or string.lower(item) == "nordens stjÄrnor" then
			item = "[[Nordens Stjärnor]][[Kategori:Medlemmar i Nordens Stjärnor]]"
		else 
			item = "[[" .. item .. "]]"
		end
		table.insert(output, item)
	end
	return table.concat(output, ' · ')
end

function p.maritalStatus( frame )
	local statuses = mw.text.split( frame.args[1], ';')
	local output = {}

	for i, status in ipairs( statuses ) do

		if string.lower(status) == "gift"
		or string.lower(status) == "omgift"
		or string.lower(status) == "nygift" then
			table.insert( output, f.categoryLink( "Gifta figurer", vars.Pagename, status ) )
		elseif string.lower(status) == "i förhållande"
		or string.lower(status) == "förhållande" then
			table.insert( output, f.categoryLink( "Figurer i förhållande", vars.Pagename, status ) )
		elseif string.lower(status) == "änka"
		or string.lower(status) == "änkling"
		or string.lower(status) == "änkeman"
		or string.lower(status) == "Änka"
		or string.lower(status) == "Änkling"
		or string.lower(status) == "Änkeman" then
			table.insert( output, f.categoryLink( "Änkestående figurer", vars.Pagename, status ) )
		elseif string.lower(status) == "singel"
		or string.lower(status) == "ogift"
		or string.lower(status) == "ensamstående" then
			table.insert( output, f.categoryLink( "Ensamstående figurer", vars.Pagename, status ) )
		elseif string.lower(status) == "förlovade" then
			table.insert( output, f.categoryLink( "Förlovade figurer", vars.Pagename, status ) )
		else 
			table.insert( output, f.categoryLink( status .. "a figurer", vars.Pagename, status ) )
		end
	end
	table.insert(output, frame.args[2])
	return table.concat(output, ' ')
end

return p