Module:TFA title
Lua wrapper around the data in Template:TFA title/data.json, primarily to be used in Template:Editnotices/Namespace/Main.
Usage[edit]
{{#invoke:TFA title|is_todays_tfa|{{PAGENAME}}}}
, returns yes
if it is the TFA, and nothing if it is not.
local p = {}
local data = mw.loadJsonData("Template:TFA title/data.json")
-- Get the TFA title for the specified "YYYY-MM-DD" date. May be
-- a single title, an array of multiple titles, or nil, if no title is known
function p.title(date)
return data.titles[date] or nil
end
-- Today's TFA, see title() for possible return values
function p.today_title()
return p.title(today())
end
-- Is the specified title the TFA today?
-- Returns "yes" or "", for use with {{#if:}}
function p.is_todays_tfa(frame)
return p.is_tfa_on(frame.args[1], today())
end
-- Is the specified title the TFA on the specified date?
-- Returns "yes" or "", for use with {{#if:}}
function p.is_tfa_on(title, date)
local days_title = p.title(date)
if days_title == nil then
-- no clue
return ""
end
if type(days_title) == "string" then
if title == days_title then
return "yes"
else
return ""
end
end
-- table case, multiple titles
for _, check in pairs( days_title ) do
if check == title then
return "yes"
end
end
return ""
end
-- Internal, today's date as YYYY-MM
function today()
return os.date("%Y-%m")
end
return p