Template:Demo

From TechInfoDepot
Jump to navigationJump to search
Documentation icon Template documentation[view] [edit] [history] [purge]

This template simply places template code (or any other code) in a <syntaxhighlight lang="wikitext">…</syntaxhighlight> tag and then places the rendering of that code below it. The template's skeleton is:

{{demo|<nowiki>{{your template}}</nowiki>}}
Template call
(m for magic word)
Output (delayed interpretation as wikimarkup) HTML alternative (never interpreted as wikimarkup)
{{!}} (m) &#124; or {{pipe}}
{{=}} (m) = &#61;
{{!!}} &#124;&#124;
{{!(}} Template:!( &#91;
{{)!}} Template:)! &#93;
{{!((}} [[ &#91;&#91;
{{))!}} ]] &#93;&#93;
{{(}} Template:( &#123;
{{)}} Template:) &#125;
{{((}} {{ &#123;&#123;
{{))}} }} &#125;&#125;
{{(((}} Template:((( &#123;&#123;&#123;
{{)))}} Template:))) &#125;&#125;&#125;
{{(!}} {| &#123;&#124;
{{!+}} |+ &#124;&#43;
{{!-}} |- &#124;&#45;
{{!)}} |} &#124;&#125;

Failure to wrap <nowiki>…</nowiki> tags around the source may cause the source to be executed before it reaches this template. {{demo|{{fail}}}} produces:

[[:Template:Fail]]
Template:Fail

Pre style

Set |style= to add any CSS text to the <pre>…</pre> tag.

For example, {{demo|style=margin-left: 1.6em;|<nowiki>{{done}}</nowiki>}} will produce:

{{done}}
Template:Done

Separator

You can change the separator between the <syntaxhighlight> and the template by setting the |sep= parameter.

{{demo|sep=produces|<nowiki>{{done}}</nowiki>}}
{{done}}
produces Template:Done

You may use |sep=<td> can make the demonstration fit in a table:

{{done}}
Template:Done

Instead of using |sep=, you can also specify the number of line breaks between the code and the template in the |br= parameter.

Reverse order

Use |reverse=1 to show the code snippet and the result in reverse order:

{{demo|reverse=1|<nowiki>{{tl|template}}</nowiki>}}

will produce

{{template}}
{{tl|template}}

Category removal

For templates that add categories (e.g. {{Asbox}}), set |nocat= (or |demo_kill_categories=) to anything to prevent them from showing up in the output:

{{Asbox
| image = Østfold_våpen.svg
| pix = 30
| subject = [[Østfold]] location
| name = Template:Østfold-geo-stub
| category = Østfold geography stubs
| tempsort = *
}}
produces:


Module

If the template used is based on Lua, you can pass args directly to the demonstrated module by invoking Module:Demo like so: (this would reduce server stress)

{{#invoke:Demo|module|demo_module=RoundN|demo_module_func=N2|demo_template=Round2
|bold_winner=high
|May 1|Team A|1|Team B|2
}}

Lua error in package.lua at line 80: module 'Module:RoundN' not found.

Note: It will attempt to preserve line breaks for unnamed params, but such is impossible for named params since those are stripped of whitespace/order before being passed to the module. Also note, you should use |demo_sep= instead of |sep= (all args you don't want being passed should be prefixed with demo_ if not already)

TemplateData

This is the TemplateData for this template, which is used by TemplateWizard, the VisualEditor and still other tools.

TemplateData for Demo


No description.

Template parameters

ParameterDescriptionTypeStatus
Content1

must be wrapped in <nowiki>

Unknownoptional
sepsep

Number of line breaks, or wikitext to fill in as the linebreak

Unknownoptional
nocatnocat demo_kill_categories

no description

Booleanoptional
result_argresult_arg

no description

Unknownoptional
<syntaxhighlight> stylestyle

no description

Unknownoptional
Reverse orderreverse

Show the code snippet and the result in reverse order

Default
0
Auto value
1
Booleanoptional

See also

Other formatting templates

{{#lsth:Template:Template-linking_templates|Other formatting templates}}