PC Gaming Shelter
An archive dedicated to preserving PC Gaming history and more

Module:Mod: Difference between revisions

From PC Gaming Shelter
No edit summary
No edit summary
 
(2 intermediate revisions by one other user not shown)
Line 12: Line 12:
['Has release date']    = {'Has release date' },
['Has release date']    = {'Has release date' },
['Has status']          = {'Has status' },
['Has status']          = {'Has status' },
['Has note']            = {'Has note' }
['Has short description']            = {'Has short description' }
}
}
return propMap
return propMap
Line 37: Line 37:
'Has release date',
'Has release date',
'Has status',
'Has status',
'Has note'
'Has short description'
}
}
},
},
['Download'] = {
['Download'] = {
heading = '<i class="far fa-play"></i> Play',
heading = '<i class="fas fa-link mr-2"></i> Links',
template = 'Infobox/Download',
template = 'Infobox/Download',
order = '3',
order = '3',

Latest revision as of 20:29, 26 April 2026

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

local utils = require( 'Module:Utils' )

local p = {}

local function propertiesPlan()
	-- ['Form field name'] = { 'Semantic property', 'delimiter' }
	local propMap = {
		['Image']               = {'Image', 'file' },
		['Related game']        = {'Related game' },
		['Has mod type']        = {'Has mod type' },
		['Has developer']       = {'Has developer', ',' },
		['Has release date']    = {'Has release date' },
		['Has status']          = {'Has status' },
		['Has short description']            = {'Has short description' }
	}
	return propMap
end

local function infoboxSectionPlan()
	local sectionMap = {
		['Cover image'] = {
			heading = '',
			template = 'Infobox/Cover',
			order = '1',
			rows = {
				'Image'
			}
		},
		['Mod Info'] = {
			heading = 'Mod Info',
			template = 'Infobox/Mod Info',
			order = '2',
			rows = {
				'Related game',
				'Has mod type',
				'Has developer',
				'Has release date',
				'Has status',
				'Has short description'
			}
		},
		['Download'] = {
			heading = '<i class="fas fa-link mr-2"></i> Links',
			template = 'Infobox/Download',
			order = '3',
			rows = {
				'Download links'
			}
		}
	}
	return sectionMap
end

function p.infobox(frame)
	local category   = 'Mods'
	local properties = propertiesPlan()
	local sections   = infoboxSectionPlan()
	local footer     = ''
	local infobox    = utils.createInfobox(frame, category, properties, sections, footer)
	return infobox
end

return p