local p = {}
local getArgs = require('Module:Arguments').getArgs
local yn = require('Module:Yesno')
local cfg = mw.loadData('Module:If preview/configuration')
function p.main(frame)
local args = getArgs(frame)
if cfg.preview then
return args[1] or ''
else
return args[2] or ''
end
end
function p.pmain(frame)
return p.main(frame:getParent())
end
local function warning_text(warning)
return mw.ustring.format(
cfg.warning_infrastructure,
cfg.templatestyles,
warning
)
end
function p._warning(args)
local warning = args[1] and args[1]:match('^%s*(.-)%s*$') or ''
if warning == '' then
return warning_text(cfg.missing_warning)
end
if not cfg.preview then return '' end
if yn(args['consolewarning']) then
mw.addWarning(args[1] or cfg.missing_warning)
end
return warning_text(warning)
end
function p.pwarning(frame)
local args = getArgs(frame)
return p._warning(args)
end
function p.warn(text)
if text == nil or text == '' then return '' end
mw.addWarning(text)
return p._warning({text})
end
function p.consoleWarning(frame)
local args = getArgs(frame)
mw.addWarning(args[1] or cfg.missing_warning)
return ''
end
return p