Module:Game: Difference between revisions
From PC Gaming Shelter
No edit summary |
No edit summary |
||
| Line 4: | Line 4: | ||
local function propertiesPlan() | local function propertiesPlan() | ||
-- ['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', ',' }, | ||
} | } | ||
return propMap | return propMap | ||
| Line 33: | Line 33: | ||
} | } | ||
return propOrder | return propOrder | ||
end | |||
local function dataPlan() | |||
local onecolumn = utils.infoboxSectionClasses()['onecolumn'] | |||
local twocolumns = utils.infoboxSectionClasses()['twocolumns'] | |||
local sectionFormat = { | |||
['Developer'] = { | |||
label = 'Developer', | |||
value = '%s', | |||
separator = ',', | |||
template = 'render', | |||
valuefmt = 'wikilink', | |||
class = twocolumns | |||
} | |||
} | |||
return sectionFormat | |||
end | end | ||
| Line 43: | Line 59: | ||
local properties = propertiesPlan() | local properties = propertiesPlan() | ||
local order = infoboxOrderPlan() | local order = infoboxOrderPlan() | ||
local data = dataPlan() | |||
local subobjects = subobjectPlan() | local subobjects = subobjectPlan() | ||
local infobox = utils.createInfobox(frame, category, properties, order, subobjects) | local infobox = utils.createInfobox(frame, category, properties, order, data, subobjects) | ||
return infobox | return infobox | ||
end | end | ||
return p | return p | ||
Revision as of 19:36, 22 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', ',' },
}
return propMap
end
local function infoboxOrderPlan()
local propOrder = {
'Release date',
'Developer',
'Publisher',
'Series',
'Current version',
'Genre',
'Setting',
'Has game mode',
'Platform'
}
return propOrder
end
local function dataPlan()
local onecolumn = utils.infoboxSectionClasses()['onecolumn']
local twocolumns = utils.infoboxSectionClasses()['twocolumns']
local sectionFormat = {
['Developer'] = {
label = 'Developer',
value = '%s',
separator = ',',
template = 'render',
valuefmt = 'wikilink',
class = twocolumns
}
}
return sectionFormat
end
local function subobjectPlan()
return {}
end
function p.infobox(frame)
local category = 'Games'
local properties = propertiesPlan()
local order = infoboxOrderPlan()
local data = dataPlan()
local subobjects = subobjectPlan()
local infobox = utils.createInfobox(frame, category, properties, order, data, subobjects)
return infobox
end
return p
