Module:Version
Dit is sinds dat het sjabloon Version niet meer heel belangrijk is (wel voor het lezen van de data), het belangrijkste onderdeel voor de versies op onder andere de hoofdpagina *kuch*copy-paste Engelse Minecraft Wiki*kuch*.
Inhoud
Hoe het werkt
Opmerking: De maker van deze documentatie is niet echt bepaald een module-expert qua code. Voel je vrij om verbeteringen in te brengen op de overlegpagina van deze documentatie.
Moduletype
Dit bepaald wat voor moduletype het is, in dit geval de versie.
local p = {} p.version = function( f ) (...) end return p
Versies & afkorting
- Hoofdartikel: Module:Version/Numbers
Dit zorgt ervoor dat de versies worden gehaald uit de module die erbij hoort en de standaardversie en de afkorting v
.
local args = f:getParent().args local versions = mw.loadData( 'Module:Version/Numbers' ) local version = 'pc' if args.c then args.classic = '1' end for v in pairs( args ) do if type( v ) == 'string' then v = v:lower() if versions[v] then version = v break end end end
Editie
Dit bepaald de editie.
local edition if args.s or args.server then edition = versions[version .. '-server'] end if not edition then edition = versions[version] end local versionNum = edition[1] or edition local prefix = edition.prefix or ''
Controle
Dit controleert of de editie klopt met wat er in de bijbehorende module hoort.
local style = '' if args[1] then style = f:expandTemplate{ title = 'Table Choice', args = { args[1] == versionNum and 'yes' or 'no', '' } } end
Links
Dit zorgt voor de links naar de versiepagina (als die er is).
if args.nolink or versionNum == '' then return style .. ( args[1] or versionNum ) else return style .. f:expandTemplate{ title = 'Version link', args = { prefix .. ' ' .. ( args[1] or versionNum ), args[2] or args[1] or versionNum } } end
[bekijken | bewerken | geschiedenis | cache legen]Bovenstaande documentatie is getranscludeerd uit Module:Version/doc.
local p = {}
p.version = function( f )
local args = f:getParent().args
local versions = mw.loadData( 'Module:Version/Numbers' )
local version = 'pc'
if args.c then
args.classic = '1'
end
for v in pairs( args ) do
if type( v ) == 'string' then
v = v:lower()
if versions[v] then
version = v
break
end
end
end
local edition
if args.s or args.server then
edition = versions[version .. '-server']
end
if not edition then
edition = versions[version]
end
local versionNum = edition[1] or edition
local prefix = edition.prefix or ''
local style = ''
if args[1] then
style = f:expandTemplate{ title = 'Table Choice', args = { args[1] == versionNum and 'yes' or 'no', '' } }
end
if args.nolink or versionNum == '' then
return style .. ( args[1] or versionNum )
else
return style .. f:expandTemplate{ title = 'Version link', args = {
prefix .. ' ' .. ( args[1] or versionNum ),
args[2] or args[1] or versionNum
} }
end
end
return p