Изменения

пустой параметр → вызов {{пример}} без пустого второго параметра, -_ из названий параметров, +wide
Строка 29: Строка 29:  
getArgs = require('Module:Arguments').getArgs
 
getArgs = require('Module:Arguments').getArgs
 
end
 
end
local trim = not (require('Module:Yesno')(frame:getParent().args._trim, false) == false) --по умолчанию true
+
yesno = require('Module:Yesno')
 +
local trim = not (yesno(frame:getParent().args.trim or frame:getParent().args._trim, false) == false) --по умолчанию true
 
local args = copy(getArgs(frame, {trim = trim, removeBlanks = false})) --copy(frame.args)
 
local args = copy(getArgs(frame, {trim = trim, removeBlanks = false})) --copy(frame.args)
local tname = args._template or args[1]
+
local tname = args.t or args._t or args.template or args._template or args[1]
local opener = args._opener or '* '
+
local opener = args.opener or args._opener or '* '
local sep = args._sep
+
local sep = args.sep or args._sep
local style = args._style
+
local style = args.style or args._style
local pre_text = args['_pre-text'] or args._prefix or ''
+
local pre_text = args['pre-text'] or args['_pre-text'] or args.prefix or args._prefix or ''
local post_text = args['_post-text'] or args._postfix or ''
+
local post_text = args['post-text'] or args['_post-text'] or args.postfix or args._postfix or ''
if (style == 'wikitable') then
+
local inthemiddle = yesno(args.inthemiddle or args._inthemiddle, false)
 +
local wide = yesno(args.wide or args._wide, false)
 +
if style == 'wikitable' then
 
opener = '|-\n| '
 
opener = '|-\n| '
 
end
 
end
Строка 49: Строка 52:  
 
 
local targs, content = {}, ''
 
local targs, content = {}, ''
if (style == 'wikitable') then
+
if (style == 'wikitable' and not inthemiddle) then
content = '{| class="wikitable"\n! Код !! Результат\n'
+
content = '{| class="wikitable '
 +
if wide then
 +
content = content .. 'wide'
 +
end
 +
content = content .. '"\n! Код !! Результат\n'
 
end
 
end
 
for k, v in pairs(args) do
 
for k, v in pairs(args) do
 
if type(k) == 'number' then
 
if type(k) == 'number' then
targs = mw.text.split(v, '\\')
+
if v ~= '' then
 +
targs = mw.text.split(v, '\\')
 +
end
 
table.insert(targs, 1, tname)
 
table.insert(targs, 1, tname)
 
targs._sep, targs._style, targs['_pre-text'], targs['_post-text'] = sep, style, pre_text, post_text
 
targs._sep, targs._style, targs['_pre-text'], targs['_post-text'] = sep, style, pre_text, post_text
Строка 60: Строка 69:  
end
 
end
 
end
 
end
if (style == 'wikitable') then
+
if (style == 'wikitable' and not inthemiddle) then
 
content = content .. '|}'
 
content = content .. '|}'
 
else
 
else
Анонимный участник