Изменения
улучшение обработки комментариев
end
end
local content, are_comments, i = '', false, 0
-- Узнаем, заполнено ли где-то поле комментария
local are_comments = false
for k, v in pairs(args) do
local pre_targs = {}
if type(k) == 'number' then
if v ~= '' then
pre_targs = mw.text.split(v, '\\')
for k2, v2 in pairs(pre_targs) do
local equals_pos
if v2:sub(1, 1) == '_' and v2:find('=') then -- параметры настроек шаблона "пример"
equals_pos = v2:find('=')
end
if equals_pos then
local param = v2:sub(1, equals_pos - 1)
if param == '_comment' then are_comments = true end
end
end
end
end
end
local content, i = '', 0
for k, v in pairs(args) do
for k, v in pairs(args) do
local pre_targs, targs = {}, {}
local pre_targs, targs = {}, {}
i = i + 1
i = i + 1
if are_comments then
targs._comment = '' -- значение по умолчанию
end
if v ~= '' then
if v ~= '' then
pre_targs = mw.text.split(v, '\\')
pre_targs = mw.text.split(v, '\\')
for k2, v2 in pairs(pre_targs) do
for k2, v2 in pairs(pre_targs) do
equals_pos = nil
local equals_pos
if v2:sub(1, 1) == '_' and v2:find('=') then -- параметры настроек шаблона "пример"
if v2:sub(1, 1) == '_' and v2:find('=') then -- параметры настроек шаблона "пример"
equals_pos = v2:find('=')
equals_pos = v2:find('=')
end
end
if equals_pos then
if equals_pos then
param = v2:sub(1, equals_pos-1)
local param = v2:sub(1, equals_pos - 1)
value = v2:sub(equals_pos+1)
local value = v2:sub(equals_pos + 1)
targs[param] = value
targs[param] = value
else
else
if v2:sub(1, 5) == '_' then
if v2:sub(1, 5) == '_' then