Dyskusja Wikipedii:Szablony nawigacyjne

Z Wikipedii, wolnej encyklopedii
Przejdź do nawigacji Przejdź do wyszukiwania

Proponuje przedyskutować kilka wg. mnie ważnych kwestii dotyczących szablonów nawigacyjnych::

Rozmiar stosowanych czcionek[edytuj kod]

  • osobiście uważam, że jakikolwiek rozmiar czcionki mniejszy od domyślnego jest zamachem na osoby słabowidzące! (ja sam mam ok -7 dp więc uważam się również za pokrzywdzonego)--WarX <talk> 14:01, 24 wrz 2005 (CEST)

Separator pól[edytuj kod]

  • w większości szablonów separatorem pól jest pionowa kreseczka | - wg mnie jest to kompletna porażka, moją propozycją jest • (&bull;)--WarX <talk> 14:01, 24 wrz 2005 (CEST)

kolorystyka[edytuj kod]

Zmiana wyglądu szablonów[edytuj kod]

Proponuję coś takiego:

Polska
Miasta wojewódzkie Polski

Zobacz więcej: mój brudnopis

--Savix 13:51, 12 lut 2006 (CET)

Narnia[edytuj kod]

A ja tu nie widze szablonu Narnia w dziale książki

Pstrokacizna nawigacyjnych szablonów sportowych[edytuj kod]

W kawiarence technicznej rozpocząłem wątek odnośnie zakazu stosowania pstrokacizny w szablonach nawigacyjnych (zwłaszcza trenerów piłkarskich). Zapraszam do zabrania głosu w dyskusji. Andrzei111 (dyskusja) 17:16, 26 lis 2018 (CET)

Nowe szablony nawigacyjne - technikalia[edytuj kod]

Nie wiem czy to dobry pomysł, ale chcę kontynuować dyskusję na temat technicznych spraw związanych z ewolucją kodu do generowania szablonów nawigacyjnych w szerszym gronie. Jest to w zasadzie kontynuacja dyskusji między mną a malarzem. Zawołam ekspertów: @malarz pl, @Peter Bowman, @Nux. Tytułem wprowadzenia dodam, że chodzi o wyeliminowanie potrzeby rekurencyjnego wywoływania {{szablon nawigacyjny}} w definiowaniu jego treści. Nowy kod zaczyna się w {{#invoke:Navbox|Navbox}} lub {{#invoke:Navbox|Template}}.

  • Sprzątnięcie nieszablonowych navboksów nigdy nie nastąpi. A praktycznie nie jest to osiągalne w rozsądnym czasie. I teraz pojawia się nowy problem. W MediaWiki:Common.css jest masa linii dotyczących szablonów nawigacyjnych. Nowe teoretycznie mogą ssać te rzeczy przez templatestyles. Zastanawiam się więc czy z całego starego CSS od szablonów nawigacyjnych nie zrobić domyślnie włączony gadżet. Ostatecznie te gołe tabelki i tak wszystko same sobie wewnętrznie kolorują, więc docelowo zostanie on zredukowany do zdefiniowania koloru tła nagłówka z tytułem. Co można finalnie przywrócić potem do common.css. Natomiast odłączalny gadżet przydałby mi się do testowania nowego stylu. Tymczasowo rozwiązałem to przez nową nazwę klasy navibox. Paweł Ziemian (dyskusja) 10:13, 8 maj 2021 (CEST)
    • Te 78 szablonów jest do ogarnięcia. Ja przez ostatni tydzień usunąłem ich chyba 8 czy 9 (jeden został przywrócony). Większość tych szablonów z listy to chronologie samochodów (czyli duże tabelki), które trzeba zamienić na zwykłe navboxy z listami, czasami integrując kilka w jeden (+ posprzątać wywołania, + pozmieniać interwiki). ~malarz pl PISZ 11:34, 8 maj 2021 (CEST)
  • Ja bym sugerował dążenie do zredukowania Common.js/.css do niezbędnego minimum. Owszem, to jest dobra okazja do skorzystania z templatestyles, jak już uczyniłem w WS: wikt:pl:Specjalna:Diff/6240481 + wikt:pl:Szablon:navbox/styles.css. Można nadal testować, wywołując roboczą wersję kopii stylów (np. styles-tests.css). Jeżeli pisząc „ostatecznie te gołe tabelki i tak wszystko same sobie wewnętrznie kolorują” masz na myśli style inline, to też okazja do zdefiniowania nowych klas CSS (podział markup vs. styles). Peter Bowman (dyskusja) 11:41, 8 maj 2021 (CEST)
  • Wracając do flag, czy rozważaliście wyodrębnienie ich do nowego modułu, który byłby następnie wywoływany przez mw.loadData? Peter Bowman (dyskusja) 12:14, 8 maj 2021 (CEST)
  • Utworzyłem gadżet i wydaje się, że działa MediaWiki:Gadget-table-navbox.css. Style z globalnego CSS usunąłem. Paweł Ziemian (dyskusja) 20:53, 8 maj 2021 (CEST)
    • @Paweł Ziemian: wycofałem Cię w Common.js, ponieważ zgłoszono na Discordzie, że navboksy się wykrzaczyły. Nieraz już zaobserwowałem, że nowe gadżety, choć włączone domyślnie i prawidłowo zarejestrowane w systemie RL (mw.loader.moduleRegistry['ext.gadget.table-navbox'].state === 'registered'), nie uruchamiają się dla wszystkich użytkowników, zwłaszcza przeglądających wiki anonimowo. Wypada poczekać dzień, dwa (wtedy przełączają się na state === 'ready'). Peter Bowman (dyskusja) 21:53, 8 maj 2021 (CEST)
      • @Peter Bowman Ok. Poczekam. Ja zwykle jestem zalogowany i zmiany są aktywne po około 10-20 minutach. Próbowałem właśnie podczepiać stare selektory CSS od tabel do nowego stylu, aby wykorzystać to co już mam przygotowane. A tu nagle wszystko wróciło :). Daj znać kiedy będzie to można bezpiecznie ponownie odwrócić. Paweł Ziemian (dyskusja) 22:00, 8 maj 2021 (CEST)
    @Paweł Ziemianale czemu do gadżetów? To nie jest gadżet. To jest element witryny. Nie dodawaj do gadżetów coś czego nie ma sensu wyłączać. Wybacz, ale to robi jeszcze większy bałagan niż był wcześniej. Plus nie zachowałeś autorów, więc w zasadzie copivio... Wycofaj to proszę całkowicie. Jeśli już coś wydzielać to tak jak @Peter Bowman napisał do template styles. Wtedy przynajmniej tam gdzie nie ma tych szablonów nie powinno się to ładować. Nux (dyskusja) 14:10, 9 maj 2021 (CEST)
    • @Nux Myśłałem nad template styles. Ale są dwa powody, że nie do końca jest to możliwe ze 100% kompatybilnością. 1) Obecny navbox to tabelka i umieszczenie wywołania stylu na samym początku oznacza, że przestaje działać w CSS .navbox+.navbox bo po między nimi w HTML siedzi jakiś link. 2) Istnieją navboxy nieszablonowe, czyli gołotabelkowe skopiowane skądśtam z innych wiki, więc ewentualne dołatanie template styles w {{szablon nawigacyjny}} nie rozwiązuje całkowicie problemu. Osobiście to ja potrzebuję tego jako coś wyłączalnego do opracowania nowego minimalnego stylu. W globalnym CSS być może zachowałbym jedynie szczątkowe reguły zapewniające minimalną spójność wyglądu wszystkich navboxów w zwiniętej postaci. Rozwiązanie z gadżetem jest bardzo tymczasowe. Osobiście go usunę natychmiast jak przestanie mi być potrzebny. Paweł Ziemian (dyskusja) 14:45, 9 maj 2021 (CEST)
      Możesz sobie wyłączyć w narzędziach do edycji stylów. Nawet w samych devtools (czy to w Firefox czy w Chrome). Osobiście raczej polecałbym Stylus, w którym możesz sobie wrzucić to co jest teraz i resetować poszczególne właściwości, których nie potrzebujesz. Ew. jeśli chcesz całkiem przebudować, to możesz spróbować użyć nowej klasy w kopii szablonu i zrobić style na jakimś `navbox2`... Aczkolwiek przy tak starej klasie myślę, że będzie ciężko to uporządkować. Musiałbyś sporo przypadków sprawdzić... Kiedyś np. popularna była klasa `toccolours` (z jakiegoś względu podobało się to ludziom). No i dalej jest tej klasy mnóstwo tam gdzie absolutnie nie powinno jej być ¯\_(ツ)_/¯... Ale jeśli bardzo chcesz w tym grzebać to powodzenia 😉. Tylko pamiętaj o CC-BY-SA. Nux (dyskusja) 15:32, 9 maj 2021 (CEST)
    • Jak @Nux. Wydaje mi się, że obecność tego <link>a można jakoś oswoić. Natomiast niedziałanie tych pseudonavboxów (będących do usunięcia) jakoś mnie nie przekonuje. To, że nagle się rozjadą i nie będą wyglądały tak jak wyglądają tylko ułatwi/przyspieszy ich usuwanie. Rozjechanie się tych pseudonavboksów uważam nawet za zaletę. ~malarz pl PISZ 15:27, 9 maj 2021 (CEST)
  • @malarz pl, @Peter Bowman, @Nux Usunąłem gadżet. Do {{szablon nawigacyjny}} dodałem template styles w najwcześniejszym bezpiecznym miejscu, czyli na samym początku komórki z tytułem. Wszystkie style dla .navbox wyciąłem z MediaWiki:Common.css i wkleiłem na początku Szablon:Navbox/styles.css. Natomiast w common.css pozostawiłem definicję dla kontenera .navbox, ich łączenia .navbox+.navbox oraz kolor nagłówka tabelki. Mam nadzieję, że nic nie popsułem. Paweł Ziemian (dyskusja) 17:51, 9 maj 2021 (CEST)
    @Paweł Ziemian, warto podkreślić (za mw:Extension:TemplateStyles#Caveats):
    The styles should be written to target specific CSS classes, and anything that generates elements with those classes should be sure to also include the styles itself rather than relying on some other template to have done so.
    Styles included by a template can currently affect content on the page outside of the content generated by that template, but this ability may be removed in the future and should not be relied upon.
    Szczerze nie wiem – bo kod szablonu wymaga dłuższej lektury – czy powyższe zalecenia są nadwerężane w obecnej implementacji, jednak widząc, że znacznik templatestyles znajduje się wewnątrz {{#if:{{{tytuł|}}}|...}} zamiast na samej górze (albo w Moduł:Navbox), nabieram podejrzeń. Przykładowo wywołanie {{Szablon nawigacyjny}} niedefiniujące parametru tytuł renderuje się obecnie bez stylów. Peter Bowman (dyskusja) 19:05, 9 maj 2021 (CEST)
    • Ja zalecenia dotyczące tych stylów do tej pory rozumiałem tak, że powinien się on pojawić w kodzie przed wyrenderowaną treścią, która z niego korzysta. Niezbędne minimum dotyczące ramki, odstępów i koloru paska tytułu pozostaje w MediaWiki:Common.css. Obecna rekursywna implementacja jest troszkę chora. Polega to na tym, że każdy zagnieżdżony szablon nawigacyjny (notabene bez tytułu) i tak jest kastrowany z zewnętrznej tabelki, czyli ewentualna treść dołączonego stylu też by została usunięta. Nowa rozwijana implementacja zwraca swoje dane w postaci JSON jeśli wywołanie ma tylko same spisy. Tytuł szablonu nawigacyjnego jest praktycznie obowiązkowym parametrem dla najbardziej zewnętrznego wywołania {{szablon nawigacyjny}}. Dzięki takiemu zabiegowi styl jest praktycznie ładowany tylko raz na kompletny szablon nawigacyjny. Ponadto nowe planowane szablony będą tworzyły
      <div class="navbox"><templatestyles ...> TABLE lub DIV z treścią szablonu </div>
      
      więc wszystko będzie zgodnie z przeze mnie rozumianą definicją. Ponadto istnieje silny związek między klasami generowanymi przez szablon i jego stylami w CSS, czyli jest to zgodnie z drugim akapitem. Paweł Ziemian (dyskusja) 19:53, 9 maj 2021 (CEST)
  • A nie można ustawić <ltemplatestyles> na początku szablonu? Jeżeli "rekurencyjnie" zostanie obcięte to i tak definicje są przy wywołaniu nadrzędnego, więc powinny działać. A odstępy pomiędzy zestawem kolejno table.navbox+link+table.navbox chyba da się zmodyfikować w CSS (Nux, Paweł liczę, że wy wiecie jak to łączenie uzyskać). Szablony takie jak Szablon:Chronologia samochodów Renault 1 czy Szablon:BMW trochę się już popsuły, więc będzie więcej bodźców aby je poprawić. ~malarz pl PISZ 15:30, 10 maj 2021 (CEST)
    • Nie znam sposobu w CSS na adresowanie inne niż przez klasę, atrybut, adres rodzica, index, lub sąsiada. Obsługa navbox link navbox wymagałaby chyba javascriptu. Osobiście wolałbym, żeby rozszerzenie agregowało wszystkie linki na początku strony. Z drugiej strony patrząc, moim zdaniem jest dobrze, skoro działa. Nie widzę potrzeby martwienia się na zapas. Paweł Ziemian (dyskusja) 20:04, 10 maj 2021 (CEST)
    Może .navbox ~ .navbox zamiast .navbox + .navbox, aby obejść <style>/<link>? Peter Bowman (dyskusja) 17:41, 10 maj 2021 (CEST)
    • Tylda zaadresuje wszystkich sąsiadów poniżej. Co pewnie w naszych warunkach generalnie zdałoby egzamin oprócz przypadków, gdy w artykule spotkałby się szablon nawigacyjny pionowy, podobny do infoboksu, z kolegami na dole. Paweł Ziemian (dyskusja) 20:04, 10 maj 2021 (CEST)
  • @Paweł Ziemian: zgłoszono na Discordzie, że teraz navboksy wyglądają tak. PS W kodzie widzę klasę do-not-make-smaller, która nie jest nigdzie zdefiniowana. Jednak brak związku. Peter Bowman (dyskusja) Peter Bowman (dyskusja) 18:27, 10 maj 2021 (CEST)
    • Widocznie są duże różnice w dostępie do treści dla zalogowanych i niezalogowanych. Ci ostatni dostają jakieś starsze wersje z cache'a bez odpowienich stylów. No nic trzeba czekać aż silnik wewnętrznie wszystko sam przemieli. Dałem o tym info na WP:TO. Z szablonu nawigacyjnego korzysta ponad 600k stron, a do stylów linkuje teraz mniej niż 150k stron. Tymczasowo dodałem wpis do głównego CSS rozciągający tabelki na 100%. Paweł Ziemian (dyskusja) 20:04, 10 maj 2021 (CEST)

Bezbotowa migracja[edytuj kod]

Wykluwa mi się w głowie pomysł jak bezbotowo zaimplementować nowe szablony nawigacyjne:

Etap 1
Dodaję metodę {{#invoke:Navbox|Nowe?}}, która nic nie zwraca.
Etap 2
Zamieniam w podstawowych szablonach kod na {{#if:{{#invoke:Navbox|Nowe?}}|{{#invoke:Navbox|Template}}|..stary kod..}}.
Etap 3
Implementuję obsługę starych parametrów w {{#invoke:Navbox|Template}}.
Etap 4
Aktywuję funkcję {{#invoke:Navbox|Nowe?}}.
Etap 5
Zamieniam w podstawowych szablonach kod na {{#invoke:Navbox|Template}}.
Etap 6
Sprzątam, czyli usuwam nie używany kod.

Wszystko zależy od powodzenia trzeciego etapu. Reszta wydaje się trywialna. Paweł Ziemian (dyskusja) 19:21, 11 maj 2021 (CEST)

Trzeba je naprawić przed przełączeniem. Część z nich powinna być trywialna. Niektóre mogą jednak wymagać zmian w wyglądzie. Paweł Ziemian (dyskusja) 23:43, 27 maj 2021 (CEST)
  • Wszystkie szablony, które znalazłem, są już poprawione. Paweł Ziemian (dyskusja) 17:21, 29 maj 2021 (CEST)

Standaryzacja szablonów nawigacyjnych[edytuj kod]

W międzyczasie powoli walczę z chronologiami, kampaniami i czasami navboksami pionowami na początkach artykułów. Do poprawy są jeszcze szablony władców i polityki. Jak ktoś ma trochę czasu na walkę z wiatrakami to zapraszam do pomocy. Szybciej się uporamy z wszystkimi niestandardowymi navboksami. ~malarz pl PISZ 19:19, 15 maj 2021 (CEST)

  • Mamy taki punkt w standaryzacji: Zawartość szablonu powinna spełniać Wikipedia:Zasady tworzenia list z oczywistym albo wyjaśnionym w opisie obiektywnym kryterium doboru elementów. Wydaje mi się, że jest on spełniony tylko wtedy gdy każdy spis ma odpowiadający mu opis. Jedyny wyjątek to szablony nawigacyjne tylko z jednym polem spis z listą. Ich zawartość jest jednoznacznie określona przez tytuł szablonu nawigacyjnego. Jeśli taki warunek nie zachodzi to chciałbym to też zgłaszać do jakiejś kategorii. Jako przykład kandydata do niej może być {{ucho}}. Pod opis „jama bębenkowa” podpięte są 4 nieopisane spisy. Powoduje to niepotrzebne powiększanie szablonu. Paweł Ziemian (dyskusja) 20:30, 15 maj 2021 (CEST)
    • Jest sporo szablonów, w których są trzy pola: spis1/opis2/spis2, w których drugi rząd jest zajęty dla byłych/dawnych/nieaktualnych elementów całości, np. {{Reprezentacje AFC}}, {{Reprezentacje CONCACAF}}. Wydaje mi się, że kategoria powinna być w przypadku gdy co najmniej dwa równoległe elementy nie mają opisu. ~malarz pl PISZ 22:32, 15 maj 2021 (CEST)
  • Jeszcze mi wpadło do głowy aby zrobić test na okoliczność wykrywanie bulletów różnej maści w treści spisów. Być może to nieustandaryzowany szablon? Oczywiście może to być wyjątek, bo szablon nawiguje po wybranych znaczkach Unicode. Paweł Ziemian (dyskusja) 22:15, 16 maj 2021 (CEST)
  • Zastanawiam się co zrobić z polem zwijanie. Ono bardzo często występuje w szablonach, lecz nie jest w nowej implementacji używane. Po nowemu wszystkie szablony są domyślnie zwinięte, z wyjątkiem swojej strony szablonu. Paweł Ziemian (dyskusja) 22:38, 21 maj 2021 (CEST)
    • Nieużywanych parametrów jest więcej. Daruję sobie ich obsługę. Jeśli będą błędy to się je poprawi. Jeśli błędów nie będzie to się je usunie botem. Paweł Ziemian (dyskusja) 23:34, 24 maj 2021 (CEST)
      • Skanowanie zrzutu botem wykazuje, że zwijanie jest użyte przez ponad 10k szablonów. Natomiast pozostałych przypadków z nieużywanymi polami jest mniej niż 100. Może tego zwijania po prostu nie zgłaszać, albo wyczyścić w ciemno botem w pierwszej kolejności po przełączeniu? Paweł Ziemian (dyskusja) 23:06, 29 maj 2021 (CEST)
        • Postanowiłem wyłączyć zwijanie ze zgłaszania do kategorii. Natomiast pozostawiłem wpis w raporcie diagnostycznym pod szablonem [8]. Paweł Ziemian (dyskusja) 19:47, 30 maj 2021 (CEST)
  • Do nieprawidłowych parametrów wpadają szablony z grafiką w tytule. Ja chętnie te grafiki pousuwam, ale pytam o zdanie. Może należy zrobić szerszą dyskusję w kawiarence. Są szablony z pustymi spisami, nielinkującymi pozycjami itd. Trzeba by coś z tym zrobić. Najprościej usunąć. Oczywiście mogą się pojawić wyjątki, że warto podać coś bez linku, ale nie może to być reguła i można je opatrzyć jakąś uwagą aby uniknąć znacznika?. Paweł Ziemian (dyskusja) 20:40, 6 cze 2021 (CEST)