Jump to content

Module:If preview

Permanently protected module
From Wikipedia, the free encyclopedia

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 {{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