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

Module:Game: Difference between revisions

From PC Gaming Shelter
m Text replacement - "Has note" to "Has short description"
No edit summary
 
Line 6: Line 6:
-- ['Form field name'] = { 'Semantic property', 'delimiter' }
-- ['Form field name'] = { 'Semantic property', 'delimiter' }
local propMap = {
local propMap = {
['Release date']       = {'Has release date' },
['Release date']         = {'Has release date' },
['Developer']           = {'Has developer', ',' },
['Developer']             = {'Has developer', ',' },
['Publisher']           = {'Has publisher' },
['Publisher']             = {'Has publisher' },
['Series']             = {'Has series', ',' },
['Series']               = {'Has series', ',' },
['Image']               = {'Image', 'file' },
['Image']                 = {'Image', 'file' },
['Current version']     = {'Has version' },
['Current version']       = {'Has version' },
['Genre']               = {'Has genre', ',' },
['Genre']                 = {'Has genre', ',' },
['Setting']             = {'Has setting', ',' },
['Setting']               = {'Has setting', ',' },
['Has game mode']       = {'Has game mode', ',' },
['Has game mode']         = {'Has game mode', ',' },
['Platform']           = {'Has platform', ',' },
['Platform']             = {'Has platform', ',' },
['Multiplayer tools']   = {'Has multiplayer tools', ',' },
['Multiplayer tools']     = {'Has multiplayer tools', ',' },
['Has short description']           = {'Has short description' }
['Has short description'] = {'Has short description' }
}
}
return propMap
return propMap

Latest revision as of 12:48, 26 March 2026

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

local utils = require( 'Module:Utils' )

local p = {}

local function propertiesPlan()
	-- ['Form field name'] = { 'Semantic property', 'delimiter' }
	local propMap = {
		['Release date']          = {'Has release date' },
		['Developer']             = {'Has developer', ',' },
		['Publisher']             = {'Has publisher' },
		['Series']                = {'Has series', ',' },
		['Image']                 = {'Image', 'file' },
		['Current version']       = {'Has version' },
		['Genre']                 = {'Has genre', ',' },
		['Setting']               = {'Has setting', ',' },
		['Has game mode']         = {'Has game mode', ',' },
		['Platform']              = {'Has platform', ',' },
		['Multiplayer tools']     = {'Has multiplayer tools', ',' },
		['Has short description'] = {'Has short description' }
	}
	return propMap
end

local function infoboxSectionPlan()
	local sectionMap = {
		['Cover image'] = {
			heading = '',
			template = 'Infobox/Cover',
			order = '1',
			rows = {
				'Image'
			}
		},
		['Game Info'] = {
			heading = 'Game Info',
			template = 'Infobox/Game Info',
			order = '2',
			rows = {
				'Developer',
				'Publisher',
				'Genre',
				'Setting',
				'Has game mode',
				'Platform',
				'Release date',	
				'System requirements',
				'Community links',
			}
		},
		['These days'] = {
			heading = 'These days',
			template = 'Infobox/These days',
			order = '3',
			rows = {
				'Multiplayer tools',
				'Current version',
				'Store links'
			}
		}
	}
	return sectionMap
end

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

return p