HRWiki:Counter
From Homestar Runner Wiki
(→Sortable Tables: +sortable link) |
(→Usage: add template information) |
||
| Line 7: | Line 7: | ||
| <code>{{#resetcount:</code>''id''<code>|</code>''value''<code>|</code>''increment''<code>}}</code> | | <code>{{#resetcount:</code>''id''<code>|</code>''value''<code>|</code>''increment''<code>}}</code> | ||
| Silently sets the counter ''id'' to ''value'' minus ''increment'' (so that the next count by ''increment'' will display ''value''); ''value'' and ''increment'' can be omitted, and both default to <code>1</code>. | | Silently sets the counter ''id'' to ''value'' minus ''increment'' (so that the next count by ''increment'' will display ''value''); ''value'' and ''increment'' can be omitted, and both default to <code>1</code>. | ||
| + | |- | ||
| + | | <code>{{tl|hcount}}</code><br/><code>{{tl|vcount}}</code> | ||
| + | | Used in [[HRW:SORT|sortable tables]]. ''See [[#Sortable Tables|below]].'' | ||
|} | |} | ||
| + | |||
==Examples== | ==Examples== | ||
'''count''' is a [[Meta:Help:Parser function|parser function]] that returns an integer that increments each time the function is called: | '''count''' is a [[Meta:Help:Parser function|parser function]] that returns an integer that increments each time the function is called: | ||
Revision as of 10:30, 15 April 2015
Contents |
Usage
{{#count:id|increment}}
| Increments the counter id by increment and displays the result; increment can be omitted, and defaults to 1.
|
{{#resetcount:id|value|increment}}
| Silently sets the counter id to value minus increment (so that the next count by increment will display value); value and increment can be omitted, and both default to 1.
|
{{hcount}}{{vcount}}
| Used in sortable tables. See below. |
Examples
count is a parser function that returns an integer that increments each time the function is called:
| Code | Gives |
|---|---|
{{#count:basic}} | 1 |
{{#count:basic}} | 2 |
{{#count:basic}} | 3 |
{{#count:basic}} | 4 |
{{#count:basic}} | 5 |
The counters can be given different names, so you can have more than one of them on the same page:
(The actual name doesn't matter, so long as they're different. If you use a counter in a template, pick a name that'll be unique.)
| Code | Gives |
|---|---|
{{#count:first}} | 1 |
{{#count:second}} | 1 |
{{#count:second}} | 2 |
{{#count:second}} | 3 |
{{#count:first}} | 2 |
{{#count:second}} | 4 |
You can also make the counter count by twos, or by any other number:
| Code | Gives |
|---|---|
{{#count:evens|2}} | 2 |
{{#count:evens|2}} | 4 |
{{#count:evens|2}} | 6 |
{{#count:evens|2}} | 8 |
{{#count:evens|2}} | 10 |
Different increments can be used at different times, depending on what is needed:
| Code | Gives |
|---|---|
{{#count:strange|1}} | 1 |
{{#count:strange|1}} | 2 |
{{#count:strange|3}} | 5 |
{{#count:strange|0}} | 5 |
{{#count:strange|-1}} | 4 |
{{#count:strange|2}} | 6 |
The counter can be reset partway through a page:
| Code | Gives |
|---|---|
{{#count:basic}} | 1 |
{{#count:basic}} | 2 |
{{#count:basic}} | 3 |
{{#resetcount:basic}} | |
{{#count:basic}} | 1 |
{{#count:basic}} | 2 |
{{#count:basic}} | 3 |
You can also set what number you want to start on:
| Code | Gives |
|---|---|
{{#resetcount:starting|11}} | |
{{#count:starting}} | 11 |
{{#count:starting}} | 12 |
{{#count:starting}} | 13 |
{{#count:starting}} | 14 |
{{#count:starting}} | 15 |
If you're using an increment, you need to give it to #resetcount too:
| Code | Gives |
|---|---|
{{#resetcount:starting evens|14|2}} | |
{{#count:starting evens|2}} | 14 |
{{#count:starting evens|2}} | 16 |
{{#count:starting evens|2}} | 18 |
{{#count:starting evens|2}} | 20 |
{{#count:starting evens|2}} | 22 |
Use a negative increment to count down. As noted above, be sure to pass the increment to #resetcount too:
| Code | Gives |
|---|---|
{{#resetcount:countdown|3|-1}} | |
{{#count:countdown|-1}} | 3 |
{{#count:countdown|-1}} | 2 |
{{#count:countdown|-1}} | 1 |
{{#count:countdown|-1}} | 0 |
{{#count:countdown|-1}} | -1 |
You can use the counter in other parser functions:
| Code | Gives |
|---|---|
{{#ifexpr:{{#count:alternate}} mod 2 = 0|even|odd}} | odd |
{{#ifexpr:{{#count:alternate}} mod 2 = 0|even|odd}} | even |
{{#ifexpr:{{#count:alternate}} mod 2 = 0|even|odd}} | odd |
{{#ifexpr:{{#count:alternate}} mod 2 = 0|even|odd}} | even |
{{#ifexpr:{{#count:alternate}} mod 2 = 0|even|odd}} | odd |
| Code | Gives |
|---|---|
{{#expr:{{#count:squares}} * {{#count:squares|0}}}} | 1 |
{{#expr:{{#count:squares}} * {{#count:squares|0}}}} | 4 |
{{#expr:{{#count:squares}} * {{#count:squares|0}}}} | 9 |
{{#expr:{{#count:squares}} * {{#count:squares|0}}}} | 16 |
{{#expr:{{#count:squares}} * {{#count:squares|0}}}} | 25 |
Sortable Tables
When using count in sortable tables, please use the {{hcount}} and {{vcount}} templates. Be sure to carefully read their documentation in order to sort table entries correctly.
