Module:Birthday

From Story Lists
Revision as of 13:40, 9 May 2021 by DanielCM (talk | contribs)
Jump to navigation Jump to search

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

local p = {}

function p.main(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

	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

return p