Usage

edit

This template simply places template code in a <pre>...</pre> tag and then places the template below the pre tag.

{{demo
|br =
|demo_kill_categories =
|<nowiki>{{your template}}</nowiki>
}}

IMPORTANT: You must wrap include <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:
[[File:X mark.svg|20px|link=|alt=&#9746;]]<span style="display:none">N</span> Fail!

☒N Fail!

Pre style

edit

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

For example, {{demo|style=display:inline|<nowiki>{{done}}</nowiki>}}, would result in:


{{done}}

checkY Done

Line breaks

edit

You can change the number of line breaks between the pre tag and the template by setting br= to a number. The default is 1.

{{demo|br=3|<nowiki>{{done}}</nowiki>}}
{{done}}






checkY Done


Alternative separator

edit

You may also include an alternative separator by setting |br= to something other than a number and it will take the place of the br tags. For example, |br=<td> can make demo fit in a table:

{{done}}
checkY Done

Category removal

edit

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

{{userbox-skills
| level    = 1
| id       = [[File:Internet-news-reader.svg|35px]]
| info     = This user has a '''[[:Category:User press experience level-1|basic]]''' '''[[:Category:User press experience level|experience level of talking to the press]]''' (helped distributing a press release; has written a comment/letter to the editor). 
| usercategory  = User press experience level
| usercategory2 = User press experience level-1
}}

produces:

1This user has a basic experience level of talking to the press (helped distributing a press release; has written a comment/letter to the editor).

Module

edit

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_br=0| demo_module=URL |demo_module_func=url |demo_template=URL
| lua.org
| Lua
}}

Lua error in Module:URL at line 94: frame:getParent: invalid frame object. Did you call getParent with a dot instead of a colon, i.e. frame.getParent() instead of frame:getParent()?.

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_br= instead of |br= (all args you don't want being passed should be prefixed with 'demo_' if not already)

See also

edit
  • {{Escape}} - which has an example of this template without nowiki tags