Módulo:If preview
Aspeto
![]() | Este módulo é usado em mais de 4 640 páginas e as alterações em seu conteúdo serão amplamente notadas. Por favor, teste as alterações na subpágina de testes deste módulo, na subpágina de testes de módulos ou na subpágina de testes em seu espaço usuário. Considere discutir mudanças na página de discussão antes de implementá-las. |
![]() | Este módulo depende dos seguintes outros módulos: |
![]() | Este módulo utiliza TemplateStyles: |
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("Módulo:Arguments").getArgs
local yn = require("Módulo: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