Edge Rewrite
// HTMLRewriter · presentation

This page was redesigned at the edge.

Cloudflare fetched the original article and streamed it through HTMLRewriter to apply an entirely new visual system without rebuilding the source page.

Jump to content

Module:TFA title

Permanently protected module
From Wikipedia, the free encyclopedia

local p = {}

local data = mw.loadJsonData("Template:TFA title/data.json")

-- Internal, today's date as YYYY-MM-DD
local function today()
	return os.date("%Y-%m-%d")
end

-- 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

return p