Przejdź do zawartości

Dyskusja pomocy:Archiwum 2023/Numery stron

Treść strony nie jest dostępna w innych językach.
Dodaj temat
Z Wikiźródeł, wolnej biblioteki
Najnowszy komentarz napisał 1 rok temu Superjurek w wątku Odpowiedź Superjurka i dalsza dyskusja

Drobne uwagi[edytuj]

@Superjurek: Drobne uwagi:
1) techniczna — ta formuła numerowania zawarta w stopce powinna być poniżej references, aby ewentualne przypisy nie pojawiły się poniżej numeru strony.
2) merytoryczna — fajnie byłoby, abyś wzorem Dracona flavusa, czy Joanny Le, opracowujących strony Pomocy, podszedł w bardziej obiektywny sposób to tego tematu, tj. zawarł przede wszystkim znane i wykorzystywane proste sposoby umieszczania numeracji na stronach, zaczynając od szablonów {{c}}, {{f}}, {{Numeracja stron}}... Żywię nadzieję, że strona się rozwinie.
3) subiektywna — ta formuła, jeszcze w połączeniu ze szablonem css to moim zdaniem przekombinowana sprawa. Podzielam tutaj zdanie Ankrego, że "nie bardzo widzę w jaki sposób taki stosunkowo skomplikowany mechanizm mógłby być używany przez przeciętnego Wikiskrybę". Superjurek, w żadnym razie nie chcę gasić twoich aspiracji i chęci do edytowania, czy wprowadzania jakichś nowych pomysłów. Zwracam tylko uwagę, że zawiłe pomysły (już nie tyle z numeracją, co ze stylami css) mogą spowodować brak zainteresowania dalszą edycją indeksów przez innych wikiskrybów, lub edycją na zasadzie: nie rozumiem tego, ale zakładam, że jest dobrze, więc sprawdzę tylko literówki. Pomyśl nad tym. Być może ktoś się jeszcze tu wypowie. Osobiście chciałbym zawsze, aby ktoś napisał mi, że coś można zrobić lepiej, poprawić, albo wręcz nie iść w takie czy inne rozwiązania, niż miałbym sam się o tym przekonać po roku, czy później jeszcze. Pozdrawiam, Seboloidus (dyskusja) 00:37, 19 lip 2022 (CEST)Odpowiedz

@Seboloidus:
Ad.1 (techniczna): Słusznie, poprawię jeszcze dziś.
Ad.2 (merytoryczna): Szablony {{c}} oraz {{f}} miałem już okazję poznać wcześniej i też je stosuję przy numeracji (ogólnie je stosuję), lecz szablonu {{Numeracja stron}} jeszcze nie widziałem (bardzo ciekawe i poćwiczę jego użytkowanie).
Ad.3 (subiektywna): Formułka jest na poziomie prototypu. Wczoraj testowałem, jak wygląda z jej użyciem edycja masowa no i teoretycznie się da (wklejanie jest proste i jedyną trudnością jest ta, że trzeba upewniać się czy w stopce poszczególnych stron nie ma jakichś dodatkowych szablonów takich jak {{F...}}). Żeby formułka była prosta w obsłudze dla "przeciętnych Wikiskrybów", myślę że ciekawym pomysłem będzie rozbudować szablon {{Numeracja stron}} o parametry wykorzystywane przez Moduł:Nagłówek. Fajnie, żeby ten szablon umożliwiał też manipulowanie wcięciem po lewej i prawej stronie numeru (po to też drugi i trzeci parametr w module tworzą konkatenację A..B lub B..A zależnie od tego, czy numer ma się znaleźć po prawej stronie, czy też po lewej stronie – czyli zależnie od parzystości parametru pierwszego.
Superjurek (Dyskusja) 09:19, 19 lip 2022 (CEST)Odpowiedz
Przejrzałem wszystkie strony w tej książce, jednak nie zauważyłem aby na którejkolwiek stronie w tej książce występowały przypisy. Tak czy inaczej, na stronie pomocy poprawiłem formułkę dla stopki. Potem się zrobi resztę. Superjurek (Dyskusja) 10:11, 19 lip 2022 (CEST)Odpowiedz

Z kilku stron[edytuj]

Czy numeracja stron jest potrzebna/wskazana?[edytuj]

Zasadniczo rzecz biorąc naszym celem jest raczej uzyskanie funkcjonalnego e-booka (czy to w formie pdf-u, czy epuba czy po prostu stron html obejmujących rozdziały i ze sobą polinkowanych). Ponieważ numery stron są tylko w przestrzeni Strona (która jest nieprzeznaczona dla użytkownika końcowego) nie są konieczne. Sam ich nie używam lub wstawiam wyjątkowo (np. przy naprawie skanu). Istotniejsze już jest (by było) używanie numeracji stron w przestrzeni indeks, co technicznie wprawdzie nie jest konieczne ale używanie generycznych numerów stron (po prostu 1 - do końca) ma wady.

Czy to co proponuje Superjurek to automatyzacja?[edytuj]

Nie. Brakuje:

  • jednolitego formatu, który by mógł być sterowany na poziomie całego tekstu (inna rzecz, że to zbędne)
  • brakuje np. dziedziczenia formatu (numeru strony z poprzedniej, albo pierwszej albo czegoś tam - nie jest to trywialne i chyba też zbędne)
  • brakuje połączenia z numerami stron w indeksie (również ani trywialne, ani konieczne)

Jak wstawiamy numery stron (jeśli to robimy)?[edytuj]

  • Na bieżąco - wtedy m.in. widzimy numer strony i to kontrolujemy.
  • Za jednym zamachem, po przepisaniu przechodząc przez wszystkie strony - wtedy łatwiej wstawiać stałą formułkę.
  • Botem - można wstawiać stałą formułkę, można od razu wyliczone wartości
    • ponieważ numery stron są niezmienne na danej stronie, (a jeśli by się zmieniały z powodu błędu to i tak wymaga to zmiany czy formuła czy wynik) to raczej wskazane jest nie liczenie w locie ale raz przy tworzeniu.

Wady rozwiązania Superjurka[edytuj]

  • Skomplikowana składnia wymaga w przypadku sporadycznego korzystania, wracania do dokumentacji.
  • Formuła jest na tyle rozbudowana, że wiele osób może po prostu odstraszyć
  • Jest mało uniwersalna (np. co z żywą paginą (czyli powtarzaniem tytułu rozdziału albo nazwiska autora itp.)

Kierunek propozycji Superjurka (zalety)[edytuj]

Wstawianie formułki zamiast ręcznego dostosowywania lewy/prawy i numeru strony jest dobrym pomysłem (zakładając, że ktoś w ogóle chce taki numer wstawiać).
W żadnym wypadku nie można kasować tagu <references/> i trzeba zadbać o właściwą kolejność.

Co proponuję?[edytuj]

  • wstawianie w nagłówku/stopce znanych wszystkim standardowych szablonów {{c|...}}, {{f|align=lewy|...}}, {{f|align=prawy|...}} - by było to jasne dla każdego redaktora, by było łatwe do korekty
  • wstawianie „sztywnych” liczb (nie liczonych na bieżąco)
  • uproszczenie sobie życia przez wstawianie tego przy pomocy formułek ale substytuowanych:

wstawienie kodu (na przykład przez Ctrl-V):

{{f|align={{subst:#ifexpr:{{safesubst:SUBPAGENAME}} mod 2 = 0|left|right}}|{{safesubst:#expr:{{safesubst:SUBPAGENAME}}-4}}}}

da na stronie 125 skanu {{f|align=right|121}} a na stronie 156 {{f|align=left|152}}

{{f|align={{subst:#ifexpr:{{safesubst:SUBPAGENAME}} mod 2 = 0|left|right}}|{{tab}}{{safesubst:#expr:{{safesubst:SUBPAGENAME}}-4}}{{tab}}}}

dla małego odstępu po lewej lub prawej stronie liczby.

podobne formuły można sobie robić prywatnie dla jakichś innych przypadków (np. jakiegoś wymyślnego formatowania).
Rozwiązanie to ma tę zaletę, że pozwala w sposób stały (ctrl-v, skrót klawiaturowy) tworzyć numery stron i jednocześnie na zewnątrz daje znaną i przyjazną składnię.

Nazwa modułu[edytuj]

Nazwę Nagłówek bym raczej zachował dla jakiegoś ważniejszego projektu (przepraszam za surową ocenę) niż dla czegoś, co jest tylko sporadycznie używane.

Draco flavus (dyskusja) 13:44, 19 lip 2022 (CEST)Odpowiedz

Odpowiedź Superjurka i dalsza dyskusja[edytuj]

@Draco flavus: Dziękuję za rozbudowaną informację zwrotną. Bardzo szczegółową (i dobrze!). Rozumiem też, że wymagało to utworzenia struktury w postaci sekcji; dlatego, by nie dezintegrować Twojej wypowiedzi będę cytował jej fragmenty i starał się ustosunkować. Swoją wypowiedź jeszcze przemyślę, bo to jest bardzo dużo informacji i nie spodziewałem się takiego zainteresowania zainicjowaną przeze mnie myślą techniczną (pozytywnie mnie zaskoczyłeś!). Superjurek (Dyskusja) 15:46, 19 lip 2022 (CEST)Odpowiedz
@Draco flavus: Sądzę, że dobrym pomysłem będzie ten zgrzyt naprawiać stopniowo. Nie ukrywam, że mi samemu takie wynalazki ułatwiają życie i posiadanie takiego wyrafinowanego kodu jest pewnego rodzaju narzędziem, które raz a porządnie zaprojektowane uwalnia mnie od rzeźbienia od zera. Jak wspomniałem, nie będę odpowiadał w strukturach Twojej wypowiedzi, aby niej nie pokawałkować. Będę więc przytaczał fragmenty:Nazwę Nagłówek bym raczej zachował dla jakiegoś ważniejszego projektu (przepraszam za surową ocenę) niż dla czegoś, co jest tylko sporadycznie używane. Nazwa szablonu wykorzystywanego w przestrzeni wspólnej musi być prosta. Wystrzegałem się przy tym nazw w stylu Moduł:Superjurek/numer-strony, bo nawet chyba moduły nie mogą mieć podobnie jak kategorie nazw użytkowników. Nagłówek zdawał się być nazwą względnie krótką i adekwatną. Dobra i inna, gotowy jestem ją zmienić.
Jeśli dobrze mi się wydaje i we fragmencie wstawienie kodu (na przykład przez Ctrl-V): [...] da na stronie 125 skanu {{f|align=right|121}} a na stronie 156 {{f|align=left|152}} sugerujesz kod, którego efektem będzie zwrócenie też wikikodu, ale o uproszczonej składni; pytanie jak powinien być zbudowany wikikod w mojej przestrzeni użytkownika, abym mógł sobie automatycznie wygenerować postać{{f|align=left|152}}.
W odniesieniu do zaproponowanej przez Ciebie wersji nie wymagającej exportu do modułu, tj. {{subst:#ifexpr:{{safesubst:SUBPAGENAME}} mod 2 = 0|left|right}}}} – zwracam uwagę, że moduł zawiera też funkcję:
--Ta funkcja ma za zadanie automatycznie przełączać kolejność tabulatora "przed" lub "po" numerze strony tak, by owe wcięcia były jednolite dla całej książki.
  function p.przed_po( frame )
  	local nr =  frame.args[1] and tonumber( mw.text.trim( frame.args[1] ) )
  	local  A =  frame.args[2]
  	local  B =  frame.args[3]	
  			if not nr then return ""
  			elseif math.mod(nr, 2) == 0 then return B..A
  										else return A..B
  			end 
  end
, więc moduł ten też miał w zamyśle automatyzować przełączanie tabulatora albo przed szablon z numerem strony, albo po nim – tak aby dowolne dwie kolejne strony miały te tabulatory dokładnie na odwrót zorientowane (na zasadzie lustrzanego odbicia). Zawarcie tego bezpośrednio w wikikodzie w przestrzeni Strona: sprowadza się do absurdu, bo to wtedy łatwiej o literówkę. Znowuż chętnie bym to wygenerował w swojej przestrzeni Użytkownika, ale jeśli dobrze mi wiadomo; nie można sobie robić prywatnych modułów (chyba, że się mylę; byłoby to miłe rozczarowanie). Superjurek (Dyskusja) 16:54, 19 lip 2022 (CEST)Odpowiedz
prywatne moduły są dobre, jeśli są używane prywatnie (albo nie zostawiają śladów - czyli podlegają substytucji), jeśli są transkludowane (czyli tak po prostu {{#invoke:...}} jest to problematyczne, bo użytkownik zwyczajowo może poprosić o ich wykasowanie. Wtedy pozostanie mnóstwo czerwonych linków (które ktoś będzie musiał naprawić botem). Prywatne moduły są też dobre do eksperymentów. Nazwa Nagłówek była wolna, wziąłeś ją – OK. To było najdrobniejsze z moich zastrzeżeń. Bardziej sobie myślę, że to samo można uzyskać bez modułu (przy pomocy funkcji parsera i kodu, podobnego do tego, który napisałem). To co „wklejasz” efektywnie na stronę jest podobnej długości i skomplikowania. Jeśli zaś użyjesz substytucji (subst/safesubst) dodatkowo kod na stronie staje się zrozumiały i prosty dla każdego redaktora WŹ. Co do zastrzeżenia o kolejności A..B vs. B..A , to w tym wypadku jest to niekonieczne, dla krótkiego tekstu wyrównanego do prawej dodatkowy tabulator z lewej wizualnie nic nie zmieni, podobnie dla tekstu po lewej tabulator po prawej. Można oczywiście zrobić i tak, by było bez dodatkowego tabulatora:
{{f|align={{subst:#ifexpr:{{safesubst:SUBPAGENAME}} mod 2 = 0|left|right}}|{{subst:#ifexpr:{{safesubst:SUBPAGENAME}} mod 2 = 0|{{tab}}|}}{{safesubst:#expr:{{safesubst:SUBPAGENAME}}-4}}{{subst:#ifexpr:{{safesubst:SUBPAGENAME}} mod 2 = 0||{{tab}}}}}}

.

Nie bardzo rozumiem, co masz na myśli pytając jak powinien być zbudowany wikikod w mojej przestrzeni użytkownika, abym mógł sobie automatycznie wygenerować postać. Ten kod, co powyżej po prostu wstawiasz na jakąś podstronę i uzyskujesz kod {{f|align=lewy|{{tab}}126}} czy jakiś taki. Z twoim modułem też to zadziała:
{{F|{{subst:#invoke:Nagłówek|przed_po|{{safesubst:#expr: {{safesubst:SUBPAGENAME}} - 6}}|{{safesubst:#expr: {{safesubst:SUBPAGENAME}} - 6}}|{{tab|0}}}}|align={{subst:#invoke:Nagłówek|lewo_prawo|{{safesubst:#expr: {{safesubst:SUBPAGENAME}} - 6}}}}|przed=1em}}
Ale to temat poboczny, bo moim zdaniem, tam gdzie można coś zrobić bez specjalnego modułu w sposób porównywalnie skomplikowany, lepiej to zrobić standardowymi funkcjami, szablonami. Gdzie sobie zanotujesz ten skrawek kodu, jeśli ci się wydaje przydatny, wszystko jedno, może być w brudnopisie, może być w jakim pliku, może być tutaj... Draco flavus (dyskusja) 19:56, 19 lip 2022 (CEST)Odpowiedz
@Draco flavus: Tutaj byłoby idealnie. Jestem gorącym zwolennikiem korzystania z archiwalnych stron dyskusji, które raz przeprowadzone byłyby już na tejże stronie utrzymywane. Na innych serwisach z rodziny Wikimedia widziałem jednak praktykę polegającą na usuwaniu stron dyskusji z komentarzem że "Sprawa procedowana na stronie dyskusji została załatwiona". Nie wiem, czy na WŹ taka praktyka też miewa miejsce (jeśli "nie", to byłaby to dla mnie bardzo dobra nowina). Wówczas z miłą chęcią skorzystam z tejże strony dyskusji jako miejsca, gdzie stosowny wikikod będzie do swobodnej lektury w dalszych latach mojej aktywności. Superjurek (Dyskusja) 20:32, 19 lip 2022 (CEST)Odpowiedz