Module:Guidance: Difference between revisions

From the Audiovisual Identity Database, the motion graphics museum

Content deleted Content added
No edit summary
No edit summary
Line 97: Line 97:
-- Function for the smaller "guidance detail" notices (under testing)
-- Function for the smaller "guidance detail" notices (under testing)
function p.small(frame)
function p.small(frame)
-- Banners
bd = "none"
b = {
frame:expandTemplate{title="ambox",args={
small = "left",
type = "style",
nocat = "yes",
image = "[[File:Breathe-audio-volume-high.svg|20px]]",
style = "margin:auto;max-width:480px;width:inherit",
text = "The video of this logo '''may be too loud''' or severely distorted."
}},
frame:expandTemplate{title="ambox",args={
small = "left",
type = "style",
nocat = "yes",
image = "[[File:Tango_Phone.svg|x20px]]",
style = "margin:auto;max-width:480px;width:inherit",
text = "This logo '''contains an old telephone number'''. Please do not try to dial it."
}},
}
-- Text
for i = ri,1,-1 do
for i = ri,1,-1 do
if string.find(frame.args[1],r[i][1]) and r[i][4] == 1 then
if string.find(frame.args[1],r[i][1]) and r[i][4] == 1 then
Line 115: Line 136:
end
end
end
end
td = "'''"..r[i][3].."''' at "..ts
td = r[i][3].."''' at "..ts
else
else
td = "'''"..r[i][3].."''' for the whole duration"
td = r[i][3].."''' for the whole duration"
end
end
if rd == nil then
if rd == nil then
rd = td
rd = td
elseif string.find(rd,", and ") then
elseif string.find(rd,", and ") then
rd = td..", "..rd
rd = td..", '''"..rd
else
else
rd = td..", and "..rd
rd = td..", and '''"..rd
end
end
end
end
if rd ~= nil then
rd = frame:expandTemplate{title="ambox",args={
small = "left",
type = "content",
nocat = "yes",
style = "background:#FFE7CE;margin:auto;max-width:480px;width:inherit",
text = "This logo '''contains "..rd.."."}}
end
if string.find(frame.args[1],"audio") then
if rd ~= nil then
rd = rd..b[1]
else
rd = b[1]
end
end
if string.find(frame.args[1],"phone") then
if rd ~= nil then
rd = rd..b[2]
else
rd = b[2]
end
end
end
end
return rd
return rd
end
end

return p
return p

Revision as of 04:12, 22 November 2022

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

local p = {} --p stands for package

r = { --keyword, short name, formatted name, severity
	{	"flashing",
		"flashing images",
		"[[:wikipedia:photosensitive epilepsy|flashing images]]",
		1,
	},
	{	"graphic",
		"graphic violence",
		"graphic violence or gore",
		2,
	},
	{	"jumpscare",
		"a jump scare",
		"a [[:wikipedia:jump scare|jump scare]]",
		1,
	},
	{	"nudity",
		"nudity",
		"nudity",
		2,
	},
	{	"sex",
		"sexual activity",
		"sexual activity",
		2,
	}
}
ri = 5

function p.reasons(frame)
	for i = ri,1,-1 do
		if string.find(frame.args[1],r[i][1]) then
			if ro == nil then
				ro = r[i][3]
			elseif string.find(ro,", and ") then
				ro = r[i][3]..", "..ro
			else
				ro = r[i][3]..", and "..ro
			end
		end
	end
	return ro;
end
	
function p.warn_1(frame)
	for i = ri,1,-1 do
		if string.find(frame.args[1],r[i][1]) and (r[i][4] == 1) then
			if w1 == nil then
				w1 = r[i][2].." occur."
			elseif string.find(w1," and ") then
				w1 = r[i][2]..", "..w1
			else
				w1 = r[i][2].." and "..w1
			end
		end
	end
	return w1;
end

function p.warn_2(frame)
	for i = ri,1,-1 do
		if string.find(frame.args[1],r[i][1]) and (r[i][4] == 2) then
			if (w2 == nil) then
				w2 = r[i][2]
			elseif string.find(w2," and ") then
				w2 = r[i][2]..", "..w2
			else
				w2 = r[i][2].." and "..w2
			end
		end
	end
	if w2 ~= nil then
		if string.find(w2," and ") then
			w2 = w2.." are"
		else
			w2 = w2.." is"
		end
	end
	return w2;
end

function p.category(frame)
	for i = 1,ri,1 do
		if string.find(frame.args[1],r[i][1]) then
			if rc == nil then
				rc = "[[Category:Logos with content warnings for "..r[i][2].."]]"
			else
				rc = rc.."[[Category:Logos with content warnings for "..r[i][2].."]]"
			end
		end
	end
	return rc
end

-- Function for the smaller "guidance detail" notices (under testing)
function p.small(frame)
	-- Banners
	bd = "none"
	b = {
		frame:expandTemplate{title="ambox",args={
			small = "left",
			type  = "style",
			nocat = "yes",
			image = "[[File:Breathe-audio-volume-high.svg|20px]]",
			style = "margin:auto;max-width:480px;width:inherit",
			text  = "The video of this logo '''may be too loud''' or severely distorted."
		}},
		frame:expandTemplate{title="ambox",args={
			small = "left",
			type  = "style",
			nocat = "yes",
			image = "[[File:Tango_Phone.svg|x20px]]",
			style = "margin:auto;max-width:480px;width:inherit",
			text  = "This logo '''contains an old telephone number'''. Please do not try to dial it."
		}},
}
	-- Text
	for i = ri,1,-1	do
		if string.find(frame.args[1],r[i][1]) and r[i][4] == 1 then
			if string.match(frame.args[1],r[i][1]..'%([%d,:-]*%)') then
				ti = 0
				tt = {}
				for j in string.gmatch(string.match(frame.args[1],r[i][1].."%([%d,:-]*%)"),"[%d:-]+") do
					ti = ti + 1
					tt[ti] = j
				end
				for j = ti,1,-1 do
					if ts == nil then
						ts = tt[j]
					elseif string.find(ts," and ") then
						ts = tt[j]..", "..ts
					else
						ts = tt[j].." and "..ts
					end
				end
				td = r[i][3].."''' at "..ts
			else
				td = r[i][3].."''' for the whole duration"
			end
			if rd == nil then
				rd = td
			elseif string.find(rd,", and ") then
				rd = td..", '''"..rd
			else
				rd = td..", and '''"..rd
			end
		end
	end
	if rd ~= nil then
		rd = frame:expandTemplate{title="ambox",args={
		small = "left",
		type  = "content",
		nocat = "yes",
		style = "background:#FFE7CE;margin:auto;max-width:480px;width:inherit",
		text  = "This logo '''contains "..rd.."."}}
	end
	if string.find(frame.args[1],"audio") then
		if rd ~= nil then
			rd = rd..b[1]
		else
			rd = b[1]
		end
	end
	if string.find(frame.args[1],"phone") then
		if rd ~= nil then
			rd = rd..b[2]
		else
			rd = b[2]
		end
	end
	return rd
end
return p
Cookies help us deliver our services. By using our services, you agree to our use of cookies.