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.