Module:Keys/sandbox

From Miranda NG
< Module:Keys
Revision as of 00:52, 1 December 2015 by Goraf (talk | contribs) (initial code)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
Module documentation[view] [edit] [history] [purge]
Todo: Add ability to wrap line

This module implements {{Hotkey}}. Please see the template page for documentation.

local getArgs = require('Module:Arguments').getArgs
local p = {}
 
function p.main(frame)
	local args = getArgs(frame)
	return p._main(args)
end
 
function p._main(args)
	local langCode = args.lang
	local keys = {}
	
	return table.concat(keys, '+')
end

p.key = function(key)
	if not key then
		return ''
	end
	
	local symbols = mw.loadData('Module:Keys/Symbols')
	return '<kbd class="key nowrap" style="' .. table.concat({
		'border: 1px solid #AAA',
		'background-color: #F9F9F9',
		'background-image: -webkit-linear-gradient(#EEE, #F9F9F9, #EEE)',
		'background-image: -o-linear-gradient(#EEE, #F9F9F9, #EEE)',
		'background-image: linear-gradient(#EEE, #F9F9F9, #EEE)',
		'padding: 0.1em 0.3em',
		'font-family: inherit',
		'font-size: 85%'
	}, ';') .. '">' .. (symbols[key:lower()] or key) .. '</kbd>'
end
 
return p