मोड्युल:Parameter names example
Lua error in मोड्युल:Lua_banner at line 37: attempt to index local 'maybeSandbox' (a nil value).
{{Parameter names example}} – or, alternatively, {{Generic template demo}} – is intended to assist template documentation by producing a generic instance of the template that uses parameters' names as those parameters' values.
Example
[स्रोत सम्पादन]The example opposite for {{Infobox}}, for instance, was produced by:
{{{above}}} | |
---|---|
{{{subheader2}}} | |
{{{image}}} {{{caption}}} | |
{{{header1}}} | |
{{{label2}}} | {{{data2}}} |
{{{label3}}} | {{{data3}}} |
{{{header4}}} | |
{{{data5}}} | |
{{{data6}}} | |
{{{below}}} |
{{Parameter names example |_template=Infobox |above |image |subheader |subheader2 |image |caption |label1 |label2 |data2 |label3 |data3 |header4 |data5 |data6 |below }}
Usage notes
[स्रोत सम्पादन]When {{Parameter names example}} is used on an immediate subpage of its target template – e.g. on the target template's /doc page – its own |_template=
parameter identifying the target template may be omitted. In other words, the code above, if used on Template:Infobox/page (where page could be "doc", "testcases", etc.), would become:
{{Parameter names example |title |above |subheader |subheader2 |image |caption |header1 |label2 |data2 |label3 |data3 |header4 |data5 |data6 |below }}
One exception to this is the "sandbox" subpage. If the module is called from a page ending in "/sandbox", it uses that page to generate the template output, not the base page. To override this behaviour you can specify the |_template=
parameter explicitly.
The formatting of the parameter names can be changed with the |_display=
parameter. By default, the parameter names are shown in triple braces (the parameter standard, e.g. {{{name}}} ), but if |_display=italics
or |_display=italic
is set, they are shown in italics.
A custom value for a parameter may be supplied by using |[parameter name]=[value]
in place of |[parameter name]
. Any formatting for such a value – including, for instance, italics – must be supplied as part of the value (e.g. |parameter=''value''<br/>
). Custom values cannot be used for parameters whose names begin with an underscore ("_").
See also
[स्रोत सम्पादन]- Wikipedia:Template documentation
- Template:Parameters and Module:Parameters – generates a list of parameter names for a given template
-- This module implements {{parameter names example}}.
local p = {}
local function makeParam(s)
local lb = '{'
local rb = '}'
return lb:rep(3) .. s .. rb:rep(3)
end
local function italicize(s)
return "''" .. s .. "''"
end
local function plain(s)
return s
end
function p._main(args, frame)
-- Find how we want to format the arguments to the template.
local formatFunc
if args._display == 'italics' or args._display == 'italic' then
formatFunc = italicize
elseif args._display == 'plain' then
formatFunc = plain
else
formatFunc = makeParam
end
-- Build the table of template arguments.
local targs = {}
for k, v in pairs(args) do
if type(k) == 'number' then
targs[v] = formatFunc(v)
elseif not k:find('^_') then
targs[k] = v
end
end
targs['nocat'] = 'yes';
targs['categories'] = 'no';
targs['demo'] = 'yes';
-- Find the template name.
local template
if args._template then
template = args._template
else
local currentTitle = mw.title.getCurrentTitle()
if currentTitle.prefixedText:find('/sandbox$') then
template = currentTitle.prefixedText
else
template = currentTitle.basePageTitle.prefixedText
end
end
-- Call the template with the arguments.
frame = frame or mw.getCurrentFrame()
local success, result = pcall(
frame.expandTemplate,
frame,
{title = template, args = targs}
)
if success then
return result
else
return ''
end
end
function p.main(frame)
local args = require('Module:Arguments').getArgs(frame, {
wrappers = 'Template:Parameter names example'
})
return p._main(args, frame)
end
return p