Pomoc:Tworzenie stron powyżej limitu transkluzji
Wstęp
[edytuj]Niniejszy poradnik ma raczej charakter dokumentacji kroków, które podejmujemy wyjątkowo, gdy zwyczajna metoda tworzenia strony w przestrzeni głównej prowadzi do błędu.
Duże strony całości sprawiają istotny problem techniczny. Wynika to z tzw. limitu transkluzji w oprogramowaniu wiki (2 097 152 bajtów).
Jeśli na końcu strony widzimy jedynie błędy, prawdopodobnie jest to właśnie problem z wielkością strony po transkludowaniu stron i rozwinięciu szablonów.
Strony całości robimy tradycyjnie dla użytkowników jako alternatywę do e-booków podzielonych na części oraz dla łatwiejszego poszukiwania jakiegoś fragmentu na ekranie komputera.
Dwa sposoby tworzenia stron całości
[edytuj]Duże strony całości powyżej limitu transkluzji można tworzyć na dwa sposoby:
- iwpages Przykłady: Potop (Sienkiewicz)/całość • Marcin Podrzutek (tłum. Porajski)/całość[1]
- substytucja Przykłady: Winnetou/całość • Old Surehand/całość
Zalety i wady metod
[edytuj]iwpages | substytucja | |
dynamiczne | dynamiczne dostosowanie treści | okresowo aktualizowane bot/ręcznie |
numery stron w funkcji koryguj | nie działa | działa |
konwersja do e-booka | nie działa[2] | działa |
przypisy | fragmenty objęte iwpages nie mogą zawierać przypisów | działają |
obciążenie przeglądarki klienta | duże | mniejsze, proces odbywa się na serwerze |
łączenie wyrazów między stronami | pp/pk lub zwykły łącznik - | tylko pp/pk[3] |
łatwość przygotowania | łatwa | wymaga więcej pracy |
Jeszcze o przypisach w iwpages:bardzo karkołomnymi metodami można zrobić osobne przypisy na przykład dla każdego tomu, gdy pierwszy jest w całości transkludowany przez iwpages, drugi zwyczajnie. Niemniej jednak jest to raczej tylko potwierdzenie wskazanej wady.
Podsumowując:
iwpages nie daje funkcjonalnego e-booka, jest łatwiejsza w przygotowaniu, nie sprawdza się w tekstach zawierających dużo przypisów
substytucja wymaga okresowego odświeżania kodu strony
Praktyka
[edytuj]iwpages
[edytuj]Jeśli strona nie tworzy się prawidłowo z powodu przekroczenia limitu transkluzji można część stron transkludować nie zwykłym mechanizmem[4]:
<pages index="XXXXX" from=yy to=zz fromsection="aaa" tosection="bbb"/>
ale:{{iwpages|pl|XXXXX|yy|zz|aaa|bbb}}
lub np.:
- zamiast
<pages index="XXXXX" from=yy to=zz/>
{{iwpages|pl|XXXXX|yy|zz}}
Należy uważać, by fragmenty transkludowane przy pomocy iwpages nie zawierały przypisów, granice między blokami powinny pokrywać się z granicami akapitów, a najlepiej rozdziałów.
substytucja
[edytuj]Idea jest taka, by część tego, co robi automatycznie <pages ... wykonać bezpośrednio na stronie. Jednak by nie tracić wyniku pracy na każdej ze stron (np.: Strona:Ciekawa książka/724 ) umieszczamy gdzieś (na stronie dyskusji) kod tych stron.
{{subst:Proofreadpage pagenum template|page=Strona:NAZWA_STRONY/NR|num=pp}}{{subst:Strona:NAZWA_STRONY/NR}}␣
i tak po kolei każdą wstawianą stronę...
Strona:NAZWA_STRONY/NR – to oczywiście nazwa kolejnej strony w indeksie
pp – to numer strony ale taki, jaki chcemy uzyskać, w starannie zrobionym indeksie będzie to numer strony z książki, z paginy, w mniej starannie zrobionym po prostu numer kolejny strony w indeksie
Granica między blokiem <pages=... a stronami substytuowanymi powinna być tak dobrana, by wypadała na granicy akapitów, a jeszcze lepiej rozdziałów.
Mechanizm substytucji powoduje, że wyniki szablonów są wpisywane w treść docelowej strony na sztywno
Jeśli zostawimy jednak kod takiej strony (np. na stronie dyskusji), możemy go stamtąd kopiować i okresowo odświeżać stronę.
Przygotowanie
[edytuj]Jak poprzednio wspomniane, użycie substytucji stron w celu utworzenia strony całości wymaga, by strony nie kończyły się dywizem. Łącząc strony należy użyć szablonów {{pp}}/{{pk}}. Strony kończące się dywizem można ewentualnie poprawić botem.
{{#invoke: Sandbox/Draco flavus/get index pages | drukuj7 | 1=index="PL A Dumas Czterdziestu pięciu.djvu" from=70 to=73|2=python3.8 pwb replace -user:"JakiśBot" -site:wikisource:pl -pt:0 -always -summary:"Bot zmienia dywizy na pp/pk"}}
python3.8 pwb replace -user:"JakiśBot" -site:wikisource:pl -pt:0 -always -summary:"Bot zmienia dywizy na pp/pk" -page:"Strona:PL A Dumas Czterdziestu pięciu.djvu/71" "umo-<noinclude" "<noinclude";
python3.8 pwb replace -user:"JakiśBot" -site:wikisource:pl -pt:0 -always -summary:"Bot zmienia dywizy na pp/pk" -page:"Strona:PL A Dumas Czterdziestu pięciu.djvu/72" "noinclude>wę" "noinclude>umowę";
echo done
Generator
[edytuj]Przygotowywanie kodu do substytucji jest dość żmudne, prosta funkcja (szablon) może to ułatwić. Nie tłumaczę wywołania dokładniej, gdyż uważam, że jeśli ktoś chce takie strony tworzyć, tym bardziej zorientuje się w sposobie działania funkcji i będzie wiedział jak i gdzie ją zastosować.
{{#invoke: Sandbox/Draco flavus/get index pages | drukuj5 |1=index="PL A Dumas Czterdziestu pięciu.djvu" from=70 to=73 }}
{{Proofreadpage pagenum template|page=Strona:PL A Dumas Czterdziestu pięciu.djvu/70|num=60}}{{Strona:PL A Dumas Czterdziestu pięciu.djvu/70}} {{Proofreadpage pagenum template|page=Strona:PL A Dumas Czterdziestu pięciu.djvu/71|num=61}}{{Strona:PL A Dumas Czterdziestu pięciu.djvu/71}} {{Proofreadpage pagenum template|page=Strona:PL A Dumas Czterdziestu pięciu.djvu/72|num=62}}{{Strona:PL A Dumas Czterdziestu pięciu.djvu/72}} {{Proofreadpage pagenum template|page=Strona:PL A Dumas Czterdziestu pięciu.djvu/73|num=63}}{{Strona:PL A Dumas Czterdziestu pięciu.djvu/73}}
Listy stron
[edytuj]Odświeżanie stron przez bota
[edytuj]Obecnie tytuły stron, które wymagają okresowego odświeżenia (tworzone z mechanizmem substytucji) są pobierane przez bota ze strony MediaWiki:Strony utworzone przez substytucję. Na korespondującej stronie dyskusji można znaleźć statystyki (wielkość). Na podstronie Dyskusja MediaWiki:Strony utworzone przez substytucję/błędy umieszczane są przez bota ewentualne błędy (strony które nie zostały zaktualizowane).
Warto również rzucić okiem na stronę Kategoria:Strony, w których przekroczone jest ograniczenie wielkości użytych szablonów. W przypadku większych zmian na substytuowanych lub transkludowanych stronach indeksu mogą się tam znaleźć strony, które poprzednio były generowane poprawnie.
Lista stron utworzonych przy pomocy szablonu iwpages
[edytuj]Listę takich stron można wygenerować przy pomocy strony specjalnej: lista. Część tytułów (końcówka /całość/iwpages) dubluje strony całości utworzone przy pomocy mechanizmu substytucji. Nie są one podlinkowane i raczej mają charakter eksperymentalny lub zapasowy.
Zabezpieczanie stron tworzonych przy pomocy mechanizmu substytucji
[edytuj]Ponieważ strony całości są odświeżane przez bota i nieprzeznaczone do ręcznych ingerencji zwłaszcza przez osoby nieznające mechanizmów, są zabezpieczane „dla użytkowników automatycznie zatwierdzonych”.[5] Filtr nadużyć uniemożliwia również edycję użytkownikom spoza grup botów i administratorów.
Strona, która określa zadania dla bota (MediaWiki:Strony utworzone przez substytucję) znajduje się w przestrzeni Mediawiki[6], może być zatem edytowana jedynie przez administratorów i administratorów interfejsu.
Strony dyskusji będące podstawą aktualizacji są również zabezpieczane na poziomie „dla użytkowników automatycznie zatwierdzonych”.
- ↑ Trudniejszy technicznie, z powodu ograniczeń dotyczących przypisów, konieczne było przeplatanie iwpages i klasycznej metody transkluzji.
- ↑ Dlatego w szablonie {{Dane tekstu}} na stronie całości ( Ciekawa książka/całość ) w polu inne powinien znaleźć się nie tekst
| inne = {{epub}}
ale raczej| inne = {{epub|Ciekawa książka}}
. Można tu oczywiście użyć słowa magicznego {{ROOTPAGENAME}} a więc konstrukcji| inne = {{epub|{{ROOTPAGENAME}}}}
. - ↑ Jest to ograniczenie, jednak w przypadku właściwego przygotowania tekstu nie przeszkadza to. Więcej informacji na temat przenoszenie wyrazów można znaleźć w poradniku Przenoszenie wyrazów.
- ↑ Omówienie tagu <pages .../> można znaleźć w poradniku Transkluzja przy pomocy tagu pages.
- ↑ Więcej informacji o zabezpieczaniu stron można znaleźć w poradniku Strony zabezpieczone.
- ↑ Więcej informacji o przestrzeniach nazw można znaleźć w poradniku Przestrzeń nazw.