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.

Usage

edit
{{#invoke:Build bracket|main
| rounds =

| col1-headers = 
| col1-matches = 

| col2-headers = 
| col2-matches = 

...

| col1-col2-paths = 
| col2-col3-paths = 

...
}}

Parameters

edit
Parameter Description Default
rounds number of rounds (columns). 1
autocol set to yes to automatically set set maximum round to display based on entries. no
rows manually set the number of rows. Automatic
teams-per-match enter the number of teams in each match. Use colm-teams-per-match to set individual columns 2
colm-headers (optional) enter the row numbers where headers are desired in column m. Separate entries with ,. Half integer values are allowed. Automatic
colm-matches enter the row numbers where a match is desired in column m. Matches take up two rows by default. Separate entries with ,. Half integer values are allowed.
RDmh-hide set to yes to hide the (alpha) hth header and all matches beneath it in column m unless any of those entries are non empty. Useful for consolation matches.
colm-colm+1-paths enter the starting and ending row numbers, separated by -, from columns m and m+1 where a path is desired. Separate entries with ,. Half integer values are allowed.
colm-colm+1-cross enter the row number where paths intersect from column m to m+1.
RDm-altname Alternate name for RDm (e.g., if |RD1-altname=first, then first-team1 can be used instead of RD1-team1). Use RDmh-altname for cells under header mh.
text-altname Alternate name for RDm-textk (e.g., if |text-altname=details, then RDm-details1 can be used instead of RDm-text1).
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 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 or 25px 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 or 25px 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
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[a] set to no or 0 to omit the paths from round m to round m+1. yes
paramstyle[b] set to numbered change the parameter name style of RDm-textk, RDm-seedk, RDm-teamk, and RDm-scorek to a numbered notation (|1=,|2=...). Set |seeds=yes add seeds. indexed
  1. ^ Does not currently work for paths under subheaders.
  2. ^ numbered may not be compatible with certain other features, e.g. boldwinner and groups.

Parameter hierarchy

edit
  • 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 |RD1-team3= and |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 by RD1-team3.
Upper round
Lower round
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 |RD1-seed1=1 set. If ArticleX implemented {{NTeamBracket|RD1-seed1=2}}, then the first team in round 1 would have a seed of 2.

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.

Example Output
1-3
(1,5)-3
3-1,3-5:red

Examples

edit

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

<!-- Defaults -->
| RD2 = Grand Final

| RD1-seed1 = 1
| RD1-seed3 = 2
}}
SemifinalsGrand Final
1
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
}}
SemifinalsFinal

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

<!-- Defaults -->
| RD1 = Upper round 1
| RD2 = Upper final
| RD3b = Lower final
}}
Upper round 1Upper finalFinal
Lower round 1Lower round 2Lower 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
}}
SemifinalsFinal

Text

edit
{{#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
}}
SemifinalsFinal
Text 1
Text 3
Text 2

Groups

edit
{{#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
}}
QuarterfinalsSemifinalsFinal
Group 1
Group 3
Group 2

Legs and aggregate

edit
{{#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
}}
QuarterfinalsSemifinalsFinal

Byes

edit
{{#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
}}
QuarterfinalsSemifinalsFinal
Team 1
Team 2

Numbered parameters

edit
{{#invoke:Build bracket|main
| rounds=2
| col1-matches = 3,7
| col2-matches = 5
| col1-col2-paths = (3,7)-5

| paramstyle = numbered
| seeds = yes

| Text 1 | 1 | Team 1 | 5 | 4 | Team 2 | 11
| Text 2 | 2 | Team 3 | 6 | 3 | Team 4 | 3

| Text 3 | 4 | Team 2 | 2 | 2 | Team 3 | 1 
}}
SemifinalsFinal
Text 1
1 Team 1 5
4 Team 2 11 Text 3
4 Team 2 2
Text 2 2 Team 3 1
2 Team 3 6
3 Team 4 3

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
}}
SemifinalsFinal
1Team 151215
4Team 211104
4Team 2225
2Team 3172
2Team 3613
3Team 432

See also