Module:Build bracket/doc
{{#switch:{{NAMESPACE}}
| Module =
{{high-use|| Wikipedia talk:High-risk templates}}
{{Module rating|beta}}
This module is intended to be used to create and edit intricate sports brackets that cannot be made by Module:RoundN or Module:Team bracket. For example, additional headers (for double-elimination brackets; 3rd-, 5th-, 7th-place matches; etc), singular omitted matches (i.e., having a horizonal line instead of a match), and N-way brackets (N teams per match). The syntax is slightly more complicated than the aforementioned brackets, but simpler than using the standard wikitable code.
| #default =
{{lua|Module:Build bracket}}
}}
Usage
{{#switch:{{NAMESPACE}}
| Module =
{{#invoke:Build bracket|main
| rounds =
| col1-headers =
| col1-matches =
| col2-headers =
| col2-matches =
...
| col1-col2-paths =
| col2-col3-paths =
...
}}
| #default = {{#tag:syntaxhighlight|
{{((}}{{BASEPAGENAME}}
| RD1 =
| RD1-seed1 =
| RD1-team1 =
| RD1-score1 =
...
{{))}}|lang="wikitext"}}
Per MOS:ACCESS#Font size and MOS:SMALLFONT, "avoid using smaller font sizes in elements that already use a smaller font size, such as infoboxes, navboxes and reference sections". Since this template's text is already reduced to 90% of the normal size, use of the {{tl|Small}} template or {{tag|small}} tags within this template produces a font size that is 77% of the page default, well below the 85% minimum specified in the linked guidelines.
}}
= Parameters =
class="wikitable" | ||
Parameter | Description | Default |
---|---|---|
{{#switch:{{NAMESPACE}}
| Module = {{!}} {{!-}} {{!}} {{!-}} {{!}} {{!-}} {{!}} {{!-}} {{!}} {{!-}} {{!}} {{!-}} {{!}} {{!-}} {{!}} {{!-}} {{!}} {{!-}} {{!}} {{!-}} {{!}} {{!-}} {{!}} colspan=3 {{!}} }} | ||
maxround | final round to display. This parameter should be omitted unless it is less than the default value set by rounds . | |
minround | first round to display. | 1 |
height | the amount of vertical visibility desired for the bracket. Creates a vertical scroll bar. Enter a number with units (e.g., 30em or 480px ). | |
col-spacing | the amount of horizontal space between rounds. Enter as a plain number (e.g., 10 for 10px). | 5 |
seed-width | the width of the cells for seeds. Plain numbers are assumed to be in px units (e.g., 25 for 25px or 2em for 2em) | 25 |
team-width | the width of the cells for team names. Plain numbers are assumed to be in px units (e.g., 200 for 200px or 15em for 15em) | 150 |
score-width | the width of the cells for scores. Plain numbers are assumed to be in px units (e.g., 25 for 25px or 2em for 2em) | 25 |
agg-width | the width of the cells for aggregate scores. score-width will change aggregate score widths unless this parameter is used. Plain numbers are assumed to be in px units (e.g., 25 for 25px or 2em for 2em) | 25 |
seeds | set to no to omit seeds in in all matches. set to yes to show seed cells to show for all matches. | |
legs | the number of legs for all rounds. Use RDm-legs to individually set columns. Use RDm-legsk to individually set teams. | 1 |
autolegs | set to yes to automatically generate score cells per team. If legs or RDm-legs is used, autolegs will be set to no . | no |
byes | set to yes to hide any team cells that are empty. Alternatively, set to m to have rounds 1 through m hide any team cells that are empty. Use RDm-byes for just matches under column m. Use RDmh-byes for just matches under header h only in column m. | no |
show-bye-paths | set to yes to replace any team cells that that are hidden byes with a path. | no
|
aggregate | set to yes to add an aggregate score box to each match. Only matches with two or more legs will show the aggregate score box. | no |
boldwinner | set to yes to automatically bold the seed/team/score with the higher score in each match. | no |
shift | vertically shifts all of the entries by the number entered. Use RDm-shift for individual in columns. | 0 |
colspan=3 | | ||
RDm , RDmh | The header text of the (alpha hth) header in column m (e.g., RD1 or RD1a for the first header and RD1b for the second header in column 1). | |
RDm-seedk | The seed of the kth team in column m. Alternatively, use RDmh-seedk for the kth team under header mh. | |
RDm-teamk | The name of the kth team in column m. Alternatively, use RDmh-teamk for the kth team under header mh. | |
RDm-scorek | The score of the kth team in column m. Alternatively, use RDmh-scorek for the kth team under header mh. Append the suffix -l for the lth leg or -agg for the aggregate score. | |
RDm-textk | The text above the kth match in column m. Alternatively, use RDmh-textk for the kth match under header mh. | |
RDm-groupk | The text for the kth group in column m. Group text will appear to the left of whenever two paths meet. | |
RD-shade | the background color (in hex format, e.g. #ABCDEF ) of all headers. Use RDm-shade or RDmh-shade for individual headers. | #F2F2F2 |
RDm-RD(m+1)-path {{efn|name=note1}} | set to no or 0 to omit the paths from round m to round m+1. | yes |
paramstyle {{efn|name=note2}} | set to numbered change the parameter name style of RDm-textk , RDm-seedk , RDm-teamk , and RDm-scorek to a numbered notation ({{para|1}},{{para|2}}...). Set {{para|seeds|yes}} add seeds. | indexed |
{{notelist|refs=
{{efn|name=note1|Does not currently work for paths under subheaders.}}
{{efn|name=note2|numbered
may not be compatible with certain other features, e.g. boldwinner
and groups.}}
}}
= Parameter hierarchy =
- Whenever there are multiple headers in a single column, more than one parameter may be assigned to a cell value. For example, in the following bracket, both {{para|RD1-team3}} and {{para|RD1b-team1}} can be used to assign the third team in the first column. By default, entries with subheader prefixes will override those without. In the below example,
RD1b-team1
will override any value that has been set byRD1-team3
.
{{#invoke:Build bracket|main
| rounds = 1
| col1-headers = 1,6
| col1-matches = 3,8
| RD1 = Upper round
| RD1b = Lower round
| RD1-team3 = RD1-team3
or RD1b-team1
}}
- Parameters used in articles take precedence over parameters used in the template itself. For example, suppose ArticleX used the template NTeamBracket, and suppose NTeamBracket had the parameter {{para|RD1-seed1|1}} set. If ArticleX implemented
, then the first team in round 1 would have a seed of 2.{{NTeamBracket|RD1-seed1=2}}
{{#switch:{{NAMESPACE}}
| Module =
= Path codes =
Path codes are entered in the form a-b
, where a
is associated match in the first column, and b
is associated match in the second column. Path codes can be grouped; for example, (a,b)-c
is equivalent to a-c, b-c
. To add color, append :color
to the end of a path, e.g. 3-5:red
. Only one extra color can be used in a bracket.
{{wikitable| class="wikitable"
|-
! Example !! Output
|-
|1-3
| {{#invoke:Build bracket|main|rounds=2|noheaders=yes|col1-matches=1|col2-matches=3|col1-col2-paths=1-3}}
|-
|(1,5)-3
| {{#invoke:Build bracket|main|rounds=2|noheaders=yes|col1-matches=1,5|col2-matches=3|col1-col2-paths=(1,5)-3}}
|-
|3-1,3-5:red
| {{#invoke:Build bracket|main|rounds=2|noheaders=yes|col1-matches=3|col2-matches=1,5|col1-col2-paths=3-1,3-5:red}}
}}
}}
Examples
{{#switch:{{NAMESPACE}}
| Module =
Note: These are only examples to illustrate parameters. Standard 4-team, 8-team, etc. brackets are better handled by Module:Team bracket.
= Standard 4-team bracket =
{{#invoke:Build bracket|main
| rounds=2
| col1-headers = 1
| col2-headers = 1
| col1-matches = 3,7
| col2-matches = 5
| col1-col2-paths = (3,7)-5
| RD2 = Grand Final
| RD1-seed1 = 1
| RD1-seed3 = 2
}}
{{#invoke:Build bracket|main
| rounds=2
| col1-headers = 1
| col2-headers = 1
| col1-matches = 3,7
| col2-matches = 5
| col1-col2-paths = (3,7)-5
| RD2 = Grand Final
| RD1-seed1 = 1
| RD1-seed3 = 2
}}
= 3-way bracket =
{{#invoke:Build bracket|main
| rounds=2
| teams-per-match = 3
| col1-headers = 1
| col2-headers = 1
| col1-matches = 3,7,11
| col2-matches = 7
| col1-col2-paths = (3,7,11)-7
}}
{{#invoke:Build bracket|main
| rounds=2
| teams-per-match = 3
| col1-headers = 1
| col2-headers = 1
| col1-matches = 3,7,11
| col2-matches = 7
| col1-col2-paths = (3,7,11)-7
}}
= Double-elimination bracket =
{{#invoke:Build bracket|main
| rounds=4
| col1-headers = 1,7
| col2-headers = 1,7
| col3-headers = 7
| col4-headers = 1
| col1-matches = 4,11
| col2-matches = 3,10
| col3-matches = 9
| col4-matches = 6
| col1-col2-paths = 4-3, 11-10
| col2-col3-paths = 3-3, 10-9
| col3-col4-paths = (3,9)-6
| RD1 = Upper round 1
| RD2 = Upper final
| RD3b = Lower final
}}
{{#invoke:Build bracket|main
| rounds=4
| col1-headers = 1,7
| col2-headers = 1,7
| col3-headers = 7
| col4-headers = 1
| col1-matches = 4,11
| col2-matches = 3,10
| col3-matches = 9
| col4-matches = 6
| col1-col2-paths = 4-3, 11-10
| col2-col3-paths = 3-3, 10-9
| col3-col4-paths = (3,9)-6
| RD1 = Upper round 1
| RD2 = Upper final
| RD3b = Lower final
}}
= Crossing paths =
{{#invoke:Build bracket|main
| rounds=2
| col1-matches = 3,7
| col2-matches = 3,7
| col1-col2-paths = 3-7, 7-3
| col1-col2-cross = 5
}}
{{#invoke:Build bracket|main
| rounds=2
| col1-matches = 3,7
| col2-matches = 3,7
| col1-col2-paths = 3-7, 7-3
| col1-col2-cross = 5
}}
}}
= Text =
{{#switch:{{NAMESPACE}}
| Module =
{{#invoke:Build bracket|main
| rounds=2
| col1-matches = 3,6
| col2-matches = 4.5
| col1-col2-paths = (3,6)-4.5
| RD1-text1 = Text 1
| RD1-text2 = Text 2
| RD2-text1 = Text 3
}}
{{#invoke:Build bracket|main
| rounds=2
| col1-matches = 3,6
| col2-matches = 4.5
| col1-col2-paths = (3,6)-4.5
| RD1-text1 = Text 1
| RD1-text2 = Text 2
| RD2-text1 = Text 3
}}
|#default =
{{#tag:syntaxhighlight|
{{((}}{{BASEPAGENAME}}
| RD1-text1 = Text 1
| RD1-text2 = Text 2
| RD2-text1 = Text 3
| RD1 =
| RD1-seed1 =
| RD1-team1 =
| RD1-score1 =
...
{{))}}|lang="wikitext"}}
{{{{#if:{{{limitexamples|}}}|void|{{BASEPAGENAME}}}}|RD1-text1=Text 1|RD1-text2=Text 2|RD2-text1=Text 3}}
}}
= Groups =
{{#switch:{{NAMESPACE}}
| Module =
{{#invoke:Build bracket|main
| rounds=3
| col1-matches = 3,6,9,12
| col2-matches = 4.5,10.5
| col3-matches = 7.5
| col1-col2-paths = (3,6)-4.5, (9,12)-10.5
| col2-col3-paths = (4.5,10.5)-7.5
| RD1-group1 = Group 1
| RD1-group2 = Group 2
| RD2-group1 = Group 3
}}
{{#invoke:Build bracket|main
| rounds=3
| col1-matches = 3,6,9,12
| col2-matches = 4.5,10.5
| col3-matches = 7.5
| col1-col2-paths = (3,6)-4.5, (9,12)-10.5
| col2-col3-paths = (4.5,10.5)-7.5
| RD1-group1 = Group 1
| RD1-group2 = Group 2
| RD2-group1 = Group 3
}}
|#default =
{{#tag:syntaxhighlight|
{{((}}{{BASEPAGENAME}}
| RD1-group1 = Group 1
| RD1-group2 = Group 2
| RD2-group1 = Group 3
| RD1 =
| RD1-seed1 =
| RD1-team1 =
| RD1-score1 =
...
{{))}}|lang="wikitext"}}
{{{{#if:{{{limitexamples|}}}|void|{{BASEPAGENAME}}}}|RD1-group1=Group 1|RD1-group2=Group 2|RD2-group1=Group 3}}
}}
= Legs and aggregate =
{{#switch:{{NAMESPACE}}
| Module =
{{#invoke:Build bracket|main
| rounds=3
| legs = 2
| RD1-legs = 3
| aggregate = y
| col1-matches = 3,6,9,12
| col2-matches = 4.5,10.5
| col3-matches = 7.5
| col1-col2-paths = (3,6)-4.5, (9,12)-10.5
| col2-col3-paths = (4.5,10.5)-7.5
}}
{{#invoke:Build bracket|main
| rounds=3
| legs = 2
| RD1-legs = 3
| aggregate = y
| col1-matches = 3,6,9,12
| col2-matches = 4.5,10.5
| col3-matches = 7.5
| col1-col2-paths = (3,6)-4.5, (9,12)-10.5
| col2-col3-paths = (4.5,10.5)-7.5
}}
|#default =
{{#tag:syntaxhighlight|
{{((}}{{BASEPAGENAME}}
| legs = 2
| RD1-legs = 3
| aggregate = y
| RD1 =
| RD1-seed1 =
| RD1-team1 =
| RD1-score1-1=
| RD1-score1-2=
| RD1-score1-3=
| RD1-score1-agg=
...
{{))}}|lang="wikitext"}}
{{{{#if:{{{limitexamples|}}}|void|{{BASEPAGENAME}}}}|legs=2|RD1-legs=3|aggregate=y}}
}}
= Byes =
{{#switch:{{NAMESPACE}}
| Module =
{{#invoke:Build bracket|main
| rounds=3
| RD1-byes = y
| col1-matches = 3,6,9,12
| col2-matches = 4.5,10.5
| col3-matches = 7.5
| col1-col2-paths = (3,6)-4.5, (9,12)-10.5
| col2-col3-paths = (4.5,10.5)-7.5
| RD1-team1 = Team 1
| RD1-team2 = Team 2
}}
{{#invoke:Build bracket|main
| rounds=3
| RD1-byes = y
| col1-matches = 3,6,9,12
| col2-matches = 4.5,10.5
| col3-matches = 7.5
| col1-col2-paths = (3,6)-4.5, (9,12)-10.5
| col2-col3-paths = (4.5,10.5)-7.5
| RD1-team1 = Team 1
| RD1-team2 = Team 2
}}
|#default =
{{#tag:syntaxhighlight|
{{((}}{{BASEPAGENAME}}
| RD1-byes = y
| RD1 =
| RD1-seed1 =
| RD1-team1 = Team 1
| RD1-score1 =
| RD1-seed2 =
| RD1-team2 = Team 2
| RD1-score2 =
...
{{))}}|lang="wikitext"}}
{{{{#if:{{{limitexamples|}}}|void|{{BASEPAGENAME}}}}|RD1-byes=y|RD1-team1=Team 1|RD1-team2=Team 2}}
}}
{{#switch:{{NAMESPACE}}
| Module =
= Bold winner =
{{#invoke:Build bracket|main
| rounds=2
| legs = 3
| boldwinner=y
| col1-matches = 3,7
| col2-matches = 5
| col1-col2-paths = (3,7)-5
| RD1-seed1 = 1 | RD1-team1 = Team 1 | RD1-score1-1 = 5 | RD1-score1-2 = 12 | RD1-score1-3 = 15
| RD1-seed2 = 4 | RD1-team2 = Team 2 | RD1-score2-1 = 11 | RD1-score2-2 = 10 | RD1-score2-3 = 4
| RD1-seed3 = 2 | RD1-team3 = Team 3 | RD1-score3-1 = 6 | RD1-score3-2 = 13 | RD1-score3-3 = {{ndash}}
| RD1-seed4 = 3 | RD1-team4 = Team 4 | RD1-score4-1 = 3 | RD1-score4-2 = 2 | RD1-score4-3 = {{ndash}}
| RD2-seed1 = 4 | RD2-team1 = Team 2 | RD2-score1-1 = 2 | RD2-score1-2 = 2 | RD2-score1-3 = 5
| RD2-seed2 = 2 | RD2-team2 = Team 3 | RD2-score2-1 = 1 | RD2-score2-2 = 7 | RD2-score2-3 = 2
}}
{{#invoke:Build bracket|main
| rounds=2
| legs = 3
| boldwinner=y
| col1-matches = 3,7
| col2-matches = 5
| col1-col2-paths = (3,7)-5
| RD1-seed1 = 1 | RD1-team1 = Team 1 | RD1-score1-1 = 5 | RD1-score1-2 = 12 | RD1-score1-3 = 15
| RD1-seed2 = 4 | RD1-team2 = Team 2 | RD1-score2-1 = 11 | RD1-score2-2 = 10 | RD1-score2-3 = 4
| RD1-seed3 = 2 | RD1-team3 = Team 3 | RD1-score3-1 = 6 | RD1-score3-2 = 13 | RD1-score3-3 = {{ndash}}
| RD1-seed4 = 3 | RD1-team4 = Team 4 | RD1-score4-1 = 3 | RD1-score4-2 = 2 | RD1-score4-3 = {{ndash}}
| RD2-seed1 = 4 | RD2-team1 = Team 2 | RD2-score1-1 = 2 | RD2-score1-2 = 2 | RD2-score1-3 = 5
| RD2-seed2 = 2 | RD2-team2 = Team 3 | RD2-score2-1 = 1 | RD2-score2-2 = 7 | RD2-score2-3 = 2
}}
|#default=
{{{examples|}}}
}}
{{#switch:{{NAMESPACE}}
| Module =
See also
}}
| #default =
Alternatives to avoid Wikipedia's [[WP:PEIS|Post-expand include size]] limit
Pages with many brackets or large brackets, especially those containing flag icons, may come close to or exceed Wikipedia's Post-expand include size limit. In these cases consider using modules directly instead:
- {{#invoke:Bracket|doc}}
- In most cases, flag templates can be replaced with {{ml|flag}}, e.g. {{tlx|flag|CAN}}→{{mlx|flag|{{!}}CAN}} or {{tlx|flag athlete|CAN}}→{{mlx|flag|athlete|CAN}}.
{{#if:{{{see also|}}}|