Content deleted Content added
(99 intermediate revisions by 7 users not shown) | |||
Line 1:
{{#switch:{{NAMESPACE}}
| Module =
{{high-use|| Wikipedia talk:High-risk templates}}
{{Module rating|release}}
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}}
}}
==
{{#switch:{{NAMESPACE}}
| Module =
<pre style="overflow:auto">
{{#invoke:Build bracket|main
| rounds =
Line 11 ⟶ 18:
| col1-headers =
| col1-matches =
| col2-headers =
| col2-matches =
...
Line 25 ⟶ 30:
}}
</pre>
| #default = {{#tag:syntaxhighlight|
{{((}}{{BASEPAGENAME}}<nowiki>
| RD1 =
| RD1-seed1 =
| RD1-team1 =
| RD1-score1 =
...</nowiki>
{{))}}|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 =
{{!}} <code>rounds</code> {{!!}} number of rounds (columns). {{!!}} <code>1</code>
{{!-}}
{{!}} <code>autocol</code> {{!!}} set to <code>yes</code> to automatically set set maximum round to display based on entries. {{!!}} <code>no</code>
{{!-}}
{{!}} <code>rows</code> {{!!}} manually set the number of rows. {{!!}} Automatic
{{!-}}
{{!}} <code>teams-per-match</code> {{!!}} enter the number of teams in each match. Use <code>col<i>m</i>-teams-per-match</code> to set individual columns {{!!}} <code>2</code>
{{!-}}
{{!}} <code>col<i>m</i>-headers</code> {{!!}} (optional) enter the row numbers where headers are desired in column ''m''. Separate entries with <code>,</code>. Half integer values are allowed. {{!!}} Automatic
{{!-}}
{{!}} <code>col<i>m</i>-matches</code> {{!!}} enter the row numbers where a match is desired in column ''m''. Matches take up two rows by default. Separate entries with <code>,</code>. Half integer values are allowed. {{!!}}
{{!-}}
{{!}} <code>col<i>m</i>-text</code> {{!!}} enter the row numbers where additional text is desired in column ''m''. Separate entries with <code>,</code>. Half integer values are allowed. {{!!}}
{{!-}}
{{!}} <code>col<i>m</i>-col<i>m</i>+1-paths</code> {{!!}} enter the starting and ending row numbers, separated by <code>-</code>, from columns ''m'' and ''m''+1 where a path is desired. Separate entries with <code>,</code>. Half integer values are allowed. {{!!}}
{{!-}}
{{!}} <code>col<i>m</i>-col<i>m</i>+1-cross</code> {{!!}} enter the row number where paths intersect from column ''m'' to ''m''+1. {{!!}}
<!--
{{!-}}
{{!}} <code>compact</code> {{!!}} set to <code>yes</code> to vertically condense the bracket. {{!!}} <code>no</code>
-->
{{!-}}
{{!}} <code>RD<i>m</i>-altname</code> {{!!}} Alternate name for <code>RD<i>m</i></code> (e.g., if {{para|RD1-altname|first}}, then <code>first-team1</code> can be used instead of <code>RD1-team1</code>). Use <code>RD<i>mh</i>-altname</code> for cells under header ''mh''. {{!!}}
{{!-}}
{{!}} <code>text-altname</code> {{!!}} Alternate name for <code>RD<i>m</i>-text<i>k</i></code> (e.g., if {{para|text-altname|details}}, then <code>RD<i>m</i>-details1</code> can be used instead of <code>RD<i>m</i>-text1</code>). {{!!}}
{{!-}}
{{!}} colspan=3 {{!}}
}}
|-
| <code>maxround</code> || final round to display. This parameter should be omitted unless it is less than the default value set by <code>rounds</code>. ||
|-
|-
| <code>height</code> || the amount of vertical visibility desired for the bracket. Creates a vertical scroll bar. Enter a number with units (e.g., <code>30em</code> or <code>480px</code>). ||
|-
| <code>col-spacing</code> || the amount of horizontal space between rounds. Enter as a plain number (e.g., <code>10</code> for 10px). || <code>5</code>
|-
| <code>seed-width</code> || the width of the cells for seeds. Plain numbers are assumed to be in px units (e.g., <code>25</code> for 25px or <code>2em</code> for 2em) || <code>25</code>
|-
| <code>
|-
| <code>score-width</code> || the width of the cells for scores. Plain numbers are assumed to be in px units (e.g., <code>25</code> for 25px or <code>2em</code> for 2em) || <code>25</code>
|-
| <code>
|-
| <code>
|-
| <code>
|-
| <code>
|-
| <code>byes</code> || set to <code>yes</code> to hide any team cells that are empty. Alternatively, set to <code>m</code> to have rounds <code>1</code> through <code>m</code> hide any team cells that are empty. Use <code>RD<i>m</i>-byes</code> for just matches under column ''m''. Use <code>RD<i>mh</i>-byes</code> for just matches under header ''h'' only in column ''m''. || <code>no</code>
|-
| <code>RD<i>m</i>-hide</code> || set to <code>yes</code> to hide the all matches in columns ''m'' unless any of those entries are non empty. Use <code>RD<i>mh</i>-byes</code> to hide the (alpha) ''h''th header and all matches beneath it in column ''m''. Useful for consolation matches. {{!!}}
|-
| <code>
<!--
|-
| <code>RD<i>m</i>-
-->
|-
| <code>aggregate</code> || Set to <code>sets</code> or <code>legs</code> to sum the sets/legs won and append to the end of the scores. Set to <code>score</code> to sum the scores from each set/leg and append to the end of the scores. Set to <code>y</code> or <code>yes</code> to enable the <code>-agg</code> suffix, but without any auto computation. Only works when there are two or more legs/sets in the round. Any automatically computed value can be overridden by setting the value manually with the <code>-agg</code> suffix for the score. || <code>no</code>
|-
| <code>
|-
| <code>
|-
| colspan=
|-
| <code>RD<i>m</i></code>, <code>RD<i>mh</i></code> || The header text of the (alpha ''h''th) header in column ''m'' (e.g., <code>RD1</code> or <code>RD1a</code> for the first header and <code>RD1b</code> for the second header in column 1). ||
|-
| <code>
|-
| <code>
|-
| <code>
|-
| <code>
|-
| <code>RD<i>m</i>-group<i>k</i></code> || The text for the ''k''th group in column ''m''. Group text will appear to the left of whenever two paths meet. ||
|-
| <code>RD-shade</code> || the background color (in hex format, e.g. <code>#ABCDEF</code>) of all headers. Use <code>RD<i>m</i>-shade</code> or <code>RD<i>mh</i>-shade</code> for individual headers. || <code>#F2F2F2</code>
|-
| <code>RD<i>m</i>-
|-
| <code>paramstyle</code>{{efn|name=note2}} || set to <code>numbered</code> change the parameter name style of <code>RD<i>m</i>-text<i>k</i></code>, <code>RD<i>m</i>-seed<i>k</i></code>, <code>RD<i>m</i>-team<i>k</i></code>, and <code>RD<i>m</i>-score<i>k</i></code> to a numbered notation ({{para|1}},{{para|2}}...). Set {{para|seeds|yes}} add seeds. ||
|}
{{notelist|refs=
{{efn|name=note1|Does not currently work for paths under subheaders.}}
{{efn|name=note2|<code>numbered</code> may not be compatible with certain other features, e.g. 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, <code>RD1b-team1</code> will override any value that has been set by <code>RD1-team3</code>.
{{#invoke:Build bracket|main
| rounds = 1
| col1-headers = 1,6
| col1-matches = 3,8
| RD1 = Upper round
| RD1b = Lower round
| RD1-team3 = <code>RD1-team3</code> or <code>RD1b-team1</code>
}}
*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 <code><nowiki>{{NTeamBracket|RD1-seed1=2}}</nowiki></code>, 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 <code>a-b</code>, where <code>a</code> is associated match in the first column, and <code>b</code> is associated match in the second column. Path codes can be grouped; for example, <code>(a,b)-c</code> is equivalent to <code>a-c, b-c</code>. To add color, append <code>:''color''</code> to the end of a path, e.g. <code>3-5:red</code>. Only one extra color can be used in a bracket.
{{wikitable| class="wikitable"
|-
! Example !! Output
Line 113 ⟶ 167:
| {{#invoke:Build bracket|main|rounds=2|noheaders=yes|col1-matches=1,5|col2-matches=3|col1-col2-paths=(1,5)-3}}
|-
|<code>3-
| {{#invoke:Build bracket|main|rounds=2|noheaders=yes|col1-matches=3|col2-matches=1,5|col1-col2-paths=3-
}}
== 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 ===
<pre style="overflow: auto;">
{{#invoke:Build bracket|main
| rounds=2
Line 160 ⟶ 216:
}}
===
<pre>
{{#invoke:Build bracket|main
| rounds=2
|
| col1-headers = 1
| col2-headers = 1
| col1-matches = 3,7,11
| col2-matches =
| col1-col2-paths = (3,7,11)-7
}}
</pre>
{{#invoke:Build bracket|main
| rounds=2
|
| col1-headers = 1
| col2-headers = 1
| col1-matches = 3,7,11
| col2-matches =
| col1-col2-paths = (3,7,11)-
}}
=== Double-elimination bracket ===
<pre>
{{#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
}}
</pre>
{{#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
}}
===
<pre>
{{#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
}}
</pre>
{{#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 =
<pre style="overflow: auto;">
{{#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
}}
</pre>
{{#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}}<nowiki>
| RD1-text1 = Text 1
| RD1-text2 = Text 2
| RD2-text1 = Text 3
| RD1 =
| RD1-seed1 =
| RD1-team1 =
| RD1-score1 =
...</nowiki>
{{))}}|lang="wikitext"}}
{{{{#if:{{{limitexamples|}}}|void|{{BASEPAGENAME}}}}|RD1-text1=Text 1|RD1-text2=Text 2|RD2-text1=Text 3}}
}}
=== Groups ===
{{#switch:{{NAMESPACE}}
| Module =
<pre style="overflow: auto;">
{{#invoke:Build bracket|main
| rounds=3
| col1-matches = 3,6,9,12
| col2-matches = 4.5,10.5
| col3-matches = 7.5
| col1-
| col2-
|
|
|
}}
</pre>
{{#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 =
| col2-col3-paths = (4.5,10.5)-
| RD1-group1 = Group 1
| RD1-group2 = Group 2
| RD2-group1 = Group 3
}}
|#default =
{{#tag:syntaxhighlight|
{{((}}{{BASEPAGENAME}}<nowiki>
| RD1-group1 = Group 1
| RD1-group2 = Group 2
| RD2-group1 = Group 3
| RD1 =
| RD1-seed1 =
| RD1-team1 =
| RD1-score1 =
...</nowiki>
{{))}}|lang="wikitext"}}
{{{{#if:{{{limitexamples|}}}|void|{{BASEPAGENAME}}}}|RD1-group1=Group 1|RD1-group2=Group 2|RD2-group1=Group 3}}
}}
=== Legs and aggregate ===
{{#switch:{{NAMESPACE}}
| Module =
<pre style="overflow: auto;">
{{#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
}}
</pre>
{{#invoke:Build bracket|main
| rounds=3
| legs = 2
|
| aggregate = y
| col1-
| col2-
| col3-
| col1-
| col2-
}}
|#default =
{{#tag:syntaxhighlight|
{{((}}{{BASEPAGENAME}}<nowiki>
| legs = 2
| RD1-legs = 3
| aggregate = y
| RD1 =
| RD1-seed1 =
| RD1-team1 =
| RD1-score1-1=
| RD1-score1-2=
| RD1-score1-3=
| RD1-score1-agg=
...</nowiki>
{{))}}|lang="wikitext"}}
{{{{#if:{{{limitexamples|}}}|void|{{BASEPAGENAME}}}}|legs=2|RD1-legs=3|aggregate=y}}
}}
=== Byes ===
{{#switch:{{NAMESPACE}}
| Module =
<pre style="overflow: auto;">
{{#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
}}
</pre>
{{#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}}<nowiki>
| RD1-byes = y
| RD1 =
| RD1-seed1 =
| RD1-team1 = Team 1
| RD1-score1 =
| RD1-seed2 =
| RD1-team2 = Team 2
| RD1-score2 =
...</nowiki>
{{))}}|lang="wikitext"}}
{{{{#if:{{{limitexamples|}}}|void|{{BASEPAGENAME}}}}|RD1-byes=y|RD1-team1=Team 1|RD1-team2=Team 2}}
}}
<!--=== Numbered parameters ===
{{#switch:{{NAMESPACE}}
| Module =
<pre style="overflow: auto;">
{{#invoke:Build bracket|main
| rounds=2
|
| col2-matches = 5
| col1-col2-paths = (3,7)-5
| paramstyle = numbered
|
| 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
}}
</pre>
{{#invoke:Build bracket|main
| rounds=2
|
| col2-matches = 5
| col1-col2-paths = (3,7)-5
| paramstyle = numbered
|
| 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
}}
|#default =
{{#tag:syntaxhighlight|
{{((}}{{BASEPAGENAME}}<nowiki>
| paramstyle = numbered
| RD1 =
| Text 1 | Team 1 | S1 | Team 2 | S2
| Text 2 | Team 3 | S3 | Team 4 | S4
...</nowiki>
{{))}}|lang="wikitext"}}
{{{{#if:{{{limitexamples|}}}|void|{{BASEPAGENAME}}}}|paramstyle=numbered|1=Text 1|2=Team 1|3=S1 |4=Team 2|5=S2|6=Text 2|7=Team 3|8=S3|9=Team 4|10=S4}}
}}-->
{{#switch:{{NAMESPACE}}
| Module =
=== Bold winner ===
<pre style="overflow: auto;">
{{#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
}}
</pre>
{{#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 ==
* [[Module:Team bracket]]
* [[Module:RoundN]]
* [[Module:Bracket]]
<includeonly>{{#ifeq:{{SUBPAGENAME}}|sandbox||
<!-- Categories go here, and interwikis go in Wikidata -->
[[Category:Sports modules]]
}}</includeonly>
| #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 [[WP:PEIS|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}}}}}
}}
}}
<noinclude>
[[Category:Module documentation pages]]
</noinclude>
|