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[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 (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[edytuj]
Duże strony całości powyżej limitu transkluzji można tworzyć na dwa sposoby:
- iwpages Przykłady: Potop (Sienkiewicz)/całość • Anna Karenina (Tołstoj, 1898)/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]
Ja 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"}}
2 / 3 rzamy, zawarł umo ■ wę z Hiszpanią i Gwi
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}}
Odświeżanie stron przez bota[edytuj]
Obecnie strony, które wymagają okresowego odświeżenia (tworzone z mechanizmem substytucji) są ręcznie dopisywane do skryptu. Lista takich stron jest też pielęgnowana na stronach Strony generowane automatycznie oraz na jej stronie dyskusji.
Zabezpieczanie stron[edytuj]
Ponieważ strony całości są odświeżane przez bota i nie przeznaczone 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.