Открыть меню
Переключить меню настроек
Открыть персональное меню
Вы не представились системе
Ваш IP-адрес будет виден всем, если вы внесёте какие-либо изменения.

Модуль:Кнопка: различия между версиями

Материал из Celadon | Wiki Sierra
[[commons:MediaWiki]]>Gevron
мНет описания правки
Armowich (обсуждение | вклад)
м 3 версии импортировано
 
(не показана 1 промежуточная версия 1 участника)
Строка 29: Строка 29:
local symbols = mw.loadData( 'Модуль:Кнопка/Символы' )
local symbols = mw.loadData( 'Модуль:Кнопка/Символы' )
return '<kbd class="key nowrap">' .. ( symbols[key:lower()] or key ) .. '</kbd>'
return '<kbd class="keyboard-key nowrap">' .. ( symbols[key:lower()] or key ) .. '</kbd>'
end
end
return p
return p

Текущая версия от 20:11, 7 декабря 2025

Для документации этого модуля может быть создана страница Модуль:Кнопка/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, '&#8239;+&#8239;' ) )
		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( 'Модуль:Кнопка/Символы' )
	return '<kbd class="keyboard-key nowrap">' .. ( symbols[key:lower()] or key ) .. '</kbd>'
end
return p