Module:Afmælisbörn

Hægt er að búa til leiðbeiningar fyrir þessa skriftu á Module:Afmælisbörn/doc

local p = {}

function p.main(frame)
	local pframe = frame:getParent()
	local args = pframe.args
	local conf = frame.args
	
	if conf[1] == nil then
		return "engin dagsetning"
	elseif mw.title.new(conf[1]).exists == false then
		return "titill ekki til"
	end

	local text = mw.title.new(conf[1]):getContent() -- TODO: nota currentdate í stað args1
	local x = string.find(text, "== Fædd ==")
	-- todo: gera að lykkju, xnum hækkar í hvert sinn.
	if x then
		local xnum = tonumber(x)
		btd = mw.ustring.match(text, "* %[%[%d%d%d%d%]%] %- %[%[%w+%s?%w+.?%s?%w+%]%] %(d. %[%[%d%d%d%d%]%]%)", xnum) or ""
		if btd == "" then
			btd = mw.ustring.match(text, "* %[%[%d%d%d%d%]%] %- %[%[%w+%s?%w+.?%s?%w+%]%], %w+%s?%w+ %(d. %[%[%d%d%d%d%]%]%)", xnum) or ""
		end
		b = mw.ustring.match(btd, "* %[%[%d%d%d%d%]%]") or os.date("*t").year
		t = mw.ustring.match(btd, "%- %[%[%w+%s?%w+.?%s?%w+%]%]") or ""
		d = mw.ustring.match(btd, "%(d. %[%[%d%d%d%d%]%]%)") or os.date("*t").year
		b = string.match(b, "%d%d%d%d")
		t = mw.ustring.match(t, "%[%[%w+%s?%w+.?%s?%w+%]%]") .. " "
		d = string.match(d, "%d%d%d%d")
	else
		return "" -- engin fæðingar fyrirsögn
	end
	local lang = mw.language.getContentLanguage()
	return t .. "(" .. (d - b) .. " " .. lang:convertPlural((d-b), {"árs", "ára"}) .. ")"
end

return p