From Wikiversity
Jump to navigation Jump to search

Template documentation[view] [edit] [history] [purge]

Usage[edit source]

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

|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:
N Fail!

N Fail!

Pre style[edit source]

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

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


YesY Done

Line breaks[edit source]

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.


YesY Done

Alternative separator[edit source]

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:

YesY Done

Category removal[edit source]

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

| 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
Internet-news-reader.svg1 This 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 source]

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 97: 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 source]

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