Module:Sandbox: Difference between revisions

From Fanon Wiki
m (seems to work for source in previews, going to try adding the fix to description and see how it looks when saved)
mNo edit summary
 
(One intermediate revision by the same user not shown)
Line 6: Line 6:
function f.main(frame)
function f.main(frame)
local description
local description
if frame.args["description"]=="" then description="No description provided [[Category:Files lacking description]]" else description=frame.args["description"] end
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