Template:Demo
This template uses Lua: |
Usage
editThis 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=☒]]<span style="display:none">N</span> Fail!
Pre style
editSet style=
to add any CSS text to the <pre>...</pre>
tag.
For example, {{demo|style=display:inline|<nowiki>{{done}}</nowiki>}}
, would result in:
{{done}}
Line breaks
editYou 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}}
Done
Alternative separator
editYou 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}}
| Done |
Category removal
editFor 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
}}
1 | 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
editIf 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