Module:If preview
跳到导航
跳到搜索
![]() | 此模块使用Lua語言: |
- 本模块使用以下模板样式:模块:If preview/styles.css
此模块用于实现模板{{if preview}}和{{preview warning}}的功能。它有助于模板/模块确定它们是否处于被预览的状态。
倾向于在其他模板中实现该模板的版本。
若要在一个模块中使用main()
,你需要传递一个框架表和一个args表。
对于预览警告,请使用_warning()
。
- local p = {}
- 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)
- if cfg.preview then
- return frame.args[1] or ''
- else
- return frame.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
- 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.
- disabled since we'll implement the template version in general
- ]]
- --function p.warning(frame)
- -- return p._warning(frame.args)
- --end
- --[[
- warning, but for pass-through templates like {{preview warning}}
- ]]
- function p.pwarning(frame)
- return p._warning(frame:getParent().args)
- end
- return p