Difference between revisions of "Module:Birthday"

From Story Lists
Jump to navigation Jump to search
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
local p = {}
local p = {}


function p.main(frame)
function p.birthday(frame)
local titleObject = mw.title.getCurrentTitle()
local titleObject = mw.title.getCurrentTitle()
local titleText = titleObject.fullText
local titleText = titleObject.fullText
Line 51: Line 51:
end
end


if (day < 10) then
if (tonumber(day) < 10) then
day = "0" .. day
day = "0" .. day
end
end
Line 59: Line 59:
local result  = result .. "[[Category:Lists]]"
local result  = result .. "[[Category:Lists]]"
local result  = result .. "[[Category:Lists of characters by birthday|" .. month .. "-" .. day .. "]]"
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
return result

Latest revision as of 03:42, 21 May 2021

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