Module:Keys
| Main | Documentation | Usage |
This module implements {{Keys}}.
local p = {}
function p.keys(frame)
local args = frame
if frame == mw.getCurrentFrame() then
args = frame:getParent().args
end
local symbols = mw.loadData('Module:Keys/Symbols')
local keys = {}
for _, key in ipairs(args) do
table.insert(keys, tostring(p.key(mw.text.trim(key), symbols)))
end
return table.concat(keys, ' + ')
end
function p.key(key, symbols)
if key == '' or key == nil then return '' end
local value = symbols[key:lower()] or key
if (string.find(value, 'File')) then
return mw.html.create('kbd')
:attr('title', key:lower())
:wikitext(value)
else
return mw.html.create('kbd')
:addClass('custom-key nowrap')
:attr('title', value)
:wikitext(value)
end
end
return p