Minecraft Wiki

The Minecraft Wiki is no longer considered as official by Microsoft and therefore several changes are required to be made, including to the wiki's logo. Please read this announcement for more information.

READ MORE

Minecraft Wiki
Advertisement
Minecraft Wiki
[view | edit | history | purge]DocumentationJump to code ↴

This module implements {{keys}}.

The key symbols are kept at Module:Keys/Symbols.

[view | edit | history | purge]The above documentation is transcluded from Module:Keys/doc.
local p = {}
p.keys = function( f )
	local args = f
	if f == mw.getCurrentFrame() then
		args = f:getParent().args
	end
	local keys = {}
	
	for _, key in ipairs( args ) do
		key = mw.text.trim( key )
		if key ~= '+' and key:find( '%+' ) then
			local comboKeys = {}
			for comboKey in mw.text.gsplit( key, '%s*%+%s*' ) do
				table.insert( comboKeys, p.key( comboKey ) )
			end
			table.insert( keys, table.concat( comboKeys, ' + ' ) )
		else
			table.insert( keys, p.key( key ) )
		end
	end
	
	return table.concat( keys )
end

p.key = function( key )
	if key == '' then
		return ''
	end
	
	local symbols = mw.loadData( 'Module:Keys/Symbols' )
	return '<kbd class="key nowrap" style="' .. table.concat( {
		'background-color: #f8f9fa',
		'color: #222',
		'font-size: 80%',
		'font-family: inherit',
		'font-weight: bold',
		'border: 1px solid #c8ccd1',
		'border-radius: 2px',
		'box-shadow: 0 1px 0 rgba(0,0,0,0.2), 0 0 0 2px #fff inset',
		'padding: 0.1em 0.4em',
		'text-shadow: 0 1px 0 #fff',
		'text-align: center'
	}, ';' ) .. '">' .. ( symbols[key:lower()] or key ) .. '</kbd>'
end
return p
Advertisement