Module:Birthday

From Story Lists
Jump to navigation Jump to search

Documentation for this module may be created at Module:Birthday/doc

local p = {}

function p.birthday(frame)
	local titleObject = mw.title.getCurrentTitle()
	local titleText = titleObject.fullText

	-- "date" variable is a value like "December 9", taken from the page title
	local date = mw.ustring.gsub(titleText, "List of characters born on ", "") 

	-- "month" and "day" variables are used to sort the pages in "Category:Lists of characters by birthday"
	-- "month" is the month number (1 = January, 2 = February, etc.) except, for sorting purposes, the last three months are letters (A = September, B = October, C = December)
	local month = ""
	local day = ""

	if(mw.ustring.find(date, "January")) then
		month = "1"
		day = mw.ustring.gsub(date, "January ", "") 
	elseif(mw.ustring.find(date, "February")) then
		month = "2"
		day = mw.ustring.gsub(date, "February ", "") 
	elseif(mw.ustring.find(date, "March")) then
		month = "3"
		day = mw.ustring.gsub(date, "March ", "") 
	elseif(mw.ustring.find(date, "April")) then
		month = "4"
		day = mw.ustring.gsub(date, "April ", "") 
	elseif(mw.ustring.find(date, "May")) then
		month = "5"
		day = mw.ustring.gsub(date, "May ", "") 
	elseif(mw.ustring.find(date, "June")) then
		month = "6"
		day = mw.ustring.gsub(date, "June ", "") 
	elseif(mw.ustring.find(date, "July")) then
		month = "7"
		day = mw.ustring.gsub(date, "July ", "") 
	elseif(mw.ustring.find(date, "August")) then
		month = "8"
		day = mw.ustring.gsub(date, "August ", "") 
	elseif(mw.ustring.find(date, "September")) then
		month = "9"
		day = mw.ustring.gsub(date, "September ", "") 
	elseif(mw.ustring.find(date, "October")) then
		month = "A"
		day = mw.ustring.gsub(date, "October ", "") 
	elseif(mw.ustring.find(date, "November")) then
		month = "B"
		day = mw.ustring.gsub(date, "November ", "") 
	elseif(mw.ustring.find(date, "December")) then
		month = "C"
		day = mw.ustring.gsub(date, "December ", "") 
	end

	if (tonumber(day) < 10) then
		day = "0" .. day
	end

	local result = "This is a list of characters born on " .. date .. "."

	local result  = result .. "[[Category:Lists]]"
	local result  = result .. "[[Category:Lists of characters by birthday|" .. month .. "-" .. day .. "]]"

	return result
end

function p.year(frame)
	local titleObject = mw.title.getCurrentTitle()
	local titleText = titleObject.fullText

	local year = mw.ustring.gsub(titleText, "List of characters born in ", "") 

	local result = "This is a list of characters born in  " .. year .. "."

	local result  = result .. "[[Category:Lists]]"
	local result  = result .. "[[Category:Lists of characters by birth year|" .. year .. "]]"

	return result
end

return p