Template:Demo
![]() | This template uses Lua: |
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.
{{demo|<nowiki>{{your template}}</nowiki>}}
IMPORTANT: You must wrap <nowiki>...</nowiki>
tags around the source to be demonstrated (or use {{escape}}, which has a demo-escape example), like so: {{demo|<nowiki>[template source]</nowiki>}}
Failure to wrap <nowiki>...</nowiki>
tags around the source may cause the source to be executed before it reaches this template. {{demo|{{fail}}}}
produces:
<bigstyle="color:#DF0A24; font-size:1.4em;">✗</big> '''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}}

Separator
You can change the separator between the <syntaxhighlight>
and the template by setting the |sep=
parameter.
{{demo|sep=produces|<nowiki>{{done}}</nowiki>}}
{{done}}

You may use |sep=<td>
can make the demonstration fit in a table:
{{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 = * }}
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 }}
{{Round2|bold_winner=high |May 1|Team A|1|Team B|2 }}
Final | ||
May 1 | ||
Team A | 1 | |
Team B | 2 | |
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
TemplateData for Demo
No description.
Parameter | Description | Type | Status | |
---|---|---|---|---|
Content | 1 | must be wrapped in <nowiki> | Unknown | optional |
sep | sep | Number of line breaks, or wikitext to fill in as the linebreak | Unknown | optional |
nocat | nocat demo_kill_categories | no description | Boolean | optional |
result_arg | result_arg | no description | Unknown | optional |
<syntaxhighlight> style | style | no description | Unknown | optional |
Reverse order | reverse | Show the code snippet and the result in reverse order
| Boolean | optional |
See also
- {{Demo-inline}}, for an inline version of this template
- {{Escape}} - which has an example of this template without nowiki tags
- {{Nowiki template demo}} which uses Module:Template test case
- {{Automarkup}} which uses Module:Automarkup
Other formatting templates
Code example | Effect | Notes |
---|---|---|
{{Tj|Hatnote|Some text|selfref: yes|category: no|lang: fr}} | Supports colors, placeholder texts, named and unnamed parameters | |
<syntaxhighlightlang="wikitext">{{Hatnote| Some text | selfref = yes | category = no | lang = fr }}</syntaxhighlight> | {{Hatnote| Some text | selfref = yes | category = no | lang = fr }} | Same as above |
{{Tji|Hatnote|Some text|selfref: yes|category: no|lang: fr}} | {{Hatnote | Supports colors, placeholder texts, named and unnamed parameters |
| {{Hatnote|Some text|selfref=yes|category=no|lang=fr}} | Same as above |
{{tl2|Hatnote|lang=fr}} | {{hatnote}} | Supports linking to sister projects (e.g., fr:Hatnote) |
{{demo|<nowiki>{{Hatnote|lang=fr|Some text}}</nowiki>}} | {{hatnote|lang=fr|Some text}} | Shows code and example |
{{tln|Hatnote}} | Template:Hatnote | Produces a normal link to the template |
{{elc|Template:Hatnote}} {{elc|Template:Hatnote|Hatnote}} | [[Template:Hatnote]] [[Template:Hatnote|Hatnote]] | Formats wikilink, with optional piped link text and blended suffix |
{{ml|Example|hello}} | {{#invoke:Example|hello}} | Counterpart to {{tl}} for linking to Lua modules |
{{mfl|Example|hello}} | {{#invoke:Example|hello}} | Similar to {{ml}}, but expects the function to be documented and creates a link to the corresponding section |
{{mlx|Example|hello}} | {{#invoke:Example|hello}} | Counterpart to {{tlx}} for linking to Lua modules |
{{ml-lua|Module:Example}} | require('Module:Example') | Link to Lua modules and built-in libraries, showing Lua code. |
{{para|title|<var>book title</var>}} | |title=book title | Formats template parameters for display, with or without values |
{{sclx|LASTING}} | [[WP:LASTING]] | Takes a shortcut suffix in project namespace and displays it with brackets and the WP: alias in a <code>...</code> tag. |
{{tag|ref}} {{xtag|templatedata}} | <ref>...</ref> <templatedata> | Formats [X]HTML tags; can add content, choose opening, closing, or self-closing |
{{dtl|Ping project}} | {{d:Ping project}} | Wikidata counterpart to {{tl}} |
{{pf|if}} {{pf|if|{{{1}}}|true|false}} | {{#if}} {{#if:{{{1}}}|true|false}} | Parser function equivalent to {{tl}} |
{{magic word|uc:}} | {{uc:}} | Magic word links |