Module:Video citation

From ProleWiki, the proletarian encyclopedia
Revision as of 01:46, 5 October 2022 by Forte (talk | contribs) (Very rough sketch of YouTube citation template)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
local p = {}

local function is_set (var)
	return not (var == nil or var == '');
end

local function italics (var)
	return "<i>" .. var .. "</i>"
end

function p.cite(frame)
	local parent = frame:getParent()
	
	local Title = parent.args.title
	local Channel = parent.args.channel
	local Date = parent.args['date']
	local Timestamp = parent.args.timestamp
	local URL = parent.args.url

	local first_part = ''
	local second_part = ''

	if is_set(Channel) then
		first_part = first_part .. Channel
	end
	
	if is_set(Title) then
		if is_set(URL) then
			Title = '[' .. URL .. " " .. Title .. ']'
		end
		second_part = second_part .. italics(Title)
	end
	
	if is_set(Date) then
		if is_set(Channel) then
			first_part = first_part .. '(' .. Date .. ')'
		else
			second_part = second_part .. '(' .. Date .. ')'
		end
	end
	
return first_part .. ". " .. second_part .. "''YouTube''"
end
return p