Ten moduł jest przeznaczony do tworzenia i edytowania drabinek sportowych, których nie można utworzyć za pomocą Moduł:RoundN lub Moduł:Team bracket. Moduł może być używany na przykład gdy potrzeba dodać dodatkowe nagłówki (dla drabinek podwójnej eliminacji; mecze o 3., 5., 7. miejsce; itd.), pominąć pojedyncze mecze. Składnia jest nieco bardziej skomplikowana niż w przypadku wyżej wymienionych modułów, ale prostsza niż użycie standardowego kodu wikitable.
Wpisz yes, aby automatycznie ustawić maksymalną liczbę rund do wyświetlenia na podstawie wpisanych danych
no
rows
Ręczne ustawianie liczby wierszy
Automatic
teams-per-match
Wprowadź liczbę drużyn w każdym meczu. Użyj colm-teams-per-match aby ustawić liczbę meczów w poszczególnych kolumnach m
2
colm-headers
(opcjonalnie) Wprowadź numery wierszy, w których w kolumnie m mają być nagłówki. Wpisy należy oddzielić znakiem ,. Dozwolone są wartości półcałkowite.
Automatic
colm-matches
Wprowadź numery wierszy, w których mają się znaleźć pola (mecze) w kolumnie m. Domyślnie są to dwa wiersze (dwa zespoły). Oddziel wpisy znakiem ,. Dozwolone są wartości półcałkowite.
RDmh-hide
Wpisz yes aby ukryć nagłówek nr h i wszystkie pola pod nim w kolumnie m, chyba że którykolwiek z tych wpisów nie jest pusty. Przydatne w przypadku meczów pocieszenia.
colm-colm+1-paths
Wprowadź numery wierszy początkowych i końcowych, oddzielone znakiem -, w których ścieżka ma połączyć kolumnę m z m+1. Oddziel wpisy znakiem ,. Dozwolone są wartości półcałkowite.
colm-colm+1-cross
Wprowadź numer wiersza, w którym ścieżki z kolumny m do m +1 mają się przeciąć
RDm-altname
Alternatywna nazwa dla RDm (np. jeśli wpiszesz RD1-altname=pierwsza, to później pierwsza-team1 może być używany zamiast RD1-team1). Stosuj RDmh-altname dla komórek pod nagłówkiem mh
text-altname
Alternatywna nazwa dla RDm-textk (np. jeśli wpiszesz text-altname=szczegóły to RDm-szczegóły1 może być używany zamiast RDm-text1)
maxround
Ostatnia rudna do wyświetlenia. Parametr ten należy pominąć, chyba, że jest on mniejszy od wartości domyślnej ustawionej przez rounds.
minround
Pierwsza runda do wyświetlenia
1
height
Wpisz żądaną wysokość pól. Tworzy pionowy pasek przewijania. Wpisz liczbę z jednostkami (np. 30em lub 480px).
col-spacing
Wielkość przestrzeni pomiędzy rundami. Wpisz samą liczbę (np. 10 dla 10px).
5
seed-width
Szerokość komórek dla rozstawienia. Wpisanie samej liczby oznacza jednostkę px (np. 25 to 25px, a 2em to 2em)
25
team-width
Szerokość komórki dla nazwy zespołu. Wpisanie samej liczby oznacza jednostkę px (np. 200 to 200px, a 15em to 15em)
150
score-width
Szerokość komórki dla wyniku. Wpisanie samej liczby oznacza jednostkę px (np. 25 to 25px, a 2em to 2em)
25
agg-width
Szerokość komórki dla wyników zbiorczych. score-width zmieni szerokość tej komórki, chyba, że ten parametr zostanie użyty. Wpisanie samej liczby oznacza jednostkę px (np. 25 to 25px, a 2em to 2em)
25
seeds
Wpisz no, żeby pominąć rozstawienie we wszystkich meczach. Wpisz yes, żeby pokazać rozstawienie we wszystkich meczach.
legs
Liczba meczów w każdej rundzie. Użyj RDm-legs, żeby osobno ustawić liczbę w kolumnach (rundach). Użyj RDm-legsk, żeby indywidualnie ustawić liczbę meczów dla drużyny k w rundzie m.
1
autolegs
Wpisz yes, żeby automatycznie generować komórki punktowe dla każdego zespołu. Jeśli legs albo RDm-legs jest używany, autolegs będzie automatycznie ustawiony na no
no
byes
Wpisz yes, żeby ukryć wszystkie puste komórki zespołu. Alternatywnie, dla wartości m, puste komórki zespołu w rundach od 1 do m zostaną ukryte. Użyj RDm-byes tylko do pól w kolumnie m. Użyj RDmh-byes tylko do pól w nagłówku h i tylko w kolumnie m.
no
show-bye-paths
Wpisz yes, żeby zastąpić ścieżką każde ukryte pole zespołu przez byes.
no
aggregate
Wpisz sets lub legs, żeby zsumować wygrane i dodać je na koniec wyników. Ustaw score aby zsumować wyniki z każdego pojedynku i dodać je na koniec wyników. Ustaw yes, aby włączyć sufiks -agg, ale bez automatycznego obliczania. Każdą automatycznie obliczoną wartość można zastąpić, ustawiając ją ręcznie za pomocą sufiksu -agg wyniku.
no
boldwinner
Wpisz na high, aby automatycznie pogrubić rozstawienie/drużynę/wynik dla wyższego wyniku w każdym meczu. Ustaw na low dla najniższego wyniku. Ustaw na aggregate, aby pogrubić tylko wyższy wynik łączny. Ustaw na aggregate-low aby pogrubić tylko niższy wynik łączny.
no
shift
Przesuwa w pionie wszystkie wpisy o wprowadzoną liczbę. Użyj RDm-shift dla wybranych kolumn.
0
RDm, RDmh
Nagłówek tekstowy w kolumnie m (np. RD1 lub RD1a dla pierwszego nagłówka, RD1b dla drugiego nagłówka w kolumnie 1).
RDm-seedk
Rozstawienie zespołu nr k w kolumnie m. Alternatywnie, użyj RDmh-seedk dla zespołu nr k poniżej nagłówka mh.
RDm-teamk
Nazwa zespołu nr k w kolumnie m. Alternatywnie, użyj RDmh-teamk dla zespołu nr k poniżej nagłówka mh.
RDm-scorek
Wynik zespołu nr k w kolumnie m. Alternatywnie, użyj RDmh-scorek dla zespołu nr k poniżej nagłówka mh. Dołącz przyrostek -l dla liczby meczów (ilość l) lub -agg dla pola z sumą wyników.
RDm-textk
Tekst powyżej meczu nr k w kolumnie m. Alternatywnie, użyj RDmh-textk dla meczu nr k poniżej nagłówka mh.
RDm-groupk
Tekst grupy nr k w kolumnie m. Tekst grupy pojawi się po lewej stronie miejsca spotkania ścieżek.
RD-shade
Kolor tła (w formacie hex, np. #ABCDEF) wszystkich nagłówków. Użyj RDm-shade lub RDmh-shade dla każdego nagłówka osobno.
#F2F2F2
RDm-RD(m+1)-path
Wpisz no lub 0 by pominąć ścieżki od rundy m do rundy m+1.
yes
paramstyle
Wpisz numbered, żeby zmienić styl nazw parametrów RDm-textk, RDm-seedk, RDm-teamk i RDm-scorek na zapis numeryczny (1, 2...). Dodaj seeds=yes, żeby dodać pola rozstawienia.
Jeśli w jednej kolumnie znajduje się wiele nagłówków, do wartości komórki można przypisać więcej niż jeden parametr. Na przykład w poniższej drabince można użyć zarówno |RD1-team3=, jak i |RD1b-team1=, aby przypisać trzecią drużynę w pierwszej kolumnie. Domyślnie wpisy z prefiksami podnagłówków zastąpią te bez nich. W poniższym przykładzie RD1b-team1 zastąpi każdą wartość ustawioną przez RD1-team3.
Wyższa runda
Niższa runda
RD1-team3 lub RD1b-team1
Tworzenie ścieżek
Ścieżki tworzy się poprzez zapis a-b, gdzie a jest łączonym meczem z pierwszej kolumny, a b jest łączonym meczem z drugiej kolumny. Kody ścieżek można grupować; na przykład: (a,b)-c oznacza to samo co a-c, b-c. Żeby zmienić kolor ścieżki, dodaj :kolor na końcu kodu ścieżki, np. 3-5:red. Może być użyty tylko jeden kolor w ścieżce.
localp={}-- SubmoduleslocalHelpers=require("Module:Build bracket/Helpers")localConfig=require("Module:Build bracket/Config")localParams=require("Module:Build bracket/Params")localStateChecks=require("Module:Build bracket/StateChecks")localLogic=require("Module:Build bracket/Logic")localPaths=require("Module:Build bracket/Paths")localRender=require("Module:Build bracket/Render")-- local Deprecations = require('Module:Build bracket/Deprecations')functionp.main(frame)-- Shared mutable state passed among submoduleslocalstate={headerindex={},rlegs={},maxlegs={},hascross={},crossCell={},pathCell={},skipPath={},hide={},byes={},teamsPerMatch={},matchgroup={},maxtpm=0}localconfig={}-- 1) Parse args & set config (also installs arg accessors on Helpers)Config.init(frame,state,config,Helpers)-- 2) Bind StateChecks (used by Params/Logic/Paths/Render)StateChecks.bind(state,config,Helpers)-- 3) Build entries skeleton from args (headers/teams/text/lines/groups)Params.buildSkeleton(state,config,Helpers,StateChecks)-- 4) Discover indices/byes/hide across the skeletonParams.scanStructure(state,config,Helpers,StateChecks)-- 5) assign per-entry paramsParams.assign(state,config,Helpers,StateChecks)-- 5.5) apply minround slicing (reindex to start at 1)Params.sliceForMinround(state,config)-- 6) Logic passes (max legs, grouping, aggregates, bolding)Logic.updateMaxLegs(state,config,Helpers)Logic.matchGroups(state,config)Logic.computeAggregate(state,config,Helpers,StateChecks)Logic.boldWinner(state,config,Helpers,StateChecks)-- 7) paths + derive groups from pathsPaths.build(state,config,Helpers,StateChecks)Paths.attachGroups(state,config,Helpers,StateChecks)-- (Harmless guard if user passed odd ranges)if(tonumber(config.c)or1)<(tonumber(config.minc)or1)thenconfig.c=config.mincend-- 8) Render HTML tablelocalhtml=Render.buildTable(frame,state,config,Helpers,StateChecks)returntostring(html)end-- Exposed for tests/scripts that invoke without a framep._main=p.mainreturnp