Pomoc:Tworzenie stron powyżej limitu transkluzji
Uwaga! Strona jest w trakcie opracowywania. Niektóre informacje mogą być niepełne, a linki mogą kierować do nieistniejących stron. Strona w opracowaniu zgodnie z ustaleniami w Skryptorium. |
Wstęp
edytujNiniejszy 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 (2097152 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
edytujDuż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
edytujiwpages | 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
edytujiwpages
edytujJeś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
edytujIdea 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
edytujJak 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
edytujPrzygotowywanie 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}}
Odświeżanie stron przez bota
edytujObecnie 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.
Zabezpieczanie stron
edytujPonieważ 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”. Filtr nadużyć uniemożliwia również edycję użytkownikom spoza grup botów i administratorów.
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.