Difference between revisions of "Template:Escape/doc"

From blackwiki
Jump to navigation Jump to search
imported>Vanisaac
m (→‎Examples: clean up per WP:CAT#T and WP:AWBREQ add template:Sandbox other)
imported>WOSlinker
(border/cellpadding/cellspacing not needed due to wikitable class)
Line 8: Line 8:
 
For example, {{t|demo}} normally requires the demonstrated template to be wrapped in {{tag|nowiki}}. However, you may want part of the value to be shown in the 'pre' tag to be processed before it reaches {{t|demo}}, such as in the example below where the result of <code>{{escape|mode=kill|char=!|{*{#invoke:Escape/testcases!test_string2}*}|*|{{!}}}}</code> is shown inside the {{tag|pre}} tags.
 
For example, {{t|demo}} normally requires the demonstrated template to be wrapped in {{tag|nowiki}}. However, you may want part of the value to be shown in the 'pre' tag to be processed before it reaches {{t|demo}}, such as in the example below where the result of <code>{{escape|mode=kill|char=!|{*{#invoke:Escape/testcases!test_string2}*}|*|{{!}}}}</code> is shown inside the {{tag|pre}} tags.
  
{| border=1 cellspacing=0 style='width:30%' class=wikitable
+
{| style='width:30%' class=wikitable
 
|-
 
|-
 
!Code
 
!Code

Revision as of 17:47, 7 June 2020

Usage

While primarily intended for use by other Lua modules, it can provide an alternative to multiple <nowiki>...</nowiki> tags when part of the desired output should be executed.

For example, Template:T normally requires the demonstrated template to be wrapped in <nowiki>...</nowiki>. However, you may want part of the value to be shown in the 'pre' tag to be processed before it reaches Template:T, such as in the example below where the result of {{#invoke:Escape/testcases|test_string2}} is shown inside the <pre>...</pre> tags.

Code Result
{{demo
|<!--not escaped: -->{{escape | mode = kill 
  | char=; 
  | {*{#invoke:Escape ; main ; mode {{=}} kill ;
<!--unescaped:-->{{#invoke:Escape/testcases|test_string2}}<br>; { }*} 
  | * 
  | {{!}} }}
}}
{{#invoke:Escape | main | mode = kill |
test { test {\{ test, \test, \{,test\ \ \ {\
| { }}

test test { test, test, {,test

Note how the * character, used to break up the {{ to prevent execution, is removed and how the ; character is replaced by |.

Non-execution

After removal of the escape chars, the returned text is inert; i.e. not executed even without <pre>...</pre>. (The above example is executed only because Template:T forces execution.)

For example, setting |mode=kill with \{\{done\}\} as the first parameter and nothing else will simply cause the default escape character \ to be removed:

{{done}}

Examples

Module talk:Escape/testcases