Template:If preview
local p = {} local getArgs = require("Module:Arguments").getArgs local yn = require("Module:Yesno") local cfg = mw.loadData('Module:If preview/configuration')
--[[ main
This function returns either the first argument or second argument passed to this module, depending on whether the page is being previewed.
]] function p.main(frame) local args = getArgs(frame) if cfg.preview then return args[1] or else return args[2] or end end
--[[ pmain
This function returns either the first argument or second argument passed to this module's parent (i.e. template using this module), depending on whether it is being previewed.
]] 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
--[[ warning
This function returns a "preview warning", which is the first argument marked up with HTML and some supporting text, depending on whether the page is being previewed.
]] -- function p.warning(frame) -- mw.addWarning(frame.args[1] or cfg.missing_warning) -- return p._warning(frame.args) -- end
--[[ warning, but for pass-through templates like Template:Preview warning ]] function p.pwarning(frame) local args = getArgs(frame) return p._warning(args) end
--[[ Does both mw.addWarning and preview warning ]]
function p.warn(text) if text == nil or text == "" then return "" end mw.addWarning(text) return p._warning({text}) end
--[[ Console warning ]] function p.consoleWarning(frame) local args = getArgs(frame) mw.addWarning(args[1] or cfg.missing_warning) return end
return p