Moduł:Navbox: Różnice pomiędzy wersjami

Z Minecraft Wiki Polska
Przejdź do nawigacji Przejdź do wyszukiwania
[wersja nieprzejrzana][wersja przejrzana]
Ivan-r (dyskusja | edycje)
d Защищена страница «Модуль:Navbox»: шаблон/модуль с большим количеством включений ([Редактирование=Разрешено только администраторам] (бесср
naprawa navbox'a
 
(Nie pokazano 3 wersji utworzonych przez jednego użytkownika)
Linia 3: Linia 3:
local args = require( 'Module:ProcessArgs' ).merge( true )
local args = require( 'Module:ProcessArgs' ).merge( true )
local navbox = {}
local navbox = {}
 
local title = args.title or ''
if args.title then
local class = args.class or 'collapsible'
local class = args.class or 'collapsible'
local bodyStyle = args.bodystyle or ''
local bodyStyle = args.bodystyle or ''
if bodyStyle ~= '' then
if bodyStyle ~= '' then
bodyStyle = 'style="' .. bodyStyle .. '"'
bodyStyle = 'style="' .. bodyStyle .. '"'
end
end
table.insert( navbox, ' {| class="navbox hlist ' .. class .. '" ' .. bodyStyle )
local titleStyle = args.titlestyle or ''
local titleStyle = args.titlestyle or ''
if titleStyle ~= '' then
if titleStyle ~= '' then
titleStyle = 'style="' .. titleStyle .. '"'
titleStyle = 'style="' .. titleStyle .. '"'
end
end
local navbar = args[1] or ''
local aboveStyle = args.abovestyle or ''
if navbar ~= '' then
if aboveStyle ~= '' then
local mini = ''
aboveStyle = 'style="' .. aboveStyle .. '"'
if navbar:match( 'navbar%-mini' ) then
end
mini = '1'
local groupStyle = args.groupstyle or ''
end
if groupStyle ~= '' then
navbar = '<div class="navbox-navbar">' .. f:preprocess( '{{navbar|' .. args.name .. '|mini=' .. mini .. '}}' ) .. '</div>'
groupStyle = 'style="' .. groupStyle .. '"'
end
local listStyle = args.liststyle or ''
if listStyle ~= '' then
listStyle = 'style="' .. listStyle .. '"'
end
local belowStyle = args.belowstyle or ''
if belowStyle ~= '' then
belowStyle = 'style="' .. belowStyle .. '"'
end
local childStyle = args.childstyle or ''
if childStyle ~= '' then
childStyle = 'style="' .. childStyle .. '"'
end
local navbar = args[1] or ''
local barStyle = args.barstyle or ''
local barFont = args.barfont or ''
local name = args.name or ''
if navbar ~= '' then
local mini = ''
if navbar:match( 'navbar%-mini' ) then
mini = '1'
end
end
table.insert( navbox, '! class="navbox-top" colspan="2" ' .. titleStyle .. ' | ' .. navbar .. '<span class="navbox-title">' .. args.title .. '</span>' )
navbar = '<div class="navbox-navbar">' .. f:preprocess( '{{navbar|' .. name .. '|mini=' .. mini .. '|style=' .. barStyle .. '|fontstyle=' .. barFont .. '}}' ) .. '</div>'
end
local below = args.below or ''
local above = args.above or ''
 
if title ~= '' then
 
table.insert( navbox, ' {| class="navbox hlist ' .. class .. '" ' .. bodyStyle )
table.insert( navbox, '! class="navbox-top" colspan="2" ' .. titleStyle .. ' | ' .. navbar .. '<span class="navbox-title">' .. title .. '</span>' )
else
else
table.insert( navbox, ' {| class="navbox-child"' )
table.insert( navbox, ' {| class="navbox-child" ' .. childStyle)
end
 
if above ~= '' then
table.insert( navbox, '|-\n| class="navbox-above" colspan="2" ' .. aboveStyle .. '| '  .. above:gsub( '^([*#:{])', '\n%1' ) )
end
end
 
local groupNums = {}
local listNums = {}
for k, v in pairs( args ) do
for k, v in pairs( args ) do
if type( k ) == 'string' then
if type( k ) == 'string' then
local groupNum = k:match( 'group(%d+)' )
local listNum = k:match( 'list(%d+)' ) or k:match( 'лист(%d+)' )
if groupNum and v then
if listNum and v then
table.insert( groupNums, tonumber( groupNum ) )
table.insert( listNums, tonumber( listNum ) )
end
end
end
end
end
end
table.sort( groupNums )
 
table.sort( listNums )
local groupStyle = args.groupstyle or ''
 
local listStyle = args.liststyle or ''
for _, v in ipairs( listNums ) do
for _, v in ipairs( groupNums ) do
local list = args['list' .. v] or args['лист' .. v]
local list = args['list' .. v]
local groupl = args['group' .. v] or args['группа' .. v] or ''
if list then
if list ~= '' and groupl ~= '' then
table.insert( navbox, '|-\n! class="navbox-group" style="' .. groupStyle .. '" | ' .. args['group' .. v] )
table.insert( navbox, '|-\n! class="navbox-group" ' .. groupStyle .. ' | ' .. groupl )
table.insert( navbox, '| class="navbox-list" style="' .. listStyle .. '" | ' .. list:gsub( '^([*#:{])', '\n%1' ) )
table.insert( navbox, '| class="navbox-list" ' .. listStyle .. '| ' .. list:gsub( '^([*#:{])', '\n%1' ) )
 
else if list ~= '' then
table.insert( navbox, '|-\n| class="navbox-list" colspan="2" ' .. listStyle .. '| ' .. list:gsub( '^([*#:{])', '\n%1' ) )
end
end
end
end
end
if below ~= '' then
table.insert( navbox, '|-\n| class="navbox-below" colspan="2" ' .. belowStyle .. '| '  .. below:gsub( '^([*#:{])', '\n%1' ) )
end
 
table.insert( navbox, '|}' )
table.insert( navbox, '|}' )

Aktualna wersja na dzień 17:27, 9 sty 2025

[ utwórz | historia | odśwież ]Dokumentacja
W tym module nie ma dokumentacji. Jeśli wiesz jak używać tego modułu, proszę, podaj odpowiednie informacje.
local p = {}
function p.box( f )
	local args = require( 'Module:ProcessArgs' ).merge( true )
	local navbox = {}
	local title = args.title or ''
	local class = args.class or 'collapsible'
	local bodyStyle = args.bodystyle or ''
		if bodyStyle ~= '' then
			bodyStyle = 'style="' .. bodyStyle .. '"'
		end
	local titleStyle = args.titlestyle or ''
		if titleStyle ~= '' then
			titleStyle = 'style="' .. titleStyle .. '"'
		end
	local aboveStyle = args.abovestyle or ''
		if aboveStyle ~= '' then
			aboveStyle = 'style="' .. aboveStyle .. '"'
		end
	local groupStyle = args.groupstyle or ''
		if groupStyle ~= '' then
			groupStyle = 'style="' .. groupStyle .. '"'
		end
	local listStyle = args.liststyle or ''
		if listStyle ~= '' then
			listStyle = 'style="' .. listStyle .. '"'
		end
	local belowStyle = args.belowstyle or ''
		if belowStyle ~= '' then
			belowStyle = 'style="' .. belowStyle .. '"'
		end
	local childStyle = args.childstyle or ''
		if childStyle ~= '' then
			childStyle = 'style="' .. childStyle .. '"'
		end
	local navbar = args[1] or ''
	local barStyle = args.barstyle or ''
	local barFont = args.barfont or ''
	local name = args.name or ''
	if navbar ~= '' then
		local mini = ''
		if navbar:match( 'navbar%-mini' ) then
			mini = '1'
		end
		navbar = '<div class="navbox-navbar">' .. f:preprocess( '{{navbar|' .. name .. '|mini=' .. mini .. '|style=' .. barStyle .. '|fontstyle=' .. barFont .. '}}' ) .. '</div>'
	end
	local below = args.below or ''
	local above = args.above or ''

	if title ~= '' then

		table.insert( navbox, ' {| class="navbox hlist ' .. class .. '" ' .. bodyStyle )
		table.insert( navbox, '! class="navbox-top" colspan="2" ' .. titleStyle .. ' | ' .. navbar .. '<span class="navbox-title">' .. title .. '</span>' )
	else
		table.insert( navbox, ' {| class="navbox-child" ' .. childStyle)
	end

	if above ~= '' then
		table.insert( navbox, '|-\n| class="navbox-above" colspan="2" ' .. aboveStyle .. '| '  .. above:gsub( '^([*#:{])', '\n%1' ) )
	end

	local listNums = {}
	for k, v in pairs( args ) do
		if type( k ) == 'string' then
			local listNum = k:match( 'list(%d+)' ) or k:match( 'лист(%d+)' )
			if listNum and v then
				table.insert( listNums, tonumber( listNum ) )
			end
		end
	end

	table.sort( listNums )

	for _, v in ipairs( listNums ) do
		local list = args['list' .. v] or args['лист' .. v]
		local groupl = args['group' .. v] or args['группа' .. v] or ''
		if list ~= '' and groupl ~= '' then
			table.insert( navbox, '|-\n! class="navbox-group" ' .. groupStyle .. ' | ' .. groupl )
			table.insert( navbox, '| class="navbox-list" ' .. listStyle .. '| ' .. list:gsub( '^([*#:{])', '\n%1' ) )

		else if list ~= '' then
				table.insert( navbox, '|-\n| class="navbox-list" colspan="2" ' .. listStyle .. '| ' .. list:gsub( '^([*#:{])', '\n%1' ) )
			end
		end
	end
	if below ~= '' then
		table.insert( navbox, '|-\n| class="navbox-below" colspan="2" ' .. belowStyle .. '| '  .. below:gsub( '^([*#:{])', '\n%1' ) )
	end

	table.insert( navbox, '|}' )
	
	navbox = table.concat( navbox, '\n' ):gsub( ' style=""', '' )
	return navbox
end
return p