Модуль:Based on

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
{{i}} Документація модуля[перегляд] [редагувати] [історія] [очистити кеш]

Цей модуль впроваджує {{Based on}}.

Використання[ред. код]

Щоб напряму викликати цей модуль (всі аргументи, крім твору, є необов'язковими):

{{#invoke:Based on|lua_main|Назва твору|Автор 1|Автор 2|...}}

Щоб викликати його через шаблон, передавши через нього аргументи:

{{#invoke:Based on|main}}

local p = {}

function p.lua_main(frame)
	local s = frame.args[1]
	
	if frame.args[3] then
		local args = {}
		
		for i, v in ipairs(frame.args) do
			if i >= 2 then
				args[#args+1] = v
			end
		end
		
		args['style'] = 'display: inline'
		args['list_style'] = 'display: inline'
		args['item1_style'] = 'display: inline'
		
		h = mw.html.create('div')
		h:wikitext(s)
		h:tag('br') -- h:newline() is not working for some reason
		h:wikitext(' ')
		h:wikitext(frame:expandTemplate{ title = 'Unbulleted list', args = args })
		
		return h
	elseif frame.args[2] then
		s = s .. '<br /> ' .. frame.args[2]
		return s
	end
	
	return s
end

function p.main(frame)
	return p.lua_main(frame:getParent())
end

return p