Module:If preview: Difference between revisions
From Roses, Tulips, & Liberty
Content added Content deleted
m (Changed protection level for "Module:If preview": High-risk Lua module ([Edit=Require template editor access] (indefinite) [Move=Require template editor access] (indefinite))) |
(merge in functionality from Module:Preview warning and add TemplateStyles, remove p.boolean as not necessary, move some stuff into a cfg page, and don't return temporaries in p.main, remove use) |
||
Line 1: | Line 1: | ||
local p = {} |
local p = {} |
||
local cfg = mw.loadData('Module:If preview/configuration') |
|||
--[[ |
--[[ |
||
main |
main |
||
This function returns |
This function returns either the first argument or second argument passed to |
||
this module, depending on whether the page is being previewed. |
|||
Usage: |
|||
{{#invoke:If preview|main|value_if_preview|value_if_not_preview}} |
|||
]] |
]] |
||
function p.main(frame) |
function p.main(frame) |
||
if cfg.preview then |
|||
local result = '' |
|||
⚫ | |||
Preview_mode = frame:preprocess('{{REVISIONID}}'); -- use magic word to get revision id |
|||
if not (Preview_mode == nil or Preview_mode == '') then -- if there is a value then this is not a preiview |
|||
⚫ | |||
else |
else |
||
return frame.args[2] or '' |
|||
end |
end |
||
return result |
|||
end |
end |
||
Line 25: | Line 21: | ||
pmain |
pmain |
||
This function returns |
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. |
|||
Usage: |
|||
{{#invoke:If preview|pmain}} |
|||
]] |
]] |
||
function p.pmain(frame) |
function p.pmain(frame) |
||
return p.main(frame:getParent()) |
return p.main(frame:getParent()) |
||
⚫ | |||
local function warning_text(warning) |
|||
return mw.ustring.format( |
|||
cfg.warning_infrastructure, |
|||
cfg.templatestyles, |
|||
warning |
|||
⚫ | |||
end |
|||
⚫ | |||
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 |
|||
return warning_text(warning) |
|||
end |
end |
||
--[[ |
--[[ |
||
warning |
|||
boolean |
|||
This function returns |
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. |
|||
disabled since we'll implement the template version in general |
|||
Usage: |
|||
{{#invoke:If preview|boolean}} |
|||
]] |
]] |
||
--function p.warning(frame) |
|||
-- return p._warning(frame.args) |
|||
--end |
|||
--[[ |
|||
⚫ | |||
warning, but for pass-through templates like {{preview warning}} |
|||
local result = '' |
|||
]] |
|||
Preview_mode = frame:preprocess('{{REVISIONID}}'); -- use magic word to get revision id |
|||
function p.pwarning(frame) |
|||
if not (Preview_mode == nil or Preview_mode == '') then -- if there is a value then this is not a preiview |
|||
return p._warning(frame:getParent().args) |
|||
result = false; |
|||
else |
|||
result = true; -- no value (nil or empty string) so this is a preview |
|||
⚫ | |||
return result |
|||
end |
end |
||
⚫ | |||
return p |
return p |