Template:Demo

Revision as of 14:46, 31 March 2024 by Wikipedia>CambridgeBayWeather (Changed protection settings for "Template:Demo" ([Edit=Require extended confirmed access] (indefinite) [Move=Require extended confirmed access] (indefinite)))
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Template documentation follows
Note: the template above may sometimes be partially or fully invisible.
Visit "Template:Demo/doc" to edit its documentation if it is available. (How does this work?)

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.

Usage

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;
{{!(}} [ &#91;
{{)!}} ] &#93;
{{!((}} [[ &#91;&#91;
{{))!}} ]] &#93;&#93;
{{(}} { &#123;
{{)}} } &#125;
{{((}} {{ &#123;&#123;
{{))}} }} &#125;&#125;
{{(((}} {{{ &#123;&#123;&#123;
{{)))}} }}} &#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:

<big style="color:#DF0A24; font-size:1.4em;">&#x2717;</big>&nbsp;'''Fail'''

✗ 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}}

 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  Done

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

{{done}}
 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. {{Article stub box}}), set |nocat= (or |demo_kill_categories=) to anything to prevent them from showing up in the output:

{{Article stub box
| 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, args can be passed 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 A1
 
 
Team B2
 

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 used by TemplateWizard, VisualEditor and other tools. See a monthly parameter usage report for Template:Demo in articles based on its TemplateData.

TemplateData for Demo

This template takes wikitext and displays it in syntax highlighting and displays the rendering of the wikitext below.

Template parameters[Edit template data]

ParameterDescriptionTypeStatus
Content1

must be wrapped in <nowiki>

Example
<nowiki>{{citation needed}}</nowiki>
Contentoptional
Separatorsep

Wikitext to fill in as the linebreak

Example
produces:
Contentoptional
No categoriesnocat demo_kill_categories

Prevent categories from showing up in the output

Booleanoptional
result_argresult_arg

no description

Unknownoptional
<syntaxhighlight> stylestyle

CSS styling for the code

Example
margin-left: 1.6em;
Stringoptional
Reverse orderreverse

Show the code snippet and the result in reverse order

Default
0
Auto value
1
Booleanoptional
Number of line breaksbr

Produce this number of line breaks.

Default
1
Numberoptional

See also

Other formatting templates

Templates producing specialised formatting effects for given templates, modules or parameters
Code example Effect Notes
<syntaxhighlight lang="wikitext">
{{Hatnote
   | Some text
   | selfref = yes
   | category = no
   | lang = fr
}}
</syntaxhighlight>
{{Hatnote
    | Some text
    | selfref = yes
    | category = no
    | lang = fr
}}
Same as above
<syntaxhighlight lang="wikitext" inline>
{{Hatnote |Some text |selfref=yes |category=no |lang=fr}}
</syntaxhighlight>
{{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|Some text}}</nowiki>}}
{{hatnote|Some text}}
Shows code and example
{{tln|Hatnote}} Template:Hatnote Produces a normal link to the template
{{elc|Template:Example}}
{{elc|Template:Example|Text|suffix}}
[[Template:Example]]
[[Template:Example|Text]]suffix
Shows how wikilink would be entered in wiki markup, with optional link text and 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}}
{{mwl|#if}}
{{mwl|#if|{{{1}}}|true|false}}
{{#if}}
{{#if:{{{1}}}|true|false}}
Magic word links
{{pf|if}}
{{pf|if|{{{1}}}|true|false}}
{{#if}}
{{#if:{{{1}}}|true|false}}
Parser function equivalent to {{tl}}