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"
ParameterDescriptionDefault
{{#switch:{{NAMESPACE}}

| Module =

{{!}} 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 {{para|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 {{para|text-altname|details}}, then RDm-details1 can be used instead of RDm-text1). {{!!}}

{{!-}}

{{!}} colspan=3 {{!}}

}}

maxroundfinal round to display. This parameter should be omitted unless it is less than the default value set by rounds.
minroundfirst round to display.1
heightthe amount of vertical visibility desired for the bracket. Creates a vertical scroll bar. Enter a number with units (e.g., 30em or 480px).
col-spacingthe amount of horizontal space between rounds. Enter as a plain number (e.g., 10 for 10px).5
seed-widththe 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-widththe 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-widththe 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-widththe 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
seedsset to no to omit seeds in in all matches. set to yes to show seed cells to show for all matches.
legsthe number of legs for all rounds. Use RDm-legs to individually set columns. Use RDm-legsk to individually set teams.1
autolegsset to yes to automatically generate score cells per team. If legs or RDm-legs is used, autolegs will be set to no .no
byesset 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-pathsset to yes to replace any team cells that that are hidden byes with a path.no

aggregateset 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
boldwinnerset to yes to automatically bold the seed/team/score with the higher score in each match.no
shiftvertically shifts all of the entries by the number entered. Use RDm-shift for individual in columns.0
colspan=3 |
RDm, RDmhThe 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-seedkThe seed of the kth team in column m. Alternatively, use RDmh-seedk for the kth team under header mh.
RDm-teamkThe name of the kth team in column m. Alternatively, use RDmh-teamk for the kth team under header mh.
RDm-scorekThe 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-textkThe text above the kth match in column m. Alternatively, use RDmh-textk for the kth match under header mh.
RDm-groupkThe text for the kth group in column m. Group text will appear to the left of whenever two paths meet.
RD-shadethe 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 by RD1-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 {{NTeamBracket|RD1-seed1=2}}, then the first team in round 1 would have a seed of 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

{{#ifeq:{{SUBPAGENAME}}|sandbox||

Category:Sports modules

}}

| #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|}}}|

See also

{{{see also|* {{tl|Build bracket}}}}}

}}

}}

Category:Module documentation pages