Difference between revisions of "Template:List lookup helper"
Jump to navigation
Jump to search
Kevin Wang (talk | contribs) m |
Kevin Wang (talk | contribs) m |
||
| Line 1: | Line 1: | ||
| − | <includeonly> | + | <includeonly>{{#ifeq:{{#var:page_name}}|{{{1}}}|<!-- |
If page name is previously defined AND it equals arg1 then this invocation of the template can be skipped. This maintains the invariant of "loaded exactly once" if this is transcluded in another template that is itself transcluded multiple times. | If page name is previously defined AND it equals arg1 then this invocation of the template can be skipped. This maintains the invariant of "loaded exactly once" if this is transcluded in another template that is itself transcluded multiple times. | ||
| Line 16: | Line 16: | ||
-->|{{#iferror:{{#len:{{#var:loaded_page}}}}|{{Warning|This list is too large to be parsed with the default behavior - please [{{#var:page_name}}edit it] to make use of the [[Template:Sublist|Sublist]] template.}}|{{List lookup helper/default case}}}}<!-- | -->|{{#iferror:{{#len:{{#var:loaded_page}}}}|{{Warning|This list is too large to be parsed with the default behavior - please [{{#var:page_name}}edit it] to make use of the [[Template:Sublist|Sublist]] template.}}|{{List lookup helper/default case}}}}<!-- | ||
-->}}<!-- | -->}}<!-- | ||
| − | --> | + | -->}}</includeonly><noinclude> |
{{Template doc| | {{Template doc| | ||
Given a list page, loads it exactly once and sets up enough variables it will not need to be loaded again to retrieve any entry. If this template has been invoked before with the same page_name, no-op. | Given a list page, loads it exactly once and sets up enough variables it will not need to be loaded again to retrieve any entry. If this template has been invoked before with the same page_name, no-op. | ||
Revision as of 18:48, 20 December 2025
Template documentation
Given a list page, loads it exactly once and sets up enough variables it will not need to be loaded again to retrieve any entry. If this template has been invoked before with the same page_name, no-op.
- page_name - the page name provided as arg1
- length - the length of the list
- entry_i - the entry in the list at position i, where i is in [1, length-1] (0-indexed)
If using the default case (<1000 total characters), the following will be set:
- loaded_page - the text of page_name
- cleaned_page - the text of page_name before the first section header ("==")
There is also the housekeeping variable "invocations", which equals the number of times this template was resolved and should thus always be 1.
Implementation is split between List lookup helper/default case and List lookup helper/sublist case.
{{:QBWiki:Quick links/lingo}}
{{List lookup helper|QBWiki:Quick links/lingo}}
{{#var:cleaned_page}}
{{#var:length}}, {{#var:invocations}}
{{Save|jj}}
{{#loop:jj|1|{{#var:length}}|{{#var:entry_{{#var:jj}}}}<br/>}}
{{Load|jj}}
- Wondering why people keep saying "m"?
- Confused what a "vulcher" is?
- Want to find out about "superpowers"?
- Wondering just what makes something "important"?
- Heard something about the "canon"?
- Wondering why people keep saying "m"?
- Confused what a "vulcher" is?
- Want to find out about "superpowers"?
- Wondering just what makes something "important"?
- Heard something about the "canon"?
5, 1
Wondering why people keep saying "m"?
Confused what a "vulcher" is?
Want to find out about "superpowers"?
Wondering just what makes something "important"?
Heard something about the "canon"?