Jump to content

Module:For nowiki/doc: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Usage: Add offset to usage demo
Example: Use syntaxhighlight
Line 13: Line 13:


== Example ==
== Example ==
If you have a template Foo:
If you have a template <code>_TEMPLATE_</code>:


<pre>{{#invoke:For nowiki|template|<br>|&lt;nowiki&gt;{{{i}}} is {{{1}}}. Next is {{#expr:{{{i}}} + 1}}.&lt;/nowiki&gt;}}</pre>
<syntaxhighlight lang="wikitext">{{#invoke:For nowiki|template|<br>|&lt;nowiki&gt;{{{i}}} is {{{1}}}. Next is {{#expr:{{{i}}} + 1}}.&lt;/nowiki&gt;}}</syntaxhighlight>


Then calling:
Then calling:


<pre>{{Foo|A|B|Foo|Orange}}</pre>
<syntaxhighlight lang="wikitext">{{_TEMPLATE_|A|B|Foo|Orange}}</syntaxhighlight>


Would produce:
Produces:


{{Call wikitext|sourceCode=<nowiki>{{#invoke:For nowiki|template|<br>|&lt;nowiki&gt;{{{i}}} is {{{1}}}. Next is {{#expr:{{{i}}} + 1}}.&lt;/nowiki&gt;}}</nowiki>|A|B|Foo|Orange}}
{{Call wikitext|sourceCode=<nowiki>{{#invoke:For nowiki|template|<br>|&lt;nowiki&gt;{{{i}}} is {{{1}}}. Next is {{#expr:{{{i}}} + 1}}.&lt;/nowiki&gt;}}</nowiki>|A|B|Foo|Orange}}

Revision as of 23:48, 5 September 2024

This module implements a foreach loop that can be used from wikitext. It exports two functions:

  • main - Implements {{For nowiki}}, which can be used with explicitly provided parameters. Should not be called diretly.
  • template - Designed to be used from within other templates. It takes explicit configuration parameters but it uses parameters passed to the parent frame (the template) for all others. Should be called directly.

Usage

{{#invoke:For nowiki|template|separator|<nowiki>wikitext</nowiki>|offset=offset}}
  • separator and wikitext function the same as described in Template:For nowiki/doc#Usage.
  • offset is the offset of the first argument to process. Defaults to 0, which means the |1= parameter passed to the template is the first parameter processed.

Example

If you have a template _TEMPLATE_:

{{#invoke:For nowiki|template|<br>|&lt;nowiki&gt;{{{i}}} is {{{1}}}. Next is {{#expr:{{{i}}} + 1}}.&lt;/nowiki&gt;}}

Then calling:

{{_TEMPLATE_|A|B|Foo|Orange}}

Would produce:

1 is A. Next is 2.
2 is B. Next is 3.
3 is Foo. Next is 4.
4 is Orange. Next is 5.

See also