پودمان:فهرست کارها
ظاهر
require('strict')
local p = {}
local getArgs = require('Module:Arguments').getArgs
local yesno = require('Module:Yesno')
function p._main (args)
if args['پسزمینه'] then args.bg = args['پسزمینه'] end
if args['جعبه'] then args.box = args['جعبه'] end
if args['سبک'] then args.style = args['سبک'] end
if args['عرض'] then args.width = args['عرض'] end
local sep = (args[1] and args[1] ~= '') and args[1] or '*'
sep = mw.ustring.gsub(sep, '(\n)', '') -- trim newlines
local isList = (sep == '*' or sep == '#')
local out = '' .. (isList and '\n' .. sep or '')
local numArgs = {}
for k, v in ipairs(args) do
if tonumber(k) ~= 1 then
table.insert(numArgs, args[k])
end
end
local i = 1
repeat
if tonumber(i) < #numArgs then
out = out .. numArgs[i] .. (isList and '\n' or '') .. sep
else
out = out .. numArgs[i]
end
i = i + 1
until i > #numArgs
if yesno(args.box, true) then
out = mw.html.create('div')
:css('width', args.width or '20em')
:css('background', args.bg or '#f8f9fa')
:css('border', '1px solid black')
:css('padding', '10px')
:cssText(args.style or '')
:wikitext(tostring(out))
end
return out
end
function p.main (frame)
local args = getArgs(frame, {
valueFunc = function (key, value)
if key == 1 then
return value
elseif value then
value = mw.text.trim(value)
if value ~= '' then
return value
end
end
return nil
end
})
return p._main(args)
end
return p