Module:Keys: Difference between revisions
Appearance
ReisuDesign (talk | contribs) Created page with "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..." |
ReisuDesign (talk | contribs) No edit summary |
||
| Line 20: | Line 20: | ||
local value = symbols[key:lower()] or key | local value = symbols[key:lower()] or key | ||
if | |||
if string.find(value, 'File') then | |||
return mw.html.create('kbd') | return mw.html.create('kbd') | ||
:addClass('custom-key custom-key-image') | |||
:attr('title', key:lower()) | :attr('title', key:lower()) | ||
:wikitext(value) | :wikitext(value) | ||
else | else | ||
return mw.html.create('kbd') | return mw.html.create('kbd') | ||
:addClass('custom-key | :addClass('custom-key') | ||
:attr('title', value) | :attr('title', value) | ||
:wikitext(value) | :wikitext(value) | ||
Latest revision as of 09:45, 27 September 2026
| 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')
:addClass('custom-key custom-key-image')
:attr('title', key:lower())
:wikitext(value)
else
return mw.html.create('kbd')
:addClass('custom-key')
:attr('title', value)
:wikitext(value)
end
end
return p