Module:If preview: Difference between revisions
Jump to navigation
Jump to search
m (1 revision imported) |
(requested enhancements by User:Awesome Aasim) |
||
Line 1: | Line 1: | ||
local p = {} | local p = {} | ||
local getArgs = require("Module:Arguments").getArgs | |||
local yn = require("Module:Yesno") | |||
local cfg = mw.loadData('Module:If preview/configuration') | local cfg = mw.loadData('Module:If preview/configuration') | ||
Line 11: | Line 12: | ||
]] | ]] | ||
function p.main(frame) | function p.main(frame) | ||
local args = getArgs(frame) | |||
if cfg.preview then | if cfg.preview then | ||
return | return args[1] or '' | ||
else | else | ||
return | return args[2] or '' | ||
end | end | ||
end | end | ||
Line 29: | Line 31: | ||
return p.main(frame:getParent()) | return p.main(frame:getParent()) | ||
end | end | ||
local function warning_text(warning) | local function warning_text(warning) | ||
Line 48: | Line 49: | ||
if not cfg.preview then return '' 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) | return warning_text(warning) | ||
end | end | ||
Line 56: | Line 58: | ||
This function returns a "preview warning", which is the first argument marked | 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. | up with HTML and some supporting text, depending on whether the page is being previewed. | ||
]] | ]] | ||
--function p.warning(frame) | -- function p.warning(frame) | ||
-- return p._warning(frame.args) | -- mw.addWarning(frame.args[1] or cfg.missing_warning) | ||
--end | -- return p._warning(frame.args) | ||
-- end | |||
--[[ | --[[ | ||
Line 68: | Line 69: | ||
]] | ]] | ||
function p.pwarning(frame) | function p.pwarning(frame) | ||
return p._warning(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 | end | ||
return p | return p |
Revision as of 19:58, 9 September 2024
Documentation for this module may be created at Module:If preview/doc
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