Module:Sandbox: Difference between revisions

From Fanon Wiki
m (Assuming it's ok to use this to test since it hasn't been touched in a while and is a sandbox, modifying Module:File to see if this fixes the error where calling an empty source parameter breaks the no source detection)
mNo edit summary
 
(2 intermediate revisions by the same user not shown)
Line 5: Line 5:


function f.main(frame)
function f.main(frame)
local description = frame.args["description"] or "No description provided [[Category:Files lacking description]]"
local description
if frame.args["description"]=="" or frame.args["description"]==nil then description="No description provided [[Category:Files lacking description]]" else description=frame.args["description"] end
local type = mw.ustring.lower(frame.args["type"] or "")
local type = mw.ustring.lower(frame.args["type"] or "")
local source  
local source  
if frame.args["source"]=="" then source="No source specified [[Category:Files lacking a source]]" else source=frame.args["source"] end
if frame.args["source"]=="" or frame.args["description"]==nil then source="No source specified [[Category:Files lacking a source]]" else source=frame.args["source"] end
local result = {}
local result = {}
local t = {}
local t = {}

Latest revision as of 18:28, 11 November 2023

A sandbox for testing lua modules. Since this is a module, it uses actual programming code instead of wiki formatting.


--Hey, this is a sandbox for Lua!
--Be careful :O

local f = {}

function f.main(frame)
	local description
	if frame.args["description"]=="" or frame.args["description"]==nil then description="No description provided [[Category:Files lacking description]]" else description=frame.args["description"] end
	local type = mw.ustring.lower(frame.args["type"] or "")
	local source 
	if frame.args["source"]=="" or frame.args["description"]==nil then source="No source specified [[Category:Files lacking a source]]" else source=frame.args["source"] end
	local result = {}
	local t = {}
	t = {
	    ['art'] = "Official artwork [[Category:Official artwork]]",
	    --removing other types for testing purposes
	 }
	 
	type = t[type] or "No type specified. [[Category:Files without a type specified]]"
	
	local license = mw.title.getCurrentTitle():getContent()
	if license:find('%{%{License%-') then license = "" else license = "[[Category:Files without licenses]]" end
	
	local panel = '<div class="panel" style="--panel-color: #c5c5c5"><div class="mb-2 panel-title">File information</div><table class="table-responsive"><tr><th class="p-2" style="background: #ff4242; color: #fff; border-radius: .5rem 0 0 0">Description</th><td class="p-2">'.. description ..'</td></tr><tr><th class="p-2" style="background: #4292ff; color: #fff">Type</th><td class="p-2" style="background: rgba(0,0,0,.12)">'.. type ..'</td></tr><tr><th class="p-2" style="background: #f5ff42; border-radius: 0 0 0 .5rem">Source/author</th><td class="p-2">'.. source ..'</td></tr></table></div>'.. license ..''
	
	if mw.title.getCurrentTitle().namespace ~= 6 then panel = "Hey! The module does not spawn here because it's intended to be used on File pages only." end
	
	table.insert(result, panel)
	return table.concat(result, "")
end

return f