Module:If preview: Difference between revisions
From The Goon Show Depository
m (1 revision imported) |
en>MSGJ (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 13:58, 9 September 2024
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