Module:If preview/sandbox: Difference between revisions

Content deleted Content added
tweak
Undid revision 1246785899 by Awesome Aasim (talk)
 
(46 intermediate revisions by 3 users not shown)
Line 1:
local p = {}
local getArgs = require("Module:Arguments").getArgs
 
local pvyn = mw.loadDatarequire('"Module:Preview warning/is preview'Yesno")
local cfg = mw.loadData('Module:If preview/configuration')
--[[
p.pvwc = p.pvwc or package.loaded["Module:If preview/preview warning counter"]
is_preview
or require("Module:If preview/preview warning counter")
 
This function returns a boolean indicating whether the page is a preview.
 
]]
local function is_preview(frame)
local revision_id = frame:preprocess('{{REVISIONID}}')
-- {{REVISIONID}} is usually the empty string when previewed.
-- I don't know why we're checking for nil but hey, maybe someday things
-- would have broken
return revision_id == nil or revision_id == ''
end
 
--[[
Line 24 ⟶ 14:
]]
function p.main(frame)
local args = getArgs(frame)
if pvcfg.is_previewpreview then
return frame.args[1] or ''
else
return frame.args[2] or ''
end
end
Line 34 ⟶ 25:
pmain
 
This function returns the 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.
Line 41 ⟶ 32:
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 = frame.args[1] and args[1]:match('^%s*(.-)%s*$') or ''
if warning == '' then
return warning_text(cfg.missing_warning)
end
if not pvcfg.is_previewpreview then return '' end
if yn(args['consolewarning']) then mw.addWarning('[' .. p.pvwc.incr() .. '] ' .. (args[1] or cfg.missing_warning)) end
return warning_text(warning)
end
 
Line 50 ⟶ 62:
 
]]
-- function p.warning(frame)
-- mw.addWarning(frame.args[1] or cfg.missing_warning)
if not pv.is_preview then return '' end
-- return p._warning(frame.args)
-- end
local warning = frame.args[1]:match('^%s*(.-)%s*$') or ''
 
if warning == '' then
--[[
warning = 'The template has no warning text. Please add a warning.'
warning, but for pass-through templates like {{preview warning}}
end
]]
local function is_previewp.pwarning(frame)
return mw.ustring.format(
local args = getArgs(frame)
'%s<div class="preview-warning"><strong>Preview warning:</strong> %s</div>',
return p._warning(args)
frame:extensionTag{
end
name = 'templatestyles', args = { src = 'Module:Preview warning/styles.css' }
 
},
--[[
warning
Does both mw.addWarning and preview warning
)
]]
 
function p.warn(text)
if text == nil or text == "" then return "" end
mw.addWarning('[' .. p.pvwc.incr() .. '] ' .. text)
return p._warning({text})
end
 
--[[
Console warning
]]
function p.consoleWarning(frame)
local args = getArgs(frame)
mw.addWarning('[' .. p.pvwc.incr() .. '] ' .. (args[1] or cfg.missing_warning))
return ''
end