Módulo:If preview
![]() | Este módulo está na categoria sujeitos a proteção de página. Ele é um módulo de alta visibilidade em uso por um grande número de páginas, ou é transcluído muito frequentemente. Por causa do vandalismo ou erros que podem afectar muitas páginas, e mesmo edições triviais podem causar cargas substanciais nos servidores, ele está protegido de editar. |
![]() | Este módulo depende dos seguintes outros módulos: |
![]() | Esse módulo utiliza TemplateStylesEN: |
Este módulo implementa {{If preview}} e {{Preview warning}}. Ele ajuda a(o)s predefinições/módulos a determinar se estão sendo pré-visualizada(o)s.
Prefira implementar as versões de predefinição em outras predefinições.
Em um módulo para usar o main()
, você precisa passar uma tabela de quadros ("frame") com uma tabela de argumentos ("args").
Para o aviso de pré-visualização, use _warning()
.
local p = {}
local getArgs = require("Module:Arguments").getArgs
local yn = require("Module:Yesno")
local cfg = mw.loadData('Módulo:If preview/configuration')
--[[
main
Esta função retorna o primeiro argumento ou o segundo argumento passado para
este módulo, dependendo se a página estiver sendo pré-visualizada.
]]
function p.main(frame)
local args = getArgs(frame)
if cfg.preview then
return args[1] or ''
else
return args[2] or ''
end
end
--[[
pmain
Esta função retorna o primeiro argumento ou o segundo argumento passado para a parental deste módulo (ou seja, a predefinição usando este módulo), dependendo se
estiver sendo pré-visualizada.
]]
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
--[[
Aviso
Esta função retorna um "aviso de pré-visualização", que é o primeiro argumento marcado
com 'HTML' e algum texto de suporte, dependendo se a página estiver sendo pré-visualizada.
]]
-- function p.warning(frame)
-- mw.addWarning(frame.args[1] or cfg.missing_warning)
-- return p._warning(frame.args)
-- end
--[[
Aviso, mas para predefinições de passagem como a {{Preview warning}}
]]
function p.pwarning(frame)
local args = getArgs(frame)
return p._warning(args)
end
--[[
Tanto 'mw.addWarning' quanto 'preview warning'
]]
function p.warn(text)
if text == nil or text == "" then return "" end
mw.addWarning(text)
return p._warning({text})
end
--[[
Aviso do console
]]
function p.consoleWarning(frame)
local args = getArgs(frame)
mw.addWarning(args[1] or cfg.missing_warning)
return ''
end
return p