Module:Citation mode
Appearance
From Wikipedia, the free encyclopedia
Warning This Lua module is used on approximately 35,000 pages and changes may be widely noticed. Test changes in the module's /sandbox or /testcases subpages, or in your own module sandbox. Consider discussing changes on the talk page before implementing them.
This function is intended to be used in |mode= for templates which wrap other citation templates. It outputs its argument unless {{CS1 config }} configures a page-wide mode on the current page, in which case it outputs nothing. The effect of this is that templates invoking this module do not set a mode, allowing the parent template to obey the page-wide mode set in {{CS1 config }}.
Wrapper templates should not attempt to access {{CS1 config }} directly, because this would cause them to be incorrectly added to Category:CS1 maint: overridden setting.
Usage
{{#invoke:Citation mode|main|mode}}
- returns empty if {{CS1 config }} mode is set on page, otherwise returns mode argument.
Tests
Because the behavior of this module depends on global read-only state, tests are split between two files:
- The tests without {{CS1 config }} being used are here, with results here.
- The tests with {{CS1 config }} being used are here, with results here.
See also
The above documentation is transcluded from Module:Citation mode/doc. (edit | history)
Editors can experiment in this module's sandbox (edit | diff) and testcases (edit | run) pages.
Subpages of this module.
Editors can experiment in this module's sandbox (edit | diff) and testcases (edit | run) pages.
Subpages of this module.
require('strict') localp={} -- determine whether we're being called from a sandbox localisSandbox=mw.getCurrentFrame():getTitle():find('sandbox',1,true) localsandbox=isSandboxand'/sandbox'or'' localcfg=mw.loadData('Module:Citation/CS1/Configuration'..sandbox) -- if cs1 config is set, return false, otherwise use supplied mode -- this prevents putting articles into "overriden mode" tracking category functionp._main(mode) returnnotcfg.global_cs1_config_t['Mode']andmode end functionp.main(frame) returnp._main(frame.args[1])or"" end returnp