Dyskusja Wikipedii:Szablony nawigacyjne

Najnowszy komentarz napisał 2 lata temu Paweł Ziemian w wątku Nowe szablony nawigacyjne - technikalia

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

Rozmiar stosowanych czcionek edytuj

  • 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)Odpowiedz

Separator pól edytuj

kolorystyka edytuj

Zmiana wyglądu szablonów edytuj

Proponuję coś takiego:

Miasta wojewódzkie Polski

Zobacz więcej: mój brudnopis

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

Narnia edytuj

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

Pstrokacizna nawigacyjnych szablonów sportowych edytuj

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)Odpowiedz

Nowe szablony nawigacyjne - technikalia edytuj

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)Odpowiedz
    • 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)Odpowiedz
  • 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)Odpowiedz
  • 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)Odpowiedz
  • 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)Odpowiedz
    • @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)Odpowiedz
    @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)Odpowiedz
    • @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)Odpowiedz
      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)Odpowiedz
    • 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)Odpowiedz
  • @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)Odpowiedz
    @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)Odpowiedz
    • 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)Odpowiedz
  • 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)Odpowiedz
    • 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)Odpowiedz
    Może .navbox ~ .navbox zamiast .navbox + .navbox, aby obejść <style>/<link>? Peter Bowman (dyskusja) 17:41, 10 maj 2021 (CEST)Odpowiedz
    • 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)Odpowiedz
  • @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)Odpowiedz
    • 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)Odpowiedz

Bezbotowa migracja edytuj

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)Odpowiedz

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)Odpowiedz

Efektem ubocznym tych zmian jest niestety powrzucanie do Specjalna:Potrzebne szablony wszystkich nieistniejących szablonów opisów. W wyniku tej operacji ta strona przestała być użyteczna. Na tej stronie można ściągnąć jedynie 5000 nazw szablonów. Tych opisów jest znacznie więcej, więc wynik jest de facto pozbawiony tych ważnych brakujących (rzeczywiście linkowanych). ~malarz pl PISZ 22:04, 27 cze 2021 (CEST)Odpowiedz

Standaryzacja szablonów nawigacyjnych edytuj

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)Odpowiedz

Sypnięte navboksy edytuj

Z mojej dyskusji:

Cześć,

po zmianach w kodach navboksów kilka tygodni temu w jednym z moich komputerów wszystkie grafiki wyświetlają się poza prawą granicą szablonu (przykład). Nie wiesz może, czy to wina przeglądarki i nic nie da się poradzić czy może pomogłoby kliknięcie czegoś w preferencjach? Najntisy (dyskusja) 19:46, 4 lip 2021 (CEST)

~malarz pl PISZ 23:03, 4 lip 2021 (CEST)Odpowiedz

Grafika w tytule edytuj

W nowej implementacji szablonów wykonywana jest analiza treści pól pod kątem ich przeznaczenia. Dla pola tytuł przyjąłem (upraszczając), że znajduje się tam tekst. W związku z tym napełniła się kategoria nieprawidłowe parametry. Tak na oko licząc to z 80% powodów stanowi miniaturowa grafika (zwykle flaga) umieszczona w tytule. Zacząłem więc tę grafikę przenosić do dedykowanego pola grafika lub grafika lewa co pozwoliło równocześnie na zwiększenie jej rozmiaru i czytelności. Jednak już dwie osoby @Sumek101 i @Kerim44 zgłosiły swoje zastrzeżenia do moich edycji.

Moim zdaniem ta grafika, obok bycia ozdobnikiem, może stanowić jakiś ułamek merytorycznej treści. Jednak dopuszczenie umieszczania jej wprost w treści tytułu uniemożliwi jakiekolwiek próby wykrycia nadużyć w ograniczaniu dyskutowanej wcześniej pstrokacizny szablonów nawigacyjnych.

Ja widzę następujące rozwiązania tego problemu:

  • uznajemy, że tytuł nie jest właściwim miejscem, a ja kontynuuję sprzątanie
  • zezwalamy na grafikę, lecz tworzymy nowe pole na jej obsługę, z definicją podobną jak w infoboksach, tak aby to szablon decydował o rozmiarze i pozycji tej grafiki

W drugim przypadku oczywiście muszę zmienić sposób sprzątania, a ponadto poprawić to co już przerobiłem. Paweł Ziemian (dyskusja) 22:32, 4 sie 2021 (CEST)Odpowiedz

  • Moje zastrzeżenia dotyczyły szablonów dotyczących broni strzeleckiej (Kategoria:Szablony nawigacyjne - broń strzelecka), dlatego nie wypowiem się odnośnie szablonów z innych dziedzin (zwłaszcza sportu), bo nie wiem jak wygląda tam sytuacja. Także jeśli chodzi o szablony broni strzeleckiej mam dwa zastrzeżenia:
    • Grafika (w tym wypadku flaga), umieszczona w tytule szablonu, wg mnie ułatwia czytelnikowi nawigację w przypadkach gdy szablony są zwinięte i występuje ich kilka w jednym artykule. Jako przykład podam Karabin Arisaka Typ 30, w którym znajdują się 2 domyślnie zwinięte szablony Szablon:Japońska broń strzelecka 2WŚ i Szablon:Rosyjska broń strzelecka 1WŚ. Zastosowanie w nich flag ułatwia wybór do rozwinięcia odpowiedniego szablonu (w mojej subiektywnej opinii).
    • Druga sprawa to poważny problem techniczny z dużą flagą znajdującą się wewnątrz szablonu. Na przykład w szablonie Szablon:Broń strzelecka i broń biała WP II RP zauważyłem, że zależnie od użytej przeglądarki, tekst szablonu na wysokości grafiki wjeżdża pod flagę i jest przez nią zasłaniany, niwecząc funkcjonalność. Sytuację taką zaobserwowałem na przeglądarkach Firefox oraz Internet Explorer, natomiast na Chrome wszystko działa prawidłowo.
W związku z powyższym jestem zwolennikiem drugiego rozwiązania zaproponowanego przez @Paweł Ziemian a więc opcjonalność: umieszczenie grafiki w tytule lub wewnątrz szablonu. Od razu dodam że byłaby potrzebna możliwość umieszczania więcej niż jednej flagi (dla np. ZSRR/Rosji, Szablon:Rosyjska broń strzelecka po 2WŚ) Sumek101 () 22:54, 4 sie 2021 (CEST)Odpowiedz
  • IMO to wszelkie grafiki w navbokach są zbędne. Te w nagłówkach szczególnie. ~malarz pl PISZ 23:10, 4 sie 2021 (CEST)Odpowiedz
  • Jestem za usunięciem wszelkich grafik z tytułów szablonów. A w zasadzie w ogóle z szablonów. Andrzei111 (dyskusja) 12:47, 5 sie 2021 (CEST)Odpowiedz
  • nie żebym był zwolennikiem "choinkowatości" wikipedii, ale cichutko oprotestowałem zmianę w Szablon:Lotnictwo wojskowe II RP ([12]). Dla porównania stara wersja: [13]. Argumentowałem to mniej wiecej tak: grafika (ozdobnik - symbol - wyróżnik) w nazwie tego szablonu jest do przyjęcia - niczemu nie przeszkadza, ale w jego środku (z uwagi na rozbudowę szablonu) blokuje dużo miejsca przeznaczonego na treści merytoryczne - na wyliczankę. Moim zdaniem graficzne wyróżniki stosowane w umiarze w szablonach tematycznych nie są takie złe. Pomagają zorientować się w treści. --Kerim44 (dyskusja) 18:40, 5 sie 2021 (CEST)Odpowiedz
  • Właśnie zaaplikowałem zmiany ukrywające tytułowe grafiki. Teraz ewentualne edycje z redakcyjnych zmienią się w techniczne. Planowałem to rozwiązanie dopiero po sprzątnięciu tych tytułów aby nie kusiło na przyszłość. Jeśli gdzieś jeszcze widać jakieś obrazki to wystarczy null edit aby zniknęły. Dodatkowo ukrywane będą boczne grafiki jeśli ekran staje się zbyt wąski, czyli jego szerokość będzie mniejsza niż 801 pikseli. Paweł Ziemian (dyskusja) 22:37, 5 sie 2021 (CEST)Odpowiedz

Grafika w opisach edytuj

W ramach eksperymentu postanowiłem w jednym z szablonów przenieść grafikę z opisów do CSS. Czyli utworzyłem stosowny styl z grafikami. A następnie go włączyłem w szablonie, usuwając jednocześnie stare obrazki. Osobiście dodam, że łatwo nie jest. Rozwiązanie raczej dla osób upartych. Zaleta jest taka, że odciąża szablon z grafik, a całą robotę czytania i umieszczania obrazków zwala na przeglądarkę. Paweł Ziemian (dyskusja) 23:15, 11 sie 2021 (CEST)Odpowiedz

Powrót do strony projektu „Szablony nawigacyjne”.