FANDOM


NavboxBuider to moduł ułatwiający tworzenie navboksów.

Funkcje

  • Nieograniczona liczba wierszy i sekcji.
  • Zwijanie navboxa i sekcji.
  • Możliwość dostosowania parametrów.
  • Dokumentacja parametrów przechowywana na Dev Wiki i dopasowana do dostosowanych parametrów.

Jak zainstalować

Żeby zacząć używać modułu potrzebne jest rozszerzenie Scribunto. Jeśli nie jest dostępne dla twojej społeczności, napisz prośbę o włączenie przez Specjalna:Kontakt.

Moduł

Pierwszą rzeczą jest moduł. Nie musisz kopiować całego kodu. Wystarczy, że stworzysz moduł pod nazwą Moduł:NavboxBuilder (lub dowolną inną – tylko pamiętaj o zmianie wywołań #invoke) oraz wstawisz tam poniższy kod:

return require('Dev:NavboxBuilder/pl')

W tym momencie możesz również dostosować parametry i zmienić kilka dodatkowych opcji. Zajrzyj do odpowiednich sekcji po więcej informacji.

CSS

Tutaj są dwie rzeczy do zrobienia. Pierwszą jest import arkusza, który nadaje navboksowi strukturę. Żeby to zrobić wystarczy dodać to na samej górze Common.css lub Wikia.css społeczności.

@import url("//dev.wikia.com/load.php?mode=articles&articles=Global_Lua_Modules/NavboxBuilder/code.css&only=styles");

Drugą sprawą jest dostosowanie wyglądu. Więcej informacji na ten temat znajdziesz w sekcji Wygląd poniżej.

Szablon

Moduł jest zbudowany tak, żeby był stosowany jak zwyczajny szablon. W tym celu utwórz szablon (np: Szablon:Navbox) z taką zawartością:

<onlyinclude>{{#invoke:NavboxBuilder|create}}</onlyinclude>

== Parametry ==
{{#invoke:NavboxBuilder|documentation}}

Teraz szablon będzie przyjmował parametry udokumentowane poniżej.

Podane parametry mogą również zostać podane bezpośrednio do #invoke i będą stanowić wartości domyślne. Będą mogły zostać nadpisane przez podanie ich do szablonu.

Parametry stylów stanowią wyjątek. Wartości z obu zostaną połączone.

Powyższy szablon zawiera również kod, który wstawi dokumentację parametrów.

{{#invoke:NavboxBuilder|documentation}}

Dokumentacja wyświetli się w języku wiki (jeśli tłumaczenie istnieje) oraz dopasuje się do dostosowanych parametrów.

Możesz zmienić język dokumentacji poprzez podanie dodatkowego parametru.

{{#invoke:NavboxBuilder|documentation|<kod języka>}}

Jeśli chcesz pomóc w tłumaczeniu, zajrzyj na stronę dyskusji głównej dokumentacji.

Parametry

Poniżej znajduje się lista wszystkich dostępnych parametrów. Wymagane jest podanie przynajmniej jednej listy, żeby navboks się pojawił. Poza tym wszystkie parametry są opcjonalne.

Główne

  • Tytuł – tytuł navboksa.
  • Linki – linki pojawiające się w po lewej stronie paska tytułowego.
    • Można tutaj używać wikiskładni.
    • Podanie Tytuł jest wymagane, aby się pojawiły.
  • Stan – czy navboks powinien domyślnie być zwinięty czy rozwinięty.
    • Wartości: zwinięty lub rozwinięty (wielkość liter bez znaczenia)
    • Puste lub niepoprawne wartości całkowicie wyłączą zwijanie.
    • Podanie Tytuł jest wymagane, aby zwijanie działało.
  • Góra i Dół – pola powyżej i poniżej sekcji oraz obrazów.
  • Lewy obraz i Prawy obraz – pola wyświetlające się po obu stronach sekcji, najczęściej stosowane do wstawiania obrazów.
    • Można tutaj dodać cokolwiek, nie tylko obrazy.

Sekcje

Sekcje zawierają wszystkie listy o tym samym lub większym numerze, aż do następnej sekcji.

  • Nagłówek n – nagłówek sekcji.
    • n – dowolna dodatnia liczba całkowita.
    • Wymagana przynajmniej jedna niepusta lista, aby sekcja się pojawiła.
  • Stan n – czy sekcja powininna domyślnie być zwinięta czy rozwinięta.
    • n – numer istniejącego nagłówka sekcji.
    • Wartości: zwinięty lub rozwinięty (wielkość liter bez znaczenia)
    • Puste lub niepoprawne wartości całkowicie wyłączą zwijanie.
  • Stan nagłówków – jak wyżej, ale dotyczy wszystkich nagłówków
    • Wartości: zwinięty lub rozwinięty (wielkość liter bez znaczenia)
    • Puste lub niepoprawne wartości całkowicie wyłączą zwijanie.
    • Może być nadpisane przez Stan n
  • Układ n – czy sekcja powinna domyślnie być zwinięta czy rozwinięta.
    • n – dowolna dodatnia liczba całkowita.
    • Może być użyty bez Nagłówek n, aby stworzyć osobną sekcję bez nagłówka.
    • Wartości: tabela lub poziomy (wielkość liter bez znaczenia)
    • Puste lub niepoprawne wartości spowodują użycie domyślnej (tabela).

Układ tabeli (tabela)

Sytandardowy układ z listami i podlistami.

  • Lewy obraz n i Prawy obraz n – pola wyświetlające się po obu stronach sekcji, najczęściej stosowane do wstawiania obrazów.
    • n – numer istniejącego nagłówka sekcji.
    • Można tutaj dodać cokolwiek, nie tylko obrazy.

Układ poziomy (poziomy)

Poziomy układ z listami w postaci kolumn. Podlisty nie są wspierane i będą traktowane jak zwykłe listy.

  • Na wiersz n – maksymalna liczba list na wiersz.
    • n – numer istniejącej sekcji.
    • Wartości: dowolna liczba ponad 1.
    • Liczba kolumn ciągle jest ograniczona potrzebnym miejscem. Nie da się więcej niż na ile pozwoli flexbox.
  • Rozpiętość n – rozpiętość danej listy.
    • n – numer istniejącej listy.
    • Value: dowolna liczba między 0 a odpowiednim Na wiersz n

Listy

  • Lista n – pojedynczy wiersz z listą linków.
    • n – dowolna dodatnia liczba całkowita.
  • Grupa n – tytuł listy.
    • n – numer istniejącej listy lub podlisty.

Podlisty pojawią się jako wpisy wewnątrz grupy o tym samym n.

  • Lista n.m – pojedynczy wiersz z listą linków.
    • n i m – dowolne dodatnie liczby całkowita.
  • Grupa n.m – tytuł podlisty.
    • n and m – numery istniejącej podlisty.

Style

  • Navbox class i Navbox style – stosowane do głównego elementu navboksa.
  • Tytuł class i Tytuł style – stosowane do paska tytułu.
  • Baza class i Baza style – stosowane do wszystkich grup, podgrup, nagłówków sekcji, pól powyżej i poniżej zawartości.
  • Góra class i Góra style – stosowane do pola powyżej zawartości.
  • Dół class i Dół style – stosowane do pola poniżej zawartości.
  • Obraz class i Obraz style – stosowane do wszystkich pól z obrazami.
  • Lewy obraz class i Lewy obraz style – stosowane do głównego lewego pola obrazu.
  • Prawy obraz class i Prawy obraz style – stosowane do głównego prawego pola obrazu.
  • Nagłówek class i Nagłówek style – stosowane do wszystkich nagłówków sekcji.
  • Nagłówek n class i Nagłówek n style – stosowane do nagłówka sekcji o numerze n.
  • Lewy obraz n class i Lewy obraz n style – stosowane do lewego pola obrazu sekcji o numerze n.
  • Prawy obraz n class i Prawy obraz n style – stosowane do prawego pola obrazu sekcji o numerze n.
  • Grupa class i Grupa style – stosowane do wszystkich grup.
  • Podgrupa class i Podgrupa style – stosowane do wszystkich podgrup.
  • Grupa n class i Grupa n style – stosowane do grupy o numerze n.
  • Grupa n.m class i Grupa n.m style – stosowane do podgrupy okreśolnej numerami n i m.
  • Lista class i Lista style – stosowane do wszystkich list.
  • Lista n class i Lista n style – stosowane do listy o numerze n.
  • Lista n.m class i Lista n.m style – stosowane do podlisty okreśolnej numerami n and m.

Własne parametry

Przy importowaniu modułu wystarczy, że skopiujesz i wypełnisz to:

return require('Dev:NavboxBuilder').changeParameters{
    -- Opcje
    links = 'Linki',
    state = 'Stan',
 
    -- Pola
    title = 'Tytuł',
    above = 'Góra',
    below = 'Dół',
    limage = 'Lewy obraz',
    rimage = 'Prawy obraz',
 
    -- Sekcje
    header_n = 'Nagłówek #',
    layout_n = 'Układ #',
    state_n = 'Stan #',
    header_state = 'Stan nagłówków',
 
    -- Układ tabeli
    limage_n = 'Lewy obraz #',
    rimage_n = 'Prawy obraz #',
 
    -- Układ poziomy
    perrow_n = 'Na wiersz #',
    span_n = 'Rozpiętość #',
 
    -- Grupy
    group_n = 'Grupa #',
    group_n_m = 'Grupa #.#',
    list_n = 'Lista #',
    list_n_m = 'Lista #.#',
 
    -- CSS
    navbox_class = 'Navbox class',
    navbox_style = 'Navbox style',
    title_class = 'Tytuł class',
    title_style = 'Tytuł style',
    base_class = 'Baza class',
    base_style = 'Baza style',
    above_class = 'Góra class',
    above_style = 'Góra style',
    below_class = 'Dół class',
    below_style = 'Dół style',
    image_class = 'Obraz class',
    image_style = 'Obraz style',
    limage_class = 'Lewy obraz class',
    limage_style = 'Lewy obraz style',
    rimage_class = 'Prawy obraz class',
    rimage_style = 'Prawy obraz style',
    header_class = 'Nagłówek class',
    header_style = 'Nagłówek style',
    header_n_class = 'Nagłówek # class',
    header_n_style = 'Nagłówek # style',
    limage_n_class = 'Lewy obraz # class',
    limage_n_style = 'Lewy obraz # style',
    rimage_n_class = 'Prawy obraz # class',
    rimage_n_style = 'Prawy obraz # style',
    group_class = 'Grupa class',
    group_style = 'Grupa style',
    subgroup_class = 'Podgrupa class',
    subgroup_style = 'Podgrupa style',
    group_n_class = 'Grupa # class',
    group_n_style = 'Grupa # style',
    group_n_m_class = 'Grupa #.# class',
    group_n_m_style = 'Grupa #.# style',
    list_class = 'Lista class',
    list_style = 'Lista style',
    list_n_class = 'Lista # class',
    list_n_style = 'Lista # style',
    list_n_m_class = 'Lista #.# class',
    list_n_m_style = 'Lista #.# style',
 
    -- Wartości
    value_expanded = 'rozwinięty',
    value_collapsed = 'zwinięty',
    value_table_layout = 'tabela',
    value_horizontal_layout = 'poziomy',
}

Przykłady

Poniżej znajdziesz kilka przykładów pokazujących co oraz jak można osiągnąć.

Uwaga: poniższe szablony używają szablonu {{NavboxBuilder}} do uzyskania wyglądu.

Tytuł i kilka wierszy

{{Navbox
| Tytuł = Lorem ipsum

| Grupa 1 = Dolor
| Lista 1 = Consectetur · adipiscing · elit

| Grupa 2 = Sit
| Lista 2 = Sed · commodo · quam · sed · orci · varius · bibendum
}}

Zwijany navboks

{{Navbox
| Tytuł = Lorem ipsum
| Stan = zwinięty
...
}}

Linki do szablonu

{{Navbox
| Tytuł = Lorem ipsum
| Linki = [[Template:NavboxBuilder|v]] · [[Template talk:NavboxBuilder|d]]
...
}}

Tytuł i grupy nie są wymagane

{{Navbox
| Grupa 1 = Dolor
| Lista 1 = Consectetur · adipiscing · elit

| Lista 2 = Sed · commodo · quam · sed · orci · varius · bibendum
}}

Pola góra i dół

{{Navbox
...
| Góra = In pellentesque sapien justo
| Dół = Vel accumsan justo pulvinar non
...
}}

Sekcje

{{Navbox
...
| Grupa 1 = Dolor
| Lista 1 = Consectetur · adipiscing · elit
| Nagłówek 2 = Mauris scelerisque | Grupa 2 = Sit | Lista 2 = Sed · commodo · quam · sed · orci · varius · bibendum
| Nagłówek 10 = Duis ornare aliquet | Grupa 11 = Curabitur sem ex | Lista 11 = faucibus · eu maximus · sit · amet
| Grupa 12 = Vestibulum | Lista 12 = Cras · laoreet · ex · at · efficitur · auctor }}

Zwijane sekcje

{{Navbox
...
| Nagłówek 1 = Mauris scelerisque
| Stan 1 = rozwinięty
| Grupa 1 = Sit
| Lista 1 = Sed · commodo · quam · sed · orci · varius · bibendum
| Nagłówek 2 = Duis ornare aliquet | Stan 2 = zwinięty | Grupa 2 = Curabitur sem ex | Lista 2 = faucibus · eu maximus · sit · amet
| Grupa 3 = Vestibulum | Lista 3 = Cras · laoreet · ex · at · efficitur · auctor }}

Obrazy

{{Navbox
...
| Lewy obraz = [[File:Example.jpg|x166px]]
...
| Nagłówek 2 = Mauris scelerisque
| Prawy obraz 2 = [[File:Example.jpg|x25px]]
...
| Nagłówek 10 = Duis ornare aliquet
| Prawy obraz 10 = [[File:Example.jpg|x53px]]
...
}}

Podgrupy

{{Navbox
| Tytuł = Lorem ipsum

| Grupa 1 = Dolor
| Grupa 1.1 = Sit
| Lista 1.1 = Consectetur · adipiscing · elit
| Grupa 1.2 = Amet
| Lista 1.2 = Sed · commodo · quam · sed · orci · varius · bibendum

| Grupa 2 = Quisque
| Lista 2.1 = Mauris · facilisis · condimentum · pretium
| Lista 2.2 = Proin · dictum · dui · felis
}}

Układ poziomy

{{Navbox
...
| Grupa 1 = Dolor
| Lista 1 = Consectetur · adipiscing · elit
| Nagłówek 2 = Mauris scelerisque | Układ 2 = poziomy | Grupa 2 = Sit | Lista 2 = Sed · commodo · quam · sed · orci · varius · bibendum
| Nagłówek 10 = Duis ornare aliquet | Układ 10 = poziomy | Grupa 11 = Curabitur sem ex | Lista 11 = faucibus<br />eu maximus<br />sit<br />amet
| Grupa 12 = Vestibulum | Lista 12 = Cras<br />laoreet<br />ex<br />at<br />efficitur<br />auctor }}

Stylowanie

{{Navbox
...
| Tytuł class = neutral
| Grupa style = color: red;
| Lista style = color: blue;
| Lista 12 style = color: green;
}}

Trochę wszystkiego

{{Navbox
| Tytuł = Lorem ipsum
| Stan = zwinięty
| Linki = [[Template:NavboxBuilder|v]] · [[Template talk:NavboxBuilder|d]]
| Góra = Cras laoreet, ex at efficitur auctor
| Dół = Nunc vel condimentum tellus

| Grupa 1 = Dolor
| Lista 1 = Consectetur · adipiscing · elit

| Grupa 2 = Sit
| Lista 2 = Sed · commodo · quam · sed · orci · varius · bibendum

| Nagłówek 10 = Bibendum
| Stan 10 = rozwinięty
| Prawy obraz 10 = [[File:Example.jpg|x43px]]
| Grupa 10 = Curabitur 
| Grupa 10.1 = Dolor
| Lista 10.1 = Consectetur · adipiscing · elit
| Grupa 10.2 = Sit
| Lista 10.2 = Sed · commodo · quam · sed · orci · varius · bibendum

| Nagłówek 20 = Aenean est lectus
| Stan 20 = zwinięty
| Lista 20 = Vestibulum · ante · ipsum · primis in faucibus · orci · luctus · et ultrices · posuere · cubilia · Curae

| Grupa style = width: 75px
| Baza style = color: navy
}}

Dodatkowe opcje

Te opcje wymagają zmiany sposobu w jaki jest moduł jest importowany na:

local NBB = require('Dev:NavboxBuilder/pl')
 
Tutaj dodaj opcje
 
return NBB

N-ki i M-ki

Jeśli chcesz zmienić w jaki sposób są one wyświetlane w dokumentacji, zmień wartość tych zmiennych:

NBB.n = "zamiennik N"
NBB.m = "zamiennik M"

Uwaga: Tylko podstawowa składnia jak kursywa oraz tagi html.

Poziome i pionowe listy

Zależnie od układu zostaną zastosowane dwie różne klasy dla układów z listami pionowymi i poziomymi. Domyślnie są to odpowiednio hlist i vlist. Możesz dostosować klasy za pomocą:

NBB.hlist = "class for horizontal lists"
NBB.vlist = "class for vertical lists"

Lub je wyłączyć przypisując wartość nil

NBB.hlist = nil
NBB.vlist = nil

Wygląd

Jeśli chcesz dostosować wygląd swojego navboksa masz kilka opcji. Jedną z nich jest użycie parametrów, najlepiej przez podanie ich do #invoke jako wartości domyślnych. Jest kilka klas, które dopasowują się do motywu wiki, które świetnie się tutaj nadają, jak color1 czy accent. Wygląd taki jak ten:

Można osiągnąć za pomocą tylko czegość takiego:

{{#invoke:NavboxBuilder|create
| Navbox class = toc
| Tytuł class = color1
| Baza class = accent
| Lista class = color2
}}

Inną opcją jest dodanie styli do Common.css lub Wikia.css na wikii. Poniżej znajduje się lista klas:

  • Główny element navboksa
    • .navbox
    • .mw-collapsible – kiedy navboks jest zwijany
    • .mw-collapsed – kiedy navboks jest zwinięty
  • Pasek tytułu
    • .navbox-title
    • .mw-collapsible-toggle – kiedy navboks jest zwijany
    • .mw-collapsible-toggle-expanded – kiedy navboks jest rozwinięty
    • .mw-collapsible-toggle-collapsed – kiedy navboks jest zwinięty
  • Pola powyżej i poniżej zawartości
    • .navbox-above i .navbox-below
  • Lewy i prawy obraz (zarówno główne jak i te w sekcjach)
    • .navbox-image
  • Nagłówek sekcji
    • .navbox-header
    • .mw-collapsible-toggle – kiedy sekcja jest zwijana
    • .mw-collapsible-toggle-expanded – kiedy sekcja jest rozwinięta
    • .mw-collapsible-toggle-collapsed – kiedy sekcja jest zwinięta
  • Wiersze
    • .navbox-odd – nieparzyste wierze
    • .navbox-even – parzyste wiersze
  • Grupy
    • .navbox-group
  • Podgrupy
    • .navbox-subgroup
  • Listy
    • .navbox-list
    • .navbox-nogroup – when there's no group for this row
  • Wspólne klasy
    • .navbox-padding – sposób na dostosowanie marginesu wewnętrznego komórek. Stosowana we wszystkich listach, grupach, podgrupach oraz polach powyżej i poniżej zawartości, ale nie w nagłówkach i pasku tytułu.
    • .navbox-base – sposób na wyróżnienie nagłówków. Stosowana we wszystkich grupach, podgrupach, nagłówkach sekcji oraz polach powyżej i poniżej zawartości.

Odstępy

Jeśli chcesz zmienić odległość między komórkami, skopiuj to swojego arkusza i dostosuj:

.navbox-table-wrapper,
.navbox-table-layout {
  margin-left: -3px;
  margin-right: -3px;
  margin-bottom: -3px;
}
.navbox-table-wrapper:first-child,
.navbox-section-wrapper:first-child {
  margin-top: -3px;
}
.navbox-table {
  border-spacing: 3px;
}
.navbox-section {
  margin: 3px 0;
}
.navbox-horizontal-layout {
  margin-right: -3px;
}
.navbox-col {
  margin-top: 3px;
}
.navbox-col .navbox-group {
  margin-bottom: 3px;
  margin-right: 3px;
}
.navbox-col .navbox-list {
  margin-right: 3px;
}
Community content is available under CC-BY-SA unless otherwise noted.