Jump to content

Module:Keys: Difference between revisions

From The Petit Planet Wiki
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 (string.find(value, 'File')) then
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 nowrap')
:addClass('custom-key')
:attr('title', value)
:attr('title', value)
:wikitext(value)
:wikitext(value)

Latest revision as of 09:45, 27 September 2026

Module documentation

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