Wikibooks plwikibooks https://pl.wikibooks.org/wiki/Wikibooks:Strona_g%C5%82%C3%B3wna MediaWiki 1.47.0-wmf.4 first-letter Media Specjalna Dyskusja Wikipedysta Dyskusja wikipedysty Wikibooks Dyskusja Wikibooks Plik Dyskusja pliku MediaWiki Dyskusja MediaWiki Szablon Dyskusja szablonu Pomoc Dyskusja pomocy Kategoria Dyskusja kategorii Wikijunior Dyskusja Wikijuniora TimedText TimedText talk Moduł Dyskusja modułu Wydarzenie Dyskusja wydarzenia Wikibooks:Bar 4 413 544487 540759 2026-05-27T17:14:26Z MediaWiki message delivery 18085 /* Vote now in the 2026 U4C election */ nowa sekcja 544487 wikitext text/x-wiki {{Skrót|'''[[WB:BAR]]''', '''[[WB:Bot policy]]'''}}{{/Nagłówek}} <!-- =================== DYSKUSJE ========================= --> <!-- ============= Prosimy pisać poniżej ================== --> == Projekt nowej strony głównej == Zajmuję się projektem, który od dawna spędza nam sen z powiek. Jak wszystko będę miał gotowe, będzie można redagować, wstawiać, etc. W ramach [[Wikipedysta:Benjamin_E._Schneider/projektyy|tej strony]] podejmuję się działań: * przepisania kodu SG na nowoczesnego HTML-a bez rozwalania na szablony * unowocześniania interfejsu SG * zadbania o przyjazność dla użytkownika. Jeżeli będziecie mieli jakieś sugestie, napiszcie tutaj lub poprawcie na własną rękę. [[Wikipedysta:Benjamin E. Schneider|Benjamin E. Schneider]] ([[Dyskusja wikipedysty:Benjamin E. Schneider|dyskusja]]) 16:26, 6 sty 2026 (CET) == Thank You for Last Year – Join Wiki Loves Ramadan 2026 == Dear Wikimedia communities, We hope you are doing well, and we wish you a happy New Year. ''Last year, we captured light. This year, we’ll capture legacy.'' In 2025, communities around the world shared the glow of Ramadan nights and the warmth of collective iftars. In 2026, ''Wiki Loves Ramadan'' is expanding, bringing more stories, more cultures, and deeper global connections across Wikimedia projects. We invite you to explore the ''Wiki Loves Ramadan 2026'' [[m:Special:MyLanguage/Wiki Loves Ramadan 2026|Meta page]] to learn how you can participate and [[m:Special:MyLanguage/Wiki Loves Ramadan 2026/Participating communities|sign up]] your community. 📷 ''Photo campaign on '' [[c:Special:MyLanguage/Commons:Wiki Loves Ramadan 2026|Wikimedia Commons]] If you have questions about the project, please refer to the FAQs: * [[m:Special:MyLanguage/Wiki Loves Ramadan/FAQ/|Meta-Wiki]] * [[c:Special:MyLanguage/Commons:Wiki Loves Ramadan/FAQ|Wikimedia Commons]] ''Early registration for updates is now open via the '''[[m:Special:RegisterForEvent/2710|Event page]]''''' ''Stay connected and receive updates:'' * [https://t.me/WikiLovesRamadan Telegram channel] * [https://lists.wikimedia.org/postorius/lists/wikilovesramadan.lists.wikimedia.org/ Mailing list] We look forward to collaborating with you and your community. '''The Wiki Loves Ramadan 2026 Organizing Team''' 20:44, 16 sty 2026 (CET) <!-- Wiadomość wysłana przez User:ZI Jony@metawiki przy użyciu listy na https://meta.wikimedia.org/w/index.php?title=Distribution_list/Non-Technical_Village_Pumps_distribution_list&oldid=29879549 --> == <span lang="en" dir="ltr">Annual review of the Universal Code of Conduct and Enforcement Guidelines</span> == <div lang="en" dir="ltr"> <section begin="announcement-content" /> I am writing to you to let you know the annual review period for the Universal Code of Conduct and Enforcement Guidelines is open now. You can make suggestions for changes through 9 February 2026. This is the first step of several to be taken for the annual review. [[m:Special:MyLanguage/Universal Code of Conduct/Annual review/2026|Read more information and find a conversation to join on the UCoC page on Meta]]. The [[m:Special:MyLanguage/Universal Code of Conduct/Coordinating Committee|Universal Code of Conduct Coordinating Committee]] (U4C) is a global group dedicated to providing an equitable and consistent implementation of the UCoC. This annual review was planned and implemented by the U4C. For more information and the responsibilities of the U4C, [[m:Special:MyLanguage/Universal Code of Conduct/Coordinating Committee/Charter|you may review the U4C Charter]]. Please share this information with other members in your community wherever else might be appropriate. -- In cooperation with the U4C, [[m:User:Keegan (WMF)|Keegan (WMF)]] ([[m:User talk:Keegan (WMF)|talk]])<section end="announcement-content" /> </div> 22:01, 19 sty 2026 (CET) <!-- Wiadomość wysłana przez User:Keegan (WMF)@metawiki przy użyciu listy na https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=29905753 --> == Sensowny tytuł podręcznika (na podstawie "Moje pierwsze akwarium") == Hej, mam problem, który spędza mi sen z powiek: tytuł podręcznika "Moje pierwsze akwarium". Na pewno super pomysł na podręcznik w naszych Wikibooks, podoba mi się. Ale ... co znaczy ten tytuł? Dlaczego nie po prostu "Akwarium" albo "Akwarium domowe"? Czy "moje" oznacza, że będzie jeszcze "twoje, nasze, ich itd.? Czy pierwsze oznacza, że będą jeszcze kolejne? Czy ten tytuł robi miejsce na jeszcze inny podręcznik o tej samej treści? Mam wielka prośbę - czy można ten tytuł zmienić na "Akwarium"? Byłoby super. Jeżeli nie da się tego zrobić programatycznie, to całą pracę związaną z przeróbką tytułu mogę wziąć na siebie. Co o tym myślicie? [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 22:01, 24 sty 2026 (CET) :@[[Wikipedysta:EdytaT|EdytaT]] tak cały podręcznik i jego strony da się przynieść do nowej nazwy, aczkolwiek będzie trzeba przepatrzeć tekst, ponieważ tam nie da się zmienić automatycznie. Popieram Twoją propozycję, aby zmienić tytuł na „Akwarium”. Jeszcze dobrze jakby się wypowiedział @[[Wikipedysta:Persino|Persino]] :) [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 11:09, 25 sty 2026 (CET) : {{Ping|EdytaT|Igor123121}} Macie rację! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 11:15, 25 sty 2026 (CET) :Ja rozumiem, że "pierwsze" znaczy - "nie było wcześniej" oraz że "dla początkujących", a "moje" znaczy, że będzie wykonywał je czytelnik. Mimo to, nie widzę przeciwwskazań do zmiany nazwy. [[Wikipedysta:Wargo|Wargo]] ([[Dyskusja wikipedysty:Wargo|dyskusja]]) 12:15, 25 sty 2026 (CET) ::Hej, nie musisz mi tego tłumaczyć. Oczywiście, rozumiem "co autor miał na myśli" wybierając ten tytuł. Ale niestety brzmi on nieciekawie, żeby nie powiedzieć - infantylnie. Trochę tak, jak "Moja pierwsza czytanka", albo "Moja pierwsza malowanka". :):):) Dziękuje za twój głos i pozdrawiam serdecznie. [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 13:59, 25 sty 2026 (CET) :::@[[Wikipedysta:EdytaT|EdytaT]] dokonałem przenosin :) Pozdrawiam! [[Wikipedysta:Igor123121|Igor123121]] ([[Dyskusja wikipedysty:Igor123121|dyskusja]]) 14:42, 25 sty 2026 (CET) ::::{{Ping|Igor123121|EdytaT}} Ukończyłem przenosiny użytkownika: {{Ping|Igor123121}}, książki: [[Moje pierwsze akwarium]], na: [[Akwarium]], jako dalsze potrzebne operacje, sprawdzając również linkujące... [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:31, 25 sty 2026 (CET) :::::Dziękuję! [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 18:27, 25 sty 2026 (CET) *Samo przeniesienie popieram ale po co kasować przekierowania? A co jeśli ktoś linkował do nas? [[Wikipedysta:Marek Mazurkiewicz|Marek Mazurkiewicz]] ([[Dyskusja wikipedysty:Marek Mazurkiewicz|dyskusja]]) 06:57, 26 sty 2026 (CET) == Nazewnictwo artykułów (na podst. "Język pruski dla początkujących") == Hej, jest jeszcze jeden tytuł, który nie pasuje do innych z dziedziny języków: "Język pruski dla początkujących". Prawie wszystkie inne tytuły to po prostu "Hiszpański", "Japoński", "Szwedzki" itd. Czy można zmienić nazwę na "Pruski"? A informacja, że chodzi o początkujących wynika per se z tytułów rozdziałów. Tak też nakazują nasze Wikibookowe reguły, cyt. fragment z "Pomoc" - "Nazewnictwo"<br> ;''Przykłady poprawnych tytułów:<br>'' ''Angielski<br>'' ''Mikrobiologia<br>'' ;''Przykłady niepoprawnych tytułów:<br>'' ''Język Angielski od Podstaw<br>'' ''Historia Polski od Mieszka I do Lecha Wałęsy<br>'' ''Mikrobiologia:Wstęp do nauki o mikroorganizmach<br>'' ''Nie należy stosować w nazwach podręczników własnych określeń, specyficznych tytułów, np. "Mój przewodnik po Beskidzie Wyspowym" albo "Trudna sztuka chirurgii". Takie podtytuły mogą się ewentualnie znaleźć na stronie tytułowej lub w spisie treści.<br>'' Jeżeli nie da się tego zrobić programatycznie, to całą pracę związaną z przeróbką tytułu mogę wziąć na siebie. Co o tym myślicie? [[Wikipedysta:EdytaT|EdytaT]] ([[Dyskusja wikipedysty:EdytaT|dyskusja]]) 22:20, 26 sty 2026 (CET) :Już przeniosłem książkę: [[Język pruski dla początkujących]], pod adres: [[Pruski]], sprawdzając jednocześnie linkujące, ale na szczęście ich nie było. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 23:10, 26 sty 2026 (CET) ::Linkujace w wikimediach to nie wszystko. Mógłbyś zostawiać przekierowania? [[Wikipedysta:Marek Mazurkiewicz|Marek Mazurkiewicz]] ([[Dyskusja wikipedysty:Marek Mazurkiewicz|dyskusja]]) 07:49, 28 sty 2026 (CET) : Dziękuję! {{Brak podpisu|EdytaT}} == Tłumaczenie książek przez AI == Co o tym myślicie? Mam coś na kształt książki na temat języka Scheme: * https://lips.js.org/docs/category/introduction-to-scheme Myślałem, aby przetłumaczyć na język polski. Treść jest na licencji CC-BY-SA. Na stronie [[Lisp]] jest bardzo mało treści. Mój tekst jest nawet bardziej kompletny niż [[:en:Scheme Programming]]. Nie wiem, czy znajdę czas, aby przetłumaczyć ręcznie. [[Wikipedysta:Jcubic|Jcubic]] ([[Dyskusja wikipedysty:Jcubic|dyskusja]]) 22:15, 17 mar 2026 (CET) * Nawet dobry sposób, można w ten właśnie sposób przetłumaczyć tę pozycję... [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 22:18, 17 mar 2026 (CET) == <span lang="en" dir="ltr">Upcoming deployment of CampaignEvents extension to Wikibooks</span> == <div lang="en" dir="ltr"> <section begin="message"/> Hello everyone, We are writing to inform you that the [[mw:Help:Extension:CampaignEvents|CampaignEvents extension]] will be deployed to all Wikibooks projects during the week of '''23 March 2026'''. This follows last year’s broader rollout across Wikimedia projects. We realized that Wikibooks was not included at the time, and we’re now addressing that to ensure consistency across all communities. The CampaignEvents extension provides tools to support event and campaign organization on-wiki, including features like on-wiki event registration and collaboration lists(global event list). We welcome any questions, feedback, or concerns you may have. We are also happy to support anyone interested in trying out the tools. ''Apologies if this message is not in your preferred language. If you’re able to help translate it for your community, please feel free to do so.'' <section end="message"/> </div> <bdi lang="en" dir="ltr">[[User:Udehb-WMF|Udehb-WMF]] ([[User talk:Udehb-WMF|dyskusja]]) 19:22, 19 mar 2026 (CET)</bdi> <!-- Wiadomość wysłana przez User:Udehb-WMF@metawiki przy użyciu listy na https://meta.wikimedia.org/w/index.php?title=User:Udehb-WMF/sandbox/MM_target&oldid=30284073 --> == Action Required: Update templates/modules for electoral maps (Migrating from P1846 to P14226) == Hello everyone, This is a notice regarding an ongoing data migration on Wikidata that may affect your election-related templates and Lua modules (such as <code>Module:Itemgroup/list</code>). '''The Change:'''<br /> Currently, many templates pull electoral maps from Wikidata using the property [[:d:Property:P1846|P1846]], combined with the qualifier [[:d:Property:P180|P180]]: [[:d:Q19571328|Q19571328]]. We are migrating this data (across roughly 4,000 items) to a newly created, dedicated property: '''[[:d:Property:P14226|P14226]]'''. '''What You Need To Do:'''<br /> To ensure your templates and infoboxes do not break or lose their maps, please update your local code to fetch data from [[:d:Property:P14226|P14226]] instead of the old [[:d:Property:P1846|P1846]] + [[:d:Property:P180|P180]] structure. A [[m:Wikidata/Property Migration: P1846 to P14226/List|list of pages]] was generated using Wikimedia Global Search. '''Deadline:'''<br /> We are temporarily retaining the old data on [[:d:Property:P1846|P1846]] to allow for a smooth transition. However, to complete the data cleanup on Wikidata, the old [[:d:Property:P1846|P1846]] statements will be removed after '''May 1, 2026'''. Please update your modules and templates before this date to prevent any disruption to your wiki's election articles. Let us know if you have any questions or need assistance with the query logic. Thank you for your help! [[User:ZI Jony|ZI Jony]] using [[Wikipedysta:MediaWiki message delivery|MediaWiki message delivery]] ([[Dyskusja wikipedysty:MediaWiki message delivery|dyskusja]]) 19:11, 3 kwi 2026 (CEST) <!-- Wiadomość wysłana przez User:ZI Jony@metawiki przy użyciu listy na https://meta.wikimedia.org/w/index.php?title=Distribution_list/Non-Technical_Village_Pumps_distribution_list&oldid=29941252 --> == Request for comment (global AI policy) == <bdi lang="en" dir="ltr" class="mw-content-ltr"> Apologies for writing in English. {{int:Please-translate}} A [[:m:Requests for comment/Artificial intelligence policy|request for comment]] is currently being held to decide on a global AI policy. {{int:Feedback-thanks-title}} [[Wikipedysta:MediaWiki message delivery|MediaWiki message delivery]] ([[Dyskusja wikipedysty:MediaWiki message delivery|dyskusja]]) 02:57, 26 kwi 2026 (CEST) </bdi> <!-- Wiadomość wysłana przez User:Codename Noreste@metawiki przy użyciu listy na https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=30424282 --> == <span lang="en" dir="ltr">Vote now in the 2026 U4C election</span> == <div lang="en" dir="ltr"> <section begin="announcement-content" /> Eligible voters are asked to participate in the 2026 [[m:Special:MyLanguage/Universal_Code_of_Conduct/Coordinating_Committee|Universal Code of Conduct Coordinating Committee]] election. More information–including an eligibility check, voting process information, candidate information, and a link to the vote–are available on Meta at the [[m:Special:MyLanguage/Universal_Code_of_Conduct/Coordinating_Committee/Election/2026|2026 Election information page]]. The vote closes on 2 June 2026 at [https://zonestamp.toolforge.org/1780358400 00:00 UTC]. Please vote if your account is eligible. Results will be available by 14 June 2026. -- In cooperation with the U4C,<section end="announcement-content" /> </div> [[m:User:Keegan (WMF)|Keegan (WMF)]] ([[m:User talk:Keegan (WMF)|talk]]) 19:14, 27 maj 2026 (CEST) <!-- Wiadomość wysłana przez User:Keegan (WMF)@metawiki przy użyciu listy na https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=30513860 --> bjwewsk8llqwgb10arcbvzui6vsgi3l Wikibooks:Bar/Nagłówek 4 9793 544492 544034 2026-05-27T20:16:50Z Wcalenieja 38096 int., jęz. 544492 wikitext text/x-wiki <!--- vvv SIOSTRZANE vvv --->{{Div|styl=font-size:90%;text-align:center;|<!-- -->{{Plik|plik=Wikipedia-logo.png|rozmiar=10px}} {{lpr|Bar|Wikipedia}} <!-- -->{{Plik|plik=Wikisource-logo.svg|rozmiar=10px}} {{lźr|Skryptorium|Wikiźródła}} <!-- -->{{Plik|plik=Wikiquote-logo.svg|rozmiar=10px}} {{lxr|Bar|Wikicytaty}} <!-- -->{{Plik|plik=Wikinews-logo.png|rozmiar=15px}} {{lzr|Kawiarenka|Wikinews}} <!-- -->{{Plik|plik=Commons-logo.svg|rozmiar=10px}} {{lcr|Bar|Commons}} <!-- -->{{Plik|plik=Duże logo Wikisłownika.png|rozmiar=11px}} {{lsr|Bar|Wikisłownik}} <!-- -->{{Plik|plik=Wikispecies-logo.svg|rozmiar=10px}} {{lgr|Village Pump|Wikispecies}} <!-- -->{{Plik|plik=Wikimedia-logo.svg|rozmiar=12px}} {{lmg|Bar|Meta}} <!-- -->{{Plik|plik=Wikidata-logo-en.svg|rozmiar=13px}} {{lnr|Kafejka|Wikidane}} <!-- -->{{Plik|plik=Wikivoyage-Logo-v3-icon.svg|rozmiar=13px}} {{ldr|Pub podróżnika|Wikipodróże}} <!-- -->}} {{Div|styl=text-align:right; margin: 0 2em;|{{Small|{{lr|Skróty|Skrót}}: {{Tt|{{lb|BAR}}}}}}}} <!--- ^^^ KONIEC SIOSTRZANYCH ^^^ ---> <!--- vvv POCZĄTEK BARU vvv ---> {{Tabelka|styl=vertical-align: top; width: 100%| {{Komórka|styl="width:100%; vertical-align: top;"| {{Plik|plik=A_cappuccino.jpg|rozmiar=160px|pozycja=prawo|opis=Stolik Wikibooks ;-)}} '''Bar''' to miejsce, w którym rozmawiamy o wszystkich sprawach dotyczących Wikibooks. Nowe wątki należy dopisywać na dole – na górze są wątki najstarsze. Dyskusje nieaktualne lub nieaktywne trafiają do {{lr|Bar/Archiwum|Archiwum}}. '''Pamiętaj''' o podpisywaniu się za pomocą: {{Tt|<nowiki>~~~~</nowiki>}} lub {{Plik|plik=Signature_icon.png|rozmiar=20px|opis=Tak wygląda przycisk podpisu}}. ; Zobacz też : {{lr|Tablica ogłoszeń}} &ndash; {{lr|IRC}} &ndash; {{lr|Poczekalnia}} &ndash; {{lr|Przyznawanie uprawnień}} * '''en:''' Requests for the {{lmg|bot}} flag should be made on this page. This wiki uses the {{lmg|bot policy|standard bot policy}}, and allows {{lmg|bot policy#Global_bots|global bots}} and {{lmg|bot policy#Automatic_approval|automatic approval of certain types of bots}}. Other bots should apply below, and then {{lmg|Steward requests/Bot status|request access}} from a steward if there is no objection. }}{{Komórka|styl=vertical-align: top;|{{Div|styl=margin-top: -0.5em;|{{Wikibooks/Komunikacja}}}}}} }} {{Hr}} '''Discord''' – bezpłatny {{lpg|komunikator internetowy}} służący polskojęzycznym wikimedianom do komunikacji na żywo. Można tam rozmawiać na kanałach tematycznych za pomocą {{lpg|wiadomość tekstowa|wiadomości tekstowych}} ze {{lpg|zdjęcie fotograficzne|zdjęciami}} i {{lpg|film|po=ami}}, a także głosowo (z opcjami wideo i dzielenia się ekranem). Wykorzystuje technologię {{lpg|Voice over Internet Protocol|Voice over IP}}. Zaprojektowany dla graczy komputerowych, jest wykorzystywany przez {{lmg|Discord|szereg społeczności Wikimediów}}. Kanały znajdujące się na serwerze można traktować jako kontynuację {{lpr|Kanał IRC|kanałów IRC}}. {{Center|{{Przycisk do klikania 2|Dołącz do serwera|class=mw-ui-progressive|url=https://discord.gg/TM66QtkWGy}}}} <!--- vvv DODAJ NOWY WĄTEK vvv ---> {{Div|styl=text-align:center;border:1px darkblue dashed;padding:0.5em;margin:1em|klasa=plainlinks|{{Center| {{Big|'''[{{fullurl:Wikibooks:Bar|action=edit&section=new}} Rozpocznij nową dyskusję]'''}}}} }} <!--- ^^^ KONIEC NOWEGO WĄTKU ^^^ ---> <!---lewostronny spis treści po prawej---> {{Spis treści}} __NEWSECTIONLINK__ <!---koniec spisu---> {{Kategoria|Metastrony Wikibooks}} efjhduh16solpk24ztomkkwp76g31gz Szablon:Ambox/opis 10 19900 544512 533398 2026-05-28T10:03:05Z Persino 2851 544512 wikitext text/x-wiki {{Podstrona dokumentacji}} <!-- EDYTUJ DOKUMENTACJĘ SZABLONU PONIŻEJ TEJ LINII --> {{Wysokie ryzyko}} {{Szablony komunikatów}} {{Spis treści}} <!-- DODAWAJ KATEGORIE NA DOLE STRONY --> To jest {{s|Ambox}} (skrót od '''''a'''rticle '''m'''essage '''box''''') — szablon szablonów. Szablon ten jest używany do tworzenia komunikatów stosowanych w artykułach (przestrzeni głównej), takich jak {{S|Dopracować}}. Oferuje on różne kolory i obrazki, odpowiednie do rodzaju problemu wskazywanego przez tworzony komunikat. == Użycie == Proste użycie: {{Pre| {{s|Ambox | tekst {{=}} Jakiś tekst. }} }} {{Ambox | tekst = Jakiś tekst. }} Złożone użycie: {{Pre| {{s|Ambox | typ {{=}} zawartość | tekst {{=}} Tekst wiadomości. }} }} {{Ambox | typ = zawartość | tekst = Tekst wiadomości. }} === ''typ'' === {{Zobacz sekcję|Wikipedia:Szablony komunikatów|Odmiany kolorystyczne szablonów mbox|Odmiany kolorystyczne|klucz projektu=w}} Parametr ''typ'' definiuje kolor lewego paska szablonu oraz domyślną ikonę. Typ nie powinien być wybierany ze względów estetycznych, ale powinien być wybierany w zależności od przedstawianego przez komunikat problemu. Dostępne są 4 typy, które przedstawiono poniżej z domyślnymi ikonami. {{Ambox | typ = poważny | tekst = {{Parametr|typ|{{Un|poważny}}}} – Poważne problemy, jak: {{s|NPA}} i {{s|NPAfrgm}}. }} {{Ambox | typ = szybko | tekst = {{Parametr|typ|{{Un|szybko}}}} – Szybkie szablony usuwania, takie jak: {{s|Screenshot}}. }} {{Ambox | typ = usuń | tekst = {{Parametr|typ|{{Un|usuń}}}} – Szablony usuwania, takie jak: {{s|DNU}}, {{s|SdU}} i {{s|SdUwynik}}. }} {{Ambox | typ = styl | tekst = {{Parametr|typ|{{Un|styl}}}} – Drobne ostrzeżenia i problemy, takie jak: {{s|Kasowanie po przeniesieniu}} i {{s|Zgłoś błąd}}. }} {{Ambox | typ = zawartość | tekst = {{Parametr|typ|{{Un|zawartość}}}} – Problemy z zawartością, jak {{S|Dopracować|POV}}. }} {{Ambox | typ = rozszerz | tekst = {{Parametr|typ|{{Un|rozszerz}}}} – Problemy z zawartością o małej treści, należy ją rozszrzerzyć, takie jak: {{S|Info|POV}}. }} {{Ambox | typ = przeniesienie | tekst = {{Parametr|typ|{{Un|przeniesienie}}}} – Przenoszenie i zmiana nazw stron i propozycje, takich jak: {{s|Integrowanie}}, {{s|Integruj z}} i {{s|Integruj do}}. }} {{Ambox | typ = ochrona | tekst = {{Parametr|typ|{{Un|ochrona}}}} – Szablony ochrony, takie jak: {{s|Wysokie ryzyko}} i {{s|Skomplikowany}}, wyświetlane na stronie pliku. }} {{Ambox | typ = integruj | tekst = {{Parametr|typ|{{Un|integruj}}}} – integracja, dzielenie i propozycje transwiki, jak {{S|Integracja}}. }} {{Ambox | typ = powiadomienie | tekst = {{Parametr|typ|{{Un|powiadomienie}}}} – Powiadomienia i wiadomości wszelkiego rodzaju, zarówno stałe, jak i tymczasowe. }} {{Ambox | typ = wiadomość | tekst = {{Parametr|typ|{{Un|wiadomość}}}} – Informacje o artykule, jak {{S|Aktualne}} i {{S|W edycji}}. }} Jeśli w wywołaniu szablonu nie zadeklarowano parametru ''typ'', domyślnym ustawieniem jest {{Parametr|typ|wiadomość}}. === ''grafika'' i ''poniżej'' === : '''''jakaś grafika''''' = Powinien zostać użyty szablon {{s|Ikona}} z szerokością 35px. Na przykład: :: {{Code|{{s|Ikona|pov|35}}}} {{Ambox | typ = zawartość | grafika = {{Ikona|pov|35}} | tekst = {{Parametr|typ|{{Un|zawartość}}}} {{Br}} {{Parametr|grafika|{{s|Ikona|pov|35}}}} {{Br}} Ta grafika jest używana w szablonie {{S|Dopracować|POV}} i podobnych. }} {{Ambox | typ = integruj | grafika = {{Ikona|integracja|35}} | tekst = {{Parametr|typ|{{Un|integruj}}}} {{Br}} {{Parametr|grafika|{{s|Ikona|integracja|35}}}} {{Br}} Ta grafika jest używana w {{S|Integracja}}, itp. {{Br}} {{Parametr|poniżej|{{s|Ambox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | poniżej = {{Ambox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! }} }} Jeśli ten parametr nie jestr określony, używana jest domyślna grafika związana z parametrem '''{{Parametr|typ}}''' (zobacz domyślne obrazki w sekcji {{lu|#typ}} powyżej). Jeśli jako parametr podano {{Parametr|grafika|nie}}, w szablonie nie jest używana grafika, a tekst jest wyrównany do lewej bez pozostawienia pustego miejsca. Jeśli natomiast jako parametr podano {{Parametr|grafika|brak}}, szablon nie używa żadnej grafiki, ale zostawia puste pole szerokości domyślnego obrazka, co pozwala na wyrównywanie tekstu w kilku szablonach. {{Ambox | grafika = brak | tekst = Brak typu i '''{{Parametr|grafika|brak}}''' – Czyści pole i zostawia margines szerokości domyślnej grafiki. Pozwala na ładne łączenie tekstu z różnych szablonów. {{Br}} {{Parametr|poniżej|{{s|Ambox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | poniżej = {{Ambox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! }} }} {{Ambox | grafika = nie | tekst = Brak typu i '''{{Parametr|grafika|nie}}''' – Nie jest użyta żadna grafika, a '''tekst''' wykorzystuje całą szerokość pola. {{Br}} {{Parametr|poniżej|{{s|Ambox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | poniżej = {{Ambox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! }} }} {{Ambox | grafika = {{Ikona|aktualne|35}} | grafika prawo = {{Ikona|biblioteka|35}} | tekst = {{Parametr|grafika|{{s|Ikona|aktualne|35}}}} {{Br}} {{Parametr|grafika prawo|{{s|Ikona|biblioteka|35}}}} {{Br}} {{Parametr|poniżej|{{s|Ambox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | poniżej = {{Ambox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! }} }} {{Ambox | tekst = {{Parametr|grafika prawo|{{s|Skrót|id{{=}}stary|WP:SK}}}} {{Br}} Szablony skrótów umieszczaj w '''grafika prawo''', bo inaczej popsują wygląd szablonu. {{Br}} {{Parametr|poniżej|{{s|Ambox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | grafika prawo = {{Skrót|id=stary|WP:SK}} | poniżej = {{Ambox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! }} }} === ''grafika prawo'' === Po prawej stronie szablonu można umieścić drugą grafikę lub inny obiekt, wprowadzając jego kod jako parametr {{Parametr|grafika prawo}}. Jeśli nie zdefiniowano tego parametru, szablon nie wyświetla żadnej grafiki lub elementu po prawej stronie komunikatu. === ''tekst'' === Tekst szablonu, lub inne elementy jego zawartości. == Opis parametrów == {{Mbox/opis/Opis parametrów-Wykaz}} {{Mbox/opis/Opis parametrów-Opis}} {{Mbox/opis/Opis parametrów-Tabela}} == Szczególne przypadki == === Specjalna składnia === {{Mbox/opis/Specjalna składnia}} === Budowa tabelkowa obiektów przy pomocy klas i styli, CSS, kaskadowych arkuszy stylów szablonów komunikatów === {{Mbox/opis/Techniczne szczegóły}} == Błędy == Błędy należy zgłaszać na stronie {{Kwestie techniczne}}. == Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) == <templatedata> { "params": { "styl": { "description": "Style tabelki komunikatu kaskadowych arkuszy stylów CSS tabelki komunikatów.", "type": "string" }, "typ": { "suggested": true, "description": "Tyo danego komunikatu oznaczony domyślnym rysunkiem i stylami.", "type": "string" }, "grafika": { "example": "{{ikona|pov|35}}", "suggested": true, "description": "Lewa grafika", "type": "unbalanced-wikitext" }, "tekst": { "required": true, "aliases": [ "1 treść" ], "description": "Tekst komunikatu", "type": "content" }, "grafika prawo": { "description": "Grafika po prawej stronie komunikatu.", "type": "unbalanced-wikitext" }, "id": { "description": "Unikalny identyfikator tabelki komunikatów.", "type": "string" }, "styl tekstu": { "description": "Styl tekstu, w zmiennej 1, tekst albo treść i ewentualnie z tego poniżej, jeśli styl poniżej nie podano, kaskadowych arkuszy stylów CSS.", "type": "string" }, "poniżej": { "description": "Inne wywołanie szablonu komunikatu w danym komunikacie.", "type": "string" }, "klasa": { "description": "Klasa kaskadowych arkuszy stylów CSS tabelki komunikatów.", "type": "string" }, "styl poniżej": { "description": "Ustawia styl kaskadowych arkuszy stylów CSS elementowi wstawianemu pod parametrem poniżej.", "type": "string" } }, "paramOrder": [ "typ", "styl tekstu", "tekst", "grafika", "grafika prawo", "id", "klasa", "styl", "poniżej", "styl poniżej" ], "format": "block", "description": "Szablon do użycia w artykułach w przestrzeni nazw (główna) i Wikijunior." } </templatedata> == Zobacz też == {{Mbox/opis/Zobacz też}} {{BrClear}} <includeonly><!-- ++++ DODAWAJ KATEGORIE I INTERWIKI PONIŻEJ TEJ LINII --> {{Kategorie | Szablony komunikatów mbox | Szablony szablonów }} </includeonly> 6ktv76ca4nsx1wkjk942kz4n6yzq8jd 544516 544512 2026-05-28T10:14:52Z Persino 2851 /* Budowa tabelkowa obiektów przy pomocy klas i styli, CSS, kaskadowych arkuszy stylów szablonów komunikatów */ 544516 wikitext text/x-wiki {{Podstrona dokumentacji}} <!-- EDYTUJ DOKUMENTACJĘ SZABLONU PONIŻEJ TEJ LINII --> {{Wysokie ryzyko}} {{Szablony komunikatów}} {{Spis treści}} <!-- DODAWAJ KATEGORIE NA DOLE STRONY --> To jest {{s|Ambox}} (skrót od '''''a'''rticle '''m'''essage '''box''''') — szablon szablonów. Szablon ten jest używany do tworzenia komunikatów stosowanych w artykułach (przestrzeni głównej), takich jak {{S|Dopracować}}. Oferuje on różne kolory i obrazki, odpowiednie do rodzaju problemu wskazywanego przez tworzony komunikat. == Użycie == Proste użycie: {{Pre| {{s|Ambox | tekst {{=}} Jakiś tekst. }} }} {{Ambox | tekst = Jakiś tekst. }} Złożone użycie: {{Pre| {{s|Ambox | typ {{=}} zawartość | tekst {{=}} Tekst wiadomości. }} }} {{Ambox | typ = zawartość | tekst = Tekst wiadomości. }} === ''typ'' === {{Zobacz sekcję|Wikipedia:Szablony komunikatów|Odmiany kolorystyczne szablonów mbox|Odmiany kolorystyczne|klucz projektu=w}} Parametr ''typ'' definiuje kolor lewego paska szablonu oraz domyślną ikonę. Typ nie powinien być wybierany ze względów estetycznych, ale powinien być wybierany w zależności od przedstawianego przez komunikat problemu. Dostępne są 4 typy, które przedstawiono poniżej z domyślnymi ikonami. {{Ambox | typ = poważny | tekst = {{Parametr|typ|{{Un|poważny}}}} – Poważne problemy, jak: {{s|NPA}} i {{s|NPAfrgm}}. }} {{Ambox | typ = szybko | tekst = {{Parametr|typ|{{Un|szybko}}}} – Szybkie szablony usuwania, takie jak: {{s|Screenshot}}. }} {{Ambox | typ = usuń | tekst = {{Parametr|typ|{{Un|usuń}}}} – Szablony usuwania, takie jak: {{s|DNU}}, {{s|SdU}} i {{s|SdUwynik}}. }} {{Ambox | typ = styl | tekst = {{Parametr|typ|{{Un|styl}}}} – Drobne ostrzeżenia i problemy, takie jak: {{s|Kasowanie po przeniesieniu}} i {{s|Zgłoś błąd}}. }} {{Ambox | typ = zawartość | tekst = {{Parametr|typ|{{Un|zawartość}}}} – Problemy z zawartością, jak {{S|Dopracować|POV}}. }} {{Ambox | typ = rozszerz | tekst = {{Parametr|typ|{{Un|rozszerz}}}} – Problemy z zawartością o małej treści, należy ją rozszrzerzyć, takie jak: {{S|Info|POV}}. }} {{Ambox | typ = przeniesienie | tekst = {{Parametr|typ|{{Un|przeniesienie}}}} – Przenoszenie i zmiana nazw stron i propozycje, takich jak: {{s|Integrowanie}}, {{s|Integruj z}} i {{s|Integruj do}}. }} {{Ambox | typ = ochrona | tekst = {{Parametr|typ|{{Un|ochrona}}}} – Szablony ochrony, takie jak: {{s|Wysokie ryzyko}} i {{s|Skomplikowany}}, wyświetlane na stronie pliku. }} {{Ambox | typ = integruj | tekst = {{Parametr|typ|{{Un|integruj}}}} – integracja, dzielenie i propozycje transwiki, jak {{S|Integracja}}. }} {{Ambox | typ = powiadomienie | tekst = {{Parametr|typ|{{Un|powiadomienie}}}} – Powiadomienia i wiadomości wszelkiego rodzaju, zarówno stałe, jak i tymczasowe. }} {{Ambox | typ = wiadomość | tekst = {{Parametr|typ|{{Un|wiadomość}}}} – Informacje o artykule, jak {{S|Aktualne}} i {{S|W edycji}}. }} Jeśli w wywołaniu szablonu nie zadeklarowano parametru ''typ'', domyślnym ustawieniem jest {{Parametr|typ|wiadomość}}. === ''grafika'' i ''poniżej'' === : '''''jakaś grafika''''' = Powinien zostać użyty szablon {{s|Ikona}} z szerokością 35px. Na przykład: :: {{Code|{{s|Ikona|pov|35}}}} {{Ambox | typ = zawartość | grafika = {{Ikona|pov|35}} | tekst = {{Parametr|typ|{{Un|zawartość}}}} {{Br}} {{Parametr|grafika|{{s|Ikona|pov|35}}}} {{Br}} Ta grafika jest używana w szablonie {{S|Dopracować|POV}} i podobnych. }} {{Ambox | typ = integruj | grafika = {{Ikona|integracja|35}} | tekst = {{Parametr|typ|{{Un|integruj}}}} {{Br}} {{Parametr|grafika|{{s|Ikona|integracja|35}}}} {{Br}} Ta grafika jest używana w {{S|Integracja}}, itp. {{Br}} {{Parametr|poniżej|{{s|Ambox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | poniżej = {{Ambox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! }} }} Jeśli ten parametr nie jestr określony, używana jest domyślna grafika związana z parametrem '''{{Parametr|typ}}''' (zobacz domyślne obrazki w sekcji {{lu|#typ}} powyżej). Jeśli jako parametr podano {{Parametr|grafika|nie}}, w szablonie nie jest używana grafika, a tekst jest wyrównany do lewej bez pozostawienia pustego miejsca. Jeśli natomiast jako parametr podano {{Parametr|grafika|brak}}, szablon nie używa żadnej grafiki, ale zostawia puste pole szerokości domyślnego obrazka, co pozwala na wyrównywanie tekstu w kilku szablonach. {{Ambox | grafika = brak | tekst = Brak typu i '''{{Parametr|grafika|brak}}''' – Czyści pole i zostawia margines szerokości domyślnej grafiki. Pozwala na ładne łączenie tekstu z różnych szablonów. {{Br}} {{Parametr|poniżej|{{s|Ambox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | poniżej = {{Ambox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! }} }} {{Ambox | grafika = nie | tekst = Brak typu i '''{{Parametr|grafika|nie}}''' – Nie jest użyta żadna grafika, a '''tekst''' wykorzystuje całą szerokość pola. {{Br}} {{Parametr|poniżej|{{s|Ambox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | poniżej = {{Ambox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! }} }} {{Ambox | grafika = {{Ikona|aktualne|35}} | grafika prawo = {{Ikona|biblioteka|35}} | tekst = {{Parametr|grafika|{{s|Ikona|aktualne|35}}}} {{Br}} {{Parametr|grafika prawo|{{s|Ikona|biblioteka|35}}}} {{Br}} {{Parametr|poniżej|{{s|Ambox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | poniżej = {{Ambox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! }} }} {{Ambox | tekst = {{Parametr|grafika prawo|{{s|Skrót|id{{=}}stary|WP:SK}}}} {{Br}} Szablony skrótów umieszczaj w '''grafika prawo''', bo inaczej popsują wygląd szablonu. {{Br}} {{Parametr|poniżej|{{s|Ambox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | grafika prawo = {{Skrót|id=stary|WP:SK}} | poniżej = {{Ambox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! }} }} === ''grafika prawo'' === Po prawej stronie szablonu można umieścić drugą grafikę lub inny obiekt, wprowadzając jego kod jako parametr {{Parametr|grafika prawo}}. Jeśli nie zdefiniowano tego parametru, szablon nie wyświetla żadnej grafiki lub elementu po prawej stronie komunikatu. === ''tekst'' === Tekst szablonu, lub inne elementy jego zawartości. == Opis parametrów == {{Mbox/opis/Opis parametrów-Wykaz}} {{Mbox/opis/Opis parametrów-Opis}} {{Mbox/opis/Opis parametrów-Tabela}} == Szczególne przypadki == === Specjalna składnia === {{Mbox/opis/Specjalna składnia}} === Budowa tabelkowa obiektów przy pomocy klas i styli, CSS, kaskadowych arkuszy stylów szablonów komunikatów === {{Mbox/opis/CSS}} == Błędy == Błędy należy zgłaszać na stronie {{Kwestie techniczne}}. == Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) == <templatedata> { "params": { "styl": { "description": "Style tabelki komunikatu kaskadowych arkuszy stylów CSS tabelki komunikatów.", "type": "string" }, "typ": { "suggested": true, "description": "Tyo danego komunikatu oznaczony domyślnym rysunkiem i stylami.", "type": "string" }, "grafika": { "example": "{{ikona|pov|35}}", "suggested": true, "description": "Lewa grafika", "type": "unbalanced-wikitext" }, "tekst": { "required": true, "aliases": [ "1 treść" ], "description": "Tekst komunikatu", "type": "content" }, "grafika prawo": { "description": "Grafika po prawej stronie komunikatu.", "type": "unbalanced-wikitext" }, "id": { "description": "Unikalny identyfikator tabelki komunikatów.", "type": "string" }, "styl tekstu": { "description": "Styl tekstu, w zmiennej 1, tekst albo treść i ewentualnie z tego poniżej, jeśli styl poniżej nie podano, kaskadowych arkuszy stylów CSS.", "type": "string" }, "poniżej": { "description": "Inne wywołanie szablonu komunikatu w danym komunikacie.", "type": "string" }, "klasa": { "description": "Klasa kaskadowych arkuszy stylów CSS tabelki komunikatów.", "type": "string" }, "styl poniżej": { "description": "Ustawia styl kaskadowych arkuszy stylów CSS elementowi wstawianemu pod parametrem poniżej.", "type": "string" } }, "paramOrder": [ "typ", "styl tekstu", "tekst", "grafika", "grafika prawo", "id", "klasa", "styl", "poniżej", "styl poniżej" ], "format": "block", "description": "Szablon do użycia w artykułach w przestrzeni nazw (główna) i Wikijunior." } </templatedata> == Zobacz też == {{Mbox/opis/Zobacz też}} {{BrClear}} <includeonly><!-- ++++ DODAWAJ KATEGORIE I INTERWIKI PONIŻEJ TEJ LINII --> {{Kategorie | Szablony komunikatów mbox | Szablony szablonów }} </includeonly> hmcu7pozbt2hy86vzid6s95rj1rn5g2 Szablon:Fmbox/opis 10 19902 544519 533400 2026-05-28T10:24:21Z Persino 2851 544519 wikitext text/x-wiki {{Podstrona dokumentacji}} <!-- EDYTUJ DOKUMENTACJĘ SZABLONU PONIŻEJ TEJ LINII --> {{Wysokie ryzyko}} {{Szablony komunikatów}} {{Spis treści}} <!-- DODAWAJ KATEGORIE NA DOLE STRONY --> To jest '''fmbox''' (skrót od '''footer & header message box''') — szablon szablonów. Szablon ten jest używany do tworzenia komunikatów systemowych, takich jak np. [[MediaWiki:Sp-contributions-footer-anon]]. Może być też używany jako nagłówek lub stopka dla stron użytkowników oraz editnotice. Budowa i użycie tego szablonu jest bardzo podobne do {{s|ambox}} i w większości przypadków używa tych samych parametrów. Największą różnicą jest 100% szerokość ramki oraz inne kolory. == Użycie == Proste użycie: {{Pre|{{s|Fmbox | tekst {{=}} Jakiś tekst.}}}} {{Fmbox | tekst = Jakiś tekst.}} Złożone użycie: {{Pre| {{s|Fmbox | typ {{=}} editnotice | grafika {{=}} {{s|Plik|plik{{=}}Emblem-question-yellow.svg|rozmiar{{=}}40px|rys{{=}}tak}} | tekst {{=}} Tekst wiadomości. | styl {{=}} border: 1px solid #f4c430; | styl tekstu {{=}} color: red; font-weight: bold; font-style: italic; }}}} {{Fmbox | typ = editnotice | grafika = {{Plik|plik=Emblem-question-yellow.svg|rozmiar=40px|rys=tak}} | tekst = Tekst wiadomości. | styl = border: 1px solid #f4c430; | styl tekstu = color: red; font-weight: bold; font-style: italic; }} == Typy komunikatów == Poniższe przykłady pokazują użycie różnych wartości dla argumentu '''typ''', nie korzystając z parametru obrazka. {{Fmbox | typ = ostrzeżenie | tekst = {{Parametr|typ|{{Un|ostrzeżenie}}}} – Systemowe ostrzeżenie. }} {{Fmbox | typ = editnotice | tekst = {{Parametr|typ|{{Un|editnotice}}}} – Przeźroczyste tło dla powiadomień przy edycji. }} {{Fmbox | typ = systemowe | tekst = {{Parametr|typ|{{Un|systemowe}}}} – Systemowy komunikat o jasnoszarym tle (domyślne). }} === ''grafika'' i ''poniżej'' === : '''''jakaś grafika''''' = Powinien zostać użyty szablon {{s|Ikona}} z szerokością 35px. Na przykład: :: {{Code|{{s|Ikona|pov|35}}}} {{Fmbox | typ = systemowe | grafika = {{Ikona|pov|35}} | tekst = {{Parametr|typ|{{Un|systemowe}}}} {{Br}} {{Parametr|grafika|{{s|Ikona|pov|35}}}} {{Br}} Ta grafika jest używana w szablonie {{S|Dopracować|POV}} i podobnych. }} {{Fmbox | typ = systemowe | grafika = {{Ikona|integracja|35}} | tekst = {{Parametr|typ|{{Un|systemowe}}}} {{Br}} {{Parametr|grafika|{{s|Ikona|integracja|35}}}} {{Br}} Ta grafika jest używana w {{S|Integracja}}, itp. {{Br}} {{Parametr|poniżej|{{s|Fmbox|typ{{=}}editnotice|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | poniżej = {{Fmbox | typ = editnotice | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! }} }} Jeśli ten parametr nie jest określony, używana jest domyślna grafika związana z parametrem '''{{Parametr|typ}}''' (zobacz domyślne obrazki w sekcji {{lu|#typ}} powyżej). Jeśli jako parametr podano {{Parametr|grafika|nie}}, w szablonie nie jest używana grafika, a tekst jest wyrównany do lewej bez pozostawienia pustego miejsca. Jeśli natomiast jako parametr podano {{Parametr|grafika|brak}}, szablon nie używa żadnej grafiki, ale zostawia puste pole szerokości domyślnego obrazka, co pozwala na wyrównywanie tekstu w kilku szablonach. {{Fmbox | grafika = brak | tekst = Brak typu i '''{{Parametr|grafika|brak}}''' – Czyści pole i zostawia margines szerokości domyślnej grafiki. Pozwala na ładne łączenie tekstu z różnych szablonów. {{Br}} {{Parametr|poniżej|{{s|Fmbox|typ{{=}}editnotice|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | poniżej = {{Fmbox | typ = editnotice | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! }} }} {{Fmbox | grafika = nie | tekst = Brak typu i '''{{Parametr|grafika|nie}}''' – Nie jest użyta żadna grafika, a '''tekst''' wykorzystuje całą szerokość pola. {{Br}} {{Parametr|poniżej|{{s|Fmbox|typ{{=}}editnotice|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | poniżej = {{Fmbox | typ = editnotice | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! }} }} {{Fmbox | grafika = {{Ikona|aktualne|35}} | grafika prawo = {{Ikona|biblioteka|35}} | tekst = {{Parametr|grafika|{{s|Ikona|aktualne|35}}}} {{Br}} {{Parametr|grafika prawo|{{s|Ikona|biblioteka|35}}}} {{Br}} {{Parametr|poniżej|{{s|Fmbox|typ{{=}}editnotice|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | poniżej = {{Fmbox | typ = editnotice | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! }} }} {{Fmbox | tekst = {{Parametr|grafika prawo|{{s|Skrót|id{{=}}stary|WP:SK}}}} {{Br}} Szablony skrótów umieszczaj w '''grafika prawo''', bo inaczej popsują wygląd szablonu. {{Br}} {{Parametr|poniżej|{{s|Fmbox|typ{{=}}editnotice|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | grafika prawo = {{Skrót|id=stary|WP:SK}} | poniżej = {{Fmbox | typ = editnotice | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! }} }} == Opis parametrów == {{Mbox/opis/Opis parametrów-Wykaz}} {{Mbox/opis/Opis parametrów-Opis}} {{Mbox/opis/Opis parametrów-Tabela}} == Techniczne szczegóły == === Specjalna składnia === {{Mbox/opis/Specjalna składnia}} === Budowa tabelkowa obiektów przy pomocy klas i styli, CSS, kaskadowych arkuszy stylów szablonów komunikatów === {{Mbox/opis/CSS}} == Błędy == Błędy należy zgłaszać na stronie {{Kwestie techniczne}}. == Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) == <templatedata> { "params": { "styl": { "description": "Style tabelki komunikatu kaskadowych arkuszy stylów CSS tabelki komunikatów.", "type": "string" }, "typ": { "suggested": true, "description": "Tyo danego komunikatu oznaczony domyślnym rysunkiem i stylami.", "type": "string" }, "grafika": { "example": "{{ikona|pov|35}}", "suggested": true, "description": "Lewa grafika", "type": "unbalanced-wikitext" }, "tekst": { "required": true, "aliases": [ "1 treść" ], "description": "Tekst komunikatu", "type": "content" }, "grafika prawo": { "description": "Grafika po prawej stronie komunikatu.", "type": "unbalanced-wikitext" }, "id": { "description": "Unikalny identyfikator tabelki komunikatów.", "type": "string" }, "styl tekstu": { "description": "Styl tekstu, w zmiennej: 1, tekst albo treść, i ewentualnie z tego poniżej, jeśli: styl poniżej, nie podano, kaskadowych arkuszy stylów CSS.", "type": "string" }, "poniżej": { "description": "Inne wywołanie szablonu komunikatu w danym komunikacie.", "type": "string" }, "klasa": { "description": "Klasa kaskadowych arkuszy stylów CSS tabelki komunikatów.", "type": "string" }, "styl poniżej": { "description": "Ustawia styl kaskadowych arkuszy stylów CSS elementowi wstawianemu pod parametrem poniżej.", "type": "string" } }, "paramOrder": [ "typ", "styl tekstu", "tekst", "grafika", "grafika prawo", "id", "klasa", "styl", "poniżej", "styl poniżej" ], "format": "block", "description": "Szablon systemowy do użycia w przestrzeniach nazw MediaWiki i Specjalna." } </templatedata> == Zobacz też == {{Mbox/opis/Zobacz też}} {{BrClear}} <includeonly><!-- ++++ DODAWAJ KATEGORIE I INTERWIKI PONIŻEJ TEJ LINII --> {{Kategorie | Szablony komunikatów mbox | Szablony szablonów }} </includeonly> gso4p1wgm3i0z0asok7c60vb9rt9j3z Szablon:AmboxProsty/opis 10 30699 544526 516436 2026-05-28T10:41:17Z Persino 2851 /* Zobacz też */ 544526 wikitext text/x-wiki {{Podstrona dokumentacji}} <!-- EDYTUJ DOKUMENTACJĘ SZABLONU PONIŻEJ TEJ LINII --> {{Wysokie ryzyko}} {{Szablony komunikatów}} {{Spis treści}} <!-- DODAWAJ KATEGORIE NA DOLE STRONY --> == Użycie == Szablon służy do umieszczania w podręcznikach. Powstał na bazie szablonu {{s|ambox}}. == Opis parametrów == {{Pre|{{s|AmboxProsty | typ {{=}} pułapka / przykład / definicja / zadanie | tekst {{=}} tekst do umieszczenia }}}} == Przykłady == ; Przykład {{Pre|{{s|AmboxProsty |typ {{=}} pułapka|tekst {{=}} Użycie tej wartości nie jest dozwolone!}}}} ; Wynik {{AmboxProsty | typ = pułapka | tekst= Użycie tej wartości nie jest dozwolone!}} ---- ; Przykład {{Pre|{{s|AmboxProsty | typ {{=}} przykład | tekst {{=}} W JavaScript: <nowiki>''5 +'11'+ 3 = 5113''</nowiki>.}}}} ; Wynik {{AmboxProsty | typ = przykład | tekst = W JavaScript: ''5 +'11'+ 3 = 5113''.}} ---- ; Przykład {{Pre|{{s|AmboxProsty | typ {{=}} definicja | tekst {{=}} Typ <nowiki>'''String''' oznacza '''ciąg znaków'''</nowiki>.}}}} ; Wynik {{AmboxProsty | typ = definicja | tekst = Typ '''String''' oznacza '''ciąg znaków'''.}} ---- ; Przykład {{Pre|{{s|AmboxProsty | typ {{=}} zadanie | tekst {{=}} Stwórz skrypt, który spotęguje daną liczbę - iteracyjnie.}}}} ; Wynik {{AmboxProsty | typ = zadanie | tekst = Stwórz skrypt, który spotęguje daną liczbę - iteracyjnie.}} ---- ; Przykład {{Pre|{{s|AmboxProsty | tekst {{=}} JavaScript jest wykonywany po stronie klienta, (niektóre systemy operacyjne zawierają także dodatkowe oprogramowanie umożliwiające uruchomienie takich skryptów w wierszu polecenia).}}}} ; Wynik {{AmboxProsty | tekst = JavaScript jest wykonywany po stronie klienta, (niektóre systemy operacyjne zawierają także dodatkowe oprogramowanie umożliwiające uruchomienie takich skryptów w wierszu polecenia).}} == Błędy == Błędy należy zgłaszać na stronie {{Kwestie techniczne}}. == Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) == <templatedata> { "params": { } } </templatedata> == Zobacz też == {{Mbox/opis/Zobacz też}} {{BrClear}} <includeonly><!-- ++++ DODAWAJ KATEGORIE I INTERWIKI PONIŻEJ TEJ LINII --> {{Kategorie | Szablony komunikatów mbox | Szablony szablonów }} </includeonly> c08siuk2pgggzgdr7cxvwagqwhinnw1 Szablon:Tmbox/opis 10 32983 544518 533399 2026-05-28T10:21:50Z Persino 2851 544518 wikitext text/x-wiki {{Podstrona dokumentacji}} <!-- EDYTUJ DOKUMENTACJĘ SZABLONU PONIŻEJ TEJ LINII --> {{Wysokie ryzyko}} {{Szablony komunikatów}} {{Spis treści}} <!-- DODAWAJ KATEGORIE NA DOLE STRONY --> To jest '''tmbox''' (''talk page message box'') – szablon szablonów. Jest on używany do tworzenia szablonów informacyjnych wstawianych na stronie dyskusji. == Użycie == Najprostsze wywołanie szablonu: {{Pre|{{s|Tmbox|tekst {{=}} Jakiś tekst, który ma na celu zademonstrowanie działania szablonu.}}}} Wyświetla on taki komunikat: {{Tmbox|tekst = Jakiś tekst, który ma na celu zademonstrowanie działania szablonu.}} Bardziej złożone wywołanie: {{Pre| {{s|Tmbox | typ {{=}} zawartość | grafika {{=}} tu zaleca się podać szablon ikona w wielkości 35px, np. {{ikona|pomuwaga|35}} | tekst {{=}} Tekst wiadomości }} }} Powoduje ono wyświetlenie następującego komunikatu: {{Tmbox | typ = zawartość | grafika = {{ikona|pomuwaga|35}} | tekst = Tekst wiadomości }} ==== Style szablonu ==== Szablon ma wiele przygotowanych styli główncych, które są przełączane za pomocą parametru '''typ'''. Jeśli ten parametr nie został użyty lub została podana inna wartość niż jedna z poniższych, wykorzystywany jest typ „wiadomość”. {{Tmbox | typ = poważny | tekst = {{Parametr|typ|{{Un|poważny}}}} – Poważne problemy, jak: {{s|NPA}} i {{s|NPAfrgm}}. }} {{Tmbox | typ = szybko | tekst = {{Parametr|typ|{{Un|szybko}}}} – Szybkie szablony usuwania, takie jak: {{s|Screenshot}}. }} {{Tmbox | typ = usuń | tekst = {{Parametr|typ|{{Un|usuń}}}} – Szablony usuwania, takie jak: {{s|DNU}}, {{s|SdU}} i {{s|SdUwynik}}. }} {{Tmbox | typ = styl | tekst = {{Parametr|typ|{{Un|styl}}}} – Drobne ostrzeżenia i problemy, takie jak: {{s|Kasowanie po przeniesieniu}} i {{s|Zgłoś błąd}}. }} {{Tmbox | typ = zawartość | tekst = {{Parametr|typ|{{Un|zawartość}}}} – Problemy z zawartością, jak {{S|Dopracować|POV}}. }} {{Tmbox | typ = rozszerz | tekst = {{Parametr|typ|{{Un|rozszerz}}}} – Problemy z zawartością o małej treści, należy ją rozszrzerzyć, takie jak: {{S|Info|POV}}. }} {{Tmbox | typ = przeniesienie | tekst = {{Parametr|typ|{{Un|przeniesienie}}}} – Przenoszenie i zmiana nazw stron i propozycje, takich jak: {{s|Integrowanie}}, {{s|Integruj z}} i {{s|Integruj do}}. }} {{Tmbox | typ = ochrona | tekst = {{Parametr|typ|{{Un|ochrona}}}} – Szablony ochrony, takie jak: {{s|Wysokie ryzyko}} i {{s|Skomplikowany}}, wyświetlane na stronie pliku. }} {{Tmbox | typ = integruj | tekst = {{Parametr|typ|{{Un|integruj}}}} – integracja, dzielenie i propozycje transwiki, jak {{S|Integracja}}. }} {{Tmbox | typ = powiadomienie | tekst = {{Parametr|typ|{{Un|powiadomienie}}}} – Powiadomienia i wiadomości wszelkiego rodzaju, zarówno stałe, jak i tymczasowe. }} {{Tmbox | typ = wiadomość | tekst = {{Parametr|typ|{{Un|wiadomość}}}} – Informacje o artykule, jak {{S|Aktualne}} i {{S|W edycji}}. }} Jeśli w wywołaniu szablonu nie zadeklarowano parametru ''typ'', domyślnym ustawieniem jest {{Parametr|typ|wiadomość}}. ==== Grafiki ==== Grafiki w szablonie można dostosować za pomocą parametru <tt>grafika</tt>. Przykłady: {{Tmbox | typ = zawartość | grafika = {{Ikona|pov|35}} | tekst = {{Parametr|typ|{{Un|zawartość}}}} {{Br}} {{Parametr|grafika|{{s|Ikona|pov|35}}}} {{Br}} Ta grafika jest używana w szablonie {{S|Dopracować|POV}} i podobnych. }} {{Tmbox | typ = integruj | grafika = {{Ikona|integracja|35}} | tekst = {{Parametr|typ|{{Un|integruj}}}} {{Br}} {{Parametr|grafika|{{s|Ikona|integracja|35}}}} {{Br}} Ta grafika jest używana w {{S|Integracja}}, itp. {{Br}} {{Parametr|poniżej|{{s|Tmbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | poniżej = {{Tmbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! }} }} Jeśli ten parametr nie jestr określony, używana jest domyślna grafika związana z parametrem '''{{Parametr|typ}}''' (zobacz domyślne obrazki w sekcji {{lu|#typ}} powyżej). Jeśli jako parametr podano {{Parametr|grafika|nie}}, w szablonie nie jest używana grafika, a tekst jest wyrównany do lewej bez pozostawienia pustego miejsca. Jeśli natomiast jako parametr podano {{Parametr|grafika|brak}}, szablon nie używa żadnej grafiki, ale zostawia puste pole szerokości domyślnego obrazka, co pozwala na wyrównywanie tekstu w kilku szablonach. {{Tmbox | grafika = brak | tekst = Brak typu i '''{{Parametr|grafika|brak}}''' – Czyści pole i zostawia margines szerokości domyślnej grafiki. Pozwala na ładne łączenie tekstu z różnych szablonów. {{Br}} {{Parametr|poniżej|{{s|Tmbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | poniżej = {{Tmbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! }} }} {{Tmbox | grafika = nie | tekst = Brak typu i '''{{Parametr|grafika|nie}}''' – Nie jest użyta żadna grafika, a '''tekst''' wykorzystuje całą szerokość pola. {{Br}} {{Parametr|poniżej|{{s|Tmbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | poniżej = {{Tmbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! }} }} {{Tmbox | grafika = {{Ikona|aktualne|35}} | grafika prawo = {{Ikona|biblioteka|35}} | tekst = {{Parametr|grafika|{{s|Ikona|aktualne|35}}}} {{Br}} {{Parametr|grafika prawo|{{s|Ikona|biblioteka|35}}}} {{Br}} {{Parametr|poniżej|{{s|Tmbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | poniżej = {{Tmbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! }} }} {{Tmbox | tekst = {{Parametr|grafika prawo|{{s|Skrót|id{{=}}stary|WP:SK}}}} {{Br}} Szablony skrótów umieszczaj w '''grafika prawo''', bo inaczej popsują wygląd szablonu. {{Br}} {{Parametr|poniżej|{{s|Tmbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | grafika prawo = {{Skrót|id=stary|WP:SK}} | poniżej = {{Tmbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! }} }} == Opis parametrów == {{Mbox/opis/Opis parametrów-Wykaz}} {{Mbox/opis/Opis parametrów-Opis}} {{Mbox/opis/Opis parametrów-Tabela}} == Techniczne szczegóły == === Specjalna składnia === {{Mbox/opis/Specjalna składnia}} === Budowa tabelkowa obiektów przy pomocy klas i styli, CSS, kaskadowych arkuszy stylów szablonów komunikatów === {{Mbox/opis/CSS}} == Błędy == Błędy należy zgłaszać na stronie {{Kwestie techniczne}}. == Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) == <templatedata> { "params": { "styl": { "description": "Style tabelki komunikatu kaskadowych arkuszy stylów CSS tabelki komunikatów.", "type": "string" }, "typ": { "suggested": true, "description": "Tyo danego komunikatu oznaczony domyślnym rysunkiem i stylami.", "type": "string" }, "grafika": { "example": "{{ikona|pov|35}}", "suggested": true, "description": "Lewa grafika", "type": "unbalanced-wikitext" }, "tekst": { "required": true, "aliases": [ "1 treść" ], "description": "Tekst komunikatu", "type": "content" }, "grafika prawo": { "description": "Grafika po prawej stronie komunikatu.", "type": "unbalanced-wikitext" }, "id": { "description": "Unikalny identyfikator tabelki komunikatów.", "type": "string" }, "styl tekstu": { "description": "Styl tekstu, w zmiennej: 1, tekst albo treść, i ewentualnie z tego poniżej, jeśli: styl poniżej, nie podano, kaskadowych arkuszy stylów CSS.", "type": "string" }, "poniżej": { "description": "Inne wywołanie szablonu komunikatu w danym komunikacie.", "type": "string" }, "klasa": { "description": "Klasa kaskadowych arkuszy stylów CSS tabelki komunikatów.", "type": "string" }, "styl poniżej": { "description": "Ustawia styl kaskadowych arkuszy stylów CSS elementowi wstawianemu pod parametrem poniżej.", "type": "string" } }, "paramOrder": [ "typ", "styl tekstu", "tekst", "grafika", "grafika prawo", "id", "klasa", "styl", "poniżej", "styl poniżej" ], "format": "block", "description": "Szablon do użycia na stronach dyskusji w przestrzeniach dyskusji w poszczególnych przestrzeniach przedmiotowych." } </templatedata> == Zobacz też == {{Mbox/opis/Zobacz też}} {{BrClear}} <includeonly><!-- ++++ DODAWAJ KATEGORIE I INTERWIKI PONIŻEJ TEJ LINII --> {{Kategorie | Szablony komunikatów mbox | Szablony szablonów }} </includeonly> 4djti5a5pqsbdcrcgnia6pm9jcq1rmf Szablon:Dmbox/opis 10 32985 544523 516439 2026-05-28T10:38:20Z Persino 2851 /* Zobacz też */ 544523 wikitext text/x-wiki {{Podstrona dokumentacji}} <!-- EDYTUJ DOKUMENTACJĘ SZABLONU PONIŻEJ TEJ LINII --> {{Wysokie ryzyko}} {{Szablony komunikatów}} {{Spis treści}} <!-- DODAWAJ KATEGORIE NA DOLE STRONY --> To jest '''dmbox''' (skrót od '''disambiguation message box''') — szablon szablonów, używany do tworzenia komunikatów związanych ze stronami ujednoznaczniającymi i przekierowaniami, tj. {{s|Ujednoznacznienie}}, czy {{s|Przekierowanie}} == Opis parametrów == ;grafika: grafika pojawiająca się w lewej części szablonu: :; {{tt|{{=}} brak}}: brak grafiki, pusta przestrzeń na jej miejscu :; {{tt|{{=}} <nowiki>{{</nowiki>ikona{{!}}foo{{!}}25<nowiki>}}</nowiki>}}: jakaś grafika :; ''pusty parametr'': domyślna grafika, [[Plik:Disambig.svg|25px]] – <code><nowiki>[[Plik:Disambig.svg|25px]]</nowiki></code> ;treść: treść główna szablonu == Przykłady == <pre>{{dmbox | tekst = Nie mylić z {{s|ambox}} }}</pre> {{dmbox | tekst = Nie mylić z {{s|ambox}} }} ---- <pre>{{dmbox | grafika = {{ikona|info|25}} | tekst = Nie mylić z {{s|tmbox}} }}</pre> {{dmbox | grafika = {{ikona|info|25}} | tekst = Nie mylić z {{s|tmbox}} }} == Błędy == Błędy należy zgłaszać na stronie {{Kwestie techniczne}}. == Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) == <templatedata> { "params": { } } </templatedata> == Zobacz też == {{Mbox/opis/Zobacz też}} {{BrClear}} <includeonly><!-- ++++ DODAWAJ KATEGORIE I INTERWIKI PONIŻEJ TEJ LINII --> {{Kategorie | Szablony komunikatów mbox | Szablony szablonów }} </includeonly> qx3kxw6w0gnzpwzqsvy99lk7odvvjv2 Szablon:Mbox/opis 10 32987 544500 533403 2026-05-28T08:45:32Z Persino 2851 544500 wikitext text/x-wiki {{Podstrona dokumentacji}} <!-- EDYTUJ DOKUMENTACJĘ SZABLONU PONIŻEJ TEJ LINII --> {{Wysokie ryzyko}} {{Szablony komunikatów}} {{Spis treści}} <!-- DODAWAJ KATEGORIE NA DOLE STRONY --> To jest '''mbox''' (skrót od ''message box'') – uniwersalny szablon szablonów, stosowany do tworzenia komunikatów przeznaczonych dla wielu przestrzeni nazw. Upraszcza kod źródłowy komunikatów, ponieważ automatycznie dostosowuje swój wygląd w zależności od przestrzeni nazw (funkcja parsera typu {{Tt|{{s|#switch: {{s|NAMESPACE}}...}}}} nie jest już konieczna), tą przestrzeń można podać opcjonalnie, chociaż ona nie jest wcale wymagana. Szablon powinno się stosować w każdym komunikacie projektu, który jest stosowany w różnych przestrzeniach nazw, np. {{s|dopracować}}, {{s|ek}}, czy {{s|DNU}}. === Przestrzenie nazw === * '''{{s|Ambox}}''' stosuje w przestrzeniach nazw: {{Tt|{{Np|(main)|link=tak}} i {{Np|Wikijunior|link=tak}}}}. * '''{{s|Tmbox}}''' stosuje w przestrzeniach nazw: {{Tt|{{Np|Talk|link=tak}}, {{Np|Wikijunior talk|link=tak}}, {{Np|Wikibooks talk|link=tak}}, {{Np|Help talk|link=tak}}, {{Np|User talk|link=tak}}, {{Np|Category talk|link=tak}}, {{Np|File talk|link=tak}}, {{Np|MediaWiki talk|link=tak}}, {{Np|Template talk|link=tak}} i {{Np|Module talk|link=tak}}}}. * '''{{s|Fmbox}}''' stosuje w przestrzeniach nazw: {{Tt|{{Np|MediaWiki|link=tak}} i {{Np|Special|link=tak}}}}. * '''{{s|Ombox}}''' stosuje w przestrzeniach nazw: {{Tt|{{Np|Wikibooks|link=tak}}, {{Np|Help|link=tak}}, {{Np|User|link=tak}}, {{Np|Template|link=tak}}, {{Np|Module|link=tak}} (za pomocą opisu modułu)}}. * '''{{s|Cmbox}}''' stosuje w przestrzeniach nazw: {{Np|Category|link=tak}}. * '''{{s|Imbox}}''' stosuje w przestrzeniach nazw: {{Np|File|link=tak}}. * '''{{s|Dmbox}}''' nie jest obsługiwany. Przestrzeń nazw {{Tt|{{Np|Media|link=tak}}}} nie jest wspierana z uwagi na jej charakterystykę. == Użycie == === Przestrzeń nazw {{Np|Template|link=tak}} (używa szablonu {{s|Ombox}}), czyli bez użycia parametru {{Parametr|nazwa przestrzeni nazw}} (szablon sam wykrywa przestrzeń nazw) === Proste użycie: {{Pre| {{s|Mbox | tekst {{=}} Jakiś tekst. }} }} {{Mbox | tekst = Jakiś tekst. }} Złożone użycie: {{Pre| {{s|Mbox | typ {{=}} zawartość | tekst {{=}} Tekst wiadomości. }} }} {{Mbox | typ = zawartość | tekst = Tekst wiadomości. }} === Przestrzeń nazw {{Np|(main)|link=tak}} (używa szablonu {{s|Ambox}}) === Proste użycie: {{Pre| {{s|Mbox | tekst {{=}} Jakiś tekst. | nazwa przestrzeni nazw {{=}} (main) }} }} {{Mbox | tekst = Jakiś tekst. | nazwa przestrzeni nazw = (main) }} Złożone użycie: {{Pre| {{s|Mbox | typ {{=}} zawartość | tekst {{=}} Tekst wiadomości. | nazwa przestrzeni nazw {{=}} (main) }} }} {{Mbox | typ = zawartość | tekst = Tekst wiadomości. | nazwa przestrzeni nazw = (main) }} === Przestrzeń nazw {{Np|Talk|link=tak}} (używa szablonu {{s|Tmbox}}) === Proste użycie: {{Pre| {{s|Mbox | tekst {{=}} Jakiś tekst. | nazwa przestrzeni nazw {{=}} Talk }} }} {{Mbox | tekst = Jakiś tekst. | nazwa przestrzeni nazw = Talk }} Złożone użycie: {{Pre| {{s|Mbox | typ {{=}} zawartość | tekst {{=}} Tekst wiadomości. | nazwa przestrzeni nazw {{=}} Talk }} }} {{Mbox | typ = zawartość | tekst = Tekst wiadomości. | nazwa przestrzeni nazw = Talk }} === Przestrzeń nazw {{Np|Special|link=tak}} (używa szablonu {{s|Fmbox}}) === Proste użycie: {{Pre| {{s|Mbox | tekst {{=}} Jakiś tekst. | nazwa przestrzeni nazw {{=}} Special }} }} {{Mbox | tekst = Jakiś tekst. | nazwa przestrzeni nazw = Special }} Złożone użycie: {{Pre| {{s|Mbox | typ {{=}} ostrzeżenie | tekst {{=}} Tekst wiadomości. | nazwa przestrzeni nazw {{=}} Special }} }} {{Mbox | typ = ostrzeżenie | tekst = Tekst wiadomości. | nazwa przestrzeni nazw = Special }} === Przestrzeń nazw {{Np|File|link=tak}} (używa szablonu {{s|Imbox}}) === Proste użycie: {{Pre| {{s|Mbox | tekst {{=}} Jakiś tekst. | nazwa przestrzeni nazw {{=}} File }} }} {{Mbox | tekst = Jakiś tekst. | nazwa przestrzeni nazw = File }} Złożone użycie: {{Pre| {{s|Mbox | typ {{=}} zawartość | tekst {{=}} Tekst wiadomości. | nazwa przestrzeni nazw {{=}} File }} }} {{Mbox | typ = zawartość | tekst = Tekst wiadomości. | nazwa przestrzeni nazw = File }} === Przestrzeń nazw {{Np|Category|link=tak}} (używa szablonu {{s|Cmbox}}) === Proste użycie: {{Pre| {{s|Mbox | tekst {{=}} Jakiś tekst. | nazwa przestrzeni nazw {{=}} Category }} }} {{Mbox | tekst = Jakiś tekst. | nazwa przestrzeni nazw = Category }} Złożone użycie: {{Pre| {{s|Mbox | typ {{=}} zawartość | tekst {{=}} Tekst wiadomości. | nazwa przestrzeni nazw {{=}} Category }} }} {{Mbox | typ = zawartość | tekst = Tekst wiadomości. | nazwa przestrzeni nazw = Category }} === Przestrzeń nazw {{Np|Project|link=tak}} (używa szablonu {{s|Ombox}}) === Proste użycie: {{Pre| {{s|Mbox | tekst {{=}} Jakiś tekst. | nazwa przestrzeni nazw {{=}} Project }} }} {{Mbox | tekst = Jakiś tekst. | nazwa przestrzeni nazw = Project }} Złożone użycie: {{Pre| {{s|Mbox | typ {{=}} zawartość | tekst {{=}} Tekst wiadomości. | nazwa przestrzeni nazw {{=}} Project }} }} {{Mbox | typ = zawartość | tekst = Tekst wiadomości. | nazwa przestrzeni nazw = Project }} === ''typ'' === {{Zobacz sekcję|Wikipedia:Szablony komunikatów|Odmiany kolorystyczne szablonów mbox|Odmiany kolorystyczne|klucz projektu=w}} Parametr ''typ'' definiuje kolor lewego paska szablonu oraz domyślną ikonę. Typ nie powinien być wybierany ze względów estetycznych, ale powinien być wybierany w zależności od przedstawianego przez komunikat problemu. Dostępne są 4 typy, które przedstawiono poniżej z domyślnymi ikonami. Jeśli w wywołaniu szablonu nie zadeklarowano parametru ''typ'', domyślnym ustawieniem jest {{Parametr|typ|wiadomość}}. ==== Przykłady użycia szablonu {{s|Mbox}} w różnych prestrzeniach nazw ==== ===== Przestrzeń nazw {{Np|(main)|link=tak}} (używa szablonu {{s|Ambox}}) ===== {{Mbox | typ = poważny | tekst = {{Parametr|typ|{{Un|poważny}}}} – Poważne problemy, jak: {{s|NPA}} i {{s|NPAfrgm}}. | nazwa przestrzeni nazw = (main) }} {{Mbox | typ = szybko | tekst = {{Parametr|typ|{{Un|szybko}}}} – Szybkie szablony usuwania, takie jak: {{s|Screenshot}}. | nazwa przestrzeni nazw = (main) }} {{Mbox | typ = usuń | tekst = {{Parametr|typ|{{Un|usuń}}}} – Szablony usuwania, takie jak: {{s|DNU}}, {{s|SdU}} i {{s|SdUwynik}}. | nazwa przestrzeni nazw = (main) }} {{Mbox | typ = styl | tekst = {{Parametr|typ|{{Un|styl}}}} – Drobne ostrzeżenia i problemy, takie jak: {{s|Kasowanie po przeniesieniu}} i {{s|Zgłoś błąd}}. | nazwa przestrzeni nazw = (main) }} {{Mbox | typ = zawartość | tekst = {{Parametr|typ|{{Un|zawartość}}}} – Problemy z zawartością, jak {{S|Dopracować|POV}}. | nazwa przestrzeni nazw = (main) }} {{Mbox | typ = rozszerz | tekst = {{Parametr|typ|{{Un|rozszerz}}}} – Problemy z zawartością o małej treści, należy ją rozszrzerzyć, takie jak: {{S|Info|POV}}. | nazwa przestrzeni nazw = (main) }} {{Mbox | typ = przeniesienie | tekst = {{Parametr|typ|{{Un|przeniesienie}}}} – Przenoszenie i zmiana nazw stron i propozycje, takich jak: {{s|Integrowanie}}, {{s|Integruj z}} i {{s|Integruj do}}. | nazwa przestrzeni nazw = (main) }} {{Mbox | typ = ochrona | tekst = {{Parametr|typ|{{Un|ochrona}}}} – Szablony ochrony, takie jak: {{s|Wysokie ryzyko}} i {{s|Skomplikowany}}, wyświetlane na stronie pliku. | nazwa przestrzeni nazw = (main) }} {{Mbox | typ = integruj | tekst = {{Parametr|typ|{{Un|integruj}}}} – integracja, dzielenie i propozycje transwiki, jak {{S|Integracja}}. | nazwa przestrzeni nazw = (main) }} {{Mbox | typ = powiadomienie | tekst = {{Parametr|typ|{{Un|powiadomienie}}}} – Powiadomienia i wiadomości wszelkiego rodzaju, zarówno stałe, jak i tymczasowe. | nazwa przestrzeni nazw = (main) }} {{Mbox | typ = wiadomość | tekst = {{Parametr|typ|{{Un|wiadomość}}}} – Informacje o artykule, jak {{S|Aktualne}} i {{S|W edycji}}. | nazwa przestrzeni nazw = (main) }} ===== Przestrzeń nazw {{Np|Talk|link=tak}} (używa szablonu {{s|Tmbox}}) ===== {{Mbox | typ = poważny | tekst = {{Parametr|typ|{{Un|poważny}}}} – Poważne problemy, jak: {{s|NPA}} i {{s|NPAfrgm}}. | nazwa przestrzeni nazw = Talk }} {{Mbox | typ = szybko | tekst = {{Parametr|typ|{{Un|szybko}}}} – Szybkie szablony usuwania, takie jak: {{s|Screenshot}}. | nazwa przestrzeni nazw = Talk }} {{Mbox | typ = usuń | tekst = {{Parametr|typ|{{Un|usuń}}}} – Szablony usuwania, takie jak: {{s|DNU}}, {{s|SdU}} i {{s|SdUwynik}}. | nazwa przestrzeni nazw = Talk }} {{Mbox | typ = styl | tekst = {{Parametr|typ|{{Un|styl}}}} – Drobne ostrzeżenia i problemy, takie jak: {{s|Kasowanie po przeniesieniu}} i {{s|Zgłoś błąd}}. | nazwa przestrzeni nazw = Talk }} {{Mbox | typ = zawartość | tekst = {{Parametr|typ|{{Un|zawartość}}}} – Problemy z zawartością, jak {{S|Dopracować|POV}}. | nazwa przestrzeni nazw = Talk }} {{Mbox | typ = rozszerz | tekst = {{Parametr|typ|{{Un|rozszerz}}}} – Problemy z zawartością o małej treści, należy ją rozszrzerzyć, takie jak: {{S|Info|POV}}. | nazwa przestrzeni nazw = Talk }} {{Mbox | typ = przeniesienie | tekst = {{Parametr|typ|{{Un|przeniesienie}}}} – Przenoszenie i zmiana nazw stron i propozycje, takich jak: {{s|Integrowanie}}, {{s|Integruj z}} i {{s|Integruj do}}. | nazwa przestrzeni nazw = Talk }} {{Mbox | typ = ochrona | tekst = {{Parametr|typ|{{Un|ochrona}}}} – Szablony ochrony, takie jak: {{s|Wysokie ryzyko}} i {{s|Skomplikowany}}, wyświetlane na stronie pliku. | nazwa przestrzeni nazw = Talk }} {{Mbox | typ = integruj | tekst = {{Parametr|typ|{{Un|integruj}}}} – integracja, dzielenie i propozycje transwiki, jak {{S|Integracja}}. | nazwa przestrzeni nazw = Talk }} {{Mbox | typ = powiadomienie | tekst = {{Parametr|typ|{{Un|powiadomienie}}}} – Powiadomienia i wiadomości wszelkiego rodzaju, zarówno stałe, jak i tymczasowe. | nazwa przestrzeni nazw = Talk }} {{Mbox | typ = wiadomość | tekst = {{Parametr|typ|{{Un|wiadomość}}}} – Informacje o artykule, jak {{S|Aktualne}} i {{S|W edycji}}. | nazwa przestrzeni nazw = Talk }} ===== Przestrzeń nazw {{Np|Special|link=tak}} (używa szablonu {{s|Fmbox}}) ===== {{Mbox | typ = ostrzeżenie | tekst = {{Parametr|typ|{{Un|ostrzeżenie}}}} – Systemowe ostrzeżenie. | nazwa przestrzeni nazw = Special }} {{Mbox | typ = editnotice | tekst = {{Parametr|typ|{{Un|editnotice}}}} – Przeźroczyste tło dla powiadomień przy edycji. | nazwa przestrzeni nazw = Special }} {{Mbox | typ = systemowe | tekst = {{Parametr|typ|{{Un|systemowe}}}} – Systemowy komunikat o jasnoszarym tle (domyślne). | nazwa przestrzeni nazw = Special }} ===== Przestrzeń nazw {{Np|File|link=tak}} (używa szablonu {{s|Imbox}}) ===== {{Mbox | typ = poważny | tekst = {{Parametr|typ|{{Un|poważny}}}} – Poważne problemy, jak: {{s|NPA}} i {{s|NPAfrgm}}. | nazwa przestrzeni nazw = File }} {{Mbox | typ = szybko | treść = {{Parametr|typ|{{Un|szybko}}}} – Szybkie szablony usuwania, takie jak: {{s|Screenshot}}. | nazwa przestrzeni nazw = File }} {{Mbox | typ = usuń | treść = {{Parametr|typ|{{Un|usuń}}}} – Szablony usuwania, takie jak: {{s|DNU}}, {{s|SdU}} i {{s|SdUwynik}}. | nazwa przestrzeni nazw = File }} {{Mbox | typ = styl | treść = {{Parametr|typ|{{Un|styl}}}} – Drobne ostrzeżenia i problemy, takie jak: {{s|Kasowanie po przeniesieniu}} i {{s|Zgłoś błąd}}. | nazwa przestrzeni nazw = File }} {{Mbox | typ = zawartość | treść = {{Parametr|typ|{{Un|zawartość}}}} – Ważne ostrzeżenia i problemy, takie jak: {{s|Dopracować|POV}}. | nazwa przestrzeni nazw = File }} {{Mbox | typ = rozszerz | tekst = {{Parametr|typ|{{Un|rozszerz}}}} – Problemy z zawartością o małej treści, należy ją rozszrzerzyć, takie jak: {{s|Info|POV}}. | nazwa przestrzeni nazw = File }} {{Mbox | typ = przeniesienie | treść = {{Parametr|typ|{{Un|przeniesienie}}}} – Przenoszenie i zmiana nazw plików i propozycje, takich jak: {{s|Integrowanie}}, {{s|Integruj z}} i {{s|Integruj do}}. | nazwa przestrzeni nazw = File }} {{Mbox | typ = ochrona | treść = {{Parametr|typ|{{Un|ochrona}}}} – Szablony ochrony, takie jak: {{s|Wysokie ryzyko}} i {{s|Skomplikowany}}, wyświetlane na stronie pliku. | nazwa przestrzeni nazw = File }} {{Mbox | typ = integruj | tekst = {{Parametr|typ|{{Un|integruj}}}} – integracja, dzielenie i propozycje transwiki, jak {{S|Integracja}}. }} {{Mbox | typ = licencja | treść = {{Parametr|typ|{{Un|licencja}}}} – Szablony licencji, takie jak: {{s|Cc-by-sa-4.0}}. | nazwa przestrzeni nazw = File }} {{Mbox | typ = jakość | treść = {{Parametr|typ|{{Un|jakość}}}} – Wyróżnione szablony plików, takie jak: {{s|Plik}}, {{s|Rysunek}} i {{s|MapaObrazu}}. | nazwa przestrzeni nazw = File }} {{Mbox | typ = powiadomienie | treść = {{Parametr|typ|{{Un|powiadomienie}}}} – Powiadomienia i wiadomości wszelkiego rodzaju, zarówno stałe, jak i tymczasowe. | nazwa przestrzeni nazw = File }} {{Mbox | typ = wiadomość | tekst = {{Parametr|typ|{{Un|wiadomość}}}} – informacje o artykule, jak {{S|Aktualne}} i {{S|W edycji}}. | nazwa przestrzeni nazw = File }} ===== Przestrzeń nazw {{Np|Category|link=tak}} (używa szablonu {{s|Cmbox}}) ===== {{Mbox | typ = poważny | tekst = {{Parametr|typ|{{Un|poważny}}}} – Poważne problemy, jak: {{s|NPA}} i {{s|NPAfrgm}}. | nazwa przestrzeni nazw = Category }} {{Mbox | typ = szybko | treść = {{Parametr|typ|{{Un|szybko}}}} – Szybkie szablony usuwania, takie jak: {{s|Screenshot}}. | nazwa przestrzeni nazw = Category }} {{Mbox | typ = usuń | treść = {{Parametr|typ|{{Un|usuń}}}} – Szablony usuwania, takie jak: {{s|DNU}}, {{s|SdU}} i {{s|SdUwynik}}. | nazwa przestrzeni nazw = Category }} {{Mbox | typ = styl | treść = {{Parametr|typ|{{Un|styl}}}} – Drobne ostrzeżenia i problemy, takie jak: {{s|Kasowanie po przeniesieniu}} i {{s|Zgłoś błąd}}. | nazwa przestrzeni nazw = Category }} {{Mbox | typ = zawartość | treść = {{Parametr|typ|{{Un|zawartość}}}} – Ważne ostrzeżenia i problemy, takie jak: {{s|Dopracować|POV}}. | nazwa przestrzeni nazw = Category }} {{Mbox | typ = rozszerz | tekst = {{Parametr|typ|{{Un|rozszerz}}}} – Problemy z zawartością o małej treści, należy ją rozszrzerzyć, takie jak: {{s|Info|POV}}. | nazwa przestrzeni nazw = Category }} {{Mbox | typ = przeniesienie | treść = {{Parametr|typ|{{Un|przeniesienie}}}} – Przenoszenie i zmiana nazw plików i propozycje, takich jak: {{s|Integrowanie}}, {{s|Integruj z}} i {{s|Integruj do}}. | nazwa przestrzeni nazw = Category }} {{Mbox | typ = ochrona | treść = {{Parametr|typ|{{Un|ochrona}}}} – Szablony ochrony, takie jak: {{s|Wysokie ryzyko}} i {{s|Skomplikowany}}, wyświetlane na stronie pliku. | nazwa przestrzeni nazw = Category }} {{Mbox | typ = integruj | tekst = {{Parametr|typ|{{Un|integruj}}}} – integracja, dzielenie i propozycje transwiki, jak {{S|Integracja}}. | nazwa przestrzeni nazw = Category }} {{Mbox | typ = powiadomienie | treść = {{Parametr|typ|{{Un|powiadomienie}}}} – Powiadomienia i wiadomości wszelkiego rodzaju, zarówno stałe, jak i tymczasowe. | nazwa przestrzeni nazw = Category }} {{Mbox | typ = wiadomość | tekst = {{Parametr|typ|{{Un|wiadomość}}}} – informacje o artykule, jak {{S|Aktualne}} i {{S|W edycji}}. | nazwa przestrzeni nazw = Category }} ===== Przestrzeń nazw {{Np|Project|link=tak}} (używa szablonu {{s|Ombox}}) ===== {{Mbox | typ = poważny | tekst = {{Parametr|typ|{{Un|poważny}}}} – Poważne problemy, jak: {{s|NPA}} i {{s|NPAfrgm}}. | nazwa przestrzeni nazw = Project }} {{Mbox | typ = szybko | tekst = {{Parametr|typ|{{Un|szybko}}}} – Szybkie szablony usuwania, takie jak: {{s|Screenshot}}. | nazwa przestrzeni nazw = Project }} {{Mbox | typ = usuń | tekst = {{Parametr|typ|{{Un|usuń}}}} – Szablony usuwania, takie jak: {{s|DNU}}, {{s|SdU}} i {{s|SdUwynik}}. | nazwa przestrzeni nazw = Project }} {{Mbox | typ = styl | tekst = {{Parametr|typ|{{Un|styl}}}} – Drobne ostrzeżenia i problemy, takie jak: {{s|Kasowanie po przeniesieniu}} i {{s|Zgłoś błąd}}. | nazwa przestrzeni nazw = Project }} {{Mbox | typ = zawartość | tekst = {{Parametr|typ|{{Un|zawartość}}}} – Problemy z zawartością, jak {{S|Dopracować|POV}}. | nazwa przestrzeni nazw = Project }} {{Mbox | typ = rozszerz | tekst = {{Parametr|typ|{{Un|rozszerz}}}} – Problemy z zawartością o małej treści, należy ją rozszrzerzyć, takie jak: {{S|Info|POV}}. | nazwa przestrzeni nazw = Project }} {{Mbox | typ = przeniesienie | tekst = {{Parametr|typ|{{Un|przeniesienie}}}} – Przenoszenie i zmiana nazw stron i propozycje, takich jak: {{s|Integrowanie}}, {{s|Integruj z}} i {{s|Integruj do}}. | nazwa przestrzeni nazw = Project }} {{Mbox | typ = ochrona | tekst = {{Parametr|typ|{{Un|ochrona}}}} – Szablony ochrony, takie jak: {{s|Wysokie ryzyko}} i {{s|Skomplikowany}}, wyświetlane na stronie pliku. | nazwa przestrzeni nazw = Project }} {{Mbox | typ = integruj | tekst = {{Parametr|typ|{{Un|integruj}}}} – integracja, dzielenie i propozycje transwiki, jak {{S|Integracja}}. | nazwa przestrzeni nazw = Project }} {{Mbox | typ = powiadomienie | tekst = {{Parametr|typ|{{Un|powiadomienie}}}} – Powiadomienia i wiadomości wszelkiego rodzaju, zarówno stałe, jak i tymczasowe. | nazwa przestrzeni nazw = Project }} {{Mbox | typ = wiadomość | tekst = {{Parametr|typ|{{Un|wiadomość}}}} – Informacje o artykule, jak {{S|Aktualne}} i {{S|W edycji}}. | nazwa przestrzeni nazw = Project }} === Parametry graficzne: ''{{Parametr|grafika}}'' i {{Parametr|grafika prawo}}, oraz szablonowe szablonów komunikatów: ''{{Parametr|poniżej}}'' === ==== Wprowadzenie do grafik i szablonów zagniezdżonych w szablonie ==== Jeśli ten parametr nie jest określony, używana jest domyślna grafika związana z parametrem '''{{Parametr|typ}}''' (zobacz domyślne obrazki w sekcji {{lu|#typ}} powyżej). Jeśli jako parametr podano {{Parametr|grafika|nie}}, w szablonie nie jest używana grafika, a tekst jest wyrównany do lewej bez pozostawienia pustego miejsca. Jeśli natomiast jako parametr podano {{Parametr|grafika|brak}}, szablon nie używa żadnej grafiki, ale zostawia puste pole szerokości domyślnego obrazka, co pozwala na zapełnienie tego miesca przez tekst użytą w szablonie. ====='''''{{Parametr|grafika|jakaś grafika}}''''' ===== Powinien zostać użyty szablon {{s|Ikona}} z szerokością 35px. Na przykład: :: {{Code|{{s|Ikona|pov|35}}}} ===== '''''{{Parametr|grafika prawo|jakaś grafika}}''''' ===== Po prawej stronie szablonu można umieścić drugą grafikę lub inny obiekt, wprowadzając jego kod jako parametr {{Parametr|grafika prawo}}. Jeśli nie zdefiniowano tego parametru, szablon nie wyświetla żadnej grafiki lub elementu po prawej stronie komunikatu. ==== Szablon {{s|Mbox}} - przykłady jego użyć z parametrami graficznymi i w konfiguracji szablon komunikatu w szabblonie komunikatu ==== ===== Przestrzeń nazw {{Np|(main)|link=tak}} (używa szablonu {{s|Ambox}}) ===== {{Mbox | typ = zawartość | grafika = {{Ikona|pov|35}} | tekst = {{Parametr|typ|{{Un|zawartość}}}} {{Br}} {{Parametr|grafika|{{s|Ikona|pov|35}}}} {{Br}} Ta grafika jest używana w szablonie {{s|Dopracować|POV}} i podobnych. | nazwa przestrzeni nazw = (main) }} {{Mbox | typ = integruj | grafika = {{Ikona|integracja|35}} | tekst = {{Parametr|typ|{{Un|integruj}}}} {{Br}} {{Parametr|grafika|{{s|Ikona|integracja|35}}}} {{Br}} Ta grafika jest używana w {{s|Integracja}}, itp. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = (main) | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = (main) }} }} {{Mbox | grafika = brak | tekst = Brak typu i '''{{Parametr|grafika|brak}}''' – Czyści pole i zostawia margines szerokości domyślnej grafiki. Pozwala na ładne łączenie tekstu z różnych szablonów. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = (main) | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = (main) }} }} {{Mbox | grafika = nie | tekst = Brak typu i '''{{Parametr|grafika|nie}}''' – Nie jest użyta żadna grafika, a '''tekst''' wykorzystuje całą szerokość pola. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = (main) | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = (main) }} }} {{Mbox | grafika = {{Ikona|aktualne|35}} | grafika prawo = {{Ikona|biblioteka|35}} | tekst = {{Parametr|grafika|{{s|Ikona|aktualne|35}}}} {{Br}} {{Parametr|grafika prawo|{{s|Ikona|biblioteka|35}}}} {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = (main) | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = (main) }} }} {{Mbox | tekst = {{Parametr|grafika prawo|{{s|Skrót|id{{=}}stary|WP:SK}}}} {{Br}} Szablony skrótów umieszczaj w '''grafika prawo''', bo inaczej popsują wygląd szablonu. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | grafika prawo = {{Skrót|id=stary|WP:SK}} | nazwa przestrzeni nazw = (main) | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = (main) }} }} ===== Przestrzeń nazw {{Np|Talk|link=tak}} (używa szablonu {{s|Tmbox}}) ===== {{Mbox | typ = zawartość | grafika = {{Ikona|pov|35}} | tekst = {{Parametr|typ|{{Un|zawartość}}}} {{Br}} {{Parametr|grafika|{{s|Ikona|pov|35}}}} {{Br}} Ta grafika jest używana w szablonie {{S|Dopracować|POV}} i podobnych. | nazwa przestrzeni nazw = Talk }} {{Mbox | typ = integruj | grafika = {{Ikona|integracja|35}} | tekst = {{Parametr|typ|{{Un|integruj}}}} {{Br}} {{Parametr|grafika|{{s|Ikona|integracja|35}}}} {{Br}} Ta grafika jest używana w {{S|Integracja}}, itp. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = Talk | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Talk }} }} {{Mbox | grafika = brak | tekst = Brak typu i '''{{Parametr|grafika|brak}}''' – Czyści pole i zostawia margines szerokości domyślnej grafiki. Pozwala na ładne łączenie tekstu z różnych szablonów. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = Talk | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Talk }} }} {{Mbox | grafika = nie | tekst = Brak typu i '''{{Parametr|grafika|nie}}''' – Nie jest użyta żadna grafika, a '''tekst''' wykorzystuje całą szerokość pola. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = Talk | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Talk }} }} {{Mbox | grafika = {{Ikona|aktualne|35}} | grafika prawo = {{Ikona|biblioteka|35}} | tekst = {{Parametr|grafika|{{s|Ikona|aktualne|35}}}} {{Br}} {{Parametr|grafika prawo|{{s|Ikona|biblioteka|35}}}} {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = Talk | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Talk }} }} {{Mbox | tekst = {{Parametr|grafika prawo|{{s|Skrót|id{{=}}stary|WP:SK}}}} {{Br}} Szablony skrótów umieszczaj w '''grafika prawo''', bo inaczej popsują wygląd szablonu. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | grafika prawo = {{Skrót|id=stary|WP:SK}} | nazwa przestrzeni nazw = Talk | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Talk }} }} ===== Przestrzeń nazw {{Np|Special|link=tak}} (używa szablonu {{s|Fmbox}}) ===== {{Mbox | typ = ostrzeżenie | grafika = {{Ikona|pov|35}} | tekst = {{Parametr|typ|{{Un|ostrzeżenie}}}} {{Br}} {{Parametr|grafika|{{s|Ikona|pov|35}}}} {{Br}} Ta grafika jest używana w szablonie {{S|Dopracować|POV}} i podobnych. | nazwa przestrzeni nazw = Special }} {{Mbox | typ = integruj | grafika = {{Ikona|ostrzeżenie|35}} | tekst = {{Parametr|typ|{{Un|integruj}}}} {{Br}} {{Parametr|grafika|{{s|Ikona|ostrzeżenie|35}}}} {{Br}} Ta grafika jest używana w {{s|Integracja}}, itp. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}editnotice|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = Special | poniżej = {{Mbox | typ = editnotice | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Special }} }} {{Mbox | grafika = brak | tekst = Brak typu i '''{{Parametr|grafika|brak}}''' – Czyści pole i zostawia margines szerokości domyślnej grafiki. Pozwala na ładne łączenie tekstu z różnych szablonów. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}editnotice|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = Special | poniżej = {{Mbox | typ = editnotice | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Special }} }} {{Mbox | grafika = nie | tekst = Brak typu i '''{{Parametr|grafika|nie}}''' – Nie jest użyta żadna grafika, a '''tekst''' wykorzystuje całą szerokość pola. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}editnotice|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = Special | poniżej = {{Mbox | typ = editnotice | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Special }} }} {{Mbox | grafika = {{Ikona|aktualne|35}} | grafika prawo = {{Ikona|biblioteka|35}} | tekst = {{Parametr|grafika|{{s|Ikona|aktualne|35}}}} {{Br}} {{Parametr|grafika prawo|{{s|Ikona|biblioteka|35}}}} {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}editnotice|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = Special | poniżej = {{Mbox | typ = editnotice | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Special }} }} {{Mbox | tekst = {{Parametr|grafika prawo|{{s|Skrót|id{{=}}stary|WP:SK}}}} {{Br}} Szablony skrótów umieszczaj w '''grafika prawo''', bo inaczej popsują wygląd szablonu. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}editnotice|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | grafika prawo = {{Skrót|id=stary|WP:SK}} | nazwa przestrzeni nazw = Special | poniżej = {{Mbox | typ = editnotice | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Special }} }} ===== Przestrzeń nazw {{Np|File|link=tak}} (używa szablonu {{s|Imbox}}) ===== {{Mbox | typ = zawartość | grafika = {{Ikona|pov|35}} | tekst = {{Parametr|typ|{{Un|zawartość}}}} {{Br}} {{Parametr|grafika|{{s|Ikona|pov|35}}}} {{Br}} Ta grafika jest używana w szablonie {{S|Dopracować|POV}} i podobnych. | nazwa przestrzeni nazw = File }} {{Mbox | typ = integruj | grafika = {{Ikona|integracja|35}} | tekst = {{Parametr|typ|{{Un|integruj}}}} {{Br}} {{Parametr|grafika|{{s|Ikona|integracja|35}}}} {{Br}} Ta grafika jest używana w {{S|Integracja}}, itp. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = File | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = File }} }} {{Mbox | grafika = brak | tekst = Brak typu i '''{{Parametr|grafika|brak}}''' – Czyści pole i zostawia margines szerokości domyślnej grafiki. Pozwala na ładne łączenie tekstu z różnych szablonów. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = File | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = File }} }} {{Mbox | grafika = nie | tekst = Brak typu i '''{{Parametr|grafika|nie}}''' – Nie jest użyta żadna grafika, a '''tekst''' wykorzystuje całą szerokość pola. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = File | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = File }} }} {{Mbox | grafika = {{Ikona|aktualne|35}} | grafika prawo = {{Ikona|biblioteka|35}} | tekst = {{Parametr|grafika|{{s|Ikona|aktualne|35}}}} {{Br}} {{Parametr|grafika prawo|{{s|Ikona|biblioteka|35}}}} {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = File | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = File }} }} {{Mbox | tekst = {{Parametr|grafika prawo|{{s|Skrót|id{{=}}stary|WP:SK}}}} {{Br}} Szablony skrótów umieszczaj w '''grafika prawo''', bo inaczej popsują wygląd szablonu. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | grafika prawo = {{Skrót|id=stary|WP:SK}} | nazwa przestrzeni nazw = File | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = File }} }} ===== Przestrzeń nazw {{Np|Category|link=tak}} (używa szablonu {{s|Cmbox}}) ===== {{Mbox | typ = zawartość | grafika = {{Ikona|pov|35}} | tekst = {{Parametr|typ|{{Un|zawartość}}}} {{Br}} {{Parametr|grafika|{{s|Ikona|pov|35}}}} {{Br}} Ta grafika jest używana w szablonie {{S|Dopracować|POV}} i podobnych. | nazwa przestrzeni nazw = Category }} {{Mbox | typ = integruj | grafika = {{Ikona|integracja|35}} | tekst = {{Parametr|typ|{{Un|integruj}}}} {{Br}} {{Parametr|grafika|{{s|Ikona|integracja|35}}}} {{Br}} Ta grafika jest używana w {{S|Integracja}}, itp. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = Category | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Category }} }} {{Mbox | grafika = brak | tekst = Brak typu i '''{{Parametr|grafika|brak}}''' – Czyści pole i zostawia margines szerokości domyślnej grafiki. Pozwala na ładne łączenie tekstu z różnych szablonów. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = Category | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Category }} }} {{Mbox | grafika = nie | tekst = Brak typu i '''{{Parametr|grafika|nie}}''' – Nie jest użyta żadna grafika, a '''tekst''' wykorzystuje całą szerokość pola. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = Category | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Category }} }} {{Mbox | grafika = {{Ikona|aktualne|35}} | grafika prawo = {{Ikona|biblioteka|35}} | tekst = {{Parametr|grafika|{{s|Ikona|aktualne|35}}}} {{Br}} {{Parametr|grafika prawo|{{s|Ikona|biblioteka|35}}}} {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = Category | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Category }} }} {{Mbox | tekst = {{Parametr|grafika prawo|{{s|Skrót|id{{=}}stary|WP:SK}}}} {{Br}} Szablony skrótów umieszczaj w '''grafika prawo''', bo inaczej popsują wygląd szablonu. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | grafika prawo = {{Skrót|id=stary|WP:SK}} | nazwa przestrzeni nazw = Category | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Category }} }} ===== Przestrzeń nazw {{Np|Project|link=tak}} (używa szablonu {{s|Ombox}}) ===== {{Mbox | typ = zawartość | grafika = {{Ikona|pov|35}} | tekst = {{Parametr|typ|{{Un|zawartość}}}} {{Br}} {{Parametr|grafika|{{s|Ikona|pov|35}}}} {{Br}} Ta grafika jest używana w szablonie {{S|Dopracować|POV}} i podobnych. | nazwa przestrzeni nazw = Project }} {{Mbox | typ = integruj | grafika = {{Ikona|integracja|35}} | tekst = {{Parametr|typ|{{Un|integruj}}}} {{Br}} {{Parametr|grafika|{{s|Ikona|integracja|35}}}} {{Br}} Ta grafika jest używana w {{S|Integracja}}, itp. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = Project | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Project }} }} {{Mbox | grafika = brak | tekst = Brak typu i '''{{Parametr|grafika|brak}}''' – Czyści pole i zostawia margines szerokości domyślnej grafiki. Pozwala na ładne łączenie tekstu z różnych szablonów. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = Project | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Project }} }} {{Mbox | grafika = nie | tekst = Brak typu i '''{{Parametr|grafika|nie}}''' – Nie jest użyta żadna grafika, a '''tekst''' wykorzystuje całą szerokość pola. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = Project | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Project }} }} {{Mbox | grafika = {{Ikona|aktualne|35}} | grafika prawo = {{Ikona|biblioteka|35}} | tekst = {{Parametr|grafika|{{s|Ikona|aktualne|35}}}} {{Br}} {{Parametr|grafika prawo|{{s|Ikona|biblioteka|35}}}} {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = Project | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Project }} }} {{Mbox | tekst = {{Parametr|grafika prawo|{{s|Skrót|id{{=}}stary|WP:SK}}}} {{Br}} Szablony skrótów umieszczaj w '''grafika prawo''', bo inaczej popsują wygląd szablonu. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | grafika prawo = {{Skrót|id=stary|WP:SK}} | nazwa przestrzeni nazw = Project | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Project }} }} === Parametry alternatywne tekstu: ''{{Parametr|tekst}}'' albo {{Parametr|treść}} bądź {{Parametr|1}} === Tekst szablonu, lub inne elementy jego zawartości. == Opis parametrów == {{Mbox/opis/Opis parametrów-Wykaz}} {{Mbox/opis/Opis parametrów-Opis}} {{Mbox/opis/Opis parametrów-Tabela}} == Szczególne przypadki == === Specjalna składnia === Jeśli masz zamiar wykorzystywać znaki specjalne w parametrze {{Parametr|treść}}, musisz zastosować poniższe rozwiązania: {{Pre| {{s|Mbox | tekst {{=}} {{s|Div|Znak równości {{s|{{=}}}} i klamerki {{s|(}} {{s|)}} działają dobrze bez żadnych niepotrzebnych zabiegów. Ale oto nie idzie kreska pionowa {{s|!}} i dwie zamykające klamerki {{s|))}}. A teraz zarówno kreska pionowa, jak i klamerki: {{s|!}}{{s|))}}.}} }} }} ==== Szablon {{s|Mbox}} ze specjalnymi znakami mechanizmu MediaWiki ==== ===== Przestrzeń nazw {{Np|(main)|link=tak}} (używając szablonu {{s|Ambox}}) ===== {{Mbox | tekst = {{Div|Znak równości {{=}} i klamerki {{(}} {{)}} działają dobrze bez żadnych niepotrzebnych zabiegów.<!-- --> Ale oto nie idzie kreska pionowa {{!}} i dwie zamykające klamerki {{))}}.<!-- --> A teraz zarówno kreska pionowa, jak i klamerki: {{!}}{{))}}.}} | nazwa przestrzeni nazw = (main) }} ===== Przestrzeń nazw {{Np|Talk|link=tak}} (używając szablonu {{s|Tmbox}}) ===== {{Mbox | tekst = {{Div|Znak równości {{=}} i klamerki {{(}} {{)}} działają dobrze bez żadnych niepotrzebnych zabiegów.<!-- --> Ale oto nie idzie kreska pionowa {{!}} i dwie zamykające klamerki {{))}}.<!-- --> A teraz zarówno kreska pionowa, jak i klamerki: {{!}}{{))}}.}} | nazwa przestrzeni nazw = Talk }} ===== Przestrzeń nazw {{Np|Special|link=tak}} (używając szablonu {{s|Fmbox}}) ===== {{Mbox | tekst = {{Div|Znak równości {{=}} i klamerki {{(}} {{)}} działają dobrze bez żadnych niepotrzebnych zabiegów.<!-- --> Ale oto nie idzie kreska pionowa {{!}} i dwie zamykające klamerki {{))}}.<!-- --> A teraz zarówno kreska pionowa, jak i klamerki: {{!}}{{))}}.}} | nazwa przestrzeni nazw = Special }} ===== Przestrzeń nazw {{Np|File|link=tak}} (używając szablonu {{s|Imbox}}) ===== {{Mbox | tekst = {{Div|Znak równości {{=}} i klamerki {{(}} {{)}} działają dobrze bez żadnych niepotrzebnych zabiegów.<!-- --> Ale oto nie idzie kreska pionowa {{!}} i dwie zamykające klamerki {{))}}.<!-- --> A teraz zarówno kreska pionowa, jak i klamerki: {{!}}{{))}}.}} | nazwa przestrzeni nazw = File }} ===== Przestrzeń nazw {{Np|Category|link=tak}} (używając szablonu {{s|Cmbox}}) ===== {{Mbox | tekst = {{Div|Znak równości {{=}} i klamerki {{(}} {{)}} działają dobrze bez żadnych niepotrzebnych zabiegów.<!-- --> Ale oto nie idzie kreska pionowa {{!}} i dwie zamykające klamerki {{))}}.<!-- --> A teraz zarówno kreska pionowa, jak i klamerki: {{!}}{{))}}.}} | nazwa przestrzeni nazw = Category }} ===== Przestrzeń nazw {{Np|Project|link=tak}} (używając szablonu {{s|Ombox}}) ===== {{Mbox | tekst = {{Div|Znak równości {{=}} i klamerki {{(}} {{)}} działają dobrze bez żadnych niepotrzebnych zabiegów.<!-- --> Ale oto nie idzie kreska pionowa {{!}} i dwie zamykające klamerki {{))}}.<!-- --> A teraz zarówno kreska pionowa, jak i klamerki: {{!}}{{))}}.}} | nazwa przestrzeni nazw = Project }} === Budowa tabelkowa obiektów przy pomocy klas i styli, CSS, kaskadowych arkuszy stylów szablonów komunikatów === Ten szablon korzysta z klas CSS, więc łatwo można go zmienić według preferencji użytkowników. Klasy CSS mogą być użyte także bezpośrednio w tabelkach: {{Pre| {{s|Tabelka|klasa{{=}}mbox mbox-content box-mobilne|<nowiki><!-- --></nowiki>{{s|Wiersz|<nowiki><!-- --></nowiki>{{s|Komórka|klasa{{=}}mbox-image|{{s|Ikona|pomuwaga|35}} }}<nowiki><!-- --></nowiki>{{s|Komórka|Jakiś tekst}}<nowiki><!-- --></nowiki>}}<nowiki><!-- --></nowiki>}} }} {{Tabelka|klasa=mbox mbox-content box-mobilne|<!-- -->{{Wiersz|<!-- -->{{Komórka|klasa=mbox-image|{{Ikona|pomuwaga|35}}}}<!-- -->{{Komórka|Jakiś tekst}}<!-- -->}}<!-- -->}} Ten szablon używa klas CSS {{ls|mbox}} styli lokalnych: {{ls2|Mbox/styles.css}}, więc jest w pełni skórkowalny. Wewnętrznie ten meta-szablon używa znaczników wiki zamiast znaczników HTML dla kodu tabeli. To jest niezwykły sposób, w jaki tworzymy meta-szablony, ponieważ znaczniki wiki mają kilka wad. Na przykład utrudniają używanie {{lmp|ParserFunctions|funkcji parsera}} i znaków specjalnych w parametrach, więc do tego celu użyto je w postaci szablonów, gdzie ich tam użyto w takiej postaci, więc do tego celu w nich użyto instrukcje warunkowe ucinające białe znaki na ich końcach. Domyślne obrazy dla tego meta-szablonu są w formacie png zamiast svg. Głównym powodem jest to, że niektóre starsze przeglądarki internetowe mają problemy z przezroczystym tłem, które MediaWiki renderuje dla obrazów svg. Obrazy png tutaj mają ręcznie zoptymalizowany przezroczysty kolor tła, więc wyglądają dobrze we wszystkich przeglądarkach. Należy zauważyć, że ikony svg wyglądają nieco źle tylko w starych przeglądarkach, więc taka ręczna optymalizacja jest warta zachodu tylko w przypadku bardzo powszechnie używanych ikon. Więcej szczegółów technicznych znajdziesz na {{ls|Mbox|stronie dyskusji|d=tak}}. Ponieważ ten szablon działa niemal podobnie, jak i inne szablony komunikatów: „{{lk|Szablony komunikatów mbox}}”, jak również ich strony dyskusji i powiązane strony mogą również zawierać więcej szczegółów. == Błędy == Błędy należy zgłaszać na stronie {{Kwestie techniczne}}. == Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) == <templatedata> { "params": { "styl": { "description": "Style tabelki komunikatu kaskadowych arkuszy stylów CSS tabelki komunikatów.", "type": "string" }, "typ": { "suggested": true, "description": "Tyo danego komunikatu oznaczony domyślnym rysunkiem i stylami.", "type": "string" }, "grafika": { "example": "{{ikona|pov|35}}", "suggested": true, "description": "Lewa grafika", "type": "unbalanced-wikitext" }, "tekst": { "required": true, "aliases": [ "1 treść" ], "description": "Tekst komunikatu", "type": "content" }, "grafika prawo": { "description": "Grafika po prawej stronie komunikatu.", "type": "unbalanced-wikitext" }, "id": { "description": "Unikalny identyfikator tabelki komunikatów.", "type": "string" }, "styl tekstu": { "description": "Styl tekstu, w zmiennej 1, tekst albo treść i ewentualnie z tego poniżej, jeśli styl poniżej nie podano, kaskadowych arkuszy stylów CSS.", "type": "string" }, "poniżej": { "description": "Inne wywołanie szablonu komunikatu w danym komunikacie.", "type": "string" }, "klasa": { "description": "Klasa kaskadowych arkuszy stylów CSS tabelki komunikatów.", "type": "string" }, "styl poniżej": { "description": "Ustawia styl kaskadowych arkuszy stylów CSS elementowi wstawianemu pod parametrem poniżej.", "type": "string" } }, "paramOrder": [ "typ", "styl tekstu", "tekst", "grafika", "grafika prawo", "id", "klasa", "styl", "poniżej", "styl poniżej" ], "format": "block", "description": "Uniwersalny szablon szablonów, stosowany do tworzenia wszelkich komunikatów. Upraszcza kod źródłowy komunikatów, ponieważ automatycznie dostosowuje swój wygląd w zależności od przestrzeni nazw." } </templatedata> == Zobacz też == {{Mbox/opis/Zobacz też}} {{BrClear}} <includeonly><!-- ++++ DODAWAJ KATEGORIE I INTERWIKI PONIŻEJ TEJ LINII --> {{Kategorie | Szablony komunikatów mbox | sortuj spacją = tak | Szablony szablonów }} </includeonly> kq1yoox6ongvoyldy7mascswgw38jol 544506 544500 2026-05-28T09:32:21Z Persino 2851 /* Budowa tabelkowa obiektów przy pomocy klas i styli, CSS, kaskadowych arkuszy stylów szablonów komunikatów */ 544506 wikitext text/x-wiki {{Podstrona dokumentacji}} <!-- EDYTUJ DOKUMENTACJĘ SZABLONU PONIŻEJ TEJ LINII --> {{Wysokie ryzyko}} {{Szablony komunikatów}} {{Spis treści}} <!-- DODAWAJ KATEGORIE NA DOLE STRONY --> To jest '''mbox''' (skrót od ''message box'') – uniwersalny szablon szablonów, stosowany do tworzenia komunikatów przeznaczonych dla wielu przestrzeni nazw. Upraszcza kod źródłowy komunikatów, ponieważ automatycznie dostosowuje swój wygląd w zależności od przestrzeni nazw (funkcja parsera typu {{Tt|{{s|#switch: {{s|NAMESPACE}}...}}}} nie jest już konieczna), tą przestrzeń można podać opcjonalnie, chociaż ona nie jest wcale wymagana. Szablon powinno się stosować w każdym komunikacie projektu, który jest stosowany w różnych przestrzeniach nazw, np. {{s|dopracować}}, {{s|ek}}, czy {{s|DNU}}. === Przestrzenie nazw === * '''{{s|Ambox}}''' stosuje w przestrzeniach nazw: {{Tt|{{Np|(main)|link=tak}} i {{Np|Wikijunior|link=tak}}}}. * '''{{s|Tmbox}}''' stosuje w przestrzeniach nazw: {{Tt|{{Np|Talk|link=tak}}, {{Np|Wikijunior talk|link=tak}}, {{Np|Wikibooks talk|link=tak}}, {{Np|Help talk|link=tak}}, {{Np|User talk|link=tak}}, {{Np|Category talk|link=tak}}, {{Np|File talk|link=tak}}, {{Np|MediaWiki talk|link=tak}}, {{Np|Template talk|link=tak}} i {{Np|Module talk|link=tak}}}}. * '''{{s|Fmbox}}''' stosuje w przestrzeniach nazw: {{Tt|{{Np|MediaWiki|link=tak}} i {{Np|Special|link=tak}}}}. * '''{{s|Ombox}}''' stosuje w przestrzeniach nazw: {{Tt|{{Np|Wikibooks|link=tak}}, {{Np|Help|link=tak}}, {{Np|User|link=tak}}, {{Np|Template|link=tak}}, {{Np|Module|link=tak}} (za pomocą opisu modułu)}}. * '''{{s|Cmbox}}''' stosuje w przestrzeniach nazw: {{Np|Category|link=tak}}. * '''{{s|Imbox}}''' stosuje w przestrzeniach nazw: {{Np|File|link=tak}}. * '''{{s|Dmbox}}''' nie jest obsługiwany. Przestrzeń nazw {{Tt|{{Np|Media|link=tak}}}} nie jest wspierana z uwagi na jej charakterystykę. == Użycie == === Przestrzeń nazw {{Np|Template|link=tak}} (używa szablonu {{s|Ombox}}), czyli bez użycia parametru {{Parametr|nazwa przestrzeni nazw}} (szablon sam wykrywa przestrzeń nazw) === Proste użycie: {{Pre| {{s|Mbox | tekst {{=}} Jakiś tekst. }} }} {{Mbox | tekst = Jakiś tekst. }} Złożone użycie: {{Pre| {{s|Mbox | typ {{=}} zawartość | tekst {{=}} Tekst wiadomości. }} }} {{Mbox | typ = zawartość | tekst = Tekst wiadomości. }} === Przestrzeń nazw {{Np|(main)|link=tak}} (używa szablonu {{s|Ambox}}) === Proste użycie: {{Pre| {{s|Mbox | tekst {{=}} Jakiś tekst. | nazwa przestrzeni nazw {{=}} (main) }} }} {{Mbox | tekst = Jakiś tekst. | nazwa przestrzeni nazw = (main) }} Złożone użycie: {{Pre| {{s|Mbox | typ {{=}} zawartość | tekst {{=}} Tekst wiadomości. | nazwa przestrzeni nazw {{=}} (main) }} }} {{Mbox | typ = zawartość | tekst = Tekst wiadomości. | nazwa przestrzeni nazw = (main) }} === Przestrzeń nazw {{Np|Talk|link=tak}} (używa szablonu {{s|Tmbox}}) === Proste użycie: {{Pre| {{s|Mbox | tekst {{=}} Jakiś tekst. | nazwa przestrzeni nazw {{=}} Talk }} }} {{Mbox | tekst = Jakiś tekst. | nazwa przestrzeni nazw = Talk }} Złożone użycie: {{Pre| {{s|Mbox | typ {{=}} zawartość | tekst {{=}} Tekst wiadomości. | nazwa przestrzeni nazw {{=}} Talk }} }} {{Mbox | typ = zawartość | tekst = Tekst wiadomości. | nazwa przestrzeni nazw = Talk }} === Przestrzeń nazw {{Np|Special|link=tak}} (używa szablonu {{s|Fmbox}}) === Proste użycie: {{Pre| {{s|Mbox | tekst {{=}} Jakiś tekst. | nazwa przestrzeni nazw {{=}} Special }} }} {{Mbox | tekst = Jakiś tekst. | nazwa przestrzeni nazw = Special }} Złożone użycie: {{Pre| {{s|Mbox | typ {{=}} ostrzeżenie | tekst {{=}} Tekst wiadomości. | nazwa przestrzeni nazw {{=}} Special }} }} {{Mbox | typ = ostrzeżenie | tekst = Tekst wiadomości. | nazwa przestrzeni nazw = Special }} === Przestrzeń nazw {{Np|File|link=tak}} (używa szablonu {{s|Imbox}}) === Proste użycie: {{Pre| {{s|Mbox | tekst {{=}} Jakiś tekst. | nazwa przestrzeni nazw {{=}} File }} }} {{Mbox | tekst = Jakiś tekst. | nazwa przestrzeni nazw = File }} Złożone użycie: {{Pre| {{s|Mbox | typ {{=}} zawartość | tekst {{=}} Tekst wiadomości. | nazwa przestrzeni nazw {{=}} File }} }} {{Mbox | typ = zawartość | tekst = Tekst wiadomości. | nazwa przestrzeni nazw = File }} === Przestrzeń nazw {{Np|Category|link=tak}} (używa szablonu {{s|Cmbox}}) === Proste użycie: {{Pre| {{s|Mbox | tekst {{=}} Jakiś tekst. | nazwa przestrzeni nazw {{=}} Category }} }} {{Mbox | tekst = Jakiś tekst. | nazwa przestrzeni nazw = Category }} Złożone użycie: {{Pre| {{s|Mbox | typ {{=}} zawartość | tekst {{=}} Tekst wiadomości. | nazwa przestrzeni nazw {{=}} Category }} }} {{Mbox | typ = zawartość | tekst = Tekst wiadomości. | nazwa przestrzeni nazw = Category }} === Przestrzeń nazw {{Np|Project|link=tak}} (używa szablonu {{s|Ombox}}) === Proste użycie: {{Pre| {{s|Mbox | tekst {{=}} Jakiś tekst. | nazwa przestrzeni nazw {{=}} Project }} }} {{Mbox | tekst = Jakiś tekst. | nazwa przestrzeni nazw = Project }} Złożone użycie: {{Pre| {{s|Mbox | typ {{=}} zawartość | tekst {{=}} Tekst wiadomości. | nazwa przestrzeni nazw {{=}} Project }} }} {{Mbox | typ = zawartość | tekst = Tekst wiadomości. | nazwa przestrzeni nazw = Project }} === ''typ'' === {{Zobacz sekcję|Wikipedia:Szablony komunikatów|Odmiany kolorystyczne szablonów mbox|Odmiany kolorystyczne|klucz projektu=w}} Parametr ''typ'' definiuje kolor lewego paska szablonu oraz domyślną ikonę. Typ nie powinien być wybierany ze względów estetycznych, ale powinien być wybierany w zależności od przedstawianego przez komunikat problemu. Dostępne są 4 typy, które przedstawiono poniżej z domyślnymi ikonami. Jeśli w wywołaniu szablonu nie zadeklarowano parametru ''typ'', domyślnym ustawieniem jest {{Parametr|typ|wiadomość}}. ==== Przykłady użycia szablonu {{s|Mbox}} w różnych prestrzeniach nazw ==== ===== Przestrzeń nazw {{Np|(main)|link=tak}} (używa szablonu {{s|Ambox}}) ===== {{Mbox | typ = poważny | tekst = {{Parametr|typ|{{Un|poważny}}}} – Poważne problemy, jak: {{s|NPA}} i {{s|NPAfrgm}}. | nazwa przestrzeni nazw = (main) }} {{Mbox | typ = szybko | tekst = {{Parametr|typ|{{Un|szybko}}}} – Szybkie szablony usuwania, takie jak: {{s|Screenshot}}. | nazwa przestrzeni nazw = (main) }} {{Mbox | typ = usuń | tekst = {{Parametr|typ|{{Un|usuń}}}} – Szablony usuwania, takie jak: {{s|DNU}}, {{s|SdU}} i {{s|SdUwynik}}. | nazwa przestrzeni nazw = (main) }} {{Mbox | typ = styl | tekst = {{Parametr|typ|{{Un|styl}}}} – Drobne ostrzeżenia i problemy, takie jak: {{s|Kasowanie po przeniesieniu}} i {{s|Zgłoś błąd}}. | nazwa przestrzeni nazw = (main) }} {{Mbox | typ = zawartość | tekst = {{Parametr|typ|{{Un|zawartość}}}} – Problemy z zawartością, jak {{S|Dopracować|POV}}. | nazwa przestrzeni nazw = (main) }} {{Mbox | typ = rozszerz | tekst = {{Parametr|typ|{{Un|rozszerz}}}} – Problemy z zawartością o małej treści, należy ją rozszrzerzyć, takie jak: {{S|Info|POV}}. | nazwa przestrzeni nazw = (main) }} {{Mbox | typ = przeniesienie | tekst = {{Parametr|typ|{{Un|przeniesienie}}}} – Przenoszenie i zmiana nazw stron i propozycje, takich jak: {{s|Integrowanie}}, {{s|Integruj z}} i {{s|Integruj do}}. | nazwa przestrzeni nazw = (main) }} {{Mbox | typ = ochrona | tekst = {{Parametr|typ|{{Un|ochrona}}}} – Szablony ochrony, takie jak: {{s|Wysokie ryzyko}} i {{s|Skomplikowany}}, wyświetlane na stronie pliku. | nazwa przestrzeni nazw = (main) }} {{Mbox | typ = integruj | tekst = {{Parametr|typ|{{Un|integruj}}}} – integracja, dzielenie i propozycje transwiki, jak {{S|Integracja}}. | nazwa przestrzeni nazw = (main) }} {{Mbox | typ = powiadomienie | tekst = {{Parametr|typ|{{Un|powiadomienie}}}} – Powiadomienia i wiadomości wszelkiego rodzaju, zarówno stałe, jak i tymczasowe. | nazwa przestrzeni nazw = (main) }} {{Mbox | typ = wiadomość | tekst = {{Parametr|typ|{{Un|wiadomość}}}} – Informacje o artykule, jak {{S|Aktualne}} i {{S|W edycji}}. | nazwa przestrzeni nazw = (main) }} ===== Przestrzeń nazw {{Np|Talk|link=tak}} (używa szablonu {{s|Tmbox}}) ===== {{Mbox | typ = poważny | tekst = {{Parametr|typ|{{Un|poważny}}}} – Poważne problemy, jak: {{s|NPA}} i {{s|NPAfrgm}}. | nazwa przestrzeni nazw = Talk }} {{Mbox | typ = szybko | tekst = {{Parametr|typ|{{Un|szybko}}}} – Szybkie szablony usuwania, takie jak: {{s|Screenshot}}. | nazwa przestrzeni nazw = Talk }} {{Mbox | typ = usuń | tekst = {{Parametr|typ|{{Un|usuń}}}} – Szablony usuwania, takie jak: {{s|DNU}}, {{s|SdU}} i {{s|SdUwynik}}. | nazwa przestrzeni nazw = Talk }} {{Mbox | typ = styl | tekst = {{Parametr|typ|{{Un|styl}}}} – Drobne ostrzeżenia i problemy, takie jak: {{s|Kasowanie po przeniesieniu}} i {{s|Zgłoś błąd}}. | nazwa przestrzeni nazw = Talk }} {{Mbox | typ = zawartość | tekst = {{Parametr|typ|{{Un|zawartość}}}} – Problemy z zawartością, jak {{S|Dopracować|POV}}. | nazwa przestrzeni nazw = Talk }} {{Mbox | typ = rozszerz | tekst = {{Parametr|typ|{{Un|rozszerz}}}} – Problemy z zawartością o małej treści, należy ją rozszrzerzyć, takie jak: {{S|Info|POV}}. | nazwa przestrzeni nazw = Talk }} {{Mbox | typ = przeniesienie | tekst = {{Parametr|typ|{{Un|przeniesienie}}}} – Przenoszenie i zmiana nazw stron i propozycje, takich jak: {{s|Integrowanie}}, {{s|Integruj z}} i {{s|Integruj do}}. | nazwa przestrzeni nazw = Talk }} {{Mbox | typ = ochrona | tekst = {{Parametr|typ|{{Un|ochrona}}}} – Szablony ochrony, takie jak: {{s|Wysokie ryzyko}} i {{s|Skomplikowany}}, wyświetlane na stronie pliku. | nazwa przestrzeni nazw = Talk }} {{Mbox | typ = integruj | tekst = {{Parametr|typ|{{Un|integruj}}}} – integracja, dzielenie i propozycje transwiki, jak {{S|Integracja}}. | nazwa przestrzeni nazw = Talk }} {{Mbox | typ = powiadomienie | tekst = {{Parametr|typ|{{Un|powiadomienie}}}} – Powiadomienia i wiadomości wszelkiego rodzaju, zarówno stałe, jak i tymczasowe. | nazwa przestrzeni nazw = Talk }} {{Mbox | typ = wiadomość | tekst = {{Parametr|typ|{{Un|wiadomość}}}} – Informacje o artykule, jak {{S|Aktualne}} i {{S|W edycji}}. | nazwa przestrzeni nazw = Talk }} ===== Przestrzeń nazw {{Np|Special|link=tak}} (używa szablonu {{s|Fmbox}}) ===== {{Mbox | typ = ostrzeżenie | tekst = {{Parametr|typ|{{Un|ostrzeżenie}}}} – Systemowe ostrzeżenie. | nazwa przestrzeni nazw = Special }} {{Mbox | typ = editnotice | tekst = {{Parametr|typ|{{Un|editnotice}}}} – Przeźroczyste tło dla powiadomień przy edycji. | nazwa przestrzeni nazw = Special }} {{Mbox | typ = systemowe | tekst = {{Parametr|typ|{{Un|systemowe}}}} – Systemowy komunikat o jasnoszarym tle (domyślne). | nazwa przestrzeni nazw = Special }} ===== Przestrzeń nazw {{Np|File|link=tak}} (używa szablonu {{s|Imbox}}) ===== {{Mbox | typ = poważny | tekst = {{Parametr|typ|{{Un|poważny}}}} – Poważne problemy, jak: {{s|NPA}} i {{s|NPAfrgm}}. | nazwa przestrzeni nazw = File }} {{Mbox | typ = szybko | treść = {{Parametr|typ|{{Un|szybko}}}} – Szybkie szablony usuwania, takie jak: {{s|Screenshot}}. | nazwa przestrzeni nazw = File }} {{Mbox | typ = usuń | treść = {{Parametr|typ|{{Un|usuń}}}} – Szablony usuwania, takie jak: {{s|DNU}}, {{s|SdU}} i {{s|SdUwynik}}. | nazwa przestrzeni nazw = File }} {{Mbox | typ = styl | treść = {{Parametr|typ|{{Un|styl}}}} – Drobne ostrzeżenia i problemy, takie jak: {{s|Kasowanie po przeniesieniu}} i {{s|Zgłoś błąd}}. | nazwa przestrzeni nazw = File }} {{Mbox | typ = zawartość | treść = {{Parametr|typ|{{Un|zawartość}}}} – Ważne ostrzeżenia i problemy, takie jak: {{s|Dopracować|POV}}. | nazwa przestrzeni nazw = File }} {{Mbox | typ = rozszerz | tekst = {{Parametr|typ|{{Un|rozszerz}}}} – Problemy z zawartością o małej treści, należy ją rozszrzerzyć, takie jak: {{s|Info|POV}}. | nazwa przestrzeni nazw = File }} {{Mbox | typ = przeniesienie | treść = {{Parametr|typ|{{Un|przeniesienie}}}} – Przenoszenie i zmiana nazw plików i propozycje, takich jak: {{s|Integrowanie}}, {{s|Integruj z}} i {{s|Integruj do}}. | nazwa przestrzeni nazw = File }} {{Mbox | typ = ochrona | treść = {{Parametr|typ|{{Un|ochrona}}}} – Szablony ochrony, takie jak: {{s|Wysokie ryzyko}} i {{s|Skomplikowany}}, wyświetlane na stronie pliku. | nazwa przestrzeni nazw = File }} {{Mbox | typ = integruj | tekst = {{Parametr|typ|{{Un|integruj}}}} – integracja, dzielenie i propozycje transwiki, jak {{S|Integracja}}. }} {{Mbox | typ = licencja | treść = {{Parametr|typ|{{Un|licencja}}}} – Szablony licencji, takie jak: {{s|Cc-by-sa-4.0}}. | nazwa przestrzeni nazw = File }} {{Mbox | typ = jakość | treść = {{Parametr|typ|{{Un|jakość}}}} – Wyróżnione szablony plików, takie jak: {{s|Plik}}, {{s|Rysunek}} i {{s|MapaObrazu}}. | nazwa przestrzeni nazw = File }} {{Mbox | typ = powiadomienie | treść = {{Parametr|typ|{{Un|powiadomienie}}}} – Powiadomienia i wiadomości wszelkiego rodzaju, zarówno stałe, jak i tymczasowe. | nazwa przestrzeni nazw = File }} {{Mbox | typ = wiadomość | tekst = {{Parametr|typ|{{Un|wiadomość}}}} – informacje o artykule, jak {{S|Aktualne}} i {{S|W edycji}}. | nazwa przestrzeni nazw = File }} ===== Przestrzeń nazw {{Np|Category|link=tak}} (używa szablonu {{s|Cmbox}}) ===== {{Mbox | typ = poważny | tekst = {{Parametr|typ|{{Un|poważny}}}} – Poważne problemy, jak: {{s|NPA}} i {{s|NPAfrgm}}. | nazwa przestrzeni nazw = Category }} {{Mbox | typ = szybko | treść = {{Parametr|typ|{{Un|szybko}}}} – Szybkie szablony usuwania, takie jak: {{s|Screenshot}}. | nazwa przestrzeni nazw = Category }} {{Mbox | typ = usuń | treść = {{Parametr|typ|{{Un|usuń}}}} – Szablony usuwania, takie jak: {{s|DNU}}, {{s|SdU}} i {{s|SdUwynik}}. | nazwa przestrzeni nazw = Category }} {{Mbox | typ = styl | treść = {{Parametr|typ|{{Un|styl}}}} – Drobne ostrzeżenia i problemy, takie jak: {{s|Kasowanie po przeniesieniu}} i {{s|Zgłoś błąd}}. | nazwa przestrzeni nazw = Category }} {{Mbox | typ = zawartość | treść = {{Parametr|typ|{{Un|zawartość}}}} – Ważne ostrzeżenia i problemy, takie jak: {{s|Dopracować|POV}}. | nazwa przestrzeni nazw = Category }} {{Mbox | typ = rozszerz | tekst = {{Parametr|typ|{{Un|rozszerz}}}} – Problemy z zawartością o małej treści, należy ją rozszrzerzyć, takie jak: {{s|Info|POV}}. | nazwa przestrzeni nazw = Category }} {{Mbox | typ = przeniesienie | treść = {{Parametr|typ|{{Un|przeniesienie}}}} – Przenoszenie i zmiana nazw plików i propozycje, takich jak: {{s|Integrowanie}}, {{s|Integruj z}} i {{s|Integruj do}}. | nazwa przestrzeni nazw = Category }} {{Mbox | typ = ochrona | treść = {{Parametr|typ|{{Un|ochrona}}}} – Szablony ochrony, takie jak: {{s|Wysokie ryzyko}} i {{s|Skomplikowany}}, wyświetlane na stronie pliku. | nazwa przestrzeni nazw = Category }} {{Mbox | typ = integruj | tekst = {{Parametr|typ|{{Un|integruj}}}} – integracja, dzielenie i propozycje transwiki, jak {{S|Integracja}}. | nazwa przestrzeni nazw = Category }} {{Mbox | typ = powiadomienie | treść = {{Parametr|typ|{{Un|powiadomienie}}}} – Powiadomienia i wiadomości wszelkiego rodzaju, zarówno stałe, jak i tymczasowe. | nazwa przestrzeni nazw = Category }} {{Mbox | typ = wiadomość | tekst = {{Parametr|typ|{{Un|wiadomość}}}} – informacje o artykule, jak {{S|Aktualne}} i {{S|W edycji}}. | nazwa przestrzeni nazw = Category }} ===== Przestrzeń nazw {{Np|Project|link=tak}} (używa szablonu {{s|Ombox}}) ===== {{Mbox | typ = poważny | tekst = {{Parametr|typ|{{Un|poważny}}}} – Poważne problemy, jak: {{s|NPA}} i {{s|NPAfrgm}}. | nazwa przestrzeni nazw = Project }} {{Mbox | typ = szybko | tekst = {{Parametr|typ|{{Un|szybko}}}} – Szybkie szablony usuwania, takie jak: {{s|Screenshot}}. | nazwa przestrzeni nazw = Project }} {{Mbox | typ = usuń | tekst = {{Parametr|typ|{{Un|usuń}}}} – Szablony usuwania, takie jak: {{s|DNU}}, {{s|SdU}} i {{s|SdUwynik}}. | nazwa przestrzeni nazw = Project }} {{Mbox | typ = styl | tekst = {{Parametr|typ|{{Un|styl}}}} – Drobne ostrzeżenia i problemy, takie jak: {{s|Kasowanie po przeniesieniu}} i {{s|Zgłoś błąd}}. | nazwa przestrzeni nazw = Project }} {{Mbox | typ = zawartość | tekst = {{Parametr|typ|{{Un|zawartość}}}} – Problemy z zawartością, jak {{S|Dopracować|POV}}. | nazwa przestrzeni nazw = Project }} {{Mbox | typ = rozszerz | tekst = {{Parametr|typ|{{Un|rozszerz}}}} – Problemy z zawartością o małej treści, należy ją rozszrzerzyć, takie jak: {{S|Info|POV}}. | nazwa przestrzeni nazw = Project }} {{Mbox | typ = przeniesienie | tekst = {{Parametr|typ|{{Un|przeniesienie}}}} – Przenoszenie i zmiana nazw stron i propozycje, takich jak: {{s|Integrowanie}}, {{s|Integruj z}} i {{s|Integruj do}}. | nazwa przestrzeni nazw = Project }} {{Mbox | typ = ochrona | tekst = {{Parametr|typ|{{Un|ochrona}}}} – Szablony ochrony, takie jak: {{s|Wysokie ryzyko}} i {{s|Skomplikowany}}, wyświetlane na stronie pliku. | nazwa przestrzeni nazw = Project }} {{Mbox | typ = integruj | tekst = {{Parametr|typ|{{Un|integruj}}}} – integracja, dzielenie i propozycje transwiki, jak {{S|Integracja}}. | nazwa przestrzeni nazw = Project }} {{Mbox | typ = powiadomienie | tekst = {{Parametr|typ|{{Un|powiadomienie}}}} – Powiadomienia i wiadomości wszelkiego rodzaju, zarówno stałe, jak i tymczasowe. | nazwa przestrzeni nazw = Project }} {{Mbox | typ = wiadomość | tekst = {{Parametr|typ|{{Un|wiadomość}}}} – Informacje o artykule, jak {{S|Aktualne}} i {{S|W edycji}}. | nazwa przestrzeni nazw = Project }} === Parametry graficzne: ''{{Parametr|grafika}}'' i {{Parametr|grafika prawo}}, oraz szablonowe szablonów komunikatów: ''{{Parametr|poniżej}}'' === ==== Wprowadzenie do grafik i szablonów zagniezdżonych w szablonie ==== Jeśli ten parametr nie jest określony, używana jest domyślna grafika związana z parametrem '''{{Parametr|typ}}''' (zobacz domyślne obrazki w sekcji {{lu|#typ}} powyżej). Jeśli jako parametr podano {{Parametr|grafika|nie}}, w szablonie nie jest używana grafika, a tekst jest wyrównany do lewej bez pozostawienia pustego miejsca. Jeśli natomiast jako parametr podano {{Parametr|grafika|brak}}, szablon nie używa żadnej grafiki, ale zostawia puste pole szerokości domyślnego obrazka, co pozwala na zapełnienie tego miesca przez tekst użytą w szablonie. ====='''''{{Parametr|grafika|jakaś grafika}}''''' ===== Powinien zostać użyty szablon {{s|Ikona}} z szerokością 35px. Na przykład: :: {{Code|{{s|Ikona|pov|35}}}} ===== '''''{{Parametr|grafika prawo|jakaś grafika}}''''' ===== Po prawej stronie szablonu można umieścić drugą grafikę lub inny obiekt, wprowadzając jego kod jako parametr {{Parametr|grafika prawo}}. Jeśli nie zdefiniowano tego parametru, szablon nie wyświetla żadnej grafiki lub elementu po prawej stronie komunikatu. ==== Szablon {{s|Mbox}} - przykłady jego użyć z parametrami graficznymi i w konfiguracji szablon komunikatu w szabblonie komunikatu ==== ===== Przestrzeń nazw {{Np|(main)|link=tak}} (używa szablonu {{s|Ambox}}) ===== {{Mbox | typ = zawartość | grafika = {{Ikona|pov|35}} | tekst = {{Parametr|typ|{{Un|zawartość}}}} {{Br}} {{Parametr|grafika|{{s|Ikona|pov|35}}}} {{Br}} Ta grafika jest używana w szablonie {{s|Dopracować|POV}} i podobnych. | nazwa przestrzeni nazw = (main) }} {{Mbox | typ = integruj | grafika = {{Ikona|integracja|35}} | tekst = {{Parametr|typ|{{Un|integruj}}}} {{Br}} {{Parametr|grafika|{{s|Ikona|integracja|35}}}} {{Br}} Ta grafika jest używana w {{s|Integracja}}, itp. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = (main) | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = (main) }} }} {{Mbox | grafika = brak | tekst = Brak typu i '''{{Parametr|grafika|brak}}''' – Czyści pole i zostawia margines szerokości domyślnej grafiki. Pozwala na ładne łączenie tekstu z różnych szablonów. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = (main) | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = (main) }} }} {{Mbox | grafika = nie | tekst = Brak typu i '''{{Parametr|grafika|nie}}''' – Nie jest użyta żadna grafika, a '''tekst''' wykorzystuje całą szerokość pola. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = (main) | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = (main) }} }} {{Mbox | grafika = {{Ikona|aktualne|35}} | grafika prawo = {{Ikona|biblioteka|35}} | tekst = {{Parametr|grafika|{{s|Ikona|aktualne|35}}}} {{Br}} {{Parametr|grafika prawo|{{s|Ikona|biblioteka|35}}}} {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = (main) | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = (main) }} }} {{Mbox | tekst = {{Parametr|grafika prawo|{{s|Skrót|id{{=}}stary|WP:SK}}}} {{Br}} Szablony skrótów umieszczaj w '''grafika prawo''', bo inaczej popsują wygląd szablonu. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | grafika prawo = {{Skrót|id=stary|WP:SK}} | nazwa przestrzeni nazw = (main) | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = (main) }} }} ===== Przestrzeń nazw {{Np|Talk|link=tak}} (używa szablonu {{s|Tmbox}}) ===== {{Mbox | typ = zawartość | grafika = {{Ikona|pov|35}} | tekst = {{Parametr|typ|{{Un|zawartość}}}} {{Br}} {{Parametr|grafika|{{s|Ikona|pov|35}}}} {{Br}} Ta grafika jest używana w szablonie {{S|Dopracować|POV}} i podobnych. | nazwa przestrzeni nazw = Talk }} {{Mbox | typ = integruj | grafika = {{Ikona|integracja|35}} | tekst = {{Parametr|typ|{{Un|integruj}}}} {{Br}} {{Parametr|grafika|{{s|Ikona|integracja|35}}}} {{Br}} Ta grafika jest używana w {{S|Integracja}}, itp. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = Talk | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Talk }} }} {{Mbox | grafika = brak | tekst = Brak typu i '''{{Parametr|grafika|brak}}''' – Czyści pole i zostawia margines szerokości domyślnej grafiki. Pozwala na ładne łączenie tekstu z różnych szablonów. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = Talk | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Talk }} }} {{Mbox | grafika = nie | tekst = Brak typu i '''{{Parametr|grafika|nie}}''' – Nie jest użyta żadna grafika, a '''tekst''' wykorzystuje całą szerokość pola. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = Talk | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Talk }} }} {{Mbox | grafika = {{Ikona|aktualne|35}} | grafika prawo = {{Ikona|biblioteka|35}} | tekst = {{Parametr|grafika|{{s|Ikona|aktualne|35}}}} {{Br}} {{Parametr|grafika prawo|{{s|Ikona|biblioteka|35}}}} {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = Talk | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Talk }} }} {{Mbox | tekst = {{Parametr|grafika prawo|{{s|Skrót|id{{=}}stary|WP:SK}}}} {{Br}} Szablony skrótów umieszczaj w '''grafika prawo''', bo inaczej popsują wygląd szablonu. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | grafika prawo = {{Skrót|id=stary|WP:SK}} | nazwa przestrzeni nazw = Talk | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Talk }} }} ===== Przestrzeń nazw {{Np|Special|link=tak}} (używa szablonu {{s|Fmbox}}) ===== {{Mbox | typ = ostrzeżenie | grafika = {{Ikona|pov|35}} | tekst = {{Parametr|typ|{{Un|ostrzeżenie}}}} {{Br}} {{Parametr|grafika|{{s|Ikona|pov|35}}}} {{Br}} Ta grafika jest używana w szablonie {{S|Dopracować|POV}} i podobnych. | nazwa przestrzeni nazw = Special }} {{Mbox | typ = integruj | grafika = {{Ikona|ostrzeżenie|35}} | tekst = {{Parametr|typ|{{Un|integruj}}}} {{Br}} {{Parametr|grafika|{{s|Ikona|ostrzeżenie|35}}}} {{Br}} Ta grafika jest używana w {{s|Integracja}}, itp. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}editnotice|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = Special | poniżej = {{Mbox | typ = editnotice | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Special }} }} {{Mbox | grafika = brak | tekst = Brak typu i '''{{Parametr|grafika|brak}}''' – Czyści pole i zostawia margines szerokości domyślnej grafiki. Pozwala na ładne łączenie tekstu z różnych szablonów. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}editnotice|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = Special | poniżej = {{Mbox | typ = editnotice | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Special }} }} {{Mbox | grafika = nie | tekst = Brak typu i '''{{Parametr|grafika|nie}}''' – Nie jest użyta żadna grafika, a '''tekst''' wykorzystuje całą szerokość pola. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}editnotice|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = Special | poniżej = {{Mbox | typ = editnotice | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Special }} }} {{Mbox | grafika = {{Ikona|aktualne|35}} | grafika prawo = {{Ikona|biblioteka|35}} | tekst = {{Parametr|grafika|{{s|Ikona|aktualne|35}}}} {{Br}} {{Parametr|grafika prawo|{{s|Ikona|biblioteka|35}}}} {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}editnotice|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = Special | poniżej = {{Mbox | typ = editnotice | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Special }} }} {{Mbox | tekst = {{Parametr|grafika prawo|{{s|Skrót|id{{=}}stary|WP:SK}}}} {{Br}} Szablony skrótów umieszczaj w '''grafika prawo''', bo inaczej popsują wygląd szablonu. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}editnotice|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | grafika prawo = {{Skrót|id=stary|WP:SK}} | nazwa przestrzeni nazw = Special | poniżej = {{Mbox | typ = editnotice | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Special }} }} ===== Przestrzeń nazw {{Np|File|link=tak}} (używa szablonu {{s|Imbox}}) ===== {{Mbox | typ = zawartość | grafika = {{Ikona|pov|35}} | tekst = {{Parametr|typ|{{Un|zawartość}}}} {{Br}} {{Parametr|grafika|{{s|Ikona|pov|35}}}} {{Br}} Ta grafika jest używana w szablonie {{S|Dopracować|POV}} i podobnych. | nazwa przestrzeni nazw = File }} {{Mbox | typ = integruj | grafika = {{Ikona|integracja|35}} | tekst = {{Parametr|typ|{{Un|integruj}}}} {{Br}} {{Parametr|grafika|{{s|Ikona|integracja|35}}}} {{Br}} Ta grafika jest używana w {{S|Integracja}}, itp. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = File | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = File }} }} {{Mbox | grafika = brak | tekst = Brak typu i '''{{Parametr|grafika|brak}}''' – Czyści pole i zostawia margines szerokości domyślnej grafiki. Pozwala na ładne łączenie tekstu z różnych szablonów. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = File | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = File }} }} {{Mbox | grafika = nie | tekst = Brak typu i '''{{Parametr|grafika|nie}}''' – Nie jest użyta żadna grafika, a '''tekst''' wykorzystuje całą szerokość pola. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = File | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = File }} }} {{Mbox | grafika = {{Ikona|aktualne|35}} | grafika prawo = {{Ikona|biblioteka|35}} | tekst = {{Parametr|grafika|{{s|Ikona|aktualne|35}}}} {{Br}} {{Parametr|grafika prawo|{{s|Ikona|biblioteka|35}}}} {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = File | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = File }} }} {{Mbox | tekst = {{Parametr|grafika prawo|{{s|Skrót|id{{=}}stary|WP:SK}}}} {{Br}} Szablony skrótów umieszczaj w '''grafika prawo''', bo inaczej popsują wygląd szablonu. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | grafika prawo = {{Skrót|id=stary|WP:SK}} | nazwa przestrzeni nazw = File | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = File }} }} ===== Przestrzeń nazw {{Np|Category|link=tak}} (używa szablonu {{s|Cmbox}}) ===== {{Mbox | typ = zawartość | grafika = {{Ikona|pov|35}} | tekst = {{Parametr|typ|{{Un|zawartość}}}} {{Br}} {{Parametr|grafika|{{s|Ikona|pov|35}}}} {{Br}} Ta grafika jest używana w szablonie {{S|Dopracować|POV}} i podobnych. | nazwa przestrzeni nazw = Category }} {{Mbox | typ = integruj | grafika = {{Ikona|integracja|35}} | tekst = {{Parametr|typ|{{Un|integruj}}}} {{Br}} {{Parametr|grafika|{{s|Ikona|integracja|35}}}} {{Br}} Ta grafika jest używana w {{S|Integracja}}, itp. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = Category | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Category }} }} {{Mbox | grafika = brak | tekst = Brak typu i '''{{Parametr|grafika|brak}}''' – Czyści pole i zostawia margines szerokości domyślnej grafiki. Pozwala na ładne łączenie tekstu z różnych szablonów. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = Category | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Category }} }} {{Mbox | grafika = nie | tekst = Brak typu i '''{{Parametr|grafika|nie}}''' – Nie jest użyta żadna grafika, a '''tekst''' wykorzystuje całą szerokość pola. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = Category | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Category }} }} {{Mbox | grafika = {{Ikona|aktualne|35}} | grafika prawo = {{Ikona|biblioteka|35}} | tekst = {{Parametr|grafika|{{s|Ikona|aktualne|35}}}} {{Br}} {{Parametr|grafika prawo|{{s|Ikona|biblioteka|35}}}} {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = Category | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Category }} }} {{Mbox | tekst = {{Parametr|grafika prawo|{{s|Skrót|id{{=}}stary|WP:SK}}}} {{Br}} Szablony skrótów umieszczaj w '''grafika prawo''', bo inaczej popsują wygląd szablonu. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | grafika prawo = {{Skrót|id=stary|WP:SK}} | nazwa przestrzeni nazw = Category | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Category }} }} ===== Przestrzeń nazw {{Np|Project|link=tak}} (używa szablonu {{s|Ombox}}) ===== {{Mbox | typ = zawartość | grafika = {{Ikona|pov|35}} | tekst = {{Parametr|typ|{{Un|zawartość}}}} {{Br}} {{Parametr|grafika|{{s|Ikona|pov|35}}}} {{Br}} Ta grafika jest używana w szablonie {{S|Dopracować|POV}} i podobnych. | nazwa przestrzeni nazw = Project }} {{Mbox | typ = integruj | grafika = {{Ikona|integracja|35}} | tekst = {{Parametr|typ|{{Un|integruj}}}} {{Br}} {{Parametr|grafika|{{s|Ikona|integracja|35}}}} {{Br}} Ta grafika jest używana w {{S|Integracja}}, itp. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = Project | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Project }} }} {{Mbox | grafika = brak | tekst = Brak typu i '''{{Parametr|grafika|brak}}''' – Czyści pole i zostawia margines szerokości domyślnej grafiki. Pozwala na ładne łączenie tekstu z różnych szablonów. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = Project | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Project }} }} {{Mbox | grafika = nie | tekst = Brak typu i '''{{Parametr|grafika|nie}}''' – Nie jest użyta żadna grafika, a '''tekst''' wykorzystuje całą szerokość pola. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = Project | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Project }} }} {{Mbox | grafika = {{Ikona|aktualne|35}} | grafika prawo = {{Ikona|biblioteka|35}} | tekst = {{Parametr|grafika|{{s|Ikona|aktualne|35}}}} {{Br}} {{Parametr|grafika prawo|{{s|Ikona|biblioteka|35}}}} {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = Project | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Project }} }} {{Mbox | tekst = {{Parametr|grafika prawo|{{s|Skrót|id{{=}}stary|WP:SK}}}} {{Br}} Szablony skrótów umieszczaj w '''grafika prawo''', bo inaczej popsują wygląd szablonu. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | grafika prawo = {{Skrót|id=stary|WP:SK}} | nazwa przestrzeni nazw = Project | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Project }} }} === Parametry alternatywne tekstu: ''{{Parametr|tekst}}'' albo {{Parametr|treść}} bądź {{Parametr|1}} === Tekst szablonu, lub inne elementy jego zawartości. == Opis parametrów == {{Mbox/opis/Opis parametrów-Wykaz}} {{Mbox/opis/Opis parametrów-Opis}} {{Mbox/opis/Opis parametrów-Tabela}} == Szczególne przypadki == === Specjalna składnia === Jeśli masz zamiar wykorzystywać znaki specjalne w parametrze {{Parametr|treść}}, musisz zastosować poniższe rozwiązania: {{Pre| {{s|Mbox | tekst {{=}} {{s|Div|Znak równości {{s|{{=}}}} i klamerki {{s|(}} {{s|)}} działają dobrze bez żadnych niepotrzebnych zabiegów. Ale oto nie idzie kreska pionowa {{s|!}} i dwie zamykające klamerki {{s|))}}. A teraz zarówno kreska pionowa, jak i klamerki: {{s|!}}{{s|))}}.}} }} }} ==== Szablon {{s|Mbox}} ze specjalnymi znakami mechanizmu MediaWiki ==== ===== Przestrzeń nazw {{Np|(main)|link=tak}} (używając szablonu {{s|Ambox}}) ===== {{Mbox | tekst = {{Div|Znak równości {{=}} i klamerki {{(}} {{)}} działają dobrze bez żadnych niepotrzebnych zabiegów.<!-- --> Ale oto nie idzie kreska pionowa {{!}} i dwie zamykające klamerki {{))}}.<!-- --> A teraz zarówno kreska pionowa, jak i klamerki: {{!}}{{))}}.}} | nazwa przestrzeni nazw = (main) }} ===== Przestrzeń nazw {{Np|Talk|link=tak}} (używając szablonu {{s|Tmbox}}) ===== {{Mbox | tekst = {{Div|Znak równości {{=}} i klamerki {{(}} {{)}} działają dobrze bez żadnych niepotrzebnych zabiegów.<!-- --> Ale oto nie idzie kreska pionowa {{!}} i dwie zamykające klamerki {{))}}.<!-- --> A teraz zarówno kreska pionowa, jak i klamerki: {{!}}{{))}}.}} | nazwa przestrzeni nazw = Talk }} ===== Przestrzeń nazw {{Np|Special|link=tak}} (używając szablonu {{s|Fmbox}}) ===== {{Mbox | tekst = {{Div|Znak równości {{=}} i klamerki {{(}} {{)}} działają dobrze bez żadnych niepotrzebnych zabiegów.<!-- --> Ale oto nie idzie kreska pionowa {{!}} i dwie zamykające klamerki {{))}}.<!-- --> A teraz zarówno kreska pionowa, jak i klamerki: {{!}}{{))}}.}} | nazwa przestrzeni nazw = Special }} ===== Przestrzeń nazw {{Np|File|link=tak}} (używając szablonu {{s|Imbox}}) ===== {{Mbox | tekst = {{Div|Znak równości {{=}} i klamerki {{(}} {{)}} działają dobrze bez żadnych niepotrzebnych zabiegów.<!-- --> Ale oto nie idzie kreska pionowa {{!}} i dwie zamykające klamerki {{))}}.<!-- --> A teraz zarówno kreska pionowa, jak i klamerki: {{!}}{{))}}.}} | nazwa przestrzeni nazw = File }} ===== Przestrzeń nazw {{Np|Category|link=tak}} (używając szablonu {{s|Cmbox}}) ===== {{Mbox | tekst = {{Div|Znak równości {{=}} i klamerki {{(}} {{)}} działają dobrze bez żadnych niepotrzebnych zabiegów.<!-- --> Ale oto nie idzie kreska pionowa {{!}} i dwie zamykające klamerki {{))}}.<!-- --> A teraz zarówno kreska pionowa, jak i klamerki: {{!}}{{))}}.}} | nazwa przestrzeni nazw = Category }} ===== Przestrzeń nazw {{Np|Project|link=tak}} (używając szablonu {{s|Ombox}}) ===== {{Mbox | tekst = {{Div|Znak równości {{=}} i klamerki {{(}} {{)}} działają dobrze bez żadnych niepotrzebnych zabiegów.<!-- --> Ale oto nie idzie kreska pionowa {{!}} i dwie zamykające klamerki {{))}}.<!-- --> A teraz zarówno kreska pionowa, jak i klamerki: {{!}}{{))}}.}} | nazwa przestrzeni nazw = Project }} === Budowa tabelkowa obiektów przy pomocy klas i styli, CSS, kaskadowych arkuszy stylów szablonów komunikatów === {{Mbox/opis/Techniczne szczegóły}} == Błędy == Błędy należy zgłaszać na stronie {{Kwestie techniczne}}. == Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) == <templatedata> { "params": { "styl": { "description": "Style tabelki komunikatu kaskadowych arkuszy stylów CSS tabelki komunikatów.", "type": "string" }, "typ": { "suggested": true, "description": "Tyo danego komunikatu oznaczony domyślnym rysunkiem i stylami.", "type": "string" }, "grafika": { "example": "{{ikona|pov|35}}", "suggested": true, "description": "Lewa grafika", "type": "unbalanced-wikitext" }, "tekst": { "required": true, "aliases": [ "1 treść" ], "description": "Tekst komunikatu", "type": "content" }, "grafika prawo": { "description": "Grafika po prawej stronie komunikatu.", "type": "unbalanced-wikitext" }, "id": { "description": "Unikalny identyfikator tabelki komunikatów.", "type": "string" }, "styl tekstu": { "description": "Styl tekstu, w zmiennej 1, tekst albo treść i ewentualnie z tego poniżej, jeśli styl poniżej nie podano, kaskadowych arkuszy stylów CSS.", "type": "string" }, "poniżej": { "description": "Inne wywołanie szablonu komunikatu w danym komunikacie.", "type": "string" }, "klasa": { "description": "Klasa kaskadowych arkuszy stylów CSS tabelki komunikatów.", "type": "string" }, "styl poniżej": { "description": "Ustawia styl kaskadowych arkuszy stylów CSS elementowi wstawianemu pod parametrem poniżej.", "type": "string" } }, "paramOrder": [ "typ", "styl tekstu", "tekst", "grafika", "grafika prawo", "id", "klasa", "styl", "poniżej", "styl poniżej" ], "format": "block", "description": "Uniwersalny szablon szablonów, stosowany do tworzenia wszelkich komunikatów. Upraszcza kod źródłowy komunikatów, ponieważ automatycznie dostosowuje swój wygląd w zależności od przestrzeni nazw." } </templatedata> == Zobacz też == {{Mbox/opis/Zobacz też}} {{BrClear}} <includeonly><!-- ++++ DODAWAJ KATEGORIE I INTERWIKI PONIŻEJ TEJ LINII --> {{Kategorie | Szablony komunikatów mbox | sortuj spacją = tak | Szablony szablonów }} </includeonly> fewz61qxqp43d3r6omsbt5pebgo931c 544511 544506 2026-05-28T09:41:48Z Persino 2851 /* Specjalna składnia */ 544511 wikitext text/x-wiki {{Podstrona dokumentacji}} <!-- EDYTUJ DOKUMENTACJĘ SZABLONU PONIŻEJ TEJ LINII --> {{Wysokie ryzyko}} {{Szablony komunikatów}} {{Spis treści}} <!-- DODAWAJ KATEGORIE NA DOLE STRONY --> To jest '''mbox''' (skrót od ''message box'') – uniwersalny szablon szablonów, stosowany do tworzenia komunikatów przeznaczonych dla wielu przestrzeni nazw. Upraszcza kod źródłowy komunikatów, ponieważ automatycznie dostosowuje swój wygląd w zależności od przestrzeni nazw (funkcja parsera typu {{Tt|{{s|#switch: {{s|NAMESPACE}}...}}}} nie jest już konieczna), tą przestrzeń można podać opcjonalnie, chociaż ona nie jest wcale wymagana. Szablon powinno się stosować w każdym komunikacie projektu, który jest stosowany w różnych przestrzeniach nazw, np. {{s|dopracować}}, {{s|ek}}, czy {{s|DNU}}. === Przestrzenie nazw === * '''{{s|Ambox}}''' stosuje w przestrzeniach nazw: {{Tt|{{Np|(main)|link=tak}} i {{Np|Wikijunior|link=tak}}}}. * '''{{s|Tmbox}}''' stosuje w przestrzeniach nazw: {{Tt|{{Np|Talk|link=tak}}, {{Np|Wikijunior talk|link=tak}}, {{Np|Wikibooks talk|link=tak}}, {{Np|Help talk|link=tak}}, {{Np|User talk|link=tak}}, {{Np|Category talk|link=tak}}, {{Np|File talk|link=tak}}, {{Np|MediaWiki talk|link=tak}}, {{Np|Template talk|link=tak}} i {{Np|Module talk|link=tak}}}}. * '''{{s|Fmbox}}''' stosuje w przestrzeniach nazw: {{Tt|{{Np|MediaWiki|link=tak}} i {{Np|Special|link=tak}}}}. * '''{{s|Ombox}}''' stosuje w przestrzeniach nazw: {{Tt|{{Np|Wikibooks|link=tak}}, {{Np|Help|link=tak}}, {{Np|User|link=tak}}, {{Np|Template|link=tak}}, {{Np|Module|link=tak}} (za pomocą opisu modułu)}}. * '''{{s|Cmbox}}''' stosuje w przestrzeniach nazw: {{Np|Category|link=tak}}. * '''{{s|Imbox}}''' stosuje w przestrzeniach nazw: {{Np|File|link=tak}}. * '''{{s|Dmbox}}''' nie jest obsługiwany. Przestrzeń nazw {{Tt|{{Np|Media|link=tak}}}} nie jest wspierana z uwagi na jej charakterystykę. == Użycie == === Przestrzeń nazw {{Np|Template|link=tak}} (używa szablonu {{s|Ombox}}), czyli bez użycia parametru {{Parametr|nazwa przestrzeni nazw}} (szablon sam wykrywa przestrzeń nazw) === Proste użycie: {{Pre| {{s|Mbox | tekst {{=}} Jakiś tekst. }} }} {{Mbox | tekst = Jakiś tekst. }} Złożone użycie: {{Pre| {{s|Mbox | typ {{=}} zawartość | tekst {{=}} Tekst wiadomości. }} }} {{Mbox | typ = zawartość | tekst = Tekst wiadomości. }} === Przestrzeń nazw {{Np|(main)|link=tak}} (używa szablonu {{s|Ambox}}) === Proste użycie: {{Pre| {{s|Mbox | tekst {{=}} Jakiś tekst. | nazwa przestrzeni nazw {{=}} (main) }} }} {{Mbox | tekst = Jakiś tekst. | nazwa przestrzeni nazw = (main) }} Złożone użycie: {{Pre| {{s|Mbox | typ {{=}} zawartość | tekst {{=}} Tekst wiadomości. | nazwa przestrzeni nazw {{=}} (main) }} }} {{Mbox | typ = zawartość | tekst = Tekst wiadomości. | nazwa przestrzeni nazw = (main) }} === Przestrzeń nazw {{Np|Talk|link=tak}} (używa szablonu {{s|Tmbox}}) === Proste użycie: {{Pre| {{s|Mbox | tekst {{=}} Jakiś tekst. | nazwa przestrzeni nazw {{=}} Talk }} }} {{Mbox | tekst = Jakiś tekst. | nazwa przestrzeni nazw = Talk }} Złożone użycie: {{Pre| {{s|Mbox | typ {{=}} zawartość | tekst {{=}} Tekst wiadomości. | nazwa przestrzeni nazw {{=}} Talk }} }} {{Mbox | typ = zawartość | tekst = Tekst wiadomości. | nazwa przestrzeni nazw = Talk }} === Przestrzeń nazw {{Np|Special|link=tak}} (używa szablonu {{s|Fmbox}}) === Proste użycie: {{Pre| {{s|Mbox | tekst {{=}} Jakiś tekst. | nazwa przestrzeni nazw {{=}} Special }} }} {{Mbox | tekst = Jakiś tekst. | nazwa przestrzeni nazw = Special }} Złożone użycie: {{Pre| {{s|Mbox | typ {{=}} ostrzeżenie | tekst {{=}} Tekst wiadomości. | nazwa przestrzeni nazw {{=}} Special }} }} {{Mbox | typ = ostrzeżenie | tekst = Tekst wiadomości. | nazwa przestrzeni nazw = Special }} === Przestrzeń nazw {{Np|File|link=tak}} (używa szablonu {{s|Imbox}}) === Proste użycie: {{Pre| {{s|Mbox | tekst {{=}} Jakiś tekst. | nazwa przestrzeni nazw {{=}} File }} }} {{Mbox | tekst = Jakiś tekst. | nazwa przestrzeni nazw = File }} Złożone użycie: {{Pre| {{s|Mbox | typ {{=}} zawartość | tekst {{=}} Tekst wiadomości. | nazwa przestrzeni nazw {{=}} File }} }} {{Mbox | typ = zawartość | tekst = Tekst wiadomości. | nazwa przestrzeni nazw = File }} === Przestrzeń nazw {{Np|Category|link=tak}} (używa szablonu {{s|Cmbox}}) === Proste użycie: {{Pre| {{s|Mbox | tekst {{=}} Jakiś tekst. | nazwa przestrzeni nazw {{=}} Category }} }} {{Mbox | tekst = Jakiś tekst. | nazwa przestrzeni nazw = Category }} Złożone użycie: {{Pre| {{s|Mbox | typ {{=}} zawartość | tekst {{=}} Tekst wiadomości. | nazwa przestrzeni nazw {{=}} Category }} }} {{Mbox | typ = zawartość | tekst = Tekst wiadomości. | nazwa przestrzeni nazw = Category }} === Przestrzeń nazw {{Np|Project|link=tak}} (używa szablonu {{s|Ombox}}) === Proste użycie: {{Pre| {{s|Mbox | tekst {{=}} Jakiś tekst. | nazwa przestrzeni nazw {{=}} Project }} }} {{Mbox | tekst = Jakiś tekst. | nazwa przestrzeni nazw = Project }} Złożone użycie: {{Pre| {{s|Mbox | typ {{=}} zawartość | tekst {{=}} Tekst wiadomości. | nazwa przestrzeni nazw {{=}} Project }} }} {{Mbox | typ = zawartość | tekst = Tekst wiadomości. | nazwa przestrzeni nazw = Project }} === ''typ'' === {{Zobacz sekcję|Wikipedia:Szablony komunikatów|Odmiany kolorystyczne szablonów mbox|Odmiany kolorystyczne|klucz projektu=w}} Parametr ''typ'' definiuje kolor lewego paska szablonu oraz domyślną ikonę. Typ nie powinien być wybierany ze względów estetycznych, ale powinien być wybierany w zależności od przedstawianego przez komunikat problemu. Dostępne są 4 typy, które przedstawiono poniżej z domyślnymi ikonami. Jeśli w wywołaniu szablonu nie zadeklarowano parametru ''typ'', domyślnym ustawieniem jest {{Parametr|typ|wiadomość}}. ==== Przykłady użycia szablonu {{s|Mbox}} w różnych prestrzeniach nazw ==== ===== Przestrzeń nazw {{Np|(main)|link=tak}} (używa szablonu {{s|Ambox}}) ===== {{Mbox | typ = poważny | tekst = {{Parametr|typ|{{Un|poważny}}}} – Poważne problemy, jak: {{s|NPA}} i {{s|NPAfrgm}}. | nazwa przestrzeni nazw = (main) }} {{Mbox | typ = szybko | tekst = {{Parametr|typ|{{Un|szybko}}}} – Szybkie szablony usuwania, takie jak: {{s|Screenshot}}. | nazwa przestrzeni nazw = (main) }} {{Mbox | typ = usuń | tekst = {{Parametr|typ|{{Un|usuń}}}} – Szablony usuwania, takie jak: {{s|DNU}}, {{s|SdU}} i {{s|SdUwynik}}. | nazwa przestrzeni nazw = (main) }} {{Mbox | typ = styl | tekst = {{Parametr|typ|{{Un|styl}}}} – Drobne ostrzeżenia i problemy, takie jak: {{s|Kasowanie po przeniesieniu}} i {{s|Zgłoś błąd}}. | nazwa przestrzeni nazw = (main) }} {{Mbox | typ = zawartość | tekst = {{Parametr|typ|{{Un|zawartość}}}} – Problemy z zawartością, jak {{S|Dopracować|POV}}. | nazwa przestrzeni nazw = (main) }} {{Mbox | typ = rozszerz | tekst = {{Parametr|typ|{{Un|rozszerz}}}} – Problemy z zawartością o małej treści, należy ją rozszrzerzyć, takie jak: {{S|Info|POV}}. | nazwa przestrzeni nazw = (main) }} {{Mbox | typ = przeniesienie | tekst = {{Parametr|typ|{{Un|przeniesienie}}}} – Przenoszenie i zmiana nazw stron i propozycje, takich jak: {{s|Integrowanie}}, {{s|Integruj z}} i {{s|Integruj do}}. | nazwa przestrzeni nazw = (main) }} {{Mbox | typ = ochrona | tekst = {{Parametr|typ|{{Un|ochrona}}}} – Szablony ochrony, takie jak: {{s|Wysokie ryzyko}} i {{s|Skomplikowany}}, wyświetlane na stronie pliku. | nazwa przestrzeni nazw = (main) }} {{Mbox | typ = integruj | tekst = {{Parametr|typ|{{Un|integruj}}}} – integracja, dzielenie i propozycje transwiki, jak {{S|Integracja}}. | nazwa przestrzeni nazw = (main) }} {{Mbox | typ = powiadomienie | tekst = {{Parametr|typ|{{Un|powiadomienie}}}} – Powiadomienia i wiadomości wszelkiego rodzaju, zarówno stałe, jak i tymczasowe. | nazwa przestrzeni nazw = (main) }} {{Mbox | typ = wiadomość | tekst = {{Parametr|typ|{{Un|wiadomość}}}} – Informacje o artykule, jak {{S|Aktualne}} i {{S|W edycji}}. | nazwa przestrzeni nazw = (main) }} ===== Przestrzeń nazw {{Np|Talk|link=tak}} (używa szablonu {{s|Tmbox}}) ===== {{Mbox | typ = poważny | tekst = {{Parametr|typ|{{Un|poważny}}}} – Poważne problemy, jak: {{s|NPA}} i {{s|NPAfrgm}}. | nazwa przestrzeni nazw = Talk }} {{Mbox | typ = szybko | tekst = {{Parametr|typ|{{Un|szybko}}}} – Szybkie szablony usuwania, takie jak: {{s|Screenshot}}. | nazwa przestrzeni nazw = Talk }} {{Mbox | typ = usuń | tekst = {{Parametr|typ|{{Un|usuń}}}} – Szablony usuwania, takie jak: {{s|DNU}}, {{s|SdU}} i {{s|SdUwynik}}. | nazwa przestrzeni nazw = Talk }} {{Mbox | typ = styl | tekst = {{Parametr|typ|{{Un|styl}}}} – Drobne ostrzeżenia i problemy, takie jak: {{s|Kasowanie po przeniesieniu}} i {{s|Zgłoś błąd}}. | nazwa przestrzeni nazw = Talk }} {{Mbox | typ = zawartość | tekst = {{Parametr|typ|{{Un|zawartość}}}} – Problemy z zawartością, jak {{S|Dopracować|POV}}. | nazwa przestrzeni nazw = Talk }} {{Mbox | typ = rozszerz | tekst = {{Parametr|typ|{{Un|rozszerz}}}} – Problemy z zawartością o małej treści, należy ją rozszrzerzyć, takie jak: {{S|Info|POV}}. | nazwa przestrzeni nazw = Talk }} {{Mbox | typ = przeniesienie | tekst = {{Parametr|typ|{{Un|przeniesienie}}}} – Przenoszenie i zmiana nazw stron i propozycje, takich jak: {{s|Integrowanie}}, {{s|Integruj z}} i {{s|Integruj do}}. | nazwa przestrzeni nazw = Talk }} {{Mbox | typ = ochrona | tekst = {{Parametr|typ|{{Un|ochrona}}}} – Szablony ochrony, takie jak: {{s|Wysokie ryzyko}} i {{s|Skomplikowany}}, wyświetlane na stronie pliku. | nazwa przestrzeni nazw = Talk }} {{Mbox | typ = integruj | tekst = {{Parametr|typ|{{Un|integruj}}}} – integracja, dzielenie i propozycje transwiki, jak {{S|Integracja}}. | nazwa przestrzeni nazw = Talk }} {{Mbox | typ = powiadomienie | tekst = {{Parametr|typ|{{Un|powiadomienie}}}} – Powiadomienia i wiadomości wszelkiego rodzaju, zarówno stałe, jak i tymczasowe. | nazwa przestrzeni nazw = Talk }} {{Mbox | typ = wiadomość | tekst = {{Parametr|typ|{{Un|wiadomość}}}} – Informacje o artykule, jak {{S|Aktualne}} i {{S|W edycji}}. | nazwa przestrzeni nazw = Talk }} ===== Przestrzeń nazw {{Np|Special|link=tak}} (używa szablonu {{s|Fmbox}}) ===== {{Mbox | typ = ostrzeżenie | tekst = {{Parametr|typ|{{Un|ostrzeżenie}}}} – Systemowe ostrzeżenie. | nazwa przestrzeni nazw = Special }} {{Mbox | typ = editnotice | tekst = {{Parametr|typ|{{Un|editnotice}}}} – Przeźroczyste tło dla powiadomień przy edycji. | nazwa przestrzeni nazw = Special }} {{Mbox | typ = systemowe | tekst = {{Parametr|typ|{{Un|systemowe}}}} – Systemowy komunikat o jasnoszarym tle (domyślne). | nazwa przestrzeni nazw = Special }} ===== Przestrzeń nazw {{Np|File|link=tak}} (używa szablonu {{s|Imbox}}) ===== {{Mbox | typ = poważny | tekst = {{Parametr|typ|{{Un|poważny}}}} – Poważne problemy, jak: {{s|NPA}} i {{s|NPAfrgm}}. | nazwa przestrzeni nazw = File }} {{Mbox | typ = szybko | treść = {{Parametr|typ|{{Un|szybko}}}} – Szybkie szablony usuwania, takie jak: {{s|Screenshot}}. | nazwa przestrzeni nazw = File }} {{Mbox | typ = usuń | treść = {{Parametr|typ|{{Un|usuń}}}} – Szablony usuwania, takie jak: {{s|DNU}}, {{s|SdU}} i {{s|SdUwynik}}. | nazwa przestrzeni nazw = File }} {{Mbox | typ = styl | treść = {{Parametr|typ|{{Un|styl}}}} – Drobne ostrzeżenia i problemy, takie jak: {{s|Kasowanie po przeniesieniu}} i {{s|Zgłoś błąd}}. | nazwa przestrzeni nazw = File }} {{Mbox | typ = zawartość | treść = {{Parametr|typ|{{Un|zawartość}}}} – Ważne ostrzeżenia i problemy, takie jak: {{s|Dopracować|POV}}. | nazwa przestrzeni nazw = File }} {{Mbox | typ = rozszerz | tekst = {{Parametr|typ|{{Un|rozszerz}}}} – Problemy z zawartością o małej treści, należy ją rozszrzerzyć, takie jak: {{s|Info|POV}}. | nazwa przestrzeni nazw = File }} {{Mbox | typ = przeniesienie | treść = {{Parametr|typ|{{Un|przeniesienie}}}} – Przenoszenie i zmiana nazw plików i propozycje, takich jak: {{s|Integrowanie}}, {{s|Integruj z}} i {{s|Integruj do}}. | nazwa przestrzeni nazw = File }} {{Mbox | typ = ochrona | treść = {{Parametr|typ|{{Un|ochrona}}}} – Szablony ochrony, takie jak: {{s|Wysokie ryzyko}} i {{s|Skomplikowany}}, wyświetlane na stronie pliku. | nazwa przestrzeni nazw = File }} {{Mbox | typ = integruj | tekst = {{Parametr|typ|{{Un|integruj}}}} – integracja, dzielenie i propozycje transwiki, jak {{S|Integracja}}. }} {{Mbox | typ = licencja | treść = {{Parametr|typ|{{Un|licencja}}}} – Szablony licencji, takie jak: {{s|Cc-by-sa-4.0}}. | nazwa przestrzeni nazw = File }} {{Mbox | typ = jakość | treść = {{Parametr|typ|{{Un|jakość}}}} – Wyróżnione szablony plików, takie jak: {{s|Plik}}, {{s|Rysunek}} i {{s|MapaObrazu}}. | nazwa przestrzeni nazw = File }} {{Mbox | typ = powiadomienie | treść = {{Parametr|typ|{{Un|powiadomienie}}}} – Powiadomienia i wiadomości wszelkiego rodzaju, zarówno stałe, jak i tymczasowe. | nazwa przestrzeni nazw = File }} {{Mbox | typ = wiadomość | tekst = {{Parametr|typ|{{Un|wiadomość}}}} – informacje o artykule, jak {{S|Aktualne}} i {{S|W edycji}}. | nazwa przestrzeni nazw = File }} ===== Przestrzeń nazw {{Np|Category|link=tak}} (używa szablonu {{s|Cmbox}}) ===== {{Mbox | typ = poważny | tekst = {{Parametr|typ|{{Un|poważny}}}} – Poważne problemy, jak: {{s|NPA}} i {{s|NPAfrgm}}. | nazwa przestrzeni nazw = Category }} {{Mbox | typ = szybko | treść = {{Parametr|typ|{{Un|szybko}}}} – Szybkie szablony usuwania, takie jak: {{s|Screenshot}}. | nazwa przestrzeni nazw = Category }} {{Mbox | typ = usuń | treść = {{Parametr|typ|{{Un|usuń}}}} – Szablony usuwania, takie jak: {{s|DNU}}, {{s|SdU}} i {{s|SdUwynik}}. | nazwa przestrzeni nazw = Category }} {{Mbox | typ = styl | treść = {{Parametr|typ|{{Un|styl}}}} – Drobne ostrzeżenia i problemy, takie jak: {{s|Kasowanie po przeniesieniu}} i {{s|Zgłoś błąd}}. | nazwa przestrzeni nazw = Category }} {{Mbox | typ = zawartość | treść = {{Parametr|typ|{{Un|zawartość}}}} – Ważne ostrzeżenia i problemy, takie jak: {{s|Dopracować|POV}}. | nazwa przestrzeni nazw = Category }} {{Mbox | typ = rozszerz | tekst = {{Parametr|typ|{{Un|rozszerz}}}} – Problemy z zawartością o małej treści, należy ją rozszrzerzyć, takie jak: {{s|Info|POV}}. | nazwa przestrzeni nazw = Category }} {{Mbox | typ = przeniesienie | treść = {{Parametr|typ|{{Un|przeniesienie}}}} – Przenoszenie i zmiana nazw plików i propozycje, takich jak: {{s|Integrowanie}}, {{s|Integruj z}} i {{s|Integruj do}}. | nazwa przestrzeni nazw = Category }} {{Mbox | typ = ochrona | treść = {{Parametr|typ|{{Un|ochrona}}}} – Szablony ochrony, takie jak: {{s|Wysokie ryzyko}} i {{s|Skomplikowany}}, wyświetlane na stronie pliku. | nazwa przestrzeni nazw = Category }} {{Mbox | typ = integruj | tekst = {{Parametr|typ|{{Un|integruj}}}} – integracja, dzielenie i propozycje transwiki, jak {{S|Integracja}}. | nazwa przestrzeni nazw = Category }} {{Mbox | typ = powiadomienie | treść = {{Parametr|typ|{{Un|powiadomienie}}}} – Powiadomienia i wiadomości wszelkiego rodzaju, zarówno stałe, jak i tymczasowe. | nazwa przestrzeni nazw = Category }} {{Mbox | typ = wiadomość | tekst = {{Parametr|typ|{{Un|wiadomość}}}} – informacje o artykule, jak {{S|Aktualne}} i {{S|W edycji}}. | nazwa przestrzeni nazw = Category }} ===== Przestrzeń nazw {{Np|Project|link=tak}} (używa szablonu {{s|Ombox}}) ===== {{Mbox | typ = poważny | tekst = {{Parametr|typ|{{Un|poważny}}}} – Poważne problemy, jak: {{s|NPA}} i {{s|NPAfrgm}}. | nazwa przestrzeni nazw = Project }} {{Mbox | typ = szybko | tekst = {{Parametr|typ|{{Un|szybko}}}} – Szybkie szablony usuwania, takie jak: {{s|Screenshot}}. | nazwa przestrzeni nazw = Project }} {{Mbox | typ = usuń | tekst = {{Parametr|typ|{{Un|usuń}}}} – Szablony usuwania, takie jak: {{s|DNU}}, {{s|SdU}} i {{s|SdUwynik}}. | nazwa przestrzeni nazw = Project }} {{Mbox | typ = styl | tekst = {{Parametr|typ|{{Un|styl}}}} – Drobne ostrzeżenia i problemy, takie jak: {{s|Kasowanie po przeniesieniu}} i {{s|Zgłoś błąd}}. | nazwa przestrzeni nazw = Project }} {{Mbox | typ = zawartość | tekst = {{Parametr|typ|{{Un|zawartość}}}} – Problemy z zawartością, jak {{S|Dopracować|POV}}. | nazwa przestrzeni nazw = Project }} {{Mbox | typ = rozszerz | tekst = {{Parametr|typ|{{Un|rozszerz}}}} – Problemy z zawartością o małej treści, należy ją rozszrzerzyć, takie jak: {{S|Info|POV}}. | nazwa przestrzeni nazw = Project }} {{Mbox | typ = przeniesienie | tekst = {{Parametr|typ|{{Un|przeniesienie}}}} – Przenoszenie i zmiana nazw stron i propozycje, takich jak: {{s|Integrowanie}}, {{s|Integruj z}} i {{s|Integruj do}}. | nazwa przestrzeni nazw = Project }} {{Mbox | typ = ochrona | tekst = {{Parametr|typ|{{Un|ochrona}}}} – Szablony ochrony, takie jak: {{s|Wysokie ryzyko}} i {{s|Skomplikowany}}, wyświetlane na stronie pliku. | nazwa przestrzeni nazw = Project }} {{Mbox | typ = integruj | tekst = {{Parametr|typ|{{Un|integruj}}}} – integracja, dzielenie i propozycje transwiki, jak {{S|Integracja}}. | nazwa przestrzeni nazw = Project }} {{Mbox | typ = powiadomienie | tekst = {{Parametr|typ|{{Un|powiadomienie}}}} – Powiadomienia i wiadomości wszelkiego rodzaju, zarówno stałe, jak i tymczasowe. | nazwa przestrzeni nazw = Project }} {{Mbox | typ = wiadomość | tekst = {{Parametr|typ|{{Un|wiadomość}}}} – Informacje o artykule, jak {{S|Aktualne}} i {{S|W edycji}}. | nazwa przestrzeni nazw = Project }} === Parametry graficzne: ''{{Parametr|grafika}}'' i {{Parametr|grafika prawo}}, oraz szablonowe szablonów komunikatów: ''{{Parametr|poniżej}}'' === ==== Wprowadzenie do grafik i szablonów zagniezdżonych w szablonie ==== Jeśli ten parametr nie jest określony, używana jest domyślna grafika związana z parametrem '''{{Parametr|typ}}''' (zobacz domyślne obrazki w sekcji {{lu|#typ}} powyżej). Jeśli jako parametr podano {{Parametr|grafika|nie}}, w szablonie nie jest używana grafika, a tekst jest wyrównany do lewej bez pozostawienia pustego miejsca. Jeśli natomiast jako parametr podano {{Parametr|grafika|brak}}, szablon nie używa żadnej grafiki, ale zostawia puste pole szerokości domyślnego obrazka, co pozwala na zapełnienie tego miesca przez tekst użytą w szablonie. ====='''''{{Parametr|grafika|jakaś grafika}}''''' ===== Powinien zostać użyty szablon {{s|Ikona}} z szerokością 35px. Na przykład: :: {{Code|{{s|Ikona|pov|35}}}} ===== '''''{{Parametr|grafika prawo|jakaś grafika}}''''' ===== Po prawej stronie szablonu można umieścić drugą grafikę lub inny obiekt, wprowadzając jego kod jako parametr {{Parametr|grafika prawo}}. Jeśli nie zdefiniowano tego parametru, szablon nie wyświetla żadnej grafiki lub elementu po prawej stronie komunikatu. ==== Szablon {{s|Mbox}} - przykłady jego użyć z parametrami graficznymi i w konfiguracji szablon komunikatu w szabblonie komunikatu ==== ===== Przestrzeń nazw {{Np|(main)|link=tak}} (używa szablonu {{s|Ambox}}) ===== {{Mbox | typ = zawartość | grafika = {{Ikona|pov|35}} | tekst = {{Parametr|typ|{{Un|zawartość}}}} {{Br}} {{Parametr|grafika|{{s|Ikona|pov|35}}}} {{Br}} Ta grafika jest używana w szablonie {{s|Dopracować|POV}} i podobnych. | nazwa przestrzeni nazw = (main) }} {{Mbox | typ = integruj | grafika = {{Ikona|integracja|35}} | tekst = {{Parametr|typ|{{Un|integruj}}}} {{Br}} {{Parametr|grafika|{{s|Ikona|integracja|35}}}} {{Br}} Ta grafika jest używana w {{s|Integracja}}, itp. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = (main) | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = (main) }} }} {{Mbox | grafika = brak | tekst = Brak typu i '''{{Parametr|grafika|brak}}''' – Czyści pole i zostawia margines szerokości domyślnej grafiki. Pozwala na ładne łączenie tekstu z różnych szablonów. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = (main) | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = (main) }} }} {{Mbox | grafika = nie | tekst = Brak typu i '''{{Parametr|grafika|nie}}''' – Nie jest użyta żadna grafika, a '''tekst''' wykorzystuje całą szerokość pola. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = (main) | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = (main) }} }} {{Mbox | grafika = {{Ikona|aktualne|35}} | grafika prawo = {{Ikona|biblioteka|35}} | tekst = {{Parametr|grafika|{{s|Ikona|aktualne|35}}}} {{Br}} {{Parametr|grafika prawo|{{s|Ikona|biblioteka|35}}}} {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = (main) | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = (main) }} }} {{Mbox | tekst = {{Parametr|grafika prawo|{{s|Skrót|id{{=}}stary|WP:SK}}}} {{Br}} Szablony skrótów umieszczaj w '''grafika prawo''', bo inaczej popsują wygląd szablonu. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | grafika prawo = {{Skrót|id=stary|WP:SK}} | nazwa przestrzeni nazw = (main) | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = (main) }} }} ===== Przestrzeń nazw {{Np|Talk|link=tak}} (używa szablonu {{s|Tmbox}}) ===== {{Mbox | typ = zawartość | grafika = {{Ikona|pov|35}} | tekst = {{Parametr|typ|{{Un|zawartość}}}} {{Br}} {{Parametr|grafika|{{s|Ikona|pov|35}}}} {{Br}} Ta grafika jest używana w szablonie {{S|Dopracować|POV}} i podobnych. | nazwa przestrzeni nazw = Talk }} {{Mbox | typ = integruj | grafika = {{Ikona|integracja|35}} | tekst = {{Parametr|typ|{{Un|integruj}}}} {{Br}} {{Parametr|grafika|{{s|Ikona|integracja|35}}}} {{Br}} Ta grafika jest używana w {{S|Integracja}}, itp. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = Talk | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Talk }} }} {{Mbox | grafika = brak | tekst = Brak typu i '''{{Parametr|grafika|brak}}''' – Czyści pole i zostawia margines szerokości domyślnej grafiki. Pozwala na ładne łączenie tekstu z różnych szablonów. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = Talk | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Talk }} }} {{Mbox | grafika = nie | tekst = Brak typu i '''{{Parametr|grafika|nie}}''' – Nie jest użyta żadna grafika, a '''tekst''' wykorzystuje całą szerokość pola. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = Talk | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Talk }} }} {{Mbox | grafika = {{Ikona|aktualne|35}} | grafika prawo = {{Ikona|biblioteka|35}} | tekst = {{Parametr|grafika|{{s|Ikona|aktualne|35}}}} {{Br}} {{Parametr|grafika prawo|{{s|Ikona|biblioteka|35}}}} {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = Talk | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Talk }} }} {{Mbox | tekst = {{Parametr|grafika prawo|{{s|Skrót|id{{=}}stary|WP:SK}}}} {{Br}} Szablony skrótów umieszczaj w '''grafika prawo''', bo inaczej popsują wygląd szablonu. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | grafika prawo = {{Skrót|id=stary|WP:SK}} | nazwa przestrzeni nazw = Talk | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Talk }} }} ===== Przestrzeń nazw {{Np|Special|link=tak}} (używa szablonu {{s|Fmbox}}) ===== {{Mbox | typ = ostrzeżenie | grafika = {{Ikona|pov|35}} | tekst = {{Parametr|typ|{{Un|ostrzeżenie}}}} {{Br}} {{Parametr|grafika|{{s|Ikona|pov|35}}}} {{Br}} Ta grafika jest używana w szablonie {{S|Dopracować|POV}} i podobnych. | nazwa przestrzeni nazw = Special }} {{Mbox | typ = integruj | grafika = {{Ikona|ostrzeżenie|35}} | tekst = {{Parametr|typ|{{Un|integruj}}}} {{Br}} {{Parametr|grafika|{{s|Ikona|ostrzeżenie|35}}}} {{Br}} Ta grafika jest używana w {{s|Integracja}}, itp. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}editnotice|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = Special | poniżej = {{Mbox | typ = editnotice | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Special }} }} {{Mbox | grafika = brak | tekst = Brak typu i '''{{Parametr|grafika|brak}}''' – Czyści pole i zostawia margines szerokości domyślnej grafiki. Pozwala na ładne łączenie tekstu z różnych szablonów. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}editnotice|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = Special | poniżej = {{Mbox | typ = editnotice | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Special }} }} {{Mbox | grafika = nie | tekst = Brak typu i '''{{Parametr|grafika|nie}}''' – Nie jest użyta żadna grafika, a '''tekst''' wykorzystuje całą szerokość pola. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}editnotice|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = Special | poniżej = {{Mbox | typ = editnotice | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Special }} }} {{Mbox | grafika = {{Ikona|aktualne|35}} | grafika prawo = {{Ikona|biblioteka|35}} | tekst = {{Parametr|grafika|{{s|Ikona|aktualne|35}}}} {{Br}} {{Parametr|grafika prawo|{{s|Ikona|biblioteka|35}}}} {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}editnotice|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = Special | poniżej = {{Mbox | typ = editnotice | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Special }} }} {{Mbox | tekst = {{Parametr|grafika prawo|{{s|Skrót|id{{=}}stary|WP:SK}}}} {{Br}} Szablony skrótów umieszczaj w '''grafika prawo''', bo inaczej popsują wygląd szablonu. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}editnotice|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | grafika prawo = {{Skrót|id=stary|WP:SK}} | nazwa przestrzeni nazw = Special | poniżej = {{Mbox | typ = editnotice | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Special }} }} ===== Przestrzeń nazw {{Np|File|link=tak}} (używa szablonu {{s|Imbox}}) ===== {{Mbox | typ = zawartość | grafika = {{Ikona|pov|35}} | tekst = {{Parametr|typ|{{Un|zawartość}}}} {{Br}} {{Parametr|grafika|{{s|Ikona|pov|35}}}} {{Br}} Ta grafika jest używana w szablonie {{S|Dopracować|POV}} i podobnych. | nazwa przestrzeni nazw = File }} {{Mbox | typ = integruj | grafika = {{Ikona|integracja|35}} | tekst = {{Parametr|typ|{{Un|integruj}}}} {{Br}} {{Parametr|grafika|{{s|Ikona|integracja|35}}}} {{Br}} Ta grafika jest używana w {{S|Integracja}}, itp. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = File | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = File }} }} {{Mbox | grafika = brak | tekst = Brak typu i '''{{Parametr|grafika|brak}}''' – Czyści pole i zostawia margines szerokości domyślnej grafiki. Pozwala na ładne łączenie tekstu z różnych szablonów. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = File | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = File }} }} {{Mbox | grafika = nie | tekst = Brak typu i '''{{Parametr|grafika|nie}}''' – Nie jest użyta żadna grafika, a '''tekst''' wykorzystuje całą szerokość pola. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = File | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = File }} }} {{Mbox | grafika = {{Ikona|aktualne|35}} | grafika prawo = {{Ikona|biblioteka|35}} | tekst = {{Parametr|grafika|{{s|Ikona|aktualne|35}}}} {{Br}} {{Parametr|grafika prawo|{{s|Ikona|biblioteka|35}}}} {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = File | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = File }} }} {{Mbox | tekst = {{Parametr|grafika prawo|{{s|Skrót|id{{=}}stary|WP:SK}}}} {{Br}} Szablony skrótów umieszczaj w '''grafika prawo''', bo inaczej popsują wygląd szablonu. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | grafika prawo = {{Skrót|id=stary|WP:SK}} | nazwa przestrzeni nazw = File | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = File }} }} ===== Przestrzeń nazw {{Np|Category|link=tak}} (używa szablonu {{s|Cmbox}}) ===== {{Mbox | typ = zawartość | grafika = {{Ikona|pov|35}} | tekst = {{Parametr|typ|{{Un|zawartość}}}} {{Br}} {{Parametr|grafika|{{s|Ikona|pov|35}}}} {{Br}} Ta grafika jest używana w szablonie {{S|Dopracować|POV}} i podobnych. | nazwa przestrzeni nazw = Category }} {{Mbox | typ = integruj | grafika = {{Ikona|integracja|35}} | tekst = {{Parametr|typ|{{Un|integruj}}}} {{Br}} {{Parametr|grafika|{{s|Ikona|integracja|35}}}} {{Br}} Ta grafika jest używana w {{S|Integracja}}, itp. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = Category | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Category }} }} {{Mbox | grafika = brak | tekst = Brak typu i '''{{Parametr|grafika|brak}}''' – Czyści pole i zostawia margines szerokości domyślnej grafiki. Pozwala na ładne łączenie tekstu z różnych szablonów. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = Category | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Category }} }} {{Mbox | grafika = nie | tekst = Brak typu i '''{{Parametr|grafika|nie}}''' – Nie jest użyta żadna grafika, a '''tekst''' wykorzystuje całą szerokość pola. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = Category | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Category }} }} {{Mbox | grafika = {{Ikona|aktualne|35}} | grafika prawo = {{Ikona|biblioteka|35}} | tekst = {{Parametr|grafika|{{s|Ikona|aktualne|35}}}} {{Br}} {{Parametr|grafika prawo|{{s|Ikona|biblioteka|35}}}} {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = Category | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Category }} }} {{Mbox | tekst = {{Parametr|grafika prawo|{{s|Skrót|id{{=}}stary|WP:SK}}}} {{Br}} Szablony skrótów umieszczaj w '''grafika prawo''', bo inaczej popsują wygląd szablonu. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | grafika prawo = {{Skrót|id=stary|WP:SK}} | nazwa przestrzeni nazw = Category | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Category }} }} ===== Przestrzeń nazw {{Np|Project|link=tak}} (używa szablonu {{s|Ombox}}) ===== {{Mbox | typ = zawartość | grafika = {{Ikona|pov|35}} | tekst = {{Parametr|typ|{{Un|zawartość}}}} {{Br}} {{Parametr|grafika|{{s|Ikona|pov|35}}}} {{Br}} Ta grafika jest używana w szablonie {{S|Dopracować|POV}} i podobnych. | nazwa przestrzeni nazw = Project }} {{Mbox | typ = integruj | grafika = {{Ikona|integracja|35}} | tekst = {{Parametr|typ|{{Un|integruj}}}} {{Br}} {{Parametr|grafika|{{s|Ikona|integracja|35}}}} {{Br}} Ta grafika jest używana w {{S|Integracja}}, itp. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = Project | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Project }} }} {{Mbox | grafika = brak | tekst = Brak typu i '''{{Parametr|grafika|brak}}''' – Czyści pole i zostawia margines szerokości domyślnej grafiki. Pozwala na ładne łączenie tekstu z różnych szablonów. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = Project | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Project }} }} {{Mbox | grafika = nie | tekst = Brak typu i '''{{Parametr|grafika|nie}}''' – Nie jest użyta żadna grafika, a '''tekst''' wykorzystuje całą szerokość pola. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = Project | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Project }} }} {{Mbox | grafika = {{Ikona|aktualne|35}} | grafika prawo = {{Ikona|biblioteka|35}} | tekst = {{Parametr|grafika|{{s|Ikona|aktualne|35}}}} {{Br}} {{Parametr|grafika prawo|{{s|Ikona|biblioteka|35}}}} {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = Project | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Project }} }} {{Mbox | tekst = {{Parametr|grafika prawo|{{s|Skrót|id{{=}}stary|WP:SK}}}} {{Br}} Szablony skrótów umieszczaj w '''grafika prawo''', bo inaczej popsują wygląd szablonu. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | grafika prawo = {{Skrót|id=stary|WP:SK}} | nazwa przestrzeni nazw = Project | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Project }} }} === Parametry alternatywne tekstu: ''{{Parametr|tekst}}'' albo {{Parametr|treść}} bądź {{Parametr|1}} === Tekst szablonu, lub inne elementy jego zawartości. == Opis parametrów == {{Mbox/opis/Opis parametrów-Wykaz}} {{Mbox/opis/Opis parametrów-Opis}} {{Mbox/opis/Opis parametrów-Tabela}} == Szczególne przypadki == === Specjalna składnia === {{Mbox/opis/Specjalna składnia}} === Budowa tabelkowa obiektów przy pomocy klas i styli, CSS, kaskadowych arkuszy stylów szablonów komunikatów === {{Mbox/opis/Techniczne szczegóły}} == Błędy == Błędy należy zgłaszać na stronie {{Kwestie techniczne}}. == Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) == <templatedata> { "params": { "styl": { "description": "Style tabelki komunikatu kaskadowych arkuszy stylów CSS tabelki komunikatów.", "type": "string" }, "typ": { "suggested": true, "description": "Tyo danego komunikatu oznaczony domyślnym rysunkiem i stylami.", "type": "string" }, "grafika": { "example": "{{ikona|pov|35}}", "suggested": true, "description": "Lewa grafika", "type": "unbalanced-wikitext" }, "tekst": { "required": true, "aliases": [ "1 treść" ], "description": "Tekst komunikatu", "type": "content" }, "grafika prawo": { "description": "Grafika po prawej stronie komunikatu.", "type": "unbalanced-wikitext" }, "id": { "description": "Unikalny identyfikator tabelki komunikatów.", "type": "string" }, "styl tekstu": { "description": "Styl tekstu, w zmiennej 1, tekst albo treść i ewentualnie z tego poniżej, jeśli styl poniżej nie podano, kaskadowych arkuszy stylów CSS.", "type": "string" }, "poniżej": { "description": "Inne wywołanie szablonu komunikatu w danym komunikacie.", "type": "string" }, "klasa": { "description": "Klasa kaskadowych arkuszy stylów CSS tabelki komunikatów.", "type": "string" }, "styl poniżej": { "description": "Ustawia styl kaskadowych arkuszy stylów CSS elementowi wstawianemu pod parametrem poniżej.", "type": "string" } }, "paramOrder": [ "typ", "styl tekstu", "tekst", "grafika", "grafika prawo", "id", "klasa", "styl", "poniżej", "styl poniżej" ], "format": "block", "description": "Uniwersalny szablon szablonów, stosowany do tworzenia wszelkich komunikatów. Upraszcza kod źródłowy komunikatów, ponieważ automatycznie dostosowuje swój wygląd w zależności od przestrzeni nazw." } </templatedata> == Zobacz też == {{Mbox/opis/Zobacz też}} {{BrClear}} <includeonly><!-- ++++ DODAWAJ KATEGORIE I INTERWIKI PONIŻEJ TEJ LINII --> {{Kategorie | Szablony komunikatów mbox | sortuj spacją = tak | Szablony szablonów }} </includeonly> 5hzqvvcm246kqe5c7osis4voup4usbj 544515 544511 2026-05-28T10:14:16Z Persino 2851 544515 wikitext text/x-wiki {{Podstrona dokumentacji}} <!-- EDYTUJ DOKUMENTACJĘ SZABLONU PONIŻEJ TEJ LINII --> {{Wysokie ryzyko}} {{Szablony komunikatów}} {{Spis treści}} <!-- DODAWAJ KATEGORIE NA DOLE STRONY --> To jest '''mbox''' (skrót od ''message box'') – uniwersalny szablon szablonów, stosowany do tworzenia komunikatów przeznaczonych dla wielu przestrzeni nazw. Upraszcza kod źródłowy komunikatów, ponieważ automatycznie dostosowuje swój wygląd w zależności od przestrzeni nazw (funkcja parsera typu {{Tt|{{s|#switch: {{s|NAMESPACE}}...}}}} nie jest już konieczna), tą przestrzeń można podać opcjonalnie, chociaż ona nie jest wcale wymagana. Szablon powinno się stosować w każdym komunikacie projektu, który jest stosowany w różnych przestrzeniach nazw, np. {{s|dopracować}}, {{s|ek}}, czy {{s|DNU}}. === Przestrzenie nazw === * '''{{s|Ambox}}''' stosuje w przestrzeniach nazw: {{Tt|{{Np|(main)|link=tak}} i {{Np|Wikijunior|link=tak}}}}. * '''{{s|Tmbox}}''' stosuje w przestrzeniach nazw: {{Tt|{{Np|Talk|link=tak}}, {{Np|Wikijunior talk|link=tak}}, {{Np|Wikibooks talk|link=tak}}, {{Np|Help talk|link=tak}}, {{Np|User talk|link=tak}}, {{Np|Category talk|link=tak}}, {{Np|File talk|link=tak}}, {{Np|MediaWiki talk|link=tak}}, {{Np|Template talk|link=tak}} i {{Np|Module talk|link=tak}}}}. * '''{{s|Fmbox}}''' stosuje w przestrzeniach nazw: {{Tt|{{Np|MediaWiki|link=tak}} i {{Np|Special|link=tak}}}}. * '''{{s|Ombox}}''' stosuje w przestrzeniach nazw: {{Tt|{{Np|Wikibooks|link=tak}}, {{Np|Help|link=tak}}, {{Np|User|link=tak}}, {{Np|Template|link=tak}}, {{Np|Module|link=tak}} (za pomocą opisu modułu)}}. * '''{{s|Cmbox}}''' stosuje w przestrzeniach nazw: {{Np|Category|link=tak}}. * '''{{s|Imbox}}''' stosuje w przestrzeniach nazw: {{Np|File|link=tak}}. * '''{{s|Dmbox}}''' nie jest obsługiwany. Przestrzeń nazw {{Tt|{{Np|Media|link=tak}}}} nie jest wspierana z uwagi na jej charakterystykę. == Użycie == === Przestrzeń nazw {{Np|Template|link=tak}} (używa szablonu {{s|Ombox}}), czyli bez użycia parametru {{Parametr|nazwa przestrzeni nazw}} (szablon sam wykrywa przestrzeń nazw) === Proste użycie: {{Pre| {{s|Mbox | tekst {{=}} Jakiś tekst. }} }} {{Mbox | tekst = Jakiś tekst. }} Złożone użycie: {{Pre| {{s|Mbox | typ {{=}} zawartość | tekst {{=}} Tekst wiadomości. }} }} {{Mbox | typ = zawartość | tekst = Tekst wiadomości. }} === Przestrzeń nazw {{Np|(main)|link=tak}} (używa szablonu {{s|Ambox}}) === Proste użycie: {{Pre| {{s|Mbox | tekst {{=}} Jakiś tekst. | nazwa przestrzeni nazw {{=}} (main) }} }} {{Mbox | tekst = Jakiś tekst. | nazwa przestrzeni nazw = (main) }} Złożone użycie: {{Pre| {{s|Mbox | typ {{=}} zawartość | tekst {{=}} Tekst wiadomości. | nazwa przestrzeni nazw {{=}} (main) }} }} {{Mbox | typ = zawartość | tekst = Tekst wiadomości. | nazwa przestrzeni nazw = (main) }} === Przestrzeń nazw {{Np|Talk|link=tak}} (używa szablonu {{s|Tmbox}}) === Proste użycie: {{Pre| {{s|Mbox | tekst {{=}} Jakiś tekst. | nazwa przestrzeni nazw {{=}} Talk }} }} {{Mbox | tekst = Jakiś tekst. | nazwa przestrzeni nazw = Talk }} Złożone użycie: {{Pre| {{s|Mbox | typ {{=}} zawartość | tekst {{=}} Tekst wiadomości. | nazwa przestrzeni nazw {{=}} Talk }} }} {{Mbox | typ = zawartość | tekst = Tekst wiadomości. | nazwa przestrzeni nazw = Talk }} === Przestrzeń nazw {{Np|Special|link=tak}} (używa szablonu {{s|Fmbox}}) === Proste użycie: {{Pre| {{s|Mbox | tekst {{=}} Jakiś tekst. | nazwa przestrzeni nazw {{=}} Special }} }} {{Mbox | tekst = Jakiś tekst. | nazwa przestrzeni nazw = Special }} Złożone użycie: {{Pre| {{s|Mbox | typ {{=}} ostrzeżenie | tekst {{=}} Tekst wiadomości. | nazwa przestrzeni nazw {{=}} Special }} }} {{Mbox | typ = ostrzeżenie | tekst = Tekst wiadomości. | nazwa przestrzeni nazw = Special }} === Przestrzeń nazw {{Np|File|link=tak}} (używa szablonu {{s|Imbox}}) === Proste użycie: {{Pre| {{s|Mbox | tekst {{=}} Jakiś tekst. | nazwa przestrzeni nazw {{=}} File }} }} {{Mbox | tekst = Jakiś tekst. | nazwa przestrzeni nazw = File }} Złożone użycie: {{Pre| {{s|Mbox | typ {{=}} zawartość | tekst {{=}} Tekst wiadomości. | nazwa przestrzeni nazw {{=}} File }} }} {{Mbox | typ = zawartość | tekst = Tekst wiadomości. | nazwa przestrzeni nazw = File }} === Przestrzeń nazw {{Np|Category|link=tak}} (używa szablonu {{s|Cmbox}}) === Proste użycie: {{Pre| {{s|Mbox | tekst {{=}} Jakiś tekst. | nazwa przestrzeni nazw {{=}} Category }} }} {{Mbox | tekst = Jakiś tekst. | nazwa przestrzeni nazw = Category }} Złożone użycie: {{Pre| {{s|Mbox | typ {{=}} zawartość | tekst {{=}} Tekst wiadomości. | nazwa przestrzeni nazw {{=}} Category }} }} {{Mbox | typ = zawartość | tekst = Tekst wiadomości. | nazwa przestrzeni nazw = Category }} === Przestrzeń nazw {{Np|Project|link=tak}} (używa szablonu {{s|Ombox}}) === Proste użycie: {{Pre| {{s|Mbox | tekst {{=}} Jakiś tekst. | nazwa przestrzeni nazw {{=}} Project }} }} {{Mbox | tekst = Jakiś tekst. | nazwa przestrzeni nazw = Project }} Złożone użycie: {{Pre| {{s|Mbox | typ {{=}} zawartość | tekst {{=}} Tekst wiadomości. | nazwa przestrzeni nazw {{=}} Project }} }} {{Mbox | typ = zawartość | tekst = Tekst wiadomości. | nazwa przestrzeni nazw = Project }} === ''typ'' === {{Zobacz sekcję|Wikipedia:Szablony komunikatów|Odmiany kolorystyczne szablonów mbox|Odmiany kolorystyczne|klucz projektu=w}} Parametr ''typ'' definiuje kolor lewego paska szablonu oraz domyślną ikonę. Typ nie powinien być wybierany ze względów estetycznych, ale powinien być wybierany w zależności od przedstawianego przez komunikat problemu. Dostępne są 4 typy, które przedstawiono poniżej z domyślnymi ikonami. Jeśli w wywołaniu szablonu nie zadeklarowano parametru ''typ'', domyślnym ustawieniem jest {{Parametr|typ|wiadomość}}. ==== Przykłady użycia szablonu {{s|Mbox}} w różnych prestrzeniach nazw ==== ===== Przestrzeń nazw {{Np|(main)|link=tak}} (używa szablonu {{s|Ambox}}) ===== {{Mbox | typ = poważny | tekst = {{Parametr|typ|{{Un|poważny}}}} – Poważne problemy, jak: {{s|NPA}} i {{s|NPAfrgm}}. | nazwa przestrzeni nazw = (main) }} {{Mbox | typ = szybko | tekst = {{Parametr|typ|{{Un|szybko}}}} – Szybkie szablony usuwania, takie jak: {{s|Screenshot}}. | nazwa przestrzeni nazw = (main) }} {{Mbox | typ = usuń | tekst = {{Parametr|typ|{{Un|usuń}}}} – Szablony usuwania, takie jak: {{s|DNU}}, {{s|SdU}} i {{s|SdUwynik}}. | nazwa przestrzeni nazw = (main) }} {{Mbox | typ = styl | tekst = {{Parametr|typ|{{Un|styl}}}} – Drobne ostrzeżenia i problemy, takie jak: {{s|Kasowanie po przeniesieniu}} i {{s|Zgłoś błąd}}. | nazwa przestrzeni nazw = (main) }} {{Mbox | typ = zawartość | tekst = {{Parametr|typ|{{Un|zawartość}}}} – Problemy z zawartością, jak {{S|Dopracować|POV}}. | nazwa przestrzeni nazw = (main) }} {{Mbox | typ = rozszerz | tekst = {{Parametr|typ|{{Un|rozszerz}}}} – Problemy z zawartością o małej treści, należy ją rozszrzerzyć, takie jak: {{S|Info|POV}}. | nazwa przestrzeni nazw = (main) }} {{Mbox | typ = przeniesienie | tekst = {{Parametr|typ|{{Un|przeniesienie}}}} – Przenoszenie i zmiana nazw stron i propozycje, takich jak: {{s|Integrowanie}}, {{s|Integruj z}} i {{s|Integruj do}}. | nazwa przestrzeni nazw = (main) }} {{Mbox | typ = ochrona | tekst = {{Parametr|typ|{{Un|ochrona}}}} – Szablony ochrony, takie jak: {{s|Wysokie ryzyko}} i {{s|Skomplikowany}}, wyświetlane na stronie pliku. | nazwa przestrzeni nazw = (main) }} {{Mbox | typ = integruj | tekst = {{Parametr|typ|{{Un|integruj}}}} – integracja, dzielenie i propozycje transwiki, jak {{S|Integracja}}. | nazwa przestrzeni nazw = (main) }} {{Mbox | typ = powiadomienie | tekst = {{Parametr|typ|{{Un|powiadomienie}}}} – Powiadomienia i wiadomości wszelkiego rodzaju, zarówno stałe, jak i tymczasowe. | nazwa przestrzeni nazw = (main) }} {{Mbox | typ = wiadomość | tekst = {{Parametr|typ|{{Un|wiadomość}}}} – Informacje o artykule, jak {{S|Aktualne}} i {{S|W edycji}}. | nazwa przestrzeni nazw = (main) }} ===== Przestrzeń nazw {{Np|Talk|link=tak}} (używa szablonu {{s|Tmbox}}) ===== {{Mbox | typ = poważny | tekst = {{Parametr|typ|{{Un|poważny}}}} – Poważne problemy, jak: {{s|NPA}} i {{s|NPAfrgm}}. | nazwa przestrzeni nazw = Talk }} {{Mbox | typ = szybko | tekst = {{Parametr|typ|{{Un|szybko}}}} – Szybkie szablony usuwania, takie jak: {{s|Screenshot}}. | nazwa przestrzeni nazw = Talk }} {{Mbox | typ = usuń | tekst = {{Parametr|typ|{{Un|usuń}}}} – Szablony usuwania, takie jak: {{s|DNU}}, {{s|SdU}} i {{s|SdUwynik}}. | nazwa przestrzeni nazw = Talk }} {{Mbox | typ = styl | tekst = {{Parametr|typ|{{Un|styl}}}} – Drobne ostrzeżenia i problemy, takie jak: {{s|Kasowanie po przeniesieniu}} i {{s|Zgłoś błąd}}. | nazwa przestrzeni nazw = Talk }} {{Mbox | typ = zawartość | tekst = {{Parametr|typ|{{Un|zawartość}}}} – Problemy z zawartością, jak {{S|Dopracować|POV}}. | nazwa przestrzeni nazw = Talk }} {{Mbox | typ = rozszerz | tekst = {{Parametr|typ|{{Un|rozszerz}}}} – Problemy z zawartością o małej treści, należy ją rozszrzerzyć, takie jak: {{S|Info|POV}}. | nazwa przestrzeni nazw = Talk }} {{Mbox | typ = przeniesienie | tekst = {{Parametr|typ|{{Un|przeniesienie}}}} – Przenoszenie i zmiana nazw stron i propozycje, takich jak: {{s|Integrowanie}}, {{s|Integruj z}} i {{s|Integruj do}}. | nazwa przestrzeni nazw = Talk }} {{Mbox | typ = ochrona | tekst = {{Parametr|typ|{{Un|ochrona}}}} – Szablony ochrony, takie jak: {{s|Wysokie ryzyko}} i {{s|Skomplikowany}}, wyświetlane na stronie pliku. | nazwa przestrzeni nazw = Talk }} {{Mbox | typ = integruj | tekst = {{Parametr|typ|{{Un|integruj}}}} – integracja, dzielenie i propozycje transwiki, jak {{S|Integracja}}. | nazwa przestrzeni nazw = Talk }} {{Mbox | typ = powiadomienie | tekst = {{Parametr|typ|{{Un|powiadomienie}}}} – Powiadomienia i wiadomości wszelkiego rodzaju, zarówno stałe, jak i tymczasowe. | nazwa przestrzeni nazw = Talk }} {{Mbox | typ = wiadomość | tekst = {{Parametr|typ|{{Un|wiadomość}}}} – Informacje o artykule, jak {{S|Aktualne}} i {{S|W edycji}}. | nazwa przestrzeni nazw = Talk }} ===== Przestrzeń nazw {{Np|Special|link=tak}} (używa szablonu {{s|Fmbox}}) ===== {{Mbox | typ = ostrzeżenie | tekst = {{Parametr|typ|{{Un|ostrzeżenie}}}} – Systemowe ostrzeżenie. | nazwa przestrzeni nazw = Special }} {{Mbox | typ = editnotice | tekst = {{Parametr|typ|{{Un|editnotice}}}} – Przeźroczyste tło dla powiadomień przy edycji. | nazwa przestrzeni nazw = Special }} {{Mbox | typ = systemowe | tekst = {{Parametr|typ|{{Un|systemowe}}}} – Systemowy komunikat o jasnoszarym tle (domyślne). | nazwa przestrzeni nazw = Special }} ===== Przestrzeń nazw {{Np|File|link=tak}} (używa szablonu {{s|Imbox}}) ===== {{Mbox | typ = poważny | tekst = {{Parametr|typ|{{Un|poważny}}}} – Poważne problemy, jak: {{s|NPA}} i {{s|NPAfrgm}}. | nazwa przestrzeni nazw = File }} {{Mbox | typ = szybko | treść = {{Parametr|typ|{{Un|szybko}}}} – Szybkie szablony usuwania, takie jak: {{s|Screenshot}}. | nazwa przestrzeni nazw = File }} {{Mbox | typ = usuń | treść = {{Parametr|typ|{{Un|usuń}}}} – Szablony usuwania, takie jak: {{s|DNU}}, {{s|SdU}} i {{s|SdUwynik}}. | nazwa przestrzeni nazw = File }} {{Mbox | typ = styl | treść = {{Parametr|typ|{{Un|styl}}}} – Drobne ostrzeżenia i problemy, takie jak: {{s|Kasowanie po przeniesieniu}} i {{s|Zgłoś błąd}}. | nazwa przestrzeni nazw = File }} {{Mbox | typ = zawartość | treść = {{Parametr|typ|{{Un|zawartość}}}} – Ważne ostrzeżenia i problemy, takie jak: {{s|Dopracować|POV}}. | nazwa przestrzeni nazw = File }} {{Mbox | typ = rozszerz | tekst = {{Parametr|typ|{{Un|rozszerz}}}} – Problemy z zawartością o małej treści, należy ją rozszrzerzyć, takie jak: {{s|Info|POV}}. | nazwa przestrzeni nazw = File }} {{Mbox | typ = przeniesienie | treść = {{Parametr|typ|{{Un|przeniesienie}}}} – Przenoszenie i zmiana nazw plików i propozycje, takich jak: {{s|Integrowanie}}, {{s|Integruj z}} i {{s|Integruj do}}. | nazwa przestrzeni nazw = File }} {{Mbox | typ = ochrona | treść = {{Parametr|typ|{{Un|ochrona}}}} – Szablony ochrony, takie jak: {{s|Wysokie ryzyko}} i {{s|Skomplikowany}}, wyświetlane na stronie pliku. | nazwa przestrzeni nazw = File }} {{Mbox | typ = integruj | tekst = {{Parametr|typ|{{Un|integruj}}}} – integracja, dzielenie i propozycje transwiki, jak {{S|Integracja}}. }} {{Mbox | typ = licencja | treść = {{Parametr|typ|{{Un|licencja}}}} – Szablony licencji, takie jak: {{s|Cc-by-sa-4.0}}. | nazwa przestrzeni nazw = File }} {{Mbox | typ = jakość | treść = {{Parametr|typ|{{Un|jakość}}}} – Wyróżnione szablony plików, takie jak: {{s|Plik}}, {{s|Rysunek}} i {{s|MapaObrazu}}. | nazwa przestrzeni nazw = File }} {{Mbox | typ = powiadomienie | treść = {{Parametr|typ|{{Un|powiadomienie}}}} – Powiadomienia i wiadomości wszelkiego rodzaju, zarówno stałe, jak i tymczasowe. | nazwa przestrzeni nazw = File }} {{Mbox | typ = wiadomość | tekst = {{Parametr|typ|{{Un|wiadomość}}}} – informacje o artykule, jak {{S|Aktualne}} i {{S|W edycji}}. | nazwa przestrzeni nazw = File }} ===== Przestrzeń nazw {{Np|Category|link=tak}} (używa szablonu {{s|Cmbox}}) ===== {{Mbox | typ = poważny | tekst = {{Parametr|typ|{{Un|poważny}}}} – Poważne problemy, jak: {{s|NPA}} i {{s|NPAfrgm}}. | nazwa przestrzeni nazw = Category }} {{Mbox | typ = szybko | treść = {{Parametr|typ|{{Un|szybko}}}} – Szybkie szablony usuwania, takie jak: {{s|Screenshot}}. | nazwa przestrzeni nazw = Category }} {{Mbox | typ = usuń | treść = {{Parametr|typ|{{Un|usuń}}}} – Szablony usuwania, takie jak: {{s|DNU}}, {{s|SdU}} i {{s|SdUwynik}}. | nazwa przestrzeni nazw = Category }} {{Mbox | typ = styl | treść = {{Parametr|typ|{{Un|styl}}}} – Drobne ostrzeżenia i problemy, takie jak: {{s|Kasowanie po przeniesieniu}} i {{s|Zgłoś błąd}}. | nazwa przestrzeni nazw = Category }} {{Mbox | typ = zawartość | treść = {{Parametr|typ|{{Un|zawartość}}}} – Ważne ostrzeżenia i problemy, takie jak: {{s|Dopracować|POV}}. | nazwa przestrzeni nazw = Category }} {{Mbox | typ = rozszerz | tekst = {{Parametr|typ|{{Un|rozszerz}}}} – Problemy z zawartością o małej treści, należy ją rozszrzerzyć, takie jak: {{s|Info|POV}}. | nazwa przestrzeni nazw = Category }} {{Mbox | typ = przeniesienie | treść = {{Parametr|typ|{{Un|przeniesienie}}}} – Przenoszenie i zmiana nazw plików i propozycje, takich jak: {{s|Integrowanie}}, {{s|Integruj z}} i {{s|Integruj do}}. | nazwa przestrzeni nazw = Category }} {{Mbox | typ = ochrona | treść = {{Parametr|typ|{{Un|ochrona}}}} – Szablony ochrony, takie jak: {{s|Wysokie ryzyko}} i {{s|Skomplikowany}}, wyświetlane na stronie pliku. | nazwa przestrzeni nazw = Category }} {{Mbox | typ = integruj | tekst = {{Parametr|typ|{{Un|integruj}}}} – integracja, dzielenie i propozycje transwiki, jak {{S|Integracja}}. | nazwa przestrzeni nazw = Category }} {{Mbox | typ = powiadomienie | treść = {{Parametr|typ|{{Un|powiadomienie}}}} – Powiadomienia i wiadomości wszelkiego rodzaju, zarówno stałe, jak i tymczasowe. | nazwa przestrzeni nazw = Category }} {{Mbox | typ = wiadomość | tekst = {{Parametr|typ|{{Un|wiadomość}}}} – informacje o artykule, jak {{S|Aktualne}} i {{S|W edycji}}. | nazwa przestrzeni nazw = Category }} ===== Przestrzeń nazw {{Np|Project|link=tak}} (używa szablonu {{s|Ombox}}) ===== {{Mbox | typ = poważny | tekst = {{Parametr|typ|{{Un|poważny}}}} – Poważne problemy, jak: {{s|NPA}} i {{s|NPAfrgm}}. | nazwa przestrzeni nazw = Project }} {{Mbox | typ = szybko | tekst = {{Parametr|typ|{{Un|szybko}}}} – Szybkie szablony usuwania, takie jak: {{s|Screenshot}}. | nazwa przestrzeni nazw = Project }} {{Mbox | typ = usuń | tekst = {{Parametr|typ|{{Un|usuń}}}} – Szablony usuwania, takie jak: {{s|DNU}}, {{s|SdU}} i {{s|SdUwynik}}. | nazwa przestrzeni nazw = Project }} {{Mbox | typ = styl | tekst = {{Parametr|typ|{{Un|styl}}}} – Drobne ostrzeżenia i problemy, takie jak: {{s|Kasowanie po przeniesieniu}} i {{s|Zgłoś błąd}}. | nazwa przestrzeni nazw = Project }} {{Mbox | typ = zawartość | tekst = {{Parametr|typ|{{Un|zawartość}}}} – Problemy z zawartością, jak {{S|Dopracować|POV}}. | nazwa przestrzeni nazw = Project }} {{Mbox | typ = rozszerz | tekst = {{Parametr|typ|{{Un|rozszerz}}}} – Problemy z zawartością o małej treści, należy ją rozszrzerzyć, takie jak: {{S|Info|POV}}. | nazwa przestrzeni nazw = Project }} {{Mbox | typ = przeniesienie | tekst = {{Parametr|typ|{{Un|przeniesienie}}}} – Przenoszenie i zmiana nazw stron i propozycje, takich jak: {{s|Integrowanie}}, {{s|Integruj z}} i {{s|Integruj do}}. | nazwa przestrzeni nazw = Project }} {{Mbox | typ = ochrona | tekst = {{Parametr|typ|{{Un|ochrona}}}} – Szablony ochrony, takie jak: {{s|Wysokie ryzyko}} i {{s|Skomplikowany}}, wyświetlane na stronie pliku. | nazwa przestrzeni nazw = Project }} {{Mbox | typ = integruj | tekst = {{Parametr|typ|{{Un|integruj}}}} – integracja, dzielenie i propozycje transwiki, jak {{S|Integracja}}. | nazwa przestrzeni nazw = Project }} {{Mbox | typ = powiadomienie | tekst = {{Parametr|typ|{{Un|powiadomienie}}}} – Powiadomienia i wiadomości wszelkiego rodzaju, zarówno stałe, jak i tymczasowe. | nazwa przestrzeni nazw = Project }} {{Mbox | typ = wiadomość | tekst = {{Parametr|typ|{{Un|wiadomość}}}} – Informacje o artykule, jak {{S|Aktualne}} i {{S|W edycji}}. | nazwa przestrzeni nazw = Project }} === Parametry graficzne: ''{{Parametr|grafika}}'' i {{Parametr|grafika prawo}}, oraz szablonowe szablonów komunikatów: ''{{Parametr|poniżej}}'' === ==== Wprowadzenie do grafik i szablonów zagniezdżonych w szablonie ==== Jeśli ten parametr nie jest określony, używana jest domyślna grafika związana z parametrem '''{{Parametr|typ}}''' (zobacz domyślne obrazki w sekcji {{lu|#typ}} powyżej). Jeśli jako parametr podano {{Parametr|grafika|nie}}, w szablonie nie jest używana grafika, a tekst jest wyrównany do lewej bez pozostawienia pustego miejsca. Jeśli natomiast jako parametr podano {{Parametr|grafika|brak}}, szablon nie używa żadnej grafiki, ale zostawia puste pole szerokości domyślnego obrazka, co pozwala na zapełnienie tego miesca przez tekst użytą w szablonie. ====='''''{{Parametr|grafika|jakaś grafika}}''''' ===== Powinien zostać użyty szablon {{s|Ikona}} z szerokością 35px. Na przykład: :: {{Code|{{s|Ikona|pov|35}}}} ===== '''''{{Parametr|grafika prawo|jakaś grafika}}''''' ===== Po prawej stronie szablonu można umieścić drugą grafikę lub inny obiekt, wprowadzając jego kod jako parametr {{Parametr|grafika prawo}}. Jeśli nie zdefiniowano tego parametru, szablon nie wyświetla żadnej grafiki lub elementu po prawej stronie komunikatu. ==== Szablon {{s|Mbox}} - przykłady jego użyć z parametrami graficznymi i w konfiguracji szablon komunikatu w szabblonie komunikatu ==== ===== Przestrzeń nazw {{Np|(main)|link=tak}} (używa szablonu {{s|Ambox}}) ===== {{Mbox | typ = zawartość | grafika = {{Ikona|pov|35}} | tekst = {{Parametr|typ|{{Un|zawartość}}}} {{Br}} {{Parametr|grafika|{{s|Ikona|pov|35}}}} {{Br}} Ta grafika jest używana w szablonie {{s|Dopracować|POV}} i podobnych. | nazwa przestrzeni nazw = (main) }} {{Mbox | typ = integruj | grafika = {{Ikona|integracja|35}} | tekst = {{Parametr|typ|{{Un|integruj}}}} {{Br}} {{Parametr|grafika|{{s|Ikona|integracja|35}}}} {{Br}} Ta grafika jest używana w {{s|Integracja}}, itp. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = (main) | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = (main) }} }} {{Mbox | grafika = brak | tekst = Brak typu i '''{{Parametr|grafika|brak}}''' – Czyści pole i zostawia margines szerokości domyślnej grafiki. Pozwala na ładne łączenie tekstu z różnych szablonów. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = (main) | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = (main) }} }} {{Mbox | grafika = nie | tekst = Brak typu i '''{{Parametr|grafika|nie}}''' – Nie jest użyta żadna grafika, a '''tekst''' wykorzystuje całą szerokość pola. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = (main) | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = (main) }} }} {{Mbox | grafika = {{Ikona|aktualne|35}} | grafika prawo = {{Ikona|biblioteka|35}} | tekst = {{Parametr|grafika|{{s|Ikona|aktualne|35}}}} {{Br}} {{Parametr|grafika prawo|{{s|Ikona|biblioteka|35}}}} {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = (main) | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = (main) }} }} {{Mbox | tekst = {{Parametr|grafika prawo|{{s|Skrót|id{{=}}stary|WP:SK}}}} {{Br}} Szablony skrótów umieszczaj w '''grafika prawo''', bo inaczej popsują wygląd szablonu. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | grafika prawo = {{Skrót|id=stary|WP:SK}} | nazwa przestrzeni nazw = (main) | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = (main) }} }} ===== Przestrzeń nazw {{Np|Talk|link=tak}} (używa szablonu {{s|Tmbox}}) ===== {{Mbox | typ = zawartość | grafika = {{Ikona|pov|35}} | tekst = {{Parametr|typ|{{Un|zawartość}}}} {{Br}} {{Parametr|grafika|{{s|Ikona|pov|35}}}} {{Br}} Ta grafika jest używana w szablonie {{S|Dopracować|POV}} i podobnych. | nazwa przestrzeni nazw = Talk }} {{Mbox | typ = integruj | grafika = {{Ikona|integracja|35}} | tekst = {{Parametr|typ|{{Un|integruj}}}} {{Br}} {{Parametr|grafika|{{s|Ikona|integracja|35}}}} {{Br}} Ta grafika jest używana w {{S|Integracja}}, itp. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = Talk | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Talk }} }} {{Mbox | grafika = brak | tekst = Brak typu i '''{{Parametr|grafika|brak}}''' – Czyści pole i zostawia margines szerokości domyślnej grafiki. Pozwala na ładne łączenie tekstu z różnych szablonów. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = Talk | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Talk }} }} {{Mbox | grafika = nie | tekst = Brak typu i '''{{Parametr|grafika|nie}}''' – Nie jest użyta żadna grafika, a '''tekst''' wykorzystuje całą szerokość pola. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = Talk | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Talk }} }} {{Mbox | grafika = {{Ikona|aktualne|35}} | grafika prawo = {{Ikona|biblioteka|35}} | tekst = {{Parametr|grafika|{{s|Ikona|aktualne|35}}}} {{Br}} {{Parametr|grafika prawo|{{s|Ikona|biblioteka|35}}}} {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = Talk | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Talk }} }} {{Mbox | tekst = {{Parametr|grafika prawo|{{s|Skrót|id{{=}}stary|WP:SK}}}} {{Br}} Szablony skrótów umieszczaj w '''grafika prawo''', bo inaczej popsują wygląd szablonu. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | grafika prawo = {{Skrót|id=stary|WP:SK}} | nazwa przestrzeni nazw = Talk | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Talk }} }} ===== Przestrzeń nazw {{Np|Special|link=tak}} (używa szablonu {{s|Fmbox}}) ===== {{Mbox | typ = ostrzeżenie | grafika = {{Ikona|pov|35}} | tekst = {{Parametr|typ|{{Un|ostrzeżenie}}}} {{Br}} {{Parametr|grafika|{{s|Ikona|pov|35}}}} {{Br}} Ta grafika jest używana w szablonie {{S|Dopracować|POV}} i podobnych. | nazwa przestrzeni nazw = Special }} {{Mbox | typ = integruj | grafika = {{Ikona|ostrzeżenie|35}} | tekst = {{Parametr|typ|{{Un|integruj}}}} {{Br}} {{Parametr|grafika|{{s|Ikona|ostrzeżenie|35}}}} {{Br}} Ta grafika jest używana w {{s|Integracja}}, itp. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}editnotice|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = Special | poniżej = {{Mbox | typ = editnotice | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Special }} }} {{Mbox | grafika = brak | tekst = Brak typu i '''{{Parametr|grafika|brak}}''' – Czyści pole i zostawia margines szerokości domyślnej grafiki. Pozwala na ładne łączenie tekstu z różnych szablonów. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}editnotice|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = Special | poniżej = {{Mbox | typ = editnotice | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Special }} }} {{Mbox | grafika = nie | tekst = Brak typu i '''{{Parametr|grafika|nie}}''' – Nie jest użyta żadna grafika, a '''tekst''' wykorzystuje całą szerokość pola. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}editnotice|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = Special | poniżej = {{Mbox | typ = editnotice | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Special }} }} {{Mbox | grafika = {{Ikona|aktualne|35}} | grafika prawo = {{Ikona|biblioteka|35}} | tekst = {{Parametr|grafika|{{s|Ikona|aktualne|35}}}} {{Br}} {{Parametr|grafika prawo|{{s|Ikona|biblioteka|35}}}} {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}editnotice|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = Special | poniżej = {{Mbox | typ = editnotice | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Special }} }} {{Mbox | tekst = {{Parametr|grafika prawo|{{s|Skrót|id{{=}}stary|WP:SK}}}} {{Br}} Szablony skrótów umieszczaj w '''grafika prawo''', bo inaczej popsują wygląd szablonu. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}editnotice|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | grafika prawo = {{Skrót|id=stary|WP:SK}} | nazwa przestrzeni nazw = Special | poniżej = {{Mbox | typ = editnotice | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Special }} }} ===== Przestrzeń nazw {{Np|File|link=tak}} (używa szablonu {{s|Imbox}}) ===== {{Mbox | typ = zawartość | grafika = {{Ikona|pov|35}} | tekst = {{Parametr|typ|{{Un|zawartość}}}} {{Br}} {{Parametr|grafika|{{s|Ikona|pov|35}}}} {{Br}} Ta grafika jest używana w szablonie {{S|Dopracować|POV}} i podobnych. | nazwa przestrzeni nazw = File }} {{Mbox | typ = integruj | grafika = {{Ikona|integracja|35}} | tekst = {{Parametr|typ|{{Un|integruj}}}} {{Br}} {{Parametr|grafika|{{s|Ikona|integracja|35}}}} {{Br}} Ta grafika jest używana w {{S|Integracja}}, itp. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = File | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = File }} }} {{Mbox | grafika = brak | tekst = Brak typu i '''{{Parametr|grafika|brak}}''' – Czyści pole i zostawia margines szerokości domyślnej grafiki. Pozwala na ładne łączenie tekstu z różnych szablonów. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = File | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = File }} }} {{Mbox | grafika = nie | tekst = Brak typu i '''{{Parametr|grafika|nie}}''' – Nie jest użyta żadna grafika, a '''tekst''' wykorzystuje całą szerokość pola. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = File | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = File }} }} {{Mbox | grafika = {{Ikona|aktualne|35}} | grafika prawo = {{Ikona|biblioteka|35}} | tekst = {{Parametr|grafika|{{s|Ikona|aktualne|35}}}} {{Br}} {{Parametr|grafika prawo|{{s|Ikona|biblioteka|35}}}} {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = File | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = File }} }} {{Mbox | tekst = {{Parametr|grafika prawo|{{s|Skrót|id{{=}}stary|WP:SK}}}} {{Br}} Szablony skrótów umieszczaj w '''grafika prawo''', bo inaczej popsują wygląd szablonu. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | grafika prawo = {{Skrót|id=stary|WP:SK}} | nazwa przestrzeni nazw = File | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = File }} }} ===== Przestrzeń nazw {{Np|Category|link=tak}} (używa szablonu {{s|Cmbox}}) ===== {{Mbox | typ = zawartość | grafika = {{Ikona|pov|35}} | tekst = {{Parametr|typ|{{Un|zawartość}}}} {{Br}} {{Parametr|grafika|{{s|Ikona|pov|35}}}} {{Br}} Ta grafika jest używana w szablonie {{S|Dopracować|POV}} i podobnych. | nazwa przestrzeni nazw = Category }} {{Mbox | typ = integruj | grafika = {{Ikona|integracja|35}} | tekst = {{Parametr|typ|{{Un|integruj}}}} {{Br}} {{Parametr|grafika|{{s|Ikona|integracja|35}}}} {{Br}} Ta grafika jest używana w {{S|Integracja}}, itp. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = Category | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Category }} }} {{Mbox | grafika = brak | tekst = Brak typu i '''{{Parametr|grafika|brak}}''' – Czyści pole i zostawia margines szerokości domyślnej grafiki. Pozwala na ładne łączenie tekstu z różnych szablonów. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = Category | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Category }} }} {{Mbox | grafika = nie | tekst = Brak typu i '''{{Parametr|grafika|nie}}''' – Nie jest użyta żadna grafika, a '''tekst''' wykorzystuje całą szerokość pola. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = Category | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Category }} }} {{Mbox | grafika = {{Ikona|aktualne|35}} | grafika prawo = {{Ikona|biblioteka|35}} | tekst = {{Parametr|grafika|{{s|Ikona|aktualne|35}}}} {{Br}} {{Parametr|grafika prawo|{{s|Ikona|biblioteka|35}}}} {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = Category | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Category }} }} {{Mbox | tekst = {{Parametr|grafika prawo|{{s|Skrót|id{{=}}stary|WP:SK}}}} {{Br}} Szablony skrótów umieszczaj w '''grafika prawo''', bo inaczej popsują wygląd szablonu. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | grafika prawo = {{Skrót|id=stary|WP:SK}} | nazwa przestrzeni nazw = Category | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Category }} }} ===== Przestrzeń nazw {{Np|Project|link=tak}} (używa szablonu {{s|Ombox}}) ===== {{Mbox | typ = zawartość | grafika = {{Ikona|pov|35}} | tekst = {{Parametr|typ|{{Un|zawartość}}}} {{Br}} {{Parametr|grafika|{{s|Ikona|pov|35}}}} {{Br}} Ta grafika jest używana w szablonie {{S|Dopracować|POV}} i podobnych. | nazwa przestrzeni nazw = Project }} {{Mbox | typ = integruj | grafika = {{Ikona|integracja|35}} | tekst = {{Parametr|typ|{{Un|integruj}}}} {{Br}} {{Parametr|grafika|{{s|Ikona|integracja|35}}}} {{Br}} Ta grafika jest używana w {{S|Integracja}}, itp. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = Project | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Project }} }} {{Mbox | grafika = brak | tekst = Brak typu i '''{{Parametr|grafika|brak}}''' – Czyści pole i zostawia margines szerokości domyślnej grafiki. Pozwala na ładne łączenie tekstu z różnych szablonów. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = Project | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Project }} }} {{Mbox | grafika = nie | tekst = Brak typu i '''{{Parametr|grafika|nie}}''' – Nie jest użyta żadna grafika, a '''tekst''' wykorzystuje całą szerokość pola. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = Project | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Project }} }} {{Mbox | grafika = {{Ikona|aktualne|35}} | grafika prawo = {{Ikona|biblioteka|35}} | tekst = {{Parametr|grafika|{{s|Ikona|aktualne|35}}}} {{Br}} {{Parametr|grafika prawo|{{s|Ikona|biblioteka|35}}}} {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = Project | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Project }} }} {{Mbox | tekst = {{Parametr|grafika prawo|{{s|Skrót|id{{=}}stary|WP:SK}}}} {{Br}} Szablony skrótów umieszczaj w '''grafika prawo''', bo inaczej popsują wygląd szablonu. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | grafika prawo = {{Skrót|id=stary|WP:SK}} | nazwa przestrzeni nazw = Project | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Project }} }} === Parametry alternatywne tekstu: ''{{Parametr|tekst}}'' albo {{Parametr|treść}} bądź {{Parametr|1}} === Tekst szablonu, lub inne elementy jego zawartości. == Opis parametrów == {{Mbox/opis/Opis parametrów-Wykaz}} {{Mbox/opis/Opis parametrów-Opis}} {{Mbox/opis/Opis parametrów-Tabela}} == Szczególne przypadki == === Specjalna składnia === {{Mbox/opis/Specjalna składnia}} === Budowa tabelkowa obiektów przy pomocy klas i styli, CSS, kaskadowych arkuszy stylów szablonów komunikatów === {{Mbox/opis/CSS}} == Błędy == Błędy należy zgłaszać na stronie {{Kwestie techniczne}}. == Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) == <templatedata> { "params": { "styl": { "description": "Style tabelki komunikatu kaskadowych arkuszy stylów CSS tabelki komunikatów.", "type": "string" }, "typ": { "suggested": true, "description": "Tyo danego komunikatu oznaczony domyślnym rysunkiem i stylami.", "type": "string" }, "grafika": { "example": "{{ikona|pov|35}}", "suggested": true, "description": "Lewa grafika", "type": "unbalanced-wikitext" }, "tekst": { "required": true, "aliases": [ "1 treść" ], "description": "Tekst komunikatu", "type": "content" }, "grafika prawo": { "description": "Grafika po prawej stronie komunikatu.", "type": "unbalanced-wikitext" }, "id": { "description": "Unikalny identyfikator tabelki komunikatów.", "type": "string" }, "styl tekstu": { "description": "Styl tekstu, w zmiennej 1, tekst albo treść i ewentualnie z tego poniżej, jeśli styl poniżej nie podano, kaskadowych arkuszy stylów CSS.", "type": "string" }, "poniżej": { "description": "Inne wywołanie szablonu komunikatu w danym komunikacie.", "type": "string" }, "klasa": { "description": "Klasa kaskadowych arkuszy stylów CSS tabelki komunikatów.", "type": "string" }, "styl poniżej": { "description": "Ustawia styl kaskadowych arkuszy stylów CSS elementowi wstawianemu pod parametrem poniżej.", "type": "string" } }, "paramOrder": [ "typ", "styl tekstu", "tekst", "grafika", "grafika prawo", "id", "klasa", "styl", "poniżej", "styl poniżej" ], "format": "block", "description": "Uniwersalny szablon szablonów, stosowany do tworzenia wszelkich komunikatów. Upraszcza kod źródłowy komunikatów, ponieważ automatycznie dostosowuje swój wygląd w zależności od przestrzeni nazw." } </templatedata> == Zobacz też == {{Mbox/opis/Zobacz też}} {{BrClear}} <includeonly><!-- ++++ DODAWAJ KATEGORIE I INTERWIKI PONIŻEJ TEJ LINII --> {{Kategorie | Szablony komunikatów mbox | sortuj spacją = tak | Szablony szablonów }} </includeonly> paexkhcohocamtu2ln13e51u4pokx3f 544517 544515 2026-05-28T10:19:57Z Persino 2851 544517 wikitext text/x-wiki {{Podstrona dokumentacji}} <!-- EDYTUJ DOKUMENTACJĘ SZABLONU PONIŻEJ TEJ LINII --> {{Wysokie ryzyko}} {{Szablony komunikatów}} {{Spis treści}} <!-- DODAWAJ KATEGORIE NA DOLE STRONY --> To jest '''mbox''' (skrót od ''message box'') – uniwersalny szablon szablonów, stosowany do tworzenia komunikatów przeznaczonych dla wielu przestrzeni nazw. Upraszcza kod źródłowy komunikatów, ponieważ automatycznie dostosowuje swój wygląd w zależności od przestrzeni nazw (funkcja parsera typu {{Tt|{{s|#switch: {{s|NAMESPACE}}...}}}} nie jest już konieczna), tą przestrzeń można podać opcjonalnie, chociaż ona nie jest wcale wymagana. Szablon powinno się stosować w każdym komunikacie projektu, który jest stosowany w różnych przestrzeniach nazw, np. {{s|dopracować}}, {{s|ek}}, czy {{s|DNU}}. === Przestrzenie nazw === * '''{{s|Ambox}}''' stosuje w przestrzeniach nazw: {{Tt|{{Np|(main)|link=tak}} i {{Np|Wikijunior|link=tak}}}}. * '''{{s|Tmbox}}''' stosuje w przestrzeniach nazw: {{Tt|{{Np|Talk|link=tak}}, {{Np|Wikijunior talk|link=tak}}, {{Np|Wikibooks talk|link=tak}}, {{Np|Help talk|link=tak}}, {{Np|User talk|link=tak}}, {{Np|Category talk|link=tak}}, {{Np|File talk|link=tak}}, {{Np|MediaWiki talk|link=tak}}, {{Np|Template talk|link=tak}} i {{Np|Module talk|link=tak}}}}. * '''{{s|Fmbox}}''' stosuje w przestrzeniach nazw: {{Tt|{{Np|MediaWiki|link=tak}} i {{Np|Special|link=tak}}}}. * '''{{s|Ombox}}''' stosuje w przestrzeniach nazw: {{Tt|{{Np|Wikibooks|link=tak}}, {{Np|Help|link=tak}}, {{Np|User|link=tak}}, {{Np|Template|link=tak}}, {{Np|Module|link=tak}} (za pomocą opisu modułu)}}. * '''{{s|Cmbox}}''' stosuje w przestrzeniach nazw: {{Np|Category|link=tak}}. * '''{{s|Imbox}}''' stosuje w przestrzeniach nazw: {{Np|File|link=tak}}. * '''{{s|Dmbox}}''' nie jest obsługiwany. Przestrzeń nazw {{Tt|{{Np|Media|link=tak}}}} nie jest wspierana z uwagi na jej charakterystykę. == Użycie == === Przestrzeń nazw {{Np|Template|link=tak}} (używa szablonu {{s|Ombox}}), czyli bez użycia parametru {{Parametr|nazwa przestrzeni nazw}} (szablon sam wykrywa przestrzeń nazw) === Proste użycie: {{Pre| {{s|Mbox | tekst {{=}} Jakiś tekst. }} }} {{Mbox | tekst = Jakiś tekst. }} Złożone użycie: {{Pre| {{s|Mbox | typ {{=}} zawartość | tekst {{=}} Tekst wiadomości. }} }} {{Mbox | typ = zawartość | tekst = Tekst wiadomości. }} === Przestrzeń nazw {{Np|(main)|link=tak}} (używa szablonu {{s|Ambox}}) === Proste użycie: {{Pre| {{s|Mbox | tekst {{=}} Jakiś tekst. | nazwa przestrzeni nazw {{=}} (main) }} }} {{Mbox | tekst = Jakiś tekst. | nazwa przestrzeni nazw = (main) }} Złożone użycie: {{Pre| {{s|Mbox | typ {{=}} zawartość | tekst {{=}} Tekst wiadomości. | nazwa przestrzeni nazw {{=}} (main) }} }} {{Mbox | typ = zawartość | tekst = Tekst wiadomości. | nazwa przestrzeni nazw = (main) }} === Przestrzeń nazw {{Np|Talk|link=tak}} (używa szablonu {{s|Tmbox}}) === Proste użycie: {{Pre| {{s|Mbox | tekst {{=}} Jakiś tekst. | nazwa przestrzeni nazw {{=}} Talk }} }} {{Mbox | tekst = Jakiś tekst. | nazwa przestrzeni nazw = Talk }} Złożone użycie: {{Pre| {{s|Mbox | typ {{=}} zawartość | tekst {{=}} Tekst wiadomości. | nazwa przestrzeni nazw {{=}} Talk }} }} {{Mbox | typ = zawartość | tekst = Tekst wiadomości. | nazwa przestrzeni nazw = Talk }} === Przestrzeń nazw {{Np|Special|link=tak}} (używa szablonu {{s|Fmbox}}) === Proste użycie: {{Pre| {{s|Mbox | tekst {{=}} Jakiś tekst. | nazwa przestrzeni nazw {{=}} Special }} }} {{Mbox | tekst = Jakiś tekst. | nazwa przestrzeni nazw = Special }} Złożone użycie: {{Pre| {{s|Mbox | typ {{=}} ostrzeżenie | tekst {{=}} Tekst wiadomości. | nazwa przestrzeni nazw {{=}} Special }} }} {{Mbox | typ = ostrzeżenie | tekst = Tekst wiadomości. | nazwa przestrzeni nazw = Special }} === Przestrzeń nazw {{Np|File|link=tak}} (używa szablonu {{s|Imbox}}) === Proste użycie: {{Pre| {{s|Mbox | tekst {{=}} Jakiś tekst. | nazwa przestrzeni nazw {{=}} File }} }} {{Mbox | tekst = Jakiś tekst. | nazwa przestrzeni nazw = File }} Złożone użycie: {{Pre| {{s|Mbox | typ {{=}} zawartość | tekst {{=}} Tekst wiadomości. | nazwa przestrzeni nazw {{=}} File }} }} {{Mbox | typ = zawartość | tekst = Tekst wiadomości. | nazwa przestrzeni nazw = File }} === Przestrzeń nazw {{Np|Category|link=tak}} (używa szablonu {{s|Cmbox}}) === Proste użycie: {{Pre| {{s|Mbox | tekst {{=}} Jakiś tekst. | nazwa przestrzeni nazw {{=}} Category }} }} {{Mbox | tekst = Jakiś tekst. | nazwa przestrzeni nazw = Category }} Złożone użycie: {{Pre| {{s|Mbox | typ {{=}} zawartość | tekst {{=}} Tekst wiadomości. | nazwa przestrzeni nazw {{=}} Category }} }} {{Mbox | typ = zawartość | tekst = Tekst wiadomości. | nazwa przestrzeni nazw = Category }} === Przestrzeń nazw {{Np|Project|link=tak}} (używa szablonu {{s|Ombox}}) === Proste użycie: {{Pre| {{s|Mbox | tekst {{=}} Jakiś tekst. | nazwa przestrzeni nazw {{=}} Project }} }} {{Mbox | tekst = Jakiś tekst. | nazwa przestrzeni nazw = Project }} Złożone użycie: {{Pre| {{s|Mbox | typ {{=}} zawartość | tekst {{=}} Tekst wiadomości. | nazwa przestrzeni nazw {{=}} Project }} }} {{Mbox | typ = zawartość | tekst = Tekst wiadomości. | nazwa przestrzeni nazw = Project }} === ''typ'' === {{Zobacz sekcję|Wikipedia:Szablony komunikatów|Odmiany kolorystyczne szablonów mbox|Odmiany kolorystyczne|klucz projektu=w}} Parametr ''typ'' definiuje kolor lewego paska szablonu oraz domyślną ikonę. Typ nie powinien być wybierany ze względów estetycznych, ale powinien być wybierany w zależności od przedstawianego przez komunikat problemu. Dostępne są 4 typy, które przedstawiono poniżej z domyślnymi ikonami. Jeśli w wywołaniu szablonu nie zadeklarowano parametru ''typ'', domyślnym ustawieniem jest {{Parametr|typ|wiadomość}}. ==== Przykłady użycia szablonu {{s|Mbox}} w różnych prestrzeniach nazw ==== ===== Przestrzeń nazw {{Np|(main)|link=tak}} (używa szablonu {{s|Ambox}}) ===== {{Mbox | typ = poważny | tekst = {{Parametr|typ|{{Un|poważny}}}} – Poważne problemy, jak: {{s|NPA}} i {{s|NPAfrgm}}. | nazwa przestrzeni nazw = (main) }} {{Mbox | typ = szybko | tekst = {{Parametr|typ|{{Un|szybko}}}} – Szybkie szablony usuwania, takie jak: {{s|Screenshot}}. | nazwa przestrzeni nazw = (main) }} {{Mbox | typ = usuń | tekst = {{Parametr|typ|{{Un|usuń}}}} – Szablony usuwania, takie jak: {{s|DNU}}, {{s|SdU}} i {{s|SdUwynik}}. | nazwa przestrzeni nazw = (main) }} {{Mbox | typ = styl | tekst = {{Parametr|typ|{{Un|styl}}}} – Drobne ostrzeżenia i problemy, takie jak: {{s|Kasowanie po przeniesieniu}} i {{s|Zgłoś błąd}}. | nazwa przestrzeni nazw = (main) }} {{Mbox | typ = zawartość | tekst = {{Parametr|typ|{{Un|zawartość}}}} – Problemy z zawartością, jak {{S|Dopracować|POV}}. | nazwa przestrzeni nazw = (main) }} {{Mbox | typ = rozszerz | tekst = {{Parametr|typ|{{Un|rozszerz}}}} – Problemy z zawartością o małej treści, należy ją rozszrzerzyć, takie jak: {{S|Info|POV}}. | nazwa przestrzeni nazw = (main) }} {{Mbox | typ = przeniesienie | tekst = {{Parametr|typ|{{Un|przeniesienie}}}} – Przenoszenie i zmiana nazw stron i propozycje, takich jak: {{s|Integrowanie}}, {{s|Integruj z}} i {{s|Integruj do}}. | nazwa przestrzeni nazw = (main) }} {{Mbox | typ = ochrona | tekst = {{Parametr|typ|{{Un|ochrona}}}} – Szablony ochrony, takie jak: {{s|Wysokie ryzyko}} i {{s|Skomplikowany}}, wyświetlane na stronie pliku. | nazwa przestrzeni nazw = (main) }} {{Mbox | typ = integruj | tekst = {{Parametr|typ|{{Un|integruj}}}} – integracja, dzielenie i propozycje transwiki, jak {{S|Integracja}}. | nazwa przestrzeni nazw = (main) }} {{Mbox | typ = powiadomienie | tekst = {{Parametr|typ|{{Un|powiadomienie}}}} – Powiadomienia i wiadomości wszelkiego rodzaju, zarówno stałe, jak i tymczasowe. | nazwa przestrzeni nazw = (main) }} {{Mbox | typ = wiadomość | tekst = {{Parametr|typ|{{Un|wiadomość}}}} – Informacje o artykule, jak {{S|Aktualne}} i {{S|W edycji}}. | nazwa przestrzeni nazw = (main) }} ===== Przestrzeń nazw {{Np|Talk|link=tak}} (używa szablonu {{s|Tmbox}}) ===== {{Mbox | typ = poważny | tekst = {{Parametr|typ|{{Un|poważny}}}} – Poważne problemy, jak: {{s|NPA}} i {{s|NPAfrgm}}. | nazwa przestrzeni nazw = Talk }} {{Mbox | typ = szybko | tekst = {{Parametr|typ|{{Un|szybko}}}} – Szybkie szablony usuwania, takie jak: {{s|Screenshot}}. | nazwa przestrzeni nazw = Talk }} {{Mbox | typ = usuń | tekst = {{Parametr|typ|{{Un|usuń}}}} – Szablony usuwania, takie jak: {{s|DNU}}, {{s|SdU}} i {{s|SdUwynik}}. | nazwa przestrzeni nazw = Talk }} {{Mbox | typ = styl | tekst = {{Parametr|typ|{{Un|styl}}}} – Drobne ostrzeżenia i problemy, takie jak: {{s|Kasowanie po przeniesieniu}} i {{s|Zgłoś błąd}}. | nazwa przestrzeni nazw = Talk }} {{Mbox | typ = zawartość | tekst = {{Parametr|typ|{{Un|zawartość}}}} – Problemy z zawartością, jak {{S|Dopracować|POV}}. | nazwa przestrzeni nazw = Talk }} {{Mbox | typ = rozszerz | tekst = {{Parametr|typ|{{Un|rozszerz}}}} – Problemy z zawartością o małej treści, należy ją rozszrzerzyć, takie jak: {{S|Info|POV}}. | nazwa przestrzeni nazw = Talk }} {{Mbox | typ = przeniesienie | tekst = {{Parametr|typ|{{Un|przeniesienie}}}} – Przenoszenie i zmiana nazw stron i propozycje, takich jak: {{s|Integrowanie}}, {{s|Integruj z}} i {{s|Integruj do}}. | nazwa przestrzeni nazw = Talk }} {{Mbox | typ = ochrona | tekst = {{Parametr|typ|{{Un|ochrona}}}} – Szablony ochrony, takie jak: {{s|Wysokie ryzyko}} i {{s|Skomplikowany}}, wyświetlane na stronie pliku. | nazwa przestrzeni nazw = Talk }} {{Mbox | typ = integruj | tekst = {{Parametr|typ|{{Un|integruj}}}} – integracja, dzielenie i propozycje transwiki, jak {{S|Integracja}}. | nazwa przestrzeni nazw = Talk }} {{Mbox | typ = powiadomienie | tekst = {{Parametr|typ|{{Un|powiadomienie}}}} – Powiadomienia i wiadomości wszelkiego rodzaju, zarówno stałe, jak i tymczasowe. | nazwa przestrzeni nazw = Talk }} {{Mbox | typ = wiadomość | tekst = {{Parametr|typ|{{Un|wiadomość}}}} – Informacje o artykule, jak {{S|Aktualne}} i {{S|W edycji}}. | nazwa przestrzeni nazw = Talk }} ===== Przestrzeń nazw {{Np|Special|link=tak}} (używa szablonu {{s|Fmbox}}) ===== {{Mbox | typ = ostrzeżenie | tekst = {{Parametr|typ|{{Un|ostrzeżenie}}}} – Systemowe ostrzeżenie. | nazwa przestrzeni nazw = Special }} {{Mbox | typ = editnotice | tekst = {{Parametr|typ|{{Un|editnotice}}}} – Przeźroczyste tło dla powiadomień przy edycji. | nazwa przestrzeni nazw = Special }} {{Mbox | typ = systemowe | tekst = {{Parametr|typ|{{Un|systemowe}}}} – Systemowy komunikat o jasnoszarym tle (domyślne). | nazwa przestrzeni nazw = Special }} ===== Przestrzeń nazw {{Np|File|link=tak}} (używa szablonu {{s|Imbox}}) ===== {{Mbox | typ = poważny | tekst = {{Parametr|typ|{{Un|poważny}}}} – Poważne problemy, jak: {{s|NPA}} i {{s|NPAfrgm}}. | nazwa przestrzeni nazw = File }} {{Mbox | typ = szybko | treść = {{Parametr|typ|{{Un|szybko}}}} – Szybkie szablony usuwania, takie jak: {{s|Screenshot}}. | nazwa przestrzeni nazw = File }} {{Mbox | typ = usuń | treść = {{Parametr|typ|{{Un|usuń}}}} – Szablony usuwania, takie jak: {{s|DNU}}, {{s|SdU}} i {{s|SdUwynik}}. | nazwa przestrzeni nazw = File }} {{Mbox | typ = styl | treść = {{Parametr|typ|{{Un|styl}}}} – Drobne ostrzeżenia i problemy, takie jak: {{s|Kasowanie po przeniesieniu}} i {{s|Zgłoś błąd}}. | nazwa przestrzeni nazw = File }} {{Mbox | typ = zawartość | treść = {{Parametr|typ|{{Un|zawartość}}}} – Ważne ostrzeżenia i problemy, takie jak: {{s|Dopracować|POV}}. | nazwa przestrzeni nazw = File }} {{Mbox | typ = rozszerz | tekst = {{Parametr|typ|{{Un|rozszerz}}}} – Problemy z zawartością o małej treści, należy ją rozszrzerzyć, takie jak: {{s|Info|POV}}. | nazwa przestrzeni nazw = File }} {{Mbox | typ = przeniesienie | treść = {{Parametr|typ|{{Un|przeniesienie}}}} – Przenoszenie i zmiana nazw plików i propozycje, takich jak: {{s|Integrowanie}}, {{s|Integruj z}} i {{s|Integruj do}}. | nazwa przestrzeni nazw = File }} {{Mbox | typ = ochrona | treść = {{Parametr|typ|{{Un|ochrona}}}} – Szablony ochrony, takie jak: {{s|Wysokie ryzyko}} i {{s|Skomplikowany}}, wyświetlane na stronie pliku. | nazwa przestrzeni nazw = File }} {{Mbox | typ = integruj | tekst = {{Parametr|typ|{{Un|integruj}}}} – integracja, dzielenie i propozycje transwiki, jak {{S|Integracja}}. }} {{Mbox | typ = licencja | treść = {{Parametr|typ|{{Un|licencja}}}} – Szablony licencji, takie jak: {{s|Cc-by-sa-4.0}}. | nazwa przestrzeni nazw = File }} {{Mbox | typ = jakość | treść = {{Parametr|typ|{{Un|jakość}}}} – Wyróżnione szablony plików, takie jak: {{s|Plik}}, {{s|Rysunek}} i {{s|MapaObrazu}}. | nazwa przestrzeni nazw = File }} {{Mbox | typ = powiadomienie | treść = {{Parametr|typ|{{Un|powiadomienie}}}} – Powiadomienia i wiadomości wszelkiego rodzaju, zarówno stałe, jak i tymczasowe. | nazwa przestrzeni nazw = File }} {{Mbox | typ = wiadomość | tekst = {{Parametr|typ|{{Un|wiadomość}}}} – informacje o artykule, jak {{S|Aktualne}} i {{S|W edycji}}. | nazwa przestrzeni nazw = File }} ===== Przestrzeń nazw {{Np|Category|link=tak}} (używa szablonu {{s|Cmbox}}) ===== {{Mbox | typ = poważny | tekst = {{Parametr|typ|{{Un|poważny}}}} – Poważne problemy, jak: {{s|NPA}} i {{s|NPAfrgm}}. | nazwa przestrzeni nazw = Category }} {{Mbox | typ = szybko | treść = {{Parametr|typ|{{Un|szybko}}}} – Szybkie szablony usuwania, takie jak: {{s|Screenshot}}. | nazwa przestrzeni nazw = Category }} {{Mbox | typ = usuń | treść = {{Parametr|typ|{{Un|usuń}}}} – Szablony usuwania, takie jak: {{s|DNU}}, {{s|SdU}} i {{s|SdUwynik}}. | nazwa przestrzeni nazw = Category }} {{Mbox | typ = styl | treść = {{Parametr|typ|{{Un|styl}}}} – Drobne ostrzeżenia i problemy, takie jak: {{s|Kasowanie po przeniesieniu}} i {{s|Zgłoś błąd}}. | nazwa przestrzeni nazw = Category }} {{Mbox | typ = zawartość | treść = {{Parametr|typ|{{Un|zawartość}}}} – Ważne ostrzeżenia i problemy, takie jak: {{s|Dopracować|POV}}. | nazwa przestrzeni nazw = Category }} {{Mbox | typ = rozszerz | tekst = {{Parametr|typ|{{Un|rozszerz}}}} – Problemy z zawartością o małej treści, należy ją rozszrzerzyć, takie jak: {{s|Info|POV}}. | nazwa przestrzeni nazw = Category }} {{Mbox | typ = przeniesienie | treść = {{Parametr|typ|{{Un|przeniesienie}}}} – Przenoszenie i zmiana nazw plików i propozycje, takich jak: {{s|Integrowanie}}, {{s|Integruj z}} i {{s|Integruj do}}. | nazwa przestrzeni nazw = Category }} {{Mbox | typ = ochrona | treść = {{Parametr|typ|{{Un|ochrona}}}} – Szablony ochrony, takie jak: {{s|Wysokie ryzyko}} i {{s|Skomplikowany}}, wyświetlane na stronie pliku. | nazwa przestrzeni nazw = Category }} {{Mbox | typ = integruj | tekst = {{Parametr|typ|{{Un|integruj}}}} – integracja, dzielenie i propozycje transwiki, jak {{S|Integracja}}. | nazwa przestrzeni nazw = Category }} {{Mbox | typ = powiadomienie | treść = {{Parametr|typ|{{Un|powiadomienie}}}} – Powiadomienia i wiadomości wszelkiego rodzaju, zarówno stałe, jak i tymczasowe. | nazwa przestrzeni nazw = Category }} {{Mbox | typ = wiadomość | tekst = {{Parametr|typ|{{Un|wiadomość}}}} – informacje o artykule, jak {{S|Aktualne}} i {{S|W edycji}}. | nazwa przestrzeni nazw = Category }} ===== Przestrzeń nazw {{Np|Project|link=tak}} (używa szablonu {{s|Ombox}}) ===== {{Mbox | typ = poważny | tekst = {{Parametr|typ|{{Un|poważny}}}} – Poważne problemy, jak: {{s|NPA}} i {{s|NPAfrgm}}. | nazwa przestrzeni nazw = Project }} {{Mbox | typ = szybko | tekst = {{Parametr|typ|{{Un|szybko}}}} – Szybkie szablony usuwania, takie jak: {{s|Screenshot}}. | nazwa przestrzeni nazw = Project }} {{Mbox | typ = usuń | tekst = {{Parametr|typ|{{Un|usuń}}}} – Szablony usuwania, takie jak: {{s|DNU}}, {{s|SdU}} i {{s|SdUwynik}}. | nazwa przestrzeni nazw = Project }} {{Mbox | typ = styl | tekst = {{Parametr|typ|{{Un|styl}}}} – Drobne ostrzeżenia i problemy, takie jak: {{s|Kasowanie po przeniesieniu}} i {{s|Zgłoś błąd}}. | nazwa przestrzeni nazw = Project }} {{Mbox | typ = zawartość | tekst = {{Parametr|typ|{{Un|zawartość}}}} – Problemy z zawartością, jak {{S|Dopracować|POV}}. | nazwa przestrzeni nazw = Project }} {{Mbox | typ = rozszerz | tekst = {{Parametr|typ|{{Un|rozszerz}}}} – Problemy z zawartością o małej treści, należy ją rozszrzerzyć, takie jak: {{S|Info|POV}}. | nazwa przestrzeni nazw = Project }} {{Mbox | typ = przeniesienie | tekst = {{Parametr|typ|{{Un|przeniesienie}}}} – Przenoszenie i zmiana nazw stron i propozycje, takich jak: {{s|Integrowanie}}, {{s|Integruj z}} i {{s|Integruj do}}. | nazwa przestrzeni nazw = Project }} {{Mbox | typ = ochrona | tekst = {{Parametr|typ|{{Un|ochrona}}}} – Szablony ochrony, takie jak: {{s|Wysokie ryzyko}} i {{s|Skomplikowany}}, wyświetlane na stronie pliku. | nazwa przestrzeni nazw = Project }} {{Mbox | typ = integruj | tekst = {{Parametr|typ|{{Un|integruj}}}} – integracja, dzielenie i propozycje transwiki, jak {{S|Integracja}}. | nazwa przestrzeni nazw = Project }} {{Mbox | typ = powiadomienie | tekst = {{Parametr|typ|{{Un|powiadomienie}}}} – Powiadomienia i wiadomości wszelkiego rodzaju, zarówno stałe, jak i tymczasowe. | nazwa przestrzeni nazw = Project }} {{Mbox | typ = wiadomość | tekst = {{Parametr|typ|{{Un|wiadomość}}}} – Informacje o artykule, jak {{S|Aktualne}} i {{S|W edycji}}. | nazwa przestrzeni nazw = Project }} === Parametry graficzne: ''{{Parametr|grafika}}'' i {{Parametr|grafika prawo}}, oraz szablonowe szablonów komunikatów: ''{{Parametr|poniżej}}'' === ==== Wprowadzenie do grafik i szablonów zagniezdżonych w szablonie ==== Jeśli ten parametr nie jest określony, używana jest domyślna grafika związana z parametrem '''{{Parametr|typ}}''' (zobacz domyślne obrazki w sekcji {{lu|#typ}} powyżej). Jeśli jako parametr podano {{Parametr|grafika|nie}}, w szablonie nie jest używana grafika, a tekst jest wyrównany do lewej bez pozostawienia pustego miejsca. Jeśli natomiast jako parametr podano {{Parametr|grafika|brak}}, szablon nie używa żadnej grafiki, ale zostawia puste pole szerokości domyślnego obrazka, co pozwala na zapełnienie tego miesca przez tekst użytą w szablonie. ====='''''{{Parametr|grafika|jakaś grafika}}''''' ===== Powinien zostać użyty szablon {{s|Ikona}} z szerokością 35px. Na przykład: :: {{Code|{{s|Ikona|pov|35}}}} ===== '''''{{Parametr|grafika prawo|jakaś grafika}}''''' ===== Po prawej stronie szablonu można umieścić drugą grafikę lub inny obiekt, wprowadzając jego kod jako parametr {{Parametr|grafika prawo}}. Jeśli nie zdefiniowano tego parametru, szablon nie wyświetla żadnej grafiki lub elementu po prawej stronie komunikatu. ==== Szablon {{s|Mbox}} - przykłady jego użyć z parametrami graficznymi i w konfiguracji szablon komunikatu w szabblonie komunikatu ==== ===== Przestrzeń nazw {{Np|(main)|link=tak}} (używa szablonu {{s|Ambox}}) ===== {{Mbox | typ = zawartość | grafika = {{Ikona|pov|35}} | tekst = {{Parametr|typ|{{Un|zawartość}}}} {{Br}} {{Parametr|grafika|{{s|Ikona|pov|35}}}} {{Br}} Ta grafika jest używana w szablonie {{s|Dopracować|POV}} i podobnych. | nazwa przestrzeni nazw = (main) }} {{Mbox | typ = integruj | grafika = {{Ikona|integracja|35}} | tekst = {{Parametr|typ|{{Un|integruj}}}} {{Br}} {{Parametr|grafika|{{s|Ikona|integracja|35}}}} {{Br}} Ta grafika jest używana w {{s|Integracja}}, itp. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = (main) | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = (main) }} }} {{Mbox | grafika = brak | tekst = Brak typu i '''{{Parametr|grafika|brak}}''' – Czyści pole i zostawia margines szerokości domyślnej grafiki. Pozwala na ładne łączenie tekstu z różnych szablonów. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = (main) | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = (main) }} }} {{Mbox | grafika = nie | tekst = Brak typu i '''{{Parametr|grafika|nie}}''' – Nie jest użyta żadna grafika, a '''tekst''' wykorzystuje całą szerokość pola. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = (main) | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = (main) }} }} {{Mbox | grafika = {{Ikona|aktualne|35}} | grafika prawo = {{Ikona|biblioteka|35}} | tekst = {{Parametr|grafika|{{s|Ikona|aktualne|35}}}} {{Br}} {{Parametr|grafika prawo|{{s|Ikona|biblioteka|35}}}} {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = (main) | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = (main) }} }} {{Mbox | tekst = {{Parametr|grafika prawo|{{s|Skrót|id{{=}}stary|WP:SK}}}} {{Br}} Szablony skrótów umieszczaj w '''grafika prawo''', bo inaczej popsują wygląd szablonu. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | grafika prawo = {{Skrót|id=stary|WP:SK}} | nazwa przestrzeni nazw = (main) | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = (main) }} }} ===== Przestrzeń nazw {{Np|Talk|link=tak}} (używa szablonu {{s|Tmbox}}) ===== {{Mbox | typ = zawartość | grafika = {{Ikona|pov|35}} | tekst = {{Parametr|typ|{{Un|zawartość}}}} {{Br}} {{Parametr|grafika|{{s|Ikona|pov|35}}}} {{Br}} Ta grafika jest używana w szablonie {{S|Dopracować|POV}} i podobnych. | nazwa przestrzeni nazw = Talk }} {{Mbox | typ = integruj | grafika = {{Ikona|integracja|35}} | tekst = {{Parametr|typ|{{Un|integruj}}}} {{Br}} {{Parametr|grafika|{{s|Ikona|integracja|35}}}} {{Br}} Ta grafika jest używana w {{S|Integracja}}, itp. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = Talk | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Talk }} }} {{Mbox | grafika = brak | tekst = Brak typu i '''{{Parametr|grafika|brak}}''' – Czyści pole i zostawia margines szerokości domyślnej grafiki. Pozwala na ładne łączenie tekstu z różnych szablonów. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = Talk | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Talk }} }} {{Mbox | grafika = nie | tekst = Brak typu i '''{{Parametr|grafika|nie}}''' – Nie jest użyta żadna grafika, a '''tekst''' wykorzystuje całą szerokość pola. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = Talk | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Talk }} }} {{Mbox | grafika = {{Ikona|aktualne|35}} | grafika prawo = {{Ikona|biblioteka|35}} | tekst = {{Parametr|grafika|{{s|Ikona|aktualne|35}}}} {{Br}} {{Parametr|grafika prawo|{{s|Ikona|biblioteka|35}}}} {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = Talk | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Talk }} }} {{Mbox | tekst = {{Parametr|grafika prawo|{{s|Skrót|id{{=}}stary|WP:SK}}}} {{Br}} Szablony skrótów umieszczaj w '''grafika prawo''', bo inaczej popsują wygląd szablonu. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | grafika prawo = {{Skrót|id=stary|WP:SK}} | nazwa przestrzeni nazw = Talk | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Talk }} }} ===== Przestrzeń nazw {{Np|Special|link=tak}} (używa szablonu {{s|Fmbox}}) ===== {{Mbox | typ = ostrzeżenie | grafika = {{Ikona|pov|35}} | tekst = {{Parametr|typ|{{Un|ostrzeżenie}}}} {{Br}} {{Parametr|grafika|{{s|Ikona|pov|35}}}} {{Br}} Ta grafika jest używana w szablonie {{S|Dopracować|POV}} i podobnych. | nazwa przestrzeni nazw = Special }} {{Mbox | typ = integruj | grafika = {{Ikona|ostrzeżenie|35}} | tekst = {{Parametr|typ|{{Un|integruj}}}} {{Br}} {{Parametr|grafika|{{s|Ikona|ostrzeżenie|35}}}} {{Br}} Ta grafika jest używana w {{s|Integracja}}, itp. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}editnotice|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = Special | poniżej = {{Mbox | typ = editnotice | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Special }} }} {{Mbox | grafika = brak | tekst = Brak typu i '''{{Parametr|grafika|brak}}''' – Czyści pole i zostawia margines szerokości domyślnej grafiki. Pozwala na ładne łączenie tekstu z różnych szablonów. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}editnotice|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = Special | poniżej = {{Mbox | typ = editnotice | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Special }} }} {{Mbox | grafika = nie | tekst = Brak typu i '''{{Parametr|grafika|nie}}''' – Nie jest użyta żadna grafika, a '''tekst''' wykorzystuje całą szerokość pola. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}editnotice|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = Special | poniżej = {{Mbox | typ = editnotice | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Special }} }} {{Mbox | grafika = {{Ikona|aktualne|35}} | grafika prawo = {{Ikona|biblioteka|35}} | tekst = {{Parametr|grafika|{{s|Ikona|aktualne|35}}}} {{Br}} {{Parametr|grafika prawo|{{s|Ikona|biblioteka|35}}}} {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}editnotice|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = Special | poniżej = {{Mbox | typ = editnotice | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Special }} }} {{Mbox | tekst = {{Parametr|grafika prawo|{{s|Skrót|id{{=}}stary|WP:SK}}}} {{Br}} Szablony skrótów umieszczaj w '''grafika prawo''', bo inaczej popsują wygląd szablonu. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}editnotice|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | grafika prawo = {{Skrót|id=stary|WP:SK}} | nazwa przestrzeni nazw = Special | poniżej = {{Mbox | typ = editnotice | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Special }} }} ===== Przestrzeń nazw {{Np|File|link=tak}} (używa szablonu {{s|Imbox}}) ===== {{Mbox | typ = zawartość | grafika = {{Ikona|pov|35}} | tekst = {{Parametr|typ|{{Un|zawartość}}}} {{Br}} {{Parametr|grafika|{{s|Ikona|pov|35}}}} {{Br}} Ta grafika jest używana w szablonie {{S|Dopracować|POV}} i podobnych. | nazwa przestrzeni nazw = File }} {{Mbox | typ = integruj | grafika = {{Ikona|integracja|35}} | tekst = {{Parametr|typ|{{Un|integruj}}}} {{Br}} {{Parametr|grafika|{{s|Ikona|integracja|35}}}} {{Br}} Ta grafika jest używana w {{S|Integracja}}, itp. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = File | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = File }} }} {{Mbox | grafika = brak | tekst = Brak typu i '''{{Parametr|grafika|brak}}''' – Czyści pole i zostawia margines szerokości domyślnej grafiki. Pozwala na ładne łączenie tekstu z różnych szablonów. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = File | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = File }} }} {{Mbox | grafika = nie | tekst = Brak typu i '''{{Parametr|grafika|nie}}''' – Nie jest użyta żadna grafika, a '''tekst''' wykorzystuje całą szerokość pola. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = File | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = File }} }} {{Mbox | grafika = {{Ikona|aktualne|35}} | grafika prawo = {{Ikona|biblioteka|35}} | tekst = {{Parametr|grafika|{{s|Ikona|aktualne|35}}}} {{Br}} {{Parametr|grafika prawo|{{s|Ikona|biblioteka|35}}}} {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = File | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = File }} }} {{Mbox | tekst = {{Parametr|grafika prawo|{{s|Skrót|id{{=}}stary|WP:SK}}}} {{Br}} Szablony skrótów umieszczaj w '''grafika prawo''', bo inaczej popsują wygląd szablonu. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | grafika prawo = {{Skrót|id=stary|WP:SK}} | nazwa przestrzeni nazw = File | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = File }} }} ===== Przestrzeń nazw {{Np|Category|link=tak}} (używa szablonu {{s|Cmbox}}) ===== {{Mbox | typ = zawartość | grafika = {{Ikona|pov|35}} | tekst = {{Parametr|typ|{{Un|zawartość}}}} {{Br}} {{Parametr|grafika|{{s|Ikona|pov|35}}}} {{Br}} Ta grafika jest używana w szablonie {{S|Dopracować|POV}} i podobnych. | nazwa przestrzeni nazw = Category }} {{Mbox | typ = integruj | grafika = {{Ikona|integracja|35}} | tekst = {{Parametr|typ|{{Un|integruj}}}} {{Br}} {{Parametr|grafika|{{s|Ikona|integracja|35}}}} {{Br}} Ta grafika jest używana w {{S|Integracja}}, itp. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = Category | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Category }} }} {{Mbox | grafika = brak | tekst = Brak typu i '''{{Parametr|grafika|brak}}''' – Czyści pole i zostawia margines szerokości domyślnej grafiki. Pozwala na ładne łączenie tekstu z różnych szablonów. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = Category | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Category }} }} {{Mbox | grafika = nie | tekst = Brak typu i '''{{Parametr|grafika|nie}}''' – Nie jest użyta żadna grafika, a '''tekst''' wykorzystuje całą szerokość pola. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = Category | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Category }} }} {{Mbox | grafika = {{Ikona|aktualne|35}} | grafika prawo = {{Ikona|biblioteka|35}} | tekst = {{Parametr|grafika|{{s|Ikona|aktualne|35}}}} {{Br}} {{Parametr|grafika prawo|{{s|Ikona|biblioteka|35}}}} {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = Category | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Category }} }} {{Mbox | tekst = {{Parametr|grafika prawo|{{s|Skrót|id{{=}}stary|WP:SK}}}} {{Br}} Szablony skrótów umieszczaj w '''grafika prawo''', bo inaczej popsują wygląd szablonu. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | grafika prawo = {{Skrót|id=stary|WP:SK}} | nazwa przestrzeni nazw = Category | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Category }} }} ===== Przestrzeń nazw {{Np|Project|link=tak}} (używa szablonu {{s|Ombox}}) ===== {{Mbox | typ = zawartość | grafika = {{Ikona|pov|35}} | tekst = {{Parametr|typ|{{Un|zawartość}}}} {{Br}} {{Parametr|grafika|{{s|Ikona|pov|35}}}} {{Br}} Ta grafika jest używana w szablonie {{S|Dopracować|POV}} i podobnych. | nazwa przestrzeni nazw = Project }} {{Mbox | typ = integruj | grafika = {{Ikona|integracja|35}} | tekst = {{Parametr|typ|{{Un|integruj}}}} {{Br}} {{Parametr|grafika|{{s|Ikona|integracja|35}}}} {{Br}} Ta grafika jest używana w {{S|Integracja}}, itp. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = Project | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Project }} }} {{Mbox | grafika = brak | tekst = Brak typu i '''{{Parametr|grafika|brak}}''' – Czyści pole i zostawia margines szerokości domyślnej grafiki. Pozwala na ładne łączenie tekstu z różnych szablonów. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = Project | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Project }} }} {{Mbox | grafika = nie | tekst = Brak typu i '''{{Parametr|grafika|nie}}''' – Nie jest użyta żadna grafika, a '''tekst''' wykorzystuje całą szerokość pola. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = Project | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Project }} }} {{Mbox | grafika = {{Ikona|aktualne|35}} | grafika prawo = {{Ikona|biblioteka|35}} | tekst = {{Parametr|grafika|{{s|Ikona|aktualne|35}}}} {{Br}} {{Parametr|grafika prawo|{{s|Ikona|biblioteka|35}}}} {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | nazwa przestrzeni nazw = Project | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Project }} }} {{Mbox | tekst = {{Parametr|grafika prawo|{{s|Skrót|id{{=}}stary|WP:SK}}}} {{Br}} Szablony skrótów umieszczaj w '''grafika prawo''', bo inaczej popsują wygląd szablonu. {{Br}} {{Parametr|poniżej|{{s|Mbox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | grafika prawo = {{Skrót|id=stary|WP:SK}} | nazwa przestrzeni nazw = Project | poniżej = {{Mbox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! | nazwa przestrzeni nazw = Project }} }} === Parametry alternatywne tekstu: ''{{Parametr|tekst}}'' albo {{Parametr|treść}} bądź {{Parametr|1}} === Tekst szablonu, lub inne elementy jego zawartości. == Opis parametrów == {{Mbox/opis/Opis parametrów-Wykaz}} {{Mbox/opis/Opis parametrów-Opis}} {{Mbox/opis/Opis parametrów-Tabela}} == Techniczne szczegóły == === Specjalna składnia === {{Mbox/opis/Specjalna składnia}} === Budowa tabelkowa obiektów przy pomocy klas i styli, CSS, kaskadowych arkuszy stylów szablonów komunikatów === {{Mbox/opis/CSS}} == Błędy == Błędy należy zgłaszać na stronie {{Kwestie techniczne}}. == Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) == <templatedata> { "params": { "styl": { "description": "Style tabelki komunikatu kaskadowych arkuszy stylów CSS tabelki komunikatów.", "type": "string" }, "typ": { "suggested": true, "description": "Tyo danego komunikatu oznaczony domyślnym rysunkiem i stylami.", "type": "string" }, "grafika": { "example": "{{ikona|pov|35}}", "suggested": true, "description": "Lewa grafika", "type": "unbalanced-wikitext" }, "tekst": { "required": true, "aliases": [ "1 treść" ], "description": "Tekst komunikatu", "type": "content" }, "grafika prawo": { "description": "Grafika po prawej stronie komunikatu.", "type": "unbalanced-wikitext" }, "id": { "description": "Unikalny identyfikator tabelki komunikatów.", "type": "string" }, "styl tekstu": { "description": "Styl tekstu, w zmiennej 1, tekst albo treść i ewentualnie z tego poniżej, jeśli styl poniżej nie podano, kaskadowych arkuszy stylów CSS.", "type": "string" }, "poniżej": { "description": "Inne wywołanie szablonu komunikatu w danym komunikacie.", "type": "string" }, "klasa": { "description": "Klasa kaskadowych arkuszy stylów CSS tabelki komunikatów.", "type": "string" }, "styl poniżej": { "description": "Ustawia styl kaskadowych arkuszy stylów CSS elementowi wstawianemu pod parametrem poniżej.", "type": "string" } }, "paramOrder": [ "typ", "styl tekstu", "tekst", "grafika", "grafika prawo", "id", "klasa", "styl", "poniżej", "styl poniżej" ], "format": "block", "description": "Uniwersalny szablon szablonów, stosowany do tworzenia wszelkich komunikatów. Upraszcza kod źródłowy komunikatów, ponieważ automatycznie dostosowuje swój wygląd w zależności od przestrzeni nazw." } </templatedata> == Zobacz też == {{Mbox/opis/Zobacz też}} {{BrClear}} <includeonly><!-- ++++ DODAWAJ KATEGORIE I INTERWIKI PONIŻEJ TEJ LINII --> {{Kategorie | Szablony komunikatów mbox | sortuj spacją = tak | Szablony szablonów }} </includeonly> 5p8tj2dn88x31tcai8joqeb9qq9nsu2 Szablon:DNU/opis 10 32994 544532 516441 2026-05-28T11:18:09Z Persino 2851 /* Zobacz też */ 544532 wikitext text/x-wiki {{Podstrona dokumentacji}} {{Lua|Pudełko}} {{Wysokie ryzyko|częste użycie}} {{Skomplikowany}} Szablon DNU służy do oznaczania stron (szablonów, kategorii, artykułów, podręczników, itp.) nad których usunięciem toczy się, lub toczyła się dyskusja w {{lr|Poczekalnia|Poczekalni}}. Szablon ten korzysta z {{s|mbox}}, i dostosowuje swój wygląd w zależności od przestrzeni nazw elementu, nad którym dyskusja się toczy. == Użycie == Szablon jest wywoływany z parametrem oznaczającym stan dyskusji. Wartością domyślną jest '''trwa''', ta wartość zostanie użyta przy wpisaniu {{s|DNU}}. Parametr może przyjmować następujące wartości: ; Strony (szablon, kategoria, artykuł, podręcznik, itp.) będące w trakcie dyskusji * {{Code|naprawa}} – dla jednostek wymagających pilnej naprawy z drobnymi problemami, * {{Code|prowokacja}} – dla jednostek z aktami prowokacyjnymi, * {{Code|artykuł}} – dla jednostek posiadających problemy z treścią lub z tekstem, * {{Code|technikalia}} – dla jednostek z poważnymi problemami technicznymi. ; Strony po pobycie w {{lr|Poczekalnia|Poczekalni}} * {{Code|zostawiono}} – dla jednostek, dla których uzyskano konsensus, w wyniku których pozostała w Wikibooks, * {{Code|brak wyniku}} – dla jednostek, dla których nie uzyskano konsensusu, * {{Code|usuwane}} – dla jednostek, dla których uzyskano konsensus, w wyniku których są usuwane z Wikibooks po upływie 30 dni od zakończenia dyskusji, * {{Code|naprawiono}} – dla jednostek, które zostały naprawione po pobycie w odpowiedniej sekcji poczekalni. Szablon z powyższymi parametrami wstawiamy tam opcjonalnie dla wszystkich parametrów powyższych oprócz usuwane, gdzie wstawiamy nieopcjonalnie. ; Dodatkowe zmienne * {{Code|dokumentacja}} - wartość niepusta, wtedy szablon włącza tryb dokumentacji, wtedy szablon nie sprawdza, czy strona opisana przez wartość zmiennej ''podstrona'' (lub jako parametr nienazwany drugi) jest pusty i, czy dalej istnieje, (opcjonalny). === Parametry dodatkowe === {{Szablonowy opis pudełka | opis parametrów szablonu = tak | nazwa szablonu = DNU }} === Inne === * Powyższe zmienne o nazwie określonej liczbą naturalną można użyć również bez nazywania parametrów. Opcjonalnym parametrem jest parametr {{Code|sekcja}}, przez który może zostać podana nazwa sekcji na stronie DNU, pod jaką kierować ma zawarty w szablonie link. Domyślnie, gdy parametr ten nie jest podany, używana jest nazwa strony, na której szablon został zamieszczony, co odpowiada standardowemu, pojedynczemu zgłoszeniu. Parametru tego należy używać podczas zgłoszeń zbiorowych, gdy do tej samej podstrony ({{Code|podstrona}}) mają kierować wywołania szablonu z kilku różnych stron. == Przykłady użycia dla szablonu {{S|DNU}}== === Podpowiedź, jak używać poniższe wywołania szablonów === * W przypadkach, gdy parametr {{s|DNU|podstrona{{=}}...}} nie jest pusty i istnieje jako podstrona {{lr|Poczekalnia|poczekalni}}, to poniższe wywołania szablonu można sprawdzić bez '''{{Parametr|dokumentacja|tak}}''', a w przeciwnym przypadku z tym. Podobnie jest z innymi parametrami jak {{Code|artykuł}} podanej jako pierwszy parametr szablonu {{s|DNU|...}} lub jako parametr {{s|DNU|typ{{=}}...}}. === Przykłady nieprawidłowego użycia === {{Szablonowy opis pudełka | nazwa szablonu = DNU }} ---- * {{Span|styl=color:red;|BŁĘDNE UŻYCIE (brak podanego żadnego parametru):}} {{s|DNU}}, czyli: : {{Tt|{{s|DNU}}}} da w efekcie: {{OpakujKategorieZeSortowaniem|{{DNU|typ jednostki=podręcznik}}}} oraz przypisze stronę do kategorii: {{lk|Szablon DNU - błędne wywołania}}. {{BrClear}} ---- * {{Span|styl=color:red;|BŁĘDNE UŻYCIE (parametr podany, podstrona Poczekalni nie podana lub nie istnieje):}} {{s|DNU}}, czyli: : {{Tt|{{s|DNU|artykuł}}}} da w efekcie: {{OpakujKategorieZeSortowaniem|{{DNU|artykuł|typ jednostki=podręcznik}}}} oraz przypisze stronę do kategorii: {{lk|Szablon DNU - niedokończone zgłoszenia}}. {{BrClear}} ===Przykłady prawidłowego użycia=== * {{s|1=DNU|2=naprawa|3=podstrona={{Czas|Y:m:d}}:Strona główna podręcznika/Nazwa podstrony}} da w efekcie: {{OpakujKategorieZeSortowaniem|{{DNU|naprawa|podstrona={{Czas|Y:m:d}}:Strona główna podręcznika/Nazwa podstrony|dokumentacja=tak|typ jednostki=podręcznik|nazwij jednostką=tak}}}} Szablon umieszcza stronę w kategorii: {{lk|Poczekalnia DNU - dyskusja (naprawa)}}. {{BrClear}} ---- * {{s|1=DNU|2=prowokacja|3=podstrona={{Czas|Y:m:d}}:Strona główna podręcznika/Nazwa podstrony}} da w efekcie: {{OpakujKategorieZeSortowaniem|{{DNU|prowokacja|podstrona={{Czas|Y:m:d}}:Strona główna podręcznika/Nazwa podstrony|dokumentacja=tak|typ jednostki=podręcznik|nazwij jednostką=tak}}}} Szablon umieszcza stronę w kategorii: {{lk|Poczekalnia DNU - dyskusja (prowokacje)}}. ---- * {{s|1=DNU|2=artykuł|3=podstrona={{Czas|Y:m:d}}:Strona główna podręcznika/Nazwa podstrony}} da w efekcie: {{OpakujKategorieZeSortowaniem|{{DNU|artykuł|podstrona={{Czas|Y:m:d}}:Strona główna podręcznika/Nazwa podstrony|dokumentacja=tak|typ jednostki=podręcznik|nazwij jednostką=tak}}}} Szablon umieszcza stronę w kategorii: {{lk|Poczekalnia DNU - dyskusja (artykuły)}}. {{BrClear}} ---- * {{s|1=DNU|2=technikalia|3=podstrona={{Czas|Y:m:d}}:Strona główna podręcznika/Nazwa podstrony}} da w efekcie: {{OpakujKategorieZeSortowaniem|{{DNU|technikalia|podstrona={{Czas|Y:m:d}}:Strona główna podręcznika/Nazwa podstrony|dokumentacja=tak|typ jednostki=podręcznik|nazwij jednostką=tak}}}} Szablon umieszcza stronę w kategorii: {{lk|Poczekalnia DNU - dyskusja (kwestie techniczne)}}. {{BrClear}} ---- * {{s|1=DNU|2=zostawiono|3=zakończenie={{Czas|Y-m-d}}|4=podstrona=Wikibooks:Poczekalnia/artykuły/{{Czas|Y:m:d}}:Strona główna podręcznika/Nazwa podstrony}} da w efekcie: {{OpakujKategorieZeSortowaniem|{{DNU|zostawiono|zakończenie={{Czas|Y-m-d}}|podstrona=Wikibooks:Poczekalnia/artykuły/{{Czas|Y:m:d}}:Strona główna podręcznika/Nazwa podstrony|dokumentacja=tak|typ jednostki=podręcznik|nazwij jednostką=tak}}}} Szablon umieszcza stronę w kategorii: {{lk|Poczekalnia DNU - załatwiono (zostawiono)}}. {{BrClear}} ---- * {{s|1=DNU|2=zostawiono|3=zakończenie={{Czas|Y-m-d}}|4=podstrona=Wikibooks:Poczekalnia/naprawa/{{Czas|Y:m:d}}:Strona główna podręcznika/Nazwa podstrony}} da w efekcie: {{OpakujKategorieZeSortowaniem|{{DNU|zostawiono|zakończenie={{Czas|Y-m-d}}|podstrona=Wikibooks:Poczekalnia/naprawa/{{Czas|Y:m:d}}:Strona główna podręcznika/Nazwa podstrony|dokumentacja=tak|typ jednostki=podręcznik|nazwij jednostką=tak}}}} Szablon umieszcza stronę w kategorii: {{lk|Poczekalnia DNU - załatwiono (zostawiono)}}. {{BrClear}} ---- * {{s|1=DNU|2=brak wyniku|3=zakończenie={{Czas|Y-m-d}}|4=podstrona=Wikibooks:Poczekalnia/artykuły/{{Czas|Y:m:d}}:Strona główna podręcznika/Nazwa podstrony}} da w efekcie: {{OpakujKategorieZeSortowaniem|{{DNU|brak wyniku|zakończenie={{Czas|Y-m-d}}|podstrona=Wikibooks:Poczekalnia/artykuły/{{Czas|Y:m:d}}:Strona główna podręcznika/Nazwa podstrony|dokumentacja=tak|typ jednostki=podręcznik|nazwij jednostką=tak}}}} Szablon umieszcza stronę w kategorii: {{lk|Poczekalnia DNU - załatwiono (brak wyniku)}}. {{BrClear}} ---- * {{s|1=DNU|2=brak wyniku|3=zakończenie={{Czas|Y-m-d}}|4=podstrona=Wikibooks:Poczekalnia/naprawa/{{Czas|Y:m:d}}:Strona główna podręcznika/Nazwa podstrony}} da w efekcie: {{OpakujKategorieZeSortowaniem|{{DNU|brak wyniku|zakończenie={{Czas|Y-m-d}}|podstrona=Wikibooks:Poczekalnia/naprawa/{{Czas|Y:m:d}}:Strona główna podręcznika/Nazwa podstrony|dokumentacja=tak|typ jednostki=podręcznik|nazwij jednostką=tak}}}} Szablon umieszcza stronę w kategorii: {{lk|Poczekalnia DNU - załatwiono (brak wyniku)}}. {{BrClear}} ---- * {{s|1=DNU|2=usuwane|3=zakończenie={{Czas|Y-m-d}}|4=podstrona=Wikibooks:Poczekalnia/artykuły/{{Czas|Y:m:d}}:Strona główna podręcznika/Nazwa podstrony}} da w efekcie: {{OpakujKategorieZeSortowaniem|{{DNU|usuwane|zakończenie={{Czas|Y-m-d}}|podstrona=Wikibooks:Poczekalnia/artykuły/{{Czas|Y:m:d}}:Strona główna podręcznika/Nazwa podstrony|dokumentacja=tak|typ jednostki=podręcznik|nazwij jednostką=tak}}}} Szablon umieszcza stronę w kategorii: {{lk|Poczekalnia DNU - załatwiono (usuwane)}}. {{BrClear}} ---- * {{s|1=DNU|2=naprawiono|3=zakończenie={{Czas|Y-m-d}}|4=podstrona=Wikibooks:Poczekalnia/artykuły/{{Czas|Y:m:d}}:Strona główna podręcznika/Nazwa podstrony}} da w efekcie: {{OpakujKategorieZeSortowaniem|{{DNU|naprawiono|zakończenie={{Czas|Y-m-d}}|podstrona=Wikibooks:Poczekalnia/artykuły/{{Czas|Y:m:d}}:Strona główna podręcznika/Nazwa podstrony|dokumentacja=tak|typ jednostki=podręcznik|nazwij jednostką=tak}}}} Szablon umieszcza stronę w kategorii: {{lk|Poczekalnia DNU - załatwiono (naprawiono)}}. == Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) == <templatedata> { "params": { "1": { "aliases": [ "naprawa", "prowokacja", "artykuł", "technikalia", "zostawiono", "brak wyniku", "usuwane", "naprawiono" ], "description": "Nazwa katalogu, gdzie nad którym ma odbywać się dyskusja.", "type": "string", "required": true, "label": "Typ" }, "dokumentacja": { "description": "Wartość niepusta, gdy szablon nie sprawdza, czy podstrona jest pusta i czy potem istnieje. Wraz z nią zmienna nazwij stroną jest niepusta.", "type": "string", "default": "Wartość pusta", "autovalue": "" }, "bez kategorii": { "description": "Wartość niepusta, wtedy szablon nie umieszcza strony w jakikolwiek kategorii.", "type": "string", "default": "Wartość pusta." }, "podstrona": { "description": "Podstrona w Poczekalni DNU", "type": "wiki-page-name", "required": true }, "zakończenie": { "description": "Data zkończenia dyskusji.", "type": "date", "suggested": true, "default": "Wartość pusta." }, "sekcja": { "description": "Parametr, przez który może zostać podana nazwa sekcji na stronie DNU, pod jaką kierować ma zawarty w szablonie link.", "type": "string", "suggested": true, "default": "Wartość pusta." }, "nazwij jednostką": { "description": "Szablon jednostki nazywa po prostu stronami.", "type": "string", "default": "Wartość niepusta, gdy dokumentacja jest niepusta, w przeciwnym przypadku jest odwrotnie.", "autovalue": "" } }, "description": "Szablon informujący, czy dyskusja odbywa się w Poczekalni DNU, czy stronę usunąć, czy naprawić, i co w nim zrobić, by było OK, dalej, czy dyskusja się zakończyła, a także można sprawdzić z jakim efektem i co dalej zrobią z tym administratorzy Wikibooks.", "paramOrder": [ "1", "podstrona", "zakończenie", "dokumentacja", "nazwij jednostką", "bez kategorii", "sekcja" ] } </templatedata> == Zobacz też == {{DNU/opis/Zobacz też}} {{BrClear}} <includeonly><!-- ++++ DODAWAJ KATEGORIE I INTERWIKI PONIŻEJ TEJ LINII --> {{Kategorie | Szablony porządkowe | Szablony dodające kategorie | Poczekalnia DNU - szablony | Usuwanie stron - szablony | Szablony problemów }} </includeonly> 5c1jd53zw5353fl0c2qv6778sbvg0er Szablon:Ekspresowe kasowanie/opis 10 33227 544538 541040 2026-05-28T11:22:03Z Persino 2851 /* Zobacz też */ 544538 wikitext text/x-wiki {{Podstrona dokumentacji}} {{Spis treści}} {{wysokie ryzyko|meta}} {{Skrót szablonu|Ek|Delete|Screenshot}} <!-- DODAWAJ KATEGORIE I INTERWIKI NA DOLE STRONY --> Szablon: '''{{s|ek}}''', czyli: '''{{s|Ekspresowe kasowanie}}''', i jego dalsze przekierowania: '''{{s|delete}}''' i '''{{s|screenshot}}''', to jest jeden z najstarszych na polskojęzycznej Wikibooks, wstawia strony do wykazu: [[:Kategoria:Ekspresowe kasowanie]]. == Użycie == Szablon należy wstawić na początku strony (bez usuwania jej treści), która według wstawiającego nadaje się do natychmiastowego skasowania. Posiada jeden parametr pozycyjny nr 1 (faktycznie jest to parametr z nazwą "1") oraz dwa parametry kluczowe (nazwane) – ''powód'' i ''bez kategorii''. '''Uwaga''': nie nadużywaj tego szablonu. Jeśli skasowanie danego artykułu mogłoby być dyskusyjne, rozważ, czy nie lepiej użyć szablonu {{s|DNU}}. Szablon korzysta z {{S|Admin usuń}}, który pokazuje „kubełek” umożliwiający szybkie usunięcie strony lub pliku wraz z zdefiniowanym wcześniej opisem usunięcia. Wygląd i treść szablonu zmienia się w zależności od [[w:Pomoc:Przestrzeń nazw|przestrzeni nazw]], w której został użyty. == Opis parametrów == Przeznaczenie i podawanie wartości parametrów jest opisane poniżej. Warto przypomnieć, że w podawanych wartościach może wystąpić znak równości (symbol „=”), ale wtedy wartość ta '''musi''' być podana dla parametru ''powód'' lub dla parametru ''1'', ale w stylu parametru nazwanego, czyli tak, jak w [[#Przykłady użycia|przykładzie nr 3]]. ; Parametr nr 1 (pozycyjny) Jest on używany do wpisania uzasadnienia dla żądania ekspresowego skasowania strony. Podaje się go po wpisaniu [[w:Kreska pionowa|kreski pionowej]] (symbolu „|”), jak w [[#Przykłady użycia|przykładzie nr 2]]. Prawidłowe jest też jego użycie jak parametru nazwanego – [[#Przykłady użycia|przykład nr 3]]. ; Parametr ''powód'' (kluczowy) Jego przeznaczenie jest identyczne jak parametru pozycyjnego nr 1 – został wprowadzony jako bardziej oczywisty niż parametr nienazwany ''1'', natomiast parametr ''1'' zachowano dla wstecznej zgodności. Podajemy go jak w [[#Przykłady użycia|przykładzie nr 4]]. Ze względu na konstrukcję kodu szablonu można podać w jego wywołaniu wartości dla parametru ''powód'' i ''1'', ale wyświetlona zostanie tylko wartość dla parametru ''1''. ; Parametr ''dokumentacja'' (kluczowy, techniczny) Parametr ten jest używany tylko w specjalnych przypadkach, gdy szablon występuje na stronach pomocowych w wykazach szablonów, jak np. [[Wikibooks:Szablony/Do usunięcia]] – wtedy jego użycie pozwala uniknąć automatycznego wpisania takiej strony do kategorii stron do ekspresowego usunięcia. === Konkretne uzasadnienia === Szablon zawiera wbudowane uzasadnienia żądania skasowania, oparte na najczęstszych powodach usunięcia artykułów. Aby z nich skorzystać, należy wpisać w pole <tt>powód</tt> (lub jako parametr 1) któryś z poniższych skrótów: {{info|'''Wszystkie dostępne skróty:'''<br /> <tt>test, eksperyment, eks, substub, ency, hoax, or, OR, reklama, advert, ad, bezsens, bzdety, bełkot, bzdury, głupoty, wulgaryzmy, wulg, ataki osobiste, osobiste, wandalizm, wandal, dane osobowe, zniesławienie, libel, administracyjne, techniczne, technikalia, tech, autotranslator, translator, tłumacz, redir, przekierowanie, redirect, wygłupy, wygłup, dowcip, żart, npa, NPA, plagiat, copypaste, kopiuj-wklej, moje, wstawiony, nieaktualne, infoboks, infobox, link, plik, brudnopis.</tt>}} : ''Jeżeli podano więcej niż dwa parametry, to można ich używać zamiennie'' * <tt>'''test, eksperyment, eks'''</tt> – wstawia link do [[Wikibooks:Witamy nowicjuszy|pierwsze kroki]] i jako powód usunięcia ustawia {{OpakujKategorieZeSortowaniem|{{ek|test}}}} * <tt>'''substub'''</tt> – wstawia link do [[w:Wikipedia:Zalążek artykułu#Subzalążki|Wikipedia:Zalążek artykułu#Subzalążki]] i jako powód usunięcia ustawia {{OpakujKategorieZeSortowaniem|{{ek|substub}}}} * <tt>'''ency'''</tt> – wstawia link do [[w:Wikipedia:Encyklopedyczność|Wikipedia:Encyklopedyczność]] i jako powód usunięcia ustawia "treść [[w:WP:ENCY|encyklopedyczna]], patrz: [[Wikibooks:Witamy nowicjuszy|pierwsze kroki]]" {{OpakujKategorieZeSortowaniem|{{ek|ency}}}} * <tt>'''hoax'''</tt> – wstawia link do [[w:Wikipedia:Weryfikowalność|Wikipedia:Weryfikowalność]] i jako powód usunięcia ustawia "prawdopodobna mistyfikacja, patrz: [[w:WP:Weryfikowalność|weryfikowalność]]" {{OpakujKategorieZeSortowaniem|{{ek|hoax}}}} * <tt>'''or, OR'''</tt> – wstawia link do [[w:Wikipedia:Nie przedstawiamy twórczości własnej|Wikipedia:Nie przedstawiamy twórczości własnej]] i jako powód usunięcia ustawia "prawdopodobna twórczość własna, patrz: [[w:WP:Nie przedstawiamy twórczości własnej|nie przedstawiamy twórczości własnej]]" {{OpakujKategorieZeSortowaniem|{{ek|or}}}} * <tt>'''reklama, advert, ad'''</tt> – wstawia link do [[Wikibooks:Czym jest Wikibooks]] i jako powód usunięcia ustawia "skrajna forma reklamy, patrz: [[Wikibooks:Czym jest Wikibooks#Czym Wikibooks nie jest|czym Wikibooks nie jest]]" {{OpakujKategorieZeSortowaniem|{{ek|ad}}}} * <tt>'''bezsens, bzdety, bełkot, bzdury, głupoty'''</tt> – wstawia link do [[w:Wikipedia:Głupie dowcipy i czysty bezsens|Wikipedia:Głupie dowcipy i czysty bezsens]] i jako powód usunięcia ustawia "treść niezrozumiała, patrz: [[w:Wikipedia:Głupie dowcipy i czysty bezsens|czysty bezsens]]" {{OpakujKategorieZeSortowaniem|{{ek|bełkot}}}} * <tt>'''wulgaryzmy, wulg, ataki osobiste, osobiste, wandalizm, wandal'''</tt> – wstawia link do [[Wikibooks:Wikietykieta]] i jako powód usunięcia ustawia "[[WB:Wandalizm|wandalizm]] i/lub ataki osobiste, patrz: [[WB:Wikietykieta|wikietykieta]]" {{OpakujKategorieZeSortowaniem|{{ek|wulg}}}} * <tt>'''dane osobowe'''</tt> – jako powód usunięcia ustawia "upublicznienie danych osobowych" {{OpakujKategorieZeSortowaniem|{{ek|dane osobowe}}}} * <tt>'''zniesławienie, libel'''</tt> – jako powód usunięcia ustawia "zniesławienie" {{OpakujKategorieZeSortowaniem|{{ek|libel}}}} * <tt>'''administracyjne, techniczne, technikalia, tech'''</tt> – jako powód usunięcia ustawia "pozostałości po wykonywaniu operacji administracyjnych" {{OpakujKategorieZeSortowaniem|{{ek|techniczne}}}} * <tt>'''autotranslator, translator, tłumacz'''</tt> – jako powód usunięcia ustawia "tekst przetłumaczony z translatora" {{OpakujKategorieZeSortowaniem|{{ek|tłumacz}}}} * <tt>'''redir, przekierowanie, redirect'''</tt> – jako powód usunięcia ustawia "błędne lub niepotrzebne przekierowanie" {{OpakujKategorieZeSortowaniem|{{ek|redir}}}} * <tt>'''wygłupy, wygłup, dowcip, żart'''</tt> – wstawia link do [[Wikibooks:Czym jest Wikibooks#Czym Wikibooks nie jest]] i jako powód usunięcia ustawia "wygłupy" {{OpakujKategorieZeSortowaniem|{{ek|wygłupy}}}} * <tt>'''npa, NPA, plagiat, copypaste, kopiuj-wklej'''</tt> – wstawia link do [[Wikibooks:Prawa autorskie]] i jako powód usunięcia ustawia "naruszenie praw autorskich, patrz: [[WB:Prawa autorskie|prawa autorskie]]" {{OpakujKategorieZeSortowaniem|{{ek|npa}}}} * <tt>'''moje'''</tt> – jako powód usunięcia ustawia "na prośbę autora" {{OpakujKategorieZeSortowaniem|{{ek|moje}}}} * <tt>'''wstawiony, nieaktualne'''</tt> – jako powód usunięcia ustawia "strona zawierała nieaktualny komunikat o problemie" {{OpakujKategorieZeSortowaniem|{{ek|nieaktualne}}}} * <tt>'''infobox, infoboks'''</tt> – to samo, co <tt>wstawiony</tt>, ale jako powód usunięcia ustawia "nieaktualna informacja o braku infoboksu" * <tt>'''link'''</tt> – to samo, co <tt>wstawiony</tt>, ale jako powód usunięcia ustawia "nieaktualna informacja o martwym linku zewnętrznym" * <tt>'''plik'''</tt> – jako powód usunięcia ustawia "lokalny opis pliku, który znajduje się w Wikimedia Commons" {{OpakujKategorieZeSortowaniem|{{ek|plik}}}} * <tt>'''brudnopis'''</tt> – jako powód usunięcia ustawia "niepotrzeby brudnopis" {{OpakujKategorieZeSortowaniem|{{ek|brudnopis}}}} == Przykłady użycia == '''Przykład nr 1''' – wstawienie tylko szablonu, co nie jest zalecane, gdyż należy wskazywać powód: : <code><nowiki>{{ek}}</nowiki></code> '''Przykład nr 2''' – podanie uzasadnienia w parametrze pozycyjnym w sposób nienazwany: : <code><nowiki>{{ek|Ta strona nie spełnia wymogów podręcznikowości}}</nowiki></code> '''Przykład nr 3''' – podanie uzasadnienia w parametrze pozycyjnym w sposób nazwany: : <code><nowiki>{{ek|1=Naruszenie PA według http://pewna.witryna.pl/?a=bzz}}</nowiki></code> '''Przykład nr 4''' – podanie uzasadnienia w parametrze kluczowym z podaniem autora wstawienia szablonu na daną stronę za pomocą czterech tyld: : <code><nowiki>{{ek|powód=Ta strona narusza PA – wpisał to ~~~~}}</nowiki></code> == Użycie szablonu w innych szablonach == Ze względów technicznych, w innych szablonach przedmiotowy szablon wstawiamy osadzony pomiędzy znacznikami <tt>noinclude</tt> w postaci: : <code><nowiki><noinclude>{{ek|powód=uzasadnienie}}</noinclude></nowiki></code> == Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) == <templatedata> { "params": { "1": { "aliases": [ "wyjaśnienie" ], "label": "wyjaśnienie", "description": "Wyjaśnienie własnymi słowami dlaczego strona ma być skasowana", "example": "Ta strona nie spełnia wymogów nieencyklopedyczności.", "type": "content", "deprecated": "Zamiast tego pola użyj parametru 'powód'." }, "powód": { "aliases": [ "uzasadnienie" ], "label": "powód", "description": "Wyjaśnienie dlaczego strona ma zostać usunięta", "example": "Ta strona narusza PA – wpisał to ~~~~", "type": "content", "required": true }, "bez kategorii": { "label": "bez kategorii", "description": "Parametr używany tylko na stronach pomocowych, np.: w wykazach szablonów, jak np. Wikibooks:Szablony/Do usunięcia. Nie umieszcza stronę w kategorii: Ekspresowe kasowanie.", "type": "content" } }, "description": "Szablon ek służy do wysłania prośby do administratorów, aby skasowali daną stronę. Konieczne jest podanie uzasadnienia prośby. Szablon wstawia kategorię [[:Kategoria:Ekspresowe kasowanie]], dzięki temu strony" } </templatedata> == Zobacz też == {{DNU/opis/Zobacz też}} {{BrClear}} <includeonly> {{Kategorie | Szablony porządkowe | Szablony dodające kategorie | Usuwanie stron - szablony }} </includeonly> aokp9oj4cewp2gze7ede89gw7avnz21 Szablon:SdU/opis 10 33305 544534 517118 2026-05-28T11:19:41Z Persino 2851 /* Zobacz też */ 544534 wikitext text/x-wiki {{Podstrona dokumentacji}} {{Lua|Pudełko}} {{Wysokie ryzyko|częste użycie}} {{Skomplikowany}} <!-- DODAWAJ KATEGORIE NA DOLE STRONY --> == Użycie == Normalnie szablon {{S|SdU}} może być wywołany bez parametrów lub z parametrami poniżej poukładane w dwie grupy zmiennych: ; Zmienne podstawowe * {{Code|1}} = {{Code|{{!(}}naprawa{{!}}prowokacje{{!}}artykuły{{!}}kwestie techniczne{{)!}}}} (opcjonalny domyślnie na: ''artykuły''). ; Zmienne dodatkowe {{Szablonowy opis pudełka | opis parametrów szablonu = tak | nazwa szablonu = SdU }} * Powyższe zmienne o nazwie określonej liczbą naturalną można użyć również bez nazywania parametrów. == Przykład == === Użycia nieprawidłowe tego szablony === {{Szablonowy opis pudełka | nazwa szablonu = SdU }} ---- * A oto przykład wywołania szablonu z parametrem nieprawidłowym {{S|SdU}}, wtedy szablon zwróci błąd, wtedy strona jest przydzielana do kategorii: {{lk|Szablon SdU - błędne wywołania‎}}: ** {{s|SdU|katalog}}, {{OpakujKategorieZeSortowaniem|{{SdU|katalog|nazwij jednostką=tak|typ jednostki=artykuł}}}} === Prawidłowe użycia szablonu === Lub z żadnym parametrem, wtedy strona jest przydzielana do katalogu '''artykuły''' do kategorii: {{lk|Poczekalnia DNU - dyskusja (artykuły)}}: {{OpakujKategorieZeSortowaniem|{{SdU|nazwij jednostką=tak|typ jednostki=artykuł}}}} ---- ; A oto przykłady wywołania szablonu z jednym parametrem {{S|SdU}}: * Tzn. z: '''naprawa''', wtedy strona jest przydzielana do kategorii: {{lk|Poczekalnia DNU - dyskusja (naprawa)}} przy wywołaniu {{s|SdU|naprawa}}: {{OpakujKategorieZeSortowaniem|{{SdU|naprawa|nazwij jednostką=tak|typ jednostki=artykuł}}}} ---- * Tzn. z: '''prowokacje''', wtedy strona jest przydzielana do kategorii: {{lk|Poczekalnia DNU - dyskusja (prowokacje)}} przy wywołaniu {{s|SdU|prowokacje}}: {{OpakujKategorieZeSortowaniem|{{SdU|prowokacje|nazwij jednostką=tak|typ jednostki=artykuł}}}} ---- * Tzn. z: '''artykuły''', wtedy strona jest przydzielana do kategorii: {{lk|Poczekalnia DNU - dyskusja (artykuły)}} przy wywołaniu {{s|SdU|artykuły}}: {{OpakujKategorieZeSortowaniem|{{SdU|artykuły|nazwij jednostką=tak|typ jednostki=artykuł}}}} ---- * Tzn. z: '''kwestie techniczne''', wtedy strona jest przydzielana do kategorii: {{lk|Poczekalnia DNU - dyskusja (kwestie techniczne)}} przy wywołaniu {{|SdU|kwestie techniczne}}: {{OpakujKategorieZeSortowaniem|{{SdU|kwestie techniczne|nazwij jednostką=tak|typ jednostki=artykuł}}}} == Błędy == Błędy należy zgłaszać na stronie {{kwestie techniczne}}. == Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) == <templatedata> { "params": { "1": { "aliases": [ "naprawa", "prowokacje", "artykuły", "kwestie techniczne" ], "description": "Parametry służąca do informowania, że nad jednostką odbywa się dyskusja w Poczekalni.", "type": "string", "label": "Typ", "suggested": true }, "bez kategorii": { "description": "Wartość niepusta, wtedy szablon nie umieszcza strony w jakikolwiek kategorii.", "type": "string" }, "nazwij jednostką": { "description": "Szablon jednostki po prostu nazywa jednostkami.", "type": "string", "default": "Wartość pusta.", "autovalue": "" } }, "description": "Szablon informujący, czy odbywa się dyskusja w Poczekalni, czy stronę usunąć, czy naprawić.", "paramOrder": [ "1", "nazwij jednostką", "bez kategorii" ] } </templatedata> == Zobacz też == {{DNU/opis/Zobacz też}} {{BrClear}} <includeonly> {{Kategorie | Szablony porządkowe | Szablony dodające kategorie | Poczekalnia DNU - szablony | Usuwanie stron - szablony | Szablony problemów }} </includeonly> se5x9utquesxx22cqlxmexeccy3n9d1 Szablon:Dopracować/opis 10 33365 544546 531905 2026-05-28T11:55:58Z Persino 2851 /* Zobacz też */ 544546 wikitext text/x-wiki {{Podstrona dokumentacji}} {{Lua|Dopracować}} {{Wysokie ryzyko}} {{Spis treści}} <!-- EDYTUJ DOKUMENTACJĘ SZABLONU PONIŻEJ TEJ LINII --> == Składnia == Podstawowa składnia szablonu: : {{Code|{{s|Dopracować|{{!(}}nazwa problemu 1{{)!}} {{=}} {{!(}}data{{)!}}|{{!(}}nazwa problemu 2{{)!}} {{=}} {{!(}}data{{)!}}}}}} :: [data] w formacie rrrr-mm :: szablon przyjmuje dowolną liczbę problemów Przykłady: : {{Code|{{s|Dopracować|język {{=}} {{Czas|Y-m}}}}}} : {{Code|{{s|Dopracować|źródła {{=}} {{Czas|Y-m}}|styl {{=}} {{Czas|Y-m}}}}}} (więcej o wstawianiu kilku problemów w sekcji {{Link wewnętrzny|nagłówek=Kilka parametrów na raz|nazwa=Kilka parametrów na raz}}) Wskazówki: * Jeżeli [nazwa problemu] jest parametrem z tabeli poniżej (sekcja {{Link wewnętrzny|nagłówek=Parametry konkretnych problemów|nazwa=Parametry konkretnych problemów}}), wyświetlony zostanie zdefiniowany tekst. W przeciwnym razie wyświetlony zostanie tekst, który został wpisany do szablonu. Zob. sekcja {{Link wewnętrzny|nagłówek=Użycie|nazwa=Użycie}}. * Jeśli problem dotyczy tylko konkretnej sekcji, należy zastosować dodatkowy parametr "sekcja", zob. opis {{Link wewnętrzny|nagłówek=Parametry pomocnicze|nazwa=Parametry pomocnicze}}. == Użycie == Szablonu używamy do oznaczania jednostek w obsługiwanych przestrzeniach na obsługiwanych stronach tego szablonu, nie używając parametrów dodatkowych, tzn.: przestrzeń nazw: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}} (ale nie: {{lj2|Strona główna}}), {{Np|User|link=tak}} (ale nie strona główna Wikipedysty), {{Np|Category|link=tak}}, {{Np|Template|link=tak}} (strony opisu), {{Np|Module|link=tak}} (strony opisu), {{Np|Wikibooks|link=tak}} (ale nie: {{lr2|Strona główna}}) i {{Np|Help|link=tak}} oraz nibyprzestrzenie nazw: {{lr2|Brudnopis}} (brudnopis projektu), {{ls2|Brudnopis}} (brudnopis szablonu) i {{ld2|Brudnopis}} (brudnopis modułu), nie napisane zgodnie z zasadami lub zaleceniami edycyjnymi, a więc wymagają dopracowania, a z parametrami dodatkowymi sytuacja jest trochę inna. '''Wstawienie samego {{s|dopracować}} nie wystarcza zazwyczaj, by osoba chętna do poprawienia wiedziała od razu, jakie mankamenty znajdują się w jednostce''', dlatego zaleca się używać niżej opisanych parametrów. Pusty szablon na stronie nie generuje żadnych informacji, a kategoria {{lk|Szablon dopracować bez podanych parametrów}} zawiera listę takich stron. Parametry zostały określone, ponieważ niektóre problemy pojawiają się dość często i gdy użyjemy parametrów, w szablonie znajdą się linki do odpowiednich {{lpr|metastrony|metastron}}, a samo hasło przypisane zostanie do wąskiej kategorii zawierającej jednostki obarczone tymi problemami. Jeżeli jakiś problem nie został zdefiniowany, można go opisać po „|”. W szablonie można zmieścić dowolną liczbę parametrów (zazwyczaj aż tak dużo problemów nie ma, a jeżeli jest aż tyle, to najlepiej zrobić wpis na stronie dyskusji i użyć parametru {{Tt|sekcja dyskusji {{=}} nazwa sekcji}} === Data === Przy parametrach należy podać datę (rok i miesiąc, w formacie rrrr-mm) wstawienia szablonu. Nieistotna jest data wstawienia kwestionowanych informacji. Daty nie należy podawać, jeśli opis problemu jest zwykłym tekstem, a nie parametrem. A jeżeli nie wstawiano danych przy nienazwanych parametrach, to należy wstawić datę za pomocą zmiennej ''data'' według przykładu: '''{{Kolor|Maroon|data}}''' = {{Czas|Y-m}}. === Parametry konkretnych problemów === : Te parametry można stosować w dowolnej kolejności. {| class="wikitable" width=100% !width=35%|Parametr ! Efekt |- | {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|styl}}'''={{Czas|Y-m}}}}}} *dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: **{{lk|Jednostki wymagające poprawy stylu}}. | {{Dopracować|styl={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} |- | {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|język}}'''={{Czas|Y-m}}}}}} *dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: **{{lk|Jednostki niezgodne z normami polskiego języka literackiego}}. | {{Dopracować|język={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} |- | {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|tłumaczenie}}'''={{Czas|Y-m}}}}}} *dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: **{{lk|Jednostki wymagające przetłumaczenia}}. | {{Dopracować|tłumaczenie={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} |- | {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|źródła medyczne}}'''={{Czas|Y-m}}}}}} *dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: **{{lk|Jednostki medyczne wymagające dodania wiarygodnych źródeł}}. *działają też parametry {{tt|'''medref'''}}, {{tt|'''medwer'''}} *należy używać tylko w przypadku braków odpowiedniego uźródłowienia w hasach medycznych. W przypadku, kiedy cały artykuł (podręcznik) jest niezgodny z aktualną wiedzą medyczną, na jego górze powinien znajdować się szablon informacyjny {{s|nmed}}. | {{Dopracować|źródła medyczne={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} |- | {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|źródła}}'''={{Czas|Y-m}}}}}} *dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: **{{lk|Jednostki wymagające uzupełnienia źródeł}}. *działają też parametry {{Tt|'''Źródła'''}}, {{Tt|'''WER'''}} i {{Tt|'''wer'''}} *należy używać tylko w przypadku rażących braków w uźródłowieniu, mogących w przyszłości stać się źródłem poważnych problemów | {{Dopracować|źródła={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} |- | {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|opis bibliograficzny}}'''={{Czas|Y-m}}}}}} *dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: **{{lk|Jednostki zawierające niepełne opisy bibliograficzne}}. *działa też parametr {{Tt|'''niepełne źródła'''}} i {{Tt|'''niepełne źródło'''}} *do zastosowania w sytuacji, gdy np. źródle podano nazwisko i rok publikacji, ale bez tytułu publikacji. | {{Dopracować|opis bibliograficzny={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} |- | {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|tamże}}'''={{Czas|Y-m}}}}}} *dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: **{{lk|Jednostki wymagające poprawienia przypisów}}. *działają też parametry {{Tt|'''Ibidem'''}} i {{Tt|'''Ibid'''}} *do zastosowania w sytuacji, gdy jako źródło jest zastosowany zapis "Tamże", "Ibidem", "Ibid". Między treścią uźródłowioną przypisem z podaną publikacją, a fragmentem z przypisem podanym powyższy sposób zawsze ktoś może dodać treść z przypisem powołującym się na zupełnie inną publikację. | {{Dopracować|Tamże={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} |- | {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|więcej przypisów}}'''={{Czas|Y-m}}}}}} *dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: **{{lk|Jednostki z brakującymi przypisami}}. | {{Dopracować|więcej przypisów={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} |- | {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|nierzetelne}}'''={{Czas|Y-m}}}}}} *dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: **{{lk|Jednostki zawierające nierzetelne źródła}}. | {{Dopracować|nierzetelne={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} |- | {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|sprzeczne informacje}}'''={{Czas|Y-m}}}}}} *dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: **{{lk|Jednostki ze sprzecznymi informacjami}}. | {{Dopracować|sprzeczne informacje={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} |- | {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|zweryfikować}}'''={{Czas|Y-m}}}}}} *dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: **{{lk|Jednostki do weryfikacji}}. | {{Dopracować|zweryfikować={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} |- | {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|OR}}'''={{Czas|Y-m}}}}}} *dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: **{{lk|Jednostki zawierające własne teorie}}. *działa też parametr {{Tt|'''or'''}} | {{Dopracować|OR={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} |- | {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|pov}}'''={{Czas|Y-m}}}}}} *dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: **{{lk|Jednostki wymagające neutralnego ujęcia tematu}}. *działają też parametry {{Tt|'''POV'''}} i {{Tt|'''neutralność'''}} | {{Dopracować|pov={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} |- | {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|reklama}}'''={{Czas|Y-m}}}}}} *dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: **{{lk|Jednostki napisane w formie reklamy}}. | {{Dopracować|reklama={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} |- | {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|kryteria}}'''={{Czas|Y-m}}}}}} *dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: **{{lk|Jednostki bez kryteriów dla list}}. | {{Dopracować|kryteria={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} |- | {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|ency}}'''={{Czas|Y-m}}}}}} *dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: **{{lk|Jednostki z encyklopedycznymi treściami}}. | {{Dopracować|ency={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} |- | {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|polonocentryzm}}'''={{Czas|Y-m}}}}}} *dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: **{{lk|Jednostki polonocentryczne}}. | {{Dopracować|polonocentryzm={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} |- | {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|pustosłowie}}'''={{Czas|Y-m}}}}}} *dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: **{{lk|Jednostki z pustosłowiem}}. | {{Dopracować|pustosłowie={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} |- | {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|łasiczki}}'''={{Czas|Y-m}}}}}} *dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: **{{lk|Jednostki z wyrażeniami zwodniczymi}}. *działa też parametr {{Tt|'''zwodnicze'''}} | {{Dopracować|łasiczki={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} |- | {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|ciekawostki}}'''={{Czas|Y-m}}}}}} *dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: **{{lk|Jednostki z ciekawostkami}}. *działa też parametr {{Tt|'''trivia'''}} | {{Dopracować|ciekawostki={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} |- | {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|linki}}'''={{Czas|Y-m}}}}}} *dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: **{{lk|Jednostki z linkami wewnętrznymi do dodania}}. | {{Dopracować|linki={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} |- | {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|linkizew}}'''={{Czas|Y-m}}}}}} *dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: **{{lk|Jednostki z linkami zewnętrznymi do wyczyszczenia}}. | {{Dopracować|linkizew={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} |- | {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|wikikod}}'''={{Czas|Y-m}}}}}} *dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: **{{lk|Jednostki do poprawy wikikodu}}. | {{Dopracować|wikikod={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} |- | {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|kategoria}}'''={{Czas|Y-m}}}}}} *dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: **{{lk|Jednostki wymagające umieszczenia w odpowiedniej kategorii}}. *działa też parametr {{Tt|'''kategorie'''}} | {{Dopracować|kategoria={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} |- | {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|format}}'''={{Czas|Y-m}}}}}} *dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: **{{lk|Jednostki wymagające formatowania}}. *działają też parametry {{Tt|'''formatowanie'''}}, {{Tt|'''forma'''}} i {{Tt|'''wikizacja'''}} | {{Dopracować|format={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} |- | {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|brak definicji}}'''={{Czas|Y-m}}}}}} *dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: **{{lk|Jednostki wymagające podania definicji}}. *działa też parametr {{Tt|'''definicja'''}} | {{Dopracować|brak definicji={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} |- | {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|lead}}'''={{Czas|Y-m}}}}}} *dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: **{{lk|Jednostki wymagające poprawy leadu}}. *działa też parametr {{Tt|'''wstęp'''}} i {{Tt|'''wprowadzenie'''}} | {{Dopracować|lead={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} |- | {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|uzupełnić}}'''={{Czas|Y-m}}}}}} *dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: **{{lk|Jednostki wymagające uzupełnienia informacji}}. *działają też parametry {{Tt|'''rozbudować'''}} i {{Tt|'''rozwinąć'''}} | {{Dopracować|uzupełnić={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} |- | {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|dane biograficzne}}'''={{Czas|Y-m}}}}}} *dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: **{{lk|Jednostki z biogramami wymagającymi uzupełnienia podstawowych informacji}}. | {{Dopracować|dane biograficzne={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} |- | {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|aktualizacja}}'''={{Czas|Y-m}}}}}} *dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: **{{lk|Jednostki wymagające aktualizacji}}. | {{Dopracować|aktualizacja={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} |- | {{Code|{{s|Dopracować|2='''{{Kolor|Maroon|aktualizacja stanu prawnego}}'''={{Czas|Y-m}}}}}} *dodaje kategorię na stronę w zależności od przestrzeni nazw, w którym jest ta strona, lub typu strony w przestrzeniach, lub niby-przestrzeniach, ale nazw, książkowych albo techniczno-opisowych: **{{lk|Jednostki z dziedziny prawa wymagające aktualizacji}}. | {{Dopracować|aktualizacja stanu prawnego={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}} |} === Parametry pomocnicze === {| class="wikitable" width=100% !width=35%|Parametr ! Efekt |- | {{s|Dopracować|sekcja dyskusji{{=}}Nazwa sekcji na stronie dyskusji|nierzetelne{{=}}{{Czas|Y-m}}}} : parametr zalecany w sytuacjach, w których uchybienia są liczne; wtedy zgrabniej wyliczyć je w jednej sekcji na stronie dyskusji, niż w szablonie : należy pamiętać o podaniu przynajmniej jednego konkretnego parametru, inaczej wyświetli się komunikat, że nie wyszczególniono niedoskonałości | {{Dopracować|sekcja dyskusji=Nazwa sekcji na stronie dyskusji|nierzetelne={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=strona opisu szablonu|nazwij jednostką=tak|bez błędu=tak}} |- | {{s|Dopracować|sekcja|źródła{{=}}{{Czas|Y-m}}}} : to pole wpisujemy jako pierwsze, gdy problem dotyczy konkretnej sekcji w danym haśle : po nim umieszczamy konkretny parametr | {{Dopracować|sekcja|źródła={{Czas|Y-m}}|bez kategorii=tak|typ jednostki=strona opisu szablonu|nazwij jednostką=tak|bez błędu=tak}} |} === Parametry dodatkowe === {{Szablonowy opis pudełka | opis parametrów szablonu = tak | nazwa szablonu = Dopracować }} ===Umieszczanie, przez szablon strony w kategorii w przypadku błędu, i wynik użycia=== {{Szablonowy opis pudełka | nazwa szablonu = Dopracować }} == Kilka parametrów na raz == W wywołaniu szablonu może być podawany jeden lub więcej parametrów. Jeśli wstawiamy szablon do sekcji, to pierwszy parametr musi być słowem „sekcja” (i oczywiście takie wywołanie szablonu powinno być wstawione w sekcji) – podanie innego słowa spowoduje uznanie go za pominięcie parametru nr 1 i przypisanie tego słowa parametrowi nr 2. W razie podania parametru nr 2, czyli tekstu, który pojawi się w drugim akapicie komunikatu, trzeba ułożyć ten tekst tak, aby był poprawny gramatycznie. Będzie to tekst odpowiadający na pytanie – co należy poprawić? === Przykłady === {{s|1=Dopracować|2=styl={{Czas|Y-m}}|3=neutralność={{Czas|Y-m}}|4=źródła={{Czas|Y-m}}|5=pustosłowie={{Czas|Y-m}}|6=język={{Czas|Y-m}}}} {{OpakujKategorieZeSortowaniem|{{Dopracować|styl={{Czas|Y-m}}|neutralność={{Czas|Y-m}}|źródła={{Czas|Y-m}}|pustosłowie={{Czas|Y-m}}|język={{Czas|Y-m}}|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}}|kategorie istnieją=tak}} {{s|1=Dopracować|2=styl={{Czas|Y-m}}|3=źródła={{Czas|Y-m}}|4=pustosłowie={{Czas|Y-m}}|5=dane liczbowe – są niepoprawne, składy – są nieaktualne, poprawić transliterację nazwisk}} {{OpakujKategorieZeSortowaniem|{{Dopracować|styl={{Czas|Y-m}}|źródła={{Czas|Y-m}}|pustosłowie={{Czas|Y-m}}|dane liczbowe – są niepoprawne, składy – są nieaktualne, poprawić transliterację nazwisk|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}}|kategorie istnieją=tak}} {{s|1=Dopracować|2=styl={{Czas|Y-m}}|3=źródła={{Czas|Y-m}}|4=pustosłowie={{Czas|Y-m}}|5=dane liczbowe – są niepoprawne, składy – są nieaktualne, poprawić transliterację nazwisk|6=format={{Czas|Y-m}}|7=brak definicji={{Czas|Y-m}}}} {{OpakujKategorieZeSortowaniem|{{Dopracować|styl={{Czas|Y-m}}|źródła={{Czas|Y-m}}|pustosłowie={{Czas|Y-m}}|dane liczbowe – są niepoprawne, składy – są nieaktualne, poprawić transliterację nazwisk|format={{Czas|Y-m}}|brak definicji={{Czas|Y-m}}|typ jednostki=artykuł|nazwij jednostką=tak|bez błędu=tak}}|kategorie istnieją=tak}} == Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) == <templatedata> { "description": "Gdy strona wymaga poprawy", "params": { "1": { "label": "własny komentarz", "description": "To pole wybieramy, gdy chcemy wpisać komentarz „swoimi słowami”. Zalecamy jednak korzystać z pozostałych parametrów, które wyczerpują większość najczęstszych problemów.", "type": "string" }, "sekcja": { "label": "Sekcja", "description": "To pole wybieramy, gdy problem dotyczy konkretnej sekcji na stronie. Można w nim wpisać komentarz „swoimi słowami”. Zalecamy jednak pozostawić go pustym i korzystać z pozostałych parametrów, które wyczerpują większość najczęstszych problemów.", "type": "string" }, "sekcja dyskusji": { "label": "Uwagi na stronie dyskusji", "description": "Wybierz to pole, jeżeli dodatkowe wyjaśnienia są w konkretnej sekcji na stronie dyskusji strony. Wpisz nazwę sekcji.", "type": "string" }, "styl": { "label": "Styl", "description": "Wybierz to pole, jeżeli strona wymaga poprawy stylu.", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "brak definicji": { "label": "Brak definicji", "aliases": [ "definicja" ], "description": "Wybierz to pole, jeżeli należy poprawić lub napisać definicję.", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "źródła": { "label": "Brak źródeł", "aliases": [ "WER", " wer" ], "description": "Wybierz to pole, jeżeli należy zweryfikować treść i dodać źródła, a widzisz rażące braki w uźródłowieniu, mogące w przyszłości stać się źródłem poważnych problemów.", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "POV": { "label": "Tekst nieneutralny", "aliases": [ "pov", " neutralność" ], "description": "Wybierz to pole, jeżeli strona nie jest napisana w sposób neutralny.", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "ency": { "label": "Encyklopedyczne treści", "description": "Wybierz to pole, jeżeli strona zawiera encyklopedyczne treści.", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "pustosłowie": { "label": "Pustosłowie", "aliases": [ "trawa" ], "description": "Wybierz to pole, jeżeli strona zawiera pustosłowie.", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "łasiczki": { "label": "Zwodnicze wyrażenia", "aliases": [ "zwodnicze" ], "description": "Wybierz to pole, jeżeli strona zawiera zwodnicze wyrażenia.", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "ciekawostki": { "label": "Ciekawostki", "aliases": [ "trivia" ], "description": "Użyj tego parametru, jeżeli strona zawiera informacje sformułowane jako ciekawostki.", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "język": { "label": "Błędy językowe", "description": "Wybierz to pole, jeżeli strona zawiera błędy językowe (jest napisany niezgodnie z normami polskiego języka literackiego).", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "linki": { "label": "Linki", "description": "Wybierz to pole, jeżeli trzeba wstawić linki do innych haseł.", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "kategoria": { "label": "Brak kategorii", "aliases": [ "kategorie" ], "description": "Wybierz to pole, jeżeli strona nie jest dołączona do żadnej kategorii.", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "format": { "label": "Formatowanie", "aliases": [ "formatowanie", "forma", "wikizacja" ], "description": "Wybierz to pole, jeżeli należy sformatować tekst (podzielić na sekcje, umieścić tabele itp.).", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "sprzeczne informacje": { "label": "Sprzeczne informacje", "description": "Wybierz to pole, jeżeli należy wyeliminować sprzeczne informacje.", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "dane biograficzne": { "label": "Dane biograficzne", "description": "Wybierz to pole, jeżeli należy dodać podstawowe dane biograficzne.", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "tłumaczenie": { "label": "Tłumaczenie", "description": "Wybierz to pole, jeżeli należy poprawić tłumaczenie fragmentów tekstu.", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "źródła medyczne": { "label": "Brak źródeł medycznych", "aliases": [ "medref", " medwer" ], "description": "Wybierz to pole, jeżeli informacje medyczne nie są poparte dowodami naukowymi (zgodnie z EBM).", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "OR": { "label": "Twórczość własna", "aliases": [ "or" ], "description": "Wybierz to pole, jeżeli strona może zawierać twórczość własną (tj. informacje nigdzie wcześniej nieopublikowane).", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "polonocentryzm": { "label": "Polonocentryzm", "description": "Wybierz to pole, jeżeli należy zredagować tekst w taki sposób, aby nie był polonocentryczny. Jeżeli strona dotyczy pojęć prawniczych, zalecamy użyć szablonu „zasięg geograficzny”, ponieważ strona z tej dziedziny wyjątkowo trudno opisać w sposób niepolonocentryczny.", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "aktualizacja": { "label": "Aktualizacja", "description": "Wybierz to pole, jeżeli strona zawiera nieaktualne informacje.", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "aktualizacja stanu prawnego": { "label": "Aktualizacja stanu prawnego", "description": "Wybierz to pole, jeżeli strona zawiera nieaktualne informacje na temat norm lub przepisów prawnych.", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "reklama": { "label": "Reklama", "description": "Wybierz to pole, jeżeli strona jest napisany w formie reklamy.", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "linkizew": { "label": "Linki zewnętrzne", "description": "Wybierz to pole, jeżeli strona zawiera niewłaściwe linki zewnętrzne (zob. na Wikipedii: Wikipedia:Zasady wstawiania linków zewnętrznych).", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "kryteria": { "label": "Lista bez wyraźnych kryteriów", "description": "Wybierz to pole, jeżeli strona zawiera informacje przedstawione w formie bezładnej listy (bez wyraźnych kryteriów).", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "więcej przypisów": { "label": "Więcej przypisów", "description": "Wybierz to pole, jeżeli strona zawiera niedostateczną liczbę przypisów. Jeżeli w artykule w ogóle nie ma przypisów lub braki są rażące, wybierz parametr „źródła”.", "type": "string", "autovalue": "{{subst:#time:Y-m}}" }, "wikikod": { "label": "Wikikod", "description": "Wybierz to pole, jeżeli należy poprawić kod źródłowy strony.", "type": "string", "autovalue": "{{subst:#time:Y-m}}" } }, "paramOrder": [ "1", "sekcja", "sekcja dyskusji", "źródła", "styl", "format", "brak definicji", "POV", "ency", "pustosłowie", "łasiczki", "ciekawostki", "język", "linki", "kategoria", "sprzeczne informacje", "dane biograficzne", "tłumaczenie", "źródła medyczne", "OR", "polonocentryzm", "aktualizacja", "aktualizacja stanu prawnego", "reklama", "linkizew", "kryteria", "więcej przypisów", "wikikod" ] } </templatedata> == Zobacz też == {{Dopracować/opis/Zobacz też}} {{BrClear}} <includeonly> <!-- DODAJ KATEGORIE PONIŻEJ TEJ LINII --> {{Kategorie | Omiń w druku | Szablony dodające kategorie | Szablony problemów umieszczane na stronach }} <!-- DODAJ INTERWIKI PONIŻEJ TEJ LINII --> </includeonly> jr32tzb6ylbjhrsa6y3o0a81z8mbnsb Szablon:NPA/opis 10 33368 544540 517012 2026-05-28T11:22:48Z Persino 2851 /* Zobacz też */ 544540 wikitext text/x-wiki {{Podstrona dokumentacji}} {{Lua|Pudełko}} {{Wysokie ryzyko|częste użycie}} {{Skomplikowany}} <!-- DODAWAJ KATEGORIE NA DOLE STRONY --> == Użycie == Dodaj link do {{Span|klasa=plainlinks|{{lz|s=Wikibooks:Lista Naruszeń Praw Autorskich (NPA)/Zgłoszenia artykułów|c=action=edit&section=new|n=na stronie zgłoszeń artykułów na WB:LNPA}} w przypadku artykułów, {{lz|s=Wikibooks:Lista Naruszeń Praw Autorskich (NPA)/Zgłoszenia podręczników|c=action=edit&section=new|n=na stronie zgłoszeń podręczników na WB:LNPA}} w przypadku podręczników i {{lz|s=Wikibooks:Lista Naruszeń Praw Autorskich (NPA)/Zgłoszenia plików|c=action=edit&section=new|n=na stronie zgłoszeń plików na WB:LNPA}} w przypadku plików}}. Jeżeli uważasz, że prawa autorskie może naruszać całą treść artykułu lub podręcznika albo plik, skorzystaj z formularza: : <nowiki>== [[</nowiki>Nazwa jednostki<nowiki>]] ==</nowiki> : <nowiki>* źródło: (…)</nowiki> jeżeli tylko fragment jednostki może naruszać prawa autorskie, użyj tego: : <nowiki>== [[</nowiki>Nazwa jednostki<nowiki>]] ==</nowiki> : <nowiki>* źródło: (…) ~~~~</nowiki> : <nowiki>* uwagi: prawa autorskie narusza część jednostki. ~~~~</nowiki> == Opis parametrów == Przedstawiono poniżej zmienne, które podzielono na dwie grupy, wykorzystane w tym szablonie. ; Podstawowe zmienne * {{Code|adres}} - adres strony skąd pochodzi tekst umieszczony na Wikibooks, a jeżeli ten parametr nie jest podany, to wtedy się liczą co najwyżej dwa poniższe parametry, * {{Code|1}} - źródło, z którego pochodzi NPA. Jeżeli NPA dotyczy fragmentu treści, wstawiamy „fragment”, jeżeli zmienna adres nie jest podana, wtedy (nieopcjonalny), * {{Code|2}} - jeżeli w parametrze 1. jest „fragment”, tutaj wpisujemy źródło, z którego pochodzi NPA, wtedy {nieopcjonalny} w przeciwnym przypadku tego parametru nie podajemy. ; Zmienne dodatkowe {{Szablonowy opis pudełka | opis parametrów szablonu = tak | nazwa szablonu = NPA }} == Przykłady zgłaszania Naruszenia Praw Autorskich (NPA) == === Przykłady nieprawidłowego użycia szablonu (NPA) === {{Szablonowy opis pudełka | nazwa szablonu = NPA }} === Przypadki prawidłowego użycia szablonu {{s|NPA}} === ==== Przykład pierwszy ==== Oto pierwsze przykłady stosowania szablonu {{s|NPA}} generujące to samo: * {{s|NPA|adres{{=}}<nowiki>http://www.adres.strony.pl</nowiki>|nazwij jednostką{{=}}tak}}, {{s|NPA|adres{{=}}<nowiki>http://www.adres.strony.pl</nowiki>}}, * {{s|NPA|<nowiki>http://www.adres.strony.pl</nowiki>|nazwij jednostką{{=}}tak}}, {{s|NPA|<nowiki>http://www.adres.strony.pl</nowiki>}}, ===== Artykuł ===== ; Wynik w przypadku, gdy szablon {{S|NPA}} jest wywołany w artykule nie na stronie głównej książki lub broszury * Szablon umieszcza artykuł w kategorii: {{lk|Artykuły podejrzane o naruszenie praw autorskich}}. {{OpakujKategorieZeSortowaniem|{{NPA|adres=http://www.adres.strony.pl|nazwij jednostką=tak|typ jednostki=artykuł}}}} {{OpakujKategorieZeSortowaniem|{{NPA|adres=http://www.adres.strony.pl|typ jednostki=artykuł}}}} ===== Podręcznik ===== ; Wynik w przypadku, gdy szablon {{S|NPA}} jest wywołany w artykule na stronie głównej książki lub broszury * Szablon umieszcza podręcznik w kategorii: {{lk|Podręczniki podejrzane o naruszenie praw autorskich}}. {{OpakujKategorieZeSortowaniem|{{NPA|adres=http://www.adres.strony.pl|nazwij jednostką=tak|typ jednostki=podręcznik}}}} {{OpakujKategorieZeSortowaniem|{{NPA|adres=http://www.adres.strony.pl|typ jednostki=podręcznik}}}} ===== Artykuł dla dzieci ===== ; Wynik w przypadku, gdy szablon {{S|NPA}} jest wywołany w artykule nie na stronie głównej książki lub broszury * Szablon umieszcza artykuł w kategorii: {{lk|Artykuły dla dzieci podejrzane o naruszenie praw autorskich}}. {{OpakujKategorieZeSortowaniem|{{NPA|adres=http://www.adres.strony.pl|nazwij jednostką=tak|typ jednostki=artykuł dla dzieci}}}} {{OpakujKategorieZeSortowaniem|{{NPA|adres=http://www.adres.strony.pl|typ jednostki=artykuł dla dzieci}}}} ===== Podręcznik dla dzieci ===== ; Wynik w przypadku, gdy szablon {{S|NPA}} jest wywołany w artykule na stronie głównej książki lub broszury * Szablon umieszcza podręcznik w kategorii: {{lk|Podręczniki dla dzieci podejrzane o naruszenie praw autorskich}}. {{OpakujKategorieZeSortowaniem|{{NPA|adres=http://www.adres.strony.pl|nazwij jednostką=tak|typ jednostki=podręcznik dla dzieci}}}} {{OpakujKategorieZeSortowaniem|{{NPA|adres=http://www.adres.strony.pl|typ jednostki=podręcznik dla dzieci}}}} ===== Użytkownik ===== ; Wynik w przypadku, gdy szablon {{S|NPA}} jest wywołany w jednostce użytkownika * Szablon umieszcza tą jednostkę w kategorii: {{lk|Jednostki użytkowników podejrzane o naruszenie praw autorskich}}. {{OpakujKategorieZeSortowaniem|{{NPA|adres=http://www.adres.strony.pl|nazwij jednostką=tak|typ jednostki=jednostka użytkownika}}}} {{OpakujKategorieZeSortowaniem|{{NPA|adres=http://www.adres.strony.pl|typ jednostki=jednostka użytkownika}}}} ===== Plik ===== ; Wynik w przypadku, gdy szablon {{S|NPA}} jest wywołany w pliku * Szablon umieszcza plik w kategorii: {{lk|Pliki podejrzane o naruszenie praw autorskich}}. {{OpakujKategorieZeSortowaniem|{{NPA|adres=http://www.adres.strony.pl|nazwij jednostką=tak|typ jednostki=strona pliku}}}} {{OpakujKategorieZeSortowaniem|{{NPA|adres=http://www.adres.strony.pl|typ jednostki=strona pliku}}}} ===== Brudnopis projektu ===== ; Wynik w przypadku, gdy szablon {{S|NPA}} jest wywołany w jednostce brudnopisu projektu * Szablon umieszcza tą jednostkę w kategorii: {{lk|Jednostki brudnopisu projektu podejrzane o naruszenie praw autorskich}}. {{OpakujKategorieZeSortowaniem|{{NPA|adres=http://www.adres.strony.pl|nazwij jednostką=tak|typ jednostki=jednostka brudnopisu projektu}}}} {{OpakujKategorieZeSortowaniem|{{NPA|adres=http://www.adres.strony.pl|typ jednostki=jednostka brudnopisu projektu}}}} ==== Przykład drugi ==== Oto drugi przykład stosowania szablonu {{s|NPA}} generujące to samo: * {{s|NPA|fragment|adres{{=}}<nowiki>http://www.adres.strony.pl</nowiki>}} * {{s|NPA|fragment|<nowiki>http://www.adres.strony.pl</nowiki>}} ===== Artykuł ===== ; Wynik w przypadku, gdy szablon {{S|NPA}} jest wywołany w artykule nie na stronie głównej książki lub broszury * Szablon umieszcza artykuł w kategorii: {{lk|Artykuły podejrzane o naruszenie praw autorskich}}. {{OpakujKategorieZeSortowaniem|{{NPA|fragment|adres=http://www.adres.strony.pl|nazwij jednostką=tak|typ jednostki=artykuł}}}} {{OpakujKategorieZeSortowaniem|{{NPA|fragment|adres=http://www.adres.strony.pl|typ jednostki=artykuł}}}} ===== Podręcznik ===== ; Wynik w przypadku, gdy szablon {{S|NPA}} jest wywołany w artykule na stronie głównej książki lub broszury * Szablon umieszcza artykuł w kategorii: {{lk|Podręczniki podejrzane o naruszenie praw autorskich}}. {{OpakujKategorieZeSortowaniem|{{NPA|fragment|adres=http://www.adres.strony.pl|nazwij jednostką=tak|typ jednostki=podręcznik}}}} {{OpakujKategorieZeSortowaniem|{{NPA|fragment|adres=http://www.adres.strony.pl|typ jednostki=podręcznik}}}} ===== Artykuł dla dzieci ===== ; Wynik w przypadku, gdy szablon {{S|NPA}} jest wywołany w artykule nie na stronie głównej książki lub broszury * Szablon umieszcza artykuł w kategorii: {{lk|Artykuły dla dzieci podejrzane o naruszenie praw autorskich}}. {{OpakujKategorieZeSortowaniem|{{NPA|fragment|adres=http://www.adres.strony.pl|nazwij jednostką=tak|typ jednostki=artykuł dla dzieci}}}} {{OpakujKategorieZeSortowaniem|{{NPA|fragment|adres=http://www.adres.strony.pl|typ jednostki=artykuł dla dzieci}}}} ===== Podręcznik dla dzieci ===== ; Wynik w przypadku, gdy szablon {{S|NPA}} jest wywołany w artykule na stronie głównej książki lub broszury * Szablon umieszcza podręcznik w kategorii: {{lk|Podręczniki dla dzieci podejrzane o naruszenie praw autorskich}}. {{OpakujKategorieZeSortowaniem|{{NPA|fragment|adres=http://www.adres.strony.pl|nazwij jednostką=tak|typ jednostki=podręcznik dla dzieci}}}} {{OpakujKategorieZeSortowaniem|{{NPA|fragment|adres=http://www.adres.strony.pl|typ jednostki=podręcznik dla dzieci}}}} ===== Użytkownik ===== ; Wynik w przypadku, gdy szablon {{S|NPA}} jest wywołany w jednostce użytkownika * Szablon umieszcza tą jednostkę w kategorii: {{lk|Jednostki użytkowników podejrzane o naruszenie praw autorskich}}. {{OpakujKategorieZeSortowaniem|{{NPA|fragment|adres=http://www.adres.strony.pl|nazwij jednostką=tak|typ jednostki=jednostka użytkownika}}}} {{OpakujKategorieZeSortowaniem|{{NPA|fragment|adres=http://www.adres.strony.pl|typ jednostki=jednostka użytkownika}}}} ===== Plik ===== ; Wynik w przypadku, gdy szablon {{S|NPA}} jest wywołany w pliku * Szablon umieszcza plik w kategorii: {{lk|Pliki podejrzane o naruszenie praw autorskich}}. {{OpakujKategorieZeSortowaniem|{{NPA|fragment|adres=http://www.adres.strony.pl|nazwij jednostką=tak|typ jednostki=strona pliku}}}} {{OpakujKategorieZeSortowaniem|{{NPA|fragment|adres=http://www.adres.strony.pl|typ jednostki=strona pliku}}}} ===== Brudnopis projektu ===== ; Wynik w przypadku, gdy szablon {{S|NPA}} jest wywołany w jednostce brudnopisu projektu * Szablon umieszcza tą jednostkę w kategorii: {{lk|Jednostki brudnopisu projektu podejrzane o naruszenie praw autorskich}}. {{OpakujKategorieZeSortowaniem|{{NPA|fragment|adres=http://www.adres.strony.pl|nazwij jednostką=tak|typ jednostki=jednostka brudnopisu projektu}}}} {{OpakujKategorieZeSortowaniem|{{NPA|fragment|adres=http://www.adres.strony.pl|typ jednostki=jednostka brudnopisu projektu}}}} == Błędy == Błędy należy zgłaszać na stronie {{Kwestie techniczne}}. == Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) == == Zobacz też == {{DNU/opis/Zobacz też}} {{BrClear}} <includeonly><!-- ++++ DODAWAJ KATEGORIE PONIŻEJ TEJ LINII --> {{Kategorie | Szablony problemów umieszczane na stronach | Prawa autorskie w Wikibooks - szablony | Usuwanie stron - szablony }} </includeonly> 4ahotvfv12xspciychdgr8fu55ayrlr Szablon:NPA całość 10 33888 544542 505696 2026-05-28T11:33:37Z Persino 2851 544542 wikitext text/x-wiki <includeonly>{{#invoke:Pudełko|Ogólne pudełko | cecha = {{#invoke:Pudełko|Cecha pudełka|pierwszy człon kategorii błędu=Szablon NPA całość|nieobsługiwana strona główna dla dzieci=tak|nieobsługiwane strony główne użytkowników=tak|obsługiwany brudnopis projektu=tak|(main)|Wikijunior|User|File}} | nazwa przestrzeni nazw = {{#invoke:Pudełko|Nazwa przestrzeni nazw|Template}} | typ = poważny | grafika = {{ikona|copyrightproblem|50}} | tekst = {{P|styl=font-size: 1.25em; font-weight: bold; |Zawartość {{#if:{{{nazwij jednostką|}}}<!-- -->| tej jednostki |{{#switch:{{#invoke:Pudełko|Typ jednostki}}|artykuł=tego artykułu|podręcznik=tego podręcznika|artykuł dla dzieci=tego artykułu dla dzieci|podręcznik dla dzieci=tego podręcznika dla dzieci|jednostka brudnopisu projektu=tej jednostki brudnopisu projektu|jednostka użytkownika=tej jednostki użytkownika|strona pliku=tego pliku|#default=tej jednostki }} }} może naruszać {{lr|Prawa autorskie|prawa autorskie}}.<!-- -->}} {{lż|{{{bot}}}}} zidentyfikował, że zawartość <!-- -->{{#if:{{{nazwij jednostką|}}} | tej jednostki |{{#switch:{{#invoke:Pudełko|Typ jednostki}}|artykuł=tego artykułu|podręcznik=tego podręcznika|artykuł dla dzieci=tego artykułu dla dzieci|podręcznik dla dzieci=tego podręcznika dla dzieci|jednostka brudnopisu projektu=tej jednostki brudnopisu projektu|jednostka użytkownika=tej jednostki użytkownika|strona pliku= tego pliku|#default=tej jednostki }} }} jest kopią: :{{{1|{{{url}}}}}} Link do <!-- -->{{#if:{{{nazwij jednostką|}}} | tej jednostki |{{#switch:{{#invoke:Pudełko|Typ jednostki}}|artykuł=tego artykułu|podręcznik=tego podręcznika|artykuł dla dzieci=tego artykułu dla dzieci|podręcznik dla dzieci=tego podręcznika dla dzieci|jednostka brudnopisu projektu=tej jednostki brudnopisu projektu|jednostka użytkownika=tej jednostki użytkownika|strona pliku=tego pliku|#default=tej jednostki }} }} został dodany do {{lr|Lista Naruszeń Praw Autorskich (NPA)<!-- -->{{#if:{{{nazwij jednostką|}}} | |{{#switch:{{#invoke:Pudełko|Typ jednostki}}|artykuł=/Zgłoszenia artykułów|podręcznik=/Zgłoszenia podręczników|artykuł dla dzieci=/Zgłoszenia artykułów dla dzieci|podręcznik dla dzieci=/Zgłoszenia podręczników dla dzieci|jednostka brudnopisu projektu=/Zgłoszenia jednostek brudnopisu projektu|jednostka użytkownika=/Zgłoszenia jednostek użytkowników|strona pliku=/Zgłoszenia plików|#default=/Zgłoszenia jednostek }} }}#{{FULLPAGENAME}}<!-- -->|Wikibooks:Lista Naruszeń Praw Autorskich (NPA)<!-- -->{{#if:{{{nazwij jednostką|}}} | |{{#switch:{{#invoke:Pudełko|Typ jednostki}}|artykuł=/Zgłoszenia artykułów|podręcznik=/Zgłoszenia podręczników|artykuł dla dzieci=/Zgłoszenia artykułów dla dzieci|podręcznik dla dzieci=/Zgłoszenia podręczników dla dzieci|jednostka brudnopisu projektu=/Zgłoszenia jednostek brudnopisu projektu|jednostka użytkownika=/Zgłoszenia jednostek użytkowników|strona pliku=/Zgłoszenia plików|#default=/Zgłoszenia jednostek }} }}<!-- -->}}. Jeśli stan prawny {{#if:{{{nazwij jednostką|}}}|zawartości tej jednostki|{{#switch:{{#invoke:Pudełko|Typ jednostki}}|artykuł=tekstu w artykule|podręcznik=tekstu w podręczniku|artykuł dla dzieci=tekstu w artykule dla dzieci|podręcznik dla dzieci=tekstu w podręczniku dla dzieci|jednostka brudnopisu projektu=tekstu w jednostce brudnopisu projektu|jednostka użytkownika=tekstu w jednostce użytkownika|strona pliku=tego pliku|#default=zawartości tej jednostki}}}} nie zostanie wyjaśniony, to zostanie on w najbliższym czasie usunięty. '''Proponowane rozwiązania:''' {{#invoke:Ramka|Szablon|Nazwa=NPA całość/rozwiązania}} ---- {{Small|Ten szablon został wstawiony automatycznie przez robota {{lż|{{{bot}}}}}, którego opiekunem jest {{lż|{{{opiekun}}}}}.{{Br}}Jeśli robot popełnił błąd, przepraszamy! Koniecznie skontaktuj się z jego opiekunem – [{{fullurl:Dyskusja_wikipedysty:{{{opiekun}}}|action=edit&section=new}} kliknij tu], by zostawić wiadomość.}} | kategorie = {{#if:{{{bez kategorii|}}}|| {{#switch:{{#invoke:Pudełko|Typ jednostki}} | artykuł = __NOINDEX__ {{#invoke:Skrót|Kategoria|Artykuły podejrzane o naruszenie praw autorskich}} | podręcznik = __NOINDEX__ {{#invoke:Skrót|Kategoria|Podręczniki podejrzane o naruszenie praw autorskich}} | artykuł dla dzieci = __NOINDEX__ {{#invoke:Skrót|Kategoria|Artykuły dla dzieci podejrzane o naruszenie praw autorskich}} | podręcznik dla dzieci = __NOINDEX__ {{#invoke:Skrót|Kategoria|Podręczniki dla dzieci podejrzane o naruszenie praw autorskich}} | jednostka brudnopisu projektu = __NOINDEX__ {{#invoke:Skrót|Kategoria|Jednostki brudnopisu projektu podejrzane o naruszenie praw autorskich}} | jednostka użytkownika = __NOINDEX__ {{#invoke:Skrót|Kategoria|Jednostki użytkowników podejrzane o naruszenie praw autorskich}} | strona pliku = __NOINDEX__ {{#invoke:Skrót|Kategoria|Pliki podejrzane o naruszenie praw autorskich}} | #default = }}}} }}</includeonly><noinclude>{{Dokumentacja|zawartość=Ten szablon wstawiany jest automatycznie przez bota na strony nowych artykułów lub plików, które mogą naruszać {{lpg|prawo autorskie|prawa autorskie}}.}} {{Kategorie | Szablony problemów umieszczane na stronach | Prawa autorskie w Wikibooks - szablony | Szablony dodające kategorie | Usuwanie stron - szablony }} </noinclude> l6egm0zqsis6crlttg2sze18p3disgn Szablon:SdUwynik/opis 10 33891 544535 516424 2026-05-28T11:20:08Z Persino 2851 /* Zobacz też */ 544535 wikitext text/x-wiki {{Podstrona dokumentacji}} {{Lua|Pudełko}} {{Wysokie ryzyko|częste użycie}} {{Skomplikowany}} <!-- DODAWAJ KATEGORIE NA DOLE STRONY --> == Użycie == Normalnie szablon {{s|SdUwynik}} może być wywołany bez parametrów lub z parametrami poniżej poukładane w dwie grupy zmiennych: ; Zmienne podstawowe * {{Code|1}} = {{Code|{{!(}}zostawiono{{!}}brak wyniku{{!}}usuwane{{!}}naprawiono{{)!}}}} (nieopcjonalny). ; Zmienne dodatkowe {{Szablonowy opis pudełka | opis parametrów szablonu = tak | nazwa szablonu = SdUwynik }} * Powyższe zmienne o nazwie określonej liczbą naturalną można użyć również bez nazywania parametrów. == Przykład == === Wywołania zrzucające kategorie błędów === {{Szablonowy opis pudełka | nazwa szablonu = SdUwynik }} ---- * A oto przykład wywołania szablonu bezparametrowo {{S|SdUwynik}} lub z parametrem błędnym, wtedy szablon zwróci błąd, wtedy strona jest przydzielana do kategorii: {{lk|Szablon SdUwynik - błędne wywołania}}: {{OpakujKategorieZeSortowaniem|{{SdUwynik|naprawa2}}}} === Wywołanie niezrzucające kategorii błędów === ; Pisząc bezbłędnie z parametrem wywołania niezrzucające kategorii błędów te wywołanie * {{s|SdUwynik|zostawiono}}, wtedy strona jest przydzielana do kategorii: {{lk|Poczekalnia DNU - załatwiono (zostawiono)}}: {{OpakujKategorieZeSortowaniem|{{SdUwynik|zostawiono|nazwij jednostką=tak|typ jednostki=artykuł}}}} ---- * {{s|SdUwynik|brak wyniku}}, wtedy strona jest przydzielana do kategorii: {{lk|Poczekalnia DNU - załatwiono (brak wyniku)}}: {{OpakujKategorieZeSortowaniem|{{SdUwynik|brak wyniku|nazwij jednostką=tak|typ jednostki=artykuł}}}} ---- * {{s|SdUwynik|usuwane}}, wtedy strona jest przydzielana do kategorii: {{lk|Poczekalnia DNU - załatwiono (usuwane)}}: {{OpakujKategorieZeSortowaniem|{{SdUwynik|usuwane|nazwij jednostką=tak|typ jednostki=artykuł}}}} ---- * {{s|SdUwynik|naprawiono}}, wtedy strona jest przydzielana do kategorii: {{lk|Poczekalnia DNU - załatwiono (naprawiono)}}: {{OpakujKategorieZeSortowaniem|{{SdUwynik|naprawiono|nazwij jednostką=tak|typ jednostki=artykuł}}}} == Błędy == Błędy należy zgłaszać na stronie {{kwestie techniczne}}. == Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) == <templatedata> { "params": { "1": { "aliases": [ "zostawiono", "brak wyniku", "usuwane", "naprawiono" ], "description": "Szablon, dzięki którekolwiek tym parametrom wstawia do katalogu, w którym zakończyła się dyskusja.", "type": "string", "label": "Typ", "required": true }, "bez kategorii": { "description": "Wartość niepusta, wtedy szablon nie umieszcza strony w jakikolwiek kategorii.", "type": "string" }, "nazwij jednostką": { "description": "Szablon nazywa, dzięki jej wartości niepustej, jednostki po prostu jednostkami.", "type": "string", "default": "Wartość pusta.", "autovalue": "" } }, "description": "Szablon informujący, czy zakończyła się dyskusja w Poczekalni DNU, tam można sprawdzić z jakim rezultatem ona się odbyła.", "paramOrder": [ "1", "nazwij jednostką", "bez kategorii" ] } </templatedata> == Zobacz też == {{DNU/opis/Zobacz też}} {{BrClear}} <includeonly><!-- ++++ DODAWAJ KATEGORIE PONIŻEJ TEJ LINII --> {{Kategorie | Szablony porządkowe | Szablony dodające kategorie | Poczekalnia DNU - szablony | Usuwanie stron - szablony | Szablony problemów }} </includeonly> odnk93cog7ey5invo2gkfgncvxfa16a Szablon:Kasowanie po przeniesieniu/opis 10 41033 544536 517287 2026-05-28T11:20:38Z Persino 2851 /* Zobacz też */ 544536 wikitext text/x-wiki {{Podstrona dokumentacji}} {{Lua|Pudełko}} {{Wysokie ryzyko|częste użycie}} {{Skomplikowany}} {{Skrót szablonu|Kpp}} <!-- DODAWAJ KATEGORIE NA DOLE STRONY --> == Opis szablonu == Używany jest do stron (artykuły i podręczniki) w przestrzeni nazw {{Np|(main)|link=tak}} i {{Np|Wikijunior|link=tak}} oraz w przestrzeni nazw {{Np|File|link=tak}} do plików. Informuje autora o okresie, w czasie którego może skopiować zawartość przed jej skasowaniem. == Użycie == Normalnie szablon {{S|Kasowanie po przeniesieniu}} może być wywołany bez parametrów lub z parametrami poniżej poukładane w dwie grupy zmiennych: ; Zmienne podstawowe * {{Code|1}} = data bezpowrotnego usunięcia artykułu (lub podręcznika) (opcjonalny). ; Zmienne dodatkowe {{Szablonowy opis pudełka | opis parametrów szablonu = tak | nazwa szablonu = Kasowanie po przeniesieniu }} Powyższe zmienne o nazwie określonej liczbą naturalną można użyć również bez nazywania parametrów. == Przykład == {{Pre start}} {{s|Kasowanie po przeniesieniu|data usunięcia|nazwij jednostką{{=}}tak}}, {{s|kpp|data usunięcia|nazwij jednostką{{=}}tak}} {{s|Kasowanie po przeniesieniu|data usunięcia}}, {{s|kpp|data usunięcia}} {{Pre koniec}} == Przykłady zgłoszenia usunięcia strony przed terminem (Kasowanie po przeniesieniu) == === Przykłady nieprawidłowego użycia szablonu (Kasowanie po przeniesieniu) === {{Szablonowy opis pudełka | nazwa szablonu = Kasowanie po przeniesieniu }} === Przypadki prawidłowego użycia szablonu {{s|kasowanie po przeniesieniu}} === * Gdy szablon uruchamiamy na stronie w przestrzeni nazw {{Np|(main)|link=tak}}: ** {{s|1=Kasowanie po przeniesieniu|2={{Czas|d.m.Y}}}} * A po wywołaniu tego szablonu uzyskano wynik w przypadku artykułu (nie strona główna, ale podręcznika): {{OpakujKategorieZeSortowaniem|{{Kasowanie po przeniesieniu|{{Czas|d.m.Y}}|nazwij jednostką=tak|typ jednostki=artykuł}}}} {{OpakujKategorieZeSortowaniem|{{Kasowanie po przeniesieniu|{{Czas|d.m.Y}}|typ jednostki=artykuł}}}} Ten artykuł został umieszczony w kategorii: {{lk|Artykuły oczekujące na przeniesienie przed usunięciem}}. * A w przypadku podręcznika (strona główna, ale podręcznika): {{OpakujKategorieZeSortowaniem|{{Kasowanie po przeniesieniu|{{Czas|d.m.Y}}|nazwij jednostką=tak|typ jednostki=podręcznik}}}} {{OpakujKategorieZeSortowaniem|{{Kasowanie po przeniesieniu|{{Czas|d.m.Y}}|typ jednostki=podręcznik}}}} Ten podręcznik został umieszczony w kategorii: {{lk|Podręczniki oczekujące na przeniesienie przed usunięciem}}. ---- * Gdy szablon uruchamiamy na stronie w przestrzeni nazw {{Np|Wikijunior|link=tak}}: ** {{s|1=Kasowanie po przeniesieniu|2={{Czas|d.m.Y}}}} * A po wywołaniu tego szablonu uzyskano wynik w przypadku artykułu dla dzieci (nie strona główna, ale podręcznika dla dzieci): {{OpakujKategorieZeSortowaniem|{{Kasowanie po przeniesieniu|{{Czas|d.m.Y}}|nazwij jednostką=tak|typ jednostki=artykuł dla dzieci}}}} {{OpakujKategorieZeSortowaniem|{{Kasowanie po przeniesieniu|{{Czas|d.m.Y}}|typ jednostki=artykuł dla dzieci}}}} Ten artykuł dla dzieci został umieszczony w kategorii: {{lk|Artykuły dla dzieci oczekujące na przeniesienie przed usunięciem}}. * A w przypadku podręcznika dla dzieci (strona główna, ale podręcznika dla dzieci): {{OpakujKategorieZeSortowaniem|{{Kasowanie po przeniesieniu|{{Czas|d.m.Y}}|nazwij jednostką=tak|typ jednostki=podręcznik dla dzieci}}}} {{OpakujKategorieZeSortowaniem|{{Kasowanie po przeniesieniu|{{Czas|d.m.Y}}|typ jednostki=podręcznik dla dzieci}}}} Ten podręcznik dla dzieci został umieszczony w kategorii: {{lk|Podręczniki dla dzieci oczekujące na przeniesienie przed usunięciem}}. ---- * Gdy szablon uruchamiamy na stronie w przestrzeni nazw {{Np|User|link=tak}}: ** {{s|1=Kasowanie po przeniesieniu|2={{Czas|d.m.Y}}}} * A po wywołaniu tego szablonu uzyskano wynik: {{OpakujKategorieZeSortowaniem|{{Kasowanie po przeniesieniu|{{Czas|d.m.Y}}|nazwij jednostką=tak|typ jednostki=jednostka użytkownika}}}} {{OpakujKategorieZeSortowaniem|{{Kasowanie po przeniesieniu|{{Czas|d.m.Y}}|typ jednostki=jednostka użytkownika}}}} Ta jednostka użytkownika została umieszczona w kategorii: {{lk|Jednostki użytkownika oczekujące na przeniesienie przed usunięciem}}. ---- * Gdy szablon uruchamiamy na stronie w przestrzeni nazw {{Np|File|link=tak}}: ** {{s|1=Kasowanie po przeniesieniu|2={{Czas|d.m.Y}}}} * A po wywołaniu tego szablonu uzyskano wynik: {{OpakujKategorieZeSortowaniem|{{Kasowanie po przeniesieniu|{{Czas|d.m.Y}}|nazwij jednostką=tak|typ jednostki=strona pliku}}}} {{OpakujKategorieZeSortowaniem|{{Kasowanie po przeniesieniu|{{Czas|d.m.Y}}|typ jednostki=strona pliku}}}} Ta strona pliku została umieszczony w kategorii: {{lk|Pliki oczekujące na przeniesienie przed usunięciem}}. ---- * Gdy szablon uruchamiamy na stronie w nibyprzestrzeni nazw, brudnopisu projektu {{lr2|Brudnopis}}, w przestrzeni nazw {{Np|Wikibooks|link=tak}}: ** {{s|1=Kasowanie po przeniesieniu|2={{Czas|d.m.Y}}}} * A po wywołaniu tego szablonu uzyskano wynik: {{OpakujKategorieZeSortowaniem|{{Kasowanie po przeniesieniu|{{Czas|d.m.Y}}|nazwij jednostką=tak|typ jednostki=jednostka brudnopisu projektu}}}} {{OpakujKategorieZeSortowaniem|{{Kasowanie po przeniesieniu|{{Czas|d.m.Y}}|typ jednostki=jednostka brudnopisu projektu}}}} Ta jednostka brudnopisu projektu została umieszczona w kategorii: {{lk|Jednostki brudnopisu projektu oczekujące na przeniesienie przed usunięciem}}. == Błędy == Błędy należy zgłaszać na stronie {{kwestie techniczne}}. == Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) == == Zobacz też == {{DNU/opis/Zobacz też}} {{BrClear}} <includeonly><!-- ++++ DODAWAJ KATEGORIE PONIŻEJ TEJ LINII --> {{Kategorie | Poczekalnia DNU - szablony | Usuwanie stron - szablony }} </includeonly> kgicdma0pf69cq4jyg6k25n0dik2z3m Szablon:Zgłoś błąd/opis 10 41139 544541 516653 2026-05-28T11:23:21Z Persino 2851 /* Zobacz też */ 544541 wikitext text/x-wiki {{Podstrona dokumentacji}} {{Lua|Pudełko}} {{Wysokie ryzyko|częste użycie}} {{Skomplikowany}} <!-- DODAWAJ KATEGORIE NA DOLE STRONY --> == Opis parametrów == ; Zmienne podstawowe * {{Code|powód}} - powód zgłoszenia błędu, * {{Code|data}} - data od jakiego momentu w czasie występuje błąd. ; Parametry dodatkowe {{Szablonowy opis pudełka | opis parametrów szablonu = tak | nazwa szablonu = Zgłoś błąd }} == Przykład == {{Pre start}} {{s|Zgłoś błąd|powód{{=}}Opis problemu|data{{=}}{{Czas|Y-m-d}}|nazwij jednostką{{=}}tak}}, {{s|ZB|powód{{=}}Opis problemu|data{{=}}{{Czas|Y-m-d}}|nazwij jednostką{{=}}tak}} {{s|Zgłoś błąd|powód{{=}}Opis problemu|data{{=}}{{Czas|Y-m-d}}}}, {{s|ZB|powód{{=}}Opis problemu|data{{=}}{{Czas|Y-m-d}}}} {{Pre koniec}} === Ilustracja wywołania szablonu {{s|Zgłoś błąd}} === ==== Błędne wywołania szablonu {{s|Zgłoś błąd}} ==== {{Szablonowy opis pudełka | nazwa szablonu = Zgłoś błąd }} ==== Poprawne wywołania szablonu {{s|Zgłoś błąd}} ==== Podamy tu przypadki właściwego użycia szablonu {{s|Zgłoś błąd}}. W przypadku artykułów, nawet dla dzieci, w przestrzeni głównej szablon umieszcza je w kategorii: {{lk|Artykuły z zgłoszonymi błędami}}, i podręczników: {{lk|Podręczniki z zgłoszonymi błędami}}, a w przestrzeni nazw {{Np|Wikijunior|link=tak}} w przypadku artykułów, on umieszcza w kategorii: {{lk|Artykuły dla dzieci, z zgłoszonymi błędami}}, i podręcznika {{lk|Podręczniki dla dzieci, z zgłoszonymi błędami}}, a także w przestrzeni nazw {{Np|File|link=tak}} w kategorii: {{lk|Pliki z zgłoszonymi błędami}}, ale też w przestrzeni nazw {{Np|User|link=tak}} w kategorii {{lk|Jednostki użytkowników, z zgłoszonymi błędami}}, ale również w nibyprzestrzeni nazw brudnopisu projektu {{lr2|Brudnopis}} w przestrzeni nazw {{Np|Wikibooks|link=tak}} w kategorii {{lk|Jednostki brudnopisu projektu, z zgłoszonymi błędami}}. ===== Podręcznik i jego artykuły ===== * Szablon wywołany na stronie w przestrzeni nazw {{Np|(main)|link=tak}} na nie stronie głównej podręcznika: {{OpakujKategorieZeSortowaniem|{{Zgłoś błąd|powód=Opis problemu|data={{Czas|Y-m-d}}|nazwij jednostką=tak|typ jednostki=artykuł}}}} {{OpakujKategorieZeSortowaniem|{{Zgłoś błąd|powód=Opis problemu|data={{Czas|Y-m-d}}|typ jednostki=artykuł}}}} * Szablon wywołany na stronie w przestrzeni nazw {{Np|(main)|link=tak}} na stronie głównej podręcznika: {{OpakujKategorieZeSortowaniem|{{Zgłoś błąd|powód=Opis problemu|data={{Czas|Y-m-d}}|nazwij jednostką=tak|typ jednostki=podręcznik}}}} {{OpakujKategorieZeSortowaniem|{{Zgłoś błąd|powód=Opis problemu|data={{Czas|Y-m-d}}|typ jednostki=podręcznik}}}} ===== Podręcznik dla dzieci, i jego artykuły ===== * Szablon wywołany na stronie w przestrzeni nazw {{Np|Wikijunior|link=tak}} na nie stronie głównej podręcznika dla dzieci: {{OpakujKategorieZeSortowaniem|{{Zgłoś błąd|powód=Opis problemu|data={{Czas|Y-m-d}}|nazwij jednostką=tak|typ jednostki=artykuł dla dzieci}}}} {{OpakujKategorieZeSortowaniem|{{Zgłoś błąd|powód=Opis problemu|data={{Czas|Y-m-d}}|typ jednostki=artykuł dla dzieci}}}} * Szablon wywołany na stronie w przestrzeni nazw {{Np|Wikijunior|link=tak}} na stronie głównej podręcznika dla dzieci: {{OpakujKategorieZeSortowaniem|{{Zgłoś błąd|powód=Opis problemu|data={{Czas|Y-m-d}}|nazwij jednostką=tak|typ jednostki=podręcznik dla dzieci}}}} {{OpakujKategorieZeSortowaniem|{{Zgłoś błąd|powód=Opis problemu|data={{Czas|Y-m-d}}|typ jednostki=podręcznik dla dzieci}}}} ===== Przestrzeń nazw {{Np|User|link=tak}} ===== * Szablon wywołany na stronie w przestrzeni nazw {{Np|User|link=tak}}: {{OpakujKategorieZeSortowaniem|{{Zgłoś błąd|powód=Opis problemu|data={{Czas|Y-m-d}}|nazwij jednostką=tak|typ jednostki=jednostka użytkownika}}}} {{OpakujKategorieZeSortowaniem|{{Zgłoś błąd|powód=Opis problemu|data={{Czas|Y-m-d}}|typ jednostki=jednostka użytkownika}}}} ===== Przestrzeń nazw {{Np|File|link=tak}} ===== * Szablon wywołany na stronie w przestrzeni nazw {{Np|File|link=tak}}: {{OpakujKategorieZeSortowaniem|{{Zgłoś błąd|powód=Opis problemu|data={{Czas|Y-m-d}}|nazwij jednostką=tak|typ jednostki=strona pliku}}}} {{OpakujKategorieZeSortowaniem|{{Zgłoś błąd|powód=Opis problemu|data={{Czas|Y-m-d}}|typ jednostki=strona pliku}}}} ===== Brudnopis projektu w nibyprzestrzeni {{lr2|Brudnopis}} w przestrzeni nazw {{Np|Wikibooks|link=tak}} ===== * Szablon wywołany na stronie w nibyprzestrzeni nazw, brudnopisu projektu {{lr2|Brudnopis}} w przestrzeni nazw {{Np|Wikibooks|link=tak}}: {{OpakujKategorieZeSortowaniem|{{Zgłoś błąd|powód=Opis problemu|data={{Czas|Y-m-d}}|nazwij jednostką=tak|typ jednostki=jednostka brudnopisu projektu}}}} {{OpakujKategorieZeSortowaniem|{{Zgłoś błąd|powód=Opis problemu|data={{Czas|Y-m-d}}|typ jednostki=jednostka brudnopisu projektu}}}} == Błędy == Błędy należy zgłaszać na stronie {{kwestie techniczne}}. == Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) == == Zobacz też == {{DNU/opis/Zobacz też}} {{BrClear}} <includeonly><!-- ++++ DODAWAJ KATEGORIE PONIŻEJ TEJ LINII --> {{Kategoria|Szablony problemów umieszczane na stronach}} </includeonly> 29uemnd52jb0bkl4snfr1kl0z1qn9er Szablon:Ekspresowe kasowanie 2/opis 10 44966 544539 541038 2026-05-28T11:22:25Z Persino 2851 /* Zobacz też */ 544539 wikitext text/x-wiki {{Podstrona dokumentacji}} {{Skrót szablonu|Ek2}} <!-- DODAWAJ KATEGORIE NA DOLE STRONY --> == Użycie == Szablon służy do oznaczania stron przeznaczonych do usunięcia. Szablon umieszcza stronę w kategorii: {{lk|Ekspresowe kasowanie}}. == Opis parametrów == Szablon przyjmuje parametry opcjonalne: * {{Code|1}} = uzasadniesie dlaczego strona musi zostać usunięta. * {{Code|nazwij stroną}} = stronę do usunięcia nazywa po prostu stroną. * {{Code|nazwa przestrzeni nazw}} = aktywna, gdy parametr {{Code|nazwij stroną}} jest pusty. == Przykład == ; Pierwszy przykład * {{s|ek2}} {{OpakujKategorieZeSortowaniem|{{ek2}}}} ---- ; Drugi przykład * {{s|ek2|To jest uzasadnienie.}} {{OpakujKategorieZeSortowaniem|{{ek2|To jest uzasadnienie.}}}} == Błędy == Błędy należy zgłaszać na stronie {{kwestie techniczne}}. == Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) == <templatedata> { "params": { "1": { "description": "Uzasadnienie", "type": "string", "suggested": true }, "nazwij stroną": { "description": "Strona do usunięcia nazywana jest po prostu stroną.", "type": "string", "default": "Wartość pusta." }, "nazwa przestrzeni nazw": { "description": "Nazwa przestrzeni nazw, do której należy strona.", "type": "string" } } } </templatedata> == Zobacz też == {{DNU/opis/Zobacz też}} {{BrClear}} <includeonly><!-- ++++ DODAWAJ KATEGORIE PONIŻEJ TEJ LINII --> {{Kategorie | Szablony porządkowe | Szablony dodające kategorie | Usuwanie stron - szablony }} </includeonly> pgjvni35783al67byw6xzffmln2q7ba Szablon:Ombox/opis 10 45826 544522 533401 2026-05-28T10:32:59Z Persino 2851 544522 wikitext text/x-wiki {{Podstrona dokumentacji}} <!-- EDYTUJ DOKUMENTACJĘ SZABLONU PONIŻEJ TEJ LINII --> {{Wysokie ryzyko}} {{Szablony komunikatów}} {{Spis treści}} <!-- DODAWAJ KATEGORIE NA DOLE STRONY --> To jest '''ombox''' (''other messages box'') – szablon szablonów. Jest on używany do tworzenia szablonów informacyjnych i ostrzegawczych. Oferuje on obrazki oraz ramki, które pozwalają dopasować go do sytuacji. == Użycie == Najprostsze wywołanie szablonu: {{Pre|{{s|Ombox|tekst {{=}} Jakiś tekst, który ma na celu zademonstrowanie działania szablonu.}}}} Wyświetla on taki komunikat: {{ombox|tekst = Jakiś tekst, który ma na celu zademonstrowanie działania szablonu.}} ==== Style szablonu ==== Szablon ma przygotowane 4 style główne, które są przełączane za pomocą parametru '''typ'''. Jeśli ten parametr nie został użyty lub została podana inna wartość niż jedna z poniższych, wykorzystywany jest typ „wiadomość”. {{Ombox | typ = poważny | tekst = {{Parametr|typ|{{Un|poważny}}}} – Poważne problemy, jak: {{s|NPA}} i {{s|NPAfrgm}}. }} {{Ombox | typ = szybko | treść = {{Parametr|typ|{{Un|szybko}}}} – Szybkie szablony usuwania, takie jak: {{s|Screenshot}}. }} {{Ombox | typ = usuń | treść = {{Parametr|typ|{{Un|usuń}}}} – Szablony usuwania, takie jak: {{s|DNU}}, {{s|SdU}} i {{s|SdUwynik}}. }} {{Ombox | typ = styl | treść = {{Parametr|typ|{{Un|styl}}}} – Drobne ostrzeżenia i problemy, takie jak: {{s|Kasowanie po przeniesieniu}} i {{s|Zgłoś błąd}}. }} {{Ombox | typ = zawartość | treść = {{Parametr|typ|{{Un|zawartość}}}} – Ważne ostrzeżenia i problemy, takie jak: {{s|Dopracować|POV}}. }} {{Ombox | typ = rozszerz | tekst = {{Parametr|typ|{{Un|rozszerz}}}} – Problemy z zawartością o małej treści, należy ją rozszrzerzyć, takie jak: {{S|Info|POV}}. }} {{Ombox | typ = przeniesienie | treść = {{Parametr|typ|{{Un|przeniesienie}}}} – Przenoszenie i zmiana nazw plików i propozycje, takich jak: {{s|Integrowanie}}, {{s|Integruj z}} i {{s|Integruj do}}. }} {{Ombox | typ = ochrona | treść = {{Parametr|typ|{{Un|ochrona}}}} – Szablony ochrony, takie jak: {{s|Wysokie ryzyko}} i {{s|Skomplikowany}}, wyświetlane na stronie pliku. }} {{Ombox | typ = integruj | tekst = {{Parametr|typ|{{Un|integruj}}}} – integracja, dzielenie i propozycje transwiki, jak {{S|Integracja}}. }} {{Ombox | typ = powiadomienie | treść = {{Parametr|typ|{{Un|powiadomienie}}}} – Powiadomienia i wiadomości wszelkiego rodzaju, zarówno stałe, jak i tymczasowe. }} {{Ombox | typ = wiadomość | tekst = {{Parametr|typ|{{Un|wiadomość}}}} – informacje o artykule, jak {{S|Aktualne}} i {{S|W edycji}}. }} ==== Grafiki ==== Grafiki w szablonie można dostosować za pomocą parametru <tt>grafika</tt>. Przykłady: {{Ombox | typ = zawartość | grafika = {{Ikona|pov|35}} | tekst = {{Parametr|typ|{{Un|zawartość}}}} {{Br}} {{Parametr|grafika|{{s|Ikona|pov|35}}}} {{Br}} Ta grafika jest używana w szablonie {{S|Dopracować|POV}} i podobnych. }} {{Ombox | typ = integruj | grafika = {{Ikona|integracja|35}} | tekst = {{Parametr|typ|{{Un|integruj}}}} {{Br}} {{Parametr|grafika|{{s|Ikona|integracja|35}}}} {{Br}} Ta grafika jest używana w {{S|Integracja}}, itp. {{Br}} {{Parametr|poniżej|{{s|Ombox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | poniżej = {{Ombox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! }} }} Jeśli ten parametr nie jestr określony, używana jest domyślna grafika związana z parametrem '''{{Parametr|typ}}''' (zobacz domyślne obrazki w sekcji {{lu|#typ}} powyżej). Jeśli jako parametr podano {{Parametr|grafika|nie}}, w szablonie nie jest używana grafika, a tekst jest wyrównany do lewej bez pozostawienia pustego miejsca. Jeśli natomiast jako parametr podano {{Parametr|grafika|brak}}, szablon nie używa żadnej grafiki, ale zostawia puste pole szerokości domyślnego obrazka, co pozwala na wyrównywanie tekstu w kilku szablonach. {{Ombox | grafika = brak | tekst = Brak typu i '''{{Parametr|grafika|brak}}''' – Czyści pole i zostawia margines szerokości domyślnej grafiki. Pozwala na ładne łączenie tekstu z różnych szablonów. {{Br}} {{Parametr|poniżej|{{s|Ombox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | poniżej = {{Ombox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! }} }} {{Ombox | grafika = nie | tekst = Brak typu i '''{{Parametr|grafika|nie}}''' – Nie jest użyta żadna grafika, a '''tekst''' wykorzystuje całą szerokość pola. {{Br}} {{Parametr|poniżej|{{s|Ombox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | poniżej = {{Ombox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! }} }} {{Ombox | grafika = {{Ikona|aktualne|35}} | grafika prawo = {{Ikona|biblioteka|35}} | tekst = {{Parametr|grafika|{{s|Ikona|aktualne|35}}}} {{Br}} {{Parametr|grafika prawo|{{s|Ikona|biblioteka|35}}}} {{Br}} {{Parametr|poniżej|{{s|Ombox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | poniżej = {{Ombox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! }} }} {{Ombox | tekst = {{Parametr|grafika prawo|{{s|Skrót|id{{=}}stary|WP:SK}}}} {{Br}} Szablony skrótów umieszczaj w '''grafika prawo''', bo inaczej popsują wygląd szablonu. {{Br}} {{Parametr|poniżej|{{s|Ombox|typ{{=}}wiadomość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | grafika prawo = {{Skrót|id=stary|WP:SK}} | poniżej = {{Ombox | typ = wiadomość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! }} }} == Opis parametrów == {{Mbox/opis/Opis parametrów-Wykaz}} {{Mbox/opis/Opis parametrów-Opis}} {{Mbox/opis/Opis parametrów-Tabela}} == Techniczne szczegóły == === Specjalna składnia === {{Mbox/opis/Specjalna składnia}} === Budowa tabelkowa obiektów przy pomocy klas i styli, CSS, kaskadowych arkuszy stylów szablonów komunikatów === {{Mbox/opis/CSS}} == Błędy == Błędy należy zgłaszać na stronie {{Kwestie techniczne}}. == Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) == <templatedata> { "params": { "styl": { "description": "Style tabelki komunikatu kaskadowych arkuszy stylów CSS tabelki komunikatów.", "type": "string" }, "typ": { "suggested": true, "description": "Tyo danego komunikatu oznaczony domyślnym rysunkiem i stylami.", "type": "string" }, "grafika": { "example": "{{ikona|pov|35}}", "suggested": true, "description": "Lewa grafika", "type": "unbalanced-wikitext" }, "tekst": { "required": true, "aliases": [ "1 treść" ], "description": "Tekst komunikatu", "type": "content" }, "grafika prawo": { "description": "Grafika po prawej stronie komunikatu.", "type": "unbalanced-wikitext" }, "id": { "description": "Unikalny identyfikator tabelki komunikatów.", "type": "string" }, "styl tekstu": { "description": "Styl tekstu, w zmiennej: 1, tekst albo treść, i ewentualnie z tego poniżej, jeśli: styl poniżej, nie podano, kaskadowych arkuszy stylów CSS.", "type": "string" }, "poniżej": { "description": "Inne wywołanie szablonu komunikatu w danym komunikacie.", "type": "string" }, "klasa": { "description": "Klasa kaskadowych arkuszy stylów CSS tabelki komunikatów.", "type": "string" }, "styl poniżej": { "description": "Ustawia styl kaskadowych arkuszy stylów CSS elementowi wstawianemu pod parametrem poniżej.", "type": "string" } }, "paramOrder": [ "typ", "styl tekstu", "tekst", "grafika", "grafika prawo", "id", "klasa", "styl", "poniżej", "styl poniżej" ], "format": "block", "description": "Szablon do użycia w przestrzeniach nazw: projektu (Wikibooks), Pomoc, Wikipeddysta, Szablon i Moduł." } </templatedata> == Zobacz też == {{Mbox/opis/Zobacz też}} {{BrClear}} <includeonly><!-- ++++ DODAWAJ KATEGORIE I INTERWIKI PONIŻEJ TEJ LINII --> {{Kategorie | Szablony komunikatów mbox | Szablony szablonów }} </includeonly> p7q2rfebdawnrvc0l542198tvpp5t3r Szablon:Dopracować2/opis 10 46003 544545 516716 2026-05-28T11:54:17Z Persino 2851 /* Zobacz też */ 544545 wikitext text/x-wiki {{Podstrona dokumentacji}} <!-- DODAWAJ KATEGORIE NA DOLE STRONY --> == Użycie == Szablon ogólny służy do zaznaczania jednostki do dopracowania. == Opis parametrów == Szablon przyjmuje jeden parametr podstawowy mówiący o powodzie jego dopracowania. === Opis parametrów dodatkowych === {{Szablonowy opis pudełka | opis parametrów szablonu = tak | nazwa szablonu = Dopracować2 }} === Przykłady użycia błędnego, szablonu === {{Szablonowy opis pudełka | nazwa szablonu = Dopracować2 }} == Przykład == ; Wywołanie szablonu {{s|Dopracować}} w przypadku umieszczenia szablonu w odpowiednich przestrzeniach nazw przeznaczonych dla nich {{Pre|{{s|Dopracować2|Oto jest powód|nazwij jednostką{{=}}tak}}, {{s|Dopracować2|Oto jest powód}}}} === Przykłady w przypadku zwykłych przestrzeni nazw === ; Przypadek jednostek podręcznikowych w przypadku artykułu i podręcznika, w przestrzeni nazw {{Np|(main)|link=tak}} * a wynik w przypadku użycia jego na stronie w przestrzeni nazw {{Np|(main)|link=tak}}: {{OpakujKategorieZeSortowaniem|{{Dopracować2|Oto jest powód|nazwij jednostką=tak|typ jednostki=artykuł}}}} {{OpakujKategorieZeSortowaniem|{{Dopracować2|Oto jest powód|typ jednostki=artykuł}}}} * Szablon dodaje stronę do kategorii {{lk|Artykuły wymagające dopracowania}}. {{OpakujKategorieZeSortowaniem|{{Dopracować2|Oto jest powód|nazwij jednostką=tak|typ jednostki=podręcznik}}}} {{OpakujKategorieZeSortowaniem|{{Dopracować2|Oto jest powód|typ jednostki=podręcznik}}}} * Szablon dodaje stronę do kategorii {{lk|Podręczniki wymagające dopracowania}}. ---- ; Przypadek jednostek podręcznikowych w przypadku artykułu dla dzieci i podręcznika dla dzieci, w przestrzeni nazw {{Np|Wikijunior|link=tak}} {{OpakujKategorieZeSortowaniem|{{Dopracować2|Oto jest powód|nazwij jednostką=tak|typ jednostki=artykuł dla dzieci}}}} {{OpakujKategorieZeSortowaniem|{{Dopracować2|Oto jest powód|typ jednostki=artykuł dla dzieci}}}} * Szablon dodaje stronę do kategorii {{lk|Artykuły dla dzieci wymagające dopracowania}}. {{OpakujKategorieZeSortowaniem|{{Dopracować2|Oto jest powód|nazwij jednostką=tak|typ jednostki=podręcznik dla dzieci}}}} {{OpakujKategorieZeSortowaniem|{{Dopracować2|Oto jest powód|typ jednostki=podręcznik dla dzieci}}}} * Szablon dodaje stronę do kategorii {{lk|Podręczniki dla dzieci wymagające dopracowania}}. ---- ; Przypadek jednostek użytkowników, w przestrzeni nazw {{Np|User|link=tak}} {{OpakujKategorieZeSortowaniem|{{Dopracować2|Oto jest powód|nazwij jednostką=tak|typ jednostki=jednostka użytkownika}}}} {{OpakujKategorieZeSortowaniem|{{Dopracować2|Oto jest powód|typ jednostki=jednostka użytkownika}}}} * Szablon dodaje stronę do kategorii {{lk|Jednostki użytkowników wymagające dopracowania}}. ---- ; Przypadek stron kategorii, w przestrzeni nazw {{Np|Category|link=tak}} {{OpakujKategorieZeSortowaniem|{{Dopracować2|Oto jest powód|nazwij jednostką=tak|typ jednostki=strona kategorii}}}} {{OpakujKategorieZeSortowaniem|{{Dopracować2|Oto jest powód|typ jednostki=strona kategorii}}}} * Szablon dodaje stronę do kategorii {{lk|Strony kategorii wymagające dopracowania}}. ---- ; Przypadek stron opisu szablonów, w przestrzeni nazw {{Np|Template|link=tak}} {{OpakujKategorieZeSortowaniem|{{Dopracować2|Oto jest powód|nazwij jednostką=tak|typ jednostki=strona opisu szablonu}}}} {{OpakujKategorieZeSortowaniem|{{Dopracować2|Oto jest powód|typ jednostki=strona opisu szablonu}}}} * Szablon dodaje stronę do kategorii {{lk|Strony opisu szablonów wymagające dopracowania}}. ---- ; Przypadek stron modułów, w przestrzeni nazw {{Np|Module|link=tak}} {{OpakujKategorieZeSortowaniem|{{Dopracować2|Oto jest powód|nazwij jednostką=tak|typ jednostki=strona opisu modułu}}}} {{OpakujKategorieZeSortowaniem|{{Dopracować2|Oto jest powód|typ jednostki=strona opisu modułu}}}} * Szablon dodaje stronę do kategorii {{lk|Strony opisu modułów wymagające dopracowania}}. ---- ; Przypadek stron projektu, w przestrzeni nazw {{Np|Wikibooks|link=tak}} {{OpakujKategorieZeSortowaniem|{{Dopracować2|Oto jest powód|nazwij jednostką=tak|typ jednostki=strona projektu}}}} {{OpakujKategorieZeSortowaniem|{{Dopracować2|Oto jest powód|typ jednostki=strona projektu}}}} * Szablon dodaje stronę do kategorii {{lk|Strony projektu wymagające dopracowania}}. ---- ; Przypadek stron pomocy, w przestrzeni nazw {{Np|Help|link=tak}} {{OpakujKategorieZeSortowaniem|{{Dopracować2|Oto jest powód|nazwij jednostką=tak|typ jednostki=strona pomocy}}}} {{OpakujKategorieZeSortowaniem|{{Dopracować2|Oto jest powód|typ jednostki=strona pomocy}}}} * Szablon dodaje stronę do kategorii {{lk|Strony pomocy wymagające dopracowania}}. === Przykłady w przypadku przestrzeni nazw brudnopisu === ; Przypadek stron opisu brudnopisu projektu, w nibyprzestrzeni nazw {{lr2|Brudnopis}} w przestrzeni nazw {{Np|Wikibooks|link=tak}} {{OpakujKategorieZeSortowaniem|{{Dopracować2|Oto jest powód|nazwij jednostką=tak|typ jednostki=jednostka brudnopisu projektu}}}} {{OpakujKategorieZeSortowaniem|{{Dopracować2|Oto jest powód|typ jednostki=jednostka brudnopisu projektu}}}} * Szablon dodaje stronę do kategorii {{lk|Jednostki brudnopisu projektu wymagające dopracowania}}. ---- ; Przypadek stron opisu brudnopisu szablonów, w nibyprzestrzeni nazw {{ls2|Brudnopis}} w przestrzeni nazw {{Np|Template|link=tak}} {{OpakujKategorieZeSortowaniem|{{Dopracować2|Oto jest powód|nazwij jednostką=tak|typ jednostki=strona brudnopisu opisu szablonu}}}} {{OpakujKategorieZeSortowaniem|{{Dopracować2|Oto jest powód|typ jednostki=strona brudnopisu opisu szablonu}}}} * Szablon dodaje stronę do kategorii {{lk|Strony brudnopisu opisu szablonów wymagające dopracowania}}. ---- ; Przypadek stron opisu brudnopisu modułów, w nibyprzestrzeni nazw {{ld2|Brudnopis}} w przestrzeni nazw {{Np|Module|link=tak}} {{OpakujKategorieZeSortowaniem|{{Dopracować2|Oto jest powód|nazwij jednostką=tak|typ jednostki=strona brudnopisu opisu modułu}}}} {{OpakujKategorieZeSortowaniem|{{Dopracować2|Oto jest powód|typ jednostki=strona brudnopisu opisu modułu}}}} * Szablon dodaje stronę do kategorii {{lk|Strony brudnopisu opisu modułów wymagające dopracowania}}. == Błędy == Błędy należy zgłaszać na stronie {{kwestie techniczne}}. == Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) == <templatedata> { "params": { "1": { "label": "Powód", "type": "string", "required": true, "description": "Powód zgłoszenia jednostki do dopracowania." } }, "description": "Szablon ogólny służy do zaznaczania jednostki do dopracowania." } </templatedata> == Zobacz też == {{Dopracować/opis/Zobacz też}} {{BrClear}} <includeonly><!-- ++++ DODAWAJ KATEGORIE PONIŻEJ TEJ LINII --> {{Kategorie | Omiń w druku | Szablony dodające kategorie | Szablony porządkowe | Szablony problemów umieszczane na stronach }} </includeonly> gpq0wj4p2hhyflifsqe2r5rgi84f9em Moduł:StronicowyParser/ZbieranieDanychStron 828 55009 544478 544473 2026-05-27T12:24:47Z Persino 2851 544478 Scribunto text/plain local p={}; function p.UchwytyZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,lista_dwuelementowa,kod) if(lista_dwuelementowa)then local tab_obiekt=tabela_elementow_strony_kodow[nazwa_obiektu]; if(not tab_obiekt)then tabela_elementow_strony_kodow[nazwa_obiektu]={}; tab_obiekt=tabela_elementow_strony_kodow[nazwa_obiektu]; end; local uchwyty_bez_numeracji=tab_obiekt.uchwyty_bez_numeracji; if(not uchwyty_bez_numeracji)then tab_obiekt.uchwyty_bez_numeracji={}; uchwyty_bez_numeracji=tab_obiekt.uchwyty_bez_numeracji; end; uchwyty_bez_numeracji[kod]=lista_dwuelementowa; end; end; function p.WydobywanieUchwytuZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,kod) local tab_obiekt=tabela_elementow_strony_kodow[nazwa_obiektu]; if(not tab_obiekt)then return nil;end; local uchwyty_bez_numeracji=tab_obiekt.uchwyty_bez_numeracji; if(uchwyty_bez_numeracji)then return uchwyty_bez_numeracji[kod]; end; end; function p.RozpatrywanieElementuUchwytuNumeracji(self,kod_uchwytu,tablica_zmiennych,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, nazwa_obiektu, czy_artykul_korzystany,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); kod_uchwytu=stronicowyparser_potrzebne_modul.DekodowanieNazwySzablonu(kod_uchwytu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,true) or kod_uchwytu; local html_modul=require("Module:Html"); kod_uchwytu=html_modul.DecodeHtml(kod_uchwytu,true); if(kod_uchwytu~="")then KtorySzablonMaZwracacKategorie(kod_uchwytu); local lista_dwuelementowa={}; lista_dwuelementowa[1]=kod_uchwytu; local parametry_modul=require("Module:Parametry"); if((not tablica_zmiennych.sprawdzenie_dokonane_obiektu)and(not parametry_modul["CzySąElementyNumerowaneTablicy"](tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2[nazwa_obiektu])))then local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); if(not (stronicowyparser_problemy_modul.CzyJestTakiElementTabeliProblemu(self,"strony poza zakresem obsługiwanym",nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki)))then p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki,nazwa_artykulu); end; tablica_zmiennych.sprawdzenie_dokonane_obiektu=true; end; table.insert(tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2[nazwa_obiektu],lista_dwuelementowa); return lista_dwuelementowa; end; end; function p.RozpatrywanieSzablonuObiektuDoNumeracji(self,tabela_parametrow_szablonu,tablica_zmiennych,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,nazwa_obiektu, czy_artykul_korzystany,numer_numeracji,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie) local kod_uchwytu=tabela_parametrow_szablonu["uchwyt"] or tabela_parametrow_szablonu[numer_numeracji]; if(kod_uchwytu)then local lista_dwuelementowa=p.RozpatrywanieElementuUchwytuNumeracji(self,kod_uchwytu,tablica_zmiennych, nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, nazwa_obiektu, czy_artykul_korzystany,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie); return lista_dwuelementowa; end; end; function p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) if((nazwa_przestrzeni)and(nazwa_przestrzeni_ksiazki)and(nazwa_ksiazki))then if(nazwa_artykulu=="")then return;end; local czy_element_wystepuje_w_tablicy=false; local tablica_przestrzeni_wszystkiego=self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron; if(tablica_przestrzeni_wszystkiego)then local tabela_przestrzeni_ksiazek=tablica_przestrzeni_wszystkiego[nazwa_przestrzeni]; if(tabela_przestrzeni_ksiazek)then local tabela_ksiazek=tabela_przestrzeni_ksiazek[nazwa_przestrzeni_ksiazki] if(tabela_ksiazek)then local tab_ksiazki=tabela_ksiazek[nazwa_ksiazki]; if(tab_ksiazki)then if(tab_ksiazki.spis)then --czy_lista_niepusta=true; for _,tab_value1 in ipairs(tab_ksiazki.spis)do if(tab_value1[2])then for _,nazwa_artykulu1 in ipairs(tab_value1[2])do if(nazwa_artykulu1[1]==nazwa_artykulu)then czy_element_wystepuje_w_tablicy=true; break; end; end; end; if(czy_element_wystepuje_w_tablicy)then break;end; end; end; end; end; end; end; if(not czy_element_wystepuje_w_tablicy)then local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); if((self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni~=nazwa_przestrzeni) or(self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu~=nazwa_przestrzeni_ksiazki) or(self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu~=nazwa_ksiazki) or(self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu~=nazwa_artykulu))then if(not (stronicowyparser_problemy_modul.CzyJestTakiElementTabeliProblemu(self,"strony poza zakresem obsługiwanym",nazwa_przestrzeni,nazwa_przestrzeni_ksiazki, nazwa_ksiazki)))then stronicowyparser_problemy_modul.DodawanieProblemowegoElementuDoTablicy(self,"brak spisów treści do dołączonych stron",nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); end; elseif(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"brak spisu treści do korzystanych stron"))then if(not (stronicowyparser_problemy_modul.CzyJestTakiElementTabeliProblemu(self,"strony poza zakresem obsługiwanym",nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki)))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"brak spisu treści do korzystanych stron"); end; end; end; end; end; function p.PusteParametryReferencji(self, nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu) local czy_ksiazka_z_tylko_odstepami_lub_pusty=(nazwa_ksiazki)and (nazwa_ksiazki=="") or nil; local czy_artykul_z_tylko_odstepami_lub_pusty=(nazwa_artykulu)and (nazwa_artykulu=="") or nil; local czy_uchwyt_obiektu_z_tylko_odstepami_lub_pusty=(uchwyt_obiektu)and (uchwyt_obiektu=="") or nil; ---- local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); ---- if(czy_uchwyt_obiektu_z_tylko_odstepami_lub_pusty)then if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu,1))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu,1); end; end; if(czy_artykul_z_tylko_odstepami_lub_pusty)then if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu,2))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu,2); end; end; if(czy_ksiazka_z_tylko_odstepami_lub_pusty)then if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu,3))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu,3); end; end; end; function p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,KtorySzablonMaZwracacKategorie,czy_inna_wartosc_tekst) local nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu=p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,self.nazwa_modulu_biezaca,((not czy_inna_wartosc_tekst)and true or false)); --local ksiazkowe_modul=require("Module:Książkowe"); --pelna_nazwa_ksiazki=pelna_nazwa_ksiazki or ksiazkowe_modul["PełnaNazwaStronicowejKsiążki"](); --nazwa_artykulu=nazwa_artykulu or ksiazkowe_modul["NazwaArtykułuKsiążki"](); if((nazwa_przestrzeni)or(nazwa_przestrzeni_ksiazki)or(nazwa_ksiazki)or(nazwa_artykulu))then local tabela_nazw={}; local ksiazkowe_modul=require("Module:Książkowe"); local nazwa_przestrzeni=nazwa_przestrzeni or ksiazkowe_modul["NazwaPrzestrzeni"](nil,tabela_nazw); local nazwa_przestrzeni_ksiazki=nazwa_przestrzeni_ksiazki or ksiazkowe_modul["NazwaPrzestrzeniKsiążki"](nil,tabela_nazw); local nazwa_ksiazki=nazwa_ksiazki or ksiazkowe_modul["NazwaTytułuKsiążki"](nil,tabela_nazw); local nazwa_artykulu=nazwa_artykulu or ksiazkowe_modul["NazwaArtykułuKsiążki"](nil,tabela_nazw); if(KtorySzablonMaZwracacKategorie)then KtorySzablonMaZwracacKategorie();end; local tabela_listy_danych_analizy_ksiazki=p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, false); end; end; function p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,czy_szablon_pudelkowy_strony_zbiorczej,KtorySzablonMaZwracacKategorie) local nazwa_przestrzeni=tabela_parametrow_szablonu["nazwa przestrzeni nazw"]; local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"]; if((not nazwa_przestrzeni)and(not nazwa_jednostki))then return;end; local parametry_modul=require("Module:Parametry"); if((nazwa_jednostki) and (nazwa_jednostki==""))then return;end; local szablonowe_modul=require("Module:Szablonowe"); if((nazwa_jednostki and mw.ustring.match(nazwa_jednostki,szablonowe_modul.NormaWzoruKodowaniaTekstu())) or (nazwa_przestrzeni and mw.ustring.match(nazwa_przestrzeni,szablonowe_modul.NormaWzoruKodowaniaTekstu())) )then return;end; local nazwy_modul=require("Module:Nazwy"); local ksiazkowe_modul=require("Module:Książkowe"); local html_modul=require("Module:Html"); if(nazwa_jednostki)then nazwa_jednostki=html_modul.DecodeHtml(nazwa_jednostki,true); end; local tabela_nazw_art={}; local nazwa_jednostki=(nazwa_jednostki and mw.ustring.gsub(nazwa_jednostki,"^([^#]*)#(.*)$","%1") or nil ) or ksiazkowe_modul["NazwaArtykułu"](nil,tabela_nazw_art); if(nazwa_przestrzeni)then nazwa_przestrzeni=html_modul.DecodeHtml(nazwa_przestrzeni,true); end; local nazwa_przestrzeni=nazwa_przestrzeni or ksiazkowe_modul["NazwaPrzestrzeni"](nil,tabela_nazw_art); local strona=((nazwa_przestrzeni~="") and (nazwa_przestrzeni..":") or "")..nazwa_jednostki; local techniczne_modul=require("Module:Techniczne"); strona=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=strona,[2]=self.nazwa_modulu_biezaca,}; --strona=ksiazkowe_modul["PEŁNANAZWASTRONY"](strona); local tabela_nazw={}; local nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](strona,tabela_nazw); local nazwa_przestrzeni_ksiazki=nazwy_modul["NAZWAPRZESTRZENIKSIĄŻKI"](strona,tabela_nazw); local nazwa_ksiazki=((nazwa_przestrzeni_ksiazki~="") and (nazwy_modul["SUBNAZWAKSIĄŻKI"](strona,tabela_nazw)) or (nazwy_modul["NAZWAKSIĄŻKI"](strona,tabela_nazw))); local nazwa_artykulu=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](strona,tabela_nazw); if(KtorySzablonMaZwracacKategorie)then KtorySzablonMaZwracacKategorie();end; local tabela_listy_danych_analizy_ksiazki=p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, false,nil,czy_szablon_pudelkowy_strony_zbiorczej); end; function p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,nazwa_aktualna,bezuchwytowe) local nazwa_artykulu=tabela_parametrow_szablonu["nazwa artykułu"] or tabela_parametrow_szablonu[bezuchwytowe and 1 or 2]; local pelna_nazwa_ksiazki=tabela_parametrow_szablonu["nazwa książki"] or tabela_parametrow_szablonu[bezuchwytowe and 2 or 3]; local parametry_modul=require("Module:Parametry"); local nazwy_modul=require("Module:Nazwy"); local html_modul=require("Module:Html"); if(nazwa_artykulu)then nazwa_artykulu=html_modul.DecodeHtml(nazwa_artykulu,true); local techniczne_modul=require("Module:Techniczne"); nazwa_artykulu=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=nazwa_artykulu,[2]="",}; end; local nazwa_ksiazki;local nazwa_przestrzeni_ksiazki;local nazwa_przestrzeni; if(pelna_nazwa_ksiazki)then pelna_nazwa_ksiazki=html_modul.DecodeHtml(pelna_nazwa_ksiazki,true); local techniczne_modul=require("Module:Techniczne"); pelna_nazwa_ksiazki=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=pelna_nazwa_ksiazki,[2]=nazwa_aktualna,}; ---- local tabela_nazw={}; local ksiazkowe_modul=require("Module:Książkowe"); pelna_nazwa_ksiazki=ksiazkowe_modul["PełnaNazwaStronicowejKsiążki"](pelna_nazwa_ksiazki,tabela_nazw); nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](pelna_nazwa_ksiazki,tabela_nazw); nazwa_przestrzeni_ksiazki=nazwy_modul["NAZWAPRZESTRZENIKSIĄŻKI"](pelna_nazwa_ksiazki,tabela_nazw); nazwa_ksiazki=((nazwa_przestrzeni_ksiazki~="") and (nazwy_modul["SUBNAZWAKSIĄŻKI"](pelna_nazwa_ksiazki,tabela_nazw)) or (nazwy_modul["NAZWAKSIĄŻKI"](pelna_nazwa_ksiazki,tabela_nazw))); --pelna_nazwa_ksiazki=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,""); end; return nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu; end; function p.ZbieranieKontenerowychInformacjiReferencji(self,tabela_parametrow_szablonu,nazwa_modulu_aktualna) local nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu=p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,nazwa_modulu_aktualna); local nazwy_modul=require("Module:Nazwy"); local czy_inna_wartosc_tekst=true; if((nazwa_artykulu)and(nazwa_ksiazki))then --local nazwa_modulu=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); tabela_parametrow_szablonu["nazwa przestrzeni nazw"]=nazwa_przestrzeni; tabela_parametrow_szablonu["nazwa jednostki"]=nazwy_modul["NazwaModułu"]("",nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,nil,czy_inna_wartosc_tekst); elseif((nazwa_artykulu)and(not nazwa_ksiazki))then local ksiazkowe_modul=require("Module:Książkowe"); local nazwa_przestrzeni=tabela_parametrow_szablonu["nazwa przestrzeni nazw"] or ksiazkowe_modul["NazwaPrzestrzeni"](); local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"] or (ksiazkowe_modul["NazwaKsiążki"]()..((nazwa_artykulu~="") and ("/"..nazwa_artykulu) or "")); ---- tabela_parametrow_szablonu["nazwa przestrzeni nazw"]=nazwa_przestrzeni; tabela_parametrow_szablonu["nazwa jednostki"]=nazwa_jednostki; p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,nil,czy_inna_wartosc_tekst); elseif((not nazwa_artykulu)and(nazwa_ksiazki))then local ksiazkowe_modul=require("Module:Książkowe"); local pelna_nazwa_ksiazki=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,""); local nazwa_przestrzeni=tabela_parametrow_szablonu["nazwa przestrzeni nazw"] or ksiazkowe_modul["NazwaPrzestrzeni"](); local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"] or ksiazkowe_modul["NazwaKsiążki"](); ---- tabela_parametrow_szablonu["nazwa przestrzeni nazw"]=nazwa_przestrzeni; tabela_parametrow_szablonu["nazwa jednostki"]=nazwa_jednostki; p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,nil,czy_inna_wartosc_tekst); else p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,nil,czy_inna_wartosc_tekst); end; end; function p.GeneralneLinkowanie(self,tablica_zmiennych,tabela_parametrow_szablonu,nazwa_obiektu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie) local uchwyt_obiektu=tabela_parametrow_szablonu["uchwyt"] or tabela_parametrow_szablonu[1]; local nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu=p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,self.nazwa_modulu_biezaca); ---- local parametry_modul=require("Module:Parametry"); if(parametry_modul.CzyTak(uchwyt_obiektu))then local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); uchwyt_obiektu=stronicowyparser_potrzebne_modul.DekodowanieNazwySzablonu(uchwyt_obiektu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,true) or uchwyt_obiektu; local html_modul=require("Module:Html"); uchwyt_obiektu=html_modul.DecodeHtml(uchwyt_obiektu,true); end; ---- local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); ---- if(parametry_modul.CzyTak(uchwyt_obiektu))then nazwa_artykulu=(nazwa_artykulu or (nazwa_ksiazki and "" or nil)); if(nazwa_artykulu)then if(nazwa_artykulu~="")then if(not nazwa_ksiazki)then nazwa_przestrzeni=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; nazwa_przestrzeni_ksiazki=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu; nazwa_ksiazki=self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu; elseif(nazwa_ksiazki=="")then p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu); return; end; elseif((nazwa_ksiazki)and(nazwa_ksiazki~=""))then nazwa_artykulu=""; elseif((nazwa_ksiazki)and(nazwa_ksiazki==""))then p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu); return; else nazwa_przestrzeni=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; nazwa_przestrzeni_ksiazki=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu; nazwa_ksiazki=self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu; end; if((nazwa_przestrzeni~=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni) or(nazwa_przestrzeni_ksiazki~=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu) or(nazwa_ksiazki~=self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu) or(nazwa_artykulu~=self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu))then p.LinkowanieInnychStron(self,nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu); else p.LinkowanieFinalizowaniePrac(self,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul); p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu); end; else p.LinkowanieFinalizowaniePrac(self,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul) p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu); end; elseif((uchwyt_obiektu)and(uchwyt_obiektu==""))then p.SprawdzanieCzyJestNiepoprawnaNazwaStrony(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,nil); p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu); elseif(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"brak uchwytu",nazwa_obiektu))then p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu); stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"brak uchwytu",nazwa_obiektu); end; KtorySzablonMaZwracacKategorie(uchwyt_obiektu); end; function p.LinkowanieFinalizowaniePrac(self,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul) local linkobiekttab=tablica_zmiennych.linkobiekt[nazwa_obiektu]; local parametry_modul=require("Module:Parametry"); if((not tablica_zmiennych.sprawdzenie_dokonane_linku)and(not parametry_modul["CzySąElementyNumerowaneTablicy"](linkobiekttab)))then local parametry_modul=require("Module:Parametry"); local nazwa_przestrzeni=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; local nazwa_przestrzeni_ksiazki=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu; local nazwa_ksiazki=self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu; local nazwa_artykulu=self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu; local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); if(not (stronicowyparser_problemy_modul.CzyJestTakiElementTabeliProblemu(self,"strony poza zakresem obsługiwanym",nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki)))then p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end; tablica_zmiennych.sprawdzenie_dokonane_linku=true; end; table.insert(linkobiekttab,uchwyt_obiektu); end; function p.SprawdzanieCzyJestNiepoprawnaNazwaStrony(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,__FUNKCJA) local pudelko_modul=require("Module:Pudełko"); if(((nazwa_przestrzeni)and(((nazwa_przestrzeni~="")and(not pudelko_modul["CzyNiepoprawnaNazwa"](nazwa_przestrzeni)))or(nazwa_przestrzeni==""))) and((nazwa_przestrzeni_ksiazki)and(((nazwa_przestrzeni_ksiazki~="")and(not pudelko_modul["CzyNiepoprawnaNazwa"](nazwa_przestrzeni_ksiazki)))or(nazwa_przestrzeni_ksiazki==""))) and((nazwa_ksiazki)and(nazwa_ksiazki~="")and(not pudelko_modul["CzyNiepoprawnaNazwa"](nazwa_ksiazki))) and((nazwa_artykulu)and(((nazwa_artykulu~="")and(not pudelko_modul["CzyNiepoprawnaNazwa"](nazwa_artykulu)))or(nazwa_artykulu==""))) )then if(__FUNKCJA)then __FUNKCJA(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu); end; else local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"nieprawidłowe nazwy korzystanych stron"))then if((self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni==nazwa_przestrzeni) and(self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu==nazwa_przestrzeni_ksiazki) and(self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu==nazwa_ksiazki) and(self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu==nazwa_artykulu))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"nieprawidłowe nazwy korzystanych stron"); else stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"nieprawidłowe nazwy stron dołączanych do stron"); end; end; end; end; function p.LinkowanieInnychStron(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu) p.SprawdzanieCzyJestNiepoprawnaNazwaStrony(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,function() local parametry_modul=require("Module:Parametry"); if((nazwa_przestrzeni)and(nazwa_przestrzeni_ksiazki)and(parametry_modul.CzyTak(nazwa_ksiazki))and(nazwa_artykulu))then local tablica_zmiennych={}; tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2={} local tabela_listy_danych_analizy_ksiazki0=p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, false,tablica_zmiennych); if(tabela_listy_danych_analizy_ksiazki0)then if(not parametry_modul.CzyTak(tabela_listy_danych_analizy_ksiazki0))then return;end; p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu); local czy_jest_nazwa_obiektu_w_tabela_listy_danych_analizy_ksiazki2=tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2[nazwa_obiektu]; local CzyLink=czy_jest_nazwa_obiektu_w_tabela_listy_danych_analizy_ksiazki2.CzyLink; local ile_razy=0; if(czy_jest_nazwa_obiektu_w_tabela_listy_danych_analizy_ksiazki2)then for _, parametry_obiektu in ipairs(czy_jest_nazwa_obiektu_w_tabela_listy_danych_analizy_ksiazki2) do if(parametry_obiektu[1]==uchwyt_obiektu)then ile_razy=ile_razy+1; if(ile_razy>1)then break;end; end; end; end if(ile_razy~=1)then local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"błędy uchwytów korzystanych stron",(CzyLink and "Link" or "Pobierz")..nazwa_obiektu))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"błędy uchwytów korzystanych stron",(CzyLink and "Link" or "Pobierz")..nazwa_obiektu); end; p.PusteParametryReferencji(self,nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu); end; else local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"błąd wewnętrzny modułu lua stronicowego parsera"))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"błąd wewnętrzny modułu lua stronicowego parsera"); end; end; else p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu); end; end); end; function p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, czy_artykul_korzystany,tablica_zmiennych,czy_szablon_pudelkowy_strony_zbiorczej) local function __FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) if(not self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni])then self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni]={};end; local tablica_przestrzeni=self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni]; if(not tablica_przestrzeni[nazwa_przestrzeni_ksiazki])then tablica_przestrzeni[nazwa_przestrzeni_ksiazki]={};end; local tablica_przestrzeni_ksiazki=tablica_przestrzeni[nazwa_przestrzeni_ksiazki]; if(not tablica_przestrzeni_ksiazki[nazwa_ksiazki])then tablica_przestrzeni_ksiazki[nazwa_ksiazki]={};end; local tablica_ksiazki=tablica_przestrzeni_ksiazki[nazwa_ksiazki]; if(not tablica_ksiazki.lista_podstron_woluminu)then tablica_ksiazki.lista_podstron_woluminu={};end; if(nazwa_artykulu)then if(not tablica_ksiazki.lista_podstron_woluminu[nazwa_artykulu])then tablica_ksiazki.lista_podstron_woluminu[nazwa_artykulu]={};end; local artykul_analizowany=tablica_ksiazki.lista_podstron_woluminu[nazwa_artykulu]; return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany; else return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki; end; end; local function __FUNKCJA(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) if(not czy_artykul_korzystany)then if(self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni and self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu and self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu and self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu)then if((self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni==nazwa_przestrzeni)and(self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu==nazwa_przestrzeni_ksiazki)and(self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu==nazwa_ksiazki)and(self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu==nazwa_artykulu))then return 0; else if(self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci)then self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=true; end; end; else return nil; end; end; if(self.tabela_listy_danych_analizy_ksiazki)then if(self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron)then local tabela_przestrzeni=self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni]; if(tabela_przestrzeni)then local tabela_przestrzeni_ksiazki=tabela_przestrzeni[nazwa_przestrzeni_ksiazki]; if(tabela_przestrzeni_ksiazki)then local tabela_ksiazka=tabela_przestrzeni_ksiazki[nazwa_ksiazki]; if(tabela_ksiazka)then local lista_artykolow=tabela_ksiazka.lista_podstron_woluminu; if(lista_artykolow)then local tabela_artykul=lista_artykolow[nazwa_artykulu]; if(tabela_artykul)then return 0,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni; end; end; end; end; end; else return nil; end; else return nil; end; return true; end; local nazwy_modul=require("Module:Nazwy"); local wartosc_wyniku,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni=__FUNKCJA(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); local function StronaSubstFunkcja(tabela_artykul,spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) if((czy_szablon_pudelkowy_strony_zbiorczej)and(not czy_artykul_korzystany)and(tabela_artykul)and(not tabela_artykul.strona_zbiorcza))then --local nazwa_modulu=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); local stronicowyparser_stronasubst_modul=require("Module:StronicowyParser/StronaSubst"); local TakFun=function(frame) return "tak";end;local NieFun=function(frame) return "";end; tabela_artykul.strona_zbiorcza=stronicowyparser_stronasubst_modul.AnalizaStronaSubst(self.tabela_listy_danych_analizy_ksiazki,spis,nil,TakFun,NieFun,nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end; end; if(not wartosc_wyniku)then return wartosc_wyniku; elseif((wartosc_wyniku==0)and(tabela_artykul))then StronaSubstFunkcja(tabela_artykul,tabela_ksiazka.spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return wartosc_wyniku; end; ---- local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); if((nazwa_przestrzeni~=nazwy_np_modul.Main) and(nazwa_przestrzeni~=nazwy_np_modul.Wikijunior) and((nazwa_przestrzeni~=nazwy_np_modul.User)or(not mw.ustring.match(nazwa_przestrzeni_ksiazki,"^([^/]+)$"))) and((nazwa_przestrzeni~=nazwy_np_modul.Wikibooks)or(not mw.ustring.match(nazwa_przestrzeni_ksiazki,"^%s*[Bb]rudnopis/([^/]+)$"))) )then stronicowyparser_problemy_modul.DodawanieProblemowegoElementuDoTablicy(self,"strony poza zakresem obsługiwanym",nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); end; ---- local tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); local parametry_modul=require("Module:Parametry"); local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); ---- local tekst_rozwiniety_calego_artykulu_ref=nil; local tablica_analizy_obiektow_strony_dany_modul_ref=nil; local tablica_danych_parametrow_szablonu_strony_ref=nil; ---- local function InneInformacjePrzebneDoAnalizowanejKsiazki() if(not (stronicowyparser_problemy_modul.CzyJestTakiElementTabeliProblemu(self,"strony poza zakresem obsługiwanym",nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki)))then if((nazwa_przestrzeni)and(nazwa_przestrzeni_ksiazki)and(nazwa_ksiazki))then if(czy_artykul_korzystany)then if(not self.tabela_listy_danych_analizy_ksiazki["CzyArtykułKsiążki"])then self.tabela_listy_danych_analizy_ksiazki["CzyArtykułKsiążki"]="tak";end; end; local czy_ksiazka_istnieje_w_tablicy=((tablica_ksiazki)and(tablica_ksiazki.czy_spis_analizowano))and true or false; if(not czy_ksiazka_istnieje_w_tablicy)then tablica_ksiazki.czy_spis_analizowano=true; local stronicowyparser_spistresci_modul=require("Module:StronicowyParser/SpisTreści"); local nazwa_przestrzeni_strona_temp,nazwa_przestrzeni_ksiazki_strona_temp,nazwa_ksiazki_strona_temp; local tabela_artykulow,tabela_licencji_spisu_tresci,nazwa_glownego_spisu,tab_inne_spisy,dodatkowe_artykuly,adres_ksiazki_glownego_spisu_tresci=stronicowyparser_spistresci_modul.ZbieranieInformacjiSpisuRzeczyWoluminuEwentualnieWedleAutonawigacji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,czy_artykul_korzystany,function(nazwa_przestrzeni_strona,nazwa_przestrzeni_ksiazki_strona,nazwa_ksiazki_strona) local tablica_przestrzeni_strona=self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni_strona]; if(tablica_przestrzeni_strona)then local tablica_przestrzeni_ksiazki_strona=tablica_przestrzeni_strona[nazwa_przestrzeni_ksiazki_strona]; if(tablica_przestrzeni_ksiazki_strona)then local tablica_ksiazki_strona=tablica_przestrzeni_ksiazki_strona[nazwa_ksiazki_strona]; if(tablica_ksiazki_strona)then if(tablica_ksiazki_strona.spis)then nazwa_przestrzeni_strona_temp,nazwa_przestrzeni_ksiazki_strona_temp,nazwa_ksiazki_strona_temp=nazwa_przestrzeni_strona,nazwa_przestrzeni_ksiazki_strona,nazwa_ksiazki_strona; tablica_ksiazki.spis=tablica_ksiazki_strona.spis; tablica_ksiazki.licencja=tablica_ksiazki_strona.licencja; tablica_ksiazki.nazwa_bazowego_spisu=tablica_ksiazki_strona.nazwa_bazowego_spisu; tablica_ksiazki.tab_inne_spisy=tablica_ksiazki_strona.tab_inne_spisy; tablica_ksiazki.dodatkowe_strony_woluminu=tablica_ksiazki_strona.dodatkowe_strony_woluminu; tablica_ksiazki.adres_woluminu_bazowego_spisu_rzeczy=tablica_ksiazki_strona.adres_woluminu_bazowego_spisu_rzeczy; tablica_ksiazki.referencja_do_nowej_formy_spisu={tablica_przestrzeni_strona,tablica_przestrzeni_ksiazki_strona,tablica_ksiazki_strona,}; return 1; end; end; end end; end,function(tekst_rozwiniety_calego_artykulu_ref_spis,nazwa_przestrzeni_ref_spis,nazwa_przestrzeni_ksiazki_ref_spis,nazwa_ksiazki_ref_spis,nazwa_artykulu_ref_spis,tablica_analizy_obiektow_strony_dany_modul_ref_spis,tablica_danych_parametrow_szablonu_strony_ref_spis) ---- if((nazwa_przestrzeni==nazwa_przestrzeni_ref_spis)and(nazwa_przestrzeni_ksiazki==nazwa_przestrzeni_ksiazki_ref_spis)and(nazwa_ksiazki==nazwa_ksiazki_ref_spis)and(nazwa_artykulu==nazwa_artykulu_ref_spis))then tekst_rozwiniety_calego_artykulu_ref=tekst_rozwiniety_calego_artykulu_ref_spis; local parametry_modul=require("Module:Parametry"); tablica_analizy_obiektow_strony_dany_modul_ref=parametry_modul["KopiujRekurencyjnieTabelęElementów"](tablica_analizy_obiektow_strony_dany_modul_ref_spis); tablica_danych_parametrow_szablonu_strony_ref=parametry_modul["KopiujRekurencyjnieTabelęElementów"](tablica_danych_parametrow_szablonu_strony_ref_spis); end; ---- end); local function __FUNKCJA_SPISU(tablica_ksiazki,czy_podac_adres) tablica_ksiazki.spis=tabela_artykulow; if(czy_artykul_korzystany)then tablica_ksiazki.licencja=tabela_licencji_spisu_tresci; end; tablica_ksiazki.nazwa_bazowego_spisu=nazwa_glownego_spisu; tablica_ksiazki.tab_inne_spisy=tab_inne_spisy; tablica_ksiazki.dodatkowe_strony_woluminu=dodatkowe_artykuly; tablica_ksiazki.adres_woluminu_bazowego_spisu_rzeczy=czy_podac_adres and adres_ksiazki_glownego_spisu_tresci or nil; end; if(tabela_artykulow==0)then if(czy_artykul_korzystany)then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"korzystana strona główna nie istnieje"); else stronicowyparser_problemy_modul.DodawanieProblemowegoElementuDoTablicy(self,"dołączone strony główne nie istnieją",nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); end; elseif(tabela_artykulow)then if(parametry_modul.TypeTable(tabela_artykulow))then if(adres_ksiazki_glownego_spisu_tresci)then __FUNKCJA_SPISU(tablica_ksiazki,true); local tablica_ksiazki_stara=tablica_ksiazki; local artykul,kod_wyniku=stronicowyparser_potrzebne_modul.OdpowiednikNaPrzemianArtykularnychStronWoluminu(tabela_artykulow,nazwa_glownego_spisu,tab_inne_spisy,dodatkowe_artykuly,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,true); local nazwa_przestrzeni=adres_ksiazki_glownego_spisu_tresci[1]; local nazwa_przestrzeni_ksiazki=adres_ksiazki_glownego_spisu_tresci[2]; local nazwa_ksiazki=adres_ksiazki_glownego_spisu_tresci[3]; if((kod_wyniku==1)or(kod_wyniku==4))then local wartosc_wyniku,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni=__FUNKCJA(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,artykul); if(not wartosc_wyniku)then return wartosc_wyniku,true; elseif((wartosc_wyniku==0)and(tabela_artykul))then local nazwa_artykulu=artykul; StronaSubstFunkcja(tabela_artykul,tabela_ksiazka.spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return wartosc_wyniku,true; end; local tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni ,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,artykul); tablica_ksiazki_stara.referencja_do_nowej_formy_spisu={tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,}; __FUNKCJA_SPISU(tablica_ksiazki,false); return nil,nil,artykul,kod_wyniku; elseif(kod_wyniku==2)then local tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,artykul); tablica_ksiazki_stara.referencja_do_nowej_formy_spisu={tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,}; __FUNKCJA_SPISU(tablica_ksiazki,false); return nil,nil,artykul,kod_wyniku; elseif(kod_wyniku==3)then local tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nil); tablica_ksiazki_stara.referencja_do_nowej_formy_spisu={tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,}; __FUNKCJA_SPISU(tablica_ksiazki,false); return nil,nil,artykul,kod_wyniku; end; else __FUNKCJA_SPISU(tablica_ksiazki,false); end; elseif(tabela_artykulow~=1)then local wartosc_wyniku,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni=__FUNKCJA(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); if(not wartosc_wyniku)then return wartosc_wyniku,true; elseif((wartosc_wyniku==0)and(tabela_artykul))then StronaSubstFunkcja(tabela_artykul,tabela_ksiazka.spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return wartosc_wyniku,true; end; end; else if(czy_artykul_korzystany)then if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"brak spisów treści do korzystanych książek na ich stronach głównych"))then if(((self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu=="")and(nazwa_artykulu~=""))or(self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu~=""))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"brak spisów treści do korzystanych książek na ich stronach głównych"); end; end; else stronicowyparser_problemy_modul.DodawanieProblemowegoElementuDoTablicy(self,"brak spisów treści do dołączonych książek na ich stronach głównych",nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); end; end; end; end; end; end; ---- local wartosc_wyniku,wynik_bledu,artykul_bazowy,kod_wyniku_bazowy=InneInformacjePrzebneDoAnalizowanejKsiazki(); if(wynik_bledu)then return wartosc_wyniku;end; local kod_wyniku_przekierowan=kod_wyniku_bazowy; ---- --if((not tablica_przestrzeni)or(not tablica_przestrzeni_ksiazki)or(not tablica_ksiazki)or(not artykul_analizowany))then -- tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); --end; ---- if(tablica_ksiazki.adres_woluminu_bazowego_spisu_rzeczy)and((kod_wyniku_bazowy==1)or(kod_wyniku_bazowy==4))then ---- nazwa_przestrzeni=tablica_ksiazki.adres_woluminu_bazowego_spisu_rzeczy[1]; nazwa_przestrzeni_ksiazki=tablica_ksiazki.adres_woluminu_bazowego_spisu_rzeczy[2]; nazwa_ksiazki=tablica_ksiazki.adres_woluminu_bazowego_spisu_rzeczy[3]; nazwa_artykulu=artykul_bazowy; ---- tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki=tablica_ksiazki.referencja_do_nowej_formy_spisu[1],tablica_ksiazki.referencja_do_nowej_formy_spisu[2],tablica_ksiazki.referencja_do_nowej_formy_spisu[3]; end; local tabela_artykulow=tablica_ksiazki.spis; if(tabela_artykulow)then local nazwa_glownego_spisu=tablica_ksiazki.nazwa_bazowego_spisu; local tab_inne_spisy=tablica_ksiazki.tab_inne_spisy; local dodatkowe_artykuly=tablica_ksiazki.dodatkowe_strony_woluminu local artykul,kod_wyniku=stronicowyparser_potrzebne_modul.OdpowiednikNaPrzemianArtykularnychStronWoluminu(tabela_artykulow,nazwa_glownego_spisu,tab_inne_spisy,dodatkowe_artykuly,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,false); if(kod_wyniku==1)then nazwa_artykulu=artykul; local wartosc_wyniku,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni=__FUNKCJA(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); if(not wartosc_wyniku)then return wartosc_wyniku; elseif((wartosc_wyniku==0)and(tabela_artykul))then StronaSubstFunkcja(tabela_artykul,tabela_ksiazka.spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return wartosc_wyniku; end; tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); elseif(kod_wyniku==2)then local nazwa_artykulu=artykul; local tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end; kod_wyniku_przekierowan=kod_wyniku_przekierowan or kod_wyniku; end; local nazwa_modulu=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); local PrzekierownieAwaryjne=function() if((not kod_wyniku_przekierowan)or(kod_wyniku_bazowy==4))then --local artykul2,kod_wyniku2=stronicowyparser_potrzebne_modul.OdpowiednikNaPrzemianArtykularnychStronWoluminu(tabela_artykulow,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,true); local techniczne_modul=require("Module:Techniczne"); local strona=techniczne_modul.PrzekierowanieDoStrony(nazwa_modulu); if(strona)then if(strona~=nazwa_modulu)then ---- local tabela_nazw={}; nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](strona,tabela_nazw); nazwa_przestrzeni_ksiazki=nazwy_modul["NAZWAPRZESTRZENIKSIĄŻKI"](strona,tabela_nazw); nazwa_ksiazki=((nazwa_przestrzeni_ksiazki~="") and nazwy_modul["SUBNAZWAKSIĄŻKI"](strona,tabela_nazw) or nazwy_modul["NAZWAKSIĄŻKI"](strona,tabela_nazw)); nazwa_artykulu=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](strona,tabela_nazwa); local wartosc_wyniku,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni=__FUNKCJA(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); if(not wartosc_wyniku)then return wartosc_wyniku; elseif((wartosc_wyniku==0)and(tabela_artykul))then StronaSubstFunkcja(tabela_artykul,tabela_ksiazka.spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return wartosc_wyniku; end; tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); nazwa_modulu=strona; else return 0; end; end; end; end; local wynik=PrzekierownieAwaryjne(); if(czy_artykul_korzystany)then self.nazwa_modulu_biezaca=nazwa_modulu; end; if(wynik)then return wynik;end; ---- if(czy_artykul_korzystany)then if((not self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni)and(not self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu)and(not self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu)and(not self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu))then self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni=nazwa_przestrzeni; self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu=nazwa_przestrzeni_ksiazki; self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu=nazwa_ksiazki; self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu=nazwa_artykulu; end; end; local nazwa_modulu_aktualna_czy_biezaca=self.tabela_listy_danych_analizy_ksiazki.alternatywna and nazwy_modul["NazwaModułu"](self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_przestrzeni,self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_przestrzeni_ksiazki,self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_ksiazki,self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_artykulu) or nazwa_modulu; -- przydzielanie tablicy if(czy_artykul_korzystany)then artykul_analizowany.artykul_biezacy=true; tablica_ksiazki.ksiazka_analizowana=true; end; --koniec --local iterator=mw.ustring.gmatch(tekst_rozwiniety_calego_artykulu,"{{[^{}]-}}"); if(not tablica_zmiennych)then tablica_zmiennych={};end; if(not tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2)then tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2={};end; local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty"); for _,element_w_tablicy_obiekt in pairs(stronicowyparser_obiekty_modul.tablica_obiektowych_form)do local CzyLink=element_w_tablicy_obiekt.CzyLink; local CzyNum=element_w_tablicy_obiekt.CzyNum; local wartosc=element_w_tablicy_obiekt[1]; tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2[wartosc]={CzyLink=CzyLink,CzyNum=CzyNum,}; if(czy_artykul_korzystany)then tablica_zmiennych.linkobiekt[wartosc]={CzyLink=CzyLink,CzyNum=CzyNum;};end; end; local function StronaZbiorcza() if(czy_artykul_korzystany)then local stronicowyparser_stronasubst_modul=require("Module:StronicowyParser/StronaSubst"); local TakFun=function(frame) return true;end;local NieFun=function(frame) return nil;end; local wynik=stronicowyparser_stronasubst_modul.AnalizaStronaSubst(self.tabela_listy_danych_analizy_ksiazki,tablica_ksiazki.spis,nil,TakFun,NieFun,nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); artykul_analizowany.strona_zbiorcza=(wynik and "tak" or ""); return wynik; end; return nil; end; local strona_zbiorcza=StronaZbiorcza(); local pelna_nazwa_ksiazki=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,""); local stronicowyparser_tekst_modul=require("Module:StronicowyParser/Tekst"); ---- local tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony; if((not tekst_rozwiniety_calego_artykulu_ref)or(not tablica_analizy_obiektow_strony_dany_modul_ref)or(not tablica_danych_parametrow_szablonu_strony_ref))then tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony=stronicowyparser_tekst_modul.RekurencyjnyZakodowanoSpreparowanyWikikodStrony(self,nazwa_modulu_aktualna_czy_biezaca,(((czy_artykul_korzystany)and(self.tabela_listy_danych_analizy_ksiazki.inna_strona_aktualna_niz_biezaca))and true or nil), nil) else tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony=tekst_rozwiniety_calego_artykulu_ref,tablica_analizy_obiektow_strony_dany_modul_ref,tablica_danych_parametrow_szablonu_strony_ref; end; ---- if(not czy_artykul_korzystany)then if(not tekst_rozwiniety_calego_artykulu)then return 0;end; end; if(czy_artykul_korzystany)then if(not tekst_rozwiniety_calego_artykulu)then if(strona_zbiorcza)then self.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak"; end; return nil; end; end; local szablonowe_modul=require("Module:Szablonowe"); local parametry_modul=require("Module:Parametry"); if((czy_artykul_korzystany)and(self.tabela_listy_danych_analizy_ksiazki.inna_strona_aktualna_niz_biezaca))then local aktualna_nazwa_modulu=self.tabela_listy_danych_analizy_ksiazki.alternatywna and nazwa_modulu_aktualna_czy_biezaca or nazwy_modul["NazwaModułu"](self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_przestrzeni,self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_przestrzeni_ksiazki,self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_ksiazki,self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_artykulu); local tekst=stronicowyparser_tekst_modul.SpreparowanyWikikodStrony(self,aktualna_nazwa_modulu); if(tekst)then local iterator=szablonowe_modul:IteratorSzablonowyZakodowanegoTekstu(tekst,aktualna_nazwa_modulu); local tablica_danych_parametrow_szablonu_strony={}; for szablon,obiekt,kod in iterator do if(obiekt=="SZABLON")then local wynik=szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,aktualna_nazwa_modulu,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) if(stronicowyparser_obiekty_modul.strona_start_ze_spisem_rzeczy_strony[nazwa_szablonu])then self.tabela_listy_danych_analizy_ksiazki.formatowanie="tak"; self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true; return true; elseif(stronicowyparser_obiekty_modul.strona_start[nazwa_szablonu])then self.tabela_listy_danych_analizy_ksiazki.formatowanie=tabela_parametrow_szablonu["formatowanie"]; local boczne_menu=tabela_parametrow_szablonu["boczne menu"] or ""; local spis_tresci=tabela_parametrow_szablonu["spis treści"] or "TOC"; if((parametry_modul.CzyTak(boczne_menu))or(parametry_modul.CzyTak(spis_tresci)))then self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true; end; return true; end; end); if(wynik)then break;end; end; end; end; end; local uzyskano_w_wyniku_parsowania_wywolanie_szablonu; local analiza_stron_korzystanych_zbiorczych=nil; local stronastart=nil; ---- local tablica_obiekty=stronicowyparser_obiekty_modul.obiekty; local szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane_numerowane_obiekty=stronicowyparser_obiekty_modul.szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane.numerowane_obiekty; local format_elementowy_referencji_obiektowy=stronicowyparser_obiekty_modul.format_elementowy_referencji_obiektowy; local szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_napisu_wprowadzenia_tekstu=stronicowyparser_obiekty_modul.szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane.nienumerowane_obiekty_napisu_wprowadzenia_tekstu; local szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_tekstu=stronicowyparser_obiekty_modul.szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane.nienumerowane_obiekty_tekstu; local szablony_wykorzystywane_przez_strony_zbiorcze=stronicowyparser_obiekty_modul.szablony_wykorzystywane_przez_strony_zbiorcze; local format_elementowy_obiektowy=stronicowyparser_obiekty_modul.format_elementowy_obiektowy; local szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_numerowane_obiekty=stronicowyparser_obiekty_modul.szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane.numerowane_obiekty; local szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_naglowka=stronicowyparser_obiekty_modul.szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane.nienumerowane_obiekty_napisu_wprowadzenia_tekstu; local szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_tekstu=stronicowyparser_obiekty_modul.szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane.nienumerowane_obiekty_tekstu; ---- local strona_start=stronicowyparser_obiekty_modul.strona_start; local strona_start_ze_spisem_rzeczy_strony=stronicowyparser_obiekty_modul.strona_start_ze_spisem_rzeczy_strony; local strona_start_inne=stronicowyparser_obiekty_modul.strona_start_inne; local szablony_strony_zbiorczej=stronicowyparser_obiekty_modul.strona_zbiorcza; ---- local tab_szablony=stronicowyparser_obiekty_modul.szablony_stronicowego_parsera.szablony_kontenerowe; local tab_szablony_stronicowe_niekontenerowe=stronicowyparser_obiekty_modul.szablony_stronicowe_niekontenerowe; local tab_szablony_stronicowe_formatowania_tekstu=stronicowyparser_obiekty_modul.szablony_stronicowe_formatowania_tekstu; local tab_szablony_stronicowe_kontenerowe_formatowania_wzorowego=stronicowyparser_obiekty_modul.szablony_stronicowe_kontenerowe_formatowania_wzorowego; ---- local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local iterator=szablonowe_modul:IteratorSzablonowyZakodowanegoTekstu(tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul); local tabela_elementow_strony_kodow={}; for uzyskano_w_wyniku_parsowania_wywolanie_szablonu,obiekt,kod in iterator do local function AnalizaParametrowSzablonuISzablonu(tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,uzyskano_w_wyniku_parsowania_wywolanie_szablonu) if(czy_artykul_korzystany)then if(tabela_parametrow_szablonu)then if((not stronastart)and(self.tabela_listy_danych_analizy_ksiazki.formatowanie==nil))then if(strona_start[nazwa_szablonu_wywolania])then self.tabela_listy_danych_analizy_ksiazki.formatowanie=tabela_parametrow_szablonu["formatowanie"]; stronastart=true; local boczne_menu=tabela_parametrow_szablonu["boczne menu"] or ""; local spis_tresci=tabela_parametrow_szablonu["spis treści"] or "TOC"; if((parametry_modul.CzyTak(boczne_menu))or(parametry_modul.CzyTak(spis_tresci)))then self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true; end; return; elseif(strona_start_ze_spisem_rzeczy_strony[nazwa_szablonu_wywolania])then self.tabela_listy_danych_analizy_ksiazki.formatowanie="tak"; self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true; stronastart=true; return; elseif(strona_start_inne[nazwa_szablonu_wywolania])then self.tabela_listy_danych_analizy_ksiazki.formatowanie="tak"; stronastart=true; return; elseif((strona_zbiorcza)and(not analiza_stron_korzystanych_zbiorczych)and(szablony_strony_zbiorczej[nazwa_szablonu_wywolania]))then analiza_stron_korzystanych_zbiorczych=true; local nazwa_przestrzeni=tabela_parametrow_szablonu["nazwa przestrzeni nazw"]; local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"]; if((not parametry_modul.CzyTak(nazwa_prestreni_nazw))and(not parametry_modul.CzyTak(nazwa_jednostki)))then return; end; end; elseif((strona_zbiorcza)and(not analiza_stron_korzystanych_zbiorczych)and(szablony_strony_zbiorczej[nazwa_szablonu_wywolania]))then analiza_stron_korzystanych_zbiorczych=true; local nazwa_przestrzeni=tabela_parametrow_szablonu["nazwa przestrzeni nazw"]; local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"]; if((not parametry_modul.CzyTak(nazwa_przestrzeni))and(not parametry_modul.CzyTak(nazwa_jednostki)))then return; end; end; end; end; local plik=mw.ustring.match(nazwa_szablonu_wywolania,"^:"); if(plik==nil)then if(tabela_parametrow_szablonu)then if(not parametry_modul.CzyTak(tabela_parametrow_szablonu["bez automatu"]))then local czy_wypowiedzenie=(nazwa_szablonu_wywolania=="Wypowiedzenie"); local czy_linkobiekt; local czy_link;local czy_pobierz; local czy_wypowiedzenie_z_parametrami; local czy_linkobiekt_z_parametrami; if(czy_wypowiedzenie)then czy_linkobiekt=false; czy_link=false; czy_pobierz=false; czy_wypowiedzenie_z_parametrami=parametry_modul.CzyTak(tabela_parametrow_szablonu["rodzaj"]); else czy_linkobiekt=(nazwa_szablonu_wywolania=="LinkObiekt"); if(czy_linkobiekt)then czy_link=true; czy_pobierz=false; czy_linkobiekt_z_parametrami=parametry_modul.CzyTak(tabela_parametrow_szablonu["typ"]); else czy_link=mw.ustring.match(nazwa_szablonu_wywolania,"^Link"); czy_pobierz=(not czy_link) and mw.ustring.match(nazwa_szablonu_wywolania,"^Pobierz") or nil; end; end; if((not czy_link)and(not czy_pobierz))then local wartosc_elementu;local numer_uchwytu; if(not czy_wypowiedzenie_z_parametrami) then local tab_wartosc_elementu=szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_numerowane_obiekty[nazwa_szablonu_wywolania]; if(tab_wartosc_elementu)then wartosc_elementu=tab_wartosc_elementu[1]; numer_uchwytu=tab_wartosc_elementu[2]; end; else local rodzaj=tabela_parametrow_szablonu["rodzaj"]; if(rodzaj)then wartosc_elementu=format_elementowy_obiektowy[rodzaj] and rodzaj or nil; if(wartosc_elementu)then numer_uchwytu=tablica_obiekty[5]; end; end; end; if(wartosc_elementu)then local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA) if(czy_artykul_korzystany)then if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then if(uchwyt_obiektu and (uchwyt_obiektu~=""))then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=wartosc_elementu..":"..((uchwyt_obiektu)and uchwyt_obiektu or ""); end; end; end; end; p.RozpatrywanieSzablonuObiektuDoNumeracji(self,tabela_parametrow_szablonu,tablica_zmiennych, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,wartosc_elementu, czy_artykul_korzystany,numer_uchwytu--[[elementy_w_tablicy_obiekty[5]],nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie); return; end; elseif(czy_artykul_korzystany)then if(czy_link)then local wartosc_elementu; if(not czy_linkobiekt_z_parametrami)then wartosc_elementu=szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane_numerowane_obiekty[nazwa_szablonu_wywolania]; else local typ=tabela_parametrow_szablonu["typ"]; if(typ)then typ=format_elementowy_referencji_obiektowy[typ] and typ or nil; if(typ)then wartosc_elementu=mw.getContentLanguage():ucfirst(typ); end; end; end; if(wartosc_elementu)then local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA) if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie="Link"..wartosc_elementu..":"..((uchwyt_obiektu)and uchwyt_obiektu or ""); end; end; p.GeneralneLinkowanie(self,tablica_zmiennych,tabela_parametrow_szablonu,wartosc_elementu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie); return; else local wartosc_elementu=szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_napisu_wprowadzenia_tekstu[nazwa_szablonu_wywolania]; if(wartosc_elementu)then self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci=true; self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=nil; local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA) if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu_wywolania..":"..((uchwyt_obiektu)and uchwyt_obiektu or ""); end; end; p.GeneralneLinkowanie(self,tablica_zmiennych,tabela_parametrow_szablonu,wartosc_elementu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie); self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci=nil; if(not self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone)then self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true; self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=nil; else self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=nil; end; return; end; end; elseif(czy_pobierz)then local wartosc_elementu=szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_tekstu[nazwa_szablonu_wywolania]; if(wartosc_elementu)then local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA) if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu_wywolania..":"..((uchwyt_obiektu)and uchwyt_obiektu or ""); end; end; p.GeneralneLinkowanie(self,tablica_zmiennych,tabela_parametrow_szablonu,wartosc_elementu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie); return; end; end; end; if(czy_wypowiedzenie)then local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA) if(czy_artykul_korzystany)then if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie="Obiekt:"..((uchwyt_obiektu)and uchwyt_obiektu or ""); end; end; end; p.RozpatrywanieSzablonuObiektuDoNumeracji(self,tabela_parametrow_szablonu,tablica_zmiennych,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,"Obiekt", czy_artykul_korzystany,tablica_obiekty[5],nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie); return; elseif(stronicowyparser_obiekty_modul.szablony_stronicowego_parsera.szablony_wprowadzenia_tekstu[nazwa_szablonu_wywolania])then local tab_wartosc_elementu=szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_naglowka[nazwa_szablonu_wywolania]; local wartosc_elementu;local numer_uchwytu; if(tab_wartosc_elementu)then wartosc_elementu=tab_wartosc_elementu[1]; numer_uchwytu=tab_wartosc_elementu[2]; end; local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA) if(czy_artykul_korzystany)then if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then if(uchwyt_obiektu and (uchwyt_obiektu~=""))then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=wartosc_elementu..":"..((uchwyt_obiektu)and uchwyt_obiektu or ""); end; end; end; end; local lista_dwuelementowa=p.RozpatrywanieSzablonuObiektuDoNumeracji(self,tabela_parametrow_szablonu,tablica_zmiennych, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,wartosc_elementu, czy_artykul_korzystany,numer_uchwytu--[[elementy_w_tablicy_obiekty[5]],nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie); p.UchwytyZeiBezNumeracji(self,tabela_elementow_strony_kodow,wartosc_elementu,lista_dwuelementowa,kod); if(czy_artykul_korzystany)then self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true; end; return; elseif(stronicowyparser_obiekty_modul.szablony_stronicowego_parsera.szablony_tekstu[nazwa_szablonu_wywolania])then local tab_wartosc_elementu=szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_tekstu[nazwa_szablonu_wywolania]; local wartosc_elementu;local numer_uchwytu; if(tab_wartosc_elementu)then wartosc_elementu=tab_wartosc_elementu[1]; numer_uchwytu=tab_wartosc_elementu[2]; end; local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA) if(czy_artykul_korzystany)then if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then if(uchwyt_obiektu and (uchwyt_obiektu~=""))then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=wartosc_elementu..":"..((uchwyt_obiektu)and uchwyt_obiektu or ""); end; end; end; end; local lista_dwuelementowa=p.RozpatrywanieSzablonuObiektuDoNumeracji(self,tabela_parametrow_szablonu,tablica_zmiennych, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,wartosc_elementu, czy_artykul_korzystany,numer_uchwytu--[[elementy_w_tablicy_obiekty[5]],nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie); if(lista_dwuelementowa)then local tekst=tabela_parametrow_szablonu["tekst"] or tabela_parametrow_szablonu["treść"] or tabela_parametrow_szablonu[1]; if(tekst)then tekst=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(tekst,nil,tablica_analizy_obiektow_strony_dany_modul, function(szablon,obiekt,kod) if(obiekt=="SZABLON")then local wynik=szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,nazwa_modulu,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) if( (tab_szablony[nazwa_szablonu]) or(tab_szablony_stronicowe_niekontenerowe[nazwa_szablonu]) or(tab_szablony_stronicowe_formatowania_tekstu[nazwa_szablonu]) or(tab_szablony_stronicowe_kontenerowe_formatowania_wzorowego[nazwa_szablonu]) )then if(not czy_artykul_korzystany)then tabela_parametrow_szablonu["nazwa przestrzeni nazw"]=tabela_parametrow_szablonu["nazwa przestrzeni nazw"] or nazwa_przestrzeni; tabela_parametrow_szablonu["nazwa jednostki"]=tabela_parametrow_szablonu["nazwa jednostki"] or (((nazwa_przestrzeni_ksiazki~="") and (nazwa_przestrzeni_ksiazki.."/") or "")..nazwa_ksiazki..((nazwa_artykulu~="") and ("/"..nazwa_artykulu) or "")) end; if(self)then if(mw.ustring.match(nazwa_szablonu,"^Link"))then p.ZbieranieKontenerowychInformacjiReferencji(self,tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca); else p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu); end; end; return szablonowe_modul.KodSymbolicznySzablonu(nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow,true); end; return nil; end); if(wynik)then return wynik;end; end; end); local frame=mw.getCurrentFrame(); tekst=frame:preprocess(tekst); lista_dwuelementowa[2]=tekst; end; end; return; elseif(czy_artykul_korzystany)then if(czy_linkobiekt)then local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA) if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie="LinkObiekt:"..((uchwyt_obiektu)and uchwyt_obiektu or ""); end; end; p.GeneralneLinkowanie(self,tablica_zmiennych,tabela_parametrow_szablonu,"Obiekt",nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie); return; else if(stronicowyparser_obiekty_modul.szablony_z_lokalnym_spisem_rzeczy_strony[nazwa_szablonu_wywolania])then self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true; return; elseif(stronicowyparser_obiekty_modul.bez_uchwytow_spis_rzeczy_strony[nazwa_szablonu_wywolania])then self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci=true; self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=nil; local function KtorySzablonMaZwracacKategorie(uchwyt,__FUNKCJA) if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then local nazwa_ksiazki=tabela_parametrow_szablonu["nazwa książki"] or tabela_parametrow_szablonu[2] or ""; local artykul=tabela_parametrow_szablonu["nazwa artykułu"] or tabela_parametrow_szablonu[1] or ""; self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu_wywolania..":"..nazwa_ksiazki..((artykul)and ("/"..artykul) or "") end; end; p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,KtorySzablonMaZwracacKategorie); self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci=nil; if(not self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone)then self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true; self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=nil; else self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=nil; end; return; else local function KtorySzablonMaZwracacKategorie(uchwyt,__FUNKCJA) if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then local nazwy_modul=require("Module:Nazwy"); local nazwa_przestrzeni=tabela_parametrow_szablonu["nazwa przestrzeni nazw"] or ""; local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"] or ""; local nazwa_symulacyjnej_strony=((nazwa_przestrzeni~="") and (nazwa_przestrzeni..":") or "")..nazwa_jednostki; local uchwyt=nazwa_szablonu_wywolania..":"..nazwa_symulacyjnej_strony; self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=uchwyt; end; end; if((stronicowyparser_obiekty_modul.szablony_kontenerowe[nazwa_szablonu_wywolania]) or(szablony_strony_zbiorczej[nazwa_szablonu_wywolania]) )then if(szablony_wykorzystywane_przez_strony_zbiorcze[nazwa_szablonu_wywolania])then p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,true,KtorySzablonMaZwracacKategorie); else p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,nil,KtorySzablonMaZwracacKategorie); end; return; elseif((strona_zbiorcza)and(szablony_strony_zbiorczej[nazwa_szablonu_wywolania]))then p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,true,KtorySzablonMaZwracacKategorie); return; end; end; end; end; end; end; end; end; stronicowyparser_potrzebne_modul:AnalizaSzablonuStronicowegoParsera(uzyskano_w_wyniku_parsowania_wywolanie_szablonu,obiekt,kod,nazwa_modulu_aktualna_czy_biezaca,tablica_danych_parametrow_szablonu_strony,AnalizaParametrowSzablonuISzablonu); end; local tablica_danych_nazwy_artykulu=tablica_ksiazki.lista_podstron_woluminu[nazwa_artykulu] or {}; tablica_danych_nazwy_artykulu.uchwyty_i_numeracje=tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2; if(czy_artykul_korzystany)then if(analiza_stron_korzystanych_zbiorczych)then local stronicowyparser_stronasubst_modul=require("Module:StronicowyParser/StronaSubst"); tekst_rozwiniety_calego_artykulu=stronicowyparser_stronasubst_modul.LiczOperacjeStronZbiorczych(self,tekst_rozwiniety_calego_artykulu,tablica_ksiazki.spis,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); end; end; local strona; if(czy_artykul_korzystany)then strona="";else strona=nazwa_modulu;end; local toc; if(((czy_artykul_korzystany)and(self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane)) or((not czy_artykul_korzystany)and(self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone)))then ---- local tablica_obiektow_strony_danych_kodow_specjalnych_modul=nil; ---- tekst_rozwiniety_calego_artykulu,tablica_obiektow_strony_danych_kodow_specjalnych_modul=szablonowe_modul:KodowanieInaczejZakodowanychNormKodowychTekstuWedleJegoTablicyKodowania(tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,false); ---- local function KtorySzablonMaZwracacKategorieNaglowek(numeracja_aktualna,nazwa_szablonu) if(czy_artykul_korzystany)then if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"powtórka nagłowek w stronie korzystanej"))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"powtórka nagłowek w stronie korzystanej"); if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu..":"..(numeracja_aktualna or ""); end; end; else stronicowyparser_problemy_modul.DodawanieProblemowegoElementuDoTablicy(self,"powtórka nagłówek w stronie dołączonej",nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki) if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu..":"..(numeracja_aktualna or ""); end; end; end; local function KtorySzablonMaZwracacKategorieTekst(numeracja_aktualna,nazwa_szablonu) if(czy_artykul_korzystany)then if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"nagłówek w tekście rozdziału w stronie korzystanej"))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"nagłówek w tekście rozdziału w stronie korzystanej"); if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu..":"..(numeracja_aktualna or ""); end; end; else stronicowyparser_problemy_modul.DodawanieProblemowegoElementuDoTablicy(self,"nagłowek w tekście rozdziału w stronie dołączonej",nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu..":"..(numeracja_aktualna or ""); end; end; end; local function CzyJestTakiProblemJakoElementTablicy() return stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"nagłówek w tekście rozdziału w stronie korzystanej"); end; local nazwa_naglowka=stronicowyparser_obiekty_modul.nazwa_szablonu_wprowadzenia_tekstu; local stronicowyparser_glownafunkcjazbieraniadanych_modul=require("Module:StronicowyParser/GłównaFunkcjaZbieraniaDanychStron"); local tablica_naglowka_obiekty=tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2[nazwa_naglowka]; tablica_naglowka_obiekty.uchwyty_bez_numeracji={}; local toc=stronicowyparser_glownafunkcjazbieraniadanych_modul.SpisRzeczyWedlePodanegoTekstu(self,tekst_rozwiniety_calego_artykulu,strona, czy_artykul_korzystany,nil,tablica_naglowka_obiekty.uchwyty_bez_numeracji, nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki, nazwa_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tablica_obiektow_strony_danych_kodow_specjalnych_modul,{KtorySzablonMaZwracacKategorieNaglowek,KtorySzablonMaZwracacKategorieTekst,CzyJestTakiProblemJakoElementTablicy},nil,tabela_elementow_strony_kodow); tablica_danych_nazwy_artykulu.TOC=toc; end; StronaSubstFunkcja(tablica_danych_nazwy_artykulu,tablica_ksiazki.spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); if(czy_artykul_korzystany)then self.tabela_listy_danych_analizy_ksiazki.tablica_aktualnego_artykulu=tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2; self.tabela_listy_danych_analizy_ksiazki.tablica_aktualnej_przestrzeni_nazw=self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni]; self.tabela_listy_danych_analizy_ksiazki.tablica_ksiazek_w_danej_przestrzeni_nazw_ksiazki=self.tabela_listy_danych_analizy_ksiazki.tablica_aktualnej_przestrzeni_nazw[nazwa_przestrzeni_ksiazki]; self.tabela_listy_danych_analizy_ksiazki.tablica_aktualnej_ksiazki=self.tabela_listy_danych_analizy_ksiazki.tablica_ksiazek_w_danej_przestrzeni_nazw_ksiazki[nazwa_ksiazki]; end; return self.tabela_listy_danych_analizy_ksiazki; end; return p; q76s8zsdfe34b3ijunp9q9ev0i9ckcs 544481 544478 2026-05-27T12:43:49Z Persino 2851 544481 Scribunto text/plain local p={}; function p.UchwytyZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,lista_dwuelementowa,kod) if(lista_dwuelementowa)then local tab_obiekt=tabela_elementow_strony_kodow[nazwa_obiektu]; if(not tab_obiekt)then tabela_elementow_strony_kodow[nazwa_obiektu]={}; tab_obiekt=tabela_elementow_strony_kodow[nazwa_obiektu]; end; local uchwyty_bez_numeracji=tab_obiekt.uchwyty_bez_numeracji; if(not uchwyty_bez_numeracji)then tab_obiekt.uchwyty_bez_numeracji={}; uchwyty_bez_numeracji=tab_obiekt.uchwyty_bez_numeracji; end; uchwyty_bez_numeracji[kod]=lista_dwuelementowa; end; end; function p.WydobywanieUchwytuZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,kod) local tab_obiekt=tabela_elementow_strony_kodow[nazwa_obiektu]; if(not tab_obiekt)then return nil;end; local uchwyty_bez_numeracji=tab_obiekt.uchwyty_bez_numeracji; if(uchwyty_bez_numeracji)then return uchwyty_bez_numeracji[kod]; end; end; function p.RozpatrywanieElementuUchwytuNumeracji(self,kod_uchwytu,tablica_zmiennych,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, nazwa_obiektu, czy_artykul_korzystany,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); kod_uchwytu=stronicowyparser_potrzebne_modul.DekodowanieNazwySzablonu(kod_uchwytu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,true) or kod_uchwytu; local html_modul=require("Module:Html"); kod_uchwytu=html_modul.DecodeHtml(kod_uchwytu,true); if(kod_uchwytu~="")then KtorySzablonMaZwracacKategorie(kod_uchwytu); local lista_dwuelementowa={}; lista_dwuelementowa[1]=kod_uchwytu; local parametry_modul=require("Module:Parametry"); if((not tablica_zmiennych.sprawdzenie_dokonane_obiektu)and(not parametry_modul["CzySąElementyNumerowaneTablicy"](tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2[nazwa_obiektu])))then local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); if(not (stronicowyparser_problemy_modul.CzyJestTakiElementTabeliProblemu(self,"strony poza zakresem obsługiwanym",nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki)))then p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki,nazwa_artykulu); end; tablica_zmiennych.sprawdzenie_dokonane_obiektu=true; end; table.insert(tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2[nazwa_obiektu],lista_dwuelementowa); return lista_dwuelementowa; end; end; function p.RozpatrywanieSzablonuObiektuDoNumeracji(self,tabela_parametrow_szablonu,tablica_zmiennych,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,nazwa_obiektu, czy_artykul_korzystany,numer_numeracji,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie) local kod_uchwytu=tabela_parametrow_szablonu["uchwyt"] or tabela_parametrow_szablonu[numer_numeracji]; if(kod_uchwytu)then local lista_dwuelementowa=p.RozpatrywanieElementuUchwytuNumeracji(self,kod_uchwytu,tablica_zmiennych, nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, nazwa_obiektu, czy_artykul_korzystany,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie); return lista_dwuelementowa; end; end; function p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) if((nazwa_przestrzeni)and(nazwa_przestrzeni_ksiazki)and(nazwa_ksiazki))then if(nazwa_artykulu=="")then return;end; local czy_element_wystepuje_w_tablicy=false; local tablica_przestrzeni_wszystkiego=self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron; if(tablica_przestrzeni_wszystkiego)then local tabela_przestrzeni_ksiazek=tablica_przestrzeni_wszystkiego[nazwa_przestrzeni]; if(tabela_przestrzeni_ksiazek)then local tabela_ksiazek=tabela_przestrzeni_ksiazek[nazwa_przestrzeni_ksiazki] if(tabela_ksiazek)then local tab_ksiazki=tabela_ksiazek[nazwa_ksiazki]; if(tab_ksiazki)then if(tab_ksiazki.spis)then --czy_lista_niepusta=true; for _,tab_value1 in ipairs(tab_ksiazki.spis)do if(tab_value1[2])then for _,nazwa_artykulu1 in ipairs(tab_value1[2])do if(nazwa_artykulu1[1]==nazwa_artykulu)then czy_element_wystepuje_w_tablicy=true; break; end; end; end; if(czy_element_wystepuje_w_tablicy)then break;end; end; end; end; end; end; end; if(not czy_element_wystepuje_w_tablicy)then local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); if((self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni~=nazwa_przestrzeni) or(self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu~=nazwa_przestrzeni_ksiazki) or(self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu~=nazwa_ksiazki) or(self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu~=nazwa_artykulu))then if(not (stronicowyparser_problemy_modul.CzyJestTakiElementTabeliProblemu(self,"strony poza zakresem obsługiwanym",nazwa_przestrzeni,nazwa_przestrzeni_ksiazki, nazwa_ksiazki)))then stronicowyparser_problemy_modul.DodawanieProblemowegoElementuDoTablicy(self,"brak spisów treści do dołączonych stron",nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); end; elseif(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"brak spisu treści do korzystanych stron"))then if(not (stronicowyparser_problemy_modul.CzyJestTakiElementTabeliProblemu(self,"strony poza zakresem obsługiwanym",nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki)))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"brak spisu treści do korzystanych stron"); end; end; end; end; end; function p.PusteParametryReferencji(self, nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu) local czy_ksiazka_z_tylko_odstepami_lub_pusty=(nazwa_ksiazki)and (nazwa_ksiazki=="") or nil; local czy_artykul_z_tylko_odstepami_lub_pusty=(nazwa_artykulu)and (nazwa_artykulu=="") or nil; local czy_uchwyt_obiektu_z_tylko_odstepami_lub_pusty=(uchwyt_obiektu)and (uchwyt_obiektu=="") or nil; ---- local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); ---- if(czy_uchwyt_obiektu_z_tylko_odstepami_lub_pusty)then if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu,1))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu,1); end; end; if(czy_artykul_z_tylko_odstepami_lub_pusty)then if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu,2))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu,2); end; end; if(czy_ksiazka_z_tylko_odstepami_lub_pusty)then if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu,3))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu,3); end; end; end; function p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,KtorySzablonMaZwracacKategorie,czy_inna_wartosc_tekst) local nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu=p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,self.nazwa_modulu_biezaca,((not czy_inna_wartosc_tekst)and true or false)); --local ksiazkowe_modul=require("Module:Książkowe"); --pelna_nazwa_ksiazki=pelna_nazwa_ksiazki or ksiazkowe_modul["PełnaNazwaStronicowejKsiążki"](); --nazwa_artykulu=nazwa_artykulu or ksiazkowe_modul["NazwaArtykułuKsiążki"](); if((nazwa_przestrzeni)or(nazwa_przestrzeni_ksiazki)or(nazwa_ksiazki)or(nazwa_artykulu))then local tabela_nazw={}; local ksiazkowe_modul=require("Module:Książkowe"); local nazwa_przestrzeni=nazwa_przestrzeni or ksiazkowe_modul["NazwaPrzestrzeni"](nil,tabela_nazw); local nazwa_przestrzeni_ksiazki=nazwa_przestrzeni_ksiazki or ksiazkowe_modul["NazwaPrzestrzeniKsiążki"](nil,tabela_nazw); local nazwa_ksiazki=nazwa_ksiazki or ksiazkowe_modul["NazwaTytułuKsiążki"](nil,tabela_nazw); local nazwa_artykulu=nazwa_artykulu or ksiazkowe_modul["NazwaArtykułuKsiążki"](nil,tabela_nazw); if(KtorySzablonMaZwracacKategorie)then KtorySzablonMaZwracacKategorie();end; local tabela_listy_danych_analizy_ksiazki=p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, false); end; end; function p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,czy_szablon_pudelkowy_strony_zbiorczej,KtorySzablonMaZwracacKategorie) local nazwa_przestrzeni=tabela_parametrow_szablonu["nazwa przestrzeni nazw"]; local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"]; if((not nazwa_przestrzeni)and(not nazwa_jednostki))then return;end; local parametry_modul=require("Module:Parametry"); if((nazwa_jednostki) and (nazwa_jednostki==""))then return;end; local szablonowe_modul=require("Module:Szablonowe"); if((nazwa_jednostki and mw.ustring.match(nazwa_jednostki,szablonowe_modul.NormaWzoruKodowaniaTekstu())) or (nazwa_przestrzeni and mw.ustring.match(nazwa_przestrzeni,szablonowe_modul.NormaWzoruKodowaniaTekstu())) )then return;end; local nazwy_modul=require("Module:Nazwy"); local ksiazkowe_modul=require("Module:Książkowe"); local html_modul=require("Module:Html"); if(nazwa_jednostki)then nazwa_jednostki=html_modul.DecodeHtml(nazwa_jednostki,true); end; local tabela_nazw_art={}; local nazwa_jednostki=(nazwa_jednostki and mw.ustring.gsub(nazwa_jednostki,"^([^#]*)#(.*)$","%1") or nil ) or ksiazkowe_modul["NazwaArtykułu"](nil,tabela_nazw_art); if(nazwa_przestrzeni)then nazwa_przestrzeni=html_modul.DecodeHtml(nazwa_przestrzeni,true); end; local nazwa_przestrzeni=nazwa_przestrzeni or ksiazkowe_modul["NazwaPrzestrzeni"](nil,tabela_nazw_art); local strona=((nazwa_przestrzeni~="") and (nazwa_przestrzeni..":") or "")..nazwa_jednostki; local techniczne_modul=require("Module:Techniczne"); strona=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=strona,[2]=self.nazwa_modulu_biezaca,}; --strona=ksiazkowe_modul["PEŁNANAZWASTRONY"](strona); local tabela_nazw={}; local nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](strona,tabela_nazw); local nazwa_przestrzeni_ksiazki=nazwy_modul["NAZWAPRZESTRZENIKSIĄŻKI"](strona,tabela_nazw); local nazwa_ksiazki=((nazwa_przestrzeni_ksiazki~="") and (nazwy_modul["SUBNAZWAKSIĄŻKI"](strona,tabela_nazw)) or (nazwy_modul["NAZWAKSIĄŻKI"](strona,tabela_nazw))); local nazwa_artykulu=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](strona,tabela_nazw); if(KtorySzablonMaZwracacKategorie)then KtorySzablonMaZwracacKategorie();end; local tabela_listy_danych_analizy_ksiazki=p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, false,nil,czy_szablon_pudelkowy_strony_zbiorczej); end; function p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,nazwa_aktualna,bezuchwytowe) local nazwa_artykulu=tabela_parametrow_szablonu["nazwa artykułu"] or tabela_parametrow_szablonu[bezuchwytowe and 1 or 2]; local pelna_nazwa_ksiazki=tabela_parametrow_szablonu["nazwa książki"] or tabela_parametrow_szablonu[bezuchwytowe and 2 or 3]; local parametry_modul=require("Module:Parametry"); local nazwy_modul=require("Module:Nazwy"); local html_modul=require("Module:Html"); if(nazwa_artykulu)then nazwa_artykulu=html_modul.DecodeHtml(nazwa_artykulu,true); local techniczne_modul=require("Module:Techniczne"); nazwa_artykulu=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=nazwa_artykulu,[2]="",}; end; local nazwa_ksiazki;local nazwa_przestrzeni_ksiazki;local nazwa_przestrzeni; if(pelna_nazwa_ksiazki)then pelna_nazwa_ksiazki=html_modul.DecodeHtml(pelna_nazwa_ksiazki,true); local techniczne_modul=require("Module:Techniczne"); pelna_nazwa_ksiazki=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=pelna_nazwa_ksiazki,[2]=nazwa_aktualna,}; ---- local tabela_nazw={}; local ksiazkowe_modul=require("Module:Książkowe"); pelna_nazwa_ksiazki=ksiazkowe_modul["PełnaNazwaStronicowejKsiążki"](pelna_nazwa_ksiazki,tabela_nazw); nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](pelna_nazwa_ksiazki,tabela_nazw); nazwa_przestrzeni_ksiazki=nazwy_modul["NAZWAPRZESTRZENIKSIĄŻKI"](pelna_nazwa_ksiazki,tabela_nazw); nazwa_ksiazki=((nazwa_przestrzeni_ksiazki~="") and (nazwy_modul["SUBNAZWAKSIĄŻKI"](pelna_nazwa_ksiazki,tabela_nazw)) or (nazwy_modul["NAZWAKSIĄŻKI"](pelna_nazwa_ksiazki,tabela_nazw))); --pelna_nazwa_ksiazki=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,""); end; return nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu; end; function p.ZbieranieKontenerowychInformacjiReferencji(self,tabela_parametrow_szablonu,nazwa_modulu_aktualna) local nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu=p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,nazwa_modulu_aktualna); local nazwy_modul=require("Module:Nazwy"); local czy_inna_wartosc_tekst=true; if((nazwa_artykulu)and(nazwa_ksiazki))then --local nazwa_modulu=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); tabela_parametrow_szablonu["nazwa przestrzeni nazw"]=nazwa_przestrzeni; tabela_parametrow_szablonu["nazwa jednostki"]=nazwy_modul["NazwaModułu"]("",nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,nil,czy_inna_wartosc_tekst); elseif((nazwa_artykulu)and(not nazwa_ksiazki))then local ksiazkowe_modul=require("Module:Książkowe"); local nazwa_przestrzeni=tabela_parametrow_szablonu["nazwa przestrzeni nazw"] or ksiazkowe_modul["NazwaPrzestrzeni"](); local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"] or (ksiazkowe_modul["NazwaKsiążki"]()..((nazwa_artykulu~="") and ("/"..nazwa_artykulu) or "")); ---- tabela_parametrow_szablonu["nazwa przestrzeni nazw"]=nazwa_przestrzeni; tabela_parametrow_szablonu["nazwa jednostki"]=nazwa_jednostki; p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,nil,czy_inna_wartosc_tekst); elseif((not nazwa_artykulu)and(nazwa_ksiazki))then local ksiazkowe_modul=require("Module:Książkowe"); local pelna_nazwa_ksiazki=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,""); local nazwa_przestrzeni=tabela_parametrow_szablonu["nazwa przestrzeni nazw"] or ksiazkowe_modul["NazwaPrzestrzeni"](); local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"] or ksiazkowe_modul["NazwaKsiążki"](); ---- tabela_parametrow_szablonu["nazwa przestrzeni nazw"]=nazwa_przestrzeni; tabela_parametrow_szablonu["nazwa jednostki"]=nazwa_jednostki; p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,nil,czy_inna_wartosc_tekst); else p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,nil,czy_inna_wartosc_tekst); end; end; function p.GeneralneLinkowanie(self,tablica_zmiennych,tabela_parametrow_szablonu,nazwa_obiektu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie) local uchwyt_obiektu=tabela_parametrow_szablonu["uchwyt"] or tabela_parametrow_szablonu[1]; local nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu=p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,self.nazwa_modulu_biezaca); ---- local parametry_modul=require("Module:Parametry"); if(parametry_modul.CzyTak(uchwyt_obiektu))then local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); uchwyt_obiektu=stronicowyparser_potrzebne_modul.DekodowanieNazwySzablonu(uchwyt_obiektu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,true) or uchwyt_obiektu; local html_modul=require("Module:Html"); uchwyt_obiektu=html_modul.DecodeHtml(uchwyt_obiektu,true); end; ---- local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); ---- if(parametry_modul.CzyTak(uchwyt_obiektu))then nazwa_artykulu=(nazwa_artykulu or (nazwa_ksiazki and "" or nil)); if(nazwa_artykulu)then if(nazwa_artykulu~="")then if(not nazwa_ksiazki)then nazwa_przestrzeni=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; nazwa_przestrzeni_ksiazki=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu; nazwa_ksiazki=self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu; elseif(nazwa_ksiazki=="")then p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu); return; end; elseif((nazwa_ksiazki)and(nazwa_ksiazki~=""))then nazwa_artykulu=""; elseif((nazwa_ksiazki)and(nazwa_ksiazki==""))then p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu); return; else nazwa_przestrzeni=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; nazwa_przestrzeni_ksiazki=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu; nazwa_ksiazki=self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu; end; if((nazwa_przestrzeni~=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni) or(nazwa_przestrzeni_ksiazki~=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu) or(nazwa_ksiazki~=self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu) or(nazwa_artykulu~=self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu))then p.LinkowanieInnychStron(self,nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu); else p.LinkowanieFinalizowaniePrac(self,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul); p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu); end; else p.LinkowanieFinalizowaniePrac(self,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul) p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu); end; elseif((uchwyt_obiektu)and(uchwyt_obiektu==""))then p.SprawdzanieCzyJestNiepoprawnaNazwaStrony(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,nil); p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu); elseif(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"brak uchwytu",nazwa_obiektu))then p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu); stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"brak uchwytu",nazwa_obiektu); end; KtorySzablonMaZwracacKategorie(uchwyt_obiektu); end; function p.LinkowanieFinalizowaniePrac(self,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul) local linkobiekttab=tablica_zmiennych.linkobiekt[nazwa_obiektu]; local parametry_modul=require("Module:Parametry"); if((not tablica_zmiennych.sprawdzenie_dokonane_linku)and(not parametry_modul["CzySąElementyNumerowaneTablicy"](linkobiekttab)))then local parametry_modul=require("Module:Parametry"); local nazwa_przestrzeni=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; local nazwa_przestrzeni_ksiazki=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu; local nazwa_ksiazki=self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu; local nazwa_artykulu=self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu; local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); if(not (stronicowyparser_problemy_modul.CzyJestTakiElementTabeliProblemu(self,"strony poza zakresem obsługiwanym",nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki)))then p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end; tablica_zmiennych.sprawdzenie_dokonane_linku=true; end; table.insert(linkobiekttab,uchwyt_obiektu); end; function p.SprawdzanieCzyJestNiepoprawnaNazwaStrony(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,__FUNKCJA) local pudelko_modul=require("Module:Pudełko"); if(((nazwa_przestrzeni)and(((nazwa_przestrzeni~="")and(not pudelko_modul["CzyNiepoprawnaNazwa"](nazwa_przestrzeni)))or(nazwa_przestrzeni==""))) and((nazwa_przestrzeni_ksiazki)and(((nazwa_przestrzeni_ksiazki~="")and(not pudelko_modul["CzyNiepoprawnaNazwa"](nazwa_przestrzeni_ksiazki)))or(nazwa_przestrzeni_ksiazki==""))) and((nazwa_ksiazki)and(nazwa_ksiazki~="")and(not pudelko_modul["CzyNiepoprawnaNazwa"](nazwa_ksiazki))) and((nazwa_artykulu)and(((nazwa_artykulu~="")and(not pudelko_modul["CzyNiepoprawnaNazwa"](nazwa_artykulu)))or(nazwa_artykulu==""))) )then if(__FUNKCJA)then __FUNKCJA(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu); end; else local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"nieprawidłowe nazwy korzystanych stron"))then if((self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni==nazwa_przestrzeni) and(self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu==nazwa_przestrzeni_ksiazki) and(self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu==nazwa_ksiazki) and(self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu==nazwa_artykulu))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"nieprawidłowe nazwy korzystanych stron"); else stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"nieprawidłowe nazwy stron dołączanych do stron"); end; end; end; end; function p.LinkowanieInnychStron(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu) p.SprawdzanieCzyJestNiepoprawnaNazwaStrony(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,function() local parametry_modul=require("Module:Parametry"); if((nazwa_przestrzeni)and(nazwa_przestrzeni_ksiazki)and(parametry_modul.CzyTak(nazwa_ksiazki))and(nazwa_artykulu))then local tablica_zmiennych={}; tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2={} local tabela_listy_danych_analizy_ksiazki0=p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, false,tablica_zmiennych); if(tabela_listy_danych_analizy_ksiazki0)then if(not parametry_modul.CzyTak(tabela_listy_danych_analizy_ksiazki0))then return;end; p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu); local czy_jest_nazwa_obiektu_w_tabela_listy_danych_analizy_ksiazki2=tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2[nazwa_obiektu]; local CzyLink=czy_jest_nazwa_obiektu_w_tabela_listy_danych_analizy_ksiazki2.CzyLink; local ile_razy=0; if(czy_jest_nazwa_obiektu_w_tabela_listy_danych_analizy_ksiazki2)then for _, parametry_obiektu in ipairs(czy_jest_nazwa_obiektu_w_tabela_listy_danych_analizy_ksiazki2) do if(parametry_obiektu[1]==uchwyt_obiektu)then ile_razy=ile_razy+1; if(ile_razy>1)then break;end; end; end; end if(ile_razy~=1)then local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"błędy uchwytów korzystanych stron",(CzyLink and "Link" or "Pobierz")..nazwa_obiektu))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"błędy uchwytów korzystanych stron",(CzyLink and "Link" or "Pobierz")..nazwa_obiektu); end; p.PusteParametryReferencji(self,nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu); end; else local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"błąd wewnętrzny modułu lua stronicowego parsera"))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"błąd wewnętrzny modułu lua stronicowego parsera"); end; end; else p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu); end; end); end; function p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, czy_artykul_korzystany,tablica_zmiennych,czy_szablon_pudelkowy_strony_zbiorczej) local function __FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) if(not self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni])then self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni]={};end; local tablica_przestrzeni=self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni]; if(not tablica_przestrzeni[nazwa_przestrzeni_ksiazki])then tablica_przestrzeni[nazwa_przestrzeni_ksiazki]={};end; local tablica_przestrzeni_ksiazki=tablica_przestrzeni[nazwa_przestrzeni_ksiazki]; if(not tablica_przestrzeni_ksiazki[nazwa_ksiazki])then tablica_przestrzeni_ksiazki[nazwa_ksiazki]={};end; local tablica_ksiazki=tablica_przestrzeni_ksiazki[nazwa_ksiazki]; if(not tablica_ksiazki.lista_podstron_woluminu)then tablica_ksiazki.lista_podstron_woluminu={};end; if(nazwa_artykulu)then if(not tablica_ksiazki.lista_podstron_woluminu[nazwa_artykulu])then tablica_ksiazki.lista_podstron_woluminu[nazwa_artykulu]={};end; local artykul_analizowany=tablica_ksiazki.lista_podstron_woluminu[nazwa_artykulu]; return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany; else return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki; end; end; local function __FUNKCJA(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) if(not czy_artykul_korzystany)then if(self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni and self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu and self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu and self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu)then if((self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni==nazwa_przestrzeni)and(self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu==nazwa_przestrzeni_ksiazki)and(self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu==nazwa_ksiazki)and(self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu==nazwa_artykulu))then return 0; else if(self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci)then self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=true; end; end; else return nil; end; end; if(self.tabela_listy_danych_analizy_ksiazki)then if(self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron)then local tabela_przestrzeni=self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni]; if(tabela_przestrzeni)then local tabela_przestrzeni_ksiazki=tabela_przestrzeni[nazwa_przestrzeni_ksiazki]; if(tabela_przestrzeni_ksiazki)then local tabela_ksiazka=tabela_przestrzeni_ksiazki[nazwa_ksiazki]; if(tabela_ksiazka)then local lista_artykolow=tabela_ksiazka.lista_podstron_woluminu; if(lista_artykolow)then local tabela_artykul=lista_artykolow[nazwa_artykulu]; if(tabela_artykul)then return 0,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni; end; end; end; end; end; else return nil; end; else return nil; end; return true; end; local nazwy_modul=require("Module:Nazwy"); local wartosc_wyniku,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni=__FUNKCJA(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); local function StronaSubstFunkcja(tabela_artykul,spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) if((czy_szablon_pudelkowy_strony_zbiorczej)and(not czy_artykul_korzystany)and(tabela_artykul)and(not tabela_artykul.strona_zbiorcza))then --local nazwa_modulu=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); local stronicowyparser_stronasubst_modul=require("Module:StronicowyParser/StronaSubst"); local TakFun=function(frame) return "tak";end;local NieFun=function(frame) return "";end; tabela_artykul.strona_zbiorcza=stronicowyparser_stronasubst_modul.AnalizaStronaSubst(self.tabela_listy_danych_analizy_ksiazki,spis,nil,TakFun,NieFun,nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end; end; if(not wartosc_wyniku)then return wartosc_wyniku; elseif((wartosc_wyniku==0)and(tabela_artykul))then StronaSubstFunkcja(tabela_artykul,tabela_ksiazka.spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return wartosc_wyniku; end; ---- local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); if((nazwa_przestrzeni~=nazwy_np_modul.Main) and(nazwa_przestrzeni~=nazwy_np_modul.Wikijunior) and((nazwa_przestrzeni~=nazwy_np_modul.User)or(not mw.ustring.match(nazwa_przestrzeni_ksiazki,"^([^/]+)$"))) and((nazwa_przestrzeni~=nazwy_np_modul.Wikibooks)or(not mw.ustring.match(nazwa_przestrzeni_ksiazki,"^%s*[Bb]rudnopis/([^/]+)$"))) )then stronicowyparser_problemy_modul.DodawanieProblemowegoElementuDoTablicy(self,"strony poza zakresem obsługiwanym",nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); end; ---- local tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); local parametry_modul=require("Module:Parametry"); local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); ---- local tekst_rozwiniety_calego_artykulu_ref=nil; local tablica_analizy_obiektow_strony_dany_modul_ref=nil; local tablica_danych_parametrow_szablonu_strony_ref=nil; ---- local function InneInformacjePrzebneDoAnalizowanejKsiazki() if(not (stronicowyparser_problemy_modul.CzyJestTakiElementTabeliProblemu(self,"strony poza zakresem obsługiwanym",nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki)))then if((nazwa_przestrzeni)and(nazwa_przestrzeni_ksiazki)and(nazwa_ksiazki))then if(czy_artykul_korzystany)then if(not self.tabela_listy_danych_analizy_ksiazki["CzyArtykułKsiążki"])then self.tabela_listy_danych_analizy_ksiazki["CzyArtykułKsiążki"]="tak";end; end; local czy_ksiazka_istnieje_w_tablicy=((tablica_ksiazki)and(tablica_ksiazki.czy_spis_analizowano))and true or false; if(not czy_ksiazka_istnieje_w_tablicy)then tablica_ksiazki.czy_spis_analizowano=true; local stronicowyparser_spistresci_modul=require("Module:StronicowyParser/SpisTreści"); local nazwa_przestrzeni_strona_temp,nazwa_przestrzeni_ksiazki_strona_temp,nazwa_ksiazki_strona_temp; local tabela_artykulow,tabela_licencji_spisu_tresci,nazwa_glownego_spisu,tab_inne_spisy,dodatkowe_artykuly,adres_ksiazki_glownego_spisu_tresci=stronicowyparser_spistresci_modul.ZbieranieInformacjiSpisuRzeczyWoluminuEwentualnieWedleAutonawigacji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,czy_artykul_korzystany,function(nazwa_przestrzeni_strona,nazwa_przestrzeni_ksiazki_strona,nazwa_ksiazki_strona) local tablica_przestrzeni_strona=self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni_strona]; if(tablica_przestrzeni_strona)then local tablica_przestrzeni_ksiazki_strona=tablica_przestrzeni_strona[nazwa_przestrzeni_ksiazki_strona]; if(tablica_przestrzeni_ksiazki_strona)then local tablica_ksiazki_strona=tablica_przestrzeni_ksiazki_strona[nazwa_ksiazki_strona]; if(tablica_ksiazki_strona)then if(tablica_ksiazki_strona.spis)then nazwa_przestrzeni_strona_temp,nazwa_przestrzeni_ksiazki_strona_temp,nazwa_ksiazki_strona_temp=nazwa_przestrzeni_strona,nazwa_przestrzeni_ksiazki_strona,nazwa_ksiazki_strona; tablica_ksiazki.spis=tablica_ksiazki_strona.spis; tablica_ksiazki.licencja=tablica_ksiazki_strona.licencja; tablica_ksiazki.nazwa_bazowego_spisu=tablica_ksiazki_strona.nazwa_bazowego_spisu; tablica_ksiazki.tab_inne_spisy=tablica_ksiazki_strona.tab_inne_spisy; tablica_ksiazki.dodatkowe_strony_woluminu=tablica_ksiazki_strona.dodatkowe_strony_woluminu; tablica_ksiazki.adres_woluminu_bazowego_spisu_rzeczy=tablica_ksiazki_strona.adres_woluminu_bazowego_spisu_rzeczy; tablica_ksiazki.referencja_do_nowej_formy_spisu={tablica_przestrzeni_strona,tablica_przestrzeni_ksiazki_strona,tablica_ksiazki_strona,}; return 1; end; end; end end; end,function(tekst_rozwiniety_calego_artykulu_ref_spis,nazwa_przestrzeni_ref_spis,nazwa_przestrzeni_ksiazki_ref_spis,nazwa_ksiazki_ref_spis,nazwa_artykulu_ref_spis,tablica_analizy_obiektow_strony_dany_modul_ref_spis,tablica_danych_parametrow_szablonu_strony_ref_spis) ---- if((nazwa_przestrzeni==nazwa_przestrzeni_ref_spis)and(nazwa_przestrzeni_ksiazki==nazwa_przestrzeni_ksiazki_ref_spis)and(nazwa_ksiazki==nazwa_ksiazki_ref_spis)and(nazwa_artykulu==nazwa_artykulu_ref_spis))then tekst_rozwiniety_calego_artykulu_ref=tekst_rozwiniety_calego_artykulu_ref_spis; local parametry_modul=require("Module:Parametry"); tablica_analizy_obiektow_strony_dany_modul_ref=parametry_modul["KopiujRekurencyjnieTabelęElementów"](tablica_analizy_obiektow_strony_dany_modul_ref_spis); tablica_danych_parametrow_szablonu_strony_ref=parametry_modul["KopiujRekurencyjnieTabelęElementów"](tablica_danych_parametrow_szablonu_strony_ref_spis); end; ---- end); local function __FUNKCJA_SPISU(tablica_ksiazki,czy_podac_adres) tablica_ksiazki.spis=tabela_artykulow; if(czy_artykul_korzystany)then tablica_ksiazki.licencja=tabela_licencji_spisu_tresci; end; tablica_ksiazki.nazwa_bazowego_spisu=nazwa_glownego_spisu; tablica_ksiazki.tab_inne_spisy=tab_inne_spisy; tablica_ksiazki.dodatkowe_strony_woluminu=dodatkowe_artykuly; tablica_ksiazki.adres_woluminu_bazowego_spisu_rzeczy=czy_podac_adres and adres_ksiazki_glownego_spisu_tresci or nil; end; if(tabela_artykulow==0)then if(czy_artykul_korzystany)then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"korzystana strona główna nie istnieje"); else stronicowyparser_problemy_modul.DodawanieProblemowegoElementuDoTablicy(self,"dołączone strony główne nie istnieją",nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); end; elseif(tabela_artykulow)then if(parametry_modul.TypeTable(tabela_artykulow))then if(adres_ksiazki_glownego_spisu_tresci)then __FUNKCJA_SPISU(tablica_ksiazki,true); local tablica_ksiazki_stara=tablica_ksiazki; local artykul,kod_wyniku=stronicowyparser_potrzebne_modul.OdpowiednikNaPrzemianArtykularnychStronWoluminu(tabela_artykulow,nazwa_glownego_spisu,tab_inne_spisy,dodatkowe_artykuly,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,true); local nazwa_przestrzeni=adres_ksiazki_glownego_spisu_tresci[1]; local nazwa_przestrzeni_ksiazki=adres_ksiazki_glownego_spisu_tresci[2]; local nazwa_ksiazki=adres_ksiazki_glownego_spisu_tresci[3]; if((kod_wyniku==1)or(kod_wyniku==4))then local wartosc_wyniku,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni=__FUNKCJA(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,artykul); if(not wartosc_wyniku)then return wartosc_wyniku,true; elseif((wartosc_wyniku==0)and(tabela_artykul))then local nazwa_artykulu=artykul; StronaSubstFunkcja(tabela_artykul,tabela_ksiazka.spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return wartosc_wyniku,true; end; local tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni ,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,artykul); tablica_ksiazki_stara.referencja_do_nowej_formy_spisu={tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,}; __FUNKCJA_SPISU(tablica_ksiazki,false); return nil,nil,artykul,kod_wyniku; elseif(kod_wyniku==2)then local tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,artykul); tablica_ksiazki_stara.referencja_do_nowej_formy_spisu={tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,}; __FUNKCJA_SPISU(tablica_ksiazki,false); return nil,nil,artykul,kod_wyniku; elseif(kod_wyniku==3)then local tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nil); tablica_ksiazki_stara.referencja_do_nowej_formy_spisu={tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,}; __FUNKCJA_SPISU(tablica_ksiazki,false); return nil,nil,artykul,kod_wyniku; end; else __FUNKCJA_SPISU(tablica_ksiazki,false); end; elseif(tabela_artykulow~=1)then local wartosc_wyniku,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni=__FUNKCJA(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); if(not wartosc_wyniku)then return wartosc_wyniku,true; elseif((wartosc_wyniku==0)and(tabela_artykul))then StronaSubstFunkcja(tabela_artykul,tabela_ksiazka.spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return wartosc_wyniku,true; end; end; else if(czy_artykul_korzystany)then if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"brak spisów treści do korzystanych książek na ich stronach głównych"))then if(((self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu=="")and(nazwa_artykulu~=""))or(self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu~=""))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"brak spisów treści do korzystanych książek na ich stronach głównych"); end; end; else stronicowyparser_problemy_modul.DodawanieProblemowegoElementuDoTablicy(self,"brak spisów treści do dołączonych książek na ich stronach głównych",nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); end; end; end; end; end; end; ---- local wartosc_wyniku,wynik_bledu,artykul_bazowy,kod_wyniku_bazowy=InneInformacjePrzebneDoAnalizowanejKsiazki(); if(wynik_bledu)then return wartosc_wyniku;end; local kod_wyniku_przekierowan=kod_wyniku_bazowy; ---- --if((not tablica_przestrzeni)or(not tablica_przestrzeni_ksiazki)or(not tablica_ksiazki)or(not artykul_analizowany))then -- tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); --end; ---- if(tablica_ksiazki.adres_woluminu_bazowego_spisu_rzeczy)and((kod_wyniku_bazowy==1)or(kod_wyniku_bazowy==4))then ---- nazwa_przestrzeni=tablica_ksiazki.adres_woluminu_bazowego_spisu_rzeczy[1]; nazwa_przestrzeni_ksiazki=tablica_ksiazki.adres_woluminu_bazowego_spisu_rzeczy[2]; nazwa_ksiazki=tablica_ksiazki.adres_woluminu_bazowego_spisu_rzeczy[3]; nazwa_artykulu=artykul_bazowy; ---- tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki=tablica_ksiazki.referencja_do_nowej_formy_spisu[1],tablica_ksiazki.referencja_do_nowej_formy_spisu[2],tablica_ksiazki.referencja_do_nowej_formy_spisu[3]; end; local tabela_artykulow=tablica_ksiazki.spis; if(tabela_artykulow)then local nazwa_glownego_spisu=tablica_ksiazki.nazwa_bazowego_spisu; local tab_inne_spisy=tablica_ksiazki.tab_inne_spisy; local dodatkowe_artykuly=tablica_ksiazki.dodatkowe_strony_woluminu local artykul,kod_wyniku=stronicowyparser_potrzebne_modul.OdpowiednikNaPrzemianArtykularnychStronWoluminu(tabela_artykulow,nazwa_glownego_spisu,tab_inne_spisy,dodatkowe_artykuly,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,false); if(kod_wyniku==1)then nazwa_artykulu=artykul; local wartosc_wyniku,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni=__FUNKCJA(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); if(not wartosc_wyniku)then return wartosc_wyniku; elseif((wartosc_wyniku==0)and(tabela_artykul))then StronaSubstFunkcja(tabela_artykul,tabela_ksiazka.spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return wartosc_wyniku; end; tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); elseif(kod_wyniku==2)then local nazwa_artykulu=artykul; local tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end; kod_wyniku_przekierowan=kod_wyniku_przekierowan or kod_wyniku; end; local nazwa_modulu=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); local PrzekierownieAwaryjne=function() if((not kod_wyniku_przekierowan)or(kod_wyniku_bazowy==4))then --local artykul2,kod_wyniku2=stronicowyparser_potrzebne_modul.OdpowiednikNaPrzemianArtykularnychStronWoluminu(tabela_artykulow,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,true); local techniczne_modul=require("Module:Techniczne"); local strona=techniczne_modul.PrzekierowanieDoStrony(nazwa_modulu); if(strona)then if(strona~=nazwa_modulu)then ---- local tabela_nazw={}; nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](strona,tabela_nazw); nazwa_przestrzeni_ksiazki=nazwy_modul["NAZWAPRZESTRZENIKSIĄŻKI"](strona,tabela_nazw); nazwa_ksiazki=((nazwa_przestrzeni_ksiazki~="") and nazwy_modul["SUBNAZWAKSIĄŻKI"](strona,tabela_nazw) or nazwy_modul["NAZWAKSIĄŻKI"](strona,tabela_nazw)); nazwa_artykulu=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](strona,tabela_nazwa); local wartosc_wyniku,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni=__FUNKCJA(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); if(not wartosc_wyniku)then return wartosc_wyniku; elseif((wartosc_wyniku==0)and(tabela_artykul))then StronaSubstFunkcja(tabela_artykul,tabela_ksiazka.spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return wartosc_wyniku; end; tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); nazwa_modulu=strona; else return 0; end; end; end; end; local wynik=PrzekierownieAwaryjne(); if(czy_artykul_korzystany)then self.nazwa_modulu_biezaca=nazwa_modulu; end; if(wynik)then return wynik;end; ---- if(czy_artykul_korzystany)then if((not self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni)and(not self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu)and(not self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu)and(not self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu))then self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni=nazwa_przestrzeni; self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu=nazwa_przestrzeni_ksiazki; self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu=nazwa_ksiazki; self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu=nazwa_artykulu; end; end; local nazwa_modulu_aktualna_czy_biezaca=self.tabela_listy_danych_analizy_ksiazki.alternatywna and nazwy_modul["NazwaModułu"](self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_przestrzeni,self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_przestrzeni_ksiazki,self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_ksiazki,self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_artykulu) or nazwa_modulu; -- przydzielanie tablicy if(czy_artykul_korzystany)then artykul_analizowany.artykul_biezacy=true; tablica_ksiazki.ksiazka_analizowana=true; end; --koniec --local iterator=mw.ustring.gmatch(tekst_rozwiniety_calego_artykulu,"{{[^{}]-}}"); if(not tablica_zmiennych)then tablica_zmiennych={};end; if(not tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2)then tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2={};end; local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty"); for _,element_w_tablicy_obiekt in pairs(stronicowyparser_obiekty_modul.tablica_obiektowych_form)do local CzyLink=element_w_tablicy_obiekt.CzyLink; local CzyNum=element_w_tablicy_obiekt.CzyNum; local wartosc=element_w_tablicy_obiekt[1]; tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2[wartosc]={CzyLink=CzyLink,CzyNum=CzyNum,}; if(czy_artykul_korzystany)then tablica_zmiennych.linkobiekt[wartosc]={CzyLink=CzyLink,CzyNum=CzyNum;};end; end; local function StronaZbiorcza() if(czy_artykul_korzystany)then local stronicowyparser_stronasubst_modul=require("Module:StronicowyParser/StronaSubst"); local TakFun=function(frame) return true;end;local NieFun=function(frame) return nil;end; local wynik=stronicowyparser_stronasubst_modul.AnalizaStronaSubst(self.tabela_listy_danych_analizy_ksiazki,tablica_ksiazki.spis,nil,TakFun,NieFun,nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); artykul_analizowany.strona_zbiorcza=(wynik and "tak" or ""); return wynik; end; return nil; end; local strona_zbiorcza=StronaZbiorcza(); local pelna_nazwa_ksiazki=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,""); local stronicowyparser_tekst_modul=require("Module:StronicowyParser/Tekst"); ---- local tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony; if((not tekst_rozwiniety_calego_artykulu_ref)or(not tablica_analizy_obiektow_strony_dany_modul_ref)or(not tablica_danych_parametrow_szablonu_strony_ref))then tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony=stronicowyparser_tekst_modul.RekurencyjnyZakodowanoSpreparowanyWikikodStrony(self,nazwa_modulu_aktualna_czy_biezaca,(((czy_artykul_korzystany)and(self.tabela_listy_danych_analizy_ksiazki.inna_strona_aktualna_niz_biezaca))and true or nil), nil) else tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony=tekst_rozwiniety_calego_artykulu_ref,tablica_analizy_obiektow_strony_dany_modul_ref,tablica_danych_parametrow_szablonu_strony_ref; end; ---- if(not czy_artykul_korzystany)then if(not tekst_rozwiniety_calego_artykulu)then return 0;end; end; if(czy_artykul_korzystany)then if(not tekst_rozwiniety_calego_artykulu)then if(strona_zbiorcza)then self.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak"; end; return nil; end; end; local szablonowe_modul=require("Module:Szablonowe"); local parametry_modul=require("Module:Parametry"); if((czy_artykul_korzystany)and(self.tabela_listy_danych_analizy_ksiazki.inna_strona_aktualna_niz_biezaca))then local aktualna_nazwa_modulu=self.tabela_listy_danych_analizy_ksiazki.alternatywna and nazwa_modulu_aktualna_czy_biezaca or nazwy_modul["NazwaModułu"](self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_przestrzeni,self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_przestrzeni_ksiazki,self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_ksiazki,self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_artykulu); local tekst=stronicowyparser_tekst_modul.SpreparowanyWikikodStrony(self,aktualna_nazwa_modulu); if(tekst)then local iterator=szablonowe_modul:IteratorSzablonowyZakodowanegoTekstu(tekst,aktualna_nazwa_modulu); local tablica_danych_parametrow_szablonu_strony={}; for szablon,obiekt,kod in iterator do if(obiekt=="SZABLON")then local wynik=szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,aktualna_nazwa_modulu,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) if(stronicowyparser_obiekty_modul.strona_start_ze_spisem_rzeczy_strony[nazwa_szablonu])then self.tabela_listy_danych_analizy_ksiazki.formatowanie="tak"; self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true; return true; elseif(stronicowyparser_obiekty_modul.strona_start[nazwa_szablonu])then self.tabela_listy_danych_analizy_ksiazki.formatowanie=tabela_parametrow_szablonu["formatowanie"]; local boczne_menu=tabela_parametrow_szablonu["boczne menu"] or ""; local spis_tresci=tabela_parametrow_szablonu["spis treści"] or "TOC"; if((parametry_modul.CzyTak(boczne_menu))or(parametry_modul.CzyTak(spis_tresci)))then self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true; end; return true; end; end); if(wynik)then break;end; end; end; end; end; local uzyskano_w_wyniku_parsowania_wywolanie_szablonu; local analiza_stron_korzystanych_zbiorczych=nil; local stronastart=nil; ---- local tablica_obiekty=stronicowyparser_obiekty_modul.obiekty; local szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane_numerowane_obiekty=stronicowyparser_obiekty_modul.szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane.numerowane_obiekty; local format_elementowy_referencji_obiektowy=stronicowyparser_obiekty_modul.format_elementowy_referencji_obiektowy; local szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_napisu_wprowadzenia_tekstu=stronicowyparser_obiekty_modul.szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane.nienumerowane_obiekty_napisu_wprowadzenia_tekstu; local szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_tekstu=stronicowyparser_obiekty_modul.szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane.nienumerowane_obiekty_tekstu; local szablony_wykorzystywane_przez_strony_zbiorcze=stronicowyparser_obiekty_modul.szablony_wykorzystywane_przez_strony_zbiorcze; local format_elementowy_obiektowy=stronicowyparser_obiekty_modul.format_elementowy_obiektowy; local szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_numerowane_obiekty=stronicowyparser_obiekty_modul.szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane.numerowane_obiekty; local szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_naglowka=stronicowyparser_obiekty_modul.szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane.nienumerowane_obiekty_napisu_wprowadzenia_tekstu; local szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_tekstu=stronicowyparser_obiekty_modul.szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane.nienumerowane_obiekty_tekstu; ---- local strona_start=stronicowyparser_obiekty_modul.strona_start; local strona_start_ze_spisem_rzeczy_strony=stronicowyparser_obiekty_modul.strona_start_ze_spisem_rzeczy_strony; local strona_start_inne=stronicowyparser_obiekty_modul.strona_start_inne; local szablony_strony_zbiorczej=stronicowyparser_obiekty_modul.strona_zbiorcza; ---- local tab_szablony=stronicowyparser_obiekty_modul.szablony_stronicowego_parsera.szablony_kontenerowe; local tab_szablony_stronicowe_niekontenerowe=stronicowyparser_obiekty_modul.szablony_stronicowe_niekontenerowe; local tab_szablony_stronicowe_formatowania_tekstu=stronicowyparser_obiekty_modul.szablony_stronicowe_formatowania_tekstu; local tab_szablony_stronicowe_kontenerowe_formatowania_wzorowego=stronicowyparser_obiekty_modul.szablony_stronicowe_kontenerowe_formatowania_wzorowego; ---- local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local iterator=szablonowe_modul:IteratorSzablonowyZakodowanegoTekstu(tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul); local tabela_elementow_strony_kodow={}; for uzyskano_w_wyniku_parsowania_wywolanie_szablonu,obiekt,kod in iterator do local function AnalizaParametrowSzablonuISzablonu(tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,uzyskano_w_wyniku_parsowania_wywolanie_szablonu) if(czy_artykul_korzystany)then if(tabela_parametrow_szablonu)then if((not stronastart)and(self.tabela_listy_danych_analizy_ksiazki.formatowanie==nil))then if(strona_start[nazwa_szablonu_wywolania])then self.tabela_listy_danych_analizy_ksiazki.formatowanie=tabela_parametrow_szablonu["formatowanie"]; stronastart=true; local boczne_menu=tabela_parametrow_szablonu["boczne menu"] or ""; local spis_tresci=tabela_parametrow_szablonu["spis treści"] or "TOC"; if((parametry_modul.CzyTak(boczne_menu))or(parametry_modul.CzyTak(spis_tresci)))then self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true; end; return; elseif(strona_start_ze_spisem_rzeczy_strony[nazwa_szablonu_wywolania])then self.tabela_listy_danych_analizy_ksiazki.formatowanie="tak"; self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true; stronastart=true; return; elseif(strona_start_inne[nazwa_szablonu_wywolania])then self.tabela_listy_danych_analizy_ksiazki.formatowanie="tak"; stronastart=true; return; elseif((strona_zbiorcza)and(not analiza_stron_korzystanych_zbiorczych)and(szablony_strony_zbiorczej[nazwa_szablonu_wywolania]))then analiza_stron_korzystanych_zbiorczych=true; local nazwa_przestrzeni=tabela_parametrow_szablonu["nazwa przestrzeni nazw"]; local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"]; if((not parametry_modul.CzyTak(nazwa_prestreni_nazw))and(not parametry_modul.CzyTak(nazwa_jednostki)))then return; end; end; elseif((strona_zbiorcza)and(not analiza_stron_korzystanych_zbiorczych)and(szablony_strony_zbiorczej[nazwa_szablonu_wywolania]))then analiza_stron_korzystanych_zbiorczych=true; local nazwa_przestrzeni=tabela_parametrow_szablonu["nazwa przestrzeni nazw"]; local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"]; if((not parametry_modul.CzyTak(nazwa_przestrzeni))and(not parametry_modul.CzyTak(nazwa_jednostki)))then return; end; end; end; end; local plik=mw.ustring.match(nazwa_szablonu_wywolania,"^:"); if(plik==nil)then if(tabela_parametrow_szablonu)then if(not parametry_modul.CzyTak(tabela_parametrow_szablonu["bez automatu"]))then local czy_wypowiedzenie=(nazwa_szablonu_wywolania=="Wypowiedzenie"); local czy_linkobiekt; local czy_link;local czy_pobierz; local czy_wypowiedzenie_z_parametrami; local czy_linkobiekt_z_parametrami; if(czy_wypowiedzenie)then czy_linkobiekt=false; czy_link=false; czy_pobierz=false; czy_wypowiedzenie_z_parametrami=parametry_modul.CzyTak(tabela_parametrow_szablonu["rodzaj"]); else czy_linkobiekt=(nazwa_szablonu_wywolania=="LinkObiekt"); if(czy_linkobiekt)then czy_link=true; czy_pobierz=false; czy_linkobiekt_z_parametrami=parametry_modul.CzyTak(tabela_parametrow_szablonu["typ"]); else czy_link=mw.ustring.match(nazwa_szablonu_wywolania,"^Link"); czy_pobierz=(not czy_link) and mw.ustring.match(nazwa_szablonu_wywolania,"^Pobierz") or nil; end; end; if((not czy_link)and(not czy_pobierz))then local wartosc_elementu;local numer_uchwytu; if(not czy_wypowiedzenie_z_parametrami) then local tab_wartosc_elementu=szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_numerowane_obiekty[nazwa_szablonu_wywolania]; if(tab_wartosc_elementu)then wartosc_elementu=tab_wartosc_elementu[1]; numer_uchwytu=tab_wartosc_elementu[2]; end; else local rodzaj=tabela_parametrow_szablonu["rodzaj"]; if(rodzaj)then wartosc_elementu=format_elementowy_obiektowy[rodzaj] and rodzaj or nil; if(wartosc_elementu)then numer_uchwytu=tablica_obiekty[5]; end; end; end; if(wartosc_elementu)then local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA) if(czy_artykul_korzystany)then if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then if(uchwyt_obiektu and (uchwyt_obiektu~=""))then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=wartosc_elementu..":"..((uchwyt_obiektu)and uchwyt_obiektu or ""); end; end; end; end; p.RozpatrywanieSzablonuObiektuDoNumeracji(self,tabela_parametrow_szablonu,tablica_zmiennych, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,wartosc_elementu, czy_artykul_korzystany,numer_uchwytu--[[elementy_w_tablicy_obiekty[5]],nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie); return; end; elseif(czy_artykul_korzystany)then if(czy_link)then local wartosc_elementu; if(not czy_linkobiekt_z_parametrami)then wartosc_elementu=szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane_numerowane_obiekty[nazwa_szablonu_wywolania]; else local typ=tabela_parametrow_szablonu["typ"]; if(typ)then typ=format_elementowy_referencji_obiektowy[typ] and typ or nil; if(typ)then wartosc_elementu=mw.getContentLanguage():ucfirst(typ); end; end; end; if(wartosc_elementu)then local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA) if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie="Link"..wartosc_elementu..":"..((uchwyt_obiektu)and uchwyt_obiektu or ""); end; end; p.GeneralneLinkowanie(self,tablica_zmiennych,tabela_parametrow_szablonu,wartosc_elementu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie); return; else local wartosc_elementu=szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_napisu_wprowadzenia_tekstu[nazwa_szablonu_wywolania]; if(wartosc_elementu)then self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci=true; self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=nil; local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA) if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu_wywolania..":"..((uchwyt_obiektu)and uchwyt_obiektu or ""); end; end; p.GeneralneLinkowanie(self,tablica_zmiennych,tabela_parametrow_szablonu,wartosc_elementu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie); self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci=nil; if(not self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone)then self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true; self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=nil; else self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=nil; end; return; end; end; elseif(czy_pobierz)then local wartosc_elementu=szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_tekstu[nazwa_szablonu_wywolania]; if(wartosc_elementu)then local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA) if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu_wywolania..":"..((uchwyt_obiektu)and uchwyt_obiektu or ""); end; end; p.GeneralneLinkowanie(self,tablica_zmiennych,tabela_parametrow_szablonu,wartosc_elementu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie); return; end; end; end; if(czy_wypowiedzenie)then local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA) if(czy_artykul_korzystany)then if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie="Obiekt:"..((uchwyt_obiektu)and uchwyt_obiektu or ""); end; end; end; p.RozpatrywanieSzablonuObiektuDoNumeracji(self,tabela_parametrow_szablonu,tablica_zmiennych,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,"Obiekt", czy_artykul_korzystany,tablica_obiekty[5],nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie); return; elseif(stronicowyparser_obiekty_modul.szablony_stronicowego_parsera.szablony_wprowadzenia_tekstu[nazwa_szablonu_wywolania])then local tab_wartosc_elementu=szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_naglowka[nazwa_szablonu_wywolania]; local wartosc_elementu;local numer_uchwytu; if(tab_wartosc_elementu)then wartosc_elementu=tab_wartosc_elementu[1]; numer_uchwytu=tab_wartosc_elementu[2]; end; local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA) if(czy_artykul_korzystany)then if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then if(uchwyt_obiektu and (uchwyt_obiektu~=""))then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=wartosc_elementu..":"..((uchwyt_obiektu)and uchwyt_obiektu or ""); end; end; end; end; local lista_dwuelementowa=p.RozpatrywanieSzablonuObiektuDoNumeracji(self,tabela_parametrow_szablonu,tablica_zmiennych, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,wartosc_elementu, czy_artykul_korzystany,numer_uchwytu--[[elementy_w_tablicy_obiekty[5]],nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie); p.UchwytyZeiBezNumeracji(self,tabela_elementow_strony_kodow,wartosc_elementu,lista_dwuelementowa,kod); if(czy_artykul_korzystany)then self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true; end; return; elseif(stronicowyparser_obiekty_modul.szablony_stronicowego_parsera.szablony_tekstu[nazwa_szablonu_wywolania])then local tab_wartosc_elementu=szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_tekstu[nazwa_szablonu_wywolania]; local wartosc_elementu;local numer_uchwytu; if(tab_wartosc_elementu)then wartosc_elementu=tab_wartosc_elementu[1]; numer_uchwytu=tab_wartosc_elementu[2]; end; local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA) if(czy_artykul_korzystany)then if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then if(uchwyt_obiektu and (uchwyt_obiektu~=""))then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=wartosc_elementu..":"..((uchwyt_obiektu)and uchwyt_obiektu or ""); end; end; end; end; local lista_dwuelementowa=p.RozpatrywanieSzablonuObiektuDoNumeracji(self,tabela_parametrow_szablonu,tablica_zmiennych, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,wartosc_elementu, czy_artykul_korzystany,numer_uchwytu--[[elementy_w_tablicy_obiekty[5]],nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie); if(lista_dwuelementowa)then local tekst=tabela_parametrow_szablonu["tekst"] or tabela_parametrow_szablonu["treść"] or tabela_parametrow_szablonu[1]; if(tekst)then tekst=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(tekst,nil,tablica_analizy_obiektow_strony_dany_modul, function(szablon,obiekt,kod) if(obiekt=="SZABLON")then local wynik=szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,nazwa_modulu,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) if( (tab_szablony[nazwa_szablonu]) or(tab_szablony_stronicowe_niekontenerowe[nazwa_szablonu]) or(tab_szablony_stronicowe_formatowania_tekstu[nazwa_szablonu]) or(tab_szablony_stronicowe_kontenerowe_formatowania_wzorowego[nazwa_szablonu]) )then if(not czy_artykul_korzystany)then tabela_parametrow_szablonu["nazwa przestrzeni nazw"]=tabela_parametrow_szablonu["nazwa przestrzeni nazw"] or nazwa_przestrzeni; tabela_parametrow_szablonu["nazwa jednostki"]=tabela_parametrow_szablonu["nazwa jednostki"] or (((nazwa_przestrzeni_ksiazki~="") and (nazwa_przestrzeni_ksiazki.."/") or "")..nazwa_ksiazki..((nazwa_artykulu~="") and ("/"..nazwa_artykulu) or "")) end; if(self)then local czy_link_lub_pobierz=mw.ustring.match(nazwa_szablonu,"^Link") or mw.ustring.match(nazwa_szablonu,"^Pobierz"); if(czy_link_lub_pobierz)then p.ZbieranieKontenerowychInformacjiReferencji(self,tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca); else p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu); end; end; return szablonowe_modul.KodSymbolicznySzablonu(nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow,true); end; return nil; end); if(wynik)then return wynik;end; end; end); local frame=mw.getCurrentFrame(); tekst=frame:preprocess(tekst); lista_dwuelementowa[2]=tekst; end; end; return; elseif(czy_artykul_korzystany)then if(czy_linkobiekt)then local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA) if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie="LinkObiekt:"..((uchwyt_obiektu)and uchwyt_obiektu or ""); end; end; p.GeneralneLinkowanie(self,tablica_zmiennych,tabela_parametrow_szablonu,"Obiekt",nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie); return; else if(stronicowyparser_obiekty_modul.szablony_z_lokalnym_spisem_rzeczy_strony[nazwa_szablonu_wywolania])then self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true; return; elseif(stronicowyparser_obiekty_modul.bez_uchwytow_spis_rzeczy_strony[nazwa_szablonu_wywolania])then self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci=true; self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=nil; local function KtorySzablonMaZwracacKategorie(uchwyt,__FUNKCJA) if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then local nazwa_ksiazki=tabela_parametrow_szablonu["nazwa książki"] or tabela_parametrow_szablonu[2] or ""; local artykul=tabela_parametrow_szablonu["nazwa artykułu"] or tabela_parametrow_szablonu[1] or ""; self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu_wywolania..":"..nazwa_ksiazki..((artykul)and ("/"..artykul) or "") end; end; p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,KtorySzablonMaZwracacKategorie); self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci=nil; if(not self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone)then self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true; self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=nil; else self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=nil; end; return; else local function KtorySzablonMaZwracacKategorie(uchwyt,__FUNKCJA) if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then local nazwy_modul=require("Module:Nazwy"); local nazwa_przestrzeni=tabela_parametrow_szablonu["nazwa przestrzeni nazw"] or ""; local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"] or ""; local nazwa_symulacyjnej_strony=((nazwa_przestrzeni~="") and (nazwa_przestrzeni..":") or "")..nazwa_jednostki; local uchwyt=nazwa_szablonu_wywolania..":"..nazwa_symulacyjnej_strony; self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=uchwyt; end; end; if((stronicowyparser_obiekty_modul.szablony_kontenerowe[nazwa_szablonu_wywolania]) or(szablony_strony_zbiorczej[nazwa_szablonu_wywolania]) )then if(szablony_wykorzystywane_przez_strony_zbiorcze[nazwa_szablonu_wywolania])then p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,true,KtorySzablonMaZwracacKategorie); else p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,nil,KtorySzablonMaZwracacKategorie); end; return; elseif((strona_zbiorcza)and(szablony_strony_zbiorczej[nazwa_szablonu_wywolania]))then p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,true,KtorySzablonMaZwracacKategorie); return; end; end; end; end; end; end; end; end; stronicowyparser_potrzebne_modul:AnalizaSzablonuStronicowegoParsera(uzyskano_w_wyniku_parsowania_wywolanie_szablonu,obiekt,kod,nazwa_modulu_aktualna_czy_biezaca,tablica_danych_parametrow_szablonu_strony,AnalizaParametrowSzablonuISzablonu); end; local tablica_danych_nazwy_artykulu=tablica_ksiazki.lista_podstron_woluminu[nazwa_artykulu] or {}; tablica_danych_nazwy_artykulu.uchwyty_i_numeracje=tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2; if(czy_artykul_korzystany)then if(analiza_stron_korzystanych_zbiorczych)then local stronicowyparser_stronasubst_modul=require("Module:StronicowyParser/StronaSubst"); tekst_rozwiniety_calego_artykulu=stronicowyparser_stronasubst_modul.LiczOperacjeStronZbiorczych(self,tekst_rozwiniety_calego_artykulu,tablica_ksiazki.spis,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); end; end; local strona; if(czy_artykul_korzystany)then strona="";else strona=nazwa_modulu;end; local toc; if(((czy_artykul_korzystany)and(self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane)) or((not czy_artykul_korzystany)and(self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone)))then ---- local tablica_obiektow_strony_danych_kodow_specjalnych_modul=nil; ---- tekst_rozwiniety_calego_artykulu,tablica_obiektow_strony_danych_kodow_specjalnych_modul=szablonowe_modul:KodowanieInaczejZakodowanychNormKodowychTekstuWedleJegoTablicyKodowania(tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,false); ---- local function KtorySzablonMaZwracacKategorieNaglowek(numeracja_aktualna,nazwa_szablonu) if(czy_artykul_korzystany)then if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"powtórka nagłowek w stronie korzystanej"))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"powtórka nagłowek w stronie korzystanej"); if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu..":"..(numeracja_aktualna or ""); end; end; else stronicowyparser_problemy_modul.DodawanieProblemowegoElementuDoTablicy(self,"powtórka nagłówek w stronie dołączonej",nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki) if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu..":"..(numeracja_aktualna or ""); end; end; end; local function KtorySzablonMaZwracacKategorieTekst(numeracja_aktualna,nazwa_szablonu) if(czy_artykul_korzystany)then if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"nagłówek w tekście rozdziału w stronie korzystanej"))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"nagłówek w tekście rozdziału w stronie korzystanej"); if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu..":"..(numeracja_aktualna or ""); end; end; else stronicowyparser_problemy_modul.DodawanieProblemowegoElementuDoTablicy(self,"nagłowek w tekście rozdziału w stronie dołączonej",nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu..":"..(numeracja_aktualna or ""); end; end; end; local function CzyJestTakiProblemJakoElementTablicy() return stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"nagłówek w tekście rozdziału w stronie korzystanej"); end; local nazwa_naglowka=stronicowyparser_obiekty_modul.nazwa_szablonu_wprowadzenia_tekstu; local stronicowyparser_glownafunkcjazbieraniadanych_modul=require("Module:StronicowyParser/GłównaFunkcjaZbieraniaDanychStron"); local tablica_naglowka_obiekty=tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2[nazwa_naglowka]; tablica_naglowka_obiekty.uchwyty_bez_numeracji={}; local toc=stronicowyparser_glownafunkcjazbieraniadanych_modul.SpisRzeczyWedlePodanegoTekstu(self,tekst_rozwiniety_calego_artykulu,strona, czy_artykul_korzystany,nil,tablica_naglowka_obiekty.uchwyty_bez_numeracji, nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki, nazwa_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tablica_obiektow_strony_danych_kodow_specjalnych_modul,{KtorySzablonMaZwracacKategorieNaglowek,KtorySzablonMaZwracacKategorieTekst,CzyJestTakiProblemJakoElementTablicy},nil,tabela_elementow_strony_kodow); tablica_danych_nazwy_artykulu.TOC=toc; end; StronaSubstFunkcja(tablica_danych_nazwy_artykulu,tablica_ksiazki.spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); if(czy_artykul_korzystany)then self.tabela_listy_danych_analizy_ksiazki.tablica_aktualnego_artykulu=tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2; self.tabela_listy_danych_analizy_ksiazki.tablica_aktualnej_przestrzeni_nazw=self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni]; self.tabela_listy_danych_analizy_ksiazki.tablica_ksiazek_w_danej_przestrzeni_nazw_ksiazki=self.tabela_listy_danych_analizy_ksiazki.tablica_aktualnej_przestrzeni_nazw[nazwa_przestrzeni_ksiazki]; self.tabela_listy_danych_analizy_ksiazki.tablica_aktualnej_ksiazki=self.tabela_listy_danych_analizy_ksiazki.tablica_ksiazek_w_danej_przestrzeni_nazw_ksiazki[nazwa_ksiazki]; end; return self.tabela_listy_danych_analizy_ksiazki; end; return p; rk7bope2avccf98f057yabjvafeinaq 544484 544481 2026-05-27T14:36:04Z Persino 2851 544484 Scribunto text/plain local p={}; function p.UchwytyZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,lista_dwuelementowa,kod) if(lista_dwuelementowa)then local tab_obiekt=tabela_elementow_strony_kodow[nazwa_obiektu]; if(not tab_obiekt)then tabela_elementow_strony_kodow[nazwa_obiektu]={}; tab_obiekt=tabela_elementow_strony_kodow[nazwa_obiektu]; end; local uchwyty_bez_numeracji=tab_obiekt.uchwyty_bez_numeracji; if(not uchwyty_bez_numeracji)then tab_obiekt.uchwyty_bez_numeracji={}; uchwyty_bez_numeracji=tab_obiekt.uchwyty_bez_numeracji; end; uchwyty_bez_numeracji[kod]=lista_dwuelementowa; end; end; function p.WydobywanieUchwytuZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,kod) local tab_obiekt=tabela_elementow_strony_kodow[nazwa_obiektu]; if(not tab_obiekt)then return nil;end; local uchwyty_bez_numeracji=tab_obiekt.uchwyty_bez_numeracji; if(uchwyty_bez_numeracji)then return uchwyty_bez_numeracji[kod]; end; end; function p.RozpatrywanieElementuUchwytuNumeracji(self,kod_uchwytu,tablica_zmiennych,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, nazwa_obiektu, czy_artykul_korzystany,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); kod_uchwytu=stronicowyparser_potrzebne_modul.DekodowanieNazwySzablonu(kod_uchwytu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,true) or kod_uchwytu; local html_modul=require("Module:Html"); kod_uchwytu=html_modul.DecodeHtml(kod_uchwytu,true); if(kod_uchwytu~="")then KtorySzablonMaZwracacKategorie(kod_uchwytu); local lista_dwuelementowa={}; lista_dwuelementowa[1]=kod_uchwytu; local parametry_modul=require("Module:Parametry"); if((not tablica_zmiennych.sprawdzenie_dokonane_obiektu)and(not parametry_modul["CzySąElementyNumerowaneTablicy"](tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2[nazwa_obiektu])))then local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); if(not (stronicowyparser_problemy_modul.CzyJestTakiElementTabeliProblemu(self,"strony poza zakresem obsługiwanym",nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki)))then p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki,nazwa_artykulu); end; tablica_zmiennych.sprawdzenie_dokonane_obiektu=true; end; table.insert(tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2[nazwa_obiektu],lista_dwuelementowa); return lista_dwuelementowa; end; end; function p.RozpatrywanieSzablonuObiektuDoNumeracji(self,tabela_parametrow_szablonu,tablica_zmiennych,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,nazwa_obiektu, czy_artykul_korzystany,numer_numeracji,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie) local kod_uchwytu=tabela_parametrow_szablonu["uchwyt"] or tabela_parametrow_szablonu[numer_numeracji]; if(kod_uchwytu)then local lista_dwuelementowa=p.RozpatrywanieElementuUchwytuNumeracji(self,kod_uchwytu,tablica_zmiennych, nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, nazwa_obiektu, czy_artykul_korzystany,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie); return lista_dwuelementowa; end; end; function p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) if((nazwa_przestrzeni)and(nazwa_przestrzeni_ksiazki)and(nazwa_ksiazki))then if(nazwa_artykulu=="")then return;end; local czy_element_wystepuje_w_tablicy=false; local tablica_przestrzeni_wszystkiego=self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron; if(tablica_przestrzeni_wszystkiego)then local tabela_przestrzeni_ksiazek=tablica_przestrzeni_wszystkiego[nazwa_przestrzeni]; if(tabela_przestrzeni_ksiazek)then local tabela_ksiazek=tabela_przestrzeni_ksiazek[nazwa_przestrzeni_ksiazki] if(tabela_ksiazek)then local tab_ksiazki=tabela_ksiazek[nazwa_ksiazki]; if(tab_ksiazki)then if(tab_ksiazki.spis)then --czy_lista_niepusta=true; for _,tab_value1 in ipairs(tab_ksiazki.spis)do if(tab_value1[2])then for _,nazwa_artykulu1 in ipairs(tab_value1[2])do if(nazwa_artykulu1[1]==nazwa_artykulu)then czy_element_wystepuje_w_tablicy=true; break; end; end; end; if(czy_element_wystepuje_w_tablicy)then break;end; end; end; end; end; end; end; if(not czy_element_wystepuje_w_tablicy)then local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); if((self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni~=nazwa_przestrzeni) or(self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu~=nazwa_przestrzeni_ksiazki) or(self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu~=nazwa_ksiazki) or(self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu~=nazwa_artykulu))then if(not (stronicowyparser_problemy_modul.CzyJestTakiElementTabeliProblemu(self,"strony poza zakresem obsługiwanym",nazwa_przestrzeni,nazwa_przestrzeni_ksiazki, nazwa_ksiazki)))then stronicowyparser_problemy_modul.DodawanieProblemowegoElementuDoTablicy(self,"brak spisów treści do dołączonych stron",nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); end; elseif(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"brak spisu treści do korzystanych stron"))then if(not (stronicowyparser_problemy_modul.CzyJestTakiElementTabeliProblemu(self,"strony poza zakresem obsługiwanym",nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki)))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"brak spisu treści do korzystanych stron"); end; end; end; end; end; function p.PusteParametryReferencji(self, nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu) local czy_ksiazka_z_tylko_odstepami_lub_pusty=(nazwa_ksiazki)and (nazwa_ksiazki=="") or nil; local czy_artykul_z_tylko_odstepami_lub_pusty=(nazwa_artykulu)and (nazwa_artykulu=="") or nil; local czy_uchwyt_obiektu_z_tylko_odstepami_lub_pusty=(uchwyt_obiektu)and (uchwyt_obiektu=="") or nil; ---- local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); ---- if(czy_uchwyt_obiektu_z_tylko_odstepami_lub_pusty)then if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu,1))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu,1); end; end; if(czy_artykul_z_tylko_odstepami_lub_pusty)then if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu,2))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu,2); end; end; if(czy_ksiazka_z_tylko_odstepami_lub_pusty)then if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu,3))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu,3); end; end; end; function p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,KtorySzablonMaZwracacKategorie,czy_inna_wartosc_tekst) local nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu=p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,self.nazwa_modulu_biezaca,((not czy_inna_wartosc_tekst)and true or false)); --local ksiazkowe_modul=require("Module:Książkowe"); --pelna_nazwa_ksiazki=pelna_nazwa_ksiazki or ksiazkowe_modul["PełnaNazwaStronicowejKsiążki"](); --nazwa_artykulu=nazwa_artykulu or ksiazkowe_modul["NazwaArtykułuKsiążki"](); if((nazwa_przestrzeni)or(nazwa_przestrzeni_ksiazki)or(nazwa_ksiazki)or(nazwa_artykulu))then local tabela_nazw={}; local ksiazkowe_modul=require("Module:Książkowe"); local nazwa_przestrzeni=nazwa_przestrzeni or ksiazkowe_modul["NazwaPrzestrzeni"](nil,tabela_nazw); local nazwa_przestrzeni_ksiazki=nazwa_przestrzeni_ksiazki or ksiazkowe_modul["NazwaPrzestrzeniKsiążki"](nil,tabela_nazw); local nazwa_ksiazki=nazwa_ksiazki or ksiazkowe_modul["NazwaTytułuKsiążki"](nil,tabela_nazw); local nazwa_artykulu=nazwa_artykulu or ksiazkowe_modul["NazwaArtykułuKsiążki"](nil,tabela_nazw); if(KtorySzablonMaZwracacKategorie)then KtorySzablonMaZwracacKategorie();end; local tabela_listy_danych_analizy_ksiazki=p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, false); end; end; function p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,czy_szablon_pudelkowy_strony_zbiorczej,KtorySzablonMaZwracacKategorie) local nazwa_przestrzeni=tabela_parametrow_szablonu["nazwa przestrzeni nazw"]; local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"]; if((not nazwa_przestrzeni)and(not nazwa_jednostki))then return;end; local parametry_modul=require("Module:Parametry"); if((nazwa_jednostki) and (nazwa_jednostki==""))then return;end; local szablonowe_modul=require("Module:Szablonowe"); if((nazwa_jednostki and mw.ustring.match(nazwa_jednostki,szablonowe_modul.NormaWzoruKodowaniaTekstu())) or (nazwa_przestrzeni and mw.ustring.match(nazwa_przestrzeni,szablonowe_modul.NormaWzoruKodowaniaTekstu())) )then return;end; local nazwy_modul=require("Module:Nazwy"); local ksiazkowe_modul=require("Module:Książkowe"); local html_modul=require("Module:Html"); if(nazwa_jednostki)then nazwa_jednostki=html_modul.DecodeHtml(nazwa_jednostki,true); end; local tabela_nazw_art={}; local nazwa_jednostki=(nazwa_jednostki and mw.ustring.gsub(nazwa_jednostki,"^([^#]*)#(.*)$","%1") or nil ) or ksiazkowe_modul["NazwaArtykułu"](nil,tabela_nazw_art); if(nazwa_przestrzeni)then nazwa_przestrzeni=html_modul.DecodeHtml(nazwa_przestrzeni,true); end; local nazwa_przestrzeni=nazwa_przestrzeni or ksiazkowe_modul["NazwaPrzestrzeni"](nil,tabela_nazw_art); local strona=((nazwa_przestrzeni~="") and (nazwa_przestrzeni..":") or "")..nazwa_jednostki; local techniczne_modul=require("Module:Techniczne"); strona=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=strona,[2]=self.nazwa_modulu_biezaca,}; --strona=ksiazkowe_modul["PEŁNANAZWASTRONY"](strona); local tabela_nazw={}; local nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](strona,tabela_nazw); local nazwa_przestrzeni_ksiazki=nazwy_modul["NAZWAPRZESTRZENIKSIĄŻKI"](strona,tabela_nazw); local nazwa_ksiazki=((nazwa_przestrzeni_ksiazki~="") and (nazwy_modul["SUBNAZWAKSIĄŻKI"](strona,tabela_nazw)) or (nazwy_modul["NAZWAKSIĄŻKI"](strona,tabela_nazw))); local nazwa_artykulu=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](strona,tabela_nazw); if(KtorySzablonMaZwracacKategorie)then KtorySzablonMaZwracacKategorie();end; local tabela_listy_danych_analizy_ksiazki=p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, false,nil,czy_szablon_pudelkowy_strony_zbiorczej); end; function p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,nazwa_aktualna,bezuchwytowe) local nazwa_artykulu=tabela_parametrow_szablonu["nazwa artykułu"] or tabela_parametrow_szablonu[bezuchwytowe and 1 or 2]; local pelna_nazwa_ksiazki=tabela_parametrow_szablonu["nazwa książki"] or tabela_parametrow_szablonu[bezuchwytowe and 2 or 3]; local parametry_modul=require("Module:Parametry"); local nazwy_modul=require("Module:Nazwy"); local html_modul=require("Module:Html"); if(nazwa_artykulu)then nazwa_artykulu=html_modul.DecodeHtml(nazwa_artykulu,true); local techniczne_modul=require("Module:Techniczne"); nazwa_artykulu=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=nazwa_artykulu,[2]="",}; end; local nazwa_ksiazki;local nazwa_przestrzeni_ksiazki;local nazwa_przestrzeni; if(pelna_nazwa_ksiazki)then pelna_nazwa_ksiazki=html_modul.DecodeHtml(pelna_nazwa_ksiazki,true); local techniczne_modul=require("Module:Techniczne"); pelna_nazwa_ksiazki=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=pelna_nazwa_ksiazki,[2]=nazwa_aktualna,}; ---- local tabela_nazw={}; local ksiazkowe_modul=require("Module:Książkowe"); pelna_nazwa_ksiazki=ksiazkowe_modul["PełnaNazwaStronicowejKsiążki"](pelna_nazwa_ksiazki,tabela_nazw); nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](pelna_nazwa_ksiazki,tabela_nazw); nazwa_przestrzeni_ksiazki=nazwy_modul["NAZWAPRZESTRZENIKSIĄŻKI"](pelna_nazwa_ksiazki,tabela_nazw); nazwa_ksiazki=((nazwa_przestrzeni_ksiazki~="") and (nazwy_modul["SUBNAZWAKSIĄŻKI"](pelna_nazwa_ksiazki,tabela_nazw)) or (nazwy_modul["NAZWAKSIĄŻKI"](pelna_nazwa_ksiazki,tabela_nazw))); --pelna_nazwa_ksiazki=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,""); end; return nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu; end; function p.ZbieranieKontenerowychInformacjiReferencji(self,tabela_parametrow_szablonu,nazwa_modulu_aktualna) local nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu=p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,nazwa_modulu_aktualna); local nazwy_modul=require("Module:Nazwy"); local czy_inna_wartosc_tekst=true; if((nazwa_artykulu)and(nazwa_ksiazki))then --local nazwa_modulu=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); tabela_parametrow_szablonu["nazwa przestrzeni nazw"]=nazwa_przestrzeni; tabela_parametrow_szablonu["nazwa jednostki"]=nazwy_modul["NazwaModułu"]("",nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,nil,czy_inna_wartosc_tekst); elseif((nazwa_artykulu)and(not nazwa_ksiazki))then local ksiazkowe_modul=require("Module:Książkowe"); local nazwa_przestrzeni=tabela_parametrow_szablonu["nazwa przestrzeni nazw"] or ksiazkowe_modul["NazwaPrzestrzeni"](); local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"] or (ksiazkowe_modul["NazwaKsiążki"]()..((nazwa_artykulu~="") and ("/"..nazwa_artykulu) or "")); ---- tabela_parametrow_szablonu["nazwa przestrzeni nazw"]=nazwa_przestrzeni; tabela_parametrow_szablonu["nazwa jednostki"]=nazwa_jednostki; p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,nil,czy_inna_wartosc_tekst); elseif((not nazwa_artykulu)and(nazwa_ksiazki))then local ksiazkowe_modul=require("Module:Książkowe"); local pelna_nazwa_ksiazki=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,""); local nazwa_przestrzeni=tabela_parametrow_szablonu["nazwa przestrzeni nazw"] or ksiazkowe_modul["NazwaPrzestrzeni"](); local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"] or ksiazkowe_modul["NazwaKsiążki"](); ---- tabela_parametrow_szablonu["nazwa przestrzeni nazw"]=nazwa_przestrzeni; tabela_parametrow_szablonu["nazwa jednostki"]=nazwa_jednostki; p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,nil,czy_inna_wartosc_tekst); else p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,nil,czy_inna_wartosc_tekst); end; end; function p.GeneralneLinkowanie(self,tablica_zmiennych,tabela_parametrow_szablonu,nazwa_obiektu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie) local uchwyt_obiektu=tabela_parametrow_szablonu["uchwyt"] or tabela_parametrow_szablonu[1]; local nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu=p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,self.nazwa_modulu_biezaca); ---- local parametry_modul=require("Module:Parametry"); if(parametry_modul.CzyTak(uchwyt_obiektu))then local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); uchwyt_obiektu=stronicowyparser_potrzebne_modul.DekodowanieNazwySzablonu(uchwyt_obiektu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,true) or uchwyt_obiektu; local html_modul=require("Module:Html"); uchwyt_obiektu=html_modul.DecodeHtml(uchwyt_obiektu,true); end; ---- local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); ---- if(parametry_modul.CzyTak(uchwyt_obiektu))then nazwa_artykulu=(nazwa_artykulu or (nazwa_ksiazki and "" or nil)); if(nazwa_artykulu)then if(nazwa_artykulu~="")then if(not nazwa_ksiazki)then nazwa_przestrzeni=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; nazwa_przestrzeni_ksiazki=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu; nazwa_ksiazki=self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu; elseif(nazwa_ksiazki=="")then p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu); return; end; elseif((nazwa_ksiazki)and(nazwa_ksiazki~=""))then nazwa_artykulu=""; elseif((nazwa_ksiazki)and(nazwa_ksiazki==""))then p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu); return; else nazwa_przestrzeni=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; nazwa_przestrzeni_ksiazki=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu; nazwa_ksiazki=self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu; end; if((nazwa_przestrzeni~=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni) or(nazwa_przestrzeni_ksiazki~=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu) or(nazwa_ksiazki~=self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu) or(nazwa_artykulu~=self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu))then p.LinkowanieInnychStron(self,nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu); else p.LinkowanieFinalizowaniePrac(self,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul); p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu); end; else p.LinkowanieFinalizowaniePrac(self,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul) p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu); end; elseif((uchwyt_obiektu)and(uchwyt_obiektu==""))then p.SprawdzanieCzyJestNiepoprawnaNazwaStrony(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,nil); p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu); elseif(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"brak uchwytu",nazwa_obiektu))then p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu); stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"brak uchwytu",nazwa_obiektu); end; KtorySzablonMaZwracacKategorie(uchwyt_obiektu); end; function p.LinkowanieFinalizowaniePrac(self,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul) local linkobiekttab=tablica_zmiennych.linkobiekt[nazwa_obiektu]; local parametry_modul=require("Module:Parametry"); if((not tablica_zmiennych.sprawdzenie_dokonane_linku)and(not parametry_modul["CzySąElementyNumerowaneTablicy"](linkobiekttab)))then local parametry_modul=require("Module:Parametry"); local nazwa_przestrzeni=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; local nazwa_przestrzeni_ksiazki=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu; local nazwa_ksiazki=self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu; local nazwa_artykulu=self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu; local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); if(not (stronicowyparser_problemy_modul.CzyJestTakiElementTabeliProblemu(self,"strony poza zakresem obsługiwanym",nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki)))then p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end; tablica_zmiennych.sprawdzenie_dokonane_linku=true; end; table.insert(linkobiekttab,uchwyt_obiektu); end; function p.SprawdzanieCzyJestNiepoprawnaNazwaStrony(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,__FUNKCJA) local pudelko_modul=require("Module:Pudełko"); if(((nazwa_przestrzeni)and(((nazwa_przestrzeni~="")and(not pudelko_modul["CzyNiepoprawnaNazwa"](nazwa_przestrzeni)))or(nazwa_przestrzeni==""))) and((nazwa_przestrzeni_ksiazki)and(((nazwa_przestrzeni_ksiazki~="")and(not pudelko_modul["CzyNiepoprawnaNazwa"](nazwa_przestrzeni_ksiazki)))or(nazwa_przestrzeni_ksiazki==""))) and((nazwa_ksiazki)and(nazwa_ksiazki~="")and(not pudelko_modul["CzyNiepoprawnaNazwa"](nazwa_ksiazki))) and((nazwa_artykulu)and(((nazwa_artykulu~="")and(not pudelko_modul["CzyNiepoprawnaNazwa"](nazwa_artykulu)))or(nazwa_artykulu==""))) )then if(__FUNKCJA)then __FUNKCJA(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu); end; else local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"nieprawidłowe nazwy korzystanych stron"))then if((self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni==nazwa_przestrzeni) and(self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu==nazwa_przestrzeni_ksiazki) and(self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu==nazwa_ksiazki) and(self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu==nazwa_artykulu))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"nieprawidłowe nazwy korzystanych stron"); else stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"nieprawidłowe nazwy stron dołączanych do stron"); end; end; end; end; function p.LinkowanieInnychStron(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu) p.SprawdzanieCzyJestNiepoprawnaNazwaStrony(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,function() local parametry_modul=require("Module:Parametry"); if((nazwa_przestrzeni)and(nazwa_przestrzeni_ksiazki)and(parametry_modul.CzyTak(nazwa_ksiazki))and(nazwa_artykulu))then local tablica_zmiennych={}; tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2={} local tabela_listy_danych_analizy_ksiazki0=p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, false,tablica_zmiennych); if(tabela_listy_danych_analizy_ksiazki0)then if(not parametry_modul.CzyTak(tabela_listy_danych_analizy_ksiazki0))then return;end; p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu); local czy_jest_nazwa_obiektu_w_tabela_listy_danych_analizy_ksiazki2=tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2[nazwa_obiektu]; local CzyLink=czy_jest_nazwa_obiektu_w_tabela_listy_danych_analizy_ksiazki2.CzyLink; local ile_razy=0; if(czy_jest_nazwa_obiektu_w_tabela_listy_danych_analizy_ksiazki2)then for _, parametry_obiektu in ipairs(czy_jest_nazwa_obiektu_w_tabela_listy_danych_analizy_ksiazki2) do if(parametry_obiektu[1]==uchwyt_obiektu)then ile_razy=ile_razy+1; if(ile_razy>1)then break;end; end; end; end if(ile_razy~=1)then local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"błędy uchwytów korzystanych stron",(CzyLink and "Link" or "Pobierz")..nazwa_obiektu))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"błędy uchwytów korzystanych stron",(CzyLink and "Link" or "Pobierz")..nazwa_obiektu); end; p.PusteParametryReferencji(self,nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu); end; else local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"błąd wewnętrzny modułu lua stronicowego parsera"))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"błąd wewnętrzny modułu lua stronicowego parsera"); end; end; else p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu); end; end); end; function p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, czy_artykul_korzystany,tablica_zmiennych,czy_szablon_pudelkowy_strony_zbiorczej) local function __FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) if(not self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni])then self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni]={};end; local tablica_przestrzeni=self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni]; if(not tablica_przestrzeni[nazwa_przestrzeni_ksiazki])then tablica_przestrzeni[nazwa_przestrzeni_ksiazki]={};end; local tablica_przestrzeni_ksiazki=tablica_przestrzeni[nazwa_przestrzeni_ksiazki]; if(not tablica_przestrzeni_ksiazki[nazwa_ksiazki])then tablica_przestrzeni_ksiazki[nazwa_ksiazki]={};end; local tablica_ksiazki=tablica_przestrzeni_ksiazki[nazwa_ksiazki]; if(not tablica_ksiazki.lista_podstron_woluminu)then tablica_ksiazki.lista_podstron_woluminu={};end; if(nazwa_artykulu)then if(not tablica_ksiazki.lista_podstron_woluminu[nazwa_artykulu])then tablica_ksiazki.lista_podstron_woluminu[nazwa_artykulu]={};end; local artykul_analizowany=tablica_ksiazki.lista_podstron_woluminu[nazwa_artykulu]; return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany; else return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki; end; end; local function __FUNKCJA(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) if(not czy_artykul_korzystany)then if(self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni and self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu and self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu and self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu)then if((self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni==nazwa_przestrzeni)and(self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu==nazwa_przestrzeni_ksiazki)and(self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu==nazwa_ksiazki)and(self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu==nazwa_artykulu))then return 0; else if(self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci)then self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=true; end; end; else return nil; end; end; if(self.tabela_listy_danych_analizy_ksiazki)then if(self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron)then local tabela_przestrzeni=self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni]; if(tabela_przestrzeni)then local tabela_przestrzeni_ksiazki=tabela_przestrzeni[nazwa_przestrzeni_ksiazki]; if(tabela_przestrzeni_ksiazki)then local tabela_ksiazka=tabela_przestrzeni_ksiazki[nazwa_ksiazki]; if(tabela_ksiazka)then local lista_artykolow=tabela_ksiazka.lista_podstron_woluminu; if(lista_artykolow)then local tabela_artykul=lista_artykolow[nazwa_artykulu]; if(tabela_artykul)then return 0,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni; end; end; end; end; end; else return nil; end; else return nil; end; return true; end; local nazwy_modul=require("Module:Nazwy"); local wartosc_wyniku,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni=__FUNKCJA(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); local function StronaSubstFunkcja(tabela_artykul,spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) if((czy_szablon_pudelkowy_strony_zbiorczej)and(not czy_artykul_korzystany)and(tabela_artykul)and(not tabela_artykul.strona_zbiorcza))then --local nazwa_modulu=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); local stronicowyparser_stronasubst_modul=require("Module:StronicowyParser/StronaSubst"); local TakFun=function(frame) return "tak";end;local NieFun=function(frame) return "";end; tabela_artykul.strona_zbiorcza=stronicowyparser_stronasubst_modul.AnalizaStronaSubst(self.tabela_listy_danych_analizy_ksiazki,spis,nil,TakFun,NieFun,nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end; end; if(not wartosc_wyniku)then return wartosc_wyniku; elseif((wartosc_wyniku==0)and(tabela_artykul))then StronaSubstFunkcja(tabela_artykul,tabela_ksiazka.spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return wartosc_wyniku; end; ---- local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); if((nazwa_przestrzeni~=nazwy_np_modul.Main) and(nazwa_przestrzeni~=nazwy_np_modul.Wikijunior) and((nazwa_przestrzeni~=nazwy_np_modul.User)or(not mw.ustring.match(nazwa_przestrzeni_ksiazki,"^([^/]+)$"))) and((nazwa_przestrzeni~=nazwy_np_modul.Wikibooks)or(not mw.ustring.match(nazwa_przestrzeni_ksiazki,"^%s*[Bb]rudnopis/([^/]+)$"))) )then stronicowyparser_problemy_modul.DodawanieProblemowegoElementuDoTablicy(self,"strony poza zakresem obsługiwanym",nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); end; ---- local tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); local parametry_modul=require("Module:Parametry"); local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); ---- local tekst_rozwiniety_calego_artykulu_ref=nil; local tablica_analizy_obiektow_strony_dany_modul_ref=nil; local tablica_danych_parametrow_szablonu_strony_ref=nil; ---- local function InneInformacjePrzebneDoAnalizowanejKsiazki() if(not (stronicowyparser_problemy_modul.CzyJestTakiElementTabeliProblemu(self,"strony poza zakresem obsługiwanym",nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki)))then if((nazwa_przestrzeni)and(nazwa_przestrzeni_ksiazki)and(nazwa_ksiazki))then if(czy_artykul_korzystany)then if(not self.tabela_listy_danych_analizy_ksiazki["CzyArtykułKsiążki"])then self.tabela_listy_danych_analizy_ksiazki["CzyArtykułKsiążki"]="tak";end; end; local czy_ksiazka_istnieje_w_tablicy=((tablica_ksiazki)and(tablica_ksiazki.czy_spis_analizowano))and true or false; if(not czy_ksiazka_istnieje_w_tablicy)then tablica_ksiazki.czy_spis_analizowano=true; local stronicowyparser_spistresci_modul=require("Module:StronicowyParser/SpisTreści"); local nazwa_przestrzeni_strona_temp,nazwa_przestrzeni_ksiazki_strona_temp,nazwa_ksiazki_strona_temp; local tabela_artykulow,tabela_licencji_spisu_tresci,nazwa_glownego_spisu,tab_inne_spisy,dodatkowe_artykuly,adres_ksiazki_glownego_spisu_tresci=stronicowyparser_spistresci_modul.ZbieranieInformacjiSpisuRzeczyWoluminuEwentualnieWedleAutonawigacji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,czy_artykul_korzystany,function(nazwa_przestrzeni_strona,nazwa_przestrzeni_ksiazki_strona,nazwa_ksiazki_strona) local tablica_przestrzeni_strona=self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni_strona]; if(tablica_przestrzeni_strona)then local tablica_przestrzeni_ksiazki_strona=tablica_przestrzeni_strona[nazwa_przestrzeni_ksiazki_strona]; if(tablica_przestrzeni_ksiazki_strona)then local tablica_ksiazki_strona=tablica_przestrzeni_ksiazki_strona[nazwa_ksiazki_strona]; if(tablica_ksiazki_strona)then if(tablica_ksiazki_strona.spis)then nazwa_przestrzeni_strona_temp,nazwa_przestrzeni_ksiazki_strona_temp,nazwa_ksiazki_strona_temp=nazwa_przestrzeni_strona,nazwa_przestrzeni_ksiazki_strona,nazwa_ksiazki_strona; tablica_ksiazki.spis=tablica_ksiazki_strona.spis; tablica_ksiazki.licencja=tablica_ksiazki_strona.licencja; tablica_ksiazki.nazwa_bazowego_spisu=tablica_ksiazki_strona.nazwa_bazowego_spisu; tablica_ksiazki.tab_inne_spisy=tablica_ksiazki_strona.tab_inne_spisy; tablica_ksiazki.dodatkowe_strony_woluminu=tablica_ksiazki_strona.dodatkowe_strony_woluminu; tablica_ksiazki.adres_woluminu_bazowego_spisu_rzeczy=tablica_ksiazki_strona.adres_woluminu_bazowego_spisu_rzeczy; tablica_ksiazki.referencja_do_nowej_formy_spisu={tablica_przestrzeni_strona,tablica_przestrzeni_ksiazki_strona,tablica_ksiazki_strona,}; return 1; end; end; end end; end,function(tekst_rozwiniety_calego_artykulu_ref_spis,nazwa_przestrzeni_ref_spis,nazwa_przestrzeni_ksiazki_ref_spis,nazwa_ksiazki_ref_spis,nazwa_artykulu_ref_spis,tablica_analizy_obiektow_strony_dany_modul_ref_spis,tablica_danych_parametrow_szablonu_strony_ref_spis) ---- if((nazwa_przestrzeni==nazwa_przestrzeni_ref_spis)and(nazwa_przestrzeni_ksiazki==nazwa_przestrzeni_ksiazki_ref_spis)and(nazwa_ksiazki==nazwa_ksiazki_ref_spis)and(nazwa_artykulu==nazwa_artykulu_ref_spis))then tekst_rozwiniety_calego_artykulu_ref=tekst_rozwiniety_calego_artykulu_ref_spis; local parametry_modul=require("Module:Parametry"); tablica_analizy_obiektow_strony_dany_modul_ref=parametry_modul["KopiujRekurencyjnieTabelęElementów"](tablica_analizy_obiektow_strony_dany_modul_ref_spis); tablica_danych_parametrow_szablonu_strony_ref=parametry_modul["KopiujRekurencyjnieTabelęElementów"](tablica_danych_parametrow_szablonu_strony_ref_spis); end; ---- end); local function __FUNKCJA_SPISU(tablica_ksiazki,czy_podac_adres) tablica_ksiazki.spis=tabela_artykulow; if(czy_artykul_korzystany)then tablica_ksiazki.licencja=tabela_licencji_spisu_tresci; end; tablica_ksiazki.nazwa_bazowego_spisu=nazwa_glownego_spisu; tablica_ksiazki.tab_inne_spisy=tab_inne_spisy; tablica_ksiazki.dodatkowe_strony_woluminu=dodatkowe_artykuly; tablica_ksiazki.adres_woluminu_bazowego_spisu_rzeczy=czy_podac_adres and adres_ksiazki_glownego_spisu_tresci or nil; end; if(tabela_artykulow==0)then if(czy_artykul_korzystany)then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"korzystana strona główna nie istnieje"); else stronicowyparser_problemy_modul.DodawanieProblemowegoElementuDoTablicy(self,"dołączone strony główne nie istnieją",nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); end; elseif(tabela_artykulow)then if(parametry_modul.TypeTable(tabela_artykulow))then if(adres_ksiazki_glownego_spisu_tresci)then __FUNKCJA_SPISU(tablica_ksiazki,true); local tablica_ksiazki_stara=tablica_ksiazki; local artykul,kod_wyniku=stronicowyparser_potrzebne_modul.OdpowiednikNaPrzemianArtykularnychStronWoluminu(tabela_artykulow,nazwa_glownego_spisu,tab_inne_spisy,dodatkowe_artykuly,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,true); local nazwa_przestrzeni=adres_ksiazki_glownego_spisu_tresci[1]; local nazwa_przestrzeni_ksiazki=adres_ksiazki_glownego_spisu_tresci[2]; local nazwa_ksiazki=adres_ksiazki_glownego_spisu_tresci[3]; if((kod_wyniku==1)or(kod_wyniku==4))then local wartosc_wyniku,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni=__FUNKCJA(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,artykul); if(not wartosc_wyniku)then return wartosc_wyniku,true; elseif((wartosc_wyniku==0)and(tabela_artykul))then local nazwa_artykulu=artykul; StronaSubstFunkcja(tabela_artykul,tabela_ksiazka.spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return wartosc_wyniku,true; end; local tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni ,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,artykul); tablica_ksiazki_stara.referencja_do_nowej_formy_spisu={tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,}; __FUNKCJA_SPISU(tablica_ksiazki,false); return nil,nil,artykul,kod_wyniku; elseif(kod_wyniku==2)then local tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,artykul); tablica_ksiazki_stara.referencja_do_nowej_formy_spisu={tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,}; __FUNKCJA_SPISU(tablica_ksiazki,false); return nil,nil,artykul,kod_wyniku; elseif(kod_wyniku==3)then local tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nil); tablica_ksiazki_stara.referencja_do_nowej_formy_spisu={tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,}; __FUNKCJA_SPISU(tablica_ksiazki,false); return nil,nil,artykul,kod_wyniku; end; else __FUNKCJA_SPISU(tablica_ksiazki,false); end; elseif(tabela_artykulow~=1)then local wartosc_wyniku,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni=__FUNKCJA(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); if(not wartosc_wyniku)then return wartosc_wyniku,true; elseif((wartosc_wyniku==0)and(tabela_artykul))then StronaSubstFunkcja(tabela_artykul,tabela_ksiazka.spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return wartosc_wyniku,true; end; end; else if(czy_artykul_korzystany)then if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"brak spisów treści do korzystanych książek na ich stronach głównych"))then if(((self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu=="")and(nazwa_artykulu~=""))or(self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu~=""))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"brak spisów treści do korzystanych książek na ich stronach głównych"); end; end; else stronicowyparser_problemy_modul.DodawanieProblemowegoElementuDoTablicy(self,"brak spisów treści do dołączonych książek na ich stronach głównych",nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); end; end; end; end; end; end; ---- local wartosc_wyniku,wynik_bledu,artykul_bazowy,kod_wyniku_bazowy=InneInformacjePrzebneDoAnalizowanejKsiazki(); if(wynik_bledu)then return wartosc_wyniku;end; local kod_wyniku_przekierowan=kod_wyniku_bazowy; ---- --if((not tablica_przestrzeni)or(not tablica_przestrzeni_ksiazki)or(not tablica_ksiazki)or(not artykul_analizowany))then -- tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); --end; ---- if(tablica_ksiazki.adres_woluminu_bazowego_spisu_rzeczy)and((kod_wyniku_bazowy==1)or(kod_wyniku_bazowy==4))then ---- nazwa_przestrzeni=tablica_ksiazki.adres_woluminu_bazowego_spisu_rzeczy[1]; nazwa_przestrzeni_ksiazki=tablica_ksiazki.adres_woluminu_bazowego_spisu_rzeczy[2]; nazwa_ksiazki=tablica_ksiazki.adres_woluminu_bazowego_spisu_rzeczy[3]; nazwa_artykulu=artykul_bazowy; ---- tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki=tablica_ksiazki.referencja_do_nowej_formy_spisu[1],tablica_ksiazki.referencja_do_nowej_formy_spisu[2],tablica_ksiazki.referencja_do_nowej_formy_spisu[3]; end; local tabela_artykulow=tablica_ksiazki.spis; if(tabela_artykulow)then local nazwa_glownego_spisu=tablica_ksiazki.nazwa_bazowego_spisu; local tab_inne_spisy=tablica_ksiazki.tab_inne_spisy; local dodatkowe_artykuly=tablica_ksiazki.dodatkowe_strony_woluminu local artykul,kod_wyniku=stronicowyparser_potrzebne_modul.OdpowiednikNaPrzemianArtykularnychStronWoluminu(tabela_artykulow,nazwa_glownego_spisu,tab_inne_spisy,dodatkowe_artykuly,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,false); if(kod_wyniku==1)then nazwa_artykulu=artykul; local wartosc_wyniku,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni=__FUNKCJA(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); if(not wartosc_wyniku)then return wartosc_wyniku; elseif((wartosc_wyniku==0)and(tabela_artykul))then StronaSubstFunkcja(tabela_artykul,tabela_ksiazka.spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return wartosc_wyniku; end; tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); elseif(kod_wyniku==2)then local nazwa_artykulu=artykul; local tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end; kod_wyniku_przekierowan=kod_wyniku_przekierowan or kod_wyniku; end; local nazwa_modulu=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); local PrzekierownieAwaryjne=function() if((not kod_wyniku_przekierowan)or(kod_wyniku_bazowy==4))then --local artykul2,kod_wyniku2=stronicowyparser_potrzebne_modul.OdpowiednikNaPrzemianArtykularnychStronWoluminu(tabela_artykulow,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,true); local techniczne_modul=require("Module:Techniczne"); local strona=techniczne_modul.PrzekierowanieDoStrony(nazwa_modulu); if(strona)then if(strona~=nazwa_modulu)then ---- local tabela_nazw={}; nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](strona,tabela_nazw); nazwa_przestrzeni_ksiazki=nazwy_modul["NAZWAPRZESTRZENIKSIĄŻKI"](strona,tabela_nazw); nazwa_ksiazki=((nazwa_przestrzeni_ksiazki~="") and nazwy_modul["SUBNAZWAKSIĄŻKI"](strona,tabela_nazw) or nazwy_modul["NAZWAKSIĄŻKI"](strona,tabela_nazw)); nazwa_artykulu=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](strona,tabela_nazwa); local wartosc_wyniku,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni=__FUNKCJA(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); if(not wartosc_wyniku)then return wartosc_wyniku; elseif((wartosc_wyniku==0)and(tabela_artykul))then StronaSubstFunkcja(tabela_artykul,tabela_ksiazka.spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return wartosc_wyniku; end; tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); nazwa_modulu=strona; else return 0; end; end; end; end; local wynik=PrzekierownieAwaryjne(); if(czy_artykul_korzystany)then self.nazwa_modulu_biezaca=nazwa_modulu; end; if(wynik)then return wynik;end; ---- if(czy_artykul_korzystany)then if((not self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni)and(not self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu)and(not self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu)and(not self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu))then self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni=nazwa_przestrzeni; self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu=nazwa_przestrzeni_ksiazki; self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu=nazwa_ksiazki; self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu=nazwa_artykulu; end; end; local nazwa_modulu_aktualna_czy_biezaca=self.tabela_listy_danych_analizy_ksiazki.alternatywna and nazwy_modul["NazwaModułu"](self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_przestrzeni,self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_przestrzeni_ksiazki,self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_ksiazki,self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_artykulu) or nazwa_modulu; -- przydzielanie tablicy if(czy_artykul_korzystany)then artykul_analizowany.artykul_biezacy=true; tablica_ksiazki.ksiazka_analizowana=true; end; --koniec --local iterator=mw.ustring.gmatch(tekst_rozwiniety_calego_artykulu,"{{[^{}]-}}"); if(not tablica_zmiennych)then tablica_zmiennych={};end; if(not tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2)then tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2={};end; local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty"); for _,element_w_tablicy_obiekt in pairs(stronicowyparser_obiekty_modul.tablica_obiektowych_form)do local CzyLink=element_w_tablicy_obiekt.CzyLink; local CzyNum=element_w_tablicy_obiekt.CzyNum; local wartosc=element_w_tablicy_obiekt[1]; tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2[wartosc]={CzyLink=CzyLink,CzyNum=CzyNum,}; if(czy_artykul_korzystany)then tablica_zmiennych.linkobiekt[wartosc]={CzyLink=CzyLink,CzyNum=CzyNum;};end; end; local function StronaZbiorcza() if(czy_artykul_korzystany)then local stronicowyparser_stronasubst_modul=require("Module:StronicowyParser/StronaSubst"); local TakFun=function(frame) return true;end;local NieFun=function(frame) return nil;end; local wynik=stronicowyparser_stronasubst_modul.AnalizaStronaSubst(self.tabela_listy_danych_analizy_ksiazki,tablica_ksiazki.spis,nil,TakFun,NieFun,nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); artykul_analizowany.strona_zbiorcza=(wynik and "tak" or ""); return wynik; end; return nil; end; local strona_zbiorcza=StronaZbiorcza(); local pelna_nazwa_ksiazki=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,""); local stronicowyparser_tekst_modul=require("Module:StronicowyParser/Tekst"); ---- local tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony; if((not tekst_rozwiniety_calego_artykulu_ref)or(not tablica_analizy_obiektow_strony_dany_modul_ref)or(not tablica_danych_parametrow_szablonu_strony_ref))then tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony=stronicowyparser_tekst_modul.RekurencyjnyZakodowanoSpreparowanyWikikodStrony(self,nazwa_modulu_aktualna_czy_biezaca,(((czy_artykul_korzystany)and(self.tabela_listy_danych_analizy_ksiazki.inna_strona_aktualna_niz_biezaca))and true or nil), nil) else tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony=tekst_rozwiniety_calego_artykulu_ref,tablica_analizy_obiektow_strony_dany_modul_ref,tablica_danych_parametrow_szablonu_strony_ref; end; ---- if(not czy_artykul_korzystany)then if(not tekst_rozwiniety_calego_artykulu)then return 0;end; end; if(czy_artykul_korzystany)then if(not tekst_rozwiniety_calego_artykulu)then if(strona_zbiorcza)then self.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak"; end; return nil; end; end; local szablonowe_modul=require("Module:Szablonowe"); local parametry_modul=require("Module:Parametry"); if((czy_artykul_korzystany)and(self.tabela_listy_danych_analizy_ksiazki.inna_strona_aktualna_niz_biezaca))then local aktualna_nazwa_modulu=self.tabela_listy_danych_analizy_ksiazki.alternatywna and nazwa_modulu_aktualna_czy_biezaca or nazwy_modul["NazwaModułu"](self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_przestrzeni,self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_przestrzeni_ksiazki,self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_ksiazki,self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_artykulu); local tekst=stronicowyparser_tekst_modul.SpreparowanyWikikodStrony(self,aktualna_nazwa_modulu); if(tekst)then local iterator=szablonowe_modul:IteratorSzablonowyZakodowanegoTekstu(tekst,aktualna_nazwa_modulu); local tablica_danych_parametrow_szablonu_strony={}; for szablon,obiekt,kod in iterator do if(obiekt=="SZABLON")then local wynik=szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,aktualna_nazwa_modulu,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) if(stronicowyparser_obiekty_modul.strona_start_ze_spisem_rzeczy_strony[nazwa_szablonu])then self.tabela_listy_danych_analizy_ksiazki.formatowanie="tak"; self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true; return true; elseif(stronicowyparser_obiekty_modul.strona_start[nazwa_szablonu])then self.tabela_listy_danych_analizy_ksiazki.formatowanie=tabela_parametrow_szablonu["formatowanie"]; local boczne_menu=tabela_parametrow_szablonu["boczne menu"] or ""; local spis_tresci=tabela_parametrow_szablonu["spis treści"] or "TOC"; if((parametry_modul.CzyTak(boczne_menu))or(parametry_modul.CzyTak(spis_tresci)))then self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true; end; return true; end; end); if(wynik)then break;end; end; end; end; end; local uzyskano_w_wyniku_parsowania_wywolanie_szablonu; local analiza_stron_korzystanych_zbiorczych=nil; local stronastart=nil; ---- local tablica_obiekty=stronicowyparser_obiekty_modul.obiekty; local szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane_numerowane_obiekty=stronicowyparser_obiekty_modul.szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane.numerowane_obiekty; local format_elementowy_referencji_obiektowy=stronicowyparser_obiekty_modul.format_elementowy_referencji_obiektowy; local szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_napisu_wprowadzenia_tekstu=stronicowyparser_obiekty_modul.szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane.nienumerowane_obiekty_napisu_wprowadzenia_tekstu; local szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_tekstu=stronicowyparser_obiekty_modul.szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane.nienumerowane_obiekty_tekstu; local szablony_wykorzystywane_przez_strony_zbiorcze=stronicowyparser_obiekty_modul.szablony_wykorzystywane_przez_strony_zbiorcze; local format_elementowy_obiektowy=stronicowyparser_obiekty_modul.format_elementowy_obiektowy; local szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_numerowane_obiekty=stronicowyparser_obiekty_modul.szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane.numerowane_obiekty; local szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_naglowka=stronicowyparser_obiekty_modul.szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane.nienumerowane_obiekty_napisu_wprowadzenia_tekstu; local szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_tekstu=stronicowyparser_obiekty_modul.szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane.nienumerowane_obiekty_tekstu; ---- local strona_start=stronicowyparser_obiekty_modul.strona_start; local strona_start_ze_spisem_rzeczy_strony=stronicowyparser_obiekty_modul.strona_start_ze_spisem_rzeczy_strony; local strona_start_inne=stronicowyparser_obiekty_modul.strona_start_inne; local szablony_strony_zbiorczej=stronicowyparser_obiekty_modul.strona_zbiorcza; ---- local tab_szablony=stronicowyparser_obiekty_modul.szablony_stronicowego_parsera.szablony_kontenerowe; local tab_szablony_stronicowe_niekontenerowe=stronicowyparser_obiekty_modul.szablony_stronicowe_niekontenerowe; local tab_szablony_stronicowe_formatowania_tekstu=stronicowyparser_obiekty_modul.szablony_stronicowe_formatowania_tekstu; local tab_szablony_stronicowe_kontenerowe_formatowania_wzorowego=stronicowyparser_obiekty_modul.szablony_stronicowe_kontenerowe_formatowania_wzorowego; ---- local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local iterator=szablonowe_modul:IteratorSzablonowyZakodowanegoTekstu(tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul); local tabela_elementow_strony_kodow={}; for uzyskano_w_wyniku_parsowania_wywolanie_szablonu,obiekt,kod in iterator do local function AnalizaParametrowSzablonuISzablonu(tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,uzyskano_w_wyniku_parsowania_wywolanie_szablonu) if(czy_artykul_korzystany)then if(tabela_parametrow_szablonu)then if((not stronastart)and(self.tabela_listy_danych_analizy_ksiazki.formatowanie==nil))then if(strona_start[nazwa_szablonu_wywolania])then self.tabela_listy_danych_analizy_ksiazki.formatowanie=tabela_parametrow_szablonu["formatowanie"]; stronastart=true; local boczne_menu=tabela_parametrow_szablonu["boczne menu"] or ""; local spis_tresci=tabela_parametrow_szablonu["spis treści"] or "TOC"; if((parametry_modul.CzyTak(boczne_menu))or(parametry_modul.CzyTak(spis_tresci)))then self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true; end; return; elseif(strona_start_ze_spisem_rzeczy_strony[nazwa_szablonu_wywolania])then self.tabela_listy_danych_analizy_ksiazki.formatowanie="tak"; self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true; stronastart=true; return; elseif(strona_start_inne[nazwa_szablonu_wywolania])then self.tabela_listy_danych_analizy_ksiazki.formatowanie="tak"; stronastart=true; return; elseif((strona_zbiorcza)and(not analiza_stron_korzystanych_zbiorczych)and(szablony_strony_zbiorczej[nazwa_szablonu_wywolania]))then analiza_stron_korzystanych_zbiorczych=true; local nazwa_przestrzeni=tabela_parametrow_szablonu["nazwa przestrzeni nazw"]; local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"]; if((not parametry_modul.CzyTak(nazwa_prestreni_nazw))and(not parametry_modul.CzyTak(nazwa_jednostki)))then return; end; end; elseif((strona_zbiorcza)and(not analiza_stron_korzystanych_zbiorczych)and(szablony_strony_zbiorczej[nazwa_szablonu_wywolania]))then analiza_stron_korzystanych_zbiorczych=true; local nazwa_przestrzeni=tabela_parametrow_szablonu["nazwa przestrzeni nazw"]; local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"]; if((not parametry_modul.CzyTak(nazwa_przestrzeni))and(not parametry_modul.CzyTak(nazwa_jednostki)))then return; end; end; end; end; local plik=mw.ustring.match(nazwa_szablonu_wywolania,"^:"); if(plik==nil)then if(tabela_parametrow_szablonu)then if(not parametry_modul.CzyTak(tabela_parametrow_szablonu["bez automatu"]))then local czy_wypowiedzenie=(nazwa_szablonu_wywolania=="Wypowiedzenie"); local czy_linkobiekt; local czy_link;local czy_pobierz; local czy_wypowiedzenie_z_parametrami; local czy_linkobiekt_z_parametrami; if(czy_wypowiedzenie)then czy_linkobiekt=false; czy_link=false; czy_pobierz=false; czy_wypowiedzenie_z_parametrami=parametry_modul.CzyTak(tabela_parametrow_szablonu["rodzaj"]); else czy_linkobiekt=(nazwa_szablonu_wywolania=="LinkObiekt"); if(czy_linkobiekt)then czy_link=true; czy_pobierz=false; czy_linkobiekt_z_parametrami=parametry_modul.CzyTak(tabela_parametrow_szablonu["typ"]); else czy_link=mw.ustring.match(nazwa_szablonu_wywolania,"^Link"); czy_pobierz=(not czy_link) and mw.ustring.match(nazwa_szablonu_wywolania,"^Pobierz") or nil; end; end; if((not czy_link)and(not czy_pobierz))then local wartosc_elementu;local numer_uchwytu; if(not czy_wypowiedzenie_z_parametrami) then local tab_wartosc_elementu=szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_numerowane_obiekty[nazwa_szablonu_wywolania]; if(tab_wartosc_elementu)then wartosc_elementu=tab_wartosc_elementu[1]; numer_uchwytu=tab_wartosc_elementu[2]; end; else local rodzaj=tabela_parametrow_szablonu["rodzaj"]; if(rodzaj)then wartosc_elementu=format_elementowy_obiektowy[rodzaj] and rodzaj or nil; if(wartosc_elementu)then numer_uchwytu=tablica_obiekty[5]; end; end; end; if(wartosc_elementu)then local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA) if(czy_artykul_korzystany)then if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then if(uchwyt_obiektu and (uchwyt_obiektu~=""))then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=wartosc_elementu..":"..((uchwyt_obiektu)and uchwyt_obiektu or ""); end; end; end; end; p.RozpatrywanieSzablonuObiektuDoNumeracji(self,tabela_parametrow_szablonu,tablica_zmiennych, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,wartosc_elementu, czy_artykul_korzystany,numer_uchwytu--[[elementy_w_tablicy_obiekty[5]],nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie); return; end; elseif(czy_artykul_korzystany)then if(czy_link)then local wartosc_elementu; if(not czy_linkobiekt_z_parametrami)then wartosc_elementu=szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane_numerowane_obiekty[nazwa_szablonu_wywolania]; else local typ=tabela_parametrow_szablonu["typ"]; if(typ)then typ=format_elementowy_referencji_obiektowy[typ] and typ or nil; if(typ)then wartosc_elementu=mw.getContentLanguage():ucfirst(typ); end; end; end; if(wartosc_elementu)then local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA) if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie="Link"..wartosc_elementu..":"..((uchwyt_obiektu)and uchwyt_obiektu or ""); end; end; p.GeneralneLinkowanie(self,tablica_zmiennych,tabela_parametrow_szablonu,wartosc_elementu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie); return; else local wartosc_elementu=szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_napisu_wprowadzenia_tekstu[nazwa_szablonu_wywolania]; if(wartosc_elementu)then self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci=true; self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=nil; local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA) if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu_wywolania..":"..((uchwyt_obiektu)and uchwyt_obiektu or ""); end; end; p.GeneralneLinkowanie(self,tablica_zmiennych,tabela_parametrow_szablonu,wartosc_elementu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie); self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci=nil; if(not self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone)then self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true; self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=nil; else self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=nil; end; return; end; end; elseif(czy_pobierz)then local wartosc_elementu=szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_tekstu[nazwa_szablonu_wywolania]; if(wartosc_elementu)then local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA) if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu_wywolania..":"..((uchwyt_obiektu)and uchwyt_obiektu or ""); end; end; p.GeneralneLinkowanie(self,tablica_zmiennych,tabela_parametrow_szablonu,wartosc_elementu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie); return; end; end; end; if(czy_wypowiedzenie)then local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA) if(czy_artykul_korzystany)then if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie="Obiekt:"..((uchwyt_obiektu)and uchwyt_obiektu or ""); end; end; end; p.RozpatrywanieSzablonuObiektuDoNumeracji(self,tabela_parametrow_szablonu,tablica_zmiennych,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,"Obiekt", czy_artykul_korzystany,tablica_obiekty[5],nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie); return; elseif(stronicowyparser_obiekty_modul.szablony_stronicowego_parsera.szablony_wprowadzenia_tekstu[nazwa_szablonu_wywolania])then local tab_wartosc_elementu=szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_naglowka[nazwa_szablonu_wywolania]; local wartosc_elementu;local numer_uchwytu; if(tab_wartosc_elementu)then wartosc_elementu=tab_wartosc_elementu[1]; numer_uchwytu=tab_wartosc_elementu[2]; end; local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA) if(czy_artykul_korzystany)then if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then if(uchwyt_obiektu and (uchwyt_obiektu~=""))then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=wartosc_elementu..":"..((uchwyt_obiektu)and uchwyt_obiektu or ""); end; end; end; end; local lista_dwuelementowa=p.RozpatrywanieSzablonuObiektuDoNumeracji(self,tabela_parametrow_szablonu,tablica_zmiennych, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,wartosc_elementu, czy_artykul_korzystany,numer_uchwytu--[[elementy_w_tablicy_obiekty[5]],nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie); p.UchwytyZeiBezNumeracji(self,tabela_elementow_strony_kodow,wartosc_elementu,lista_dwuelementowa,kod); if(czy_artykul_korzystany)then self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true; end; return; elseif(stronicowyparser_obiekty_modul.szablony_stronicowego_parsera.szablony_tekstu[nazwa_szablonu_wywolania])then local tab_wartosc_elementu=szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_tekstu[nazwa_szablonu_wywolania]; local wartosc_elementu;local numer_uchwytu; if(tab_wartosc_elementu)then wartosc_elementu=tab_wartosc_elementu[1]; numer_uchwytu=tab_wartosc_elementu[2]; end; local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA) if(czy_artykul_korzystany)then if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then if(uchwyt_obiektu and (uchwyt_obiektu~=""))then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=wartosc_elementu..":"..((uchwyt_obiektu)and uchwyt_obiektu or ""); end; end; end; end; local lista_dwuelementowa=p.RozpatrywanieSzablonuObiektuDoNumeracji(self,tabela_parametrow_szablonu,tablica_zmiennych, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,wartosc_elementu, czy_artykul_korzystany,numer_uchwytu--[[elementy_w_tablicy_obiekty[5]],nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie); if(lista_dwuelementowa)then local tekst=tabela_parametrow_szablonu["tekst"] or tabela_parametrow_szablonu["treść"] or tabela_parametrow_szablonu[1]; if(tekst)then tekst=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(tekst,nil,tablica_analizy_obiektow_strony_dany_modul, function(szablon,obiekt,kod) if(obiekt=="SZABLON")then local wynik=szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,nazwa_modulu,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) if( (tab_szablony[nazwa_szablonu]) or(tab_szablony_stronicowe_niekontenerowe[nazwa_szablonu]) or(tab_szablony_stronicowe_formatowania_tekstu[nazwa_szablonu]) or(tab_szablony_stronicowe_kontenerowe_formatowania_wzorowego[nazwa_szablonu]) )then if(not czy_artykul_korzystany)then tabela_parametrow_szablonu["nazwa przestrzeni nazw"]=tabela_parametrow_szablonu["nazwa przestrzeni nazw"] or nazwa_przestrzeni; tabela_parametrow_szablonu["nazwa jednostki"]=tabela_parametrow_szablonu["nazwa jednostki"] or (((nazwa_przestrzeni_ksiazki~="") and (nazwa_przestrzeni_ksiazki.."/") or "")..nazwa_ksiazki..((nazwa_artykulu~="") and ("/"..nazwa_artykulu) or "")) if(self)then local czy_link_lub_pobierz=mw.ustring.match(nazwa_szablonu,"^Link") or mw.ustring.match(nazwa_szablonu,"^Pobierz"); if(czy_link_lub_pobierz)then p.ZbieranieKontenerowychInformacjiReferencji(self,tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca); else p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu); end; end; end; return szablonowe_modul.KodSymbolicznySzablonu(nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow,true); end; return nil; end); if(wynik)then return wynik;end; end; end); local frame=mw.getCurrentFrame(); tekst=frame:preprocess(tekst); lista_dwuelementowa[2]=tekst; end; end; return; elseif(czy_artykul_korzystany)then if(czy_linkobiekt)then local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA) if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie="LinkObiekt:"..((uchwyt_obiektu)and uchwyt_obiektu or ""); end; end; p.GeneralneLinkowanie(self,tablica_zmiennych,tabela_parametrow_szablonu,"Obiekt",nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie); return; else if(stronicowyparser_obiekty_modul.szablony_z_lokalnym_spisem_rzeczy_strony[nazwa_szablonu_wywolania])then self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true; return; elseif(stronicowyparser_obiekty_modul.bez_uchwytow_spis_rzeczy_strony[nazwa_szablonu_wywolania])then self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci=true; self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=nil; local function KtorySzablonMaZwracacKategorie(uchwyt,__FUNKCJA) if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then local nazwa_ksiazki=tabela_parametrow_szablonu["nazwa książki"] or tabela_parametrow_szablonu[2] or ""; local artykul=tabela_parametrow_szablonu["nazwa artykułu"] or tabela_parametrow_szablonu[1] or ""; self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu_wywolania..":"..nazwa_ksiazki..((artykul)and ("/"..artykul) or "") end; end; p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,KtorySzablonMaZwracacKategorie); self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci=nil; if(not self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone)then self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true; self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=nil; else self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=nil; end; return; else local function KtorySzablonMaZwracacKategorie(uchwyt,__FUNKCJA) if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then local nazwy_modul=require("Module:Nazwy"); local nazwa_przestrzeni=tabela_parametrow_szablonu["nazwa przestrzeni nazw"] or ""; local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"] or ""; local nazwa_symulacyjnej_strony=((nazwa_przestrzeni~="") and (nazwa_przestrzeni..":") or "")..nazwa_jednostki; local uchwyt=nazwa_szablonu_wywolania..":"..nazwa_symulacyjnej_strony; self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=uchwyt; end; end; if((stronicowyparser_obiekty_modul.szablony_kontenerowe[nazwa_szablonu_wywolania]) or(szablony_strony_zbiorczej[nazwa_szablonu_wywolania]) )then if(szablony_wykorzystywane_przez_strony_zbiorcze[nazwa_szablonu_wywolania])then p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,true,KtorySzablonMaZwracacKategorie); else p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,nil,KtorySzablonMaZwracacKategorie); end; return; elseif((strona_zbiorcza)and(szablony_strony_zbiorczej[nazwa_szablonu_wywolania]))then p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,true,KtorySzablonMaZwracacKategorie); return; end; end; end; end; end; end; end; end; stronicowyparser_potrzebne_modul:AnalizaSzablonuStronicowegoParsera(uzyskano_w_wyniku_parsowania_wywolanie_szablonu,obiekt,kod,nazwa_modulu_aktualna_czy_biezaca,tablica_danych_parametrow_szablonu_strony,AnalizaParametrowSzablonuISzablonu); end; local tablica_danych_nazwy_artykulu=tablica_ksiazki.lista_podstron_woluminu[nazwa_artykulu] or {}; tablica_danych_nazwy_artykulu.uchwyty_i_numeracje=tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2; if(czy_artykul_korzystany)then if(analiza_stron_korzystanych_zbiorczych)then local stronicowyparser_stronasubst_modul=require("Module:StronicowyParser/StronaSubst"); tekst_rozwiniety_calego_artykulu=stronicowyparser_stronasubst_modul.LiczOperacjeStronZbiorczych(self,tekst_rozwiniety_calego_artykulu,tablica_ksiazki.spis,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); end; end; local strona; if(czy_artykul_korzystany)then strona="";else strona=nazwa_modulu;end; local toc; if(((czy_artykul_korzystany)and(self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane)) or((not czy_artykul_korzystany)and(self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone)))then ---- local tablica_obiektow_strony_danych_kodow_specjalnych_modul=nil; ---- tekst_rozwiniety_calego_artykulu,tablica_obiektow_strony_danych_kodow_specjalnych_modul=szablonowe_modul:KodowanieInaczejZakodowanychNormKodowychTekstuWedleJegoTablicyKodowania(tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,false); ---- local function KtorySzablonMaZwracacKategorieNaglowek(numeracja_aktualna,nazwa_szablonu) if(czy_artykul_korzystany)then if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"powtórka nagłowek w stronie korzystanej"))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"powtórka nagłowek w stronie korzystanej"); if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu..":"..(numeracja_aktualna or ""); end; end; else stronicowyparser_problemy_modul.DodawanieProblemowegoElementuDoTablicy(self,"powtórka nagłówek w stronie dołączonej",nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki) if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu..":"..(numeracja_aktualna or ""); end; end; end; local function KtorySzablonMaZwracacKategorieTekst(numeracja_aktualna,nazwa_szablonu) if(czy_artykul_korzystany)then if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"nagłówek w tekście rozdziału w stronie korzystanej"))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"nagłówek w tekście rozdziału w stronie korzystanej"); if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu..":"..(numeracja_aktualna or ""); end; end; else stronicowyparser_problemy_modul.DodawanieProblemowegoElementuDoTablicy(self,"nagłowek w tekście rozdziału w stronie dołączonej",nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu..":"..(numeracja_aktualna or ""); end; end; end; local function CzyJestTakiProblemJakoElementTablicy() return stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"nagłówek w tekście rozdziału w stronie korzystanej"); end; local nazwa_naglowka=stronicowyparser_obiekty_modul.nazwa_szablonu_wprowadzenia_tekstu; local stronicowyparser_glownafunkcjazbieraniadanych_modul=require("Module:StronicowyParser/GłównaFunkcjaZbieraniaDanychStron"); local tablica_naglowka_obiekty=tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2[nazwa_naglowka]; tablica_naglowka_obiekty.uchwyty_bez_numeracji={}; local toc=stronicowyparser_glownafunkcjazbieraniadanych_modul.SpisRzeczyWedlePodanegoTekstu(self,tekst_rozwiniety_calego_artykulu,strona, czy_artykul_korzystany,nil,tablica_naglowka_obiekty.uchwyty_bez_numeracji, nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki, nazwa_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tablica_obiektow_strony_danych_kodow_specjalnych_modul,{KtorySzablonMaZwracacKategorieNaglowek,KtorySzablonMaZwracacKategorieTekst,CzyJestTakiProblemJakoElementTablicy},nil,tabela_elementow_strony_kodow); tablica_danych_nazwy_artykulu.TOC=toc; end; StronaSubstFunkcja(tablica_danych_nazwy_artykulu,tablica_ksiazki.spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); if(czy_artykul_korzystany)then self.tabela_listy_danych_analizy_ksiazki.tablica_aktualnego_artykulu=tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2; self.tabela_listy_danych_analizy_ksiazki.tablica_aktualnej_przestrzeni_nazw=self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni]; self.tabela_listy_danych_analizy_ksiazki.tablica_ksiazek_w_danej_przestrzeni_nazw_ksiazki=self.tabela_listy_danych_analizy_ksiazki.tablica_aktualnej_przestrzeni_nazw[nazwa_przestrzeni_ksiazki]; self.tabela_listy_danych_analizy_ksiazki.tablica_aktualnej_ksiazki=self.tabela_listy_danych_analizy_ksiazki.tablica_ksiazek_w_danej_przestrzeni_nazw_ksiazki[nazwa_ksiazki]; end; return self.tabela_listy_danych_analizy_ksiazki; end; return p; mk52jsb4gb24lrp4i6ssubpukqpxeeo 544490 544484 2026-05-27T17:59:36Z Persino 2851 544490 Scribunto text/plain local p={}; function p.UchwytyZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,lista_dwuelementowa,kod) if(lista_dwuelementowa)then local tab_obiekt=tabela_elementow_strony_kodow[nazwa_obiektu]; if(not tab_obiekt)then tabela_elementow_strony_kodow[nazwa_obiektu]={}; tab_obiekt=tabela_elementow_strony_kodow[nazwa_obiektu]; end; local uchwyty_bez_numeracji=tab_obiekt.uchwyty_bez_numeracji; if(not uchwyty_bez_numeracji)then tab_obiekt.uchwyty_bez_numeracji={}; uchwyty_bez_numeracji=tab_obiekt.uchwyty_bez_numeracji; end; uchwyty_bez_numeracji[kod]=lista_dwuelementowa; end; end; function p.WydobywanieUchwytuZeiBezNumeracji(self,tabela_elementow_strony_kodow,nazwa_obiektu,kod) local tab_obiekt=tabela_elementow_strony_kodow[nazwa_obiektu]; if(not tab_obiekt)then return nil;end; local uchwyty_bez_numeracji=tab_obiekt.uchwyty_bez_numeracji; if(uchwyty_bez_numeracji)then return uchwyty_bez_numeracji[kod]; end; end; function p.RozpatrywanieElementuUchwytuNumeracji(self,kod_uchwytu,tablica_zmiennych,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, nazwa_obiektu, czy_artykul_korzystany,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); kod_uchwytu=stronicowyparser_potrzebne_modul.DekodowanieNazwySzablonu(kod_uchwytu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,true) or kod_uchwytu; local html_modul=require("Module:Html"); kod_uchwytu=html_modul.DecodeHtml(kod_uchwytu,true); if(kod_uchwytu~="")then KtorySzablonMaZwracacKategorie(kod_uchwytu); local lista_dwuelementowa={}; lista_dwuelementowa[1]=kod_uchwytu; local parametry_modul=require("Module:Parametry"); if((not tablica_zmiennych.sprawdzenie_dokonane_obiektu)and(not parametry_modul["CzySąElementyNumerowaneTablicy"](tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2[nazwa_obiektu])))then local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); if(not (stronicowyparser_problemy_modul.CzyJestTakiElementTabeliProblemu(self,"strony poza zakresem obsługiwanym",nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki)))then p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki,nazwa_artykulu); end; tablica_zmiennych.sprawdzenie_dokonane_obiektu=true; end; table.insert(tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2[nazwa_obiektu],lista_dwuelementowa); return lista_dwuelementowa; end; end; function p.RozpatrywanieSzablonuObiektuDoNumeracji(self,tabela_parametrow_szablonu,tablica_zmiennych,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,nazwa_obiektu, czy_artykul_korzystany,numer_numeracji,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie) local kod_uchwytu=tabela_parametrow_szablonu["uchwyt"] or tabela_parametrow_szablonu[numer_numeracji]; if(kod_uchwytu)then local lista_dwuelementowa=p.RozpatrywanieElementuUchwytuNumeracji(self,kod_uchwytu,tablica_zmiennych, nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, nazwa_obiektu, czy_artykul_korzystany,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie); return lista_dwuelementowa; end; end; function p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) if((nazwa_przestrzeni)and(nazwa_przestrzeni_ksiazki)and(nazwa_ksiazki))then if(nazwa_artykulu=="")then return;end; local czy_element_wystepuje_w_tablicy=false; local tablica_przestrzeni_wszystkiego=self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron; if(tablica_przestrzeni_wszystkiego)then local tabela_przestrzeni_ksiazek=tablica_przestrzeni_wszystkiego[nazwa_przestrzeni]; if(tabela_przestrzeni_ksiazek)then local tabela_ksiazek=tabela_przestrzeni_ksiazek[nazwa_przestrzeni_ksiazki] if(tabela_ksiazek)then local tab_ksiazki=tabela_ksiazek[nazwa_ksiazki]; if(tab_ksiazki)then if(tab_ksiazki.spis)then --czy_lista_niepusta=true; for _,tab_value1 in ipairs(tab_ksiazki.spis)do if(tab_value1[2])then for _,nazwa_artykulu1 in ipairs(tab_value1[2])do if(nazwa_artykulu1[1]==nazwa_artykulu)then czy_element_wystepuje_w_tablicy=true; break; end; end; end; if(czy_element_wystepuje_w_tablicy)then break;end; end; end; end; end; end; end; if(not czy_element_wystepuje_w_tablicy)then local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); if((self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni~=nazwa_przestrzeni) or(self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu~=nazwa_przestrzeni_ksiazki) or(self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu~=nazwa_ksiazki) or(self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu~=nazwa_artykulu))then if(not (stronicowyparser_problemy_modul.CzyJestTakiElementTabeliProblemu(self,"strony poza zakresem obsługiwanym",nazwa_przestrzeni,nazwa_przestrzeni_ksiazki, nazwa_ksiazki)))then stronicowyparser_problemy_modul.DodawanieProblemowegoElementuDoTablicy(self,"brak spisów treści do dołączonych stron",nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); end; elseif(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"brak spisu treści do korzystanych stron"))then if(not (stronicowyparser_problemy_modul.CzyJestTakiElementTabeliProblemu(self,"strony poza zakresem obsługiwanym",nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki)))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"brak spisu treści do korzystanych stron"); end; end; end; end; end; function p.PusteParametryReferencji(self, nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu) local czy_ksiazka_z_tylko_odstepami_lub_pusty=(nazwa_ksiazki)and (nazwa_ksiazki=="") or nil; local czy_artykul_z_tylko_odstepami_lub_pusty=(nazwa_artykulu)and (nazwa_artykulu=="") or nil; local czy_uchwyt_obiektu_z_tylko_odstepami_lub_pusty=(uchwyt_obiektu)and (uchwyt_obiektu=="") or nil; ---- local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); ---- if(czy_uchwyt_obiektu_z_tylko_odstepami_lub_pusty)then if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu,1))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu,1); end; end; if(czy_artykul_z_tylko_odstepami_lub_pusty)then if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu,2))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu,2); end; end; if(czy_ksiazka_z_tylko_odstepami_lub_pusty)then if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu,3))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"puste parametry szablonów stronicowych linkujących",nazwa_obiektu,3); end; end; end; function p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,KtorySzablonMaZwracacKategorie,czy_inna_wartosc_tekst) local nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu=p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,self.nazwa_modulu_biezaca,((not czy_inna_wartosc_tekst)and true or false)); --local ksiazkowe_modul=require("Module:Książkowe"); --pelna_nazwa_ksiazki=pelna_nazwa_ksiazki or ksiazkowe_modul["PełnaNazwaStronicowejKsiążki"](); --nazwa_artykulu=nazwa_artykulu or ksiazkowe_modul["NazwaArtykułuKsiążki"](); if((nazwa_przestrzeni)or(nazwa_przestrzeni_ksiazki)or(nazwa_ksiazki)or(nazwa_artykulu))then local tabela_nazw={}; local ksiazkowe_modul=require("Module:Książkowe"); local nazwa_przestrzeni=nazwa_przestrzeni or ksiazkowe_modul["NazwaPrzestrzeni"](nil,tabela_nazw); local nazwa_przestrzeni_ksiazki=nazwa_przestrzeni_ksiazki or ksiazkowe_modul["NazwaPrzestrzeniKsiążki"](nil,tabela_nazw); local nazwa_ksiazki=nazwa_ksiazki or ksiazkowe_modul["NazwaTytułuKsiążki"](nil,tabela_nazw); local nazwa_artykulu=nazwa_artykulu or ksiazkowe_modul["NazwaArtykułuKsiążki"](nil,tabela_nazw); if(KtorySzablonMaZwracacKategorie)then KtorySzablonMaZwracacKategorie();end; local tabela_listy_danych_analizy_ksiazki=p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, false); end; end; function p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,czy_szablon_pudelkowy_strony_zbiorczej,KtorySzablonMaZwracacKategorie) local nazwa_przestrzeni=tabela_parametrow_szablonu["nazwa przestrzeni nazw"]; local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"]; if((not nazwa_przestrzeni)and(not nazwa_jednostki))then return;end; local parametry_modul=require("Module:Parametry"); if((nazwa_jednostki) and (nazwa_jednostki==""))then return;end; local szablonowe_modul=require("Module:Szablonowe"); if((nazwa_jednostki and mw.ustring.match(nazwa_jednostki,szablonowe_modul.NormaWzoruKodowaniaTekstu())) or (nazwa_przestrzeni and mw.ustring.match(nazwa_przestrzeni,szablonowe_modul.NormaWzoruKodowaniaTekstu())) )then return;end; local nazwy_modul=require("Module:Nazwy"); local ksiazkowe_modul=require("Module:Książkowe"); local html_modul=require("Module:Html"); if(nazwa_jednostki)then nazwa_jednostki=html_modul.DecodeHtml(nazwa_jednostki,true); end; local tabela_nazw_art={}; local nazwa_jednostki=(nazwa_jednostki and mw.ustring.gsub(nazwa_jednostki,"^([^#]*)#(.*)$","%1") or nil ) or ksiazkowe_modul["NazwaArtykułu"](nil,tabela_nazw_art); if(nazwa_przestrzeni)then nazwa_przestrzeni=html_modul.DecodeHtml(nazwa_przestrzeni,true); end; local nazwa_przestrzeni=nazwa_przestrzeni or ksiazkowe_modul["NazwaPrzestrzeni"](nil,tabela_nazw_art); local strona=((nazwa_przestrzeni~="") and (nazwa_przestrzeni..":") or "")..nazwa_jednostki; local techniczne_modul=require("Module:Techniczne"); strona=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=strona,[2]=self.nazwa_modulu_biezaca,}; --strona=ksiazkowe_modul["PEŁNANAZWASTRONY"](strona); local tabela_nazw={}; local nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](strona,tabela_nazw); local nazwa_przestrzeni_ksiazki=nazwy_modul["NAZWAPRZESTRZENIKSIĄŻKI"](strona,tabela_nazw); local nazwa_ksiazki=((nazwa_przestrzeni_ksiazki~="") and (nazwy_modul["SUBNAZWAKSIĄŻKI"](strona,tabela_nazw)) or (nazwy_modul["NAZWAKSIĄŻKI"](strona,tabela_nazw))); local nazwa_artykulu=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](strona,tabela_nazw); if(KtorySzablonMaZwracacKategorie)then KtorySzablonMaZwracacKategorie();end; local tabela_listy_danych_analizy_ksiazki=p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, false,nil,czy_szablon_pudelkowy_strony_zbiorczej); end; function p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,nazwa_aktualna,bezuchwytowe) local nazwa_artykulu=tabela_parametrow_szablonu["nazwa artykułu"] or tabela_parametrow_szablonu[bezuchwytowe and 1 or 2]; local pelna_nazwa_ksiazki=tabela_parametrow_szablonu["nazwa książki"] or tabela_parametrow_szablonu[bezuchwytowe and 2 or 3]; local parametry_modul=require("Module:Parametry"); local nazwy_modul=require("Module:Nazwy"); local html_modul=require("Module:Html"); if(nazwa_artykulu)then nazwa_artykulu=html_modul.DecodeHtml(nazwa_artykulu,true); local techniczne_modul=require("Module:Techniczne"); nazwa_artykulu=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=nazwa_artykulu,[2]="",}; end; local nazwa_ksiazki;local nazwa_przestrzeni_ksiazki;local nazwa_przestrzeni; if(pelna_nazwa_ksiazki)then pelna_nazwa_ksiazki=html_modul.DecodeHtml(pelna_nazwa_ksiazki,true); local techniczne_modul=require("Module:Techniczne"); pelna_nazwa_ksiazki=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=pelna_nazwa_ksiazki,[2]=nazwa_aktualna,}; ---- local tabela_nazw={}; local ksiazkowe_modul=require("Module:Książkowe"); pelna_nazwa_ksiazki=ksiazkowe_modul["PełnaNazwaStronicowejKsiążki"](pelna_nazwa_ksiazki,tabela_nazw); nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](pelna_nazwa_ksiazki,tabela_nazw); nazwa_przestrzeni_ksiazki=nazwy_modul["NAZWAPRZESTRZENIKSIĄŻKI"](pelna_nazwa_ksiazki,tabela_nazw); nazwa_ksiazki=((nazwa_przestrzeni_ksiazki~="") and (nazwy_modul["SUBNAZWAKSIĄŻKI"](pelna_nazwa_ksiazki,tabela_nazw)) or (nazwy_modul["NAZWAKSIĄŻKI"](pelna_nazwa_ksiazki,tabela_nazw))); --pelna_nazwa_ksiazki=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,""); end; return nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu; end; function p.ZbieranieKontenerowychInformacjiReferencji(self,tabela_parametrow_szablonu,nazwa_modulu_aktualna) local nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu=p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,nazwa_modulu_aktualna); local nazwy_modul=require("Module:Nazwy"); local czy_inna_wartosc_tekst=true; if((nazwa_artykulu)and(nazwa_ksiazki))then --local nazwa_modulu=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); tabela_parametrow_szablonu["nazwa przestrzeni nazw"]=nazwa_przestrzeni; tabela_parametrow_szablonu["nazwa jednostki"]=nazwy_modul["NazwaModułu"]("",nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,nil,czy_inna_wartosc_tekst); elseif((nazwa_artykulu)and(not nazwa_ksiazki))then local ksiazkowe_modul=require("Module:Książkowe"); local nazwa_przestrzeni=tabela_parametrow_szablonu["nazwa przestrzeni nazw"] or ksiazkowe_modul["NazwaPrzestrzeni"](); local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"] or (ksiazkowe_modul["NazwaKsiążki"]()..((nazwa_artykulu~="") and ("/"..nazwa_artykulu) or "")); ---- tabela_parametrow_szablonu["nazwa przestrzeni nazw"]=nazwa_przestrzeni; tabela_parametrow_szablonu["nazwa jednostki"]=nazwa_jednostki; p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,nil,czy_inna_wartosc_tekst); elseif((not nazwa_artykulu)and(nazwa_ksiazki))then local ksiazkowe_modul=require("Module:Książkowe"); local pelna_nazwa_ksiazki=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,""); local nazwa_przestrzeni=tabela_parametrow_szablonu["nazwa przestrzeni nazw"] or ksiazkowe_modul["NazwaPrzestrzeni"](); local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"] or ksiazkowe_modul["NazwaKsiążki"](); ---- tabela_parametrow_szablonu["nazwa przestrzeni nazw"]=nazwa_przestrzeni; tabela_parametrow_szablonu["nazwa jednostki"]=nazwa_jednostki; p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,nil,czy_inna_wartosc_tekst); else p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,nil,czy_inna_wartosc_tekst); end; end; function p.GeneralneLinkowanie(self,tablica_zmiennych,tabela_parametrow_szablonu,nazwa_obiektu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie) local uchwyt_obiektu=tabela_parametrow_szablonu["uchwyt"] or tabela_parametrow_szablonu[1]; local nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu=p.SzablonyReferencjiParametrowych(tabela_parametrow_szablonu,self.nazwa_modulu_biezaca); ---- local parametry_modul=require("Module:Parametry"); if(parametry_modul.CzyTak(uchwyt_obiektu))then local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); uchwyt_obiektu=stronicowyparser_potrzebne_modul.DekodowanieNazwySzablonu(uchwyt_obiektu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,true) or uchwyt_obiektu; local html_modul=require("Module:Html"); uchwyt_obiektu=html_modul.DecodeHtml(uchwyt_obiektu,true); end; ---- local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); ---- if(parametry_modul.CzyTak(uchwyt_obiektu))then nazwa_artykulu=(nazwa_artykulu or (nazwa_ksiazki and "" or nil)); if(nazwa_artykulu)then if(nazwa_artykulu~="")then if(not nazwa_ksiazki)then nazwa_przestrzeni=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; nazwa_przestrzeni_ksiazki=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu; nazwa_ksiazki=self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu; elseif(nazwa_ksiazki=="")then p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu); return; end; elseif((nazwa_ksiazki)and(nazwa_ksiazki~=""))then nazwa_artykulu=""; elseif((nazwa_ksiazki)and(nazwa_ksiazki==""))then p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu); return; else nazwa_przestrzeni=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; nazwa_przestrzeni_ksiazki=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu; nazwa_ksiazki=self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu; end; if((nazwa_przestrzeni~=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni) or(nazwa_przestrzeni_ksiazki~=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu) or(nazwa_ksiazki~=self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu) or(nazwa_artykulu~=self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu))then p.LinkowanieInnychStron(self,nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu); else p.LinkowanieFinalizowaniePrac(self,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul); p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu); end; else p.LinkowanieFinalizowaniePrac(self,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul) p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu); end; elseif((uchwyt_obiektu)and(uchwyt_obiektu==""))then p.SprawdzanieCzyJestNiepoprawnaNazwaStrony(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,nil); p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu); elseif(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"brak uchwytu",nazwa_obiektu))then p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu); stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"brak uchwytu",nazwa_obiektu); end; KtorySzablonMaZwracacKategorie(uchwyt_obiektu); end; function p.LinkowanieFinalizowaniePrac(self,tablica_zmiennych,nazwa_obiektu,uchwyt_obiektu,tablica_analizy_obiektow_strony_dany_modul) local linkobiekttab=tablica_zmiennych.linkobiekt[nazwa_obiektu]; local parametry_modul=require("Module:Parametry"); if((not tablica_zmiennych.sprawdzenie_dokonane_linku)and(not parametry_modul["CzySąElementyNumerowaneTablicy"](linkobiekttab)))then local parametry_modul=require("Module:Parametry"); local nazwa_przestrzeni=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; local nazwa_przestrzeni_ksiazki=self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu; local nazwa_ksiazki=self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu; local nazwa_artykulu=self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu; local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); if(not (stronicowyparser_problemy_modul.CzyJestTakiElementTabeliProblemu(self,"strony poza zakresem obsługiwanym",nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki)))then p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end; tablica_zmiennych.sprawdzenie_dokonane_linku=true; end; table.insert(linkobiekttab,uchwyt_obiektu); end; function p.SprawdzanieCzyJestNiepoprawnaNazwaStrony(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,__FUNKCJA) local pudelko_modul=require("Module:Pudełko"); if(((nazwa_przestrzeni)and(((nazwa_przestrzeni~="")and(not pudelko_modul["CzyNiepoprawnaNazwa"](nazwa_przestrzeni)))or(nazwa_przestrzeni==""))) and((nazwa_przestrzeni_ksiazki)and(((nazwa_przestrzeni_ksiazki~="")and(not pudelko_modul["CzyNiepoprawnaNazwa"](nazwa_przestrzeni_ksiazki)))or(nazwa_przestrzeni_ksiazki==""))) and((nazwa_ksiazki)and(nazwa_ksiazki~="")and(not pudelko_modul["CzyNiepoprawnaNazwa"](nazwa_ksiazki))) and((nazwa_artykulu)and(((nazwa_artykulu~="")and(not pudelko_modul["CzyNiepoprawnaNazwa"](nazwa_artykulu)))or(nazwa_artykulu==""))) )then if(__FUNKCJA)then __FUNKCJA(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu); end; else local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"nieprawidłowe nazwy korzystanych stron"))then if((self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni==nazwa_przestrzeni) and(self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu==nazwa_przestrzeni_ksiazki) and(self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu==nazwa_ksiazki) and(self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu==nazwa_artykulu))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"nieprawidłowe nazwy korzystanych stron"); else stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"nieprawidłowe nazwy stron dołączanych do stron"); end; end; end; end; function p.LinkowanieInnychStron(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu) p.SprawdzanieCzyJestNiepoprawnaNazwaStrony(self, nazwa_obiektu, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu,function() local parametry_modul=require("Module:Parametry"); if((nazwa_przestrzeni)and(nazwa_przestrzeni_ksiazki)and(parametry_modul.CzyTak(nazwa_ksiazki))and(nazwa_artykulu))then local tablica_zmiennych={}; tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2={} local tabela_listy_danych_analizy_ksiazki0=p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, false,tablica_zmiennych); if(tabela_listy_danych_analizy_ksiazki0)then if(not parametry_modul.CzyTak(tabela_listy_danych_analizy_ksiazki0))then return;end; p.SprawdzanieCzyJestTakiElementSpisuRzeczyWoluminowychPozycji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu); local czy_jest_nazwa_obiektu_w_tabela_listy_danych_analizy_ksiazki2=tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2[nazwa_obiektu]; local CzyLink=czy_jest_nazwa_obiektu_w_tabela_listy_danych_analizy_ksiazki2.CzyLink; local ile_razy=0; if(czy_jest_nazwa_obiektu_w_tabela_listy_danych_analizy_ksiazki2)then for _, parametry_obiektu in ipairs(czy_jest_nazwa_obiektu_w_tabela_listy_danych_analizy_ksiazki2) do if(parametry_obiektu[1]==uchwyt_obiektu)then ile_razy=ile_razy+1; if(ile_razy>1)then break;end; end; end; end if(ile_razy~=1)then local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"błędy uchwytów korzystanych stron",(CzyLink and "Link" or "Pobierz")..nazwa_obiektu))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"błędy uchwytów korzystanych stron",(CzyLink and "Link" or "Pobierz")..nazwa_obiektu); end; p.PusteParametryReferencji(self,nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu); end; else local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"błąd wewnętrzny modułu lua stronicowego parsera"))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"błąd wewnętrzny modułu lua stronicowego parsera"); end; end; else p.PusteParametryReferencji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, uchwyt_obiektu, nazwa_obiektu); end; end); end; function p.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, czy_artykul_korzystany,tablica_zmiennych,czy_szablon_pudelkowy_strony_zbiorczej) local function __FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) if(not self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni])then self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni]={};end; local tablica_przestrzeni=self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni]; if(not tablica_przestrzeni[nazwa_przestrzeni_ksiazki])then tablica_przestrzeni[nazwa_przestrzeni_ksiazki]={};end; local tablica_przestrzeni_ksiazki=tablica_przestrzeni[nazwa_przestrzeni_ksiazki]; if(not tablica_przestrzeni_ksiazki[nazwa_ksiazki])then tablica_przestrzeni_ksiazki[nazwa_ksiazki]={};end; local tablica_ksiazki=tablica_przestrzeni_ksiazki[nazwa_ksiazki]; if(not tablica_ksiazki.lista_podstron_woluminu)then tablica_ksiazki.lista_podstron_woluminu={};end; if(nazwa_artykulu)then if(not tablica_ksiazki.lista_podstron_woluminu[nazwa_artykulu])then tablica_ksiazki.lista_podstron_woluminu[nazwa_artykulu]={};end; local artykul_analizowany=tablica_ksiazki.lista_podstron_woluminu[nazwa_artykulu]; return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany; else return tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki; end; end; local function __FUNKCJA(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) if(not czy_artykul_korzystany)then if(self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni and self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu and self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu and self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu)then if((self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni==nazwa_przestrzeni)and(self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu==nazwa_przestrzeni_ksiazki)and(self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu==nazwa_ksiazki)and(self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu==nazwa_artykulu))then return 0; else if(self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci)then self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=true; end; end; else return nil; end; end; if(self.tabela_listy_danych_analizy_ksiazki)then if(self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron)then local tabela_przestrzeni=self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni]; if(tabela_przestrzeni)then local tabela_przestrzeni_ksiazki=tabela_przestrzeni[nazwa_przestrzeni_ksiazki]; if(tabela_przestrzeni_ksiazki)then local tabela_ksiazka=tabela_przestrzeni_ksiazki[nazwa_ksiazki]; if(tabela_ksiazka)then local lista_artykolow=tabela_ksiazka.lista_podstron_woluminu; if(lista_artykolow)then local tabela_artykul=lista_artykolow[nazwa_artykulu]; if(tabela_artykul)then return 0,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni; end; end; end; end; end; else return nil; end; else return nil; end; return true; end; local nazwy_modul=require("Module:Nazwy"); local wartosc_wyniku,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni=__FUNKCJA(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); local function StronaSubstFunkcja(tabela_artykul,spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) if((czy_szablon_pudelkowy_strony_zbiorczej)and(not czy_artykul_korzystany)and(tabela_artykul)and(not tabela_artykul.strona_zbiorcza))then --local nazwa_modulu=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); local stronicowyparser_stronasubst_modul=require("Module:StronicowyParser/StronaSubst"); local TakFun=function(frame) return "tak";end;local NieFun=function(frame) return "";end; tabela_artykul.strona_zbiorcza=stronicowyparser_stronasubst_modul.AnalizaStronaSubst(self.tabela_listy_danych_analizy_ksiazki,spis,nil,TakFun,NieFun,nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end; end; if(not wartosc_wyniku)then return wartosc_wyniku; elseif((wartosc_wyniku==0)and(tabela_artykul))then StronaSubstFunkcja(tabela_artykul,tabela_ksiazka.spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return wartosc_wyniku; end; ---- local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); if((nazwa_przestrzeni~=nazwy_np_modul.Main) and(nazwa_przestrzeni~=nazwy_np_modul.Wikijunior) and((nazwa_przestrzeni~=nazwy_np_modul.User)or(not mw.ustring.match(nazwa_przestrzeni_ksiazki,"^([^/]+)$"))) and((nazwa_przestrzeni~=nazwy_np_modul.Wikibooks)or(not mw.ustring.match(nazwa_przestrzeni_ksiazki,"^%s*[Bb]rudnopis/([^/]+)$"))) )then stronicowyparser_problemy_modul.DodawanieProblemowegoElementuDoTablicy(self,"strony poza zakresem obsługiwanym",nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); end; ---- local tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); local parametry_modul=require("Module:Parametry"); local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); ---- local tekst_rozwiniety_calego_artykulu_ref=nil; local tablica_analizy_obiektow_strony_dany_modul_ref=nil; local tablica_danych_parametrow_szablonu_strony_ref=nil; ---- local function InneInformacjePrzebneDoAnalizowanejKsiazki() if(not (stronicowyparser_problemy_modul.CzyJestTakiElementTabeliProblemu(self,"strony poza zakresem obsługiwanym",nazwa_przestrzeni, nazwa_przestrzeni_ksiazki,nazwa_ksiazki)))then if((nazwa_przestrzeni)and(nazwa_przestrzeni_ksiazki)and(nazwa_ksiazki))then if(czy_artykul_korzystany)then if(not self.tabela_listy_danych_analizy_ksiazki["CzyArtykułKsiążki"])then self.tabela_listy_danych_analizy_ksiazki["CzyArtykułKsiążki"]="tak";end; end; local czy_ksiazka_istnieje_w_tablicy=((tablica_ksiazki)and(tablica_ksiazki.czy_spis_analizowano))and true or false; if(not czy_ksiazka_istnieje_w_tablicy)then tablica_ksiazki.czy_spis_analizowano=true; local stronicowyparser_spistresci_modul=require("Module:StronicowyParser/SpisTreści"); local nazwa_przestrzeni_strona_temp,nazwa_przestrzeni_ksiazki_strona_temp,nazwa_ksiazki_strona_temp; local tabela_artykulow,tabela_licencji_spisu_tresci,nazwa_glownego_spisu,tab_inne_spisy,dodatkowe_artykuly,adres_ksiazki_glownego_spisu_tresci=stronicowyparser_spistresci_modul.ZbieranieInformacjiSpisuRzeczyWoluminuEwentualnieWedleAutonawigacji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,czy_artykul_korzystany,function(nazwa_przestrzeni_strona,nazwa_przestrzeni_ksiazki_strona,nazwa_ksiazki_strona) local tablica_przestrzeni_strona=self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni_strona]; if(tablica_przestrzeni_strona)then local tablica_przestrzeni_ksiazki_strona=tablica_przestrzeni_strona[nazwa_przestrzeni_ksiazki_strona]; if(tablica_przestrzeni_ksiazki_strona)then local tablica_ksiazki_strona=tablica_przestrzeni_ksiazki_strona[nazwa_ksiazki_strona]; if(tablica_ksiazki_strona)then if(tablica_ksiazki_strona.spis)then nazwa_przestrzeni_strona_temp,nazwa_przestrzeni_ksiazki_strona_temp,nazwa_ksiazki_strona_temp=nazwa_przestrzeni_strona,nazwa_przestrzeni_ksiazki_strona,nazwa_ksiazki_strona; tablica_ksiazki.spis=tablica_ksiazki_strona.spis; tablica_ksiazki.licencja=tablica_ksiazki_strona.licencja; tablica_ksiazki.nazwa_bazowego_spisu=tablica_ksiazki_strona.nazwa_bazowego_spisu; tablica_ksiazki.tab_inne_spisy=tablica_ksiazki_strona.tab_inne_spisy; tablica_ksiazki.dodatkowe_strony_woluminu=tablica_ksiazki_strona.dodatkowe_strony_woluminu; tablica_ksiazki.adres_woluminu_bazowego_spisu_rzeczy=tablica_ksiazki_strona.adres_woluminu_bazowego_spisu_rzeczy; tablica_ksiazki.referencja_do_nowej_formy_spisu={tablica_przestrzeni_strona,tablica_przestrzeni_ksiazki_strona,tablica_ksiazki_strona,}; return 1; end; end; end end; end,function(tekst_rozwiniety_calego_artykulu_ref_spis,nazwa_przestrzeni_ref_spis,nazwa_przestrzeni_ksiazki_ref_spis,nazwa_ksiazki_ref_spis,nazwa_artykulu_ref_spis,tablica_analizy_obiektow_strony_dany_modul_ref_spis,tablica_danych_parametrow_szablonu_strony_ref_spis) ---- if((nazwa_przestrzeni==nazwa_przestrzeni_ref_spis)and(nazwa_przestrzeni_ksiazki==nazwa_przestrzeni_ksiazki_ref_spis)and(nazwa_ksiazki==nazwa_ksiazki_ref_spis)and(nazwa_artykulu==nazwa_artykulu_ref_spis))then tekst_rozwiniety_calego_artykulu_ref=tekst_rozwiniety_calego_artykulu_ref_spis; local parametry_modul=require("Module:Parametry"); tablica_analizy_obiektow_strony_dany_modul_ref=parametry_modul["KopiujRekurencyjnieTabelęElementów"](tablica_analizy_obiektow_strony_dany_modul_ref_spis); tablica_danych_parametrow_szablonu_strony_ref=parametry_modul["KopiujRekurencyjnieTabelęElementów"](tablica_danych_parametrow_szablonu_strony_ref_spis); end; ---- end); local function __FUNKCJA_SPISU(tablica_ksiazki,czy_podac_adres) tablica_ksiazki.spis=tabela_artykulow; if(czy_artykul_korzystany)then tablica_ksiazki.licencja=tabela_licencji_spisu_tresci; end; tablica_ksiazki.nazwa_bazowego_spisu=nazwa_glownego_spisu; tablica_ksiazki.tab_inne_spisy=tab_inne_spisy; tablica_ksiazki.dodatkowe_strony_woluminu=dodatkowe_artykuly; tablica_ksiazki.adres_woluminu_bazowego_spisu_rzeczy=czy_podac_adres and adres_ksiazki_glownego_spisu_tresci or nil; end; if(tabela_artykulow==0)then if(czy_artykul_korzystany)then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"korzystana strona główna nie istnieje"); else stronicowyparser_problemy_modul.DodawanieProblemowegoElementuDoTablicy(self,"dołączone strony główne nie istnieją",nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); end; elseif(tabela_artykulow)then if(parametry_modul.TypeTable(tabela_artykulow))then if(adres_ksiazki_glownego_spisu_tresci)then __FUNKCJA_SPISU(tablica_ksiazki,true); local tablica_ksiazki_stara=tablica_ksiazki; local artykul,kod_wyniku=stronicowyparser_potrzebne_modul.OdpowiednikNaPrzemianArtykularnychStronWoluminu(tabela_artykulow,nazwa_glownego_spisu,tab_inne_spisy,dodatkowe_artykuly,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,true); local nazwa_przestrzeni=adres_ksiazki_glownego_spisu_tresci[1]; local nazwa_przestrzeni_ksiazki=adres_ksiazki_glownego_spisu_tresci[2]; local nazwa_ksiazki=adres_ksiazki_glownego_spisu_tresci[3]; if((kod_wyniku==1)or(kod_wyniku==4))then local wartosc_wyniku,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni=__FUNKCJA(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,artykul); if(not wartosc_wyniku)then return wartosc_wyniku,true; elseif((wartosc_wyniku==0)and(tabela_artykul))then local nazwa_artykulu=artykul; StronaSubstFunkcja(tabela_artykul,tabela_ksiazka.spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return wartosc_wyniku,true; end; local tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni ,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,artykul); tablica_ksiazki_stara.referencja_do_nowej_formy_spisu={tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,}; __FUNKCJA_SPISU(tablica_ksiazki,false); return nil,nil,artykul,kod_wyniku; elseif(kod_wyniku==2)then local tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,artykul); tablica_ksiazki_stara.referencja_do_nowej_formy_spisu={tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,}; __FUNKCJA_SPISU(tablica_ksiazki,false); return nil,nil,artykul,kod_wyniku; elseif(kod_wyniku==3)then local tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nil); tablica_ksiazki_stara.referencja_do_nowej_formy_spisu={tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,}; __FUNKCJA_SPISU(tablica_ksiazki,false); return nil,nil,artykul,kod_wyniku; end; else __FUNKCJA_SPISU(tablica_ksiazki,false); end; elseif(tabela_artykulow~=1)then local wartosc_wyniku,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni=__FUNKCJA(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); if(not wartosc_wyniku)then return wartosc_wyniku,true; elseif((wartosc_wyniku==0)and(tabela_artykul))then StronaSubstFunkcja(tabela_artykul,tabela_ksiazka.spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return wartosc_wyniku,true; end; end; else if(czy_artykul_korzystany)then if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"brak spisów treści do korzystanych książek na ich stronach głównych"))then if(((self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu=="")and(nazwa_artykulu~=""))or(self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu~=""))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"brak spisów treści do korzystanych książek na ich stronach głównych"); end; end; else stronicowyparser_problemy_modul.DodawanieProblemowegoElementuDoTablicy(self,"brak spisów treści do dołączonych książek na ich stronach głównych",nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); end; end; end; end; end; end; ---- local wartosc_wyniku,wynik_bledu,artykul_bazowy,kod_wyniku_bazowy=InneInformacjePrzebneDoAnalizowanejKsiazki(); if(wynik_bledu)then return wartosc_wyniku;end; local kod_wyniku_przekierowan=kod_wyniku_bazowy; ---- --if((not tablica_przestrzeni)or(not tablica_przestrzeni_ksiazki)or(not tablica_ksiazki)or(not artykul_analizowany))then -- tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); --end; ---- if(tablica_ksiazki.adres_woluminu_bazowego_spisu_rzeczy)and((kod_wyniku_bazowy==1)or(kod_wyniku_bazowy==4))then ---- nazwa_przestrzeni=tablica_ksiazki.adres_woluminu_bazowego_spisu_rzeczy[1]; nazwa_przestrzeni_ksiazki=tablica_ksiazki.adres_woluminu_bazowego_spisu_rzeczy[2]; nazwa_ksiazki=tablica_ksiazki.adres_woluminu_bazowego_spisu_rzeczy[3]; nazwa_artykulu=artykul_bazowy; ---- tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki=tablica_ksiazki.referencja_do_nowej_formy_spisu[1],tablica_ksiazki.referencja_do_nowej_formy_spisu[2],tablica_ksiazki.referencja_do_nowej_formy_spisu[3]; end; local tabela_artykulow=tablica_ksiazki.spis; if(tabela_artykulow)then local nazwa_glownego_spisu=tablica_ksiazki.nazwa_bazowego_spisu; local tab_inne_spisy=tablica_ksiazki.tab_inne_spisy; local dodatkowe_artykuly=tablica_ksiazki.dodatkowe_strony_woluminu local artykul,kod_wyniku=stronicowyparser_potrzebne_modul.OdpowiednikNaPrzemianArtykularnychStronWoluminu(tabela_artykulow,nazwa_glownego_spisu,tab_inne_spisy,dodatkowe_artykuly,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,false); if(kod_wyniku==1)then nazwa_artykulu=artykul; local wartosc_wyniku,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni=__FUNKCJA(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); if(not wartosc_wyniku)then return wartosc_wyniku; elseif((wartosc_wyniku==0)and(tabela_artykul))then StronaSubstFunkcja(tabela_artykul,tabela_ksiazka.spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return wartosc_wyniku; end; tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); elseif(kod_wyniku==2)then local nazwa_artykulu=artykul; local tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end; kod_wyniku_przekierowan=kod_wyniku_przekierowan or kod_wyniku; end; local nazwa_modulu=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); local PrzekierownieAwaryjne=function() if((not kod_wyniku_przekierowan)or(kod_wyniku_bazowy==4))then --local artykul2,kod_wyniku2=stronicowyparser_potrzebne_modul.OdpowiednikNaPrzemianArtykularnychStronWoluminu(tabela_artykulow,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,true); local techniczne_modul=require("Module:Techniczne"); local strona=techniczne_modul.PrzekierowanieDoStrony(nazwa_modulu); if(strona)then if(strona~=nazwa_modulu)then ---- local tabela_nazw={}; nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](strona,tabela_nazw); nazwa_przestrzeni_ksiazki=nazwy_modul["NAZWAPRZESTRZENIKSIĄŻKI"](strona,tabela_nazw); nazwa_ksiazki=((nazwa_przestrzeni_ksiazki~="") and nazwy_modul["SUBNAZWAKSIĄŻKI"](strona,tabela_nazw) or nazwy_modul["NAZWAKSIĄŻKI"](strona,tabela_nazw)); nazwa_artykulu=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](strona,tabela_nazwa); local wartosc_wyniku,tabela_artykul,lista_artykolow,tabela_ksiazka,tabela_przestrzeni_ksiazki,tabela_przestrzeni=__FUNKCJA(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); if(not wartosc_wyniku)then return wartosc_wyniku; elseif((wartosc_wyniku==0)and(tabela_artykul))then StronaSubstFunkcja(tabela_artykul,tabela_ksiazka.spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); return wartosc_wyniku; end; tablica_przestrzeni,tablica_przestrzeni_ksiazki,tablica_ksiazki,artykul_analizowany=__FUNKCJA_ARTYKULU(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); nazwa_modulu=strona; else return 0; end; end; end; end; local wynik=PrzekierownieAwaryjne(); if(czy_artykul_korzystany)then self.nazwa_modulu_biezaca=nazwa_modulu; end; if(wynik)then return wynik;end; ---- if(czy_artykul_korzystany)then if((not self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni)and(not self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu)and(not self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu)and(not self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu))then self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni=nazwa_przestrzeni; self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu=nazwa_przestrzeni_ksiazki; self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu=nazwa_ksiazki; self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu=nazwa_artykulu; end; end; local nazwa_modulu_aktualna_czy_biezaca=self.tabela_listy_danych_analizy_ksiazki.alternatywna and nazwy_modul["NazwaModułu"](self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_przestrzeni,self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_przestrzeni_ksiazki,self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_ksiazki,self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_artykulu) or nazwa_modulu; -- przydzielanie tablicy if(czy_artykul_korzystany)then artykul_analizowany.artykul_biezacy=true; tablica_ksiazki.ksiazka_analizowana=true; end; --koniec --local iterator=mw.ustring.gmatch(tekst_rozwiniety_calego_artykulu,"{{[^{}]-}}"); if(not tablica_zmiennych)then tablica_zmiennych={};end; if(not tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2)then tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2={};end; local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty"); for _,element_w_tablicy_obiekt in pairs(stronicowyparser_obiekty_modul.tablica_obiektowych_form)do local CzyLink=element_w_tablicy_obiekt.CzyLink; local CzyNum=element_w_tablicy_obiekt.CzyNum; local wartosc=element_w_tablicy_obiekt[1]; tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2[wartosc]={CzyLink=CzyLink,CzyNum=CzyNum,}; if(czy_artykul_korzystany)then tablica_zmiennych.linkobiekt[wartosc]={CzyLink=CzyLink,CzyNum=CzyNum;};end; end; local function StronaZbiorcza() if(czy_artykul_korzystany)then local stronicowyparser_stronasubst_modul=require("Module:StronicowyParser/StronaSubst"); local TakFun=function(frame) return true;end;local NieFun=function(frame) return nil;end; local wynik=stronicowyparser_stronasubst_modul.AnalizaStronaSubst(self.tabela_listy_danych_analizy_ksiazki,tablica_ksiazki.spis,nil,TakFun,NieFun,nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); artykul_analizowany.strona_zbiorcza=(wynik and "tak" or ""); return wynik; end; return nil; end; local strona_zbiorcza=StronaZbiorcza(); local pelna_nazwa_ksiazki=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,""); local stronicowyparser_tekst_modul=require("Module:StronicowyParser/Tekst"); ---- local tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony; if((not tekst_rozwiniety_calego_artykulu_ref)or(not tablica_analizy_obiektow_strony_dany_modul_ref)or(not tablica_danych_parametrow_szablonu_strony_ref))then tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony=stronicowyparser_tekst_modul.RekurencyjnyZakodowanoSpreparowanyWikikodStrony(self,nazwa_modulu_aktualna_czy_biezaca,(((czy_artykul_korzystany)and(self.tabela_listy_danych_analizy_ksiazki.inna_strona_aktualna_niz_biezaca))and true or nil), nil) else tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony=tekst_rozwiniety_calego_artykulu_ref,tablica_analizy_obiektow_strony_dany_modul_ref,tablica_danych_parametrow_szablonu_strony_ref; end; ---- if(not czy_artykul_korzystany)then if(not tekst_rozwiniety_calego_artykulu)then return 0;end; end; if(czy_artykul_korzystany)then if(not tekst_rozwiniety_calego_artykulu)then if(strona_zbiorcza)then self.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak"; end; return nil; end; end; local szablonowe_modul=require("Module:Szablonowe"); local parametry_modul=require("Module:Parametry"); if((czy_artykul_korzystany)and(self.tabela_listy_danych_analizy_ksiazki.inna_strona_aktualna_niz_biezaca))then local aktualna_nazwa_modulu=self.tabela_listy_danych_analizy_ksiazki.alternatywna and nazwa_modulu_aktualna_czy_biezaca or nazwy_modul["NazwaModułu"](self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_przestrzeni,self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_przestrzeni_ksiazki,self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_ksiazki,self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_artykulu); local tekst=stronicowyparser_tekst_modul.SpreparowanyWikikodStrony(self,aktualna_nazwa_modulu); if(tekst)then local iterator=szablonowe_modul:IteratorSzablonowyZakodowanegoTekstu(tekst,aktualna_nazwa_modulu); local tablica_danych_parametrow_szablonu_strony={}; for szablon,obiekt,kod in iterator do if(obiekt=="SZABLON")then local wynik=szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,aktualna_nazwa_modulu,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) if(stronicowyparser_obiekty_modul.strona_start_ze_spisem_rzeczy_strony[nazwa_szablonu])then self.tabela_listy_danych_analizy_ksiazki.formatowanie="tak"; self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true; return true; elseif(stronicowyparser_obiekty_modul.strona_start[nazwa_szablonu])then self.tabela_listy_danych_analizy_ksiazki.formatowanie=tabela_parametrow_szablonu["formatowanie"]; local boczne_menu=tabela_parametrow_szablonu["boczne menu"] or ""; local spis_tresci=tabela_parametrow_szablonu["spis treści"] or "TOC"; if((parametry_modul.CzyTak(boczne_menu))or(parametry_modul.CzyTak(spis_tresci)))then self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true; end; return true; end; end); if(wynik)then break;end; end; end; end; end; local uzyskano_w_wyniku_parsowania_wywolanie_szablonu; local analiza_stron_korzystanych_zbiorczych=nil; local stronastart=nil; ---- local tablica_obiekty=stronicowyparser_obiekty_modul.obiekty; local szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane_numerowane_obiekty=stronicowyparser_obiekty_modul.szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane.numerowane_obiekty; local format_elementowy_referencji_obiektowy=stronicowyparser_obiekty_modul.format_elementowy_referencji_obiektowy; local szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_napisu_wprowadzenia_tekstu=stronicowyparser_obiekty_modul.szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane.nienumerowane_obiekty_napisu_wprowadzenia_tekstu; local szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_tekstu=stronicowyparser_obiekty_modul.szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane.nienumerowane_obiekty_tekstu; local szablony_wykorzystywane_przez_strony_zbiorcze=stronicowyparser_obiekty_modul.szablony_wykorzystywane_przez_strony_zbiorcze; local format_elementowy_obiektowy=stronicowyparser_obiekty_modul.format_elementowy_obiektowy; local szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_numerowane_obiekty=stronicowyparser_obiekty_modul.szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane.numerowane_obiekty; local szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_naglowka=stronicowyparser_obiekty_modul.szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane.nienumerowane_obiekty_napisu_wprowadzenia_tekstu; local szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_tekstu=stronicowyparser_obiekty_modul.szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane.nienumerowane_obiekty_tekstu; ---- local strona_start=stronicowyparser_obiekty_modul.strona_start; local strona_start_ze_spisem_rzeczy_strony=stronicowyparser_obiekty_modul.strona_start_ze_spisem_rzeczy_strony; local strona_start_inne=stronicowyparser_obiekty_modul.strona_start_inne; local szablony_strony_zbiorczej=stronicowyparser_obiekty_modul.strona_zbiorcza; ---- local tab_szablony=stronicowyparser_obiekty_modul.szablony_stronicowego_parsera.szablony_kontenerowe; local tab_szablony_stronicowe_niekontenerowe=stronicowyparser_obiekty_modul.szablony_stronicowe_niekontenerowe; local tab_szablony_stronicowe_formatowania_tekstu=stronicowyparser_obiekty_modul.szablony_stronicowe_formatowania_tekstu; local tab_szablony_stronicowe_kontenerowe_formatowania_wzorowego=stronicowyparser_obiekty_modul.szablony_stronicowe_kontenerowe_formatowania_wzorowego; ---- local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local iterator=szablonowe_modul:IteratorSzablonowyZakodowanegoTekstu(tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul); local tabela_elementow_strony_kodow={}; for uzyskano_w_wyniku_parsowania_wywolanie_szablonu,obiekt,kod in iterator do local function AnalizaParametrowSzablonuISzablonu(tabela_parametrow_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania,uzyskano_w_wyniku_parsowania_wywolanie_szablonu) if(czy_artykul_korzystany)then if(tabela_parametrow_szablonu)then if((not stronastart)and(self.tabela_listy_danych_analizy_ksiazki.formatowanie==nil))then if(strona_start[nazwa_szablonu_wywolania])then self.tabela_listy_danych_analizy_ksiazki.formatowanie=tabela_parametrow_szablonu["formatowanie"]; stronastart=true; local boczne_menu=tabela_parametrow_szablonu["boczne menu"] or ""; local spis_tresci=tabela_parametrow_szablonu["spis treści"] or "TOC"; if((parametry_modul.CzyTak(boczne_menu))or(parametry_modul.CzyTak(spis_tresci)))then self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true; end; return; elseif(strona_start_ze_spisem_rzeczy_strony[nazwa_szablonu_wywolania])then self.tabela_listy_danych_analizy_ksiazki.formatowanie="tak"; self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true; stronastart=true; return; elseif(strona_start_inne[nazwa_szablonu_wywolania])then self.tabela_listy_danych_analizy_ksiazki.formatowanie="tak"; stronastart=true; return; elseif((strona_zbiorcza)and(not analiza_stron_korzystanych_zbiorczych)and(szablony_strony_zbiorczej[nazwa_szablonu_wywolania]))then analiza_stron_korzystanych_zbiorczych=true; local nazwa_przestrzeni=tabela_parametrow_szablonu["nazwa przestrzeni nazw"]; local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"]; if((not parametry_modul.CzyTak(nazwa_prestreni_nazw))and(not parametry_modul.CzyTak(nazwa_jednostki)))then return; end; end; elseif((strona_zbiorcza)and(not analiza_stron_korzystanych_zbiorczych)and(szablony_strony_zbiorczej[nazwa_szablonu_wywolania]))then analiza_stron_korzystanych_zbiorczych=true; local nazwa_przestrzeni=tabela_parametrow_szablonu["nazwa przestrzeni nazw"]; local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"]; if((not parametry_modul.CzyTak(nazwa_przestrzeni))and(not parametry_modul.CzyTak(nazwa_jednostki)))then return; end; end; end; end; local plik=mw.ustring.match(nazwa_szablonu_wywolania,"^:"); if(plik==nil)then if(tabela_parametrow_szablonu)then if(not parametry_modul.CzyTak(tabela_parametrow_szablonu["bez automatu"]))then local czy_wypowiedzenie=(nazwa_szablonu_wywolania=="Wypowiedzenie"); local czy_linkobiekt; local czy_link;local czy_pobierz; local czy_wypowiedzenie_z_parametrami; local czy_linkobiekt_z_parametrami; if(czy_wypowiedzenie)then czy_linkobiekt=false; czy_link=false; czy_pobierz=false; czy_wypowiedzenie_z_parametrami=parametry_modul.CzyTak(tabela_parametrow_szablonu["rodzaj"]); else czy_linkobiekt=(nazwa_szablonu_wywolania=="LinkObiekt"); if(czy_linkobiekt)then czy_link=true; czy_pobierz=false; czy_linkobiekt_z_parametrami=parametry_modul.CzyTak(tabela_parametrow_szablonu["typ"]); else czy_link=mw.ustring.match(nazwa_szablonu_wywolania,"^Link"); czy_pobierz=(not czy_link) and mw.ustring.match(nazwa_szablonu_wywolania,"^Pobierz") or nil; end; end; if((not czy_link)and(not czy_pobierz))then local wartosc_elementu;local numer_uchwytu; if(not czy_wypowiedzenie_z_parametrami) then local tab_wartosc_elementu=szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_numerowane_obiekty[nazwa_szablonu_wywolania]; if(tab_wartosc_elementu)then wartosc_elementu=tab_wartosc_elementu[1]; numer_uchwytu=tab_wartosc_elementu[2]; end; else local rodzaj=tabela_parametrow_szablonu["rodzaj"]; if(rodzaj)then wartosc_elementu=format_elementowy_obiektowy[rodzaj] and rodzaj or nil; if(wartosc_elementu)then numer_uchwytu=tablica_obiekty[5]; end; end; end; if(wartosc_elementu)then local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA) if(czy_artykul_korzystany)then if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then if(uchwyt_obiektu and (uchwyt_obiektu~=""))then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=wartosc_elementu..":"..((uchwyt_obiektu)and uchwyt_obiektu or ""); end; end; end; end; p.RozpatrywanieSzablonuObiektuDoNumeracji(self,tabela_parametrow_szablonu,tablica_zmiennych, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,wartosc_elementu, czy_artykul_korzystany,numer_uchwytu--[[elementy_w_tablicy_obiekty[5]],nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie); return; end; elseif(czy_artykul_korzystany)then if(czy_link)then local wartosc_elementu; if(not czy_linkobiekt_z_parametrami)then wartosc_elementu=szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane_numerowane_obiekty[nazwa_szablonu_wywolania]; else local typ=tabela_parametrow_szablonu["typ"]; if(typ)then typ=format_elementowy_referencji_obiektowy[typ] and typ or nil; if(typ)then wartosc_elementu=mw.getContentLanguage():ucfirst(typ); end; end; end; if(wartosc_elementu)then local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA) if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie="Link"..wartosc_elementu..":"..((uchwyt_obiektu)and uchwyt_obiektu or ""); end; end; p.GeneralneLinkowanie(self,tablica_zmiennych,tabela_parametrow_szablonu,wartosc_elementu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie); return; else local wartosc_elementu=szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_napisu_wprowadzenia_tekstu[nazwa_szablonu_wywolania]; if(wartosc_elementu)then self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci=true; self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=nil; local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA) if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu_wywolania..":"..((uchwyt_obiektu)and uchwyt_obiektu or ""); end; end; p.GeneralneLinkowanie(self,tablica_zmiennych,tabela_parametrow_szablonu,wartosc_elementu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie); self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci=nil; if(not self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone)then self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true; self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=nil; else self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=nil; end; return; end; end; elseif(czy_pobierz)then local wartosc_elementu=szablony_linkowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_tekstu[nazwa_szablonu_wywolania]; if(wartosc_elementu)then local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA) if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu_wywolania..":"..((uchwyt_obiektu)and uchwyt_obiektu or ""); end; end; p.GeneralneLinkowanie(self,tablica_zmiennych,tabela_parametrow_szablonu,wartosc_elementu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie); return; end; end; end; if(czy_wypowiedzenie)then local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA) if(czy_artykul_korzystany)then if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie="Obiekt:"..((uchwyt_obiektu)and uchwyt_obiektu or ""); end; end; end; p.RozpatrywanieSzablonuObiektuDoNumeracji(self,tabela_parametrow_szablonu,tablica_zmiennych,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,"Obiekt", czy_artykul_korzystany,tablica_obiekty[5],nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie); return; elseif(stronicowyparser_obiekty_modul.szablony_stronicowego_parsera.szablony_wprowadzenia_tekstu[nazwa_szablonu_wywolania])then local tab_wartosc_elementu=szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_naglowka[nazwa_szablonu_wywolania]; local wartosc_elementu;local numer_uchwytu; if(tab_wartosc_elementu)then wartosc_elementu=tab_wartosc_elementu[1]; numer_uchwytu=tab_wartosc_elementu[2]; end; local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA) if(czy_artykul_korzystany)then if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then if(uchwyt_obiektu and (uchwyt_obiektu~=""))then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=wartosc_elementu..":"..((uchwyt_obiektu)and uchwyt_obiektu or ""); end; end; end; end; local lista_dwuelementowa=p.RozpatrywanieSzablonuObiektuDoNumeracji(self,tabela_parametrow_szablonu,tablica_zmiennych, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,wartosc_elementu, czy_artykul_korzystany,numer_uchwytu--[[elementy_w_tablicy_obiekty[5]],nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie); p.UchwytyZeiBezNumeracji(self,tabela_elementow_strony_kodow,wartosc_elementu,lista_dwuelementowa,kod); if(czy_artykul_korzystany)then self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true; end; return; elseif(stronicowyparser_obiekty_modul.szablony_stronicowego_parsera.szablony_tekstu[nazwa_szablonu_wywolania])then local tab_wartosc_elementu=szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_tekstu[nazwa_szablonu_wywolania]; local wartosc_elementu;local numer_uchwytu; if(tab_wartosc_elementu)then wartosc_elementu=tab_wartosc_elementu[1]; numer_uchwytu=tab_wartosc_elementu[2]; end; local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA) if(czy_artykul_korzystany)then if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then if(uchwyt_obiektu and (uchwyt_obiektu~=""))then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=wartosc_elementu..":"..((uchwyt_obiektu)and uchwyt_obiektu or ""); end; end; end; end; local lista_dwuelementowa=p.RozpatrywanieSzablonuObiektuDoNumeracji(self,tabela_parametrow_szablonu,tablica_zmiennych, nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,wartosc_elementu, czy_artykul_korzystany,numer_uchwytu--[[elementy_w_tablicy_obiekty[5]],nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie); if(lista_dwuelementowa)then local tekst=tabela_parametrow_szablonu["tekst"] or tabela_parametrow_szablonu["treść"] or tabela_parametrow_szablonu[1]; if(tekst)then local czy_szablon_wszystko=false; tekst=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(tekst,nil,tablica_analizy_obiektow_strony_dany_modul, function(szablon,obiekt,kod) if(obiekt=="SZABLON")then local wynik=szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,nazwa_modulu,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) if( (tab_szablony[nazwa_szablonu]) or(tab_szablony_stronicowe_niekontenerowe[nazwa_szablonu]) or(tab_szablony_stronicowe_formatowania_tekstu[nazwa_szablonu]) or(tab_szablony_stronicowe_kontenerowe_formatowania_wzorowego[nazwa_szablonu]) )then if(not czy_artykul_korzystany)then tabela_parametrow_szablonu["nazwa przestrzeni nazw"]=tabela_parametrow_szablonu["nazwa przestrzeni nazw"] or nazwa_przestrzeni; tabela_parametrow_szablonu["nazwa jednostki"]=tabela_parametrow_szablonu["nazwa jednostki"] or (((nazwa_przestrzeni_ksiazki~="") and (nazwa_przestrzeni_ksiazki.."/") or "")..nazwa_ksiazki..((nazwa_artykulu~="") and ("/"..nazwa_artykulu) or "")) if(self)then local czy_link_lub_pobierz=mw.ustring.match(nazwa_szablonu,"^Link") or mw.ustring.match(nazwa_szablonu,"^Pobierz"); if(czy_link_lub_pobierz)then p.ZbieranieKontenerowychInformacjiReferencji(self,tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca); else p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu); end; end; end; return szablonowe_modul.KodSymbolicznySzablonu(nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow,true); end; return nil; end); czy_szablon_wszystko=czy_szablon_wszystko or true; if(wynik)then return wynik;end; end; end); if(czy_szablon_wszystko)then local frame=mw.getCurrentFrame(); tekst=frame:preprocess(tekst); end; lista_dwuelementowa[2]=tekst; end; end; return; elseif(czy_artykul_korzystany)then if(czy_linkobiekt)then local function KtorySzablonMaZwracacKategorie(uchwyt_obiektu,__FUNKCJA) if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie="LinkObiekt:"..((uchwyt_obiektu)and uchwyt_obiektu or ""); end; end; p.GeneralneLinkowanie(self,tablica_zmiennych,tabela_parametrow_szablonu,"Obiekt",nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,KtorySzablonMaZwracacKategorie); return; else if(stronicowyparser_obiekty_modul.szablony_z_lokalnym_spisem_rzeczy_strony[nazwa_szablonu_wywolania])then self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true; return; elseif(stronicowyparser_obiekty_modul.bez_uchwytow_spis_rzeczy_strony[nazwa_szablonu_wywolania])then self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci=true; self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=nil; local function KtorySzablonMaZwracacKategorie(uchwyt,__FUNKCJA) if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then local nazwa_ksiazki=tabela_parametrow_szablonu["nazwa książki"] or tabela_parametrow_szablonu[2] or ""; local artykul=tabela_parametrow_szablonu["nazwa artykułu"] or tabela_parametrow_szablonu[1] or ""; self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu_wywolania..":"..nazwa_ksiazki..((artykul)and ("/"..artykul) or "") end; end; p.ZbieranieInformacjiStronyWoluminowychPozycji(self,tabela_parametrow_szablonu,KtorySzablonMaZwracacKategorie); self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci=nil; if(not self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone)then self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane=true; self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=nil; else self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone=nil; end; return; else local function KtorySzablonMaZwracacKategorie(uchwyt,__FUNKCJA) if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then local nazwy_modul=require("Module:Nazwy"); local nazwa_przestrzeni=tabela_parametrow_szablonu["nazwa przestrzeni nazw"] or ""; local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"] or ""; local nazwa_symulacyjnej_strony=((nazwa_przestrzeni~="") and (nazwa_przestrzeni..":") or "")..nazwa_jednostki; local uchwyt=nazwa_szablonu_wywolania..":"..nazwa_symulacyjnej_strony; self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=uchwyt; end; end; if((stronicowyparser_obiekty_modul.szablony_kontenerowe[nazwa_szablonu_wywolania]) or(szablony_strony_zbiorczej[nazwa_szablonu_wywolania]) )then if(szablony_wykorzystywane_przez_strony_zbiorcze[nazwa_szablonu_wywolania])then p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,true,KtorySzablonMaZwracacKategorie); else p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,nil,KtorySzablonMaZwracacKategorie); end; return; elseif((strona_zbiorcza)and(szablony_strony_zbiorczej[nazwa_szablonu_wywolania]))then p.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu,true,KtorySzablonMaZwracacKategorie); return; end; end; end; end; end; end; end; end; stronicowyparser_potrzebne_modul:AnalizaSzablonuStronicowegoParsera(uzyskano_w_wyniku_parsowania_wywolanie_szablonu,obiekt,kod,nazwa_modulu_aktualna_czy_biezaca,tablica_danych_parametrow_szablonu_strony,AnalizaParametrowSzablonuISzablonu); end; local tablica_danych_nazwy_artykulu=tablica_ksiazki.lista_podstron_woluminu[nazwa_artykulu] or {}; tablica_danych_nazwy_artykulu.uchwyty_i_numeracje=tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2; if(czy_artykul_korzystany)then if(analiza_stron_korzystanych_zbiorczych)then local stronicowyparser_stronasubst_modul=require("Module:StronicowyParser/StronaSubst"); tekst_rozwiniety_calego_artykulu=stronicowyparser_stronasubst_modul.LiczOperacjeStronZbiorczych(self,tekst_rozwiniety_calego_artykulu,tablica_ksiazki.spis,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); end; end; local strona; if(czy_artykul_korzystany)then strona="";else strona=nazwa_modulu;end; local toc; if(((czy_artykul_korzystany)and(self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_korzystane)) or((not czy_artykul_korzystany)and(self.tabela_listy_danych_analizy_ksiazki.analiza_spis_tresci_doloczone)))then ---- local tablica_obiektow_strony_danych_kodow_specjalnych_modul=nil; ---- tekst_rozwiniety_calego_artykulu,tablica_obiektow_strony_danych_kodow_specjalnych_modul=szablonowe_modul:KodowanieInaczejZakodowanychNormKodowychTekstuWedleJegoTablicyKodowania(tekst_rozwiniety_calego_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,false); ---- local function KtorySzablonMaZwracacKategorieNaglowek(numeracja_aktualna,nazwa_szablonu) if(czy_artykul_korzystany)then if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"powtórka nagłowek w stronie korzystanej"))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"powtórka nagłowek w stronie korzystanej"); if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu..":"..(numeracja_aktualna or ""); end; end; else stronicowyparser_problemy_modul.DodawanieProblemowegoElementuDoTablicy(self,"powtórka nagłówek w stronie dołączonej",nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki) if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu..":"..(numeracja_aktualna or ""); end; end; end; local function KtorySzablonMaZwracacKategorieTekst(numeracja_aktualna,nazwa_szablonu) if(czy_artykul_korzystany)then if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"nagłówek w tekście rozdziału w stronie korzystanej"))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"nagłówek w tekście rozdziału w stronie korzystanej"); if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu..":"..(numeracja_aktualna or ""); end; end; else stronicowyparser_problemy_modul.DodawanieProblemowegoElementuDoTablicy(self,"nagłowek w tekście rozdziału w stronie dołączonej",nil,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki); if(not self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie)then self.tabela_listy_danych_analizy_ksiazki.ktory_szablon_stronicowy_ma_zwracac_kategorie=nazwa_szablonu..":"..(numeracja_aktualna or ""); end; end; end; local function CzyJestTakiProblemJakoElementTablicy() return stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"nagłówek w tekście rozdziału w stronie korzystanej"); end; local nazwa_naglowka=stronicowyparser_obiekty_modul.nazwa_szablonu_wprowadzenia_tekstu; local stronicowyparser_glownafunkcjazbieraniadanych_modul=require("Module:StronicowyParser/GłównaFunkcjaZbieraniaDanychStron"); local tablica_naglowka_obiekty=tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2[nazwa_naglowka]; tablica_naglowka_obiekty.uchwyty_bez_numeracji={}; local toc=stronicowyparser_glownafunkcjazbieraniadanych_modul.SpisRzeczyWedlePodanegoTekstu(self,tekst_rozwiniety_calego_artykulu,strona, czy_artykul_korzystany,nil,tablica_naglowka_obiekty.uchwyty_bez_numeracji, nazwa_przestrzeni, nazwa_przestrzeni_ksiazki, nazwa_ksiazki, nazwa_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tablica_obiektow_strony_danych_kodow_specjalnych_modul,{KtorySzablonMaZwracacKategorieNaglowek,KtorySzablonMaZwracacKategorieTekst,CzyJestTakiProblemJakoElementTablicy},nil,tabela_elementow_strony_kodow); tablica_danych_nazwy_artykulu.TOC=toc; end; StronaSubstFunkcja(tablica_danych_nazwy_artykulu,tablica_ksiazki.spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); if(czy_artykul_korzystany)then self.tabela_listy_danych_analizy_ksiazki.tablica_aktualnego_artykulu=tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2; self.tabela_listy_danych_analizy_ksiazki.tablica_aktualnej_przestrzeni_nazw=self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni]; self.tabela_listy_danych_analizy_ksiazki.tablica_ksiazek_w_danej_przestrzeni_nazw_ksiazki=self.tabela_listy_danych_analizy_ksiazki.tablica_aktualnej_przestrzeni_nazw[nazwa_przestrzeni_ksiazki]; self.tabela_listy_danych_analizy_ksiazki.tablica_aktualnej_ksiazki=self.tabela_listy_danych_analizy_ksiazki.tablica_ksiazek_w_danej_przestrzeni_nazw_ksiazki[nazwa_ksiazki]; end; return self.tabela_listy_danych_analizy_ksiazki; end; return p; iyd5hx6qc1k86nx24wyoy084z8cbssd Moduł:StronicowyParser/Potrzebne 828 58155 544489 544468 2026-05-27T17:45:57Z Persino 2851 544489 Scribunto text/plain local p={}; function p.LiczonyHNumer() local tab={}; local h_numer_zapamietane=nil; --local ostatnie_poprz=nil; return function(h_numer,h_numer_nowe) if(h_numer==0)then if(#tab>0)then local h_numer_poprz,ostatnie_poprz=unpack(tab[#tab]); return ostatnie_poprz; end; return nil; elseif(h_numer<0)then h_numer=math.abs(h_numer); end; local ostatnie;---=tab[h_numer]; local max_h_numer=nil;local min_h_numer=nil; local ostatnie_max;local ostatnie_min;local ostatnie_ost;local ostatnie_ost_prawda=true; for i=#tab,1,-1 do ---- local h_numer_pos,ostatnie_pos=unpack(tab[i]); if(ostatnie_ost_prawda)then if(h_numer_pos==h_numer)then ostatnie_ost=ostatnie_pos; break; end; ostatnie_ost_prawda=nil; end; ---- if((h_numer>h_numer_pos)and((max_h_numer or 0)<h_numer_pos))then if((h_numer_pos or 0)<=(max_h_numer or h_numer))then ostatnie_max=ostatnie_pos; max_h_numer=h_numer_pos; end; end; end; if(ostatnie_ost)then ostatnie=ostatnie_ost; else ostatnie=(ostatnie_max or 0)+1; end; local h_numer_poprz,ostatnie_poprz=nil,nil; if(#tab>0)then h_numer_poprz,ostatnie_poprz=unpack(tab[#tab]); end; if(ostatnie>(ostatnie_poprz or 0)+1)then ostatnie=(ostatnie_poprz or 0)+1; end; table.insert(tab,{h_numer,ostatnie,}); if(h_numer_nowe)then local roznica=h_numer_nowe-ostatnie; if(roznica==0)then return ostatnie; end; local tab2={}; for i,tabs in pairs(tab)do local name,value=unpack(tabs); tab2[i]={name,value+roznica,}; end; tab=tab2; return h_numer_nowe; end; return ostatnie; end; end; function p.PoziomAdresu(adres) local lens=#adres; local i=1; for p=1, lens,1 do local znak=mw.ustring.sub(adres,p,p); if(znak=="/")then i=i+1; end; end; return i; end; function p.NazwaNadStrony(adres,numer) if((numer)and(numer==0))then return nil;end; if((numer)and(numer<1)or(numer~=math.floor(numer)))then return nil;end; local lens=#adres; local i=1; for p=1, lens,1 do local znak=mw.ustring.sub(adres,p,p); if(znak=="/")then i=i+1; end; if(i==numer)then return mw.ustring.sub(adres,1,p-1); end; end; return adres; end; function p.SubNazwaNadStrony(adres,numer,krok) if((not numer)or(numer<1)or(numer~=math.floor(numer)))then return adres;end; krok=krok or 1; if((krok<1)or(krok~=math.floor(krok)))then return adres;end; local lens=#adres; local i=1; local a=nil;local b=nil; for p=1, lens,1 do local znak=mw.ustring.sub(adres,p,p); if(znak=="/")then i=i+1; if(i==numer)then if(not a)then a=p+1;end; end; if(i==numer+krok)then if(not b)then b=p-1;break;end; end; end; end; if(not a)then a=1;end; if(not b)then b=lens;end; return mw.ustring.sub(adres,a,b); end; function p.ParametryKonteneraWoluminu(self,frame,tabela_listy_danych_analizy_ksiazki) local nazwa_przestrzeni=self.args["nazwa przestrzeni nazw"]; local nazwa_jednostki=self.args["nazwa jednostki"]; if(((nazwa_przestrzeni)and(nazwa_jednostki))or((nazwa_przestrzeni)and(not nazwa_jednostki))or((not nazwa_przestrzeni)and(nazwa_jednostki)))then local html_modul=require("Module:Html"); if(nazwa_jednostki)then local tabela_nazw_adresu={}; self.naglowek=html_modul["NagłówekStronyAdresu"](nazwa_jednostki,true,tabela_nazw_adresu); self.parametry=html_modul["ParametryStronyAdresu"](nazwa_jednostki,true,tabela_nazw_adresu); end; local nazwy_modul=require("Module:Nazwy"); local nazwa_przestrzeni=((nazwa_przestrzeni)and ((nazwa_przestrzeni~="")and (nazwa_przestrzeni..":") or "") or nazwy_modul["NAZWAPRZESTRZENI"]()); local nazwa_jednostki=(((nazwa_jednostki)and(nazwa_jednostki~=""))and nazwa_jednostki or nazwy_modul["NAZWASTRONY"]()); local pelna_nazwa_jednostki=((nazwa_przestrzeni~="")and (nazwa_przestrzeni..":") or "")..nazwa_jednostki; pelna_nazwa_jednostki=html_modul.DecodeHtml(pelna_nazwa_jednostki,true); pelna_nazwa_jednostki=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](pelna_nazwa_jednostki); --- local techniczne_modul=require("Module:Techniczne"); local tabela_listy_danych_analizy_ksiazki=tabela_listy_danych_analizy_ksiazki or mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_woluminowych; local nazwa_modulu=nazwy_modul["NazwaModułu"](tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni,tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu,tabela_listy_danych_analizy_ksiazki.nazwa_woluminu,tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu); pelna_nazwa_jednostki=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=pelna_nazwa_jednostki,[2]=nazwa_modulu,}; pelna_nazwa_jednostki=nazwy_modul["PEŁNANAZWASTRONY"](pelna_nazwa_jednostki); local strona=techniczne_modul.PrzekierowanieDoStrony(pelna_nazwa_jednostki); if(strona)then pelna_nazwa_jednostki=strona;end; local nazwy_modul=require("Module:Nazwy"); self.nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](pelna_nazwa_jednostki); self.nazwa_przestrzeni_woluminu=nazwy_modul["NAZWAPRZESTRZENIKSIĄŻKI"](pelna_nazwa_jednostki); self.nazwa_woluminu=(self.nazwa_przestrzeni_woluminu~="")and nazwy_modul["SUBNAZWAKSIĄŻKI"](pelna_nazwa_jednostki) or nazwy_modul["NAZWAKSIĄŻKI"](pelna_nazwa_jednostki); self.nazwa_podstrony_woluminu=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](pelna_nazwa_jednostki); self.parametry_woluminu=false; local lista_artykulow_w_ksiazkach_w_danej_przestrzeni=tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[self.nazwa_przestrzeni]; if(not lista_artykulow_w_ksiazkach_w_danej_przestrzeni)then return;end; local tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki=lista_artykulow_w_ksiazkach_w_danej_przestrzeni[self.nazwa_przestrzeni_woluminu]; if(not tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki)then return;end; local tab_lista_artykulow_w_ksiazce=tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki[self.nazwa_woluminu]; if(not tab_lista_artykulow_w_ksiazce)then return; end; local oryginalna_ksiazka=tab_lista_artykulow_w_ksiazce.adres_woluminu_bazowego_spisu_rzeczy; if(oryginalna_ksiazka)then self.nazwa_przestrzeni=oryginalna_ksiazka[1]; self.nazwa_przestrzeni_woluminu=oryginalna_ksiazka[2]; self.nazwa_woluminu=oryginalna_ksiazka[3]; end; else local tabela_listy_danych_analizy_ksiazki=tabela_listy_danych_analizy_ksiazki or mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_woluminowych; self.nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; self.nazwa_przestrzeni_woluminu=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu; self.nazwa_woluminu=tabela_listy_danych_analizy_ksiazki.nazwa_woluminu; self.nazwa_podstrony_woluminu=tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu; self.parametry_woluminu=true; end; end; function p.TabelaListyStronWoluminu(self,frame,tabela_listy_danych_analizy_ksiazki,czy_podana,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu) local self_tab; if((not nazwa_przestrzeni)or(not nazwa_przestrzeni_ksiazki)or(not nazwa_ksiazki)or(not nazwa_artykulu))then if((self.parametry_woluminu)and((not tabela_listy_danych_analizy_ksiazki)or(tabela_listy_danych_analizy_ksiazki.tablica_aktualnego_artykulu)))then if(not tabela_listy_danych_analizy_ksiazki)then self_tab,tabela_listy_danych_analizy_ksiazki=p.Self(self,tabela_listy_danych_analizy_ksiazki); end; if((not self_tab)or((self_tab)and(tabela_listy_danych_analizy_ksiazki.tablica_aktualnego_artykulu)))then local lista_artykulow_w_ksiazkach_w_danej_przestrzeni=tabela_listy_danych_analizy_ksiazki.tablica_aktualnej_przestrzeni_nazw; local tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki=tabela_listy_danych_analizy_ksiazki.tablica_ksiazek_w_danej_przestrzeni_nazw_ksiazki; local tab_lista_artykulow_w_ksiazce=tabela_listy_danych_analizy_ksiazki.tablica_aktualnej_ksiazki; local tab_lista_zmiennych_w_artykule=tabela_listy_danych_analizy_ksiazki.tablica_aktualnego_artykulu; return tab_lista_artykulow_w_ksiazce.spis,lista_artykulow_w_ksiazkach_w_danej_przestrzeni,tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki,tab_lista_artykulow_w_ksiazce,tab_lista_zmiennych_w_artykule; end; end; end; if((not self_tab)or(not tabela_listy_danych_analizy_ksiazki))then self_tab,tabela_listy_danych_analizy_ksiazki=p.Self(self,tabela_listy_danych_analizy_ksiazki); end; local lista_artykulow_w_ksiazkach_w_danej_przestrzeni=tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni or((not czy_podana) and self_tab.nazwa_przestrzeni_podana or self_tab.nazwa_przestrzeni)]; if(not lista_artykulow_w_ksiazkach_w_danej_przestrzeni)then return nil,nil,nil,nil,nil; end; local tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki=lista_artykulow_w_ksiazkach_w_danej_przestrzeni[nazwa_przestrzeni_ksiazki or((not czy_podana) and self_tab.nazwa_przestrzeni_woluminu_podana or self_tab.nazwa_przestrzeni_woluminu)]; if(not tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki)then return nil,lista_artykulow_w_ksiazkach_w_danej_przestrzeni,nil,nil,nil;--[[--Do poprawienia--]] end; local tab_lista_artykulow_w_ksiazce=tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki[nazwa_ksiazki or((not czy_podana) and self_tab.nazwa_woluminu_podana or self_tab.nazwa_woluminu)]; if(not tab_lista_artykulow_w_ksiazce)then return nil,lista_artykulow_w_ksiazkach_w_danej_przestrzeni,tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki,nil,nil; end; local tab_lista_zmiennych_w_artykule=tab_lista_artykulow_w_ksiazce.lista_podstron_woluminu and tab_lista_artykulow_w_ksiazce.lista_podstron_woluminu[nazwa_artykulu or ((not czy_podana) and self_tab.nazwa_podstrony_woluminu_podana or self_tab.nazwa_podstrony_woluminu)] or nil; return tab_lista_artykulow_w_ksiazce.spis,lista_artykulow_w_ksiazkach_w_danej_przestrzeni,tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki,tab_lista_artykulow_w_ksiazce,tab_lista_zmiennych_w_artykule; end; function p.AnalizujArgumentySzablonu(self,frame) local parametry_modul=require("Module:Parametry"); self.args=parametry_modul.PobierzArgsParametry(frame,true); end; function p.Args(self) return self.args; end; function p.Self(self,tabela_listy_danych_analizy_ksiazki) local tabela_listy_danych_analizy_ksiazki=tabela_listy_danych_analizy_ksiazki or mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_woluminowych; local self_tab={}; self_tab.nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; self_tab.nazwa_przestrzeni_woluminu=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu; self_tab.nazwa_woluminu=tabela_listy_danych_analizy_ksiazki.nazwa_woluminu; self_tab.nazwa_podstrony_woluminu=tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu; self_tab.nazwa_przestrzeni_podana=self.nazwa_przestrzeni; self_tab.nazwa_przestrzeni_woluminu_podana=self.nazwa_przestrzeni_woluminu; self_tab.nazwa_woluminu_podana=self.nazwa_woluminu; self_tab.nazwa_podstrony_woluminu_podana=self.nazwa_podstrony_woluminu; return self_tab,tabela_listy_danych_analizy_ksiazki; end; function p.KompletnaNazwaWoluminu(self,frame) return ((self.nazwa_przestrzeni~="")and(self.nazwa_przestrzeni..":") or "")..((self.nazwa_przestrzeni_woluminu~="")and (self.nazwa_przestrzeni_woluminu.."/") or "")..self.nazwa_woluminu end; function p.NazwaPodStronyWoluminu(self,frame) return self.nazwa_podstrony_woluminu..(self.parametry and ("?"..self.parametry) or "")..(self.naglowek and ("#"..self.naglowek) or ""); end; function p.StronaArtykularnaKompletna(artykul,pelna_nazwa_ksiazki_w_bazie,przekierowanie_w_bazie,naglowek,ksiazka,analizowana) local stronicowyparser_modul=require("Module:StronicowyParser"); local nazwy_modul=require("Module:Nazwy"); local czy_z_nazwa_ksiazki=ksiazka and (not analizowana) and pelna_nazwa_ksiazki_w_bazie; local pelna_nazwa_ksiazki=(czy_z_nazwa_ksiazki and (pelna_nazwa_ksiazki_w_bazie[4])) and nazwy_modul["NazwaModułu"](pelna_nazwa_ksiazki_w_bazie[1],pelna_nazwa_ksiazki_w_bazie[2],pelna_nazwa_ksiazki_w_bazie[3],"") or nil; local artykul=czy_z_nazwa_ksiazki and not pelna_nazwa_ksiazki_w_bazie[5] and p.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(przekierowanie_w_bazie,naglowek) or artykul; return ksiazka and ((((pelna_nazwa_ksiazki)and(pelna_nazwa_ksiazki~="")) and(pelna_nazwa_ksiazki)or stronicowyparser_modul["AktualnaKsiążka"](mw.getCurrentFrame())).."/"..artykul) or artykul; end; function p.TablicaNapisowaPoWprowadzeniachTekstu(self,frame,tabela_listy_danych_analizy_ksiazki) p:AnalizujArgumentySzablonu(frame); p:ParametryKonteneraWoluminu(frame,tabela_listy_danych_analizy_ksiazki); local tab_lista_artykulow_w_ksiazce_spis=p:TabelaListyStronWoluminu(frame,tabela_listy_danych_analizy_ksiazki); if(not tab_lista_artykulow_w_ksiazce_spis)then return nil;end; local tab_naglowkow={}; for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce_spis)do local rozdzial=tab_lista[1][1]; local poziom_rozdzialu=tab_lista[1][2][1]; local czy_centrowany=tab_lista[1][2][4]; if((poziom_rozdzialu)and(poziom_rozdzialu>0)and(not czy_centrowany))then table.insert(tab_naglowkow,rozdzial); end; end; self.tablica_napisowa_wprowadzenia_tekstu=tab_naglowkow; return tab_naglowkow; end; function p.LosowyNapisProwadzeniaTekstuBezPierwszegoOrazOstatniegoNapisuSpisuRzeczy(self,frame,tabela_listy_danych_analizy_ksiazki) self.numer_pomiedzy_napisu_wprowadzenia_tekstu=tonumber(frame.args[1]) or 1; self.tablica_napisowa_wprowadzenia_tekstu=self.tablica_napisowa_wprowadzenia_tekstu or p.TablicaNapisowaPoWprowadzeniachTekstu(self,frame,tabela_listy_danych_analizy_ksiazki); if(not self.tablica_napisowa_wprowadzenia_tekstu)then return nil;end; self.len_pomiedzy_napisu_wprowadzenia_tekstu=self.len_pomiedzy_napisu_wprowadzenia_tekstu or #(self.tablica_napisowa_wprowadzenia_tekstu); self.reszta_pomiedzy_napisu_wprowadzenia_tekstu=math.fmod(self.numer_pomiedzy_napisu_wprowadzenia_tekstu,self.len_pomiedzy_napisu_wprowadzenia_tekstu-2); local artykul=self.tablica_napisowa_wprowadzenia_tekstu[self.reszta_pomiedzy_napisu_wprowadzenia_tekstu+2]; return artykul; end; function p.LosowyNapisProwadzeniaTekstuWoluminu(self,frame,tabela_listy_danych_analizy_ksiazki) self.numer_losowy_napis_wprowadzenia_tekstu=tonumber(frame.args[1]) or 1; self.tablica_napisowa_wprowadzenia_tekstu=self.tablica_napisowa_wprowadzenia_tekstu or p.TablicaNapisowaPoWprowadzeniachTekstu(self,frame,tabela_listy_danych_analizy_ksiazki); if(not self.tablica_napisowa_wprowadzenia_tekstu)then return nil;end; self.len_pomiedzy_napisu_wprowadzenia_tekstu=self.len_pomiedzy_napisu_wprowadzenia_tekstu or #(self.tablica_napisowa_wprowadzenia_tekstu); self.reszta_losowy_napis_wprowadzenia_tekstu=math.fmod(self.numer_losowy_napis_wprowadzenia_tekstu,self.len_pomiedzy_napisu_wprowadzenia_tekstu); local artykul=self.tablica_napisowa_wprowadzenia_tekstu[self.reszta_losowy_napis_wprowadzenia_tekstu+1]; return artykul; end; function p.PierwszyNapisWprowadzeniaTekstu(self,frame) self.tablica_napisowa_wprowadzenia_tekstu=self.tablica_napisowa_wprowadzenia_tekstu or p.TablicaNapisowaPoWprowadzeniachTekstu(self,frame,tabela_listy_danych_analizy_ksiazki); return self.tablica_napisowa_wprowadzenia_tekstu[1]; end; function p.OstatniNapisWprowadzeniaTekstu(self,frame) self.tablica_napisowa_wprowadzenia_tekstu=self.tablica_napisowa_wprowadzenia_tekstu or p.TablicaNapisowaPoWprowadzeniachTekstu(self,frame,tabela_listy_danych_analizy_ksiazki); return self.tablica_napisowa_wprowadzenia_tekstu[#(self.tablica_napisowa_wprowadzenia_tekstu)]; end; function p.LiczbaNapisowaWprowadzeniaTekstu(self,frame) self.tablica_napisowa_wprowadzenia_tekstu=self.tablica_napisowa_wprowadzenia_tekstu or p.TablicaNapisowaPoWprowadzeniachTekstu(self,frame,tabela_listy_danych_analizy_ksiazki); self.len_pomiedzy_napisu_wprowadzenia_tekstu=self.len_pomiedzy_napisu_wprowadzenia_tekstu or #(self.tablica_napisowa_wprowadzenia_tekstu); return self.len_pomiedzy_napisu_wprowadzenia_tekstu; end; function p.IteratorPoWprowadzeniachNapisowychTekstu(self,frame) local tab_naglowkow=self.tablica_napisowa_wprowadzenia_tekstu or p.TablicaNapisowaPoWprowadzeniachTekstu(self,frame); local parametry_modul=require("Module:Parametry"); return parametry_modul.IteratorPoNumerowanychElementachTablicy(tab_naglowkow); end; function p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji(frame,tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,spis_tresci,inne_spisy,dodatkowe_artykuly) p:AnalizujArgumentySzablonu(frame); local lista_artykulow_w_ksiazkach_w_danej_przestrzeni,tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki,tab_lista_artykulow_w_ksiazce,tab_lista_zmiennych_w_artykule; if(not tab_lista_artykulow_w_ksiazce_spis)then p:ParametryKonteneraWoluminu(frame,tabela_listy_danych_analizy_ksiazki); tab_lista_artykulow_w_ksiazce_spis,lista_artykulow_w_ksiazkach_w_danej_przestrzeni,tab_lista_ksiazek_w_danej_przestrzeni_nazw_ksiazki,tab_lista_artykulow_w_ksiazce,tab_lista_zmiennych_w_artykule=p:TabelaListyStronWoluminu(frame,tabela_listy_danych_analizy_ksiazki); spis_tresci=tab_lista_artykulow_w_ksiazce.nazwa_bazowego_spisu; inne_spisy=tab_lista_artykulow_w_ksiazce.tab_inne_spisy; dodatkowe_artykuly=tab_lista_artykulow_w_ksiazce.dodatkowe_strony_woluminu; end; if(not tab_lista_artykulow_w_ksiazce_spis)then return nil;end; local args=p:Args(); local parametry_modul=require("Module:Parametry"); local czy_naglowek=parametry_modul.CzyTak(args["nagłówek"]); local tab_artykulow=(not czy_naglowek) and {} or nil; local tab_listy_artykulow={}; local tab_listy_artykulow_spis={}; local czy_inne_spisy=false; local html_modul=require("Module:Html"); local nazwa_tabeli_danego_spisu_tresci=args["spis"]; if(nazwa_tabeli_danego_spisu_tresci)then local techniczne_modul=require("Module:Techniczne"); nazwa_tabeli_danego_spisu_tresci=html_modul.DecodeHtml(nazwa_tabeli_danego_spisu_tresci,true); nazwa_tabeli_danego_spisu_tresci=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](nazwa_tabeli_danego_spisu_tresci); nazwa_tabeli_danego_spisu_tresci=parametry_modul["Odstępy"]{[1]=nazwa_tabeli_danego_spisu_tresci,[2]="tak",}; nazwa_tabeli_danego_spisu_tresci=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"](nazwa_tabeli_danego_spisu_tresci,""); local nazwa_ksiazki=p:KompletnaNazwaWoluminu(frame) local nazwa_artykulu=nazwa_ksiazki.."/"..nazwa_tabeli_danego_spisu_tresci; local strona=techniczne_modul.PrzekierowanieDoStrony(nazwa_artykulu); if(strona)then local nazwy_modul=require("Module:Nazwy"); nazwa_tabeli_danego_spisu_tresci=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](strona); end; end; local czy_dany_spis=nil; for m,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce_spis)do local poziom_rozdzialu=tab_lista[1][2][1]; local nazwa_spisu=nil; if(((m==1)and(not poziom_rozdzialu))or((m>0)and(poziom_rozdzialu)and(poziom_rozdzialu==1)))then local spis=tab_lista[1]["spis"]; nazwa_spisu=spis and spis[1] or nil; ---- if(not nazwa_tabeli_danego_spisu_tresci)then if(nazwa_spisu)then if(not tab_listy_artykulow["spis"])then tab_listy_artykulow["spis"]={};end; local spis_artykulow=tab_listy_artykulow["spis"]; spis_artykulow[nazwa_spisu]={}; tab_listy_artykulow_spis=spis_artykulow[nazwa_spisu]; czy_inne_spisy=true; else local dodatkowe=tab_lista[1]["dodatkowe"]; if(dodatkowe)then tab_listy_artykulow["dodatkowe"]={}; tab_listy_artykulow_spis=tab_listy_artykulow["dodatkowe"]; czy_inne_spisy=true; end; end; else if(nazwa_spisu)then if(nazwa_spisu==nazwa_tabeli_danego_spisu_tresci)then czy_dany_spis=true; else if(czy_dany_spis)then czy_dany_spis=nil; break; else czy_dany_spis=nil; end; end; end; end; end; if((tab_lista[2])and((not nazwa_tabeli_danego_spisu_tresci)or((nazwa_tabeli_danego_spisu_tresci)and(czy_dany_spis))))then local pomin_pozycje=true; for _,artykul_w_bazie in ipairs(tab_lista[2])do if((not pomin_pozycje)or(not nazwa_spisu))then local czy_table_baza_artykulu=p.CzyTabelaStronyWoluminuSpisuRzeczy(artykul_w_bazie[1]); local artykul=czy_table_baza_artykulu and artykul_w_bazie[1][1] or artykul_w_bazie[1]; ---- artykul=p.UzyskanieTylkoNazwyLubTabeliNazwyLinkuStronyWoluminuZTabeliZParametramiOrazIdentyfikatorem(artykul,czy_naglowek); ---- if(czy_naglowek or (not tab_artykulow[artykul]))then if(not czy_naglowek)then tab_artykulow[artykul]=true;end; local nazwa=czy_table_baza_artykulu and artykul_w_bazie[1][2] or nil; local przekierowanie=czy_table_baza_artykulu and artykul_w_bazie[1][3] or nil; local pelna_nazwa_ksiazki=czy_table_baza_artykulu and artykul_w_bazie[1][4] or nil; table.insert(tab_listy_artykulow_spis,(nazwa or przekierowanie or pelna_nazwa_ksiazki) and {artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki,} or artykul); end; else pomin_pozycje=false; end; end; end; end; local stronicowyparser_modul=require("Module:StronicowyParser"); local parametry_modul=require("Module:Parametry"); --local spis_tresci,inne_spisy,dodatkowe_artykuly=nazwa_glownego_spisu,tab_inne_spisy,tab_dodatkowe_artykuly; if((nazwa_tabeli_danego_spisu_tresci)or(((not inne_spisy) or(not parametry_modul["CzySąElementyNumerowaneTablicy"](inne_spisy))) and((not dodatkowe_artykuly) or(not parametry_modul["CzySąElementyNumerowaneTablicy"](dodatkowe_artykuly))) ))then local tablica_spisu_glownego; if(not nazwa_tabeli_danego_spisu_tresci)then if(czy_inne_spisy)then local czy_table_spis_tresci=parametry_modul.TypeTable(spis_tresci); local tab_listy_artykulow_spis=tab_listy_artykulow["spis"] or {}; tablica_spisu_glownego=tab_listy_artykulow_spis[czy_table_spis_tresci and spis_tresci[1] or spis_tresci]; else tablica_spisu_glownego=tab_listy_artykulow_spis; end; else tablica_spisu_glownego=tab_listy_artykulow_spis; end; local iter_glowny=parametry_modul.IteratorPoNumerowanychElementachTablicy(tablica_spisu_glownego); return function() local wartosc=iter_glowny(); if(not wartosc)then return nil;end; local czy_table_wartosc=p.CzyTabelaStronyWoluminuSpisuRzeczy(wartosc); local artykul=czy_table_wartosc and wartosc[1] or ((not czy_table_wartosc) and wartosc or nil); local nazwa=czy_table_wartosc and wartosc[2] or nil; local przekierowanie=czy_table_wartosc and wartosc[3] or nil; local pelna_nazwa_ksiazki=czy_table_wartosc and wartosc[4] or nil; return artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki; end; end; local wykorzystane_spisy={}; local iter_innych_spisow=parametry_modul.IteratorPoNumerowanychElementachTablicy(inne_spisy or {}); local czy_dodatkowe_zaanalizowane=false; local function IteratorMain(wartosc,numer) ---- local tabela_spisu_spis=tab_listy_artykulow["spis"] or {}; local tabela_spisu=tabela_spisu_spis[wartosc]; if(tabela_spisu)then if((wykorzystane_spisy)and(wykorzystane_spisy[wartosc]))then tabela_spisu=nil; else wykorzystane_spisy[wartosc]=true; end; end; local iter=parametry_modul.IteratorPoNumerowanychElementachTablicy(tabela_spisu or {}); ---- local tak=nil; local iter2=nil; local function Iterator() local function IterMain() local wartosc=iter(); local artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki; if(not wartosc)then if(numer~=0)then return nil; else local function InneSpisy() --if(aa<10)then return nil;end; local spis=iter_innych_spisow(); if(not spis)then if(czy_dodatkowe_zaanalizowane)then return nil;end; local tabela_spisu_spis=tab_listy_artykulow["dodatkowe"]; if((not tabela_spisu_spis)or(not parametry_modul["CzySąElementyNumerowaneTablicy"](tabela_spisu_spis)))then return nil;end; iter=parametry_modul.IteratorPoNumerowanychElementachTablicy(tabela_spisu_spis or {}); czy_dodatkowe_zaanalizowane=true; wartosc=iter(); return true; end; local czy_table_spis=parametry_modul.TypeTable(spis); local spis_artykul=czy_table_spis and spis[1] or spis; if(not wykorzystane_spisy[spis_artykul])then wykorzystane_spisy[spis_artykul]=true; local tabela_spisu_spis=tab_listy_artykulow["spis"] or {}; local tabela_spisu=tabela_spisu_spis[spis_artykul]; if(tabela_spisu)then iter=parametry_modul.IteratorPoNumerowanychElementachTablicy(tabela_spisu or {}); wartosc=iter(); if(not wartosc)then return InneSpisy(); end; else return InneSpisy(); end; else return InneSpisy(); end; return true; end; local koniec=InneSpisy(); if(not koniec)then return nil;end; end; end; ---- local czy_table_wartosc=p.CzyTabelaStronyWoluminuSpisuRzeczy(wartosc); artykul=czy_table_wartosc and wartosc[1] or ((not czy_table_wartosc) and wartosc); nazwa=czy_table_wartosc and wartosc[2] or nil; przekierowanie=czy_table_wartosc and wartosc[3] or nil; pelna_nazwa_ksiazki=czy_table_wartosc and wartosc[4] or nil; ---- artykul=p.TylkoNazwaStronyWoluminuZTabeliPublikacji(artykul); ---- tak=true; iter2=IteratorMain(artykul,numer+1); return artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki; end; if(not tak)then local artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki=IterMain(); return artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki; else local artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki=iter2(); if(not artykul)then tak=nil; local artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki=IterMain(); return artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki; else return artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki; end; end; end; return Iterator; end; local czy_table_spis_tresci=parametry_modul.TypeTable(spis_tresci); return IteratorMain(czy_table_spis_tresci and spis_tresci[1] or spis_tresci,0); end; function p.OdpowiednikNaPrzemianArtykularnychStronWoluminu(tab_lista_artykulow_w_ksiazce_spis,nazwa_glownego_spisu,tab_inne_spisy,dodatkowe_artykuly,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,co_ma_wykrywac) local frame=mw.getCurrentFrame(); local nazwy_modul=require("Module:Nazwy"); local techniczne_modul=require("Module:Techniczne"); local iterator=p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji(frame,nil,tab_lista_artykulow_w_ksiazce_spis,nazwa_glownego_spisu,tab_inne_spisy,dodatkowe_artykuly); for nazwa_artykulu_w_bazie,nazwa,przekierowanie_w_bazie,pelna_nazwa_ksiazki in iterator do if(pelna_nazwa_ksiazki)then if(co_ma_wykrywac)then if((pelna_nazwa_ksiazki[1]==nazwa_przestrzeni)and(pelna_nazwa_ksiazki[2]==nazwa_przestrzeni_ksiazki)and(pelna_nazwa_ksiazki[3]==nazwa_ksiazki))then local czy_przekierowanie=pelna_nazwa_ksiazki[6]; if(czy_przekierowanie)then local przekierowanie=p.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(przekierowanie_w_bazie,false); if(pelna_nazwa_ksiazki[5])then if(nazwa_artykulu==przekierowanie)then local nazwa_artykulu_strony=p.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(nazwa_artykulu_w_bazie,false); return nazwa_artykulu_strony,1; end; else if((nazwa_artykulu==przekierowanie))then local nazwa_artykulu_strony=p.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(nazwa_artykulu_w_bazie,false); return nazwa_artykulu_strony,2; end; end; else local nazwa_modulu=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); local ile,_=techniczne_modul.PoliczZbiory{[1]=nazwa_modulu,}; if(ile>0)then return nazwa_artykulu,3; else return nazwa_artykulu,4; end; end; end; end; else if(not co_ma_wykrywac)then local przekierowanie=p.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(przekierowanie_w_bazie,false); if(przekierowanie)then if(nazwa_artykulu==przekierowanie)then local nazwa_artykulu_strony=p.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(nazwa_artykulu_w_bazie,false); return nazwa_artykulu_strony,1; else local nazwa_artykulu_strony=p.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(nazwa_artykulu_w_bazie,false); if(nazwa_artykulu==nazwa_artykulu_strony)then return przekierowanie,2; end; end; else local nazwa_artykulu_strony=p.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(nazwa_artykulu_w_bazie,false); if(nazwa_artykulu==nazwa_artykulu_strony)then return nazwa_artykulu,3; end; end; end; end; end; end; function p.ObliczeniaInformacje(self,frame) local iterator=p.IteratorPoStronachWoluminuEwentualnieWedleAutonawigacji(frame,tabela_listy_danych_analizy_ksiazki); if (not iterator)then return nil;end; ---- self.tab_artykul={}; ---- for artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki in iterator do table.insert(self.tab_artykul, (nazwa or przekierowanie or pelna_nazwa_ksiazki) and {artykul,nazwa,przekierowanie,pelna_nazwa_ksiazki,} or artykul); end; self.len_tab_artykul=#self.tab_artykul; return true; end; function p.UsuwanieElementowePoziomoweZTablicy(tablica,numer) if(numer==0)then return tablica,0;end; local s=0; for i=#tablica,1,-1 do local artykul=tablica[i][1]; local numer_artykulu_w_bazie=p.PoziomAdresu(artykul); if(numer~=numer_artykulu_w_bazie)then table.remove(tablica,i); s=s+1; end; end; return tablica,s; end; function p.LosowaStronaBezPierwszejOrazOstatniejStronyWoluminu(self,frame,numer) local tab_artykul;local s; if(numer>0)then local parametry_modul=require("Module:Parametry"); tab_artykul=parametry_modul["KopiujTabelęElementów"](self.tab_artykul); tab_artykul,s=p.UsuwanieElementowePoziomoweZTablicy(tab_artykul,numer); else tab_artykul=self.tab_artykul; s=0; end; local numer_pomiedzy_artykul=tonumber(frame.args[1]) or 1; local reszta_pomiedzy_artykul=math.fmod(numer_pomiedzy_artykul,#tab_artykul-2); local artykul=tab_artykul[reszta_pomiedzy_artykul+2]; return artykul; end; function p.LosowaStronaWoluminu(self,frame,numer) local tab_artykul;local s; if(numer>0)then local parametry_modul=require("Module:Parametry"); tab_artykul=parametry_modul["KopiujTabelęElementów"](self.tab_artykul); tab_artykul,s=p.UsuwanieElementowePoziomoweZTablicy(tab_artykul,numer); else tab_artykul=self.tab_artykul; s=0; end; local numer_pomiedzy_artykul=tonumber(frame.args[1]) or 1; local reszta_pomiedzy_artykul=math.fmod(numer_pomiedzy_artykul,#tab_artykul); local artykul=tab_artykul[reszta_pomiedzy_artykul+1]; return artykul; end; function p.RozwijanieZakodowanejNazwySzablonu(nazwa_szablonu,tabela_modyfikatorow,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) local szablonowe_modul=require("Module:Szablonowe"); local function RozwinSzablon(nazwa_szablonu,tabela_modyfikatorow,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) if((szablonowe_modul.CzyModyfikatoryInstrukcjiWarunkowychSzablonowych(tabela_modyfikatorow)) or (szablonowe_modul.CzyModyfikatoryCharakterystyczneSzablonowe(tabela_modyfikatorow)) )then return nil,false; end; local nazwa_szablonu_temp,czy_powodzenie=p.DekodowanieNazwySzablonu(nazwa_szablonu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,true); if(not czy_powodzenie)then return nil,false; end; nazwa_szablonu=nazwa_szablonu_temp or nazwa_szablonu; return nazwa_szablonu,true; end; nazwa_szablonu=RozwinSzablon(nazwa_szablonu,tabela_modyfikatorow,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) or nazwa_szablonu; return nazwa_szablonu; end; function p.TOCSilnik(frame,lista_elementow_spisu_tresci, atrybuty,bez_przypisow) if(lista_elementow_spisu_tresci==nil)then return nil;end; local twor_listy=""; local liczba_ulozenia_w_menu_spisu_tresci=lista_elementow_spisu_tresci[1][2]; local poziom=1; local num={}; local nazwa_strony_z_naglowkami=lista_elementow_spisu_tresci.nazwa_strony or ""; local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty"); for licznik, element_w_tablicy in ipairs(lista_elementow_spisu_tresci) do local czy_w_tym_szablony=mw.ustring.match(element_w_tablicy[1][1],"{{[^{}]+}}"); local adres=element_w_tablicy[1][1]; local naglowek=element_w_tablicy[1][2]; local czy_przypis=(bez_przypisow and stronicowyparser_obiekty_modul.napisy_wprowadzenia_tekstu_przypisowych[naglowek] or nil); if(czy_w_tym_szablony)then local specjalne_modul=require("Module:Specjalne"); adres=specjalne_modul["PrzetwórzNagłówek"](adres,true); naglowek=specjalne_modul["PrzetwórzNagłówek"](naglowek,false); end; adres=nazwa_strony_z_naglowkami.."#"..adres; ---- if(licznik==1)then num[#num+1]=1; twor_listy=(atrybuty and '<ul '..atrybuty..'>' or '<ul>')..'<li '..(czy_przypis and ('style="display:none;" ') or "")..'class=\"toclevel-1 tocsection-1\">'.."[["..adres.."|<span class=\"tocnumber\">"..table.concat(num,".").."</span><span class=\"toctext\">"..naglowek.."</span>]]"; else if(element_w_tablicy[2]==liczba_ulozenia_w_menu_spisu_tresci)then num[#num]=num[#num]+1; twor_listy=twor_listy..'</li><li '..(czy_przypis and ('style="display:none;" ') or "")..'class="toclevel-'..poziom..' tocsection-'..licznik..'">'.."[["..adres.."|<span class=\"tocnumber\">"..table.concat(num,".").."</span><span class=\"toctext\">"..naglowek.."</span>]]"; elseif(element_w_tablicy[2]>liczba_ulozenia_w_menu_spisu_tresci)then num[#num+1]=1; poziom=poziom+1; twor_listy=twor_listy..'<ul><li '..(czy_przypis and ('style="display:none;" ') or "")..'class="toclevel-'..poziom..' tocsection-'..licznik..'">'.."[["..adres.."|<span class=\"tocnumber\">"..table.concat(num,".").."</span><span class=\"toctext\">"..naglowek.."</span>]]"; liczba_ulozenia_w_menu_spisu_tresci=element_w_tablicy[2]; elseif(element_w_tablicy[2]<liczba_ulozenia_w_menu_spisu_tresci)then local num_length=#num; for i=num_length,num_length-liczba_ulozenia_w_menu_spisu_tresci+element_w_tablicy[2]+1,-1 do table.remove(num); end; num[#num]=num[#num]+1; local roznica_poziomow=liczba_ulozenia_w_menu_spisu_tresci-element_w_tablicy[2]; poziom=poziom-roznica_poziomow; twor_listy=twor_listy..mw.ustring.rep('</li></ul>',roznica_poziomow)..'</li><li '..(czy_przypis and ('style="display:none;" ') or "")..'class="toclevel-'..poziom..' tocsection-'..licznik..'">' .."[["..adres.."|<span class=\"tocnumber\">"..table.concat(num,".").."</span><span class=\"toctext\">"..naglowek.."</span>]]"; liczba_ulozenia_w_menu_spisu_tresci=element_w_tablicy[2]; end; end; end; twor_listy=twor_listy..mw.ustring.rep('</li></ul>',liczba_ulozenia_w_menu_spisu_tresci or 0); return twor_listy; end; function p.TOC(frame,lista_elementow_spisu_tresci,czy_nie_aktualny,rozciagnij) local frame=frame or mw.getCurrentFrame(); local parametry_modul=require("Module:Parametry"); local PobierzParametr=parametry_modul.PobierzParametr(frame,true); local bez_przypisow=PobierzParametr("bez przypisów"); bez_przypisow=parametry_modul.CzyTak(bez_przypisow); local twor_listy=p.TOCSilnik(frame,lista_elementow_spisu_tresci,nil,bez_przypisow); local toc_czy_tocramka=PobierzParametr("toc");toc_czy_tocramka=parametry_modul.CzyTak(toc_czy_tocramka); if(not toc_czy_tocramka)then local czy_ukryte=twor_listy; local funkcja=PobierzParametr("funkcja") or "UkrytaWikitabelowaListaMenu"; local wysokosc=PobierzParametr("wysokość");wysokosc=parametry_modul.CzyTak(wysokosc) and wysokosc or "43.75rem"; local szerokosc=PobierzParametr("szerokość");szerokosc=parametry_modul.CzyTak(szerokosc)and szerokosc or "100%"; local spis_tresci=PobierzParametr("spis treści");spis_tresci=parametry_modul.CzyTak(spis_tresci)and spis_tresci or "Spis treści"; local bez_not_overflow_x=PobierzParametr("bez pasków poziomych przewijania");bez_not_overflow_x=parametry_modul.CzyTak(bez_not_overflow_x); local spis_artykulu=PobierzParametr("spis artykułu");spis_artykulu=parametry_modul.CzyTak(spis_artykulu); local czy_bez_arginesu_dolnego=PobierzParametr("bez marginesu dolnego");czy_bez_arginesu_dolnego=parametry_modul.CzyTak(czy_bez_arginesu_dolnego); local z_marginesami_ramki=PobierzParametr("z marginesami ramki");local czy_z_marginesami_ramki=parametry_modul.CzyTak(z_marginesami_ramki); local zawartosc_z_marginesami=PobierzParametr("zawartość z marginesami");local czy_zawartosc_z_marginesami=parametry_modul.CzyTak(zawartosc_z_marginesami); local maxwidth=PobierzParametr("max-width"); local czy_maxwidth=((maxwidth)and(maxwidth~="none"))and tonumber(mw.ustring.match(maxwidth,"^(%d+)%a+$")) or nil; local klasa=PobierzParametr("klasa"); twor_listy='<div class="toc_ogólnie_spis '..(not czy_nie_aktualny and 'toc_spis' or 'toc_inny_spis')..' mw-overflow-x mw-overflow-y '..((not bez_not_overflow_x) and ("mw-not-overflow-x") or "")..'" style="'..(czy_zawartosc_z_marginesami and ("padding:"..zawartosc_z_marginesami)..";" or "")..(czy_maxwidth and ('max-width:'..maxwidth..";") or '')..'width:'..szerokosc..';max-height:'..wysokosc..';overflow:auto;padding-right:3px;box-sizing:border-box;">'..(czy_ukryte or "<ul></ul>").."</div>"; local wikikod_menu='{{Tabela nawigacyjna|styl='..((czy_z_marginesami_ramki) and ("margin:"..z_marginesami_ramki)..";" or "")..((czy_bez_arginesu_dolnego) and 'margin-bottom:0;' or "")..'font-size:1em;background-color:white;line-height:1.2em;width:'..(rozciagnij and "100%" or "auto")..';box-sizing:border-box'..(spis_artykulu and ';border:#aaa 1px solid' or '')..'|tytuł=<div class="tytuł_spisu_treści" style="text-align:left;font-size:1em;background-color:white;line-height:1.2em;'..(spis_artykulu and ';border-bottom:#aaa 1px solid' or '')..';white-space:nowrap;min-width:8.125em;">'..spis_tresci..'</div>|spis='..twor_listy..'|funkcja='..funkcja..'|klasa=spis_treści'..(klasa and (" "..klasa) or '')..'}}'; local rozwiniety_wikikod=frame:preprocess(wikikod_menu); return rozwiniety_wikikod; else return (twor_listy and ('\n<div style="color: #000;font-family: \'Linux Libertine\',\'Georgia\',\'Times\',serif;font-weight: normal;font-size:2.2em;border-bottom:1px solid #a2a9b1;line-height: 1.3;margin-top:1em;margin-bottom:0.25em">Spis treści</div>\n<div class="toc_ogólnie_spis '..(not czy_nie_aktualny and 'toc_spis' or 'toc_inny_spis')..'" style="margin-left:1em;font-size:1em;line-height:1.4;">'..twor_listy..'</div>') or ""); end; end; function p.AnalizaSzablonuStronicowegoParsera(self,uzyskano_w_wyniku_parsowania_wywolanie_szablonu,obiekt,kod,nazwa_modulu,tablica_danych_parametrow_szablonu_strony,__Funkcja, __Funkcja2) if(obiekt~="SZABLON")then return;end; --uzyskano_w_wyniku_parsowania_wywolanie_szablonu=mw.ustring.gsub(uzyskano_w_wyniku_parsowania_wywolanie_szablonu,"\n+",""); --local tablica_obiektow_strony=self.tablica_obiektow_strony[nazwa_modulu]; ---- local szablonowe_modul=require("Module:Szablonowe"); ---- local function GlownaFunkcja(wywolanie,obiekt,kod) local wynik=szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(wywolanie,tablica_danych_parametrow_szablonu_strony,kod,nazwa_modulu,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow) __Funkcja(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,wywolanie); if(__Funkcja2)then __Funkcja2(wywolanie,obiekt,kod,tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,uzyskano_w_wyniku_parsowania_wywolanie_szablonu); end; end); end; GlownaFunkcja(uzyskano_w_wyniku_parsowania_wywolanie_szablonu,obiekt,kod); end; function p.UzyskanieTylkoNazwyLubTabeliNazwyLinkuStronyWoluminuZTabeliZParametramiOrazIdentyfikatorem(artykul,czy_naglowek) local parametry_modul=require("Module:Parametry"); if((parametry_modul.TypeTable(artykul))and(artykul["LINK"]))then if(not czy_naglowek)then return artykul[1]; else return artykul; end; end; return artykul; end; function p.CzyTabelaStronyWoluminuSpisuRzeczy(tab_artykul) local parametry_modul=require("Module:Parametry"); local czy_table_baza_artykulu=parametry_modul.TypeTable(tab_artykul); if((czy_table_baza_artykulu)and(tab_artykul["LINK"]))then return false;end; return czy_table_baza_artykulu; end; function p.TylkoNazwaStronyWoluminuZTabeliPublikacji(tab_artykulu,pomin_link) local parametry_modul=require("Module:Parametry"); if((parametry_modul.TypeTable(tab_artykulu))and(pomin_link or tab_artykulu["LINK"]))then return tab_artykulu[1];end; return tab_artykulu; end; function p.TylkoStronaWoluminuBezParametrowOrazReferencji(tab_artykulu) local parametry_modul=require("Module:Parametry"); if((parametry_modul.TypeTable(tab_artykulu))and(tab_artykulu["LINK"]))then return nil;end; return tab_artykulu; end; function p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(nazwa_artykulu_strony,parametry,naglowek,tab_innej_przekierowania_strony) local parametry_modul=require("Module:Parametry"); parametry=parametry_modul.CzyTak(parametry) and parametry or nil; naglowek=parametry_modul.CzyTak(naglowek) and naglowek or nil; return (parametry or naglowek or tab_innej_przekierowania_strony) and {nazwa_artykulu_strony,parametry,naglowek,["LINK"]=true,tab_innej_przekierowania_strony,} or nazwa_artykulu_strony; end; function p.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(tab_artykul,naglowek,pomin_link) local parametry_modul=require("Module:Parametry"); if(parametry_modul.TypeTable(tab_artykul))then if(pomin_link or tab_artykul["LINK"])then local nazwa_artykulu_strony=tab_artykul[1]; if(naglowek)then local parametry=tab_artykul[2]; local naglowek=tab_artykul[3]; return nazwa_artykulu_strony..(parametry and ("?"..parametry) or "")..(naglowek and ("#"..naglowek) or ""); else return nazwa_artykulu_strony; end; else return tab_artykul; end; else return tab_artykul; end; end; function p.DekodowanieTekstu(tekst,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,czy_nie_odstepy) if(not tekst)then return tekst;end; local szablonowe_modul=require("Module:Szablonowe"); tekst=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(tekst,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul); local html_modul=require("Module:Html"); tekst=html_modul.DecodeHtml(tekst,true,nil,nil,czy_nie_odstepy); return tekst; end; function p.DekodowanieNazwySzablonu(nazwa_szablonu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,czy_uwzgledniac_modyfikatory) ---- local szablonowe_modul=require("Module:Szablonowe"); local czy_kodowanie=mw.ustring.match(nazwa_szablonu,szablonowe_modul.NormaWzoruKodowaniaTekstu()); if(not czy_kodowanie)then return nil,true;end; if(not czy_uwzgledniac_modyfikatory)then local czy_modyfikatory=mw.ustring.match(nazwa_szablonu,"^[%s_]*#[%s_]*%a+[%s_]*:"); if(czy_modyfikatory)then return nil,false;end; end; local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty"); local tab_szablony=stronicowyparser_obiekty_modul.szablony_stronicowego_parsera.szablony_kontenerowe; --local tab_naglowki=stronicowyparser_obiekty_modul.szablony_stronicowego_parsera.szablony_wprowadzenia_tekstu; --local tab_tekst=stronicowyparser_obiekty_modul.szablony_stronicowego_parsera.szablony_tekstu; local tab_szablony_stronicowe_niekontenerowe=stronicowyparser_obiekty_modul.szablony_stronicowe_niekontenerowe; --- local tab_szablony_stronicowe_kontenerowe_formatowania_wzorowego=stronicowyparser_obiekty_modul.szablony_stronicowe_kontenerowe_formatowania_wzorowego; ---- local tab_szablony_strona_zbiorcza=stronicowyparser_obiekty_modul.strona_zbiorcza ---- local tab_szablony_strona_start=stronicowyparser_obiekty_modul.szablony_stronicowe_formatowania_tekstu; ---- local techniczne_modul=require("Module:Techniczne"); local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); local czy_szablon_wszystko=false; local nazwa_szablonu=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstuBezPewnychSzablonowychNormZgodnieZJegoSzablonowymiElementami(nazwa_szablonu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,function(szablon,obiekt,kod,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) if(obiekt=="SZABLON")then local wynik,jaki_wynik=szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,nazwa_modulu,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) if((tab_szablony[nazwa_szablonu]) ---or(tab_naglowki[nazwa_szablonu]) --or(tab_tekst[nazwa_szablonu] or(tab_szablony_stronicowe_niekontenerowe[nazwa_szablonu]) or(tab_szablony_stronicowe_kontenerowe_formatowania_wzorowego[nazwa_szablonu]) or(tab_szablony_strona_zbiorcza[nazwa_szablonu]) or(tab_szablony_strona_start[nazwa_szablonu]) )then return nil,false;end; for _,nazwa_modulu_lua in ipairs(stronicowyparser_obiekty_modul.tablica_nazw_ramek_lua)do if((nazwa_szablonu==nazwy_np_modul.Module..":"..nazwa_modulu_lua) or(mw.ustring.match(nazwa_szablonu,'^'..nazwy_np_modul.Module..":"..techniczne_modul["PrzekształćWzórDoCzystegoTekstu"](nazwa_modulu_lua).."/")) )then return nil,false; end; end; return true,true; end); czy_szablon_wszystko=czy_szablon_wszystko or ((jaki_wynik==nil)and true or jaki_wynik); return wynik; end; return true; end); if(czy_szablon_wszystko)then local frame=mw.getCurrentFrame(); nazwa_szablonu=frame:preprocess(nazwa_szablonu); end; return nazwa_szablonu,true; end; function p.SzablonyPrzekierowanioweInteligentne(nazwa_szablonu) local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty"); local nazwy_szablonowe_kolidacja=stronicowyparser_obiekty_modul.nazwy_szablonowe_kolidacja; if(nazwy_szablonowe_kolidacja[nazwa_szablonu])then return nazwa_szablonu,false;end; local nazwa_linku=stronicowyparser_obiekty_modul.przekierowania_szablonowe_linkowe_inteligentne_inne[nazwa_szablonu]; if(nazwa_linku)then return nazwa_linku,true;end; local litery_przestrzeni_kolidacja=stronicowyparser_obiekty_modul.litery_przestrzeni_kolidacja; local link,prze,ustep,dwa=mw.ustring.match(nazwa_szablonu,"^(%a)(%a)(%a?)(%d?)$"); if((link)and(link=="L"))then if((ustep=="")or(ustep=="u"))then prze=litery_przestrzeni_kolidacja[prze] or prze; local przez_literowa=stronicowyparser_obiekty_modul.nazwy_przestrzeni_nazw_przekierowaniowe_linkowe_inteligentne[prze]; if(przez_literowa)then local nazwa="Link"..przez_literowa..((ustep~="")and "Ustęp" or "")..dwa; return nazwa,true; end; if(ustep=="")then if(prze=="u")then return "LinkUstęp"..dwa,true;end; if(prze=="o")then return "LinkOgólne"..dwa,true;end; end; else local projektowe_literowe=stronicowyparser_obiekty_modul.nazwy_projektowe_serwisy_linkowe_inteligentne[prze]; if(projektowe_literowe)then ustep=litery_przestrzeni_kolidacja[ustep] or ustep; local prze_literowa=stronicowyparser_obiekty_modul.nazwy_przestrzeni_nazw_przekierowaniowe_linkowe_inteligentne[ustep]; if(prze_literowa)then return "Link"..projektowe_literowe..prze_literowa..dwa,true; end; end; end; return nazwa_szablonu,false; else local link,projekt,prze,ustep,dwa=mw.ustring.match(nazwa_szablonu,"^(%a)(%a)(%a)(%a?)(%d?)$"); if((link)and(link=="L"))then if((ustep=="")or(ustep=="u"))then local projektowe_literowe=stronicowyparser_obiekty_modul.nazwy_projektowe_serwisy_linkowe_inteligentne[projekt]; if(projektowe_literowe)then prze=litery_przestrzeni_kolidacja[prze] or prze; local prze_literowa=stronicowyparser_obiekty_modul.nazwy_przestrzeni_nazw_przekierowaniowe_linkowe_inteligentne[prze]; if(prze_literowa)then return "Link"..projektowe_literowe..prze_literowa..((ustep~="") and "Ustęp" or "")..dwa,true; end; end; end; end; return nazwa_szablonu,false; end; end; function p.PodzielNaElementyNazwowyWikiLinkInteligentny(nazwa,tablica_danych_parametrow_szablonu_strony,kod,czy_liczyc_przekierowanie) if((tablica_danych_parametrow_szablonu_strony)and(kod))then local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[0]; if(tablica_danych_parametrow_szablonu_strony_numer)then local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod]; if(tablica_danych_parametrow_szablonu_strony_numer_kod)then return tablica_danych_parametrow_szablonu_strony_numer_kod.tablica_analizy_linku; end; end; end; nazwa=(not czy_liczyc_przekierowanie)and p.SzablonyPrzekierowanioweInteligentne(nazwa) or nazwa; local function AnalizaSzablonowaLinku() local nazwa,dwa=mw.ustring.match(nazwa,"^Link(%a+)(2?)$"); if(not nazwa)then return;end; if(dwa=="")then dwa=nil;else dwa=true;end; local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty"); ---- local tab_przestrzen=stronicowyparser_obiekty_modul.kody_szablony_linkowe_przestrzenne; local tab_jezyk=stronicowyparser_obiekty_modul.kody_szablony_linkowe_dialektu; local tab_projektowe=stronicowyparser_obiekty_modul.kody_szablony_linkowe_projektowe; ---- local nazwa_nowa,ustep_nowa=mw.ustring.match(nazwa,"^(.+)(Ustęp)$") nazwa=nazwa_nowa or nazwa; local czy_ustep=ustep_nowa and true or false; local przestrzen=mw.ustring.match(nazwa,"^(%u%l+)$"); if(przestrzen)then local przestrzenne=tab_przestrzen[przestrzen]; if(przestrzenne)then return {przestrzenne[1],przestrzenne[2],nil,czy_ustep,dwa,}; end; end; ---- local jezyk,przestrzen=mw.ustring.match(nazwa,"^(%u%l+)(%u%l+)$"); if(jezyk and przestrzen)then local jezykowe=tab_jezyk[jezyk];local przestrzenne=tab_przestrzen[przestrzen]; if(jezykowe and przestrzenne)then return {przestrzenne[1],przestrzenne[2],jezykowe,czy_ustep,dwa,}; end; ---- local projektowe=tab_projektowe[jezyk]; if(projektowe and przestrzenne)then return {przestrzenne[1],projektowe or przestrzenne[2],czy_ustep,nil,dwa,}; end; end; ----- local jezyk,projekt,przestrzen=mw.ustring.match(nazwa,"^(%u%l+)(%u%l+)(%u%l+)$"); if(jezyk and projekt and przestrzen)then local jezykowe=tab_jezyk[jezyk];local projektowe=tab_projektowe[projekt];local przestrzenne=tab_przestrzen[przestrzen] if(jezykowe and projektowe and przestrzenne)then return {przestrzenne[1], projektowe or przestrzenne[2],jezykowe,czy_ustep,dwa,} end; local projektowe=tab_projektowe[jezyk..projekt]; if(projektowe and przestrzenne)then return {przestrzenne[1],projektowe or przestrzenne[2],nil,czy_ustep,dwa,}; end; end; return nil; end; local wynik=AnalizaSzablonowaLinku(); if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[0])then tablica_danych_parametrow_szablonu_strony[0]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[0]; if(not tablica_danych_parametrow_szablonu_strony_numer[kod])then tablica_danych_parametrow_szablonu_strony_numer[kod]={};end; local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod]; tablica_danych_parametrow_szablonu_strony_numer_kod.tablica_analizy_linku=wynik; end; return wynik; end; function p.NazwaInnegoSzablonowegoLinkowegoObiektu(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,tablica_danych_parametrow_szablonu_strony,kod) if((tablica_danych_parametrow_szablonu_strony)and(kod))then local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[-7]; if(tablica_danych_parametrow_szablonu_strony_numer)then local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod]; if(tablica_danych_parametrow_szablonu_strony_numer_kod)then return tablica_danych_parametrow_szablonu_strony_numer_kod.szereg_znakowy; end; end; end; --local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty"); --local tab_szablony_inteligentne=stronicowyparser_obiekty_modul.kody_inne_szablony_linkowe_inteligentne; local nazwa_zamiast_linku; nazwa_szablonu=p.SzablonyPrzekierowanioweInteligentne(nazwa_szablonu); if(nazwa_szablonu=="Sekcja referencyjna")then local nazwa=tabela_parametrow_szablonu["nazwa"] or tabela_parametrow_szablonu[2]; if(nazwa)then return nazwa;end; local strona=tabela_parametrow_szablonu["strona"] or tabela_parametrow_szablonu[1]; local parametry_modul=require("Module:Parametry"); local czy_strona=parametry_modul.CzyTak(strona) and true or false; if(not czy_strona)then local nazwy_modul=require("Module:Nazwy"); strona=nazwy_modul["PEŁNANAZWAKSIĄŻKI"](); end; local ustep=tabela_parametrow_szablonu["ustęp"]; local sekcja_referencyjna_modul=require("Module:Sekcja referencyjna"); local czy_ustep=parametry_modul.CzyTak(ustep); if(not czy_strona)then czy_ustep=not czy_ustep;end; nazwa_zamiast_linku=sekcja_referencyjna_modul.Indentyfikator_lub_podstrona_wikiadresu_strony(strona,czy_ustep); elseif(nazwa_szablonu=="Link wewnętrzny")then nazwa_zamiast_linku=tabela_parametrow_szablonu["nazwa"] or (tabela_parametrow_szablonu["strona"] or "")..(tabela_parametrow_szablonu["nagłówek"]and("#"..tabela_parametrow_szablonu["nagłówek"]) or "") elseif(nazwa_szablonu=="LinkOgólne")then nazwa_zamiast_linku=tabela_parametrow_szablonu[2] or tabela_parametrow_szablonu[1]; elseif(nazwa_szablonu=="SpisTreści")then local nazwa=(tabela_parametrow_szablonu["nazwa"] or tabela_parametrow_szablonu[3] or tabela_parametrow_szablonu["artykuł"] or tabela_parametrow_szablonu[1]); if(nazwa)then local dodatek=tabela_parametrow_szablonu["dodatek"] or tabela_parametrow_szablonu[4]; if(dodatek)then dodatek=" "..dodatek;else dodatek="";end; nazwa_zamiast_linku=nazwa..dodatek; end; elseif(nazwa_szablonu=="LinkURL")then local nazwa=tabela_parametrow_szablonu["nazwa"] or tabela_parametrow_szablonu["n"]; if(nazwa)then nazwa_zamiast_linku=nazwa; else local strona=tabela_parametrow_szablonu["strona"] or tabela_parametrow_szablonu["s"]; nazwa_zamiast_linku=strona; end; end; if((nazwa_zamiast_linku)and(nazwa_zamiast_linku~=""))then if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[-7])then tablica_danych_parametrow_szablonu_strony[-7]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[-7]; if(not tablica_danych_parametrow_szablonu_strony_numer[kod])then tablica_danych_parametrow_szablonu_strony_numer[kod]={};end; local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod]; tablica_danych_parametrow_szablonu_strony_numer_kod.szereg_znakowy=nazwa_zamiast_linku; end; end; return nazwa_zamiast_linku; end; function p.NazwaInnegoSzablonowegoLinkowegoSpisuRzeczy(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,tablica_danych_parametrow_szablonu_strony,kod) if((tablica_danych_parametrow_szablonu_strony)and(kod))then local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[-8]; if(tablica_danych_parametrow_szablonu_strony_numer)then local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod]; if(tablica_danych_parametrow_szablonu_strony_numer_kod)then return tablica_danych_parametrow_szablonu_strony_numer_kod.szereg_znakowy; end; end; end; nazwa_szablonu=p.SzablonyPrzekierowanioweInteligentne(nazwa_szablonu); local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty"); local inne_linki_szablony_elementy_spisu_rzeczy=stronicowyparser_obiekty_modul.inne_linki_szablony_elementy_spisu_rzeczy; local tab_spis=inne_linki_szablony_elementy_spisu_rzeczy[nazwa_szablonu]; if(tab_spis)then local czy_true=tab_spis[1]; local parametr;local numer; if(czy_true)then parametr=tabela_parametrow_szablonu[tab_spis.numer_link]; else parametr=tabela_parametrow_szablonu[tab_spis.link]; local numer=tabela_parametrow_szablonu[tab_spis.numer]; parametr=(parametr and numer)and (numer.." "..parametr) or (parametr); end; if((parametr)and(parametr~=""))then if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[-8])then tablica_danych_parametrow_szablonu_strony[-8]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[-8]; if(not tablica_danych_parametrow_szablonu_strony_numer[kod])then tablica_danych_parametrow_szablonu_strony_numer[kod]={};end; local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod]; tablica_danych_parametrow_szablonu_strony_numer_kod.szereg_znakowy=parametr; end; end; return parametr; end; return nil; end; function p.AnalizujLinkSzablonyOrazLinki(wyzyskane_wywolanie_szablonu_spis_tresci,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,__FUNKCJA,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,obiekt,kod,tab_nazwa_spisow_przekierowaniowych) local numer; if((obiekt)and(kod))then if(obiekt=="SZABLON")then numer=-2; elseif(obiekt=="LINKW")then numer=-3; elseif(obiekt=="LINKZ")then numer=-4; end; if((tablica_danych_parametrow_szablonu_strony)and(kod))then local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[numer]; if(tablica_danych_parametrow_szablonu_strony_numer)then local tablica_danych_parametrow_szablonu_strony_numer_kod=tablica_danych_parametrow_szablonu_strony_numer[kod]; if(tablica_danych_parametrow_szablonu_strony_numer_kod)then return tablica_danych_parametrow_szablonu_strony_numer_kod[1],tablica_danych_parametrow_szablonu_strony_numer_kod[2],tablica_danych_parametrow_szablonu_strony_numer_kod[3],tablica_danych_parametrow_szablonu_strony_numer_kod[4],tablica_danych_parametrow_szablonu_strony_numer_kod[5]; end; end; end; end; local local1,local2,local3,local4,local5=p.AnalizujLinkSzablonyOrazLinki2(wyzyskane_wywolanie_szablonu_spis_tresci,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,__FUNKCJA,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,obiekt,kod,tab_nazwa_spisow_przekierowaniowych); if((obiekt)and(kod))then if((tablica_danych_parametrow_szablonu_strony)and(kod))then if(not tablica_danych_parametrow_szablonu_strony[numer])then tablica_danych_parametrow_szablonu_strony[numer]={};end; local tablica_danych_parametrow_szablonu_strony_numer=tablica_danych_parametrow_szablonu_strony[numer]; if(not tablica_danych_parametrow_szablonu_strony_numer[kod])then tablica_danych_parametrow_szablonu_strony_numer[kod]={};end; tablica_danych_parametrow_szablonu_strony_numer[kod]={local1,local2,local3,local4,local5,}; end; end; return local1,local2,local3,local4,local5; end; function p.AnalizujLinkSzablonyOrazLinki2(wyzyskane_wywolanie_szablonu_spis_tresci,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,__FUNKCJA,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,obiekt,kod,tab_nazwa_spisow_przekierowaniowych) ---- local parametry_modul=require("Module:Parametry"); local wiki_modul=require("Module:Wiki"); local pozycja_artykulu=nil;local nazwa=nil; local czy_tabela_do_parsowania_artykulu=parametry_modul.TypeTable(wyzyskane_wywolanie_szablonu_spis_tresci); if(not czy_tabela_do_parsowania_artykulu)then pozycja_artykulu,nazwa=mw.ustring.match(wyzyskane_wywolanie_szablonu_spis_tresci,"^%[%[([^|%[%]]+)|(.+)%]%]$"); if(not((pozycja_artykulu)and(nazwa)))then pozycja_artykulu=mw.ustring.match(wyzyskane_wywolanie_szablonu_spis_tresci,"^%[%[([^|%[%]]+)%]%]$"); end; end; local html_modul=require("Module:Html"); local nazwy_modul=require("Module:Nazwy") local techniczne_modul=require("Module:Techniczne"); local pelna_nazwa_spisu_tresci_analizowana=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci); local function Artykul(strona,parametry--[[_ref]],naglowek--[[_ref]]) ---- --local parametry=parametry_modul.CzyTak(parametry_ref) and parametry_ref or html_modul["ParametryStronyAdresu"](strona,true); --local naglowek=parametry_modul.CzyTak(naglowek_ref) and naglowek_ref or html_modul["NagłówekStronyAdresu"](strona,true); ---- strona=html_modul["NazwaStronyAdresu"](strona,true); strona=parametry_modul["Odstępy"]{[1]=strona,[2]="tak",}; local techniczne_modul=require("Module:Techniczne"); strona=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=strona,[2]=pelna_nazwa_spisu_tresci_analizowana,}; ---- local tabela_nazw_strona={}; local nazwa_przestrzeni_strony=nazwy_modul["NAZWAPRZESTRZENI"](strona,tabela_nazw_strona); local nazwa_przestrzeni_ksiazki_strony=nazwy_modul["NAZWAPRZESTRZENIKSIĄŻKI"](strona,tabela_nazw_strona); local nazwa_ksiazki_strony=(nazwa_przestrzeni_ksiazki_strony~="") and nazwy_modul["SUBNAZWAKSIĄŻKI"](strona,tabela_nazw_strona) or nazwy_modul["NAZWAKSIĄŻKI"](strona,tabela_nazw_strona); local nazwa_artykulu_strony=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](strona,tabela_nazw_strona); --if((tab_nazwa_spisow_przekierowaniowych)and(tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony])and --[[else]] if(tab_nazwa_spisow_przekierowaniowych)then local techniczne_modul=require("Module:Techniczne"); local strona_przekierowania=techniczne_modul.PrzekierowanieDoStrony(strona); local function DaneRozwazone(strona_przekierowania,inna_ksiazka,czy_przekierowanie) local tabela_nazw_przekierowanie={}; ---- local nazwa_przestrzeni_strony_przekierowania=nazwy_modul["NAZWAPRZESTRZENI"](strona_przekierowania,tabela_nazw_przekierowanie); local nazwa_przestrzeni_ksiazki_strony_przekierowania=nazwy_modul["NAZWAPRZESTRZENIKSIĄŻKI"](strona_przekierowania,tabela_nazw_przekierowanie); local nazwa_ksiazki_strony_przekierowania=(nazwa_przestrzeni_ksiazki_strony~="") and nazwy_modul["SUBNAZWAKSIĄŻKI"](strona_przekierowania,tabela_nazw_przekierowanie) or nazwy_modul["NAZWAKSIĄŻKI"](strona_przekierowania,tabela_nazw_przekierowanie); local nazwa_artykulu_strony_przekierowania=((not inna_ksiazka) and (nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](strona_przekierowania,tabela_nazw_przekierowanie)) or (nazwa_artykulu_strony)); ---- local tabela_nazw_adresu_przekierowania={}; local parametry_przekierowania=((not inna_ksiazka) and (html_modul["ParametryStronyAdresu"](strona_przekierowania,true,tabela_nazw_adresu_przekierowania)) or nil); local naglowek_przekierowania=((not inna_ksiazka) and (html_modul["NagłówekStronyAdresu"](strona_przekierowania,true,tabela_nazw_adresu_przekierowania)) or nil); ---- if((nazwa_przestrzeni_strony_przekierowania==nazwa_przestrzeni)and(nazwa_przestrzeni_ksiazki_strony_przekierowania==nazwa_przestrzeni_ksiazki)and(nazwa_ksiazki_strony_przekierowania==nazwa_ksiazki))then local czy_inne_ksiazka=((inna_ksiazka)or(((nazwa_przestrzeni_strony~=nazwa_przestrzeni)or(nazwa_przestrzeni_ksiazki_strony~=nazwa_przestrzeni_ksiazki)or(nazwa_ksiazki_strony~=nazwa_ksiazki)))); if(czy_inne_ksiazka)then if(not tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony])then tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony]={}; end; if(not tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony][nazwa_przestrzeni_ksiazki_strony])then tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony][nazwa_przestrzeni_ksiazki_strony]={}; end; if(not tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony][nazwa_przestrzeni_ksiazki_strony][nazwa_ksiazki_strony])then tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony][nazwa_przestrzeni_ksiazki_strony][nazwa_ksiazki_strony]=true; end; end; return {nazwa_artykulu_strony_przekierowania,parametry_modul.CzyTak(parametry_przekierowania) and parametry_przekierowania or nil,parametry_modul.CzyTak(naglowek_przekierowania) and naglowek_przekierowania or nil,{czy_inne_ksiazka and {nazwa_przestrzeni_strony,nazwa_przestrzeni_ksiazki_strony,nazwa_ksiazki_strony,inna_ksiazka,true,czy_przekierowanie,} or nil,czy_przekierowanie and nazwa_artykulu_strony or nil,czy_przekierowanie and parametry or nil,czy_przekierowanie and naglowek or nil,} or nil,}; else if((nazwa_przestrzeni_strony==nazwa_przestrzeni)and(nazwa_przestrzeni_ksiazki_strony==nazwa_przestrzeni_ksiazki)and(nazwa_ksiazki_strony==nazwa_ksiazki))then return {nazwa_artykulu_strony,parametry_modul.CzyTak(parametry) and parametry or nil,parametry_modul.CzyTak(naglowek) and naglowek or nil,{{nazwa_przestrzeni_strony_przekierowania,nazwa_przestrzeni_ksiazki_strony_przekierowania,nazwa_ksiazki_strony_przekierowania,true,false,czy_przekierowanie,},nazwa_artykulu_strony_przekierowania,parametry_przekierowania,naglowek_przekierowania,} or nil,}; else return nil,strona,nazwa_przestrzeni_strony,nazwa_przestrzeni_ksiazki_strony,nazwa_ksiazki_strony,nazwa_artykulu_strony; end; end; end; if(strona_przekierowania)then return DaneRozwazone(strona_przekierowania,nil,true); else if((tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony]) and(tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony][nazwa_przestrzeni_ksiazki_strony])and(tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni_strony][nazwa_przestrzeni_ksiazki_strony][nazwa_ksiazki_strony]))then return {nazwa_artykulu_strony,parametry_modul.CzyTak(parametry) and parametry or nil,parametry_modul.CzyTak(naglowek) and naglowek or nil,{{nazwa_przestrzeni_strony,nazwa_przestrzeni_ksiazki_strony,nazwa_ksiazki_strony,true,true,false,},nil,nil,nil,},}; end; local pelna_nazwa_ksiazki=nazwy_modul["NazwaModułu"](nazwa_przestrzeni_strony,nazwa_przestrzeni_ksiazki_strony,nazwa_ksiazki_strony,""); local strona_przekierowania=techniczne_modul.PrzekierowanieDoStrony(pelna_nazwa_ksiazki); if(strona_przekierowania)then return DaneRozwazone(strona_przekierowania,true,false); end; end; end; if((nazwa_przestrzeni_strony==nazwa_przestrzeni)and(nazwa_przestrzeni_ksiazki_strony==nazwa_przestrzeni_ksiazki)and(nazwa_ksiazki_strony==nazwa_ksiazki))then return {nazwa_artykulu_strony,parametry,naglowek,}; end return nil,strona,nazwa_przestrzeni_strony,nazwa_przestrzeni_ksiazki_strony,nazwa_ksiazki_strony,nazwa_artykulu_strony; end; --- local pudelko_modul=require("Module:Pudełko"); local kod_jezyka_tego_projektu=pudelko_modul["Kod języka tego projektu"](); local kod_projektu_tego_projektu=pudelko_modul["Kod projektu tego projektu"](); local function DaneKsiazkowychProjektowychMiedzyProjektowychArtykulu(pozycja_artykulu,parametry_ref,naglowek_ref,nazwa,czy_link,czy_nie_dwukropek,klucz_projektu,kod_jezyka,kod_projektu,tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow) if(not mw.ustring.match(pozycja_artykulu,"[{}%[%]|]"))then if((czy_nie_dwukropek)and(((not kod_jezyka)and(not kod_projektu)and(not klucz_projektu))or (parametry_modul.CzyTak(klucz_projektu)and((klucz_projektu==kod_jezyka_tego_projektu)or(klucz_projektu==kod_projektu_tego_projektu)or(klucz_projektu==kod_jezyka_tego_projektu..":"..kod_projektu_tego_projektu)or(klucz_projektu==kod_projektu_tego_projektu..":"..kod_jezyka_tego_projektu))) or(((kod_jezyka)and(kod_jezyka==kod_jezyka_tego_projektu)and(kod_projektu)and(kod_projektu==kod_projektu_tego_projektu))) or ((kod_jezyka)and(not kod_projektu)and(kod_jezyka==kod_jezyka_tego_projektu))or((kod_projektu)and(not kod_jezyka)and(kod_projektu==kod_projektu_tego_projektu))))then ---- pozycja_artykulu=p.DekodowanieTekstu(pozycja_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,nil) parametry_ref=p.DekodowanieTekstu(parametry_ref,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,nil); naglowek_ref=p.DekodowanieTekstu(naglowek_ref,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,nil); ---- local czy_link=czy_link or mw.ustring.match(pozycja_artykulu,"^:"); local tabela_nazw_adresu_artykulu={}; parametry_ref=parametry_modul.CzyTak(parametry_ref) and parametry_ref or html_modul["ParametryStronyAdresu"](pozycja_artykulu,true,tabela_nazw_adresu_artykulu); naglowek_ref=parametry_modul.CzyTak(naglowek_ref) and naglowek_ref or html_modul["NagłówekStronyAdresu"](pozycja_artykulu,true,tabela_nazw_adresu_artykulu); pozycja_artykulu=html_modul["NazwaStronyAdresu"](pozycja_artykulu,true,tabela_nazw_adresu_artykulu); ---- local czy_pozycja_artykulu=pozycja_artykulu; local pozycja_artykulu,strona,nazwa_przestrzeni_strony,nazwa_przestrzeni_ksiazki_strony,nazwa_ksiazki_strony,nazwa_artykulu_strony=Artykul(pozycja_artykulu,parametry_ref,naglowek_ref); if(pozycja_artykulu)then return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(pozycja_artykulu[1],pozycja_artykulu[2],pozycja_artykulu[3],pozycja_artykulu[4]),nazwa,nil,nil,},1,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false; else local nazwy_modul=require("Module:Nazwy"); --local nazwa_przestrzeni_strony=nazwy_modul["NAZWAPRZESTRZENI"]{nazwa=czy_pozycja_artykulu,}; strona=nazwy_modul["NazwaModułu"](nazwa_przestrzeni_strony,nazwa_przestrzeni_ksiazki_strony,nazwa_ksiazki_strony,nazwa_artykulu_strony); local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); if((nazwa_przestrzeni_strony==nazwy_np_modul.Main) or(nazwa_przestrzeni_strony==nazwy_np_modul.Wikijunior) or(nazwa_przestrzeni_strony==nazwy_np_modul.Wikibooks) or(nazwa_przestrzeni_strony==nazwy_np_modul.User) )then return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(strona,parametry_ref,naglowek_ref,nil),nazwa,nil,nil,},2,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false; elseif( czy_link or parametry_modul.CzyTak(klucz_projektu) or parametry_modul.CzyTak(kod_jezyka) or parametry_modul.CzyTak(kod_projektu) or ((nazwa_przestrzeni_strony~=nazwy_np_modul.Category)and(nazwa_przestrzeni_strony~=nazwy_np_modul.File)) )then return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(strona,parametry_ref,naglowek_ref,nil),nazwa,nil,nil,},3,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false; end; end; else local pozycja_artykulu_stara=pozycja_artykulu; local pudelko_modul=require("Module:Pudełko"); local kod_jezyka=kod_jezyka or pudelko_modul["Kod języka tego projektu"](); local kod_projektu=kod_projektu or pudelko_modul["Kod projektu tego projektu"](); local wiki_modul=require("Module:Wiki"); local kod_jezyka_koncowy,kod_projektu_koncowy=wiki_modul.KodyWiki(klucz_projektu,kod_jezyka,kod_projektu); pozycja_artykulu=p.DekodowanieTekstu(pozycja_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,nil); local czy_link=czy_link or mw.ustring.match(pozycja_artykulu,"^:"); local nazwa_strony_linku; local uzyskana_nazwa_strony_linku; if(czy_nie_dwukropek)then nazwa_strony_linku=pozycja_artykulu; else local kod_jezyka_poczatkowy, kod_projektu_poczatkowy; nazwa_strony_linku,kod_jezyka_koncowy,kod_projektu_koncowy, kod_jezyka_poczatkowy, kod_projektu_poczatkowy=wiki_modul.KodyNazwyStrony(pozycja_artykulu,kod_jezyka_koncowy,kod_projektu_koncowy); uzyskana_nazwa_strony_linku=nazwa_strony_linku; end; ---- parametry_ref=p.DekodowanieTekstu(parametry_ref,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,nil); naglowek_ref=p.DekodowanieTekstu(naglowek_ref,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,nil); ---- local html_modul=require("Module:Html"); local tabela_nazw_adresu={}; local parametry_strony=parametry_modul.CzyTak(parametry_ref) and parametry_ref or html_modul["ParametryStronyAdresu"](nazwa_strony_linku,true,tabela_nazw_adresu); local naglowek_strony=parametry_modul.CzyTak(naglowek_ref) and naglowek_ref or html_modul["NagłówekStronyAdresu"](nazwa_strony_linku,true,tabela_nazw_adresu); nazwa_strony_linku=html_modul["NazwaStronyAdresu"](nazwa_strony_linku,true,tabela_nazw_adresu); local nazwy_modul=require("Module:Nazwy"); ---- local tabela_nazw_artykul={}; local nazwa_przestrzeni=nazwy_modul["PRZEDMIOTOWAPRZESTRZEŃ"]({nazwa=nazwa_strony_linku,['kod języka']=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy,},tabela_nazw_artykul); local nazwa_kanoniczna_przestrzeni; local biezaca_wiki; if(tabela_nazw_artykul.czy_aktualna_wiki==nil)then biezaca_wiki=wiki_modul["CzyBieżącaWiki"]{["kod języka"]=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy,}; else biezaca_wiki=tabela_nazw_artykul.czy_aktualna_wiki; end; local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); if(biezaca_wiki)then local czy_wyswietlic_link=((uzyskana_nazwa_strony_linku)and(uzyskana_nazwa_strony_linku~=pozycja_artykulu))and true or false; if(nazwa_przestrzeni)then if((nazwa_przestrzeni==nazwy_np_modul.Main) or(nazwa_przestrzeni==nazwy_np_modul.Wikijunior) or(nazwa_przestrzeni==nazwy_np_modul.Wikibooks) or(nazwa_przestrzeni==nazwy_np_modul.User) )then local pozycja_artykulu,strona,nazwa_przestrzeni_strony,nazwa_przestrzeni_ksiazki_strony,nazwa_ksiazki_strony,nazwa_artykulu_strony=Artykul(nazwa_strony_linku); if(pozycja_artykulu)then return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(pozycja_artykulu[1],pozycja_artykulu[2] or parametry_strony,pozycja_artykulu[3] or naglowek_strony,pozycja_artykulu[4]),nazwa,czy_wyswietlic_link and kod_jezyka_koncowy or nil,czy_wyswietlic_link and kod_projektu_koncowy or nil,czy_wyswietlic_link and pozycja_artykulu_stara or nil,},1,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false; else nazwa_strony_linku=nazwy_modul["NazwaModułu"](nazwa_przestrzeni_strony,nazwa_przestrzeni_ksiazki_strony,nazwa_ksiazki_strony,nazwa_artykulu_strony); return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(nazwa_strony_linku,parametry_strony,naglowek_strony),nazwa,czy_wyswietlic_link and kod_jezyka_koncowy or nil,czy_wyswietlic_link and kod_projektu_koncowy or nil,czy_wyswietlic_link and pozycja_artykulu_stara or nil,},2,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false; end; elseif( czy_link or (nazwa_strony_linku~=pozycja_artykulu) or ((nazwa_przestrzeni~=nazwy_np_modul.Category)and(nazwa_przestrzeni~=nazwy_np_modul.File)) )then nazwa_strony_linku=nazwy_modul["PEŁNANAZWASTRONY"]({nazwa=nazwa_strony_linku,['kod języka']=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy,},tabela_nazw_artykul) return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(nazwa_strony_linku,parametry_strony,naglowek_strony),nazwa,czy_wyswietlic_link and kod_jezyka_koncowy or nil,czy_wyswietlic_link and kod_projektu_koncowy or nil,czy_wyswietlic_link and pozycja_artykulu_stara or nil,},3,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false; end; else return nil,nil,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false; end; else nazwa_strony_linku=nazwy_modul["PEŁNANAZWASTRONY"]({nazwa=nazwa_strony_linku,['kod języka']=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy,},tabela_nazw_artykul); nazwa_kanoniczna_przestrzeni=nazwy_modul.NpDane{nazwa=nazwa_przestrzeni,["kanoniczna"]="tak",["nazwij projektem"]="tak",["nazwij dyskusją projektu"]="tak",["kod języka"]=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy,["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",}; if(nazwa_kanoniczna_przestrzeni)then if((nazwa_kanoniczna_przestrzeni==nazwy_np_modul.kanoniczna.Main) or(nazwa_kanoniczna_przestrzeni==nazwy_np_modul.kanoniczna.Wikijunior) or(nazwa_kanoniczna_przestrzeni==nazwy_np_modul.kanoniczna.Project) or(nazwa_kanoniczna_przestrzeni==nazwy_np_modul.kanoniczna.User) )then return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(nazwa_strony_linku,parametry_strony,naglowek_strony),nazwa,kod_jezyka_koncowy,kod_projektu_koncowy,pozycja_artykulu_stara,},4,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false; else return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(nazwa_strony_linku,parametry_strony,naglowek_strony),nazwa,kod_jezyka_koncowy,kod_projektu_koncowy,pozycja_artykulu_stara,},5,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false; end; else return nil,nil,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false; end; end; return nil,nil,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false; end; else return nil,nil,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false; end; end; --- local czy_pozycja_artykulu=nil; if((not pozycja_artykulu)and(not czy_tabela_do_parsowania_artykulu))then local link_szablon=mw.ustring.match(wyzyskane_wywolanie_szablonu_spis_tresci,"^({{[^{}]+}})$"); if(link_szablon)then local szablonowe_modul=require("Module:Szablonowe"); return szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(link_szablon,tablica_danych_parametrow_szablonu_strony,kod,pelna_nazwa_spisu_tresci_szablonowa,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) nazwa_szablonu=p.SzablonyPrzekierowanioweInteligentne(nazwa_szablonu); if(nazwa_szablonu=="SpisTreści")then pozycja_artykulu=tabela_parametrow_szablonu[1]; if(not pozycja_artykulu)then return nil,nil,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false; end; ------ pozycja_artykulu=p.DekodowanieTekstu(pozycja_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul); ------ return {pozycja_artykulu,nil},1,true,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false; elseif(nazwa_szablonu=="Sekcja referencyjna")then local strona=tabela_parametrow_szablonu[1] or tabela_parametrow_szablonu["strona"]; --if(not strona)then -- return nil,nil,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false; --end; local podstrona=tabela_parametrow_szablonu[3] or tabela_parametrow_szablonu["podstrona"]; local pozycja_artykulu; if(not podstrona)then local nazwy_modul=require("Module:Nazwy"); pozycja_artykulu=strona or ""; else pozycja_artykulu=(((podstrona) and (podstrona~="")) and (podstrona..(((strona)and(not mw.ustring.match(strona,"^#"))) and "/" or "")) or "")..(strona or ""); end; local nazwa=tabela_parametrow_szablonu["nazwa"] or tabela_parametrow_szablonu[2]; ------ pozycja_artykulu=p.DekodowanieTekstu(pozycja_artykulu,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) ---- local html_modul=require("Module:Html"); local tabela_nazw_adresu={}; local parametry_ref=html_modul["ParametryStronyAdresu"](pozycja_artykulu,true,tabela_nazw_adresu); local naglowek_ref=html_modul["NagłówekStronyAdresu"](pozycja_artykulu,true,tabela_nazw_adresu); ---- local pozycja_artykulu_ref=html_modul["NazwaStronyAdresu"](pozycja_artykulu,true,tabela_nazw_adresu); ------ return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(pozycja_artykulu_ref,parametry_ref,naglowek_ref),nazwa},1,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false; else if(nazwa_szablonu=="Link wewnętrzny")then local pozycja_artykulu=tabela_parametrow_szablonu["strona"]; if(not pozycja_artykulu)then return nil,nil,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false; end; local nazwa=tabela_parametrow_szablonu["nazwa"]; local naglowek=tabela_parametrow_szablonu["nagłówek"]; local klucz_projektu=tabela_parametrow_szablonu["klucz projektu"]; local kod_jezyka=tabela_parametrow_szablonu['kod języka']; local kod_projektu=tabela_parametrow_szablonu["kod projektu"]; local czy_nie_dwukropek=wiki_modul.CzyNieMaDwukropkaWNazwieStrony(pozycja_artykulu); return DaneKsiazkowychProjektowychMiedzyProjektowychArtykulu(pozycja_artykulu,nil,naglowek,nazwa,true,czy_nie_dwukropek,klucz_projektu,kod_jezyka,kod_projektu,tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow) else local nazwa_szablonu_nowa,dwa=mw.ustring.match(nazwa_szablonu,"^(LinkOgólne)(2?)$"); if(nazwa_szablonu_nowa)then local pozycja_artykul; local strona=tabela_parametrow_szablonu[1]; if(not strona)then return nil,nil,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false; end; local czy_dwa=(dwa~="")and true or false; local nazwa=(not czy_dwa) and tabela_parametrow_szablonu[2] or nil; local klucz_projektu=tabela_parametrow_szablonu["klucz projektu"] or tabela_parametrow_szablonu["k"]; local kod_jezyka=tabela_parametrow_szablonu['kod języka'] or tabela_parametrow_szablonu["kj"]; local kod_projektu=tabela_parametrow_szablonu["kod projektu"] or tabela_parametrow_szablonu["kp"]; local miano_przestrzeni_nazw=tabela_parametrow_szablonu["miano przestrzeni nazw"] or tabela_parametrow_szablonu["przestrzeń"] or tabela_parametrow_szablonu["m"]; if(miano_przestrzeni_nazw)then pozycja_artykulu=((miano_przestrzeni_nazw~="")and(miano_przestrzeni_nazw..":") or "")..strona; else pozycja_artykulu=strona; end; local czy_nie_dwukropek=wiki_modul.CzyNieMaDwukropkaWNazwieStrony(pozycja_artykulu); return DaneKsiazkowychProjektowychMiedzyProjektowychArtykulu(pozycja_artykulu,nil,nil,nazwa,true,czy_nie_dwukropek,klucz_projektu,kod_jezyka,kod_projektu,tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow) else local dane_szablonu_linku=p.PodzielNaElementyNazwowyWikiLinkInteligentny(nazwa_szablonu,tablica_danych_parametrow_szablonu_strony,kod,true); if(dane_szablonu_linku)then local pozycja_artykulu=tabela_parametrow_szablonu[1]; if(not pozycja_artykulu)then return nil,nil,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},false; end; local nazwa_przestrzeni=dane_szablonu_linku[1]; local pozycja_artykulu=(((nazwa_przestrzeni)and(nazwa_przestrzeni~=""))and (nazwa_przestrzeni..":") or "")..tabela_parametrow_szablonu[1]; local nazwa=((not dane_szablonu_linku[4])and(not dane_szablonu_linku[5])) and (tabela_parametrow_szablonu[2]) or nil; local klucz_projektu;local kod_jezyka;local kod_projektu; if((not dane_szablonu_linku[2])and(not dane_szablonu_linku[3]))then klucz_projektu=tabela_parametrow_szablonu["klucz projektu"] or tabela_parametrow_szablonu["k"]; kod_jezyka=tabela_parametrow_szablonu['kod języka'] or tabela_parametrow_szablonu["kj"]; kod_projektu=tabela_parametrow_szablonu["kod projektu"] or tabela_parametrow_szablonu["kp"]; else kod_jezyka=dane_szablonu_linku[3]; kod_projektu=dane_szablonu_linku[2]; end; local czy_nie_dwukropek; if(nazwa_przestrzeni=="")then czy_nie_dwukropek=wiki_modul.CzyNieMaDwukropkaWNazwieStrony(pozycja_artykulu); elseif((not kod_jezyka)and(not kod_projektu)and(not klucz_projektu))then czy_nie_dwukropek=true; else czy_nie_dwukropek=false; end; return DaneKsiazkowychProjektowychMiedzyProjektowychArtykulu(pozycja_artykulu,nil,nil,nazwa,true,czy_nie_dwukropek,klucz_projektu,kod_jezyka,kod_projektu,tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow); elseif((__FUNKCJA)and(__FUNKCJA(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,tablica_danych_parametrow_szablonu_strony,kod)))then return nil,nil,false,{tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,},true; end; end; end; end; end); else local nazwa_strony=mw.ustring.match(wyzyskane_wywolanie_szablonu_spis_tresci,"^%[(%S+)%s*%]$"); if(nazwa_strony)then nazwa_strony=html_modul.DecodeHtml(nazwa_strony,true); return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(nazwa_strony,nil,nil),nil,nil,nil, nazwa_strony,"url",},6,false,nil,false; else local nazwa_strony,nazwa_linku=mw.ustring.match(wyzyskane_wywolanie_szablonu_spis_tresci,"^%[(%S+)%s+([^%[%]]-)%s*%]$"); if((nazwa_strony)and(nazwa_linku))then nazwa_strony=html_modul.DecodeHtml(nazwa_strony,true); return {p.UzyskanieTabeliStronyWoluminuParametremOrazIdentyfikatorem(nazwa_strony,nil,nil),nazwa_linku,nil,nil, nazwa_strony,"url",},6,false,nil,false; end; end; end; elseif(not czy_tabela_do_parsowania_artykulu)then local specjalne_modul=require("Module:Specjalne"); if(specjalne_modul.CzyInterwiki(wyzyskane_wywolanie_szablonu_spis_tresci))then return nil,nil,false,nil,true; end; local parametry_modul=require("Module:Parametry"); --pozycja_artykulu=mw.getContentLanguage():ucfirst(parametry_modul["Odstępy"]{[1]=pozycja_artykulu,[2]="tak",}); local czy_pozycja_artykulu=mw.ustring.match(pozycja_artykulu,"^/(.-)/+$") or mw.ustring.match(pozycja_artykulu,"^/(.+)$"); if(czy_pozycja_artykulu)then if(parametry_modul["CzyTakCiąg"](czy_pozycja_artykulu))then czy_pozycja_artykulu=pelna_nazwa_spisu_tresci_analizowana.."/"..czy_pozycja_artykulu; return DaneKsiazkowychProjektowychMiedzyProjektowychArtykulu(czy_pozycja_artykulu,nil,nil,nazwa,true,true,nil,nil,nil,nil); else pozycja_artykulu=nil; return {pozycja_artykulu,nazwa},1,false,nil,false; end; else local czy_nie_dwukropek=wiki_modul.CzyNieMaDwukropkaWNazwieStrony(pozycja_artykulu); return DaneKsiazkowychProjektowychMiedzyProjektowychArtykulu(pozycja_artykulu,nil,nil,nazwa,false,czy_nie_dwukropek,nil,nil,nil,nil); end; else local pozycja_artykulu=wyzyskane_wywolanie_szablonu_spis_tresci[1]; local nazwa=wyzyskane_wywolanie_szablonu_spis_tresci[2]; local czy_nie_dwukropek=wiki_modul.CzyNieMaDwukropkaWNazwieStrony(pozycja_artykulu); return DaneKsiazkowychProjektowychMiedzyProjektowychArtykulu(pozycja_artykulu,nil,nil,nazwa,true,czy_nie_dwukropek,nil,nil,nil,nil); end; end; return p; btv3v9u4tmmhu4qi613h5cmchb07u0s Moduł:StronicowyParser/SpisTreści 828 58945 544488 544419 2026-05-27T17:31:53Z Persino 2851 544488 Scribunto text/plain local p={}; local function Ile(numer_rodzaju_artykulu,tabela_rozdzial_artykulow) local parametry_modul=require("Module:Parametry"); local ile=0; for i,tabela_rozdzial_artykulow_i in pairs(tabela_rozdzial_artykulow)do i=parametry_modul.TypeNumber(i) and i or nil; if((i)and(i>1))then ile=ile+#(tabela_rozdzial_artykulow_i or {}); end; end; return ile; end; local function WstawianieElementowychZarejestrowanychStronDoBazyWoluminu(self,__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY,tabela_rozdzial_artykulow,tablica_artykulow_zebranych,wliczaj_artykuly_tego_rozdzialu,szablon,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,obiekt,kod,tab_nazwa_spisow_przekierowaniowych,--[[]]przedrostek_listy,tekstowy_przedrostek,w_rozdziale,linia_artykokow--[[]]) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local tab_pozycja_elementow_w_spisie_rzeczy,numer_rodzaju_artykulu,id,parametry_szablonu,kom=stronicowyparser_potrzebne_modul.AnalizujLinkSzablonyOrazLinki(szablon,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,nil,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,obiekt,kod,tab_nazwa_spisow_przekierowaniowych); --- local numer_rodzaju_artykulu_poprz=numer_rodzaju_artykulu; if(numer_rodzaju_artykulu)then --mw.log(szablon,numer_rodzaju_artykulu,wliczaj_artykuly_tego_rozdzialu) numer_rodzaju_artykulu=(wliczaj_artykuly_tego_rozdzialu)and numer_rodzaju_artykulu or (numer_rodzaju_artykulu+6); end; --- --Rozdzialy początek local znaki_niedozwolone; local function ParametrPierwszy(tab_artykul,czy_niedozwolone) local artykul=tab_artykul[1]; local parametry=tab_artykul[2]; local naglowek=tab_artykul[3]; local tablica_przekierowania=tab_artykul[4]; ---- local znaki_niedozwolone; if(czy_niedozwolone)then znaki_niedozwolone=mw.ustring.match(artykul,"[|<>{}%[%]]"); end; ---- --if(artykul)then --artykul=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(artykul,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul); --artykul=parametry_modul["Odstępy"]{[1]=artykul,[2]="tak",} --artykul=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](artykul); --end; ---- --if(parametry)then -- parametry=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(parametry,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) -- parametry=parametry_modul["Odstępy"]{[1]=parametry,[2]="tak",} -- parametry=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](parametry); --end; ---- --if(naglowek)then -- naglowek=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(naglowek,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul); -- naglowek=parametry_modul["Odstępy"]{[1]=naglowek,[2]="tak",} -- naglowek=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](naglowek); --end; ---- tab_artykul=((artykul)and(parametry or naglowek))and{[1]=artykul,[2]=parametry,[3]=naglowek,["LINK"]=true,} or artykul; return tab_artykul,znaki_niedozwolone,tablica_przekierowania; end; local parametry_modul=require("Module:Parametry"); local szablonowe_modul=require("Module:Szablonowe"); local techniczne_modul=require("Module:Techniczne"); local stronicowyparser_rozdzialy_modul=require("Module:StronicowyParser/Rozdziały"); local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty"); local szablony_dozwolone_w_nazwach_linkowych=stronicowyparser_obiekty_modul.szablony_dozwolone_w_nazwach_linkowych; local szablony_rozwijane_przez_javascript_nazwowe_linkowe=stronicowyparser_obiekty_modul.szablony_rozwijane_przez_javascript_nazwowe_linkowe; ---- local function RozwijanieNazwy(szablon,obiekt,kod) if(obiekt=="SZABLON")then local tab_szablony=stronicowyparser_obiekty_modul.szablony_stronicowego_parsera.szablony_kontenerowe; local tab_szablony_stronicowe_niekontenerowe=stronicowyparser_obiekty_modul.szablony_stronicowe_niekontenerowe; local tab_szablony_stronicowe_formatowania_tekstu=stronicowyparser_obiekty_modul.szablony_stronicowe_formatowania_tekstu; local tab_szablony_stronicowe_kontenerowe_formatowania_wzorowego=stronicowyparser_obiekty_modul.szablony_stronicowe_kontenerowe_formatowania_wzorowego; ---- local wynik=stronicowyparser_rozdzialy_modul.ObiektySzablonoweFormatowaniaTekstu(szablon,szablony_dozwolone_w_nazwach_linkowych,pelna_nazwa_spisu_tresci_szablonowa,tablica_danych_parametrow_szablonu_strony,kod); if(not wynik)then local wynik,jaki_wynik=szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,pelna_nazwa_spisu_tresci_szablonowa,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow) if(szablony_rozwijane_przez_javascript_nazwowe_linkowe[nazwa_szablonu])then local szablon=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(szablon,nil,tablica_analizy_obiektow_strony_dany_modul, function(szablon,obiekt,kod) if(obiekt=="SZABLON")then local wynik=szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,pelna_nazwa_spisu_tresci_szablonowa,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow) if( (tab_szablony[nazwa_szablonu]) or(tab_szablony_stronicowe_niekontenerowe[nazwa_szablonu]) or(tab_szablony_stronicowe_formatowania_tekstu[nazwa_szablonu]) or(tab_szablony_stronicowe_kontenerowe_formatowania_wzorowego[nazwa_szablonu]) )then tabela_parametrow_szablonu["nazwa przestrzeni nazw"]=tabela_parametrow_szablonu["nazwa przestrzeni nazw"] or nazwa_przestrzeni; tabela_parametrow_szablonu["nazwa jednostki"]=tabela_parametrow_szablonu["nazwa jednostki"] or (((nazwa_przestrzeni_ksiazki~="") and (nazwa_przestrzeni_ksiazki.."/") or "")..nazwa_ksiazki..((nazwa_artykulu~="") and ("/"..nazwa_artykulu) or "")); return szablonowe_modul.KodSymbolicznySzablonu(nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow,true); end; end); if(wynik)then return wynik;end; end; end); return szablon,true; elseif(nazwa_szablonu=="Br")then return " ",false; elseif( (tab_szablony[nazwa_szablonu]) or(tab_szablony_stronicowe_niekontenerowe[nazwa_szablonu]) or(tab_szablony_stronicowe_formatowania_tekstu[nazwa_szablonu]) or(tab_szablony_stronicowe_kontenerowe_formatowania_wzorowego[nazwa_szablonu]) )then tabela_parametrow_szablonu["nazwa przestrzeni nazw"]=tabela_parametrow_szablonu["nazwa przestrzeni nazw"] or nazwa_przestrzeni; tabela_parametrow_szablonu["nazwa jednostki"]=tabela_parametrow_szablonu["nazwa jednostki"] or (((nazwa_przestrzeni_ksiazki~="") and (nazwa_przestrzeni_ksiazki.."/") or "")..nazwa_ksiazki..((nazwa_artykulu~="") and ("/"..nazwa_artykulu) or "")); return szablonowe_modul.KodSymbolicznySzablonu(nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow,true),true; end; end); if(wynik)then return wynik,jaki_wynik;end; else return wynik,false; end; return nil,true; elseif(obiekt=="ZNACZNIK")then local nazwa,zawartosc,atrybuty=szablonowe_modul.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeZnacznika(szablon,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod); if(nazwa=="br")then return " "; end; end; return szablon; end; if((numer_rodzaju_artykulu_poprz)and(numer_rodzaju_artykulu_poprz==1)and(tab_pozycja_elementow_w_spisie_rzeczy)and(tab_pozycja_elementow_w_spisie_rzeczy[1]))then local numer_rodzaju_artykulu_w_podreczniku=numer_rodzaju_artykulu+1; local czy_tablica=nil;local tablica_przekierowania=nil; if(tab_pozycja_elementow_w_spisie_rzeczy[1])then czy_tablica=parametry_modul.TypeTable(tab_pozycja_elementow_w_spisie_rzeczy[1]); if(not czy_tablica)then --tab_pozycja_elementow_w_spisie_rzeczy[1]=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(tab_pozycja_elementow_w_spisie_rzeczy[1],nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul); --tab_pozycja_elementow_w_spisie_rzeczy[1]=parametry_modul["Odstępy"]{[1]=tab_pozycja_elementow_w_spisie_rzeczy[1],[2]="tak",} --tab_pozycja_elementow_w_spisie_rzeczy[1]=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tab_pozycja_elementow_w_spisie_rzeczy[1]); znaki_niedozwolone=mw.ustring.match(tab_pozycja_elementow_w_spisie_rzeczy[1],"[|<>{}%[%]]"); tablica_artykulow_zebranych={tab_pozycja_elementow_w_spisie_rzeczy[1],0,false,}; else tab_pozycja_elementow_w_spisie_rzeczy[1],znaki_niedozwolone,tablica_przekierowania=ParametrPierwszy(tab_pozycja_elementow_w_spisie_rzeczy[1],true); local czy_inna_ksiazka=tablica_przekierowania and tablica_przekierowania[1] and tablica_przekierowania[1][5] or nil; if(not czy_inna_ksiazka)then czy_tablica=parametry_modul.TypeTable(tab_pozycja_elementow_w_spisie_rzeczy[1]); else local artykul=tablica_przekierowania[2]; local parametry=tablica_przekierowania[3]; local naglowek=tablica_przekierowania[4]; czy_tablica=(artykul)and(parametry or naglowek); end; if(not czy_tablica)then local aktualny_artykul_ksiazki; if(not czy_inna_ksiazka)then aktualny_artykul_ksiazki=tab_pozycja_elementow_w_spisie_rzeczy[1]; else aktualny_artykul_ksiazki=tablica_przekierowania[2] or (parametry_modul.TypeTable(tab_pozycja_elementow_w_spisie_rzeczy[1])and tab_pozycja_elementow_w_spisie_rzeczy[1][1] or tab_pozycja_elementow_w_spisie_rzeczy[1]); end; tablica_artykulow_zebranych={aktualny_artykul_ksiazki,0,false,}; else local aktualny_artykul_ksiazki; if(not czy_inna_ksiazka)then aktualny_artykul_ksiazki=tab_pozycja_elementow_w_spisie_rzeczy[1][1]; else aktualny_artykul_ksiazki=tablica_przekierowania[2] or (parametry_modul.TypeTable(tab_pozycja_elementow_w_spisie_rzeczy[1])and tab_pozycja_elementow_w_spisie_rzeczy[1][1] or tab_pozycja_elementow_w_spisie_rzeczy[1]); end; if(tablica_artykulow_zebranych[1]~=aktualny_artykul_ksiazki)then tablica_artykulow_zebranych={aktualny_artykul_ksiazki,0,false,}; else tablica_artykulow_zebranych[3]=true; end; end; end; end; ---- local szablonowe_modul=require("Module:Szablonowe"); ---- if(tab_pozycja_elementow_w_spisie_rzeczy[2])then local czy_szablon_wszystko=false; tab_pozycja_elementow_w_spisie_rzeczy[2]=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(tab_pozycja_elementow_w_spisie_rzeczy[2],nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod) local wynik,czy_szablon=RozwijanieNazwy(szablon,obiekt,kod); czy_szablon_wszystko=czy_szablon_wszystko or czy_szablon; return wynik; end); if(czy_szablon_wszystko)then local frame=mw.getCurrentFrame(); tab_pozycja_elementow_w_spisie_rzeczy[2]=frame:preprocess(tab_pozycja_elementow_w_spisie_rzeczy[2]); end; local specjalne_modul=require("Module:Specjalne"); tab_pozycja_elementow_w_spisie_rzeczy[2]=specjalne_modul["UsuńZnakiSpecjalne"](tab_pozycja_elementow_w_spisie_rzeczy[2]); tab_pozycja_elementow_w_spisie_rzeczy[2]=parametry_modul["Odstępy"]{[1]=tab_pozycja_elementow_w_spisie_rzeczy[2],[2]="tak",[4]="tak",}; end; ---- if(znaki_niedozwolone)then local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"niedozwolone znaki w spisach treści"))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"niedozwolone znaki w spisach treści"); end; end; local nazwa_jednostki=stronicowyparser_potrzebne_modul.UzyskanieTylkoNazwyLubTabeliNazwyLinkuStronyWoluminuZTabeliZParametramiOrazIdentyfikatorem(tab_pozycja_elementow_w_spisie_rzeczy[1],false); local stara_nazwa_jednostki=nazwa_jednostki; if(not tabela_rozdzial_artykulow[numer_rodzaju_artykulu_w_podreczniku])then tabela_rozdzial_artykulow[numer_rodzaju_artykulu_w_podreczniku]={};end; --local linia_artykokow=--[[(not przerwij) and ]]tab_linia[k]--[[ or szablon]]; linia_artykokow=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(linia_artykokow,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul); --local przekierowanie=pelna_nazwa_ksiazki..((nazwa_jednostki~="") and ("/"..nazwa_jednostki) or ""); --local strona=techniczne_modul.PrzekierowanieDoStrony(przekierowanie); --local strona=(tablica_przekierowania) local przekierowanie; if(--[[strona--]]tablica_przekierowania)then --nazwa_jednostki=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](strona); --przekierowanie=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](przekierowanie) przekierowanie=tablica_przekierowania[2]; if((czy_tablica)and(stara_nazwa_jednostki~=""))then przekierowanie=przekierowanie and ((tablica_przekierowania[3] or tablica_przekierowania[4]) and {przekierowanie, tablica_przekierowania[3], tablica_przekierowania[4],["LINK"]=true,} or przekierowanie ) or nil; nazwa_jednostki={nazwa_jednostki, tab_pozycja_elementow_w_spisie_rzeczy[1][2], tab_pozycja_elementow_w_spisie_rzeczy[1][3],["LINK"]=true,}; local czy_w_tab=tablica_artykulow_zebranych[2]; local czy_wsadzac=tablica_artykulow_zebranych[3]; if((not czy_wsadzac)and(czy_w_tab==0)and(tablica_artykulow_zebranych[1]==stara_nazwa_jednostki))then local tab_stare={{stara_nazwa_jednostki,tab_pozycja_elementow_w_spisie_rzeczy[2],tablica_przekierowania and (tablica_przekierowania[2] and przekierowanie or nil) or nil,((tablica_przekierowania)and(tablica_przekierowania[1])) and tablica_przekierowania[1] or nil,nil,nil,tab_pozycja_elementow_w_spisie_rzeczy[5],true,tab_pozycja_elementow_w_spisie_rzeczy[6],},{#przedrostek_listy,przedrostek_listy,tekstowy_przedrostek,w_rozdziale,},linia_artykokow,id,true,}; --table.insert(tabela_rozdzial_artykulow[numer_rodzaju_artykulu_w_podreczniku],tab_stare); --WsadzanieParametryDoTablicy(tabela_rozdzial_artykulow,numer_rodzaju_artykulu_w_podreczniku,tab_stare); __FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY(tabela_rozdzial_artykulow,numer_rodzaju_artykulu_w_podreczniku,tab_stare); tablica_artykulow_zebranych[2]=1; end; end; else nazwa_jednostki=tab_pozycja_elementow_w_spisie_rzeczy[1]; if((czy_tablica)and(stara_nazwa_jednostki~=""))then local czy_w_tab=tablica_artykulow_zebranych[2]; local czy_wsadzac=tablica_artykulow_zebranych[3]; if((not czy_wsadzac)and(czy_w_tab==0)and(tablica_artykulow_zebranych[1]==stara_nazwa_jednostki))then local tab_stare={{stara_nazwa_jednostki,tab_pozycja_elementow_w_spisie_rzeczy[2],nil,nil,nil,nil,tab_pozycja_elementow_w_spisie_rzeczy[5],true,tab_pozycja_elementow_w_spisie_rzeczy[6],},{#przedrostek_listy,przedrostek_listy,tekstowy_przedrostek,w_rozdziale,},linia_artykokow,id,true,}; --table.insert(tabela_rozdzial_artykulow[numer_rodzaju_artykulu_w_podreczniku],tab_stare); --WsadzanieParametryDoTablicy(tabela_rozdzial_artykulow,numer_rodzaju_artykulu_w_podreczniku,tab_stare); __FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY(tabela_rozdzial_artykulow,numer_rodzaju_artykulu_w_podreczniku,tab_stare); tablica_artykulow_zebranych[2]=1; end; end; end; local ile_dodac_do_poziomu_artykulu=tablica_artykulow_zebranych[2]; local ile_dodac_do_poziomu_artykulu_lub_nil=((ile_dodac_do_poziomu_artykulu)and(ile_dodac_do_poziomu_artykulu>0))and ile_dodac_do_poziomu_artykulu or nil; local tab_stare={((tab_pozycja_elementow_w_spisie_rzeczy[2] or tablica_przekierowania or tab_pozycja_elementow_w_spisie_rzeczy[5] or tab_pozycja_elementow_w_spisie_rzeczy[6] or ile_dodac_do_poziomu_artykulu_lub_nil) and ({nazwa_jednostki,tab_pozycja_elementow_w_spisie_rzeczy[2],tablica_przekierowania and (tablica_przekierowania[2] and przekierowanie or nil) or nil,((tablica_przekierowania)and(tablica_przekierowania[1])) and tablica_przekierowania[1] or nil,nil,nil,tab_pozycja_elementow_w_spisie_rzeczy[5],ile_dodac_do_poziomu_artykulu_lub_nil,tab_pozycja_elementow_w_spisie_rzeczy[6],}) or nazwa_jednostki),{#przedrostek_listy--[[+(ile_dodac_do_poziomu_artykulu and ile_dodac_do_poziomu_artykulu or 0)]],przedrostek_listy,tekstowy_przedrostek,w_rozdziale,},linia_artykokow,id,true,(numer_rodzaju_artykulu>1) and (Ile(numer_rodzaju_artykulu,tabela_rozdzial_artykulow)) or nil,}; --table.insert(tabela_rozdzial_artykulow[numer_rodzaju_artykulu_w_podreczniku],tab_stare); --WsadzanieParametryDoTablicy(tabela_rozdzial_artykulow,numer_rodzaju_artykulu_w_podreczniku,tab_stare); --mw.logObject(tab_stare,"TYTAN1") __FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY(tabela_rozdzial_artykulow,numer_rodzaju_artykulu_w_podreczniku,tab_stare); --mw.logObject(tabela_rozdzial_artykulow,"TYTAN2") elseif((numer_rodzaju_artykulu_poprz)and(numer_rodzaju_artykulu_poprz>=2)and(tab_pozycja_elementow_w_spisie_rzeczy)and(tab_pozycja_elementow_w_spisie_rzeczy[1]))then if(tab_pozycja_elementow_w_spisie_rzeczy[1])then if(not parametry_modul.TypeTable(tab_pozycja_elementow_w_spisie_rzeczy[1]))then --tab_pozycja_elementow_w_spisie_rzeczy[1]=parametry_modul["Odstępy"]{[1]=tab_pozycja_elementow_w_spisie_rzeczy[1],[2]="tak",}; --tab_pozycja_elementow_w_spisie_rzeczy[1]=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(tab_pozycja_elementow_w_spisie_rzeczy[1],nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul); else tab_pozycja_elementow_w_spisie_rzeczy[1]=ParametrPierwszy(tab_pozycja_elementow_w_spisie_rzeczy[1],false); end; end; local szablonowe_modul=require("Module:Szablonowe"); if(tab_pozycja_elementow_w_spisie_rzeczy[2])then local czy_szablon_wszystko=false; tab_pozycja_elementow_w_spisie_rzeczy[2]=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(tab_pozycja_elementow_w_spisie_rzeczy[2],nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod) local wynik,czy_szablon=RozwijanieNazwy(szablon,obiekt,kod); czy_szablon_wszystko=czy_szablon_wszystko or czy_szablon; return wynik; end); if(czy_szablon_wszystko)then local frame=mw.getCurrentFrame(); tab_pozycja_elementow_w_spisie_rzeczy[2]=frame:preprocess(tab_pozycja_elementow_w_spisie_rzeczy[2]); end; local specjalne_modul=require("Module:Specjalne"); tab_pozycja_elementow_w_spisie_rzeczy[2]=specjalne_modul["UsuńZnakiSpecjalne"](tab_pozycja_elementow_w_spisie_rzeczy[2]); tab_pozycja_elementow_w_spisie_rzeczy[2]=parametry_modul["Odstępy"]{[1]=tab_pozycja_elementow_w_spisie_rzeczy[2],[2]="tak",[4]="tak",}; end; if(tab_pozycja_elementow_w_spisie_rzeczy[3])then tab_pozycja_elementow_w_spisie_rzeczy[3]=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(tab_pozycja_elementow_w_spisie_rzeczy[3],nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul); tab_pozycja_elementow_w_spisie_rzeczy[3]=parametry_modul["Odstępy"]{[1]=tab_pozycja_elementow_w_spisie_rzeczy[3],[2]="tak",[4]="tak",}; end; if(tab_pozycja_elementow_w_spisie_rzeczy[4])then tab_pozycja_elementow_w_spisie_rzeczy[4]=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(tab_pozycja_elementow_w_spisie_rzeczy[4],nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul); tab_pozycja_elementow_w_spisie_rzeczy[4]=parametry_modul["Odstępy"]{[1]=tab_pozycja_elementow_w_spisie_rzeczy[4],[2]="tak",[4]="tak",}; end; local wiki_modul=require("Module:Wiki"); ----- local numer_rodzaju_artykulow_w_nie_podreczniku=numer_rodzaju_artykulu+1; ----- if(not tabela_rozdzial_artykulow[numer_rodzaju_artykulow_w_nie_podreczniku])then tabela_rozdzial_artykulow[numer_rodzaju_artykulow_w_nie_podreczniku]={}; end; --local linia_artykokow=--[[(not przerwij) and ]]tab_linia[k]--[[ or szablon]]; linia_artykokow=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(linia_artykokow,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul); local tab_stare={((tab_pozycja_elementow_w_spisie_rzeczy[1])and((tab_pozycja_elementow_w_spisie_rzeczy[2])or(tab_pozycja_elementow_w_spisie_rzeczy[3])or(tab_pozycja_elementow_w_spisie_rzeczy[4])or(tab_pozycja_elementow_w_spisie_rzeczy[5])))and({tab_pozycja_elementow_w_spisie_rzeczy[1],tab_pozycja_elementow_w_spisie_rzeczy[2],nil,nil,tab_pozycja_elementow_w_spisie_rzeczy[3],tab_pozycja_elementow_w_spisie_rzeczy[4],tab_pozycja_elementow_w_spisie_rzeczy[5],nil,tab_pozycja_elementow_w_spisie_rzeczy[6],}) or tab_pozycja_elementow_w_spisie_rzeczy[1],{#przedrostek_listy,przedrostek_listy,tekstowy_przedrostek,w_rozdziale,},linia_artykokow,false,false,Ile(numer_rodzaju_artykulu,tabela_rozdzial_artykulow),}; --table.insert(tabela_rozdzial_artykulow[numer_rodzaju_artykulow_w_nie_podreczniku],tab_stare); --WsadzanieParametryDoTablicy(tabela_rozdzial_artykulow,numer_rodzaju_artykulow_w_nie_podreczniku,tab_stare); __FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY(tabela_rozdzial_artykulow,numer_rodzaju_artykulow_w_nie_podreczniku,tab_stare); end; --mw.logObject(tabela_rozdzial_artykulow,"TYTAN") return numer_rodzaju_artykulu_poprz,tab_pozycja_elementow_w_spisie_rzeczy,tablica_artykulow_zebranych; end; function p.AnalizaNapisuWprowadzeniaTekstu(rozdzial,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) local specjalne_modul=require("Module:Specjalne"); local szablonowe_modul=require("Module:Szablonowe"); local html_modul=require("Module:Html"); local parametry_modul=require("Module:Parametry"); local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty"); local stronicowyparser_rozdzialy_modul=require("Module:StronicowyParser/Rozdziały"); local rozdzial_na_tekst=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(rozdzial,nil,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod) if(obiekt=="SZABLON")then ----- local szablony_dozwolone_w_napisach_do_wprowadzenia_tekstu=stronicowyparser_obiekty_modul.szablony_dozwolone_w_napisach_do_wprowadzenia_tekstu; local szablony_dozwolone_w_nazwach_linkowych=stronicowyparser_obiekty_modul.szablony_dozwolone_w_nazwach_linkowych; local szablony_rozwijane_przez_javascript_w_napisach_wprowadzenia_tekstu=stronicowyparser_obiekty_modul.szablony_rozwijane_przez_javascript_w_napisach_wprowadzenia_tekstu; ----- local wynik=stronicowyparser_rozdzialy_modul.ObiektySzablonoweFormatowaniaTekstu(szablon,szablony_dozwolone_w_napisach_do_wprowadzenia_tekstu,pelna_nazwa_spisu_tresci_szablonowa,tablica_danych_parametrow_szablonu_strony,kod); if(wynik)then return wynik;end; local wynik=stronicowyparser_rozdzialy_modul.ObiektySzablonoweFormatowaniaTekstu(szablon,szablony_dozwolone_w_nazwach_linkowych,pelna_nazwa_spisu_tresci_szablonowa,tablica_danych_parametrow_szablonu_strony,kod); if(wynik)then return wynik;end; ---- local dodatek=stronicowyparser_rozdzialy_modul.ObiektySzablonoweUzyskiwaniaUruchomieniaTekstu(szablon,pelna_nazwa_spisu_tresci_szablonowa,tablica_danych_parametrow_szablonu_strony,kod); if(dodatek)then return dodatek;end; local wynik=szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,pelna_nazwa_spisu_tresci_szablonowa,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow) ---- local tab_szablon_link_intelignetny=stronicowyparser_potrzebne_modul.PodzielNaElementyNazwowyWikiLinkInteligentny(nazwa_szablonu,tablica_danych_parametrow_szablonu_strony,kod); if(tab_szablon_link_intelignetny)then return (not tab_szablon_link_intelignetny[4]) and tabela_parametrow_szablonu[2] or tabela_parametrow_szablonu[1]; else local nazwa_zamiast_linku=stronicowyparser_potrzebne_modul.NazwaInnegoSzablonowegoLinkowegoObiektu(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,tablica_danych_parametrow_szablonu_strony,kod); if(nazwa_zamiast_linku)then return nazwa_zamiast_linku;end; end; local nazwa_zamiast_linku=stronicowyparser_potrzebne_modul.NazwaInnegoSzablonowegoLinkowegoSpisuRzeczy(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,tablica_danych_parametrow_szablonu_strony,kod); if(nazwa_zamiast_linku)then return nazwa_zamiast_linku;end; ---- if(szablony_rozwijane_przez_javascript_w_napisach_wprowadzenia_tekstu[nazwa_szablonu])then local szablon=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(szablon,nil,tablica_analizy_obiektow_strony_dany_modul); return szablon; end; end); if(wynik)then return wynik;end; ---- local rozdzial_na_tekst=mw.ustring.gsub(szablon,"^{{[^{}|]*|([^{}|]*).*}}$","%1"); return rozdzial_na_tekst; elseif(obiekt=="NOWIKI")then local nazwa,zawartosc,tab_atrybuty=szablonowe_modul.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguNowiki(szablon,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod); if(zawartosc)then local rozdzial_na_tekst=html_modul.ZnakiSpecjalneTaguNowiki(zawartosc); return rozdzial_na_tekst; else return ""; end; elseif(obiekt=="PRE")then local nazwa,zawartosc,tab_atrybuty=szablonowe_modul.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguPre(szablon,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod); if(zawartosc)then local rozdzial_na_tekst=html_modul.ZnakiSpecjalneTaguNowiki(zawartosc); return rozdzial_na_tekst; else return ""; end; elseif(obiekt=="ŹRÓDŁO")then local nazwa,zawartosc,tab_atrybuty=szablonowe_modul.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguSyntaxHighLight(szablon,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod); if(zawartosc)then local rozdzial_na_tekst=html_modul.ZnakiSpecjalneTaguNowiki(zawartosc); return rozdzial_na_tekst; else return ""; end; elseif((obiekt~="MATH")and(obiekt~="GALERIA")and(obiekt~="MAPAOBRAZU")and(obiekt~="INNEPRE"))then local rozdzial_na_tekst=specjalne_modul["UsuńKomentarze"](szablon); rozdzial_na_tekst=specjalne_modul["ZamieńLinkiZewnętrzneNaTekst"](rozdzial_na_tekst); rozdzial_na_tekst=specjalne_modul["ZamieńLinkiWewnętrzneNaTekst"](rozdzial_na_tekst); rozdzial_na_tekst=specjalne_modul["UsuńSzablonyStylów"](rozdzial_na_tekst); rozdzial_na_tekst=specjalne_modul["UsuńZnaczniki"](rozdzial_na_tekst); rozdzial_na_tekst=specjalne_modul["UsuńKategorie"](rozdzial_na_tekst); rozdzial_na_tekst=specjalne_modul["UsuńWywołaniaPlików"](rozdzial_na_tekst); rozdzial_na_tekst=specjalne_modul["UsuńInterwiki"](rozdzial_na_tekst); rozdzial_na_tekst=specjalne_modul["UsuńZnakiSpecjalne"](rozdzial_na_tekst); return rozdzial_na_tekst; else return ""; end; end); ---- rozdzial_na_tekst=specjalne_modul["UsuńZnakiSpecjalne"](rozdzial_na_tekst); rozdzial_na_tekst=specjalne_modul["UsuńZbędneBiałeZnaki"](rozdzial_na_tekst); return rozdzial_na_tekst; end; function p.ZbieranieInformacjiWoluminuDanegoSpisuRzeczy(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,czy_artykul_korzystany,adres_ksiazki_glownego_spisu_tresci,__FUNKCJA_ZBIERANIA_DANYCH) local parametry_modul=require("Module:Parametry"); if((not nazwa_przestrzeni)or(not nazwa_przestrzeni_ksiazki)or(not nazwa_ksiazki))then return 0;end; local nazwy_modul=require("Module:Nazwy"); local pelna_nazwa_ksiazki=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,""); local nazwa_modulu=pelna_nazwa_ksiazki..((nazwa_spisu_tresci~="")and("/"..nazwa_spisu_tresci) or ""); --- local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); local pelna_nazwa_spisu_tresci_bez_nazwy_przestrzeni_szablonowej=(nazwa_przestrzeni and nazwa_przestrzeni_ksiazki and nazwa_ksiazki and nazwa_spisu_tresci) and nazwy_modul["NazwaModułu"](((nazwy_np_modul.Template~=nazwa_przestrzeni) and (nazwa_przestrzeni) or ""),nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci) or nil; local pelna_nazwa_spisu_tresci_szablonowa=pelna_nazwa_spisu_tresci_bez_nazwy_przestrzeni_szablonowej and (((nazwa_przestrzeni=="")and ":" or "")..pelna_nazwa_spisu_tresci_bez_nazwy_przestrzeni_szablonowej)or nil; --- local techniczne_modul=require("Module:Techniczne"); local szablonowe_modul=require("Module:Szablonowe"); local strona=techniczne_modul.PrzekierowanieDoStrony(nazwa_modulu); local przekierowanie_spisu_tresci=nil; local tab_nazwa_spisow_przekierowaniowych={}; --[[if(adres_ksiazki_glownego_spisu_tresci)then if(not tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni])then tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni]={};end; if(not tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni][nazwa_przestrzeni_ksiazki])then tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni][nazwa_przestrzeni_ksiazki]={};end; if(not tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki])then tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki]=true;end; end;]] --if(adres_ksiazki_glownego_spisu_tresci)then -- local nazwa_przestrzeni=adres_ksiazki_glownego_spisu_tresci[1]; -- local nazwa_przestrzeni_ksiazki=adres_ksiazki_glownego_spisu_tresci[2]; -- local nazwa_ksiazki=adres_ksiazki_glownego_spisu_tresci[3]; -- if(not tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni])then tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni]={};end; -- if(not tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni][nazwa_przestrzeni_ksiazki])then tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni][nazwa_przestrzeni_ksiazki]={};end; -- if(not tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki])then tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki]=true;end; -- end; if(strona)then local html_modul=require("Module:Html"); strona=html_modul.DecodeHtml(strona,true); local tabela_nazw={}; local pelna_nazwa_ksiazki_przekierowania=nazwy_modul["PEŁNANAZWAKSIĄŻKI"](strona,tabela_nazw); if(pelna_nazwa_ksiazki_przekierowania~=pelna_nazwa_ksiazki)then return 0;end; nazwa_modulu=nazwy_modul["PEŁNANAZWASTRONY"](strona,tabela_nazw); nazwa_spisu_tresci=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](strona,tabela_nazw); przekierowanie_spisu_tresci=nazwa_spisu_tresci; ---- pelna_nazwa_spisu_tresci_bez_nazwy_przestrzeni_szablonowej=(nazwa_przestrzeni and nazwa_przestrzeni_ksiazki and nazwa_ksiazki and nazwa_spisu_tresci) and nazwy_modul["NazwaModułu"](((nazwy_np_modul.Template~=nazwa_przestrzeni) and (nazwa_przestrzeni) or ""),nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci) or nil; pelna_nazwa_spisu_tresci_szablonowa=pelna_nazwa_spisu_tresci_bez_nazwy_przestrzeni_szablonowej and (((nazwa_przestrzeni=="")and ":" or "")..pelna_nazwa_spisu_tresci_bez_nazwy_przestrzeni_szablonowej)or nil; end; local stronicowyparser_tekst_modul=require("Module:StronicowyParser/Tekst"); --local tekst_rozwiniety_calego_artykulu=stronicowyparser_tekst_modul.SpreparowanyWikikodStrony(nil,nazwa_modulu,true); local __FUNKCJA_PARAMETRY=nil; local tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony=stronicowyparser_tekst_modul:RekurencyjnyZakodowanoSpreparowanyWikikodStrony(nazwa_modulu,false,nil,nil,function(tekst_artykulu,nazwa_modulu_szablonu_opisu,nazwa_strony_bez_kodow_html,szablony_magiczne,tabela_nazw) return nil; end,__FUNKCJA_PARAMETRY); if(not tekst_rozwiniety_calego_artykulu)then return 0;end; if(__FUNKCJA_ZBIERANIA_DANYCH)then __FUNKCJA_ZBIERANIA_DANYCH(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); end; ---- local techniczne_modul=require("Module:Techniczne"); ---- local tabelalisty2=nil; local licencja_z_autorem=true; local tabela_artykulow=nil; local tabela_licencji_spisu_tresci=nil; local parametry_modul=require("Module:Parametry"); local html_modul=require("Module:Html"); local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty"); local linki_szablony_elementy_spisu_rzeczy=stronicowyparser_obiekty_modul.linki_szablony_elementy_spisu_rzeczy; local inne_linki_szablony_elementy_spisu_rzeczy=stronicowyparser_obiekty_modul.inne_linki_szablony_elementy_spisu_rzeczy; local szablony_kompletowania_stron_woluminu=stronicowyparser_obiekty_modul.szablony_kompletowania_stron_woluminu; local szablony_licencji=stronicowyparser_obiekty_modul.szablony_licencji; local szablony_ozdobne_stron_woluminu=stronicowyparser_obiekty_modul.szablony_ozdobne_stron_woluminu; local stronicowyparser_rozdzialy_modul=require("Module:StronicowyParser/Rozdziały") --[[local pelna_nazwa_spisu_tresci_wzor="^("..((nazwa_przestrzeni~="")and techniczne_modul["WzórDanejPrzestrzeniNazw"](nazwa_przestrzeni) or "") ..techniczne_modul["WzórNazwyStrony"](((nazwa_przestrzeni_ksiazki~="")and(nazwa_przestrzeni_ksiazki.."/") or "")..nazwa_ksiazki) ..((nazwa_spisu_tresci~="")and ("/"..nazwa_spisu_tresci) or "") .."(/[Ss][Pp][Ii][Ss][%s_]+[Tt][Rr][Ee][ŚśSs][Cc][Ii]))$";]] --local tablica_analizy_obiektow_strony_dany_modul={}; --local tablica_danych_parametrow_szablonu_strony={}; local iterator,tekst_rozwiniety_calego_artykulu=stronicowyparser_rozdzialy_modul.IterTekst(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,true,true,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,--[[function(pelna_nazwa_szablonu,tabela_modyfikatorow) local pelna_nazwa_spisu_tresci,strona_ze_spisem_tresci=mw.ustring.match(pelna_nazwa_szablonu,pelna_nazwa_spisu_tresci_wzor); if(pelna_nazwa_spisu_tresci and strona_ze_spisem_tresci)then pelna_nazwa_szablonu=techniczne_modul.PrzekierowanieDoStrony(pelna_nazwa_szablonu) or pelna_nazwa_szablonu; local tekst=stronicowyparser_tekst_modul.SpreparowanyWikikodStrony(nil,pelna_nazwa_szablonu,true); if(tekst)then ---- if(not self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni])then self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni]={};end; local tablica_przestrzeni=self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni]; if(not tablica_przestrzeni[nazwa_przestrzeni_ksiazki])then tablica_przestrzeni[nazwa_przestrzeni_ksiazki]={};end; local tablica_przestrzeni_ksiazki=tablica_przestrzeni[nazwa_przestrzeni_ksiazki]; if(not tablica_przestrzeni_ksiazki[nazwa_ksiazki])then tablica_przestrzeni_ksiazki[nazwa_ksiazki]={};end; local tablica_ksiazki=tablica_przestrzeni_ksiazki[nazwa_ksiazki]; if(not tablica_ksiazki.spis_tresci)then tablica_ksiazki.spis_tresci={};end; if(not tablica_ksiazki.spis_tresci[nazwa_spisu_tresci])then tablica_ksiazki.spis_tresci[nazwa_spisu_tresci]={};end local tablica_spis_tresci=tablica_ksiazki.spis_tresci[nazwa_spisu_tresci]; tablica_spis_tresci.tekst=tekst; tablica_spis_tresci.adres_wzgledny_spisu_tresci=strona_ze_spisem_tresci; ---- return tekst; end; end; end]]nil,function(str,pelna_nazwa_strony,tablica_analizy_dany_modul,czy_naglowek) local FunkcjaIteratoraTekstuZakodowego=function(szablon,obiekt,kod) if(obiekt=="SZABLON")then ---- local bez_kodow=not mw.ustring.match(szablon,szablonowe_modul.NormaWzoruKodowaniaTekstu()); if(bez_kodow)then return;end; ---- local function PomijajLinkiOrazLicencje(szablon) return szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,pelna_nazwa_spisu_tresci_szablonowa,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow) local czy_szablony_licencji=stronicowyparser_obiekty_modul.szablony_licencji[nazwa_szablonu]; if(czy_szablony_licencji)then return true;end; local czy_szablony_ozdobne=stronicowyparser_obiekty_modul.szablony_ozdobne_stron_woluminu[nazwa_szablonu]; if(czy_szablony_ozdobne)then return true;end; --local stronicowyparser_rozdzialy_modul=require("Module:StronicowyParser/Rozdziały"); --local wynik=stronicowyparser_rozdzialy_modul.ObiektySzablonoweFormatowaniaTekstu(szablon,nazwa_szablonu); --if(wynik)then return wynik;end; ---- if((linki_szablony_elementy_spisu_rzeczy[nazwa_szablonu])or(inne_linki_szablony_elementy_spisu_rzeczy[nazwa_szablonu]))then return true;end; local tab_wyzyskane_od_nazwy_szablonu=stronicowyparser_potrzebne_modul.PodzielNaElementyNazwowyWikiLinkInteligentny(nazwa_szablonu,tablica_danych_parametrow_szablonu_strony,kod); if(tab_wyzyskane_od_nazwy_szablonu)then return true;end; end); end; ---- local CzySzablonLinkLubLicencja=function(szablon) local ile_szablon_linki_lub_licencje=0; local _,ile=mw.ustring.gsub(szablon,szablonowe_modul.NormaWzoruKodowaniaTekstu("(SZABLON)"), function(obiekt,kod) kod=tonumber(kod); local szablon=tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]; local wynik=PomijajLinkiOrazLicencje(szablon); if(wynik)then ile_szablon_linki=ile_szablon_linki+1;end; return nil; end); if((ile>0)and(ile_szablon_linki_lub_licencje>0))then return true;end; end; local bez_kodow_linkow_wewnetrznych=( not mw.ustring.match(szablon,szablonowe_modul.NormaWzoruKodowaniaTekstu("LINK[WZ]")) and not CzySzablonLinkLubLicencja(szablon) ) or not mw.ustring.match(szablon,"\n([#:*;]+)[^%S\n]*([%w%p]*)[^%S\n]*([^\n]+)") or not mw.ustring.match(szablon,"\n([#:*;]*)[^%S\n]*([%w%p]+)[^%S\n]*([^\n]+)"); if(bez_kodow_linkow_wewnetrznych)then return;end; local wynik=PomijajLinkiOrazLicencje(szablon); if(wynik)then return;end; ----- return ""; --[[elseif(obiekt=="WIKITABELA")then szablon=mw.ustring.match(szablon,"^{|(.-)|}$"); szablon=mw.ustring.gsub(szablon,"[|!][|!]","\n\n"); szablon=mw.ustring.gsub(szablon,"\n|[%-%+][^%S\n]+[^|\n]*","\n\n"); szablon=mw.ustring.gsub(szablon,"\n|%-","\n\n"); szablon=mw.ustring.gsub(szablon,"\n|%+","\n\n"); szablon=mw.ustring.gsub(szablon,"\n|","\n\n"); return szablon;]] end; return; end; if(not czy_naglowek)then str=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(str,pelna_nazwa_strony,tablica_analizy_dany_modul,function(szablon,obiekt,kod) local wynik=FunkcjaIteratoraTekstuZakodowego(szablon,obiekt,kod); if(wynik)then return wynik;end; return nil,true; end); return str; end; return str; end,function(tekst_rozwiniety_calego_artykulu,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) local stronicowyparser_analizaspisu_modul=require("Module:StronicowyParser/AnalizaSpisuRzeczy"); local tekst=stronicowyparser_analizaspisu_modul.AnalizaSpisuRzeczy(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych); return tekst; end); ---- local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty"); local odczyt_jakie_nie_rozdzialy=stronicowyparser_obiekty_modul.tablica_nazw_napisu_wprowadzenia_tekstu_pomijanych_w_rozwazaniach_na_stronach_otwarcia_woluminu; local jakie_nie_rozdzialy=parametry_modul["KopiujTabelęElementów"](odczyt_jakie_nie_rozdzialy); local odczyt_jakie_spisy_tresci=stronicowyparser_obiekty_modul.tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu; local jakie_spisy_tresci=parametry_modul["KopiujTabelęElementów"](odczyt_jakie_spisy_tresci); setmetatable(jakie_nie_rozdzialy,parametry_modul.metatablica_dla_elementowych_miar_tablicy_wedle_niewielkich_liter); setmetatable(jakie_spisy_tresci,parametry_modul.metatablica_dla_elementowych_miar_tablicy_wedle_niewielkich_liter); local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); local numer_rozdzialu_w_ksiazce=1; local parametry_modul=require("Module:Parametry"); local html_modul=require("Module:Html"); local szablonowe_modul=require("Module:Szablonowe"); local tab_dozwolonych_szablonow_z_elementami_spisu_artykulow=stronicowyparser_obiekty_modul.tab_dozwolonych_szablonow_z_elementami_spisu_artykulow; local czy_jest_spis_tresci=nil; local poziom_spisu_tresci=nil; local dalej_nie_rozwazaj_spis_tresci=nil; local wliczaj_artykuly_tego_rozdzialu=nil; local specjalne_modul=require("Module:Specjalne"); local tablica_artykulow_zebranych={}; local stronicowyparser_zbieraniedanychstron_modul=require("Module:StronicowyParser/ZbieranieDanychStron"); ---- --local szablony_dozwolone_w_napisach_do_wprowadzenia_tekstu=stronicowyparser_obiekty_modul.szablony_dozwolone_w_napisach_do_wprowadzenia_tekstu; --local szablony_rozwijane_przez_javascript_w_napisach_wprowadzenia_tekstu=stronicowyparser_obiekty_modul.szablony_rozwijane_przez_javascript_w_napisach_wprowadzenia_tekstu; ---- local maksymalny_rozmiar_rozdzialu_zerowego=50; local function AnalizaRozdzialu(rozdzial,linia_rozdzialu,text,poziom_rozdzialu,poczatek_rozdzialu,numeracja,czy_rozdzial_centrowany) --rozdzial,_=mw.ustring.gsub(rozdzial,"{{[^|{}]+|([^|{}]+)[^{}]*}}","%1"); --if(poziom_rozdzialu)then -- text=stronicowyparser_rozdzialy_modul.IntegrowanieLiniiTekstuWRamachJegoNapisuWprowadzenia(text,nil,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); --end; if(not tabela_artykulow)then tabela_artykulow={};end; local spreparowany_uzyskany_tekst_rozdzialu=nil; ---- local tabela_rozdzial_artykulow; if(not tabela_artykulow[numer_rozdzialu_w_ksiazce])then tabela_artykulow[numer_rozdzialu_w_ksiazce]={}; ---- tabela_rozdzial_artykulow=tabela_artykulow[numer_rozdzialu_w_ksiazce]; ---- local rozdzial_na_tekst=p.AnalizaNapisuWprowadzeniaTekstu(rozdzial,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); ---- tabela_rozdzial_artykulow[1]={rozdzial_na_tekst,{poziom_rozdzialu,poczatek_rozdzialu,numeracja,czy_rozdzial_centrowany,},rozdzial,}; spreparowany_uzyskany_tekst_rozdzialu=rozdzial_na_tekst; end; local czy_spis_rzeczy_napis_wprowadzenia_tekstu=(poziom_rozdzialu)and(not czy_jest_spis_tresci)and(not dalej_nie_rozwazaj_spis_tresci)and(jakie_spisy_tresci[spreparowany_uzyskany_tekst_rozdzialu]); if(czy_spis_rzeczy_napis_wprowadzenia_tekstu)then poziom_spisu_tresci=poziom_rozdzialu; czy_jest_spis_tresci=true; elseif((czy_jest_spis_tresci)and(not dalej_nie_rozwazaj_spis_tresci))then if((((poziom_spisu_tresci>0)and(poziom_rozdzialu>0))or((poziom_spisu_tresci<=0)and(poziom_rozdzialu<=0)))and(math.abs(poziom_spisu_tresci or 0)<math.abs(poziom_rozdzialu)))then wliczaj_artykuly_tego_rozdzialu=true; else wliczaj_artykuly_tego_rozdzialu=nil; dalej_nie_rozwazaj_spis_tresci=true; end; end; local function iteratorTekstuNaglowka() local re="([#:*;]*)[^%S\n]*([%d%.]*[^%S\n]*[^\n]+)"; local iter=nil; local tak=nil; local czy_rozdzial=nil; return function() if(not czy_rozdzial)then if((poziom_rozdzialu or 0)>0)then if(not iter)then iter=mw.ustring.gmatch(rozdzial,"([^\n]+)"); end; local wartosc=iter(); if(not wartosc)then czy_rozdzial=true; iter=nil; else return "","",wartosc,true; end; else czy_rozdzial=true; end; end; local function dane_iteratora() if(not iter)then iter=mw.ustring.gmatch(text,"\n"..re); end; local przedrostek_listy,tekstowy_przedrostek_z_wyzyskanym_wywolaniem_szablonu_spis_tresci=iter(); if(przedrostek_listy and tekstowy_przedrostek_z_wyzyskanym_wywolaniem_szablonu_spis_tresci)then local wyzyskane_wywolanie_szablonu_spis_tresci,tekstowy_przedrostek=stronicowyparser_rozdzialy_modul.RozdzieleniePrawidloweLiniiWeWprowadzenieTekstuNumeracjiOdJegoNapisu(tekstowy_przedrostek_z_wyzyskanym_wywolaniem_szablonu_spis_tresci); return przedrostek_listy,tekstowy_przedrostek,wyzyskane_wywolanie_szablonu_spis_tresci,false; else return nil; end; end; if(not tak)then tak=true; local przedrostek_listy,tekstowy_przedrostek_z_wyzyskanym_wywolaniem_szablonu_spis_tresci=mw.ustring.match(text,"^"..re); if(przedrostek_listy and tekstowy_przedrostek_z_wyzyskanym_wywolaniem_szablonu_spis_tresci)then local wyzyskane_wywolanie_szablonu_spis_tresci,tekstowy_przedrostek=stronicowyparser_rozdzialy_modul.RozdzieleniePrawidloweLiniiWeWprowadzenieTekstuNumeracjiOdJegoNapisu(tekstowy_przedrostek_z_wyzyskanym_wywolaniem_szablonu_spis_tresci); return przedrostek_listy,tekstowy_przedrostek,wyzyskane_wywolanie_szablonu_spis_tresci,false; else return dane_iteratora(); end; end; return dane_iteratora(); end; end; ---- local function LiniaArtykulow(linia) local iter=szablonowe_modul:IteratorSzablonowyZakodowanegoTekstu(linia,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul); local szablon,obiekt,kod=iter(); if((not szablon) or (not kod) or(not obiekt))then return {};end; local function SzablonAnalizujKompletnosc(szablon) ---- local wynik=szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,pelna_nazwa_spisu_tresci_szablonowa,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow) ---- return stronicowyparser_obiekty_modul.szablony_kompletowania_stron_woluminu[nazwa_szablonu]; end); return wynik; end; ----- local tak_pierwsze=((obiekt=="SZABLON") and SzablonAnalizujKompletnosc(szablon) or nil); ----- for szablon,obiekt,kod in iter do if(obiekt=="SZABLON")then local szablon=tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]; local tak_drugie=SzablonAnalizujKompletnosc(szablon); if(tak_pierwsze)then if(tak_drugie)then linia=mw.ustring.gsub(linia,"(%s*"..szablonowe_modul.NormaWzoruKodowaniaTekstu()..")(%s*)("..szablonowe_modul.NormaWzoruKodowaniaTekstu(obiekt,kod)..")","%1,%2%3"); end; else if(tak_drugie)then linia=mw.ustring.gsub(linia,"(%s*"..szablonowe_modul.NormaWzoruKodowaniaTekstu(obiekt,kod)..")(%s*)(%s*"..szablonowe_modul.NormaWzoruKodowaniaTekstu()..")","%1,%2%3"); end; end; end; end; local tabela_linii_artykulow=mw.text.split(linia,"%s*,%s*",false); for i=1,#tabela_linii_artykulow,1 do tabela_linii_artykulow[i]=mw.ustring.gsub(tabela_linii_artykulow[i],"&#"..mw.ustring.byte(',')..";",","); end; return tabela_linii_artykulow; end; local iterator=iteratorTekstuNaglowka(); local wliczaj_artykuly_tego_rozdzialu=((wliczaj_artykuly_tego_rozdzialu)or(not jakie_nie_rozdzialy[rozdzial])); for przedrostek_listy,tekstowy_przedrostek,linia, w_rozdziale in iterator do local nie_pomijaj_tego_rozdzialu=false; if((not przedrostek_listy)or(#przedrostek_listy==0))then local rozdzial,czy_z_kropka=stronicowyparser_rozdzialy_modul.CzyZerowyNapisWprowadzeniaTekstu(linia,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); if(((rozdzial)and(#rozdzial<=maksymalny_rozmiar_rozdzialu_zerowego))or(not rozdzial))then nie_pomijaj_tego_rozdzialu=true; end; else local czy_pominac_ten_rozdzial_jako_linie=stronicowyparser_rozdzialy_modul.CzyNapisWprowadzeniaTekstuDwukropkowyZDwomaApostrofamiOrazLiniamiNieWoluminu(przedrostek_listy,linia,true,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych); if(not czy_pominac_ten_rozdzial_jako_linie)then nie_pomijaj_tego_rozdzialu=true; else nie_pomijaj_tego_rozdzialu=false; end; end; if(nie_pomijaj_tego_rozdzialu)then local ile=0; local linia_rozwazana=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstuZgodnieZJegoSzablonowymiElementami(linia,nil ,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,function(szablon,obiekt,kod--[[,czy_sam_siebie]]) if(obiekt=="SZABLON")then return szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,pelna_nazwa_spisu_tresci_szablonowa,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow) ---- local czy_link=linki_szablony_elementy_spisu_rzeczy[nazwa_szablonu] or inne_linki_szablony_elementy_spisu_rzeczy[nazwa_szablonu] or stronicowyparser_potrzebne_modul.PodzielNaElementyNazwowyWikiLinkInteligentny(nazwa_szablonu ,tablica_danych_parametrow_szablonu_strony,kod); local czy_szablon=czy_link or szablony_kompletowania_stron_woluminu[nazwa_szablonu] or szablony_licencji[nazwa_szablonu] --or szablony_ozdobne_stron_woluminu[nazwa_szablonu]; if(czy_link)then ile=ile+1;end; return czy_szablon,obiekt,kod; end); elseif(obiekt=="LINKW")then if(specjalne_modul["CzyLinkWewnętrzny"](szablon))then ile=ile+1; return true,obiekt,kod; end; elseif(obiekt=="LINKZ")then ile=ile+1; return true,obiekt,kod; end; end); ---- local czy_linia_uwzgledniana=mw.ustring.match(linia_rozwazana,"^%s*%-%-+(.*)%-%-+%s*$"); local czy_linia=((not czy_linia_uwzgledniana)and(mw.ustring.match(linia_rozwazana,"^%s*[%-%+%=%~]+.*$") or ((#przedrostek_listy==0)and((mw.ustring.match(linia_rozwazana,"!"))and(mw.ustring.match(linia_rozwazana,"[^!]%s*$")))) or mw.ustring.match(linia_rozwazana,"^%s*<")) or nil); ---- local nowa_linia=false; local function WsadzanieParametryDoTablicy(linia,czy_linia_uwzgledniana) return function(tabela_rozdzial_artykulow2,numer_podtablicy_w_tablicy,tab_stare) --if((czy_spis_rzeczy_napis_wprowadzenia_tekstu)and(numer_podtablicy_w_tablicy>2))then return;end; if((czy_rozdzial_centrowany)and(w_rozdziale)and(czy_linia_uwzgledniana)and(tab_stare[2])and(tab_stare[2][1]))then tab_stare[2][1]=tab_stare[2][1]+1; end; if(not w_rozdziale)then local function CzyZaliczac() return ((not mw.ustring.match(linia,"^%w+%p+")) and mw.ustring.match(linia,"^%s*'*%s*%w+")); --or mw.ustring.match(linia,"^%s*'*%s*"..szablonowe_modul.NormaWzoruKodowaniaTekstu("LINKZ")); end; if(nowa_linia)then tab_stare[2][4]=true; table.insert(tabela_rozdzial_artykulow2[numer_podtablicy_w_tablicy],tab_stare); elseif(((poziom_rozdzialu)or(#(przedrostek_listy or "")>0))and((ile>1)or(CzyZaliczac())))then nowa_linia=true; numer_rozdzialu_w_ksiazce=numer_rozdzialu_w_ksiazce+1; tabela_artykulow[numer_rozdzialu_w_ksiazce]={}; tabela_rozdzial_artykulow=tabela_artykulow[numer_rozdzialu_w_ksiazce]; ---- local rozdzial_na_tekst=p.AnalizaNapisuWprowadzeniaTekstu(linia,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); ---- tabela_rozdzial_artykulow[1]={rozdzial_na_tekst,{-#przedrostek_listy,przedrostek_listy,tekstowy_przedrostek,false,},linia,}; tab_stare[2][4]=true; tab_stare[6]=(numer_podtablicy_w_tablicy>2) and 0 or nil; tabela_rozdzial_artykulow[numer_podtablicy_w_tablicy]={}; table.insert(tabela_rozdzial_artykulow[numer_podtablicy_w_tablicy],tab_stare); else table.insert(tabela_rozdzial_artykulow2[numer_podtablicy_w_tablicy],tab_stare); end; else table.insert(tabela_rozdzial_artykulow2[numer_podtablicy_w_tablicy],tab_stare); end; end; end; local function AnalizaLiniiObiekty(linia_rozwazana) local tab_linia=LiniaArtykulow(linia_rozwazana); for k=1,#tab_linia,1 do local iterator2=szablonowe_modul:IteratorSzablonowyZakodowanegoTekstu(tab_linia[k],nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul); local tab_nieobslugiwane=nil; for szablon,obiekt,kod in iterator2 do local czy_szablon=(obiekt=="SZABLON");local czy_link=((obiekt=="LINKW")or(obiekt=="LINKZ")); if(czy_szablon or czy_link)then local przerwij=nil; if(czy_szablon)then ---- local wynik=szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,pelna_nazwa_spisu_tresci_szablonowa,function(tabela_parametrow_szablonu,nazwa_szablonu ,tabela_modyfikatorow) ---- --local przerwij=nil; local tabela_spisu=stronicowyparser_obiekty_modul.inne_linki_szablony_elementy_spisu_rzeczy[nazwa_szablonu]; if(tabela_spisu)then if(tabela_spisu[1]==true)then --local tabela_parametrow_wywolania=szablonowe_modul["ParsowanieWywołaniaSzablonu"](szablon,nil,nil,nil ,tablica_danych_parametrow_szablonu_strony,kod); local numer_link=tabela_spisu["numer_link"]; for name,value in pairs(tabela_parametrow_szablonu)do if(name~=numer_link)then local kod_w_nie_obslugiwanych=tabela_parametrow_szablonu[name]; local iter=szablonowe_modul:IteratorSzablonowyZakodowanegoTekstu(kod_w_nie_obslugiwanych,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul); if(not tab_nieobslugiwane)then tab_nieobslugiwane={};end; for szablon,obiekt,kod in iter do if(not tab_nieobslugiwane[obiekt])then tab_nieobslugiwane[obiekt]={};end; tab_nieobslugiwane[obiekt][kod]=true; end; end; end; local tyt=tabela_parametrow_szablonu[numer_link]; przedrostek_listy=""; tekstowy_przedrostek,szablon=mw.ustring.match(tyt,"^'*[^%S\n]*([%d%.]*)[^%S\n]*([^\n]-)'*$"); przerwij=true; else przedrostek_listy=""; tekstowy_przedrostek=tabela_parametrow_szablonu[tabela_spisu["numer"]]; szablon=tabela_parametrow_szablonu[tabela_spisu["link"]]; przerwij=true; end; end; end); end; --[[if(przerwij)then local iterator3=szablonowe_modul:IteratorSzablonowyZakodowanegoTekstu(szablon,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul); for szablon2,obiekt2,kod2 in iterator3 do if(obiekt2=="SZABLON")then local tabela_parametrow_szablonu,nazwa_szablonu,tablica_modyfikatorow=szablonowe_modul["ParsowanieWywołaniaSzablonu"](szablon2,nil,nil,nil,tablica_danych_parametrow_szablonu_strony,kod2); local tabela_linku=stronicowyparser_obiekty_modul.linki_szablony_elementy_spisu_rzeczy[nazwa_szablonu]; if(tabela_linku)then szablon=szablon2; break; end; elseif(obiekt2=="LINKW")then szablon=szablon2; break; end; end; end;]] local pozycja_artykulu=nil;local nazwa=nil; local tab_pozycja_elementow_w_spisie_rzeczy;local numer_rodzaju_artykulu_poprz;local id;local parametry_szablonu;local kom; local link_szablon=nil; local czy_obslugiwane=nil; local CzyObslugiwane=function() local wartosc=((tab_nieobslugiwane[obiekt])and(tab_nieobslugiwane[obiekt][kod])); czy_obslugiwane=wartosc; return (not wartosc); end; if((--[[wliczaj_artykuly_tego_rozdzialu]] true)and(not przerwij)and((not tab_nieobslugiwane)or(CzyObslugiwane())))then local linia_artykokow=tab_linia[k]; numer_rodzaju_artykulu_poprz,tab_pozycja_elementow_w_spisie_rzeczy,tablica_artykulow_zebranych=WstawianieElementowychZarejestrowanychStronDoBazyWoluminu(self,WsadzanieParametryDoTablicy(linia,czy_linia_uwzgledniana),tabela_rozdzial_artykulow,tablica_artykulow_zebranych,wliczaj_artykuly_tego_rozdzialu,szablon,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,obiekt,kod,tab_nazwa_spisow_przekierowaniowych,--[[]]przedrostek_listy,tekstowy_przedrostek,w_rozdziale,linia_artykokow--[[]]); --mw.log() if((not czy_obslugiwane)and(not numer_rodzaju_artykulu_poprz))then link_szablon=licencja_z_autorem and (czy_artykul_korzystany and mw.ustring.match(szablon,"({{[^{}]+}})") or nil) or nil; end; --mw.logObject(tabela_rozdzial_artykulow) else link_szablon=licencja_z_autorem and (czy_artykul_korzystany and mw.ustring.match(szablon,"({{[^{}]+}})") or nil) or nil; end; --[[if(przerwij)then break;end;]] if((not numer_rodzaju_artykulu_poprz)and(not przerwij)and(link_szablon)and((not tab_pozycja_elementow_w_spisie_rzeczy)or(not tab_pozycja_elementow_w_spisie_rzeczy[1]))and(czy_artykul_korzystany)and(licencja_z_autorem))then --- local wynik=szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,pelna_nazwa_spisu_tresci_szablonowa,function(tabela_parametrow_szablonu_licencji,nazwa_szablonu_licencji,tabela_modyfikatorow_licencji) if(stronicowyparser_obiekty_modul.szablony_licencji[nazwa_szablonu_licencji])then if(tabela_parametrow_szablonu_licencji)then local autor=tabela_parametrow_szablonu_licencji["Autor"]; local szkoly=tabela_parametrow_szablonu_licencji["Ukończone szkoły"]; local email=tabela_parametrow_szablonu_licencji["Email"]; local dotyczy=tabela_parametrow_szablonu_licencji["Dotyczy"]; local licencjonowanie=tabela_parametrow_szablonu_licencji["Licencjonowanie"]; local umowa_prawna=tabela_parametrow_szablonu_licencji["Umowa prawna"]; local konsekwencje=tabela_parametrow_szablonu_licencji["Konsekwencje"]; local frame=mw.getCurrentFrame(); if(autor~=nil)then autor=frame:preprocess{text=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(autor,nazwa_modulu ,tablica_analizy_obiektow_strony_dany_modul);} end; if(szkoly~=nil)then szkoly=frame:preprocess{text=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(szkoly,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul);} end; if(email~=nil)then email=frame:preprocess{text=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(email,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul);} end; if(dotyczy~=nil)then dotyczy=frame:preprocess{text=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(dotyczy,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul);} end; if(licencjonowanie~=nil)then licencjonowanie=frame:preprocess{text=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(licencjonowanie,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul);} end; if(umowa_prawna~=nil)then umowa_prawna=frame:preprocess{text=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(umowa_prawna,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul);} end; if(konsekwencje~=nil)then konsekwencje=frame:preprocess{text=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(konsekwencje,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul);} end; if(autor~=nil)then tabela_licencji_spisu_tresci={autor, szkoly, email, dotyczy, licencjonowanie, umowa_prawna, konsekwencje}; licencja_z_autorem=false; end; return true; elseif(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"błąd wewnętrzny modułu lua stronicowego parsera"))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"błąd wewnętrzny modułu lua stronicowego parsera"); end; end; end); if(wynik)then break;end; end; end; end; end; end; if(not czy_linia)then AnalizaLiniiObiekty(linia_rozwazana);end; end; end; numer_rozdzialu_w_ksiazce=numer_rozdzialu_w_ksiazce+1; end; local parsuj_rozdzialami=nil; for rozdzial_tab,text,poziom_rozdzialu,poczatek_rozdzialu,numeracja,czy_rozdzial_centrowany in iterator do ---rozdzial_tab[1]=rozdzial;rozdzial_tab[2]=linia rozdziału AnalizaRozdzialu(rozdzial_tab[1],rozdzial_tab[2],text,poziom_rozdzialu,poczatek_rozdzialu,numeracja,czy_rozdzial_centrowany); if(not parsuj_rozdzialami)then parsuj_rozdzialami=true;end end; if(not parsuj_rozdzialami)then AnalizaRozdzialu("Spis treści",nil,tekst_rozwiniety_calego_artykulu,nil,nil,nil,nil); end; --mw.logObject(tabela_artykulow); if(czy_artykul_korzystany)then return tabela_artykulow,tabela_licencji_spisu_tresci,przekierowanie_spisu_tresci; else return tabela_artykulow,nil,przekierowanie_spisu_tresci; end; end; function p.CzyJestStronaInnegoGeneralnegoSpisuRzeczyArtykularnaNaGeneralnymSpiseRzeczyWePodreczniku(tabela_artykulow) local parametry_modul=require("Module:Parametry"); if(not parametry_modul.TypeTable(tabela_artykulow))then return;end; local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty"); local odczyt_jakie_spisy_tresci=stronicowyparser_obiekty_modul.tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu; local jakie_spisy_tresci=parametry_modul["KopiujTabelęElementów"](odczyt_jakie_spisy_tresci); setmetatable(jakie_spisy_tresci,parametry_modul.metatablica_dla_elementowych_miar_tablicy_wedle_niewielkich_liter); for _,tab_lista in ipairs(tabela_artykulow)do if(tab_lista[2])then for _,artykul_w_bazie_element in ipairs(tab_lista[2])do local artykul_w_bazie=artykul_w_bazie_element[1]; local czy_table=stronicowyparser_potrzebne_modul.CzyTabelaStronyWoluminuSpisuRzeczy(artykul_w_bazie); artykul_w_bazie=czy_table and artykul_w_bazie[1] or artykul_w_bazie; local artykul_bez_naglowka_w_bazie=stronicowyparser_potrzebne_modul.TylkoNazwaStronyWoluminuZTabeliPublikacji(artykul_w_bazie); if(jakie_spisy_tresci[artykul_bez_naglowka_w_bazie])then return artykul_bez_naglowka_w_bazie; end; end; end; end; end; function p.ZbieranieInformacjiSpisuRzeczyWoluminuEwentualnieWedleAutonawigacji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,czy_artykul_korzystany,__FUNKCJA_SPISU_RZECZY,__FUNKCJA_ZBIERANIA_DANYCH) local adres_ksiazki_glownego_spisu_tresci=nil; local techniczne_modul=require("Module:Techniczne"); local nazwy_modul=require("Module:Nazwy"); local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); local pelna_nazwa_ksiazki=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,""); local ile2,_=techniczne_modul.PoliczZbiory{[1]=pelna_nazwa_ksiazki,}; if(ile2>0)then local strona_spisu_tresci=techniczne_modul.PrzekierowanieDoStrony(pelna_nazwa_ksiazki); if(strona_spisu_tresci)then local html_modul=require("Module:Html"); strona_spisu_tresci=html_modul.DecodeHtml(strona_spisu_tresci,true); local tabela_nazw={}; local nazwa_przestrzeni2=nazwy_modul["NAZWAPRZESTRZENI"](strona_spisu_tresci,tabela_nazw); local nazwa_przestrzeni_ksiazki2=nazwy_modul["NAZWAPRZESTRZENIKSIĄŻKI"](strona_spisu_tresci,tabela_nazw); local nazwa_ksiazki2=(nazwa_przestrzeni_ksiazki2=="") and nazwy_modul["NAZWAKSIĄŻKI"](strona_spisu_tresci,tabela_nazw) or nazwy_modul["SUBNAZWAKSIĄŻKI"](strona_spisu_tresci,tabela_nazw); ---- if((nazwa_przestrzeni~=nazwa_przestrzeni2)or(nazwa_przestrzeni_ksiazki~=nazwa_przestrzeni_ksiazki2)or(nazwa_ksiazki~=nazwa_ksiazki2))then if(((nazwa_przestrzeni2==nazwy_np_modul.Main)or(nazwa_przestrzeni2==nazwy_np_modul.Wikijunior))or(((nazwa_przestrzeni2==nazwy_np_modul.Wikibooks)or(nazwa_przestrzeni2==nazwy_np_modul.User))and(nazwa_przestrzeni_ksiazki2~="")))then ---- adres_ksiazki_glownego_spisu_tresci={nazwa_przestrzeni2,nazwa_przestrzeni_ksiazki2,nazwa_ksiazki2,}; local wynik=__FUNKCJA_SPISU_RZECZY and __FUNKCJA_SPISU_RZECZY(nazwa_przestrzeni2,nazwa_przestrzeni_ksiazki2,nazwa_ksiazki2) or nil; if((wynik or 0)==1)then return 1; end; ---- nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki=nazwa_przestrzeni2,nazwa_przestrzeni_ksiazki2,nazwa_ksiazki2; pelna_nazwa_ksiazki=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,""); else return 2; end; end; end; end; local parametry_modul=require("Module:Parametry"); local function Spis(tablista_artykulow,spis_tresci,tab_inne_spisy,nazwa_glownego_spisu,numer) if((parametry_modul.TypeTable(tablista_artykulow)) and parametry_modul["CzySąElementyTablicy"](tablista_artykulow))then local czy_spis_tresci_table=parametry_modul.TypeTable(spis_tresci); local spis_tresci_strona=czy_spis_tresci_table and spis_tresci[1] or spis_tresci; ---- local przekierowanie_strona=czy_spis_tresci_table and spis_tresci[2] or nil; local tab_element={[1]={((not spis_tresci) and "Główny spis treści" or ("Spis treści - "..spis_tresci_strona)),{((spis_tresci) and 1 or nil),nil,nil,},["spis"]={spis_tresci_strona or nazwa_glownego_spisu or "",numer}},[2]=nil,[3]=nil,}; --- if(not tablista_artykulow[1][1][2][1])then for numer,tab_lista in ipairs(tablista_artykulow[1])do if(numer>1)then tab_element[numer]=tab_lista; end; end; table.remove(tablista_artykulow,1); end; --- for _,tab_lista in ipairs(tablista_artykulow)do local numer_rozdzialu=tab_lista[1][2][1]; local czy_rozdzial_centrowany=tab_lista[1][2][4]; if(numer_rozdzialu>0)then tab_lista[1][2][1]=numer_rozdzialu+1; end; if(czy_rozdzial_centrowany)then break;end; end; --- numer=numer+1; --- --if(not tablista_artykulow)then tablista_artykulow={};end; ---- table.insert(tablista_artykulow,1,tab_element); if(spis_tresci)then if(not tab_inne_spisy)then tab_inne_spisy={};end; table.insert(tab_inne_spisy,spis_tresci); if(not tablista_artykulow[1][2])then tablista_artykulow[1][2]={};end; local tab_stare={czy_spis_tresci_table and {spis_tresci_strona,nil,przekierowanie_strona} or spis_tresci,{0,"","",true,},"[[:"..pelna_nazwa_ksiazki.."/" ..spis_tresci_strona.."]]",false,}; table.insert(tablista_artykulow[1][2],1,tab_stare); end; end; return tablista_artykulow,tab_inne_spisy,numer; end; local function InneSpisy(tablista_artykulow,tab_inne_spisy,spis_tresci,numer) --mw.logObject(tablista_artykulow,"TYTAn123fhh"); local tablista_artykulow_iter,tablica_licencji,przekierowanie_spisu_tresci=p.ZbieranieInformacjiWoluminuDanegoSpisuRzeczy(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,spis_tresci,false,nil,__FUNKCJA_ZBIERANIA_DANYCH); --mw.logObject(tablista_artykulow_iter,spis_tresci); ---- if((tablista_artykulow_iter)and(parametry_modul.TypeTable(tablista_artykulow_iter)))then tablista_artykulow_iter,tab_inne_spisy,numer=Spis(tablista_artykulow_iter,(not przekierowanie_spisu_tresci)and spis_tresci or {przekierowanie_spisu_tresci,spis_tresci,},tab_inne_spisy,nil,numer); for _,value in ipairs(tablista_artykulow_iter)do if((not tablista_artykulow)or(not parametry_modul.TypeTable(tablista_artykulow)))then tablista_artykulow={};end; table.insert(tablista_artykulow,value); end; end; return tablista_artykulow,tab_inne_spisy,numer; end; local function SpisRzeczy(tabela_artykulow,tab_inne_spisy) local artykul_spisu_rzeczy=p.CzyJestStronaInnegoGeneralnegoSpisuRzeczyArtykularnaNaGeneralnymSpiseRzeczyWePodreczniku(tabela_artykulow) if(artykul_spisu_rzeczy)then local numer=1; tabela_artykulow,tab_inne_spisy,numer=Spis(tabela_artykulow,nil,tab_inne_spisy,"",numer); tabela_artykulow,tab_inne_spisy,numer=InneSpisy(tabela_artykulow,tab_inne_spisy,artykul_spisu_rzeczy,numer); end; return tabela_artykulow,tab_inne_spisy; end; local adres_ustawien=((nazwy_np_modul.Template~="")and (nazwy_np_modul.Template..":") or "").."NawigacjaSpecjalna/Nawigacja/"..pelna_nazwa_ksiazki; ---- adres_ustawien=techniczne_modul.PrzekierowanieDoStrony(adres_ustawien) or adres_ustawien; ---- local tekst=techniczne_modul["WikikodStrony"]{["przestrzeń"]="",["nazwa"]=adres_ustawien,}; if(not tekst)then local tabela_artykulow,tabela_licencji_spisu_tresci,przekierowanie_spisu_tresci=p.ZbieranieInformacjiWoluminuDanegoSpisuRzeczy(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,"",czy_artykul_korzystany,adres_ksiazki_glownego_spisu_tresci,__FUNKCJA_ZBIERANIA_DANYCH); local tab_inne_spisy; tabela_artykulow,tab_inne_spisy=SpisRzeczy(tabela_artykulow,nil); return tabela_artykulow,tabela_licencji_spisu_tresci,(not przekierowanie_spisu_tresci) and "" or {przekierowanie_spisu_tresci,"",},tab_inne_spisy,nil,adres_ksiazki_glownego_spisu_tresci; end; local tablica_analizy_obiektow_strony_dany_modul_uklad_autonawigacji={}; local szablonowe_modul=require("Module:Szablonowe"); local tekst_zakodowany=szablonowe_modul:KodowanieSzablonowegoTekstuZObiektamiWikikodu(tekst,adres_ustawien,tablica_analizy_obiektow_strony_dany_modul_uklad_autonawigacji,nil,nil); local stronicowyparser_obiekty_modul=mw.loadData('Module:StronicowyParser/obiekty'); local iterator=szablonowe_modul:IteratorSzablonowyZakodowanegoTekstu(tekst_zakodowany,adres_ustawien,tablica_analizy_obiektow_strony_dany_modul_uklad_autonawigacji); local szablon_uklad_autonawigacji; local tablica_danych_parametrow_szablonu_strony_uklad_autonawigacji={}; local tabela_parametrow_szablonu_uklad_autonawigacji; local nazwa_szablonu_uklad_autonawigacji; local tabela_modyfikatorow_uklad_autonawigacji; for szablon,obiekt,kod in iterator do if(obiekt=="SZABLON")then local wynik=szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony_uklad_autonawigacji,kod,adres_ustawien,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow) tabela_parametrow_szablonu_uklad_autonawigacji=tabela_parametrow_szablonu; nazwa_szablonu_uklad_autonawigacji=nazwa_szablonu; tabela_modyfikatorow_uklad_autonawigacji=tabela_modyfikatorow; if(nazwa_szablonu==stronicowyparser_obiekty_modul.uklad_autonawigacji)then szablon_uklad_autonawigacji=szablon; return true; end; end); if(wynik)then break;end; end; end; if(not szablon_uklad_autonawigacji)then local tabela_artykulow,tabela_licencji_spisu_tresci,przekierowanie_spisu_tresci=p.ZbieranieInformacjiWoluminuDanegoSpisuRzeczy(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,"",czy_artykul_korzystany,adres_ksiazki_glownego_spisu_tresci,__FUNKCJA_ZBIERANIA_DANYCH); local tab_inne_spisy; tabela_artykulow,tab_inne_spisy=SpisRzeczy(tabela_artykulow,nil); return tabela_artykulow,tabela_licencji_spisu_tresci,(not przekierowanie_spisu_tresci) and "" or {przekierowanie_spisu_tresci,"",},tab_inne_spisy,nil,adres_ksiazki_glownego_spisu_tresci; end; --local tabela_parametrow_szablonu_uklad_autonawigacji,nazwa_szablonu_uklad_autonawigacji,modyfikatory_wywolania=szablonowe_modul["ParsowanieWywołaniaSzablonu"](szablon_uklad_autonawigacji); if(not tabela_parametrow_szablonu_uklad_autonawigacji)then local tabela_artykulow,tabela_licencji_spisu_tresci,przekierowanie_spisu_tresci=p.ZbieranieInformacjiWoluminuDanegoSpisuRzeczy(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,"",czy_artykul_korzystany,adres_ksiazki_glownego_spisu_tresci,__FUNKCJA_ZBIERANIA_DANYCH); local tab_inne_spisy; tabela_artykulow,tab_inne_spisy=SpisRzeczy(tabela_artykulow,nil); return tabela_artykulow,tabela_licencji_spisu_tresci,(not przekierowanie_spisu_tresci) and "" or {przekierowanie_spisu_tresci,"",},tab_inne_spisy,nil,adres_ksiazki_glownego_spisu_tresci; end; local parametry_modul=require("Module:Parametry"); local automat_manualny=tabela_parametrow_szablonu_uklad_autonawigacji["automat manualny"]; ---- local html_modul=require("Module:Html"); ---- local czy_automat_manualny=(automat_manualny) and parametry_modul.CzyTak(automat_manualny) or nil; if(czy_automat_manualny)then local sub_nazwa_spis_tresci; local spis_tresci=tabela_parametrow_szablonu_uklad_autonawigacji["spis treści"]; spis_tresci=spis_tresci and html_modul.DecodeHtml(spis_tresci,true) or nil; if(parametry_modul.CzyTak(spis_tresci))then local nazwy_modul=require("Module:Nazwy"); local tabela_nazw={}; local pelna_nazwa_ksiazki_spisu_tresci=nazwy_modul["PEŁNANAZWAKSIĄŻKI"](spis_tresci,tabela_nazw); if(pelna_nazwa_ksiazki_spisu_tresci==pelna_nazwa_ksiazki)then sub_nazwa_spis_tresci=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](spis_tresci,tabela_nazw); else sub_nazwa_spis_tresci=""; end; else sub_nazwa_spis_tresci=""; end; local tabela_artykulow,tabela_licencji_spisu_tresci,przekierowanie_spisu_tresci=p.ZbieranieInformacjiWoluminuDanegoSpisuRzeczy(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,sub_nazwa_spis_tresci,czy_artykul_korzystany,adres_ksiazki_glownego_spisu_tresci,__FUNKCJA_ZBIERANIA_DANYCH); tabela_artykulow,tab_inne_spisy=SpisRzeczy(tabela_artykulow,nil); return tabela_artykulow,tabela_licencji_spisu_tresci,(not przekierowanie_spisu_tresci) and sub_nazwa_spis_tresci or {przekierowanie_spisu_tresci,sub_nazwa_spis_tresci,},tab_inne_spisy,nil,adres_ksiazki_glownego_spisu_tresci; end; local frame=mw.getCurrentFrame(); for name,value in pairs(tabela_parametrow_szablonu_uklad_autonawigacji)do tabela_parametrow_szablonu_uklad_autonawigacji[name]=frame:preprocess{text=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(value,adres_ustawien,tablica_analizy_obiektow_strony_dany_modul_uklad_autonawigacji,function(szablon,obiekt,kod) if(obiekt=="ZMIENNA")then szablon,_=mw.ustring.gsub(szablon,"{{{([^|{}]*)|([^{}]-)}}}","{{(((}}%1{{!}}%2{{)))}}"); szablon,_=mw.ustring.gsub(szablon,"{{{([^|{}]*)}}}","{{(((}}%1{{)))}}"); return szablon; end; end),}; end; local nazwy_modul=require("Module:Nazwy"); local bez_spisow_tresci=tabela_parametrow_szablonu_uklad_autonawigacji["bez spisów treści"]; local czy_bez_spisow_tresci=(bez_spisow_tresci) and parametry_modul.CzyTak(bez_spisow_tresci) or nil; local bez_analizy_spisow_tresci=tabela_parametrow_szablonu_uklad_autonawigacji["bez analizy spisów treści"]; local czy_bez_analizy_spisow_tresci=(bez_analizy_spisow_tresci) and parametry_modul.CzyTak(bez_analizy_spisow_tresci) or nil; ---- local tab_inne_spisy;local nazwa_glownego_spisu; local tablista_artykulow; local licencja; local numer=1; ---- --local nazwa_modulu=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,""); ---- local tabela_artykulow_ksiazek_wedlug_strony_glownej_podrecznika;local tabela_licencji_ksiazek_wedlug_strony_glownej_podrecznika;local przekierowanie_spisu_tresci; if(not czy_bez_spisow_tresci)then local spis_tresci_main=tabela_parametrow_szablonu_uklad_autonawigacji["spis treści"]; if(spis_tresci_main)then spis_tresci_main=html_modul.DecodeHtml(spis_tresci_main,true); --- spis_tresci_main=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=spis_tresci_main,[2]=pelna_nazwa_ksiazki,}; end; local tabela_nazw={}; local pelna_nazwa_ksiazki_wedlug_glownego_spisu_tresci=parametry_modul.CzyTak(spis_tresci_main) and nazwy_modul["PEŁNANAZWAKSIĄŻKI"](spis_tresci_main,tabela_nazw) or pelna_nazwa_ksiazki; if(pelna_nazwa_ksiazki~=pelna_nazwa_ksiazki_wedlug_glownego_spisu_tresci)then return 0; end; nazwa_glownego_spisu=parametry_modul.CzyTak(spis_tresci_main) and nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](spis_tresci_main,tabela_nazw) or ""; else nazwa_glownego_spisu=""; end; if((not czy_bez_spisow_tresci)and(not czy_bez_analizy_spisow_tresci))then tabela_artykulow_ksiazek_wedlug_strony_glownej_podrecznika,tabela_licencji_ksiazek_wedlug_strony_glownej_podrecznika,przekierowanie_spisu_tresci=p.ZbieranieInformacjiWoluminuDanegoSpisuRzeczy(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_glownego_spisu,czy_artykul_korzystany,adres_ksiazki_glownego_spisu_tresci,__FUNKCJA_ZBIERANIA_DANYCH); if(przekierowanie_spisu_tresci)then nazwa_glownego_spisu={przekierowanie_spisu_tresci,nazwa_glownego_spisu,}; end; if((not tabela_artykulow_ksiazek_wedlug_strony_glownej_podrecznika)or(tabela_artykulow_ksiazek_wedlug_strony_glownej_podrecznika==0))then return tabela_artykulow_ksiazek_wedlug_strony_glownej_podrecznika; end; local IteratorSpisTresci=function() local liczba=1; return function() local spis_tresci=tabela_parametrow_szablonu_uklad_autonawigacji["spis treści "..liczba]; liczba=liczba+1; return spis_tresci; end; end; local iter=IteratorSpisTresci(); tablista_artykulow=tabela_artykulow_ksiazek_wedlug_strony_glownej_podrecznika; licencja=tabela_licencji_ksiazek_wedlug_strony_glownej_podrecznika; tablista_artykulow,tab_inne_spisy,numer=Spis(tablista_artykulow,nil,tab_inne_spisy,nazwa_glownego_spisu,numer); local artykul_spisu_rzeczy=p.CzyJestStronaInnegoGeneralnegoSpisuRzeczyArtykularnaNaGeneralnymSpiseRzeczyWePodreczniku(tablista_artykulow); if(artykul_spisu_rzeczy)then tabela_artykulow,tab_inne_spisy,numer=InneSpisy(tablista_artykulow,tab_inne_spisy,artykul_spisu_rzeczy,numer); end; for spis_tresci in iter do --- if(not parametry_modul.CzyTak(spis_tresci))then return;end; spis_tresci=html_modul.DecodeHtml(spis_tresci,true); spis_tresci=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=spis_tresci,[2]="",}; --- tablista_artykulow,tab_inne_spisy,numer=InneSpisy(tablista_artykulow,tab_inne_spisy,spis_tresci,numer); end; end; ---- local IteratorFun=function() local liczba=1; local STRONA=function(liczba)return liczba*2-1;end; local NAZWA=function(liczba)return liczba*2;end; return function() local strona=tabela_parametrow_szablonu_uklad_autonawigacji[STRONA(liczba)]; local nazwa=tabela_parametrow_szablonu_uklad_autonawigacji[NAZWA(liczba)]; liczba=liczba+1; return strona,nazwa; end; end; local tablica_stron_ksiazki={}; local tablica_stron_inne={}; local iter=IteratorFun(); local ksiazkawe_modul=require("Module:Książkowe"); local pudelko_modul=require("Module:Pudełko"); local wiki_modul=require("Module:Wiki"); local dodatkowe_artykuly=nil; local tablica_artykulow_zebranych={}; local tab_nazwa_spisow_przekierowaniowych={}; local dodatkowe_artykuly=nil; local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne") local tabela_rozdzial_artykulow=nil; ---- local pelna_nazwa_spisu_tresci_bez_nazwy_przestrzeni_szablonowej=(nazwa_przestrzeni and nazwa_przestrzeni_ksiazki and nazwa_ksiazki) and nazwy_modul["NazwaModułu"](((nazwy_np_modul.Template~=nazwa_przestrzeni) and (nazwa_przestrzeni) or ""),nazwa_przestrzeni_ksiazki,nazwa_ksiazki,"") or nil; local pelna_nazwa_spisu_tresci_szablonowa=pelna_nazwa_spisu_tresci_bez_nazwy_przestrzeni_szablonowej and (((nazwa_przestrzeni=="")and ":" or "")..pelna_nazwa_spisu_tresci_bez_nazwy_przestrzeni_szablonowej)or nil; ---- --local tablica_danych_parametrow_szablonu_strony_uklad_autonawigacji={}; ---- for strona,nazwa in iter do local function ZbieranieDanychStronZAutonawigacji() if(not parametry_modul.CzyTak(strona))then return;end; strona=html_modul.DecodeHtml(strona,true); nazwa=parametry_modul.CzyTak(nazwa) and html_modul.DecodeHtml(nazwa,true) or nil; if(not dodatkowe_artykuly)then if((not tablista_artykulow)or(not parametry_modul.TypeTable(tablista_artykulow)))then tablista_artykulow={};end; table.insert(tablista_artykulow,{[1]={"Dodatkowe artykuły",{1,nil,nil},["dodatkowe"]="tak",},[2]=nil,}); tabela_rozdzial_artykulow=tablista_artykulow[#tablista_artykulow]; end; --- strona=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=strona,[2]=pelna_nazwa_ksiazki,}; local WsadzanieParametryDoTablicy=function(tabela_rozdzial_artykulow,numer_rodzaju_artykulow_w_nie_podreczniku,tab_stare) if(not dodatkowe_artykuly)then dodatkowe_artykuly={};end; ---- local czy_table_baza_artykulu=stronicowyparser_potrzebne_modul.CzyTabelaStronyWoluminuSpisuRzeczy(tab_stare[1]); local adres=czy_table_baza_artykulu and tab_stare[1][1] or tab_stare[1]; local czy_w_podreczniku=tab_stare[5]; local kod_jezyka_koncowy=czy_table_baza_artykulu and tab_stare[1][5] or nil; local kod_projektu_koncowy=czy_table_baza_artykulu and tab_stare[1][6] or nil; ---- table.insert(dodatkowe_artykuly,{((adres) and (kod_jezyka_koncowy or kod_projektu_koncowy) and({adres,kod_jezyka_koncowy,kod_projektu_koncowy,}) or adres),nazwa,czy_w_podreczniku,}); ---- table.insert(tabela_rozdzial_artykulow[numer_rodzaju_artykulow_w_nie_podreczniku],tab_stare); end; local numer_rodzaju_artykulu_poprz,tab_pozycja_elementow_w_spisie_rzeczy; numer_rodzaju_artykulu_poprz,tab_pozycja_elementow_w_spisie_rzeczy,tablica_artykulow_zebranych=WstawianieElementowychZarejestrowanychStronDoBazyWoluminu(self,WsadzanieParametryDoTablicy,tabela_rozdzial_artykulow,tablica_artykulow_zebranych,true,{strona,nazwa,},nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,"",pelna_nazwa_spisu_tresci_szablonowa,pelna_nazwa_ksiazki,tablica_analizy_obiektow_strony_dany_modul_uklad_autonawigacji,tablica_danych_parametrow_szablonu_strony_uklad_autonawigacji,nil,nil,tab_nazwa_spisow_przekierowaniowych,--[[]]"*","",false,"[[:"..strona..((parametry_modul.CzyTak(nazwa))and("|"..nazwa) or "").."]]"); end; ZbieranieDanychStronZAutonawigacji(); end; ---- return tablista_artykulow,licencja,nazwa_glownego_spisu,tab_inne_spisy,dodatkowe_artykuly,adres_ksiazki_glownego_spisu_tresci; end; return p; 5h7a0gxfowhpf7tda4pa3ned1au5x8n 544493 544488 2026-05-28T06:33:24Z Persino 2851 544493 Scribunto text/plain local p={}; local function Ile(numer_rodzaju_artykulu,tabela_rozdzial_artykulow) local parametry_modul=require("Module:Parametry"); local ile=0; for i,tabela_rozdzial_artykulow_i in pairs(tabela_rozdzial_artykulow)do i=parametry_modul.TypeNumber(i) and i or nil; if((i)and(i>1))then ile=ile+#(tabela_rozdzial_artykulow_i or {}); end; end; return ile; end; local function WstawianieElementowychZarejestrowanychStronDoBazyWoluminu(self,__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY,tabela_rozdzial_artykulow,tablica_artykulow_zebranych,wliczaj_artykuly_tego_rozdzialu,szablon,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,obiekt,kod,tab_nazwa_spisow_przekierowaniowych,--[[]]przedrostek_listy,tekstowy_przedrostek,w_rozdziale,linia_artykokow--[[]]) local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local tab_pozycja_elementow_w_spisie_rzeczy,numer_rodzaju_artykulu,id,parametry_szablonu,kom=stronicowyparser_potrzebne_modul.AnalizujLinkSzablonyOrazLinki(szablon,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,nil,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,obiekt,kod,tab_nazwa_spisow_przekierowaniowych); --- local numer_rodzaju_artykulu_poprz=numer_rodzaju_artykulu; if(numer_rodzaju_artykulu)then --mw.log(szablon,numer_rodzaju_artykulu,wliczaj_artykuly_tego_rozdzialu) numer_rodzaju_artykulu=(wliczaj_artykuly_tego_rozdzialu)and numer_rodzaju_artykulu or (numer_rodzaju_artykulu+6); end; --- --Rozdzialy początek local znaki_niedozwolone; local function ParametrPierwszy(tab_artykul,czy_niedozwolone) local artykul=tab_artykul[1]; local parametry=tab_artykul[2]; local naglowek=tab_artykul[3]; local tablica_przekierowania=tab_artykul[4]; ---- local znaki_niedozwolone; if(czy_niedozwolone)then znaki_niedozwolone=mw.ustring.match(artykul,"[|<>{}%[%]]"); end; ---- --if(artykul)then --artykul=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(artykul,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul); --artykul=parametry_modul["Odstępy"]{[1]=artykul,[2]="tak",} --artykul=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](artykul); --end; ---- --if(parametry)then -- parametry=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(parametry,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul) -- parametry=parametry_modul["Odstępy"]{[1]=parametry,[2]="tak",} -- parametry=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](parametry); --end; ---- --if(naglowek)then -- naglowek=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(naglowek,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul); -- naglowek=parametry_modul["Odstępy"]{[1]=naglowek,[2]="tak",} -- naglowek=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](naglowek); --end; ---- tab_artykul=((artykul)and(parametry or naglowek))and{[1]=artykul,[2]=parametry,[3]=naglowek,["LINK"]=true,} or artykul; return tab_artykul,znaki_niedozwolone,tablica_przekierowania; end; local parametry_modul=require("Module:Parametry"); local szablonowe_modul=require("Module:Szablonowe"); local techniczne_modul=require("Module:Techniczne"); local stronicowyparser_rozdzialy_modul=require("Module:StronicowyParser/Rozdziały"); local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty"); local szablony_dozwolone_w_nazwach_linkowych=stronicowyparser_obiekty_modul.szablony_dozwolone_w_nazwach_linkowych; local szablony_rozwijane_przez_javascript_nazwowe_linkowe=stronicowyparser_obiekty_modul.szablony_rozwijane_przez_javascript_nazwowe_linkowe; ---- local function RozwijanieNazwy(szablon,obiekt,kod) if(obiekt=="SZABLON")then local tab_szablony=stronicowyparser_obiekty_modul.szablony_stronicowego_parsera.szablony_kontenerowe; local tab_szablony_stronicowe_niekontenerowe=stronicowyparser_obiekty_modul.szablony_stronicowe_niekontenerowe; local tab_szablony_stronicowe_formatowania_tekstu=stronicowyparser_obiekty_modul.szablony_stronicowe_formatowania_tekstu; local tab_szablony_stronicowe_kontenerowe_formatowania_wzorowego=stronicowyparser_obiekty_modul.szablony_stronicowe_kontenerowe_formatowania_wzorowego; ---- local wynik=stronicowyparser_rozdzialy_modul.ObiektySzablonoweFormatowaniaTekstu(szablon,szablony_dozwolone_w_nazwach_linkowych,pelna_nazwa_spisu_tresci_szablonowa,tablica_danych_parametrow_szablonu_strony,kod); if(not wynik)then local wynik,jaki_wynik=szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,pelna_nazwa_spisu_tresci_szablonowa,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow) if(szablony_rozwijane_przez_javascript_nazwowe_linkowe[nazwa_szablonu])then local szablon=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(szablon,nil,tablica_analizy_obiektow_strony_dany_modul, function(szablon,obiekt,kod) if(obiekt=="SZABLON")then local wynik=szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,pelna_nazwa_spisu_tresci_szablonowa,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow) if( (tab_szablony[nazwa_szablonu]) or(tab_szablony_stronicowe_niekontenerowe[nazwa_szablonu]) or(tab_szablony_stronicowe_formatowania_tekstu[nazwa_szablonu]) or(tab_szablony_stronicowe_kontenerowe_formatowania_wzorowego[nazwa_szablonu]) )then tabela_parametrow_szablonu["nazwa przestrzeni nazw"]=tabela_parametrow_szablonu["nazwa przestrzeni nazw"] or nazwa_przestrzeni; tabela_parametrow_szablonu["nazwa jednostki"]=tabela_parametrow_szablonu["nazwa jednostki"] or (((nazwa_przestrzeni_ksiazki~="") and (nazwa_przestrzeni_ksiazki.."/") or "")..nazwa_ksiazki..((nazwa_spisu_tresci~="") and ("/"..nazwa_spisu_tresci) or "")); return szablonowe_modul.KodSymbolicznySzablonu(nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow,true); end; end); if(wynik)then return wynik;end; end; end); return szablon,true; elseif(nazwa_szablonu=="Br")then return " ",false; elseif( (tab_szablony[nazwa_szablonu]) or(tab_szablony_stronicowe_niekontenerowe[nazwa_szablonu]) or(tab_szablony_stronicowe_formatowania_tekstu[nazwa_szablonu]) or(tab_szablony_stronicowe_kontenerowe_formatowania_wzorowego[nazwa_szablonu]) )then tabela_parametrow_szablonu["nazwa przestrzeni nazw"]=tabela_parametrow_szablonu["nazwa przestrzeni nazw"] or nazwa_przestrzeni; tabela_parametrow_szablonu["nazwa jednostki"]=tabela_parametrow_szablonu["nazwa jednostki"] or (((nazwa_przestrzeni_ksiazki~="") and (nazwa_przestrzeni_ksiazki.."/") or "")..nazwa_ksiazki..((nazwa_spisu_tresci~="") and ("/"..nazwa_spisu_tresci) or "")); return szablonowe_modul.KodSymbolicznySzablonu(nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow,true),true; end; end); if(wynik)then return wynik,jaki_wynik;end; else return wynik,false; end; return nil,true; elseif(obiekt=="ZNACZNIK")then local nazwa,zawartosc,atrybuty=szablonowe_modul.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeZnacznika(szablon,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod); if(nazwa=="br")then return " "; end; end; return szablon; end; if((numer_rodzaju_artykulu_poprz)and(numer_rodzaju_artykulu_poprz==1)and(tab_pozycja_elementow_w_spisie_rzeczy)and(tab_pozycja_elementow_w_spisie_rzeczy[1]))then local numer_rodzaju_artykulu_w_podreczniku=numer_rodzaju_artykulu+1; local czy_tablica=nil;local tablica_przekierowania=nil; if(tab_pozycja_elementow_w_spisie_rzeczy[1])then czy_tablica=parametry_modul.TypeTable(tab_pozycja_elementow_w_spisie_rzeczy[1]); if(not czy_tablica)then --tab_pozycja_elementow_w_spisie_rzeczy[1]=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(tab_pozycja_elementow_w_spisie_rzeczy[1],nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul); --tab_pozycja_elementow_w_spisie_rzeczy[1]=parametry_modul["Odstępy"]{[1]=tab_pozycja_elementow_w_spisie_rzeczy[1],[2]="tak",} --tab_pozycja_elementow_w_spisie_rzeczy[1]=html_modul["TransformacjaKoduHtmlDoZnakuCiągu"](tab_pozycja_elementow_w_spisie_rzeczy[1]); znaki_niedozwolone=mw.ustring.match(tab_pozycja_elementow_w_spisie_rzeczy[1],"[|<>{}%[%]]"); tablica_artykulow_zebranych={tab_pozycja_elementow_w_spisie_rzeczy[1],0,false,}; else tab_pozycja_elementow_w_spisie_rzeczy[1],znaki_niedozwolone,tablica_przekierowania=ParametrPierwszy(tab_pozycja_elementow_w_spisie_rzeczy[1],true); local czy_inna_ksiazka=tablica_przekierowania and tablica_przekierowania[1] and tablica_przekierowania[1][5] or nil; if(not czy_inna_ksiazka)then czy_tablica=parametry_modul.TypeTable(tab_pozycja_elementow_w_spisie_rzeczy[1]); else local artykul=tablica_przekierowania[2]; local parametry=tablica_przekierowania[3]; local naglowek=tablica_przekierowania[4]; czy_tablica=(artykul)and(parametry or naglowek); end; if(not czy_tablica)then local aktualny_artykul_ksiazki; if(not czy_inna_ksiazka)then aktualny_artykul_ksiazki=tab_pozycja_elementow_w_spisie_rzeczy[1]; else aktualny_artykul_ksiazki=tablica_przekierowania[2] or (parametry_modul.TypeTable(tab_pozycja_elementow_w_spisie_rzeczy[1])and tab_pozycja_elementow_w_spisie_rzeczy[1][1] or tab_pozycja_elementow_w_spisie_rzeczy[1]); end; tablica_artykulow_zebranych={aktualny_artykul_ksiazki,0,false,}; else local aktualny_artykul_ksiazki; if(not czy_inna_ksiazka)then aktualny_artykul_ksiazki=tab_pozycja_elementow_w_spisie_rzeczy[1][1]; else aktualny_artykul_ksiazki=tablica_przekierowania[2] or (parametry_modul.TypeTable(tab_pozycja_elementow_w_spisie_rzeczy[1])and tab_pozycja_elementow_w_spisie_rzeczy[1][1] or tab_pozycja_elementow_w_spisie_rzeczy[1]); end; if(tablica_artykulow_zebranych[1]~=aktualny_artykul_ksiazki)then tablica_artykulow_zebranych={aktualny_artykul_ksiazki,0,false,}; else tablica_artykulow_zebranych[3]=true; end; end; end; end; ---- local szablonowe_modul=require("Module:Szablonowe"); ---- if(tab_pozycja_elementow_w_spisie_rzeczy[2])then local czy_szablon_wszystko=false; tab_pozycja_elementow_w_spisie_rzeczy[2]=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(tab_pozycja_elementow_w_spisie_rzeczy[2],nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod) local wynik,czy_szablon=RozwijanieNazwy(szablon,obiekt,kod); czy_szablon_wszystko=czy_szablon_wszystko or czy_szablon; return wynik; end); if(czy_szablon_wszystko)then local frame=mw.getCurrentFrame(); tab_pozycja_elementow_w_spisie_rzeczy[2]=frame:preprocess(tab_pozycja_elementow_w_spisie_rzeczy[2]); end; local specjalne_modul=require("Module:Specjalne"); tab_pozycja_elementow_w_spisie_rzeczy[2]=specjalne_modul["UsuńZnakiSpecjalne"](tab_pozycja_elementow_w_spisie_rzeczy[2]); tab_pozycja_elementow_w_spisie_rzeczy[2]=parametry_modul["Odstępy"]{[1]=tab_pozycja_elementow_w_spisie_rzeczy[2],[2]="tak",[4]="tak",}; end; ---- if(znaki_niedozwolone)then local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); if(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"niedozwolone znaki w spisach treści"))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"niedozwolone znaki w spisach treści"); end; end; local nazwa_jednostki=stronicowyparser_potrzebne_modul.UzyskanieTylkoNazwyLubTabeliNazwyLinkuStronyWoluminuZTabeliZParametramiOrazIdentyfikatorem(tab_pozycja_elementow_w_spisie_rzeczy[1],false); local stara_nazwa_jednostki=nazwa_jednostki; if(not tabela_rozdzial_artykulow[numer_rodzaju_artykulu_w_podreczniku])then tabela_rozdzial_artykulow[numer_rodzaju_artykulu_w_podreczniku]={};end; --local linia_artykokow=--[[(not przerwij) and ]]tab_linia[k]--[[ or szablon]]; linia_artykokow=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(linia_artykokow,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul); --local przekierowanie=pelna_nazwa_ksiazki..((nazwa_jednostki~="") and ("/"..nazwa_jednostki) or ""); --local strona=techniczne_modul.PrzekierowanieDoStrony(przekierowanie); --local strona=(tablica_przekierowania) local przekierowanie; if(--[[strona--]]tablica_przekierowania)then --nazwa_jednostki=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](strona); --przekierowanie=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](przekierowanie) przekierowanie=tablica_przekierowania[2]; if((czy_tablica)and(stara_nazwa_jednostki~=""))then przekierowanie=przekierowanie and ((tablica_przekierowania[3] or tablica_przekierowania[4]) and {przekierowanie, tablica_przekierowania[3], tablica_przekierowania[4],["LINK"]=true,} or przekierowanie ) or nil; nazwa_jednostki={nazwa_jednostki, tab_pozycja_elementow_w_spisie_rzeczy[1][2], tab_pozycja_elementow_w_spisie_rzeczy[1][3],["LINK"]=true,}; local czy_w_tab=tablica_artykulow_zebranych[2]; local czy_wsadzac=tablica_artykulow_zebranych[3]; if((not czy_wsadzac)and(czy_w_tab==0)and(tablica_artykulow_zebranych[1]==stara_nazwa_jednostki))then local tab_stare={{stara_nazwa_jednostki,tab_pozycja_elementow_w_spisie_rzeczy[2],tablica_przekierowania and (tablica_przekierowania[2] and przekierowanie or nil) or nil,((tablica_przekierowania)and(tablica_przekierowania[1])) and tablica_przekierowania[1] or nil,nil,nil,tab_pozycja_elementow_w_spisie_rzeczy[5],true,tab_pozycja_elementow_w_spisie_rzeczy[6],},{#przedrostek_listy,przedrostek_listy,tekstowy_przedrostek,w_rozdziale,},linia_artykokow,id,true,}; --table.insert(tabela_rozdzial_artykulow[numer_rodzaju_artykulu_w_podreczniku],tab_stare); --WsadzanieParametryDoTablicy(tabela_rozdzial_artykulow,numer_rodzaju_artykulu_w_podreczniku,tab_stare); __FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY(tabela_rozdzial_artykulow,numer_rodzaju_artykulu_w_podreczniku,tab_stare); tablica_artykulow_zebranych[2]=1; end; end; else nazwa_jednostki=tab_pozycja_elementow_w_spisie_rzeczy[1]; if((czy_tablica)and(stara_nazwa_jednostki~=""))then local czy_w_tab=tablica_artykulow_zebranych[2]; local czy_wsadzac=tablica_artykulow_zebranych[3]; if((not czy_wsadzac)and(czy_w_tab==0)and(tablica_artykulow_zebranych[1]==stara_nazwa_jednostki))then local tab_stare={{stara_nazwa_jednostki,tab_pozycja_elementow_w_spisie_rzeczy[2],nil,nil,nil,nil,tab_pozycja_elementow_w_spisie_rzeczy[5],true,tab_pozycja_elementow_w_spisie_rzeczy[6],},{#przedrostek_listy,przedrostek_listy,tekstowy_przedrostek,w_rozdziale,},linia_artykokow,id,true,}; --table.insert(tabela_rozdzial_artykulow[numer_rodzaju_artykulu_w_podreczniku],tab_stare); --WsadzanieParametryDoTablicy(tabela_rozdzial_artykulow,numer_rodzaju_artykulu_w_podreczniku,tab_stare); __FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY(tabela_rozdzial_artykulow,numer_rodzaju_artykulu_w_podreczniku,tab_stare); tablica_artykulow_zebranych[2]=1; end; end; end; local ile_dodac_do_poziomu_artykulu=tablica_artykulow_zebranych[2]; local ile_dodac_do_poziomu_artykulu_lub_nil=((ile_dodac_do_poziomu_artykulu)and(ile_dodac_do_poziomu_artykulu>0))and ile_dodac_do_poziomu_artykulu or nil; local tab_stare={((tab_pozycja_elementow_w_spisie_rzeczy[2] or tablica_przekierowania or tab_pozycja_elementow_w_spisie_rzeczy[5] or tab_pozycja_elementow_w_spisie_rzeczy[6] or ile_dodac_do_poziomu_artykulu_lub_nil) and ({nazwa_jednostki,tab_pozycja_elementow_w_spisie_rzeczy[2],tablica_przekierowania and (tablica_przekierowania[2] and przekierowanie or nil) or nil,((tablica_przekierowania)and(tablica_przekierowania[1])) and tablica_przekierowania[1] or nil,nil,nil,tab_pozycja_elementow_w_spisie_rzeczy[5],ile_dodac_do_poziomu_artykulu_lub_nil,tab_pozycja_elementow_w_spisie_rzeczy[6],}) or nazwa_jednostki),{#przedrostek_listy--[[+(ile_dodac_do_poziomu_artykulu and ile_dodac_do_poziomu_artykulu or 0)]],przedrostek_listy,tekstowy_przedrostek,w_rozdziale,},linia_artykokow,id,true,(numer_rodzaju_artykulu>1) and (Ile(numer_rodzaju_artykulu,tabela_rozdzial_artykulow)) or nil,}; --table.insert(tabela_rozdzial_artykulow[numer_rodzaju_artykulu_w_podreczniku],tab_stare); --WsadzanieParametryDoTablicy(tabela_rozdzial_artykulow,numer_rodzaju_artykulu_w_podreczniku,tab_stare); --mw.logObject(tab_stare,"TYTAN1") __FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY(tabela_rozdzial_artykulow,numer_rodzaju_artykulu_w_podreczniku,tab_stare); --mw.logObject(tabela_rozdzial_artykulow,"TYTAN2") elseif((numer_rodzaju_artykulu_poprz)and(numer_rodzaju_artykulu_poprz>=2)and(tab_pozycja_elementow_w_spisie_rzeczy)and(tab_pozycja_elementow_w_spisie_rzeczy[1]))then if(tab_pozycja_elementow_w_spisie_rzeczy[1])then if(not parametry_modul.TypeTable(tab_pozycja_elementow_w_spisie_rzeczy[1]))then --tab_pozycja_elementow_w_spisie_rzeczy[1]=parametry_modul["Odstępy"]{[1]=tab_pozycja_elementow_w_spisie_rzeczy[1],[2]="tak",}; --tab_pozycja_elementow_w_spisie_rzeczy[1]=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(tab_pozycja_elementow_w_spisie_rzeczy[1],nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul); else tab_pozycja_elementow_w_spisie_rzeczy[1]=ParametrPierwszy(tab_pozycja_elementow_w_spisie_rzeczy[1],false); end; end; local szablonowe_modul=require("Module:Szablonowe"); if(tab_pozycja_elementow_w_spisie_rzeczy[2])then local czy_szablon_wszystko=false; tab_pozycja_elementow_w_spisie_rzeczy[2]=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(tab_pozycja_elementow_w_spisie_rzeczy[2],nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod) local wynik,czy_szablon=RozwijanieNazwy(szablon,obiekt,kod); czy_szablon_wszystko=czy_szablon_wszystko or czy_szablon; return wynik; end); if(czy_szablon_wszystko)then local frame=mw.getCurrentFrame(); tab_pozycja_elementow_w_spisie_rzeczy[2]=frame:preprocess(tab_pozycja_elementow_w_spisie_rzeczy[2]); end; local specjalne_modul=require("Module:Specjalne"); tab_pozycja_elementow_w_spisie_rzeczy[2]=specjalne_modul["UsuńZnakiSpecjalne"](tab_pozycja_elementow_w_spisie_rzeczy[2]); tab_pozycja_elementow_w_spisie_rzeczy[2]=parametry_modul["Odstępy"]{[1]=tab_pozycja_elementow_w_spisie_rzeczy[2],[2]="tak",[4]="tak",}; end; if(tab_pozycja_elementow_w_spisie_rzeczy[3])then tab_pozycja_elementow_w_spisie_rzeczy[3]=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(tab_pozycja_elementow_w_spisie_rzeczy[3],nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul); tab_pozycja_elementow_w_spisie_rzeczy[3]=parametry_modul["Odstępy"]{[1]=tab_pozycja_elementow_w_spisie_rzeczy[3],[2]="tak",[4]="tak",}; end; if(tab_pozycja_elementow_w_spisie_rzeczy[4])then tab_pozycja_elementow_w_spisie_rzeczy[4]=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(tab_pozycja_elementow_w_spisie_rzeczy[4],nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul); tab_pozycja_elementow_w_spisie_rzeczy[4]=parametry_modul["Odstępy"]{[1]=tab_pozycja_elementow_w_spisie_rzeczy[4],[2]="tak",[4]="tak",}; end; local wiki_modul=require("Module:Wiki"); ----- local numer_rodzaju_artykulow_w_nie_podreczniku=numer_rodzaju_artykulu+1; ----- if(not tabela_rozdzial_artykulow[numer_rodzaju_artykulow_w_nie_podreczniku])then tabela_rozdzial_artykulow[numer_rodzaju_artykulow_w_nie_podreczniku]={}; end; --local linia_artykokow=--[[(not przerwij) and ]]tab_linia[k]--[[ or szablon]]; linia_artykokow=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(linia_artykokow,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul); local tab_stare={((tab_pozycja_elementow_w_spisie_rzeczy[1])and((tab_pozycja_elementow_w_spisie_rzeczy[2])or(tab_pozycja_elementow_w_spisie_rzeczy[3])or(tab_pozycja_elementow_w_spisie_rzeczy[4])or(tab_pozycja_elementow_w_spisie_rzeczy[5])))and({tab_pozycja_elementow_w_spisie_rzeczy[1],tab_pozycja_elementow_w_spisie_rzeczy[2],nil,nil,tab_pozycja_elementow_w_spisie_rzeczy[3],tab_pozycja_elementow_w_spisie_rzeczy[4],tab_pozycja_elementow_w_spisie_rzeczy[5],nil,tab_pozycja_elementow_w_spisie_rzeczy[6],}) or tab_pozycja_elementow_w_spisie_rzeczy[1],{#przedrostek_listy,przedrostek_listy,tekstowy_przedrostek,w_rozdziale,},linia_artykokow,false,false,Ile(numer_rodzaju_artykulu,tabela_rozdzial_artykulow),}; --table.insert(tabela_rozdzial_artykulow[numer_rodzaju_artykulow_w_nie_podreczniku],tab_stare); --WsadzanieParametryDoTablicy(tabela_rozdzial_artykulow,numer_rodzaju_artykulow_w_nie_podreczniku,tab_stare); __FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY(tabela_rozdzial_artykulow,numer_rodzaju_artykulow_w_nie_podreczniku,tab_stare); end; --mw.logObject(tabela_rozdzial_artykulow,"TYTAN") return numer_rodzaju_artykulu_poprz,tab_pozycja_elementow_w_spisie_rzeczy,tablica_artykulow_zebranych; end; function p.AnalizaNapisuWprowadzeniaTekstu(rozdzial,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) local specjalne_modul=require("Module:Specjalne"); local szablonowe_modul=require("Module:Szablonowe"); local html_modul=require("Module:Html"); local parametry_modul=require("Module:Parametry"); local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty"); local stronicowyparser_rozdzialy_modul=require("Module:StronicowyParser/Rozdziały"); local rozdzial_na_tekst=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(rozdzial,nil,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod) if(obiekt=="SZABLON")then ----- local szablony_dozwolone_w_napisach_do_wprowadzenia_tekstu=stronicowyparser_obiekty_modul.szablony_dozwolone_w_napisach_do_wprowadzenia_tekstu; local szablony_dozwolone_w_nazwach_linkowych=stronicowyparser_obiekty_modul.szablony_dozwolone_w_nazwach_linkowych; local szablony_rozwijane_przez_javascript_w_napisach_wprowadzenia_tekstu=stronicowyparser_obiekty_modul.szablony_rozwijane_przez_javascript_w_napisach_wprowadzenia_tekstu; ----- local wynik=stronicowyparser_rozdzialy_modul.ObiektySzablonoweFormatowaniaTekstu(szablon,szablony_dozwolone_w_napisach_do_wprowadzenia_tekstu,pelna_nazwa_spisu_tresci_szablonowa,tablica_danych_parametrow_szablonu_strony,kod); if(wynik)then return wynik;end; local wynik=stronicowyparser_rozdzialy_modul.ObiektySzablonoweFormatowaniaTekstu(szablon,szablony_dozwolone_w_nazwach_linkowych,pelna_nazwa_spisu_tresci_szablonowa,tablica_danych_parametrow_szablonu_strony,kod); if(wynik)then return wynik;end; ---- local dodatek=stronicowyparser_rozdzialy_modul.ObiektySzablonoweUzyskiwaniaUruchomieniaTekstu(szablon,pelna_nazwa_spisu_tresci_szablonowa,tablica_danych_parametrow_szablonu_strony,kod); if(dodatek)then return dodatek;end; local wynik=szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,pelna_nazwa_spisu_tresci_szablonowa,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow) ---- local tab_szablon_link_intelignetny=stronicowyparser_potrzebne_modul.PodzielNaElementyNazwowyWikiLinkInteligentny(nazwa_szablonu,tablica_danych_parametrow_szablonu_strony,kod); if(tab_szablon_link_intelignetny)then return (not tab_szablon_link_intelignetny[4]) and tabela_parametrow_szablonu[2] or tabela_parametrow_szablonu[1]; else local nazwa_zamiast_linku=stronicowyparser_potrzebne_modul.NazwaInnegoSzablonowegoLinkowegoObiektu(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,tablica_danych_parametrow_szablonu_strony,kod); if(nazwa_zamiast_linku)then return nazwa_zamiast_linku;end; end; local nazwa_zamiast_linku=stronicowyparser_potrzebne_modul.NazwaInnegoSzablonowegoLinkowegoSpisuRzeczy(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,tablica_danych_parametrow_szablonu_strony,kod); if(nazwa_zamiast_linku)then return nazwa_zamiast_linku;end; ---- if(szablony_rozwijane_przez_javascript_w_napisach_wprowadzenia_tekstu[nazwa_szablonu])then local szablon=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(szablon,nil,tablica_analizy_obiektow_strony_dany_modul); return szablon; end; end); if(wynik)then return wynik;end; ---- local rozdzial_na_tekst=mw.ustring.gsub(szablon,"^{{[^{}|]*|([^{}|]*).*}}$","%1"); return rozdzial_na_tekst; elseif(obiekt=="NOWIKI")then local nazwa,zawartosc,tab_atrybuty=szablonowe_modul.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguNowiki(szablon,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod); if(zawartosc)then local rozdzial_na_tekst=html_modul.ZnakiSpecjalneTaguNowiki(zawartosc); return rozdzial_na_tekst; else return ""; end; elseif(obiekt=="PRE")then local nazwa,zawartosc,tab_atrybuty=szablonowe_modul.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguPre(szablon,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod); if(zawartosc)then local rozdzial_na_tekst=html_modul.ZnakiSpecjalneTaguNowiki(zawartosc); return rozdzial_na_tekst; else return ""; end; elseif(obiekt=="ŹRÓDŁO")then local nazwa,zawartosc,tab_atrybuty=szablonowe_modul.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguSyntaxHighLight(szablon,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod); if(zawartosc)then local rozdzial_na_tekst=html_modul.ZnakiSpecjalneTaguNowiki(zawartosc); return rozdzial_na_tekst; else return ""; end; elseif((obiekt~="MATH")and(obiekt~="GALERIA")and(obiekt~="MAPAOBRAZU")and(obiekt~="INNEPRE"))then local rozdzial_na_tekst=specjalne_modul["UsuńKomentarze"](szablon); rozdzial_na_tekst=specjalne_modul["ZamieńLinkiZewnętrzneNaTekst"](rozdzial_na_tekst); rozdzial_na_tekst=specjalne_modul["ZamieńLinkiWewnętrzneNaTekst"](rozdzial_na_tekst); rozdzial_na_tekst=specjalne_modul["UsuńSzablonyStylów"](rozdzial_na_tekst); rozdzial_na_tekst=specjalne_modul["UsuńZnaczniki"](rozdzial_na_tekst); rozdzial_na_tekst=specjalne_modul["UsuńKategorie"](rozdzial_na_tekst); rozdzial_na_tekst=specjalne_modul["UsuńWywołaniaPlików"](rozdzial_na_tekst); rozdzial_na_tekst=specjalne_modul["UsuńInterwiki"](rozdzial_na_tekst); rozdzial_na_tekst=specjalne_modul["UsuńZnakiSpecjalne"](rozdzial_na_tekst); return rozdzial_na_tekst; else return ""; end; end); ---- rozdzial_na_tekst=specjalne_modul["UsuńZnakiSpecjalne"](rozdzial_na_tekst); rozdzial_na_tekst=specjalne_modul["UsuńZbędneBiałeZnaki"](rozdzial_na_tekst); return rozdzial_na_tekst; end; function p.ZbieranieInformacjiWoluminuDanegoSpisuRzeczy(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,czy_artykul_korzystany,adres_ksiazki_glownego_spisu_tresci,__FUNKCJA_ZBIERANIA_DANYCH) local parametry_modul=require("Module:Parametry"); if((not nazwa_przestrzeni)or(not nazwa_przestrzeni_ksiazki)or(not nazwa_ksiazki))then return 0;end; local nazwy_modul=require("Module:Nazwy"); local pelna_nazwa_ksiazki=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,""); local nazwa_modulu=pelna_nazwa_ksiazki..((nazwa_spisu_tresci~="")and("/"..nazwa_spisu_tresci) or ""); --- local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); local pelna_nazwa_spisu_tresci_bez_nazwy_przestrzeni_szablonowej=(nazwa_przestrzeni and nazwa_przestrzeni_ksiazki and nazwa_ksiazki and nazwa_spisu_tresci) and nazwy_modul["NazwaModułu"](((nazwy_np_modul.Template~=nazwa_przestrzeni) and (nazwa_przestrzeni) or ""),nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci) or nil; local pelna_nazwa_spisu_tresci_szablonowa=pelna_nazwa_spisu_tresci_bez_nazwy_przestrzeni_szablonowej and (((nazwa_przestrzeni=="")and ":" or "")..pelna_nazwa_spisu_tresci_bez_nazwy_przestrzeni_szablonowej)or nil; --- local techniczne_modul=require("Module:Techniczne"); local szablonowe_modul=require("Module:Szablonowe"); local strona=techniczne_modul.PrzekierowanieDoStrony(nazwa_modulu); local przekierowanie_spisu_tresci=nil; local tab_nazwa_spisow_przekierowaniowych={}; --[[if(adres_ksiazki_glownego_spisu_tresci)then if(not tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni])then tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni]={};end; if(not tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni][nazwa_przestrzeni_ksiazki])then tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni][nazwa_przestrzeni_ksiazki]={};end; if(not tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki])then tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki]=true;end; end;]] --if(adres_ksiazki_glownego_spisu_tresci)then -- local nazwa_przestrzeni=adres_ksiazki_glownego_spisu_tresci[1]; -- local nazwa_przestrzeni_ksiazki=adres_ksiazki_glownego_spisu_tresci[2]; -- local nazwa_ksiazki=adres_ksiazki_glownego_spisu_tresci[3]; -- if(not tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni])then tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni]={};end; -- if(not tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni][nazwa_przestrzeni_ksiazki])then tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni][nazwa_przestrzeni_ksiazki]={};end; -- if(not tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki])then tab_nazwa_spisow_przekierowaniowych[nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki]=true;end; -- end; if(strona)then local html_modul=require("Module:Html"); strona=html_modul.DecodeHtml(strona,true); local tabela_nazw={}; local pelna_nazwa_ksiazki_przekierowania=nazwy_modul["PEŁNANAZWAKSIĄŻKI"](strona,tabela_nazw); if(pelna_nazwa_ksiazki_przekierowania~=pelna_nazwa_ksiazki)then return 0;end; nazwa_modulu=nazwy_modul["PEŁNANAZWASTRONY"](strona,tabela_nazw); nazwa_spisu_tresci=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](strona,tabela_nazw); przekierowanie_spisu_tresci=nazwa_spisu_tresci; ---- pelna_nazwa_spisu_tresci_bez_nazwy_przestrzeni_szablonowej=(nazwa_przestrzeni and nazwa_przestrzeni_ksiazki and nazwa_ksiazki and nazwa_spisu_tresci) and nazwy_modul["NazwaModułu"](((nazwy_np_modul.Template~=nazwa_przestrzeni) and (nazwa_przestrzeni) or ""),nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci) or nil; pelna_nazwa_spisu_tresci_szablonowa=pelna_nazwa_spisu_tresci_bez_nazwy_przestrzeni_szablonowej and (((nazwa_przestrzeni=="")and ":" or "")..pelna_nazwa_spisu_tresci_bez_nazwy_przestrzeni_szablonowej)or nil; end; local stronicowyparser_tekst_modul=require("Module:StronicowyParser/Tekst"); --local tekst_rozwiniety_calego_artykulu=stronicowyparser_tekst_modul.SpreparowanyWikikodStrony(nil,nazwa_modulu,true); local __FUNKCJA_PARAMETRY=nil; local tekst_rozwiniety_calego_artykulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony=stronicowyparser_tekst_modul:RekurencyjnyZakodowanoSpreparowanyWikikodStrony(nazwa_modulu,false,nil,nil,function(tekst_artykulu,nazwa_modulu_szablonu_opisu,nazwa_strony_bez_kodow_html,szablony_magiczne,tabela_nazw) return nil; end,__FUNKCJA_PARAMETRY); if(not tekst_rozwiniety_calego_artykulu)then return 0;end; if(__FUNKCJA_ZBIERANIA_DANYCH)then __FUNKCJA_ZBIERANIA_DANYCH(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); end; ---- local techniczne_modul=require("Module:Techniczne"); ---- local tabelalisty2=nil; local licencja_z_autorem=true; local tabela_artykulow=nil; local tabela_licencji_spisu_tresci=nil; local parametry_modul=require("Module:Parametry"); local html_modul=require("Module:Html"); local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty"); local linki_szablony_elementy_spisu_rzeczy=stronicowyparser_obiekty_modul.linki_szablony_elementy_spisu_rzeczy; local inne_linki_szablony_elementy_spisu_rzeczy=stronicowyparser_obiekty_modul.inne_linki_szablony_elementy_spisu_rzeczy; local szablony_kompletowania_stron_woluminu=stronicowyparser_obiekty_modul.szablony_kompletowania_stron_woluminu; local szablony_licencji=stronicowyparser_obiekty_modul.szablony_licencji; local szablony_ozdobne_stron_woluminu=stronicowyparser_obiekty_modul.szablony_ozdobne_stron_woluminu; local stronicowyparser_rozdzialy_modul=require("Module:StronicowyParser/Rozdziały") --[[local pelna_nazwa_spisu_tresci_wzor="^("..((nazwa_przestrzeni~="")and techniczne_modul["WzórDanejPrzestrzeniNazw"](nazwa_przestrzeni) or "") ..techniczne_modul["WzórNazwyStrony"](((nazwa_przestrzeni_ksiazki~="")and(nazwa_przestrzeni_ksiazki.."/") or "")..nazwa_ksiazki) ..((nazwa_spisu_tresci~="")and ("/"..nazwa_spisu_tresci) or "") .."(/[Ss][Pp][Ii][Ss][%s_]+[Tt][Rr][Ee][ŚśSs][Cc][Ii]))$";]] --local tablica_analizy_obiektow_strony_dany_modul={}; --local tablica_danych_parametrow_szablonu_strony={}; local iterator,tekst_rozwiniety_calego_artykulu=stronicowyparser_rozdzialy_modul.IterTekst(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,true,true,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych,--[[function(pelna_nazwa_szablonu,tabela_modyfikatorow) local pelna_nazwa_spisu_tresci,strona_ze_spisem_tresci=mw.ustring.match(pelna_nazwa_szablonu,pelna_nazwa_spisu_tresci_wzor); if(pelna_nazwa_spisu_tresci and strona_ze_spisem_tresci)then pelna_nazwa_szablonu=techniczne_modul.PrzekierowanieDoStrony(pelna_nazwa_szablonu) or pelna_nazwa_szablonu; local tekst=stronicowyparser_tekst_modul.SpreparowanyWikikodStrony(nil,pelna_nazwa_szablonu,true); if(tekst)then ---- if(not self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni])then self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni]={};end; local tablica_przestrzeni=self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron[nazwa_przestrzeni]; if(not tablica_przestrzeni[nazwa_przestrzeni_ksiazki])then tablica_przestrzeni[nazwa_przestrzeni_ksiazki]={};end; local tablica_przestrzeni_ksiazki=tablica_przestrzeni[nazwa_przestrzeni_ksiazki]; if(not tablica_przestrzeni_ksiazki[nazwa_ksiazki])then tablica_przestrzeni_ksiazki[nazwa_ksiazki]={};end; local tablica_ksiazki=tablica_przestrzeni_ksiazki[nazwa_ksiazki]; if(not tablica_ksiazki.spis_tresci)then tablica_ksiazki.spis_tresci={};end; if(not tablica_ksiazki.spis_tresci[nazwa_spisu_tresci])then tablica_ksiazki.spis_tresci[nazwa_spisu_tresci]={};end local tablica_spis_tresci=tablica_ksiazki.spis_tresci[nazwa_spisu_tresci]; tablica_spis_tresci.tekst=tekst; tablica_spis_tresci.adres_wzgledny_spisu_tresci=strona_ze_spisem_tresci; ---- return tekst; end; end; end]]nil,function(str,pelna_nazwa_strony,tablica_analizy_dany_modul,czy_naglowek) local FunkcjaIteratoraTekstuZakodowego=function(szablon,obiekt,kod) if(obiekt=="SZABLON")then ---- local bez_kodow=not mw.ustring.match(szablon,szablonowe_modul.NormaWzoruKodowaniaTekstu()); if(bez_kodow)then return;end; ---- local function PomijajLinkiOrazLicencje(szablon) return szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,pelna_nazwa_spisu_tresci_szablonowa,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow) local czy_szablony_licencji=stronicowyparser_obiekty_modul.szablony_licencji[nazwa_szablonu]; if(czy_szablony_licencji)then return true;end; local czy_szablony_ozdobne=stronicowyparser_obiekty_modul.szablony_ozdobne_stron_woluminu[nazwa_szablonu]; if(czy_szablony_ozdobne)then return true;end; --local stronicowyparser_rozdzialy_modul=require("Module:StronicowyParser/Rozdziały"); --local wynik=stronicowyparser_rozdzialy_modul.ObiektySzablonoweFormatowaniaTekstu(szablon,nazwa_szablonu); --if(wynik)then return wynik;end; ---- if((linki_szablony_elementy_spisu_rzeczy[nazwa_szablonu])or(inne_linki_szablony_elementy_spisu_rzeczy[nazwa_szablonu]))then return true;end; local tab_wyzyskane_od_nazwy_szablonu=stronicowyparser_potrzebne_modul.PodzielNaElementyNazwowyWikiLinkInteligentny(nazwa_szablonu,tablica_danych_parametrow_szablonu_strony,kod); if(tab_wyzyskane_od_nazwy_szablonu)then return true;end; end); end; ---- local CzySzablonLinkLubLicencja=function(szablon) local ile_szablon_linki_lub_licencje=0; local _,ile=mw.ustring.gsub(szablon,szablonowe_modul.NormaWzoruKodowaniaTekstu("(SZABLON)"), function(obiekt,kod) kod=tonumber(kod); local szablon=tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]; local wynik=PomijajLinkiOrazLicencje(szablon); if(wynik)then ile_szablon_linki=ile_szablon_linki+1;end; return nil; end); if((ile>0)and(ile_szablon_linki_lub_licencje>0))then return true;end; end; local bez_kodow_linkow_wewnetrznych=( not mw.ustring.match(szablon,szablonowe_modul.NormaWzoruKodowaniaTekstu("LINK[WZ]")) and not CzySzablonLinkLubLicencja(szablon) ) or not mw.ustring.match(szablon,"\n([#:*;]+)[^%S\n]*([%w%p]*)[^%S\n]*([^\n]+)") or not mw.ustring.match(szablon,"\n([#:*;]*)[^%S\n]*([%w%p]+)[^%S\n]*([^\n]+)"); if(bez_kodow_linkow_wewnetrznych)then return;end; local wynik=PomijajLinkiOrazLicencje(szablon); if(wynik)then return;end; ----- return ""; --[[elseif(obiekt=="WIKITABELA")then szablon=mw.ustring.match(szablon,"^{|(.-)|}$"); szablon=mw.ustring.gsub(szablon,"[|!][|!]","\n\n"); szablon=mw.ustring.gsub(szablon,"\n|[%-%+][^%S\n]+[^|\n]*","\n\n"); szablon=mw.ustring.gsub(szablon,"\n|%-","\n\n"); szablon=mw.ustring.gsub(szablon,"\n|%+","\n\n"); szablon=mw.ustring.gsub(szablon,"\n|","\n\n"); return szablon;]] end; return; end; if(not czy_naglowek)then str=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(str,pelna_nazwa_strony,tablica_analizy_dany_modul,function(szablon,obiekt,kod) local wynik=FunkcjaIteratoraTekstuZakodowego(szablon,obiekt,kod); if(wynik)then return wynik;end; return nil,true; end); return str; end; return str; end,function(tekst_rozwiniety_calego_artykulu,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) local stronicowyparser_analizaspisu_modul=require("Module:StronicowyParser/AnalizaSpisuRzeczy"); local tekst=stronicowyparser_analizaspisu_modul.AnalizaSpisuRzeczy(tekst_rozwiniety_calego_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych); return tekst; end); ---- local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty"); local odczyt_jakie_nie_rozdzialy=stronicowyparser_obiekty_modul.tablica_nazw_napisu_wprowadzenia_tekstu_pomijanych_w_rozwazaniach_na_stronach_otwarcia_woluminu; local jakie_nie_rozdzialy=parametry_modul["KopiujTabelęElementów"](odczyt_jakie_nie_rozdzialy); local odczyt_jakie_spisy_tresci=stronicowyparser_obiekty_modul.tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu; local jakie_spisy_tresci=parametry_modul["KopiujTabelęElementów"](odczyt_jakie_spisy_tresci); setmetatable(jakie_nie_rozdzialy,parametry_modul.metatablica_dla_elementowych_miar_tablicy_wedle_niewielkich_liter); setmetatable(jakie_spisy_tresci,parametry_modul.metatablica_dla_elementowych_miar_tablicy_wedle_niewielkich_liter); local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); local numer_rozdzialu_w_ksiazce=1; local parametry_modul=require("Module:Parametry"); local html_modul=require("Module:Html"); local szablonowe_modul=require("Module:Szablonowe"); local tab_dozwolonych_szablonow_z_elementami_spisu_artykulow=stronicowyparser_obiekty_modul.tab_dozwolonych_szablonow_z_elementami_spisu_artykulow; local czy_jest_spis_tresci=nil; local poziom_spisu_tresci=nil; local dalej_nie_rozwazaj_spis_tresci=nil; local wliczaj_artykuly_tego_rozdzialu=nil; local specjalne_modul=require("Module:Specjalne"); local tablica_artykulow_zebranych={}; local stronicowyparser_zbieraniedanychstron_modul=require("Module:StronicowyParser/ZbieranieDanychStron"); ---- --local szablony_dozwolone_w_napisach_do_wprowadzenia_tekstu=stronicowyparser_obiekty_modul.szablony_dozwolone_w_napisach_do_wprowadzenia_tekstu; --local szablony_rozwijane_przez_javascript_w_napisach_wprowadzenia_tekstu=stronicowyparser_obiekty_modul.szablony_rozwijane_przez_javascript_w_napisach_wprowadzenia_tekstu; ---- local maksymalny_rozmiar_rozdzialu_zerowego=50; local function AnalizaRozdzialu(rozdzial,linia_rozdzialu,text,poziom_rozdzialu,poczatek_rozdzialu,numeracja,czy_rozdzial_centrowany) --rozdzial,_=mw.ustring.gsub(rozdzial,"{{[^|{}]+|([^|{}]+)[^{}]*}}","%1"); --if(poziom_rozdzialu)then -- text=stronicowyparser_rozdzialy_modul.IntegrowanieLiniiTekstuWRamachJegoNapisuWprowadzenia(text,nil,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); --end; if(not tabela_artykulow)then tabela_artykulow={};end; local spreparowany_uzyskany_tekst_rozdzialu=nil; ---- local tabela_rozdzial_artykulow; if(not tabela_artykulow[numer_rozdzialu_w_ksiazce])then tabela_artykulow[numer_rozdzialu_w_ksiazce]={}; ---- tabela_rozdzial_artykulow=tabela_artykulow[numer_rozdzialu_w_ksiazce]; ---- local rozdzial_na_tekst=p.AnalizaNapisuWprowadzeniaTekstu(rozdzial,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); ---- tabela_rozdzial_artykulow[1]={rozdzial_na_tekst,{poziom_rozdzialu,poczatek_rozdzialu,numeracja,czy_rozdzial_centrowany,},rozdzial,}; spreparowany_uzyskany_tekst_rozdzialu=rozdzial_na_tekst; end; local czy_spis_rzeczy_napis_wprowadzenia_tekstu=(poziom_rozdzialu)and(not czy_jest_spis_tresci)and(not dalej_nie_rozwazaj_spis_tresci)and(jakie_spisy_tresci[spreparowany_uzyskany_tekst_rozdzialu]); if(czy_spis_rzeczy_napis_wprowadzenia_tekstu)then poziom_spisu_tresci=poziom_rozdzialu; czy_jest_spis_tresci=true; elseif((czy_jest_spis_tresci)and(not dalej_nie_rozwazaj_spis_tresci))then if((((poziom_spisu_tresci>0)and(poziom_rozdzialu>0))or((poziom_spisu_tresci<=0)and(poziom_rozdzialu<=0)))and(math.abs(poziom_spisu_tresci or 0)<math.abs(poziom_rozdzialu)))then wliczaj_artykuly_tego_rozdzialu=true; else wliczaj_artykuly_tego_rozdzialu=nil; dalej_nie_rozwazaj_spis_tresci=true; end; end; local function iteratorTekstuNaglowka() local re="([#:*;]*)[^%S\n]*([%d%.]*[^%S\n]*[^\n]+)"; local iter=nil; local tak=nil; local czy_rozdzial=nil; return function() if(not czy_rozdzial)then if((poziom_rozdzialu or 0)>0)then if(not iter)then iter=mw.ustring.gmatch(rozdzial,"([^\n]+)"); end; local wartosc=iter(); if(not wartosc)then czy_rozdzial=true; iter=nil; else return "","",wartosc,true; end; else czy_rozdzial=true; end; end; local function dane_iteratora() if(not iter)then iter=mw.ustring.gmatch(text,"\n"..re); end; local przedrostek_listy,tekstowy_przedrostek_z_wyzyskanym_wywolaniem_szablonu_spis_tresci=iter(); if(przedrostek_listy and tekstowy_przedrostek_z_wyzyskanym_wywolaniem_szablonu_spis_tresci)then local wyzyskane_wywolanie_szablonu_spis_tresci,tekstowy_przedrostek=stronicowyparser_rozdzialy_modul.RozdzieleniePrawidloweLiniiWeWprowadzenieTekstuNumeracjiOdJegoNapisu(tekstowy_przedrostek_z_wyzyskanym_wywolaniem_szablonu_spis_tresci); return przedrostek_listy,tekstowy_przedrostek,wyzyskane_wywolanie_szablonu_spis_tresci,false; else return nil; end; end; if(not tak)then tak=true; local przedrostek_listy,tekstowy_przedrostek_z_wyzyskanym_wywolaniem_szablonu_spis_tresci=mw.ustring.match(text,"^"..re); if(przedrostek_listy and tekstowy_przedrostek_z_wyzyskanym_wywolaniem_szablonu_spis_tresci)then local wyzyskane_wywolanie_szablonu_spis_tresci,tekstowy_przedrostek=stronicowyparser_rozdzialy_modul.RozdzieleniePrawidloweLiniiWeWprowadzenieTekstuNumeracjiOdJegoNapisu(tekstowy_przedrostek_z_wyzyskanym_wywolaniem_szablonu_spis_tresci); return przedrostek_listy,tekstowy_przedrostek,wyzyskane_wywolanie_szablonu_spis_tresci,false; else return dane_iteratora(); end; end; return dane_iteratora(); end; end; ---- local function LiniaArtykulow(linia) local iter=szablonowe_modul:IteratorSzablonowyZakodowanegoTekstu(linia,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul); local szablon,obiekt,kod=iter(); if((not szablon) or (not kod) or(not obiekt))then return {};end; local function SzablonAnalizujKompletnosc(szablon) ---- local wynik=szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,pelna_nazwa_spisu_tresci_szablonowa,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow) ---- return stronicowyparser_obiekty_modul.szablony_kompletowania_stron_woluminu[nazwa_szablonu]; end); return wynik; end; ----- local tak_pierwsze=((obiekt=="SZABLON") and SzablonAnalizujKompletnosc(szablon) or nil); ----- for szablon,obiekt,kod in iter do if(obiekt=="SZABLON")then local szablon=tablica_analizy_obiektow_strony_dany_modul[obiekt][kod]; local tak_drugie=SzablonAnalizujKompletnosc(szablon); if(tak_pierwsze)then if(tak_drugie)then linia=mw.ustring.gsub(linia,"(%s*"..szablonowe_modul.NormaWzoruKodowaniaTekstu()..")(%s*)("..szablonowe_modul.NormaWzoruKodowaniaTekstu(obiekt,kod)..")","%1,%2%3"); end; else if(tak_drugie)then linia=mw.ustring.gsub(linia,"(%s*"..szablonowe_modul.NormaWzoruKodowaniaTekstu(obiekt,kod)..")(%s*)(%s*"..szablonowe_modul.NormaWzoruKodowaniaTekstu()..")","%1,%2%3"); end; end; end; end; local tabela_linii_artykulow=mw.text.split(linia,"%s*,%s*",false); for i=1,#tabela_linii_artykulow,1 do tabela_linii_artykulow[i]=mw.ustring.gsub(tabela_linii_artykulow[i],"&#"..mw.ustring.byte(',')..";",","); end; return tabela_linii_artykulow; end; local iterator=iteratorTekstuNaglowka(); local wliczaj_artykuly_tego_rozdzialu=((wliczaj_artykuly_tego_rozdzialu)or(not jakie_nie_rozdzialy[rozdzial])); for przedrostek_listy,tekstowy_przedrostek,linia, w_rozdziale in iterator do local nie_pomijaj_tego_rozdzialu=false; if((not przedrostek_listy)or(#przedrostek_listy==0))then local rozdzial,czy_z_kropka=stronicowyparser_rozdzialy_modul.CzyZerowyNapisWprowadzeniaTekstu(linia,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); if(((rozdzial)and(#rozdzial<=maksymalny_rozmiar_rozdzialu_zerowego))or(not rozdzial))then nie_pomijaj_tego_rozdzialu=true; end; else local czy_pominac_ten_rozdzial_jako_linie=stronicowyparser_rozdzialy_modul.CzyNapisWprowadzeniaTekstuDwukropkowyZDwomaApostrofamiOrazLiniamiNieWoluminu(przedrostek_listy,linia,true,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tab_nazwa_spisow_przekierowaniowych); if(not czy_pominac_ten_rozdzial_jako_linie)then nie_pomijaj_tego_rozdzialu=true; else nie_pomijaj_tego_rozdzialu=false; end; end; if(nie_pomijaj_tego_rozdzialu)then local ile=0; local linia_rozwazana=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstuZgodnieZJegoSzablonowymiElementami(linia,nil ,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,function(szablon,obiekt,kod--[[,czy_sam_siebie]]) if(obiekt=="SZABLON")then return szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,pelna_nazwa_spisu_tresci_szablonowa,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow) ---- local czy_link=linki_szablony_elementy_spisu_rzeczy[nazwa_szablonu] or inne_linki_szablony_elementy_spisu_rzeczy[nazwa_szablonu] or stronicowyparser_potrzebne_modul.PodzielNaElementyNazwowyWikiLinkInteligentny(nazwa_szablonu ,tablica_danych_parametrow_szablonu_strony,kod); local czy_szablon=czy_link or szablony_kompletowania_stron_woluminu[nazwa_szablonu] or szablony_licencji[nazwa_szablonu] --or szablony_ozdobne_stron_woluminu[nazwa_szablonu]; if(czy_link)then ile=ile+1;end; return czy_szablon,obiekt,kod; end); elseif(obiekt=="LINKW")then if(specjalne_modul["CzyLinkWewnętrzny"](szablon))then ile=ile+1; return true,obiekt,kod; end; elseif(obiekt=="LINKZ")then ile=ile+1; return true,obiekt,kod; end; end); ---- local czy_linia_uwzgledniana=mw.ustring.match(linia_rozwazana,"^%s*%-%-+(.*)%-%-+%s*$"); local czy_linia=((not czy_linia_uwzgledniana)and(mw.ustring.match(linia_rozwazana,"^%s*[%-%+%=%~]+.*$") or ((#przedrostek_listy==0)and((mw.ustring.match(linia_rozwazana,"!"))and(mw.ustring.match(linia_rozwazana,"[^!]%s*$")))) or mw.ustring.match(linia_rozwazana,"^%s*<")) or nil); ---- local nowa_linia=false; local function WsadzanieParametryDoTablicy(linia,czy_linia_uwzgledniana) return function(tabela_rozdzial_artykulow2,numer_podtablicy_w_tablicy,tab_stare) --if((czy_spis_rzeczy_napis_wprowadzenia_tekstu)and(numer_podtablicy_w_tablicy>2))then return;end; if((czy_rozdzial_centrowany)and(w_rozdziale)and(czy_linia_uwzgledniana)and(tab_stare[2])and(tab_stare[2][1]))then tab_stare[2][1]=tab_stare[2][1]+1; end; if(not w_rozdziale)then local function CzyZaliczac() return ((not mw.ustring.match(linia,"^%w+%p+")) and mw.ustring.match(linia,"^%s*'*%s*%w+")); --or mw.ustring.match(linia,"^%s*'*%s*"..szablonowe_modul.NormaWzoruKodowaniaTekstu("LINKZ")); end; if(nowa_linia)then tab_stare[2][4]=true; table.insert(tabela_rozdzial_artykulow2[numer_podtablicy_w_tablicy],tab_stare); elseif(((poziom_rozdzialu)or(#(przedrostek_listy or "")>0))and((ile>1)or(CzyZaliczac())))then nowa_linia=true; numer_rozdzialu_w_ksiazce=numer_rozdzialu_w_ksiazce+1; tabela_artykulow[numer_rozdzialu_w_ksiazce]={}; tabela_rozdzial_artykulow=tabela_artykulow[numer_rozdzialu_w_ksiazce]; ---- local rozdzial_na_tekst=p.AnalizaNapisuWprowadzeniaTekstu(linia,pelna_nazwa_spisu_tresci_szablonowa,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); ---- tabela_rozdzial_artykulow[1]={rozdzial_na_tekst,{-#przedrostek_listy,przedrostek_listy,tekstowy_przedrostek,false,},linia,}; tab_stare[2][4]=true; tab_stare[6]=(numer_podtablicy_w_tablicy>2) and 0 or nil; tabela_rozdzial_artykulow[numer_podtablicy_w_tablicy]={}; table.insert(tabela_rozdzial_artykulow[numer_podtablicy_w_tablicy],tab_stare); else table.insert(tabela_rozdzial_artykulow2[numer_podtablicy_w_tablicy],tab_stare); end; else table.insert(tabela_rozdzial_artykulow2[numer_podtablicy_w_tablicy],tab_stare); end; end; end; local function AnalizaLiniiObiekty(linia_rozwazana) local tab_linia=LiniaArtykulow(linia_rozwazana); for k=1,#tab_linia,1 do local iterator2=szablonowe_modul:IteratorSzablonowyZakodowanegoTekstu(tab_linia[k],nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul); local tab_nieobslugiwane=nil; for szablon,obiekt,kod in iterator2 do local czy_szablon=(obiekt=="SZABLON");local czy_link=((obiekt=="LINKW")or(obiekt=="LINKZ")); if(czy_szablon or czy_link)then local przerwij=nil; if(czy_szablon)then ---- local wynik=szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,pelna_nazwa_spisu_tresci_szablonowa,function(tabela_parametrow_szablonu,nazwa_szablonu ,tabela_modyfikatorow) ---- --local przerwij=nil; local tabela_spisu=stronicowyparser_obiekty_modul.inne_linki_szablony_elementy_spisu_rzeczy[nazwa_szablonu]; if(tabela_spisu)then if(tabela_spisu[1]==true)then --local tabela_parametrow_wywolania=szablonowe_modul["ParsowanieWywołaniaSzablonu"](szablon,nil,nil,nil ,tablica_danych_parametrow_szablonu_strony,kod); local numer_link=tabela_spisu["numer_link"]; for name,value in pairs(tabela_parametrow_szablonu)do if(name~=numer_link)then local kod_w_nie_obslugiwanych=tabela_parametrow_szablonu[name]; local iter=szablonowe_modul:IteratorSzablonowyZakodowanegoTekstu(kod_w_nie_obslugiwanych,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul); if(not tab_nieobslugiwane)then tab_nieobslugiwane={};end; for szablon,obiekt,kod in iter do if(not tab_nieobslugiwane[obiekt])then tab_nieobslugiwane[obiekt]={};end; tab_nieobslugiwane[obiekt][kod]=true; end; end; end; local tyt=tabela_parametrow_szablonu[numer_link]; przedrostek_listy=""; tekstowy_przedrostek,szablon=mw.ustring.match(tyt,"^'*[^%S\n]*([%d%.]*)[^%S\n]*([^\n]-)'*$"); przerwij=true; else przedrostek_listy=""; tekstowy_przedrostek=tabela_parametrow_szablonu[tabela_spisu["numer"]]; szablon=tabela_parametrow_szablonu[tabela_spisu["link"]]; przerwij=true; end; end; end); end; --[[if(przerwij)then local iterator3=szablonowe_modul:IteratorSzablonowyZakodowanegoTekstu(szablon,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul); for szablon2,obiekt2,kod2 in iterator3 do if(obiekt2=="SZABLON")then local tabela_parametrow_szablonu,nazwa_szablonu,tablica_modyfikatorow=szablonowe_modul["ParsowanieWywołaniaSzablonu"](szablon2,nil,nil,nil,tablica_danych_parametrow_szablonu_strony,kod2); local tabela_linku=stronicowyparser_obiekty_modul.linki_szablony_elementy_spisu_rzeczy[nazwa_szablonu]; if(tabela_linku)then szablon=szablon2; break; end; elseif(obiekt2=="LINKW")then szablon=szablon2; break; end; end; end;]] local pozycja_artykulu=nil;local nazwa=nil; local tab_pozycja_elementow_w_spisie_rzeczy;local numer_rodzaju_artykulu_poprz;local id;local parametry_szablonu;local kom; local link_szablon=nil; local czy_obslugiwane=nil; local CzyObslugiwane=function() local wartosc=((tab_nieobslugiwane[obiekt])and(tab_nieobslugiwane[obiekt][kod])); czy_obslugiwane=wartosc; return (not wartosc); end; if((--[[wliczaj_artykuly_tego_rozdzialu]] true)and(not przerwij)and((not tab_nieobslugiwane)or(CzyObslugiwane())))then local linia_artykokow=tab_linia[k]; numer_rodzaju_artykulu_poprz,tab_pozycja_elementow_w_spisie_rzeczy,tablica_artykulow_zebranych=WstawianieElementowychZarejestrowanychStronDoBazyWoluminu(self,WsadzanieParametryDoTablicy(linia,czy_linia_uwzgledniana),tabela_rozdzial_artykulow,tablica_artykulow_zebranych,wliczaj_artykuly_tego_rozdzialu,szablon,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,obiekt,kod,tab_nazwa_spisow_przekierowaniowych,--[[]]przedrostek_listy,tekstowy_przedrostek,w_rozdziale,linia_artykokow--[[]]); --mw.log() if((not czy_obslugiwane)and(not numer_rodzaju_artykulu_poprz))then link_szablon=licencja_z_autorem and (czy_artykul_korzystany and mw.ustring.match(szablon,"({{[^{}]+}})") or nil) or nil; end; --mw.logObject(tabela_rozdzial_artykulow) else link_szablon=licencja_z_autorem and (czy_artykul_korzystany and mw.ustring.match(szablon,"({{[^{}]+}})") or nil) or nil; end; --[[if(przerwij)then break;end;]] if((not numer_rodzaju_artykulu_poprz)and(not przerwij)and(link_szablon)and((not tab_pozycja_elementow_w_spisie_rzeczy)or(not tab_pozycja_elementow_w_spisie_rzeczy[1]))and(czy_artykul_korzystany)and(licencja_z_autorem))then --- local wynik=szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,pelna_nazwa_spisu_tresci_szablonowa,function(tabela_parametrow_szablonu_licencji,nazwa_szablonu_licencji,tabela_modyfikatorow_licencji) if(stronicowyparser_obiekty_modul.szablony_licencji[nazwa_szablonu_licencji])then if(tabela_parametrow_szablonu_licencji)then local autor=tabela_parametrow_szablonu_licencji["Autor"]; local szkoly=tabela_parametrow_szablonu_licencji["Ukończone szkoły"]; local email=tabela_parametrow_szablonu_licencji["Email"]; local dotyczy=tabela_parametrow_szablonu_licencji["Dotyczy"]; local licencjonowanie=tabela_parametrow_szablonu_licencji["Licencjonowanie"]; local umowa_prawna=tabela_parametrow_szablonu_licencji["Umowa prawna"]; local konsekwencje=tabela_parametrow_szablonu_licencji["Konsekwencje"]; local frame=mw.getCurrentFrame(); if(autor~=nil)then autor=frame:preprocess{text=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(autor,nazwa_modulu ,tablica_analizy_obiektow_strony_dany_modul);} end; if(szkoly~=nil)then szkoly=frame:preprocess{text=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(szkoly,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul);} end; if(email~=nil)then email=frame:preprocess{text=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(email,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul);} end; if(dotyczy~=nil)then dotyczy=frame:preprocess{text=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(dotyczy,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul);} end; if(licencjonowanie~=nil)then licencjonowanie=frame:preprocess{text=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(licencjonowanie,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul);} end; if(umowa_prawna~=nil)then umowa_prawna=frame:preprocess{text=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(umowa_prawna,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul);} end; if(konsekwencje~=nil)then konsekwencje=frame:preprocess{text=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(konsekwencje,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul);} end; if(autor~=nil)then tabela_licencji_spisu_tresci={autor, szkoly, email, dotyczy, licencjonowanie, umowa_prawna, konsekwencje}; licencja_z_autorem=false; end; return true; elseif(not stronicowyparser_problemy_modul.CzyJestTakiProblemowyElement(self,"błąd wewnętrzny modułu lua stronicowego parsera"))then stronicowyparser_problemy_modul.UstawTakiProblemowyElement(self,"błąd wewnętrzny modułu lua stronicowego parsera"); end; end; end); if(wynik)then break;end; end; end; end; end; end; if(not czy_linia)then AnalizaLiniiObiekty(linia_rozwazana);end; end; end; numer_rozdzialu_w_ksiazce=numer_rozdzialu_w_ksiazce+1; end; local parsuj_rozdzialami=nil; for rozdzial_tab,text,poziom_rozdzialu,poczatek_rozdzialu,numeracja,czy_rozdzial_centrowany in iterator do ---rozdzial_tab[1]=rozdzial;rozdzial_tab[2]=linia rozdziału AnalizaRozdzialu(rozdzial_tab[1],rozdzial_tab[2],text,poziom_rozdzialu,poczatek_rozdzialu,numeracja,czy_rozdzial_centrowany); if(not parsuj_rozdzialami)then parsuj_rozdzialami=true;end end; if(not parsuj_rozdzialami)then AnalizaRozdzialu("Spis treści",nil,tekst_rozwiniety_calego_artykulu,nil,nil,nil,nil); end; --mw.logObject(tabela_artykulow); if(czy_artykul_korzystany)then return tabela_artykulow,tabela_licencji_spisu_tresci,przekierowanie_spisu_tresci; else return tabela_artykulow,nil,przekierowanie_spisu_tresci; end; end; function p.CzyJestStronaInnegoGeneralnegoSpisuRzeczyArtykularnaNaGeneralnymSpiseRzeczyWePodreczniku(tabela_artykulow) local parametry_modul=require("Module:Parametry"); if(not parametry_modul.TypeTable(tabela_artykulow))then return;end; local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty"); local odczyt_jakie_spisy_tresci=stronicowyparser_obiekty_modul.tablica_nazw_wprowadzenia_tekstu_generalnego_spisu_rzeczy_woluminu; local jakie_spisy_tresci=parametry_modul["KopiujTabelęElementów"](odczyt_jakie_spisy_tresci); setmetatable(jakie_spisy_tresci,parametry_modul.metatablica_dla_elementowych_miar_tablicy_wedle_niewielkich_liter); for _,tab_lista in ipairs(tabela_artykulow)do if(tab_lista[2])then for _,artykul_w_bazie_element in ipairs(tab_lista[2])do local artykul_w_bazie=artykul_w_bazie_element[1]; local czy_table=stronicowyparser_potrzebne_modul.CzyTabelaStronyWoluminuSpisuRzeczy(artykul_w_bazie); artykul_w_bazie=czy_table and artykul_w_bazie[1] or artykul_w_bazie; local artykul_bez_naglowka_w_bazie=stronicowyparser_potrzebne_modul.TylkoNazwaStronyWoluminuZTabeliPublikacji(artykul_w_bazie); if(jakie_spisy_tresci[artykul_bez_naglowka_w_bazie])then return artykul_bez_naglowka_w_bazie; end; end; end; end; end; function p.ZbieranieInformacjiSpisuRzeczyWoluminuEwentualnieWedleAutonawigacji(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,czy_artykul_korzystany,__FUNKCJA_SPISU_RZECZY,__FUNKCJA_ZBIERANIA_DANYCH) local adres_ksiazki_glownego_spisu_tresci=nil; local techniczne_modul=require("Module:Techniczne"); local nazwy_modul=require("Module:Nazwy"); local nazwy_np_modul=mw.loadData("Module:Nazwy/Np"); local pelna_nazwa_ksiazki=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,""); local ile2,_=techniczne_modul.PoliczZbiory{[1]=pelna_nazwa_ksiazki,}; if(ile2>0)then local strona_spisu_tresci=techniczne_modul.PrzekierowanieDoStrony(pelna_nazwa_ksiazki); if(strona_spisu_tresci)then local html_modul=require("Module:Html"); strona_spisu_tresci=html_modul.DecodeHtml(strona_spisu_tresci,true); local tabela_nazw={}; local nazwa_przestrzeni2=nazwy_modul["NAZWAPRZESTRZENI"](strona_spisu_tresci,tabela_nazw); local nazwa_przestrzeni_ksiazki2=nazwy_modul["NAZWAPRZESTRZENIKSIĄŻKI"](strona_spisu_tresci,tabela_nazw); local nazwa_ksiazki2=(nazwa_przestrzeni_ksiazki2=="") and nazwy_modul["NAZWAKSIĄŻKI"](strona_spisu_tresci,tabela_nazw) or nazwy_modul["SUBNAZWAKSIĄŻKI"](strona_spisu_tresci,tabela_nazw); ---- if((nazwa_przestrzeni~=nazwa_przestrzeni2)or(nazwa_przestrzeni_ksiazki~=nazwa_przestrzeni_ksiazki2)or(nazwa_ksiazki~=nazwa_ksiazki2))then if(((nazwa_przestrzeni2==nazwy_np_modul.Main)or(nazwa_przestrzeni2==nazwy_np_modul.Wikijunior))or(((nazwa_przestrzeni2==nazwy_np_modul.Wikibooks)or(nazwa_przestrzeni2==nazwy_np_modul.User))and(nazwa_przestrzeni_ksiazki2~="")))then ---- adres_ksiazki_glownego_spisu_tresci={nazwa_przestrzeni2,nazwa_przestrzeni_ksiazki2,nazwa_ksiazki2,}; local wynik=__FUNKCJA_SPISU_RZECZY and __FUNKCJA_SPISU_RZECZY(nazwa_przestrzeni2,nazwa_przestrzeni_ksiazki2,nazwa_ksiazki2) or nil; if((wynik or 0)==1)then return 1; end; ---- nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki=nazwa_przestrzeni2,nazwa_przestrzeni_ksiazki2,nazwa_ksiazki2; pelna_nazwa_ksiazki=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,""); else return 2; end; end; end; end; local parametry_modul=require("Module:Parametry"); local function Spis(tablista_artykulow,spis_tresci,tab_inne_spisy,nazwa_glownego_spisu,numer) if((parametry_modul.TypeTable(tablista_artykulow)) and parametry_modul["CzySąElementyTablicy"](tablista_artykulow))then local czy_spis_tresci_table=parametry_modul.TypeTable(spis_tresci); local spis_tresci_strona=czy_spis_tresci_table and spis_tresci[1] or spis_tresci; ---- local przekierowanie_strona=czy_spis_tresci_table and spis_tresci[2] or nil; local tab_element={[1]={((not spis_tresci) and "Główny spis treści" or ("Spis treści - "..spis_tresci_strona)),{((spis_tresci) and 1 or nil),nil,nil,},["spis"]={spis_tresci_strona or nazwa_glownego_spisu or "",numer}},[2]=nil,[3]=nil,}; --- if(not tablista_artykulow[1][1][2][1])then for numer,tab_lista in ipairs(tablista_artykulow[1])do if(numer>1)then tab_element[numer]=tab_lista; end; end; table.remove(tablista_artykulow,1); end; --- for _,tab_lista in ipairs(tablista_artykulow)do local numer_rozdzialu=tab_lista[1][2][1]; local czy_rozdzial_centrowany=tab_lista[1][2][4]; if(numer_rozdzialu>0)then tab_lista[1][2][1]=numer_rozdzialu+1; end; if(czy_rozdzial_centrowany)then break;end; end; --- numer=numer+1; --- --if(not tablista_artykulow)then tablista_artykulow={};end; ---- table.insert(tablista_artykulow,1,tab_element); if(spis_tresci)then if(not tab_inne_spisy)then tab_inne_spisy={};end; table.insert(tab_inne_spisy,spis_tresci); if(not tablista_artykulow[1][2])then tablista_artykulow[1][2]={};end; local tab_stare={czy_spis_tresci_table and {spis_tresci_strona,nil,przekierowanie_strona} or spis_tresci,{0,"","",true,},"[[:"..pelna_nazwa_ksiazki.."/" ..spis_tresci_strona.."]]",false,}; table.insert(tablista_artykulow[1][2],1,tab_stare); end; end; return tablista_artykulow,tab_inne_spisy,numer; end; local function InneSpisy(tablista_artykulow,tab_inne_spisy,spis_tresci,numer) --mw.logObject(tablista_artykulow,"TYTAn123fhh"); local tablista_artykulow_iter,tablica_licencji,przekierowanie_spisu_tresci=p.ZbieranieInformacjiWoluminuDanegoSpisuRzeczy(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,spis_tresci,false,nil,__FUNKCJA_ZBIERANIA_DANYCH); --mw.logObject(tablista_artykulow_iter,spis_tresci); ---- if((tablista_artykulow_iter)and(parametry_modul.TypeTable(tablista_artykulow_iter)))then tablista_artykulow_iter,tab_inne_spisy,numer=Spis(tablista_artykulow_iter,(not przekierowanie_spisu_tresci)and spis_tresci or {przekierowanie_spisu_tresci,spis_tresci,},tab_inne_spisy,nil,numer); for _,value in ipairs(tablista_artykulow_iter)do if((not tablista_artykulow)or(not parametry_modul.TypeTable(tablista_artykulow)))then tablista_artykulow={};end; table.insert(tablista_artykulow,value); end; end; return tablista_artykulow,tab_inne_spisy,numer; end; local function SpisRzeczy(tabela_artykulow,tab_inne_spisy) local artykul_spisu_rzeczy=p.CzyJestStronaInnegoGeneralnegoSpisuRzeczyArtykularnaNaGeneralnymSpiseRzeczyWePodreczniku(tabela_artykulow) if(artykul_spisu_rzeczy)then local numer=1; tabela_artykulow,tab_inne_spisy,numer=Spis(tabela_artykulow,nil,tab_inne_spisy,"",numer); tabela_artykulow,tab_inne_spisy,numer=InneSpisy(tabela_artykulow,tab_inne_spisy,artykul_spisu_rzeczy,numer); end; return tabela_artykulow,tab_inne_spisy; end; local adres_ustawien=((nazwy_np_modul.Template~="")and (nazwy_np_modul.Template..":") or "").."NawigacjaSpecjalna/Nawigacja/"..pelna_nazwa_ksiazki; ---- adres_ustawien=techniczne_modul.PrzekierowanieDoStrony(adres_ustawien) or adres_ustawien; ---- local tekst=techniczne_modul["WikikodStrony"]{["przestrzeń"]="",["nazwa"]=adres_ustawien,}; if(not tekst)then local tabela_artykulow,tabela_licencji_spisu_tresci,przekierowanie_spisu_tresci=p.ZbieranieInformacjiWoluminuDanegoSpisuRzeczy(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,"",czy_artykul_korzystany,adres_ksiazki_glownego_spisu_tresci,__FUNKCJA_ZBIERANIA_DANYCH); local tab_inne_spisy; tabela_artykulow,tab_inne_spisy=SpisRzeczy(tabela_artykulow,nil); return tabela_artykulow,tabela_licencji_spisu_tresci,(not przekierowanie_spisu_tresci) and "" or {przekierowanie_spisu_tresci,"",},tab_inne_spisy,nil,adres_ksiazki_glownego_spisu_tresci; end; local tablica_analizy_obiektow_strony_dany_modul_uklad_autonawigacji={}; local szablonowe_modul=require("Module:Szablonowe"); local tekst_zakodowany=szablonowe_modul:KodowanieSzablonowegoTekstuZObiektamiWikikodu(tekst,adres_ustawien,tablica_analizy_obiektow_strony_dany_modul_uklad_autonawigacji,nil,nil); local stronicowyparser_obiekty_modul=mw.loadData('Module:StronicowyParser/obiekty'); local iterator=szablonowe_modul:IteratorSzablonowyZakodowanegoTekstu(tekst_zakodowany,adres_ustawien,tablica_analizy_obiektow_strony_dany_modul_uklad_autonawigacji); local szablon_uklad_autonawigacji; local tablica_danych_parametrow_szablonu_strony_uklad_autonawigacji={}; local tabela_parametrow_szablonu_uklad_autonawigacji; local nazwa_szablonu_uklad_autonawigacji; local tabela_modyfikatorow_uklad_autonawigacji; for szablon,obiekt,kod in iterator do if(obiekt=="SZABLON")then local wynik=szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony_uklad_autonawigacji,kod,adres_ustawien,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow) tabela_parametrow_szablonu_uklad_autonawigacji=tabela_parametrow_szablonu; nazwa_szablonu_uklad_autonawigacji=nazwa_szablonu; tabela_modyfikatorow_uklad_autonawigacji=tabela_modyfikatorow; if(nazwa_szablonu==stronicowyparser_obiekty_modul.uklad_autonawigacji)then szablon_uklad_autonawigacji=szablon; return true; end; end); if(wynik)then break;end; end; end; if(not szablon_uklad_autonawigacji)then local tabela_artykulow,tabela_licencji_spisu_tresci,przekierowanie_spisu_tresci=p.ZbieranieInformacjiWoluminuDanegoSpisuRzeczy(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,"",czy_artykul_korzystany,adres_ksiazki_glownego_spisu_tresci,__FUNKCJA_ZBIERANIA_DANYCH); local tab_inne_spisy; tabela_artykulow,tab_inne_spisy=SpisRzeczy(tabela_artykulow,nil); return tabela_artykulow,tabela_licencji_spisu_tresci,(not przekierowanie_spisu_tresci) and "" or {przekierowanie_spisu_tresci,"",},tab_inne_spisy,nil,adres_ksiazki_glownego_spisu_tresci; end; --local tabela_parametrow_szablonu_uklad_autonawigacji,nazwa_szablonu_uklad_autonawigacji,modyfikatory_wywolania=szablonowe_modul["ParsowanieWywołaniaSzablonu"](szablon_uklad_autonawigacji); if(not tabela_parametrow_szablonu_uklad_autonawigacji)then local tabela_artykulow,tabela_licencji_spisu_tresci,przekierowanie_spisu_tresci=p.ZbieranieInformacjiWoluminuDanegoSpisuRzeczy(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,"",czy_artykul_korzystany,adres_ksiazki_glownego_spisu_tresci,__FUNKCJA_ZBIERANIA_DANYCH); local tab_inne_spisy; tabela_artykulow,tab_inne_spisy=SpisRzeczy(tabela_artykulow,nil); return tabela_artykulow,tabela_licencji_spisu_tresci,(not przekierowanie_spisu_tresci) and "" or {przekierowanie_spisu_tresci,"",},tab_inne_spisy,nil,adres_ksiazki_glownego_spisu_tresci; end; local parametry_modul=require("Module:Parametry"); local automat_manualny=tabela_parametrow_szablonu_uklad_autonawigacji["automat manualny"]; ---- local html_modul=require("Module:Html"); ---- local czy_automat_manualny=(automat_manualny) and parametry_modul.CzyTak(automat_manualny) or nil; if(czy_automat_manualny)then local sub_nazwa_spis_tresci; local spis_tresci=tabela_parametrow_szablonu_uklad_autonawigacji["spis treści"]; spis_tresci=spis_tresci and html_modul.DecodeHtml(spis_tresci,true) or nil; if(parametry_modul.CzyTak(spis_tresci))then local nazwy_modul=require("Module:Nazwy"); local tabela_nazw={}; local pelna_nazwa_ksiazki_spisu_tresci=nazwy_modul["PEŁNANAZWAKSIĄŻKI"](spis_tresci,tabela_nazw); if(pelna_nazwa_ksiazki_spisu_tresci==pelna_nazwa_ksiazki)then sub_nazwa_spis_tresci=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](spis_tresci,tabela_nazw); else sub_nazwa_spis_tresci=""; end; else sub_nazwa_spis_tresci=""; end; local tabela_artykulow,tabela_licencji_spisu_tresci,przekierowanie_spisu_tresci=p.ZbieranieInformacjiWoluminuDanegoSpisuRzeczy(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,sub_nazwa_spis_tresci,czy_artykul_korzystany,adres_ksiazki_glownego_spisu_tresci,__FUNKCJA_ZBIERANIA_DANYCH); tabela_artykulow,tab_inne_spisy=SpisRzeczy(tabela_artykulow,nil); return tabela_artykulow,tabela_licencji_spisu_tresci,(not przekierowanie_spisu_tresci) and sub_nazwa_spis_tresci or {przekierowanie_spisu_tresci,sub_nazwa_spis_tresci,},tab_inne_spisy,nil,adres_ksiazki_glownego_spisu_tresci; end; local frame=mw.getCurrentFrame(); for name,value in pairs(tabela_parametrow_szablonu_uklad_autonawigacji)do tabela_parametrow_szablonu_uklad_autonawigacji[name]=frame:preprocess{text=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(value,adres_ustawien,tablica_analizy_obiektow_strony_dany_modul_uklad_autonawigacji,function(szablon,obiekt,kod) if(obiekt=="ZMIENNA")then szablon,_=mw.ustring.gsub(szablon,"{{{([^|{}]*)|([^{}]-)}}}","{{(((}}%1{{!}}%2{{)))}}"); szablon,_=mw.ustring.gsub(szablon,"{{{([^|{}]*)}}}","{{(((}}%1{{)))}}"); return szablon; end; end),}; end; local nazwy_modul=require("Module:Nazwy"); local bez_spisow_tresci=tabela_parametrow_szablonu_uklad_autonawigacji["bez spisów treści"]; local czy_bez_spisow_tresci=(bez_spisow_tresci) and parametry_modul.CzyTak(bez_spisow_tresci) or nil; local bez_analizy_spisow_tresci=tabela_parametrow_szablonu_uklad_autonawigacji["bez analizy spisów treści"]; local czy_bez_analizy_spisow_tresci=(bez_analizy_spisow_tresci) and parametry_modul.CzyTak(bez_analizy_spisow_tresci) or nil; ---- local tab_inne_spisy;local nazwa_glownego_spisu; local tablista_artykulow; local licencja; local numer=1; ---- --local nazwa_modulu=nazwy_modul["NazwaModułu"](nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,""); ---- local tabela_artykulow_ksiazek_wedlug_strony_glownej_podrecznika;local tabela_licencji_ksiazek_wedlug_strony_glownej_podrecznika;local przekierowanie_spisu_tresci; if(not czy_bez_spisow_tresci)then local spis_tresci_main=tabela_parametrow_szablonu_uklad_autonawigacji["spis treści"]; if(spis_tresci_main)then spis_tresci_main=html_modul.DecodeHtml(spis_tresci_main,true); --- spis_tresci_main=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=spis_tresci_main,[2]=pelna_nazwa_ksiazki,}; end; local tabela_nazw={}; local pelna_nazwa_ksiazki_wedlug_glownego_spisu_tresci=parametry_modul.CzyTak(spis_tresci_main) and nazwy_modul["PEŁNANAZWAKSIĄŻKI"](spis_tresci_main,tabela_nazw) or pelna_nazwa_ksiazki; if(pelna_nazwa_ksiazki~=pelna_nazwa_ksiazki_wedlug_glownego_spisu_tresci)then return 0; end; nazwa_glownego_spisu=parametry_modul.CzyTak(spis_tresci_main) and nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](spis_tresci_main,tabela_nazw) or ""; else nazwa_glownego_spisu=""; end; if((not czy_bez_spisow_tresci)and(not czy_bez_analizy_spisow_tresci))then tabela_artykulow_ksiazek_wedlug_strony_glownej_podrecznika,tabela_licencji_ksiazek_wedlug_strony_glownej_podrecznika,przekierowanie_spisu_tresci=p.ZbieranieInformacjiWoluminuDanegoSpisuRzeczy(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_glownego_spisu,czy_artykul_korzystany,adres_ksiazki_glownego_spisu_tresci,__FUNKCJA_ZBIERANIA_DANYCH); if(przekierowanie_spisu_tresci)then nazwa_glownego_spisu={przekierowanie_spisu_tresci,nazwa_glownego_spisu,}; end; if((not tabela_artykulow_ksiazek_wedlug_strony_glownej_podrecznika)or(tabela_artykulow_ksiazek_wedlug_strony_glownej_podrecznika==0))then return tabela_artykulow_ksiazek_wedlug_strony_glownej_podrecznika; end; local IteratorSpisTresci=function() local liczba=1; return function() local spis_tresci=tabela_parametrow_szablonu_uklad_autonawigacji["spis treści "..liczba]; liczba=liczba+1; return spis_tresci; end; end; local iter=IteratorSpisTresci(); tablista_artykulow=tabela_artykulow_ksiazek_wedlug_strony_glownej_podrecznika; licencja=tabela_licencji_ksiazek_wedlug_strony_glownej_podrecznika; tablista_artykulow,tab_inne_spisy,numer=Spis(tablista_artykulow,nil,tab_inne_spisy,nazwa_glownego_spisu,numer); local artykul_spisu_rzeczy=p.CzyJestStronaInnegoGeneralnegoSpisuRzeczyArtykularnaNaGeneralnymSpiseRzeczyWePodreczniku(tablista_artykulow); if(artykul_spisu_rzeczy)then tabela_artykulow,tab_inne_spisy,numer=InneSpisy(tablista_artykulow,tab_inne_spisy,artykul_spisu_rzeczy,numer); end; for spis_tresci in iter do --- if(not parametry_modul.CzyTak(spis_tresci))then return;end; spis_tresci=html_modul.DecodeHtml(spis_tresci,true); spis_tresci=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=spis_tresci,[2]="",}; --- tablista_artykulow,tab_inne_spisy,numer=InneSpisy(tablista_artykulow,tab_inne_spisy,spis_tresci,numer); end; end; ---- local IteratorFun=function() local liczba=1; local STRONA=function(liczba)return liczba*2-1;end; local NAZWA=function(liczba)return liczba*2;end; return function() local strona=tabela_parametrow_szablonu_uklad_autonawigacji[STRONA(liczba)]; local nazwa=tabela_parametrow_szablonu_uklad_autonawigacji[NAZWA(liczba)]; liczba=liczba+1; return strona,nazwa; end; end; local tablica_stron_ksiazki={}; local tablica_stron_inne={}; local iter=IteratorFun(); local ksiazkawe_modul=require("Module:Książkowe"); local pudelko_modul=require("Module:Pudełko"); local wiki_modul=require("Module:Wiki"); local dodatkowe_artykuly=nil; local tablica_artykulow_zebranych={}; local tab_nazwa_spisow_przekierowaniowych={}; local dodatkowe_artykuly=nil; local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne") local tabela_rozdzial_artykulow=nil; ---- local pelna_nazwa_spisu_tresci_bez_nazwy_przestrzeni_szablonowej=(nazwa_przestrzeni and nazwa_przestrzeni_ksiazki and nazwa_ksiazki) and nazwy_modul["NazwaModułu"](((nazwy_np_modul.Template~=nazwa_przestrzeni) and (nazwa_przestrzeni) or ""),nazwa_przestrzeni_ksiazki,nazwa_ksiazki,"") or nil; local pelna_nazwa_spisu_tresci_szablonowa=pelna_nazwa_spisu_tresci_bez_nazwy_przestrzeni_szablonowej and (((nazwa_przestrzeni=="")and ":" or "")..pelna_nazwa_spisu_tresci_bez_nazwy_przestrzeni_szablonowej)or nil; ---- --local tablica_danych_parametrow_szablonu_strony_uklad_autonawigacji={}; ---- for strona,nazwa in iter do local function ZbieranieDanychStronZAutonawigacji() if(not parametry_modul.CzyTak(strona))then return;end; strona=html_modul.DecodeHtml(strona,true); nazwa=parametry_modul.CzyTak(nazwa) and html_modul.DecodeHtml(nazwa,true) or nil; if(not dodatkowe_artykuly)then if((not tablista_artykulow)or(not parametry_modul.TypeTable(tablista_artykulow)))then tablista_artykulow={};end; table.insert(tablista_artykulow,{[1]={"Dodatkowe artykuły",{1,nil,nil},["dodatkowe"]="tak",},[2]=nil,}); tabela_rozdzial_artykulow=tablista_artykulow[#tablista_artykulow]; end; --- strona=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=strona,[2]=pelna_nazwa_ksiazki,}; local WsadzanieParametryDoTablicy=function(tabela_rozdzial_artykulow,numer_rodzaju_artykulow_w_nie_podreczniku,tab_stare) if(not dodatkowe_artykuly)then dodatkowe_artykuly={};end; ---- local czy_table_baza_artykulu=stronicowyparser_potrzebne_modul.CzyTabelaStronyWoluminuSpisuRzeczy(tab_stare[1]); local adres=czy_table_baza_artykulu and tab_stare[1][1] or tab_stare[1]; local czy_w_podreczniku=tab_stare[5]; local kod_jezyka_koncowy=czy_table_baza_artykulu and tab_stare[1][5] or nil; local kod_projektu_koncowy=czy_table_baza_artykulu and tab_stare[1][6] or nil; ---- table.insert(dodatkowe_artykuly,{((adres) and (kod_jezyka_koncowy or kod_projektu_koncowy) and({adres,kod_jezyka_koncowy,kod_projektu_koncowy,}) or adres),nazwa,czy_w_podreczniku,}); ---- table.insert(tabela_rozdzial_artykulow[numer_rodzaju_artykulow_w_nie_podreczniku],tab_stare); end; local numer_rodzaju_artykulu_poprz,tab_pozycja_elementow_w_spisie_rzeczy; numer_rodzaju_artykulu_poprz,tab_pozycja_elementow_w_spisie_rzeczy,tablica_artykulow_zebranych=WstawianieElementowychZarejestrowanychStronDoBazyWoluminu(self,WsadzanieParametryDoTablicy,tabela_rozdzial_artykulow,tablica_artykulow_zebranych,true,{strona,nazwa,},nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,"",pelna_nazwa_spisu_tresci_szablonowa,pelna_nazwa_ksiazki,tablica_analizy_obiektow_strony_dany_modul_uklad_autonawigacji,tablica_danych_parametrow_szablonu_strony_uklad_autonawigacji,nil,nil,tab_nazwa_spisow_przekierowaniowych,--[[]]"*","",false,"[[:"..strona..((parametry_modul.CzyTak(nazwa))and("|"..nazwa) or "").."]]"); end; ZbieranieDanychStronZAutonawigacji(); end; ---- return tablista_artykulow,licencja,nazwa_glownego_spisu,tab_inne_spisy,dodatkowe_artykuly,adres_ksiazki_glownego_spisu_tresci; end; return p; d2c40xglvyoyy1821dv6136zwvvwqzi Moduł:Szablonowe/dane 828 60130 544491 530826 2026-05-27T20:05:20Z Persino 2851 544491 Scribunto text/plain local p={}; p.tablica_parametrowa_kodowa_szablonowa_stosowanych_funkcji={ ["SZABLON"]={ 1,--szablonowe_modul["ParsowanieWywołaniaSzablonu"](); 2,--szablonowe_modul.CzyModyfikatoryZElementamiSzablonowymiNormalnymiSzablonowe(); 3,--szablonowe_modul["SzablonowaNazwaStrony"](); 4,--szablonowe_modul["NazwaSzablonuWywołania"](); 5,--szablonowe_modul["PełnaNazwaStronyNazwySzablonu"](); 0,--stronicowyparser_potrzebne_modul.PodzielNaElementyNazwowyWikiLinkInteligentny(); -1,--techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"] -2,--stronicowyparser_potrzebne_modul.AnalizujLinkSzablonyOrazLinki(); -5,--stronicowyparser_rozdzialy_modul.ObiektySzablonoweFormatowaniaTekstu(); -6,--stronicowyparser_rozdzialy_modul.ObiektySzablonoweUzyskiwaniaUruchomieniaTekstu(); -7,--stronicowyparser_potrzebne_modul.NazwaInnegoSzablonowegoLinkowegoObiektu(); -8,--stronicowyparser_potrzebne_modul.NazwaInnegoSzablonowegoLinkowegoSpisuRzeczy }, ["LINKW"]={ -3,--stronicowyparser_potrzebne_modul.AnalizujLinkSzablonyOrazLinki(); }, ["LINKZ"]={ -4,--stronicowyparser_potrzebne_modul.AnalizujLinkSzablonyOrazLinki(); }, ["ZNACZNIK"]={ 100,--szablonowe_modul.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeZnacznika(); }, ["MATH"]={ 101,--szablonowe_modul.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguMath(); }, ["PRE"]={ 102,--szablonowe_modul.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguPre(); }, ["ŹRÓDŁO"]={ 103,--szablonowe_modul.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguSyntaxHighLight(); }, ["NOWIKI"]={ 104,--szablonowe_modul.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeTaguNowiki(); }, }; p.tablica_znaczniki_typowo_mechanizmu_mediawiki={ ["pre"]="PRE", ["nowiki"]="NOWIKI", ["math"]="MATH", ["source"]="ŹRÓDŁO", ["syntaxhighlight"]="ŹRÓDŁO", ["gallery"]="GALERIA", ["imagemap"]="MAPAOBRAZU", ["inputbox"]="PUDEŁKOWEJŚCIA", ["quiz"]="QUIZ", ["table"]="TABELA", ["tr"]="TABELA", ["td"]="TABELA", ["th"]="TABELA", ["caption"]="TABELA", }; p.tablica_podstawowe_elementy_szablonowe_mediawiki={ ["SZABLON"]=true, ["LINKW"]=true, ["LINKZ"]=true, ["ZMIENNA"]=true, ["WIKITABELA"]=true, ["INNEPRE"]=true, ["ZNACZNIK"]=true, ["INCLUDE"]=true, ["STARE"]=true, }; local m={}; function m.TworzenieTablicyZnacznikowejMechanizmuMediawiki() local tab={}; for _,obiekt in pairs(p.tablica_znaczniki_typowo_mechanizmu_mediawiki)do if(not tab[obiekt])then tab[obiekt]=true;end; end; return tab; end; p.tablica_kodowa_obiektowa_typowo_mechanizmu_mediawiki=m.TworzenieTablicyZnacznikowejMechanizmuMediawiki(); p.tablica_html_mechanizmu_mediawiki={ ["div"]=true, ["span"]=true, ["p"]=true, ["font"]=true, ["code"]=true, ["kbd"]=true, ["sub"]=true, ["sup"]=true, ["bdo"]=true, ["small"]=true, ["big"]=true, ["strong"]=true, ["tt"]=true, ["strike"]=true, ["u"]=true, ["br"]=true, ["hr"]=true, ["dd"]=true, ["dt"]=true, ["b"]=true, ["i"]=true, ["center"]=true, ["table"]=true, ["caption"]=true, ["tbody"]=true, ["tr"]=true, ["td"]=true, ["th"]=true, ["ol"]=true, ["ul"]=true, ["li"]=true, ["em"]=true, ["b"]=true, ["h1"]=true, ["h2"]=true, ["h3"]=true, ["h4"]=true, ["h5"]=true, ["h6"]=true, }; p.tablica_znacznikowa_preprocesora_szablonowego={ ["includeonly"]=true; ["onlyinclude"]=true; ["noinclude"]=true; } local m={}; p.tablica_podobne_html={ ["ref"]=true; ["references"]=true; ["templatestyles"]=true; ["poem"]=true; } m.TablicaZnacznikiMechanizmuMediaWiki=function() local tablica={}; for name,value in pairs(p.tablica_html_mechanizmu_mediawiki)do tablica[name]=value; end; for name,value in pairs(p.tablica_podobne_html)do tablica[name]=value; end; return tablica; end; p.tablica_wiki_znaczniki=m.TablicaZnacznikiMechanizmuMediaWiki(); p.tablica_elementowe_modyfikatory_szablonowe={ ["#invoke:"]={"[%s_]*#[%s_]*invoke[%s_]*:[%s_]*","Module",}, ["#if:"]={"[%s_]*#[%s_]*if[%s_]*:[%s_]*",nil,}, ["#ifeq:"]={"[%s_]*#[%s_]*ifeq[%s_]*:[%s_]*",nil,}, ["#iferror:"]={"[%s_]*#[%s_]*iferror[%s_]*:[%s_]*",nil,}, ["#ifexpr:"]={"[%s_]*#[%s_]*ifexpr[%s_]*:[%s_]*",nil,}, ["#ifexist:"]={"[%s_]*#[%s_]*ifexist[%s_]*:[%s_]*",nil,}, ["#expr:"]={"[%s_]*#[%s_]*expr[%s_]*:[%s_]*",nil,}, ["#tag:"]={"[%s_]*#[%s_]*tag[%s_]*:[%s_]*",nil,}, ["#switch:"]={"[%s_]*#[%s_]*switch[%s_]*:[%s_]*",nil,}, ["#property:"]={"[%s_]*#[%s_]*property[%s_]*:[%s_]*",nil,}, ["int:"]={"[%s_]*int[%s_]*:[%s_]*","MediaWiki",}, ["msg:"]={"[%s_]*msg[%s_]*:[%s_]*","Template",}, ["msgnw:"]={"[%s_]*msgnw[%s_]*:[%s_]*","Template"}, ["raw:"]={"[%s_]*raw[%s_]*:[%s_]*","Template",}, ["subst:"]={"[%s_]*subst[%s_]*:[%s_]*",nil,}, ["safesubst:"]={"[%s_]*safesubst[%s_]*:[%s_]*",nil,}, ["gender:"]={"[%s_]*gender[%s_]*:[%s_]*",nil,}, ["ucfirst:"]={"[%s_]*ucfirst[%s_]*:[%s_]*",nil,}, ["lcfirst:"]={"[%s_]*lcfirst[%s_]*:[%s_]*",nil,}, ["uc:"]={"[%s_]*uc[%s_]*:[%s_]*",nil,}, ["lc:"]={"[%s_]*lc[%s_]*:[%s_]*",nil,}, ["DEFAULTSORT:"]={"[%s_]*DEFAULTSORT[%s_]*:[%s_]*",nil,}, }; p.opis_elementowe_modyfikatory="^[%s_]*#?[%s_]*%a+[%s_]*:[%s_]*"; return p; afnie09w33rerlcktwqbh6nl9zl662j Szablon:Mbox-strona/opis 10 60570 544524 516435 2026-05-28T10:39:58Z Persino 2851 /* Zobacz też */ 544524 wikitext text/x-wiki {{Podstrona dokumentacji}} <!-- EDYTUJ DOKUMENTACJĘ SZABLONU PONIŻEJ TEJ LINII --> {{Wysokie ryzyko}} {{Szablony komunikatów}} {{Spis treści}} <!-- DODAWAJ KATEGORIE NA DOLE STRONY --> == Użycie == == Opis parametrów == == Przykład == == Błędy == Błędy należy zgłaszać na stronie {{Kwestie techniczne}}. == Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) == <templatedata> { "params": { } } </templatedata> == Zobacz też == {{Mbox/opis/Zobacz też}} {{BrClear}} <includeonly><!-- ++++ DODAWAJ KATEGORIE I INTERWIKI PONIŻEJ TEJ LINII --> {{Kategorie | Szablony komunikatów mbox | _i = ! | Szablony szablonów }} </includeonly> es2h1nkalie3v73e692gdgtgrrx5pyt Szablon:Imbox/opis 10 61183 544520 533396 2026-05-28T10:26:45Z Persino 2851 544520 wikitext text/x-wiki {{Podstrona dokumentacji}} <!-- EDYTUJ DOKUMENTACJĘ SZABLONU PONIŻEJ TEJ LINII --> {{Wysokie ryzyko}} {{Szablony komunikatów}} {{Spis treści}} <!-- DODAWAJ KATEGORIE NA DOLE STRONY --> To jest {{s|Mbox}} lub '''meta-box dla komunikatów graficznych'''. Format {{s|Imbox}} jest tutaj przemyślany. Słowo ''''box'''' oznacza '''Image message box''', a słowo ''''imbox''''' pochodzi od nazwy formatu w języku angielskim – która pochodzi od '''Image message box'''. Służy do budowania szablonów pól wiadomości dla stron obrazów (plików). Oferuje kilka różnych kolorów, używa domyślnych ustawień, jeśli nie podano parametru szablonu, i ma kilka innych funkcji. Ten szablon działa prawie dokładnie tak samo jak {{s|Ambox}} i używa tych samych parametrów. === Implementacja (wdrażanie)! === Szablon może swobodnie konwertować pola wiadomości używane na stronach obrazów (plików), aby używały tego szablonu komunikatów. Jeśli znajdziesz jakieś trudne przypadki, wypisz je na stronie dyskusji tego szablonu, a otrzymasz pomoc. == Użycie == Prosty przykład użycia: {{Pre| {{s|Imbox | tekst {{=}} Tekst komunikatu.}} }} {{Imbox | tekst = Tekst komunikatu.}} Kompleksowy przykład: {{Pre| {{s|Imbox | typ {{=}} styl | grafika {{=}} {{s|Plik|plik{{=}}Emblem-question-yellow.svg|rozmiar{{=}}40px|rys{{=}}tak}} | styl {{=}} width: 400px; | styl tekstu {{=}} color: red; font-weight: bold; font-style: italic; | treść {{=}} Wiadomości o obrazach (plikach). }}}} {{Imbox | typ = styl | grafika = {{Plik|plik=Emblem-question-yellow.svg|rozmiar=40px|rys=tak}} | styl = width: 400px; | styl tekstu = color: red; font-weight: bold; font-style: italic; | treść = Wiadomości o obrazach (plikach). }} == Wskazówki dla komunikatów {{s|Imbox}} == Poniższe przykłady wykorzystują różne parametry '''{{Parametr|typ}}''', ale nie wykorzystują parametrów {{Parametr|grafika}}, dlatego też wykorzystują domyślne obrazy dla każdego typu. {{Imbox | typ = poważny | tekst = {{Parametr|typ|{{Un|poważny}}}} – Poważne problemy, jak: {{s|NPA}} i {{s|NPAfrgm}}. }} {{Imbox | typ = szybko | treść = {{Parametr|typ|{{Un|szybko}}}} – Szybkie szablony usuwania, takie jak: {{s|Screenshot}}. }} {{Imbox | typ = usuń | treść = {{Parametr|typ|{{Un|usuń}}}} – Szablony usuwania, takie jak: {{s|DNU}}, {{s|SdU}} i {{s|SdUwynik}}. }} {{Imbox | typ = styl | treść = {{Parametr|typ|{{Un|styl}}}} – Drobne ostrzeżenia i problemy, takie jak: {{s|Kasowanie po przeniesieniu}} i {{s|Zgłoś błąd}}. }} {{Imbox | typ = zawartość | treść = {{Parametr|typ|{{Un|zawartość}}}} – Ważne ostrzeżenia i problemy, takie jak: {{s|Dopracować|POV}}. }} {{Imbox | typ = rozszerz | tekst = {{Parametr|typ|{{Un|rozszerz}}}} – Problemy z zawartością o małej treści, należy ją rozszrzerzyć, takie jak: {{s|Info|POV}}. }} {{Imbox | typ = przeniesienie | treść = {{Parametr|typ|{{Un|przeniesienie}}}} – Przenoszenie i zmiana nazw plików i propozycje, takich jak: {{s|Integrowanie}}, {{s|Integruj z}} i {{s|Integruj do}}. }} {{Imbox | typ = ochrona | treść = {{Parametr|typ|{{Un|ochrona}}}} – Szablony ochrony, takie jak: {{s|Wysokie ryzyko}} i {{s|Skomplikowany}}, wyświetlane na stronie pliku. }} {{Imbox | typ = integruj | tekst = {{Parametr|typ|{{Un|integruj}}}} – integracja, dzielenie i propozycje transwiki, jak {{S|Integracja}}. }} {{Imbox | typ = licencja | treść = {{Parametr|typ|{{Un|licencja}}}} – Szablony licencji, takie jak: {{s|Cc-by-sa-4.0}}. }} {{Imbox | typ = jakość | treść = {{Parametr|typ|{{Un|jakość}}}} – Wyróżnione szablony plików, takie jak: {{s|Plik}}, {{s|Rysunek}} i {{s|MapaObrazu}}. }} {{Imbox | typ = powiadomienie | treść = {{Parametr|typ|{{Un|powiadomienie}}}} – Powiadomienia i wiadomości wszelkiego rodzaju, zarówno stałe, jak i tymczasowe. }} {{Imbox | typ = wiadomość | tekst = {{Parametr|typ|{{Un|wiadomość}}}} – informacje o artykule, jak {{S|Aktualne}} i {{S|W edycji}}. }} == Inne pliki == Domyślne obrazy pokazane powyżej są głównie dla wygody. W wielu przypadkach bardziej odpowiednie jest użycie bardziej szczegółowych obrazów. Te przykłady używają parametru '''{{Parametr|grafika}}''', aby określić obraz inny niż domyślne obrazy. {{Imbox | typ = styl | grafika = {{Plik|plik=Gnome-dev-camera.svg|rozmiar=42px|rys=tak}} | treść = {{Parametr|typ|styl}} {{Br}} {{Parametr|grafika|{{s|Plik|plik{{=}}Gnome-dev-camera.svg|rozmiar{{=}}42px|rys{{=}}tak}}}} {{Br}} Takie szablony używane jak: {{s|Dopracować}}. }} {{Imbox | typ = przeniesienie | grafika = {{Plik|plik=To Commons.svg|rozmiar=52px|rys=tak}} | treść = {{Parametr|typ|przenoszenie}} {{Br}} {{Parametr|grafika|{{s|Plik|plik{{=}}To Commons.svg|rozmiar{{=}}52px|rys{{=}}tak}}}} {{Br}} Takie szablony używane jak {{s|Integrowanie}}, {{s|Integruj z}} i {{s|Integruj do}}. }} {{Imbox | typ = licencja | grafika = {{Plik|plik=Heckert GNU white.svg|rozmiar=48px|rys=tak}} | treść = {{Parametr|typ|licencja}} {{Br}} {{Parametr|grafika|{{s|Plik|plik{{=}}Heckert GNU white.svg|rozmiar{{=}}48px|rys{{=}}tak}}}} {{Br}} Ten obraz jest używany do szablonów licencji GFDL, takich jak: {{s|GFDL}}. }} == Specjalne == Kilka innych kombinacji parametrów. {{Imbox | treść = Brak typu i brak podanego pliku ('''domyślnie''') {{Br}} {{Parametr|poniżej|{{s|Imbox|typ{{=}}zawartość|treść {{=}} Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! }}}} | poniżej = {{Imbox | typ = zawartość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! }} }} {{Imbox | grafika = none | treść = brak grafiki, czyli: '''{{Parametr|grafika|none}}''' albo '''{{Parametr|grafika|nie}}''' (jeśli ten parametr ma inną wartość, to wtedy mamy jakąś grafikę), ale jeśli nie użyto żadnego {{Parametr|grafika}}, to ona jest grafiką ustalaną, przy ustawionym {{Parametr|typ}}, przez ten parametr, a jeśli nawet tego nie podano, wtedy mamy obraz domyślny, a '''treść''' wykorzystuje cały obszar pola wiadomości. {{Br}} {{Parametr|poniżej|{{s|Imbox|typ{{=}}zawartość|treść {{=}} Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! }}}} | poniżej = {{Imbox | typ = zawartość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! }} }} {{Imbox | grafika = brak | treść = brak grafiki, czyli: '''{{Parametr|grafika|brak}}''', czyli wtedy powstaje wolne miejsce, tak jakby tam była widoczna grafika, a dla zawartości, określone parametrem {{Parametr|treść}}, jest wypełniona przestrzeń poza tym miejscem. {{Br}} {{Parametr|poniżej|{{s|Imbox|typ{{=}}zawartość|treść {{=}} Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! }}}} | poniżej = {{Imbox | typ = zawartość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! }} }} {{Imbox | typ = licencja | grafika = {{Plik|plik=PD-icon.svg|rozmiar=40px|rys=tak}} {{Br}} {{Plik|plik=Ambox warning yellow.svg|rozmiar=40px|rys=tak}} | grafika prawo = {{Plik|plik=Shuttle.svg|rozmiar=30px|rys=tak}} | treść = {{Parametr|typ|licencja}} {{Br}} {{Parametr|grafika|{{s|Plik|plik{{=}}Imbox licență.svg|rozmiar{{=}}40px|rys{{=}}tak}} {{s|Br}} {{s|Plik|plik{{=}}Ambox warning yellow.svg|rozmiar{{=}}40px|rys{{=}}tak}}}} {{Br}} {{Parametr|grafika prawo|{{s|Plik|plik{{=}}Shuttle.svg|rozmiar{{=}}30px|rys{{=}}tak}}}} {{Br}} {{Parametr|poniżej|{{s|Imbox|typ{{=}}zawartość|treść {{=}} Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! }}}} | poniżej = {{Imbox | typ = zawartość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! }} }} {{Imbox | typ = licencja | grafika = {{Plik|plik=PD-icon.svg|rozmiar=40px|rys=tak}} {{Br}} {{Plik|plik=Ambox warning yellow.svg|rozmiar=40px|rys=tak}} | grafika prawo = {{Plik|plik=Shuttle.svg|rozmiar=30px|rys=tak}} | treść = '''Ten plik jest w {{lpg|public domain}} ponieważ został stworzony przez {{lpg|NASA}}.''' {{Br}}Należy pamiętać, że używanie logo, insygniów i emblematów NASA jest ograniczone zgodnie z prawem USA. {{Br}} {{Parametr|poniżej|{{s|Imbox|typ{{=}}zawartość|treść {{=}} Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! }}}} | poniżej = {{Imbox | typ = zawartość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! }} }} {{Imbox | typ = licencja | grafika = {{Plik|plik=PD-icon.svg|rozmiar=40px|rys=tak}} | treść = {{Parametr|typ|licencja}} {{Br}} {{Parametr|grafika|{{s|Plik|plik{{=}}Imbox licență.svg|rozmiar{{=}}40px|rys{{=}}tak}}}} {{Br}} {{Parametr|poniżej|{{s|Imbox|typ{{=}}zawartość|treść {{=}} Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! }}}} | poniżej = {{Imbox | typ = zawartość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! }} }} == Opis parametrów == {{Mbox/opis/Opis parametrów-Wykaz}} {{Mbox/opis/Opis parametrów-Opis}} {{Mbox/opis/Opis parametrów-Tabela}} == Techniczne szczegóły == === Specjalna składnia === {{Mbox/opis/Specjalna składnia}} === Budowa tabelkowa obiektów przy pomocy klas i styli, CSS, kaskadowych arkuszy stylów szablonów komunikatów === {{Mbox/opis/CSS}} == Błędy == Błędy należy zgłaszać na stronie {{Kwestie techniczne}}. == Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) == <templatedata> { "params": { "styl": { "description": "Style tabelki komunikatu kaskadowych arkuszy stylów CSS tabelki komunikatów.", "type": "string" }, "typ": { "suggested": true, "description": "Tyo danego komunikatu oznaczony domyślnym rysunkiem i stylami.", "type": "string" }, "grafika": { "example": "{{ikona|pov|35}}", "suggested": true, "description": "Lewa grafika", "type": "unbalanced-wikitext" }, "tekst": { "required": true, "aliases": [ "1 treść" ], "description": "Tekst komunikatu", "type": "content" }, "grafika prawo": { "description": "Grafika po prawej stronie komunikatu.", "type": "unbalanced-wikitext" }, "id": { "description": "Unikalny identyfikator tabelki komunikatów.", "type": "string" }, "styl tekstu": { "description": "Styl tekstu, w zmiennej: 1, tekst albo treść, i ewentualnie z tego poniżej, jeśli: styl poniżej, nie podano, kaskadowych arkuszy stylów CSS.", "type": "string" }, "poniżej": { "description": "Inne wywołanie szablonu komunikatu w danym komunikacie.", "type": "string" }, "klasa": { "description": "Klasa kaskadowych arkuszy stylów CSS tabelki komunikatów.", "type": "string" }, "styl poniżej": { "description": "Ustawia styl kaskadowych arkuszy stylów CSS elementowi wstawianemu pod parametrem poniżej.", "type": "string" } }, "paramOrder": [ "typ", "styl tekstu", "tekst", "grafika", "grafika prawo", "id", "klasa", "styl", "poniżej", "styl poniżej" ], "format": "block", "description": "Szablon do użycia na stronach plików w przestrzeni nazw: \"Plik\"." } </templatedata> == Zobacz też == {{Mbox/opis/Zobacz też}} {{BrClear}} <includeonly><!-- ++++ DODAWAJ KATEGORIE I INTERWIKI PONIŻEJ TEJ LINII --> {{Kategorie | Szablony komunikatów mbox | Szablony szablonów }} </includeonly> mbtpkrc9d1ymsfjrzc9rycontjh0lpw Szablon:Cmbox/opis 10 61188 544521 533395 2026-05-28T10:30:23Z Persino 2851 544521 wikitext text/x-wiki {{Podstrona dokumentacji}} <!-- EDYTUJ DOKUMENTACJĘ SZABLONU PONIŻEJ TEJ LINII --> {{Wysokie ryzyko}} {{Szablony komunikatów}} {{Spis treści}} <!-- DODAWAJ KATEGORIE NA DOLE STRONY --> To jest meta-szablon {{s|cmbox}} lub '''pole wiadomości kategorii'''. Jest używany do budowania szablonów pól wiadomości dla stron kategorii, takich jak: {{s|mbox-strona}}, itd. Oferuje kilka różnych kolorów, używa domyślnych wyobrażeń, jeśli nie podano parametru wyobrażenia i ma kilka innych funkcji. Ten szablon działa prawie dokładnie tak samo jak {{s|ambox}} i używa tych samych parametrów. === Implementacja (wdrażamy)! === Po długiej dyskusji na {{ls|Cmbox|stronie dyskusji|d=tak}} tego szablonu i w innych miejscach w końcu wdrażamy ten szablon. Możesz swobodnie konwertować dowolne pola wiadomości używane na stronach kategorii, aby używały tego meta-szablonu. Jeśli znajdziesz jakieś trudne przypadki, wypisz je na stronie dyskusji tego szablonu, a otrzymasz pomoc. Kiedy ten szablon jest używany do budowania pól wiadomości kategorii, pola te powinny zawierać wyjaśniające wiadomości, tak jak poprzednio. (Te same wiadomości co poprzednio lub nowe, ulepszone wiadomości.) Jeśli w polach znajdują się bardziej szczegółowe obrazy lub znasz lepszy obraz, użyj ich zamiast domyślnych obrazów pokazanych tutaj. == Użycie == Prosty przykład użycia: {{Pre|{{s|Cmbox | treść {{=}} Jakaś wiadomość.}}}} {{Cmbox | treść = Jakaś wiadomość.}} Złożony przykład: {{Pre| {{s|Cmbox | typ {{=}} styl | grafika {{=}} {{s|Plik|plik{{=}}Emblem-question-yellow.svg|rozmiar{{=}}40px|rys{{=}}tak}} | styl {{=}} width: 400px; | styl tekstu {{=}} color: red; font-weight: bold; font-style: italic; | treść {{=}} Treść ciała wiadomości. }}}} {{Cmbox | typ = styl | grafika = {{Plik|plik=Emblem-question-yellow.svg|rozmiar=40px|rys=tak}} | styl = width: 400px; | styl tekstu = color: red; font-weight: bold; font-style: italic; | treść = Treść ciała wiadomości. }} === Wskazówki dotyczące pola wiadomości kategorii === Poniższe przykłady wykorzystują różne parametry '''typ''', ale nie zawierają parametru: {{Parametr|grafika}}, dlatego dla każdego wywołania stosują domyślne grafiki. {{Cmbox | typ = poważny | tekst = {{Parametr|typ|{{Un|poważny}}}} – Poważne problemy, jak: {{s|NPA}} i {{s|NPAfrgm}}. }} {{Cmbox | typ = szybko | tekst = {{Parametr|typ|{{Un|szybko}}}} – Szybkie szablony usuwania, takie jak: {{s|Screenshot}}. }} {{Cmbox | typ = usuń | treść = {{Parametr|typ|{{Un|usuń}}}} – Szablony usuwania, takie jak {{s|DNU}}, {{s|SdU}} i {{s|SdUwynik}}. }} {{Cmbox | typ = zawartość | treść = {{Parametr|typ|{{Un|zawartość}}}} – Ważne ostrzeżenia i problemy, takie jak: {{s|Dopracować|POV}}. }} {{Cmbox | typ = rozszerz | tekst = {{Parametr|typ|{{Un|rozszerz}}}} – Problemy z zawartością o małej treści, należy ją rozszrzerzyć, takie jak: {{S|Info|POV}}. }} {{Cmbox | typ = styl | treść = {{Parametr|typ|{{Un|styl}}}} – Drobne ostrzeżenia i problemy, takie jak: {{s|Kasowanie po przeniesieniu}} i {{s|Zgłoś błąd}}. }} {{Cmbox | typ = przeniesienie | treść = {{Parametr|typ|{{Un|przeniesienie}}}} – Przenoszenie, scalanie i dzielenie wiadomości i propozycji, takich jak: {{s|Integrowanie}}, {{s|Integruj z}} i {{s|Integruj do}}. }} {{Cmbox | typ = integruj | tekst = {{Parametr|typ|{{Un|integruj}}}} – integracja, dzielenie i propozycje transwiki, jak {{S|Integracja}}. }} {{Cmbox | typ = ochrona | tekst = {{Parametr|typ|{{Un|ochrona}}}} – Szablony ochrony, takie jak: {{s|Wysokie ryzyko}} i {{s|Skomplikowany}}, wyświetlane na stronie pliku. }} {{Cmbox | typ = powiadomienie | treść = {{Parametr|typ|{{Un|powiadomienie}}}} – Powiadomienia i wiadomości wszelkiego rodzaju, zarówno stałe, jak i tymczasowe. }} {{Cmbox | typ = wiadomość | tekst = {{Parametr|typ|{{Un|wiadomość}}}} – Informacje o artykule, jak {{S|Aktualne}} i {{S|W edycji}}. }} Jeśli w wywołaniu szablonu nie zadeklarowano parametru ''typ'', domyślnym ustawieniem jest {{Parametr|typ|wiadomość}}. == Inne grafiki == Domyślne obrazy pokazane powyżej są głównie dla wygody. W wielu przypadkach bardziej odpowiednie jest użycie bardziej szczegółowych obrazów. Te przykłady używają parametru '''image''', aby określić obraz inny niż domyślne obrazy. {{Cmbox | typ = styl | grafika = {{Plik|plik=Sub-arrows.svg|rozmiar=40px|rys=tak}} | treść = {{Parametr|typ|styl}} {{Br}} {{Parametr|grafika|{{s|Plik|plik{{=}}Sub-arrows.svg|rozmiar{{=}}40px|rys{{=}}tak}}}} {{Br}} Ten obraz jest używany do: {{s|Opis kategorii}} i {{s|Opis kategorii 2}}. }} {{Cmbox | typ = przenieszenie | grafika = {{Plik|Redirect arrow.svg|rozmiar=52px|rys=tak}} | treść = {{Parametr|typ|przeniesienie}} {{Br}} {{Parametr|grafika|{{s|Plik|plik{{=}}Redirect arrow.svg|rozmiar{{=}}52px|rys{{=}}tak}}}} {{Br}} Ten obraz jest używany do: {{s|Podziel}}, {{s|Wydziel}} i {{s|Softredirect}}. }} == Specjalne == Kilka innych kombinacji parametrów. {{Cmbox | treść = Nie podano typu i obrazu (''domyślne'') {{Br}} {{Parametr|poniżej|{{s|Cmbox|typ{{=}}zawartość|treść{{=}}Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | poniżej = {{Cmbox | typ = zawartość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! }} }} {{Cmbox | grafika = none | treść = Brak typu i '''{{Parametr|grafika|none}}''' – Obrazek nie jest używany, a ''{{Parametr|treść}}'' zajmuje cały obszar pola wiadomości. {{Br}} {{Parametr|poniżej|{{s|Cmbox|typ{{=}}zawartość|Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | poniżej = {{Cmbox | typ = zawartość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! }} }} {{Cmbox | grafika = brak | treść = Brak typu i '''{{Parametr|grafika|brak}}''' – Obrazek nie jest używany, a ''{{Parametr|treść}}'' zajmuje cały obszar pola wiadomości bez miejsca na grafiki. {{Br}} {{Parametr|poniżej|{{s|Cmbox|typ{{=}}zawartość|Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | poniżej = {{Cmbox | typ = zawartość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! }} }} {{Cmbox | grafika = {{Plik|plik=Gnome globe current event.svg|rozmiar=42px|rys=tak}} | grafika prawo = {{Plik|plik=Nuvola apps bookcase.svg|rozmiar=40px|rys=tak}} | treść = {{Parametr|grafika|{{s|Plik|plik{{=}}Gnome globe current event.svg|rozmiar{{=}}42px|rys{{=}}tak}}}} {{Br}} {{Parametr|grafika prawo|{{s|Plik|plik{{=}}Nuvola apps bookcase.svg|rozmiar{{=}}40px|rys{{=}}tak}}}} {{Br}} {{Parametr|poniżej|{{s|Cmbox|typ{{=}}zawartość|treść {{=}} Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! }}}} | poniżej = {{Cmbox | typ = zawartość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! }} }} {{Cmbox | grafika = {{Plik|plik=Gnome globe current event.svg|rozmiar=42px|rys=tak}} | grafika prawo = {{Plik|plik=Shuttle.svg|rozmiar=20px|rys=tak}} | treść = '''Ta kategoria zawiera artykuły o bieżących i niedawnych {{lpg|lot kosmiczny|lotach kosicznych}}.'''{{Br}} Kategoria ta jest wypełniana przez szablon {{s|Wolumin}}. {{Br}} {{Parametr|poniżej|{{s|Cmbox|typ{{=}}zawartość|Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek!}}}} | poniżej = {{Cmbox | typ = zawartość | treść = Ten szablon jest w osobnym wierszu, z atomatycznie ustawioną liczbą scalonych komórek! }} }} == Opis parametrów == {{Mbox/opis/Opis parametrów-Wykaz}} {{Mbox/opis/Opis parametrów-Opis}} {{Mbox/opis/Opis parametrów-Tabela}} == Techniczne szczegóły == === Specjalna składnia === {{Mbox/opis/Specjalna składnia}} === Budowa tabelkowa obiektów przy pomocy klas i styli, CSS, kaskadowych arkuszy stylów szablonów komunikatów === {{Mbox/opis/CSS}} == Błędy == Błędy należy zgłaszać na stronie {{Kwestie techniczne}}. == Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) == <templatedata> { "params": { "styl": { "description": "Style tabelki komunikatu kaskadowych arkuszy stylów CSS tabelki komunikatów.", "type": "string" }, "typ": { "suggested": true, "description": "Tyo danego komunikatu oznaczony domyślnym rysunkiem i stylami.", "type": "string" }, "grafika": { "example": "{{ikona|pov|35}}", "suggested": true, "description": "Lewa grafika", "type": "unbalanced-wikitext" }, "tekst": { "required": true, "aliases": [ "1 treść" ], "description": "Tekst komunikatu", "type": "content" }, "grafika prawo": { "description": "Grafika po prawej stronie komunikatu.", "type": "unbalanced-wikitext" }, "id": { "description": "Unikalny identyfikator tabelki komunikatów.", "type": "string" }, "styl tekstu": { "description": "Styl tekstu, w zmiennej: 1, tekst albo treść, i ewentualnie z tego poniżej, jeśli: styl poniżej, nie podano, kaskadowych arkuszy stylów CSS.", "type": "string" }, "poniżej": { "description": "Inne wywołanie szablonu komunikatu w danym komunikacie.", "type": "string" }, "klasa": { "description": "Klasa kaskadowych arkuszy stylów CSS tabelki komunikatów.", "type": "string" }, "styl poniżej": { "description": "Ustawia styl kaskadowych arkuszy stylów CSS elementowi wstawianemu pod parametrem poniżej.", "type": "string" } }, "paramOrder": [ "typ", "styl tekstu", "tekst", "grafika", "grafika prawo", "id", "klasa", "styl", "poniżej", "styl poniżej" ], "format": "block", "description": "Szablon do użycia w kategoriach w przestrzeni nazw Kategoria." } </templatedata> == Zobacz też == {{Mbox/opis/Zobacz też}} {{BrClear}} <includeonly><!-- ++++ DODAWAJ KATEGORIE I INTERWIKI PONIŻEJ TEJ LINII --> {{Kategorie | Szablony komunikatów mbox | Szablony szablonów }} </includeonly> ji646ivl9kpg61p67xfrl0ailjqsmfv Szablon:Wymaga znajomości/opis 10 61189 544525 516434 2026-05-28T10:40:50Z Persino 2851 /* Zobacz też */ 544525 wikitext text/x-wiki {{Podstrona dokumentacji}} <!-- EDYTUJ DOKUMENTACJĘ SZABLONU PONIŻEJ TEJ LINII --> {{Wysokie ryzyko}} {{Szablony komunikatów}} {{Spis treści}} <!-- DODAWAJ KATEGORIE NA DOLE STRONY --> == Użycie == == Opis parametrów == == Przykład == == Błędy == Błędy należy zgłaszać na stronie {{Kwestie techniczne}}. == Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) == <templatedata> { "params": { } } </templatedata> == Zobacz też == {{Mbox/opis/Zobacz też}} {{BrClear}} <includeonly><!-- ++++ DODAWAJ KATEGORIE I INTERWIKI PONIŻEJ TEJ LINII --> {{Kategorie | Szablony komunikatów mbox | Szablony szablonów | Szablony linków }} </includeonly> jg22jz9q68cnbx980y79i014bajea6n Moduł:StronicowyParser/GłównaFunkcjaZbieraniaDanychStron 828 62247 544480 544466 2026-05-27T12:41:40Z Persino 2851 544480 Scribunto text/plain local p={}; function p.PobieranieInformacjiRamkiRozpatrywanejStrony(self) return self.tabela_listy_danych_analizy_ksiazki; end; function p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi(self) self.tabela_listy_danych_analizy_ksiazki={}; self.tabela_listy_danych_analizy_ksiazki.dane_analizy_stron={}; local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty"); self.tabela_listy_danych_analizy_ksiazki.problemy=nil; self.tabela_listy_danych_analizy_ksiazki.licencja={}; local nazwy_modul=require("Module:Nazwy"); local ksiazkowe_modul=require("Module:Książkowe"); local function DaneNazw(pelna_nazwa_strony) local tabela_nazw={}; local nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](pelna_nazwa_strony,tabela_nazw); local nazwa_przestrzeni_ksiazki=nazwy_modul["NAZWAPRZESTRZENIKSIĄŻKI"](pelna_nazwa_strony,tabela_nazw); local nazwa_ksiazki=(nazwa_przestrzeni_ksiazki~="") and nazwy_modul["SUBNAZWAKSIĄŻKI"](pelna_nazwa_strony,tabela_nazw) or nazwy_modul["NAZWAKSIĄŻKI"](pelna_nazwa_strony,tabela_nazw); local nazwa_artykulu=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"](pelna_nazwa_strony,tabela_nazw); return nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu; end; local strona_aktualna=ksiazkowe_modul["PełnaNazwaArtykułu"](); local nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu=DaneNazw(strona_aktualna); local pelna_nazwa_ksiazki=((nazwa_przestrzeni~="")and(nazwa_przestrzeni..":") or "") ..((nazwa_przestrzeni_ksiazki~="")and(nazwa_przestrzeni_ksiazki.."/") or "") ..nazwa_ksiazki; local pelna_nazwa_ksiazki_ustawienia="Szablon:Podręcznik/Ustawienia/"..pelna_nazwa_ksiazki; local techniczne_modul=require("Module:Techniczne"); local ile,_=techniczne_modul.PoliczZbiory{[1]=pelna_nazwa_ksiazki_ustawienia.."/config",}; if(ile>0)then local frame=mw.getCurrentFrame(); local szablonowe_modul=require("Module:Szablonowe"); local nazwa_szablonu=szablonowe_modul.NazwaSzablonu(pelna_nazwa_ksiazki_ustawienia); local ksiazka=frame:expandTemplate{title=nazwa_szablonu.."/config",args={[1]="książka",}}; local artykul=frame:expandTemplate{title=nazwa_szablonu.."/config",args={[1]="artykuł",}}; if(not mw.ustring.match(ksiazka,"^%s*$"))then local strona=ksiazka..((artykul~="") and ("/"..artykul) or ""); local pudelko_modul=require("Module:Pudełko"); local czy_strona_niepoprawna=pudelko_modul["CzyNiepoprawnaNazwa"](strona); if(not czy_strona_niepoprawna)then local html_modul=require("Module:Html"); strona=html_modul.DecodeHtml(strona,true); strona=techniczne_modul["PrzeszkałćAdresWzględnyStronyNaBezwzględny"]{[1]=strona,[2]=strona_aktualna,}; local ile,_=techniczne_modul.PoliczZbiory{[1]=strona,}; if(ile>0)then strona=ksiazkowe_modul["PełnaNazwaArtykułu"](strona); if(strona~=strona_aktualna)then local aktualna_nazwa_przestrzeni,aktualna_nazwa_przestrzeni_ksiazki,aktualna_nazwa_ksiazki,aktualna_nazwa_artykulu=nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu; nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu=DaneNazw(strona); local aktualna_nazwa_przestrzeni,aktualna_nazwa_przestrzeni_ksiazki,aktualna_nazwa_ksiazki,aktualna_nazwa_artykulu=DaneNazw(strona_aktualna); self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_przestrzeni=aktualna_nazwa_przestrzeni; self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_przestrzeni_ksiazki=aktualna_nazwa_przestrzeni_ksiazki; self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_ksiazki=aktualna_nazwa_ksiazki; self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_artykulu=aktualna_nazwa_artykulu; if((aktualna_nazwa_przestrzeni~=nazwa_przestrzeni) or(aktualna_nazwa_przestrzeni_ksiazki~=nazwa_przestrzeni_ksiazki) or(aktualna_nazwa_ksiazki~=nazwa_ksiazki) or(aktualna_nazwa_artykulu~=nazwa_artykulu) )then local zastepcza=frame:expandTemplate{title=nazwa_szablonu.."/config",args={[1]="zastępcza",}}; local parametry_modul=require("Module:Parametry"); self.tabela_listy_danych_analizy_ksiazki.alternatywna=parametry_modul.CzyTak(zastepcza); if(not self.tabela_listy_danych_analizy_ksiazki.alternatywna)then self.tabela_listy_danych_analizy_ksiazki.inna_strona_aktualna_niz_biezaca=true; end; end; end; end; end; end; end; local tablica_zmiennych={}; tablica_zmiennych.tabela_listy_danych_analizy_ksiazki2={}; tablica_zmiennych.linkobiekt={}; local stronicowyparser_zbieraniedanychstron_modul=require("Module:StronicowyParser/ZbieranieDanychStron"); local tabela_listy_danych_analizy_ksiazki=stronicowyparser_zbieraniedanychstron_modul.ZbieranieInformacjiStronyEwentualnieWrazSkojarzonymi(self,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu, true,tablica_zmiennych); local parametry_modul=require("Module:Parametry"); if(parametry_modul.TypeTable(tabela_listy_danych_analizy_ksiazki))then local stronicowyparser_numeracjaobiektowstron_modul=require("Module:StronicowyParser/NumeracjaObiektówStron"); stronicowyparser_numeracjaobiektowstron_modul.PrzetwarzanieZebranychInformacjiDanejKorzystanejStrony(self,tablica_zmiennych,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu); end; return self.tabela_listy_danych_analizy_ksiazki; end; function p.SpisRzeczyWedlePodanegoTekstu(self,tekst_artykulu,nazwa_strony,czy_artykul_korzystany, tylko_naglowek,obiekty,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,tablica_obiektow_strony_danych_kodow_specjalnych_modul,KtorySzablonMaZwracacKategorie,wzory_zamiast_kodow,tabela_elementow_strony_kodow) ---- local czy_kodowanie=((nazwa_modulu_aktualna_czy_biezaca)or(tablica_analizy_obiektow_strony_dany_modul)); ---- if(not nazwa_modulu_aktualna_czy_biezaca)then if czy_artykul_korzystany then local nazwa_przestrzeni_aktualna_czy_biezaca=self.tabela_listy_danych_analizy_ksiazki.alternatywna and self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_przestrzeni or self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni; local nazwa_przestrzeni_ksiazki_aktualna_czy_biezaca=self.tabela_listy_danych_analizy_ksiazki.alternatywna and self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_przestrzeni_ksiazki or self.tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu; local nazwa_ksiazki_aktualna_czy_biezaca=self.tabela_listy_danych_analizy_ksiazki.alternatywna and self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_ksiazki or self.tabela_listy_danych_analizy_ksiazki.nazwa_woluminu; local nazwa_artykulu_aktualna_czy_biezaca=self.tabela_listy_danych_analizy_ksiazki.alternatywna and self.tabela_listy_danych_analizy_ksiazki.aktualna_nazwa_artykulu or self.tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu; local nazwy_modul=require("Module:Nazwy"); nazwa_modulu_aktualna_czy_biezaca=nazwy_modul["NazwaModułu"](nazwa_przestrzeni_aktualna_czy_biezaca,nazwa_przestrzeni_ksiazki_aktualna_czy_biezaca,nazwa_ksiazki_aktualna_czy_biezaca,nazwa_artykulu_aktualna_czy_biezaca); else nazwa_modulu_aktualna_czy_biezaca=nazwa_strony; end; end; local html_modul=require("Module:Html"); nazwa_strony=html_modul.EncodeId(nazwa_strony); ----- local tablica_spisu_tresci=nil; local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne"); local stronicowyparser_rozdzialy_modul=require("Module:StronicowyParser/Rozdziały"); local stronicowyparser_zbieraniedanychstron_modul=require("Module:StronicowyParser/ZbieranieDanychStron"); local szablonowe_modul=require("Module:Szablonowe"); local nazwa_modulu_aktualna_czy_biezaca_szablonowa=szablonowe_modul["SzablonowaNazwaStrony"](nazwa_modulu_aktualna_czy_biezaca); local HNumer=stronicowyparser_potrzebne_modul.LiczonyHNumer(); local tablica_powtarzajacych_sie_elementow={}; local elementy_linku=nil; local frame=mw.getCurrentFrame(); local parametry_modul=require("Module:Parametry"); local techniczne_modul=require("Module:Techniczne"); local html_modul=require("Module:Html"); local szablonowe_potrzebne_modul=require("Module:Szablonowe/Potrzebne"); local stronicowyparser_obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty"); local tab_szablony=stronicowyparser_obiekty_modul.szablony_stronicowego_parsera.szablony_kontenerowe; local tab_naglowki=stronicowyparser_obiekty_modul.szablony_stronicowego_parsera.szablony_wprowadzenia_tekstu; ---- local tab_szablony_stronicowe_niekontenerowe=stronicowyparser_obiekty_modul.szablony_stronicowe_niekontenerowe; ---- local tab_szablony_stronicowe_kontenerowe_formatowania_wzorowego=stronicowyparser_obiekty_modul.szablony_stronicowe_kontenerowe_formatowania_wzorowego; local tab_szablony_szablony_stron_zbiorczych=stronicowyparser_obiekty_modul.szablony_stron_zbiorczych; local tab_szablony_inne_szablony_stron_zbiorczych=stronicowyparser_obiekty_modul.inne_szablony_stron_zbiorczych; local tab_szablony_strona_start=stronicowyparser_obiekty_modul.szablony_stronicowe_formatowania_tekstu; ---- local tab_szablony_indeksowania=stronicowyparser_obiekty_modul.szablony_indeksowania; --- local stronicowyparser_rozdzialy_modul=require("Module:StronicowyParser/Rozdziały"); ---- if(czy_kodowanie)then local szablony_sztucznego_wprowadzenia_tekstu=stronicowyparser_obiekty_modul.szablony_sztucznego_wprowadzenia_tekstu; local szablony_spisu_rzeczy_artykularnego_wprowadzenia_tekstu=stronicowyparser_obiekty_modul.szablony_spisu_rzeczy_artykularnego_wprowadzenia_tekstu; local znaczniki_wprowadzenia_tekstu=stronicowyparser_obiekty_modul.znaczniki_wprowadzenia_tekstu; local SpecjalneWprowadzeniaTekstu=function(szablon,obiekt,kod,czy_szablon,czy_znacznik,czy_liczyc,funkcja1,funkcja2) if(czy_szablon)then return szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,nazwa_strony,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) local numer_parametru=szablony_sztucznego_wprowadzenia_tekstu[nazwa_szablonu]; if(numer_parametru)then local parametr=tabela_parametrow_szablonu[numer_parametru]; if(parametr)then local naglowek,poziom=stronicowyparser_rozdzialy_modul.PodajNapisPoziomuWprowadzeniaTekstu(parametr); if(naglowek)then return funkcja1(parametr); end; end; else local numer_parametru=szablony_spisu_rzeczy_artykularnego_wprowadzenia_tekstu[nazwa_szablonu]; if(numer_parametru)then local function ParametrNR(numer) local indeks=numer_parametru[numer]; local parametr=((indeks)and ( (indeks[2] and tabela_parametrow_szablonu[indeks[2]] or nil) or (indeks[1]and tabela_parametrow_szablonu[indeks[1]] or nil) )or nil ); return parametr; end; local parametr=ParametrNR(1); if(parametr)then if(czy_liczyc)then local ile_poziom=tonumber(ParametrNR(5)) or 6; ile_poziom=(ile_poziom>0)and ile_poziom or 1; ile_poziom=(ile_poziom<=6) and ile_poziom or 6; local poziom=mw.ustring.rep("=",ile_poziom); local adres_ksiazki=ParametrNR(2); local nazwa_modulu_aktualna_czy_biezaca_strony=adres_ksiazki and ParametrNR(2) or nazwa_modulu_aktualna_czy_biezaca; local adres=nazwa_modulu_aktualna_czy_biezaca_strony..((parametr~="")and ("/"..parametr)or ""); adres,rezultat=stronicowyparser_potrzebne_modul.DekodowanieNazwySzablonu(adres,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony) or adres; if(not rezultat)then local modyfikatory;local tabela_modyfikatorow; adres,modyfikatory,tabela_modyfikatorow=szablonowe_modul.WydzielanieOpcjiModyfikatorowych(adres); adres=stronicowyparser_potrzebne_modul.RozwijanieZakodowanejNazwySzablonu(adres,tabela_modyfikatorow,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony); end; adres=stronicowyparser_potrzebne_modul.DekodowanieTekstu(adres,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul); parametr=ParametrNR(3) or parametr; local dodatek=ParametrNR(4); parametr=parametr..((dodatek) and (" "..dodatek) or ""); local ile,_=techniczne_modul.PoliczZbiory{[1]=adres,}; local ObiektKodNumer=function(szablon,obiekt) local tablica_analizy_obiektow_strony_dany_modul_numer=tablica_analizy_obiektow_strony_dany_modul[obiekt]; local kod_numer=1; for name,_ in pairs(tablica_analizy_obiektow_strony_dany_modul_numer)do kod_numer=math.max(kod_numer,name); end; kod_numer=kod_numer+1; tablica_analizy_obiektow_strony_dany_modul_numer[kod_numer]=szablon; local kod_szablonowe=szablonowe_modul.NormaKoduKodowaniaTekstu(obiekt,kod_numer); return kod_szablonowe; end; if(ile>0)then local parametr=poziom..parametr..poziom; return funkcja1(parametr); else local szablon="<span style=\"color:red;\">"..parametr.."</span>"; local kod_parametr=ObiektKodNumer(szablon,"ZNACZNIK"); local parametr=poziom..kod_parametr..poziom; return funkcja1(parametr); end; else return funkcja1(parametr); end; end; end; end; end); elseif(czy_znacznik)then local nazwa,zawartosc,atrybuty=szablonowe_modul.WydzielanieNazwyTekstuOrazOpcjiAtrybutowychZeZnacznika(szablon,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,kod); if((zawartosc)and(nazwa))then if(znaczniki_wprowadzenia_tekstu[nazwa])then return funkcja2(nazwa,zawartosc,atrybuty); end; end; end; end; tekst_artykulu=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstuZgodnieZJegoSzablonowymiElementami(tekst_artykulu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,nil, function(szablon,obiekt,kod) local czy_szablon=(obiekt=="SZABLON");local czy_znacznik=(obiekt=="ZNACZNIK");local czy_wikitabelka=(obiekt=="WIKITABELA"); if((czy_szablon)or(czy_znacznik)or(czy_wikitabelka))then local wynik=SpecjalneWprowadzeniaTekstu(szablon,obiekt,kod,czy_szablon,czy_znacznik,false,function()return true;end,function()return true;end); if(wynik)then return true,nil,nil,true;end; local rozdzial=mw.ustring.match(szablon,"\n(=[^\n]*[^%s=][^\n]*=)[^%S\n]*\n"); if(rozdzial)then local naglowek,poziom=stronicowyparser_rozdzialy_modul.PodajNapisPoziomuWprowadzeniaTekstu(rozdzial); if(naglowek)then return true,nil,nil,true; end; end; end; end, function(szablon,obiekt,kod) local czy_szablon=(obiekt=="SZABLON");local czy_znacznik=(obiekt=="ZNACZNIK"); local wynik=SpecjalneWprowadzeniaTekstu(szablon,obiekt,kod,czy_szablon,czy_znacznik,true, function(parametr) parametr=mw.ustring.gsub(parametr,"\n"," "); return "\n"..parametr.."\n "; end, function(nazwa,zawartosc,atrybuty) if((zawartosc)and(nazwa))then local poziom=stronicowyparser_rozdzialy_modul.HnNumerWprowadzeniaTekstu(nazwa,atrybuty); zawartosc=mw.ustring.gsub(zawartosc,"\n"," "); local poziom_rowna=mw.ustring.rep("=",poziom); return "\n"..poziom_rowna..zawartosc..poziom_rowna.."\n "; end; end); if(wynik)then return wynik;end; return nil; end); end; local iterator=stronicowyparser_rozdzialy_modul.IterTekst(tekst_artykulu); local numeracja; ---- local KtorySzablonMaZwracacKategorieNaglowek=KtorySzablonMaZwracacKategorie and KtorySzablonMaZwracacKategorie[1] or nil; local KtorySzablonMaZwracacKategorieTekst=KtorySzablonMaZwracacKategorie and KtorySzablonMaZwracacKategorie[2] or nil; local CzyJestTakiProblemJakoElementTablicy=KtorySzablonMaZwracacKategorie and KtorySzablonMaZwracacKategorie[3] or nil; ---- local function SzablonNaglowkujWNaglowkuRozdzialu(szablon,obiekt,kod,powtorka,parametry_wywolania_szablonu,nazwa_szablonu_wywolania,modyfikatory_wywolania) --local nazwa_szablonu=szablonowe_modul["NazwaSzablonuWywołania"](szablon); local jest_naglowkuj_w_tekscie_rozdzialu=stronicowyparser_obiekty_modul.szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane.nienumerowane_obiekty_napisu_wprowadzenia_tekstu[nazwa_szablonu_wywolania]; if(jest_naglowkuj_w_tekscie_rozdzialu)then --local parametry_wywolania_szablonu_naglowek,nazwa_szablonu_wywolania,modyfikatory_wywolania=szablonowe_modul["ParsowanieWywołaniaSzablonu"](szablon,nil,nil,nil,tablica_danych_parametrow_szablonu_strony,kod); local numeracja_aktualna=parametry_wywolania_szablonu["uchwyt"] or parametry_wywolania_szablonu[1]; ---- if(numeracja_aktualna)then local wartosc_elementu=jest_naglowkuj_w_tekscie_rozdzialu[1]; local lista_dwuelementowa=tabela_elementow_strony_kodow and stronicowyparser_zbieraniedanychstron_modul.WydobywanieUchwytuZeiBezNumeracji(self,tabela_elementow_strony_kodow,wartosc_elementu,kod) or nil; if(not lista_dwuelementowa)then numeracja_aktualna=stronicowyparser_potrzebne_modul.DekodowanieNazwySzablonu(numeracja_aktualna,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,true) or numeracja_aktualna; numeracja_aktualna=html_modul.DecodeHtml(numeracja_aktualna,true); lista_dwuelementowa={}; lista_dwuelementowa[1]=numeracja_aktualna; else numeracja_aktualna=lista_dwuelementowa[1]; end; if(numeracja_aktualna~="")then table.insert(numeracja,lista_dwuelementowa); end; ---- if(powtorka>=1)then if(self.tabela_listy_danych_analizy_ksiazki)then KtorySzablonMaZwracacKategorieNaglowek(numeracja_aktualna,nazwa_szablonu_wywolania); end; end; elseif(powtorka>=1)then KtorySzablonMaZwracacKategorieNaglowek(nil,nazwa_szablonu_wywolania); end; powtorka=powtorka+1; end; return powtorka; end; ---- local szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_napisu_wprowadzenia_tekstu=stronicowyparser_obiekty_modul.szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane.nienumerowane_obiekty_napisu_wprowadzenia_tekstu; ---- local function SzablonNaglowkujWTekscieRozdzialu(szablon,obiekt,kod) if(obiekt=="SZABLON")then return szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,nazwa_modulu_aktualna_czy_biezaca_szablonowa,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) ---- local jest_naglowkuj_w_tekscie_rozdzialu=szablony_obiektowe_z_uchwytami_numerowane_i_nienumerowane_nienumerowane_obiekty_napisu_wprowadzenia_tekstu[nazwa_szablonu]; if(jest_naglowkuj_w_tekscie_rozdzialu)then local numeracja=tabela_parametrow_szablonu["uchwyt"] or tabela_parametrow_szablonu[1]; if((numeracja)and(numeracja~=""))then local wartosc_elementu=jest_naglowkuj_w_tekscie_rozdzialu[1]; local lista_dwuelementowa=tabela_elementow_strony_kodow and stronicowyparser_zbieraniedanychstron_modul.WydobywanieUchwytuZeiBezNumeracji(self,tabela_elementow_strony_kodow,wartosc_elementu,kod) or nil; if(not lista_dwuelementowa)then numeracja=stronicowyparser_potrzebne_modul.DekodowanieNazwySzablonu(numeracja,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,true) or kod_uchwytu; numeracja=html_modul.DecodeHtml(numeracja,true); else numeracja=lista_dwuelementowa[1]; end; end; KtorySzablonMaZwracacKategorieTekst(numeracja,nazwa_szablonu); return true; end; return false; end, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) return false; end, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) return false; end); end; return false; end; local RefPrzypisowy=function(obiekt,kod) return "&#91;"..((obiekt~="") and (obiekt.." ") or "")..kod.."&#93;"; end; local specjalne_modul=require("Module:Specjalne"); local nazwa_strony_z_naglowkami=((not tylko_naglowek)and(((nazwa_strony)and(nazwa_strony~=""))and (":"..nazwa_strony) or "") or ""); for naglowek_tab,text_rozdzialu,poziom_rozdzialu in iterator do local naglowek=naglowek_tab[1]; numeracja={}; if(czy_kodowanie)then local iterator=szablonowe_modul:IteratorSzablonowyZakodowanegoTekstu(text_rozdzialu,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul); for szablon,obiekt,kod in iterator do local wynik=SzablonNaglowkujWTekscieRozdzialu(szablon,obiekt,kod); if(wynik)then break;end; end; end; local powtorka=0; local czy_szablony=nil; local czy_indeksowanie=nil; local function SzablonyWywolywane(szablon,obiekt,kod) return szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,nazwa_modulu_aktualna_czy_biezaca_szablonowa,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) powtorka=SzablonNaglowkujWNaglowkuRozdzialu(szablon,obiekt,kod,powtorka,tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow); local czy_naglowek=tab_naglowki[nazwa_szablonu]; local czy_tak_naglowki=((czy_naglowek)and(mw.ustring.match(nazwa_szablonu,"^Link")and true or false) or ((not czy_naglowek)and nil)); if((czy_tak_naglowki~=nil)and(czy_tak_naglowki==false))then return ""; elseif((tab_szablony[nazwa_szablonu])or(tab_szablony_stronicowe_niekontenerowe[nazwa_szablonu])or (tab_szablony_inne_szablony_stron_zbiorczych[nazwa_szablonu])or((czy_tak_naglowki~=nil)and(czy_tak_naglowki==true)))then czy_szablony=true; if(not czy_artykul_korzystany)then tabela_parametrow_szablonu["nazwa przestrzeni nazw"]=tabela_parametrow_szablonu["nazwa przestrzeni nazw"] or nazwa_przestrzeni; tabela_parametrow_szablonu["nazwa jednostki"]=tabela_parametrow_szablonu["nazwa jednostki"] or (((nazwa_przestrzeni_ksiazki~="") and (nazwa_przestrzeni_ksiazki.."/") or "")..nazwa_ksiazki..((nazwa_artykulu~="") and ("/"..nazwa_artykulu) or "")) if(self)then local czy_link_lub_pobierz=mw.ustring.match(nazwa_szablonu,"^Link") or mw.ustring.match(nazwa_szablonu,"^Pobierz"); if(czy_link_lub_pobierz)then stronicowyparser_zbieraniedanychstron_modul.ZbieranieKontenerowychInformacjiReferencji(self,tabela_parametrow_szablonu,nazwa_modulu_aktualna_czy_biezaca); else stronicowyparser_zbieraniedanychstron_modul.ZbieranieKontenerowychInformacji(self,tabela_parametrow_szablonu); end; end; end; return szablonowe_modul.KodSymbolicznySzablonu(nazwa_szablonu,tabela_parametrow_szablonu,tabela_modyfikatorow,true); elseif((tab_szablony_strona_start[nazwa_szablonu])or(tab_szablony_szablony_stron_zbiorczych[nazwa_szablonu]))then return ""; elseif(tab_szablony_stronicowe_kontenerowe_formatowania_wzorowego[nazwa_szablonu])then local wynik=stronicowyparser_rozdzialy_modul.ObiektySzablonoweFormatowaniaTekstu(szablon,tab_szablony_stronicowe_kontenerowe_formatowania_wzorowego,nazwa_modulu_aktualna_czy_biezaca_szablonowa,tablica_danych_parametrow_szablonu_strony,kod); if(wynik)then return wynik;end; elseif((czy_indeksowanie)and(tab_szablony_indeksowania[nazwa_szablonu]))then return nil,true; end; return szablon; end, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) return szablon; end, function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod) return szablon; end); end; --naglowek,_=mw.ustring.gsub(naglowek,"({{[^{}]+}})",SzablonyWywolywaneOgolny); --naglowek=mw.ustring.gsub(naglowek,"<ref>.-</ref>",""); --naglowek=Korekta(naglowek); ---naglowek=mw.ustring.gsub(naglowek,"[{}|]",function(s) return "&#"..tostring(mw.ustring.byte(s))..";";end) local nazwa_rozdzialu_w_artykule; if(not czy_kodowanie)then nazwa_rozdzialu_w_artykule,naglowek=specjalne_modul["PrzetwórzNagłówek"](naglowek,true,false); else local function SzablonyWywolywaneOgolny(naglowek) local naglowek,Znaczniki,SzablonyStylowe,ZnakiSpecjalne=specjalne_modul["WydzielZwykłyTekst"]( { tekst=naglowek, ["nagłówek"]=true, nieklasycznie=true, kodowanie=false, ["tablica kodowania"]=tablica_analizy_obiektow_strony_dany_modul, }, function(szablon,obiekt,kod) local szablon,wynik=SzablonyWywolywane(szablon,obiekt,kod); return szablon,wynik; end, function(szablon,obiekt,kod) return czy_indeksowanie; end); return naglowek,Znaczniki,SzablonyStylowe,ZnakiSpecjalne; end; czy_indeksowanie=true; local Znaczniki;local SzablonyStylowe;local ZnakiSpecjalne; naglowek,Znaczniki,SzablonyStylowe,ZnakiSpecjalne=SzablonyWywolywaneOgolny(naglowek); nazwa_rozdzialu_w_artykule=naglowek; naglowek=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(naglowek,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod) if(obiekt=="SZABLON")then return szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,nazwa_modulu_aktualna_czy_biezaca_szablonowa,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow) if(tab_szablony_indeksowania[nazwa_szablonu])then return "";end; end); elseif(obiekt=="ZNACZNIK")then szablon=Znaczniki(szablon,"li"); szablon=Znaczniki(szablon,"ol"); szablon=Znaczniki(szablon,"ul"); return szablon; end; end); czy_indeksowanie=false; nazwa_rozdzialu_w_artykule=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(nazwa_rozdzialu_w_artykule,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul,function(szablon,obiekt,kod) if(obiekt=="ATRYBUTY")then return nil,true; elseif(obiekt=="SZABLON")then szablon=SzablonyWywolywaneOgolny(szablon); return szablon; end; --szablon=Korekta(szablon); --szablon=specjalne_modul["UsuńSzablonyStylów"](szablon); --szablon=specjalne_modul["UsuńZnakiSpecjalne"](szablon); return szablon; end); nazwa_rozdzialu_w_artykule=SzablonyStylowe(nazwa_rozdzialu_w_artykule); nazwa_rozdzialu_w_artykule=ZnakiSpecjalne(nazwa_rozdzialu_w_artykule); nazwa_rozdzialu_w_artykule=Znaczniki(nazwa_rozdzialu_w_artykule); if(not czy_szablony)then nazwa_rozdzialu_w_artykule=html_modul.DecodeKoduHTMLZnaku(nazwa_rozdzialu_w_artykule); nazwa_rozdzialu_w_artykule=html_modul.EncodeSpecjalneZnakiHtml(nazwa_rozdzialu_w_artykule); end; end; nazwa_rozdzialu_w_artykule=mw.ustring.gsub(nazwa_rozdzialu_w_artykule,"\'\'\'",""); nazwa_rozdzialu_w_artykule=mw.ustring.gsub(nazwa_rozdzialu_w_artykule,"\'\'",""); nazwa_rozdzialu_w_artykule=mw.ustring.gsub(nazwa_rozdzialu_w_artykule,"^[%s_]*",""); nazwa_rozdzialu_w_artykule=mw.ustring.gsub(nazwa_rozdzialu_w_artykule,"[%s_]*$",""); nazwa_rozdzialu_w_artykule=mw.ustring.gsub(nazwa_rozdzialu_w_artykule,"[_%s]+"," "); naglowek=mw.ustring.gsub(naglowek,szablonowe_modul.NormaWzoruKodowaniaTekstu("REF(%a*)","(%d+)"),function(obiekt,kod) return "<sup>"..RefPrzypisowy(obiekt,kod).."</sup>"; end); naglowek=mw.ustring.gsub(naglowek,szablonowe_modul.NormaWzoruKodowaniaTekstu("POSTMATH"),function(kod) if(not wzory_zamiast_kodow)then return szablonowe_modul[((nazwa_strony)and(nazwa_strony=="")) and "NormaKoduKodowaniaTekstu" or "NormaKoduZakodowanegoWikiTekstu"]("postMath",(mw.ustring.rep("0",math.max(8-#kod,0)))..kod); elseif(not czy_artykul_korzystany)then if(tablica_obiektow_strony_danych_kodow_specjalnych_modul)then if(tablica_obiektow_strony_danych_kodow_specjalnych_modul["POSTMATH"])then local kod=tonumber(kod); local szablon=tablica_obiektow_strony_danych_kodow_specjalnych_modul["POSTMATH"][kod]; if(szablon)then szablon=frame:preprocess(szablon); return szablon; end; end; end end; return szablonowe_modul[czy_artykul_korzystany and "NormaKoduKodowaniaTekstu" or "NormaKoduZakodowanegoWikiTekstu"]("postMath",(mw.ustring.rep("0",math.max(8-#kod,0)))..kod); end); nazwa_rozdzialu_w_artykule=mw.ustring.gsub(nazwa_rozdzialu_w_artykule,szablonowe_modul.NormaWzoruKodowaniaTekstu("REF(%a*)"),function(obiekt,kod) return RefPrzypisowy(obiekt,kod); end); nazwa_rozdzialu_w_artykule=mw.ustring.gsub(nazwa_rozdzialu_w_artykule,szablonowe_modul.NormaWzoruKodowaniaTekstu("POSTMATH"),function(kod) return szablonowe_modul.NormaKoduZakodowanegoHtmlTekstu("postMath",(mw.ustring.rep("0",math.max(8-#kod,0)))..kod); end); --nazwa_rozdzialu_w_artykule=mw.ustring.gsub(nazwa_rozdzialu_w_artykule,"|","&#"..tostring(mw.ustring.byte('|'))..";"); local numer_tego_samego_naglowka=1; --local nazwa_rozdzialu_w_artykule_p=mw.ustring.lower(nazwa_rozdzialu_w_artykule); local numer_tego_samego_naglowka=1; for s=1,#tablica_powtarzajacych_sie_elementow,1 do local element=tablica_powtarzajacych_sie_elementow[s]; if(element==nazwa_rozdzialu_w_artykule)then numer_tego_samego_naglowka=numer_tego_samego_naglowka+1; end; end; if(numer_tego_samego_naglowka==1)then elementy_linku={nazwa_rozdzialu_w_artykule,naglowek}; else elementy_linku={nazwa_rozdzialu_w_artykule.."_"..numer_tego_samego_naglowka,naglowek}; end; if((obiekty)and(numeracja))then for _,value_numeracja in ipairs(numeracja)do obiekty[#obiekty+1]={value_numeracja,{nazwa_strony_z_naglowkami,elementy_linku[1], elementy_linku[2]}}; end; end; if((poziom_rozdzialu or 0)>0)then local numer_rozdzialu_ustalony=HNumer(poziom_rozdzialu); tablica_powtarzajacych_sie_elementow[#tablica_powtarzajacych_sie_elementow+1]=nazwa_rozdzialu_w_artykule; if(tablica_spisu_tresci==nil)then tablica_spisu_tresci={}; tablica_spisu_tresci.nazwa_strony=nazwa_strony_z_naglowkami; end; tablica_spisu_tresci[#tablica_spisu_tresci+1]={elementy_linku,numer_rozdzialu_ustalony}; end; end; if(czy_kodowanie)then if(czy_artykul_korzystany)then local stronicowyparser_problemy_modul=require("Module:StronicowyParser/Problemy"); if(not CzyJestTakiProblemJakoElementTablicy())then local linia_poczatkowa=mw.ustring.match(tekst_artykulu,"^[^\n]+"); if((linia_poczatkowa)and((mw.ustring.match(linia_poczatkowa,"^(=[^\n]*[^%s=][^\n]*=)[^%S\n]*\n*")) or(mw.ustring.match(linia_poczatkowa,"^(=[^\n]*[^%s=][^\n]*=)[^%S\n]*$*"))) )then return tablica_spisu_tresci; end; local tekst_zerowy=mw.ustring.match(tekst_artykulu,"^(.-)\n=[^\n]*[^%s=][^\n]*=[^%S\n]*\n") or mw.ustring.match(tekst_artykulu,"^(.-)\n=[^\n]*[^%s=][^\n]*=[^%S\n]*$") or tekst_artykulu; local iterator=szablonowe_modul:IteratorSzablonowyZakodowanegoTekstu(tekst_zerowy,nazwa_modulu_aktualna_czy_biezaca,tablica_analizy_obiektow_strony_dany_modul); for szablon,obiekt,kod in iterator do local wynik=SzablonNaglowkujWTekscieRozdzialu(szablon,obiekt,kod); if(wynik)then break;end; end; end; end; end; return tablica_spisu_tresci; end; return p; qhm736v9gsmuwjtnq02rsnp97fmfdak Wikibooks:Moduły/StronicowyParser/SpisTreści 4 63522 544479 544477 2026-05-27T12:34:39Z Persino 2851 /* Przygotowanie zmiennych, inicjowanie tablicy {{Code|tab_stare}} i wsadzanie jej do tablicy ogólnej {{Code|tabela_rozdzial_artykulow}} */ 544479 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/SpisTreści}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == Funkcje lokalne == === {{Śródtytuł|Ile}}{{Code|Ile}} === Funkcja liczy liczbę elementów we wszystkich podtabelach tabeli {{Code|tabela_rozdzial_artykulow}}, licząc od drugiej tabeli, po pierwszej tabeli mieści się podtabela z informacjami o rozdziale, w której znajdują się artykuły określone dalszymi podtabelami. Tymi podtabelami są od {{Code|2}} do {{Code|7}}, czyli {{Code|6}} tabelek, w których są artykuły, które zaliczamy do kategorii wliczane, tzn. one nie znajdują się w takich rozdziałach przetłumaczonych na małą literę, ale przedtem na nią była działana funkcją: {{Code|{{sr|#p["Odstępy"]|p=Parametry}}}}, usuwając z nich odstępy na końcach, w tym dolne myślniki, a wewnątrz zamieniając kolejne dolne myślniki i spacje na jedną spacją, na podstawie metafunkcji: {{Code|{{sr|#p.metatablica_dla_elementowych_miar_tablicy_wedle_niewielkich_liter|p=Parametry}}}}, w: {{Code|{{ld2|Parametry}}}}, aby porównać to z tablicą, by zaliczyć je do tego typu: <syntaxhighlight lang="lua"> p.tablica_nazw_napisu_wprowadzenia_tekstu_pomijanych_w_rozwazaniach_na_stronach_otwarcia_woluminu={ ["licencja"]=true, ["inne"]=true, ["bibliografia"]=true, ["zobacz też"]=true, ["linki zewnętrzne"]=true, }; </syntaxhighlight> A od {{Code|7}} do {{Code|13}} znajdują się podtabele z artykułami, które już należą już tam, czyli też drugie {{Code|6}}. A ta powyższa tabela mieści się: {{Code|{{ld2|StronicowyParser/obiekty}}}}, a jego opis w: {{Code|{{sr|#p.tablica_nazw_napisu_wprowadzenia_tekstu_pomijanych_w_rozwazaniach_na_stronach_otwarcia_woluminu|p=StronicowyParser/obiekty}}}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function Ile(numer_rodzaju_artykulu,tabela_rozdzial_artykulow)...end; </syntaxhighlight> Parametry funkcji: * {{Code|numer_rodzaju_artykulu}} - numer podtabeli elementtu, do którego wsadzamy element, * {{Code|tabela_rozdzial_artykulow}} - tabela wraz podtabelami, od {{Code|1}} do {{Code|13}}, ale liczenie jest od {{Code|2}} === {{Code|WstawianieElementowychZarejestrowanychStronDoBazyWoluminu}} === ==== Opis pobieżny funkcji ==== Funkcja do wstawiania elementów z ogólnej tablicy: {{Code|tabela_rozdzial_artykulow}} {{Patrz|tabela_rozdzial_artykulow}}, za pomocą funkcji wstawianej jako parametr: {{Code|__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY}} {{Patrz|__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY}}, do odpowiedniej pozycji artykularnej od: {{Code|2}} do {{Code|13}}, a pozycja {{Code|1}}, to pozycja rozdziałowa, ona jest określana przez zmienną: {{Code|numer_rodzaju_artykulow_w_nie_podreczniku}} {{Patrz|numer_rodzaju_artykulow_w_nie_podreczniku}}, a pozycja, którą wsadzamy to: {{Code|tab_stare}} {{Patrz|tab_stare}}. Funkcja zwraca pozycje: <syntaxhighlight lang="lua"> return numer_rodzaju_artykulu_poprz,tab_pozycja_elementow_w_spisie_rzeczy,tablica_artykulow_zebranych; </syntaxhighlight> Opis funkcji: * {{Code|numer_rodzaju_artykulu_poprz}} {{Patrz|numer_rodzaju_artykulu_poprz}} - jest to wartość zwrócona przez funkcję: {{Code|{{sr|#p.AnalizujLinkSzablonyOrazLinki|p=StronicowyParser/Potrzebne}}}} {{Patrz|AnalizujLinkSzablonyOrazLinki}}, w odróżnieniu od: {{LinkPatrz|numer_rodzaju_artykulow_w_nie_podreczniku}}, jest mniejszy o jeden, czyli wtedy to była a poziomie przypisywania wartość {{Code|numer_rodzaju_artykulu}} {{Patrz|numer_rodzaju_artykulu}}, * {{Code|tab_pozycja_elementow_w_spisie_rzeczy}} {{Patrz|tab_pozycja_elementow_w_spisie_rzeczy}} - pierwsza artykularna zmienna zwrócona przez funkcję {{LinkPatrz|AnalizujLinkSzablonyOrazLinki}}, * {{Code|tablica_artykulow_zebranych}} {{Patrz|tablica_artykulow_zebranych}} - tablica do sprawdzania, czy artykuł z nagłówkiem, ma powtórzenie tego bez nagłówka, czyli dla tego bez tego jest inna numeracja niż z nagłókiem, a gdy niema tego bez, to wtedy dzięki tej funkcjinumeracja tak się zachowuje, jaak tam by był ten element, co prawda jest tam dodawany, ale jako z informacją taką, że bz numeru ustalanym przez funkcję: {{LinkŚródtytuł|Ile}}, A przy okazji, aby tego elementu nie dodawać ponownie, to w nim jest ustalana druga zmienna na {{Code|1}}, a wcześniej była na {{Code|0}}, i dlatego ona była wtedy dodawana, a później już tak nie jest. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function WstawianieElementowychZarejestrowanychStronDoBazyWoluminu(self,__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY,tabela_rozdzial_artykulow,tablica_artykulow_zebranych,wliczaj_artykuly_tego_rozdzialu,szablon,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,obiekt,kod,tab_nazwa_spisow_przekierowaniowych,--[[]]przedrostek_listy,tekstowy_przedrostek,w_rozdziale,linia_artykokow --[[]])...end; </syntaxhighlight> Parametry funkcji: * {{Code|self}} {{Patrz|self}} - zmienna obiektowa funkcji, z pominięciem, której funkcję można napisać zamiast {{Code|p.}} {{Patrz|p.}} jako {{Code|p:}} {{Patrz|p:}}, * {{Code|__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY}} - opis jest jak w: {{LinkPatrz|__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY}}, * {{Code|tabela_rozdzial_artykulow}} - ta tabela działa według opisu jak w: {{LinkPatrz|tabela_rozdzial_artykulow}}, * {{Code|tablica_artykulow_zebranych}} - działa jak w: {{LinkPatrz|tablica_artykulow_zebranych}}, * {{Code|wliczaj_artykuly_tego_rozdzialu}} {{Patrz|wliczaj_artykuly_tego_rozdzialu}} - jak przybiera odpowiadającą wartość fałszywą, to do: {{LinkPatrz|numer_rodzaju_artykulu}}, dodawane jest {{Code|6}}, * {{Code|szablon}} {{Patrz|szablon}} - jest to tekst zakodowany całego linku wewnętrznego, czy zewnętrznego, czy linku inteligentnego w postaci szablonu, * {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} {{Patrz|nazwa_ksiazki}} - kolejno: nazwa przestrzeni nazw, nazwa przestrzeni książki i nazwa książki, * {{Code|nazwa_spisu_tresci}} {{Patrz|nazwa_spisu_tresci}} - jest to nazwa artykułu danego spisu treści, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} {{Patrz|pelna_nazwa_spisu_tresci_szablonowa}} - pełna nazwa strony, gdzie są rozwijane adresy względne stron, poczytaj: {{lr2|Moduły/StronicowyParser/Rozdziały}} {{Patrz|Moduły/StronicowyParser/Rozdziały}}, * {{Code|nazwa_modulu}} {{Patrz|nazwa_modulu}} - uchwyt do tablicy bazy kodowania zapisany w samej bazie dla danego artykułu, używany zamiast:{{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{Patrz|tablica_analizy_obiektow_strony_dany_modul}} - tablica bazy zapisana w postaci osobnej tablicy, a nie jej w wewnętrznej bazie, nie jak to było w postaci zmiennej {{LinkPatrz|nazwa_modulu}}, używana zamiast: {{LinkPatrz|nazwa_modulu}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - tablica rozłożeń zmiennej {{Code|szablon}}, dla zmiennych szablonowych, i dla funkcji: {{LinkPatrz|AnalizujLinkSzablonyOrazLinki}}, * {{Code|obiekt}} {{Patrz|obiekt}} i {{Code|kod}} {{Patrz|kod}} - obiekt i kod, czyli: zmienne charakteryzujące zmienną: {{LinkPatrz|szablon}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} {{Patrz|tab_nazwa_spisow_przekierowaniowych}} - tablica przekierować, aby nie rozpatrywać tego samego przekierowania wiele razy, * {{Code|przedrostek_listy}} {{Patrz|przedrostek_listy}} - tekstowy przedrostek listy z przedziału znaków: {{Code|<nowiki>[;%*:#]+</nowiki>}} {{Patrz|wzor_do_linii_z_lista}}, rozpoczynających pojedyncza linię, * {{Code|tekstowy_przedrostek}} {{Patrz|tekstowy_przedrostek}} - numeracja rozdziału, z jakim rozpoczyna się rozdział, * {{Code|w_rozdziale}} {{Patrz|w_rozdziale}}} - gdy link znajduje się w rozdziale dodatnim, * {{Code|linia_artykokow}} {{Patrz|linia_artykokow}} - cała linia z artykułem lub artykułami, tą linią równie dobrze może być rozdział, tu chodzi o rozdział dodatni. ==== Opis pobieżny funkcji {{Code|__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY}}, czyli: {{LinkPatrz|__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY}} ==== Definicja funkcji w nagłówku: <syntaxhighlight lang="lua"> __FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY(tabela_rozdzial_artykulow,numer_rodzaju_artykulow_w_nie_podreczniku,tab_stare); </syntaxhighlight> Parametry funkcji: * {{Code|tabela_rozdzial_artykulow}} - jak w: {{LinkPatrz|tabela_rozdzial_artykulow}}, * {{Code|numer_rodzaju_artykulow_w_nie_podreczniku}} - jak w: {{LinkPatrz|numer_rodzaju_artykulow_w_nie_podreczniku}}, * {{Code|tab_stare}} - jak w: {{LinkPatrz|tab_stare}}. Ta funkcja została opisana już wcześniej. ==== Szczegółowy opis funkcji głównej ==== Uruchamiamy funkcję {{LinkPatrz|AnalizujLinkSzablonyOrazLinki}}, która jest zddefiniowana w module: {{Code|{{sr|#p.AnalizujLinkSzablonyOrazLinki|p=StronicowyParser/Potrzebne}}}}. Wywołujemy tę funkcję: <syntaxhighlight lang="lua"> local tab_pozycja_elementow_w_spisie_rzeczy,numer_rodzaju_artykulu,id,parametry_szablonu,kom=stronicowyparser_potrzebne_modul.AnalizujLinkSzablonyOrazLinki(szablon,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,nil,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,obiekt,kod,tab_nazwa_spisow_przekierowaniowych); </syntaxhighlight> Pierwszy elementem {{Code|tab_pozycja_elementow_w_spisie_rzeczy}} {{LinkPatrz|tab_pozycja_elementow_w_spisie_rzeczy}} jest to zmienna tablicowa, która opisuje parametry artykularno-linkowe parametry, drugi {{Code|numer_rodzaju_artykulu}} {{LinkPatrz|numer_rodzaju_artykulu}}, do której kategorii należy dany artykuł w linku, a trzeci parametr, to {{Code|id}} {{Patrz|id}}, to zbierane są parametry linkowe z szablonu {{s|SpisTreści}}, czwarty to {{Code|parametry_szablonu}} {{Patrz|parametry_szablonu}}, w przypadku szablonów inteligentnych linków, to są parametry wywołań tych szablonów, ostatni parametr to {{Code|kom}} {{Patrz|kom}}, przedstawia on, jeśli {{Code|false}}, to artykuł zakwalifikowany zoistał poprawnie do rozważań, a {{Code|true}} już nie. To {{LinkPatrz|parametry szablonu}}, to jest tablica z trzech elementów, tzn.: <syntaxhighlight lang="lua"> local parametry szablonu={tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,}; </syntaxhighlight> Elementy tablicy: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - tablica parametrów uzyskanych z argumentów, i ich wartości, nazwanych i nienazwanych, * {{Code|nazwa_szablonu}} {{Patrz|nazwa_szablonu}} - to jest nazwa uzyskanego szablonu linków inteligentnych lub nie, * {{Code|tabela_modyfikatorow}} {{Patrz|tabela_modyfikatorow}} - tabela modyfikatorów rozkładanego szablonu. Jeśli parametr: {{Code|numer_rodzaju_artykulu}} {{LinkPatrz|numer_rodzaju_artykulu}}, istnieje, to tworzona jest z niego taka sama wersja lub przy nieistnnieniu parametru {{LinkPatrz|wliczaj_artykuly_tego_rozdzialu}}, do niego jest dodawana jest liczba {{Code|6}}. W ten sposób możemy zbierać artykuły książki i inne,ktore należą do pewnych rozdziałów i które nie należą. ===== {{Śródtytuł|ParametrPierwszy}}{{Code|ParametrPierwszy}} ===== Funkcja zbierające dane z {{Code|tab_artykul}} {{Patrz|tab_artykul}}, którego to jest czteroelementowa tablica, dotycząca danego artykułu. Drugim parametrem {{Code|czy_niedozwolone}} {{Patrz|czy_niedozwolone}} jest zmienna logiczna mówiąca, czy wskazać w nazwie artykułu, czy są dozwolone znaki, jest to sprawdzenie według wyrażenia regularnego: {{Code|<nowiki>[|<>{}%[%]]</nowiki>}} na podstawie funkcji {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.ustring.match|n=mw.ustring.match}}}}, czyli: {{Code|znaki_niedozwolone}} {{Patrz|znaki_niedozwolone}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> ParametrPierwszy(tab_artykul,czy_niedozwolone)...end; </syntaxhighlight> Parametry fubkcji: * {{Code|tab_artykul}} - jak w: {{LinkPatrz|tab_artykul}}, * {{Code|czy_niedozwolone}} - jak w: {{LinkPatrz|czy_niedozwolone}}. Gdzie {{LinkPatrz|tab_artykul}}, który jest pierwszym parametrem przyjmowanym przez funkcję, jest zdefiniowany jako czteroelementowa tablica, którą przypisujemy do czterem osobnych parametrów: <syntaxhighlight lang="lua"> local artykul=tab_artykul[1]; local parametry=tab_artykul[2]; local naglowek=tab_artykul[3]; local tablica_przekierowania=tab_artykul[4]; </syntaxhighlight> Jeżżeli, któreś z parametrów z {{LinkPatrz|tab_artykul}}, tzn. element jego {{Code|2}}-gi i {{Code|3}}-ci, istnieje, to układana jest trzyelementowa tablica z elementów od {{Code|1}} do {{Code|3}}, z dodatkowym elementem {{Code|<nowiki>["LINK"] = true</nowiki>}}, a element czwraty to jest {{Code|tablica_przekierowania}} {{Patrz|tablica_przekierowania}}, a jeżeli te dwa elementy, nie licząc czwartego, wcale nie istnieją, wtedy jest tworzony łańcuch znakowy z tego pierwszego elementu. Tak tworzymy, nową wersję tablicy {{Code|tab_artykul}} {{Patrz|tab_artykul-nowa wersja}} lub łańcuch znakowy, w postaci: <syntaxhighlight lang="lua"> tab_artykul=((artykul)and(parametry or naglowek))and{[1]=artykul,[2]=parametry,[3]=naglowek,["LINK"]=true,} or artykul; </syntaxhighlight> Funkcja zwraca trzy parametry, tzn. parametry: {{LinkPatrz|tab_artykul-nowa wersja}}, {{LinkPatrz|znaki_niedozwolone}} i tablicę przekierowania {{LinkPatrz|tablica_przekierowania}}, co skrótowo piszemy: {{Patrz|zwracane-ParametrPierwszy}}: <syntaxhighlight lang="lua"> return tab_artykul,znaki_niedozwolone,tablica_przekierowania; </syntaxhighlight> ===== {{Śródtytuł|RozwijanieNazwy}}{{Code|RozwijanieNazwy}} ===== Szablon służy do rozwijania nazwy szablonu, zamienia nowe linie szablonowe {{s|Br}} i znacznikowe {{Tag|br|pojedynczy}}, na pojedynczą spację. Szablon wykorzystuje tablice szablonów korekt umieszczonych w nazwie linku, czy to normalnego, czy szablonowego (inteligentnego), którego definicja: <syntaxhighlight lang="lua"> p.szablony_dozwolone_w_nazwach_linkowych={ ["Korekta"] =2, }; </syntaxhighlight> Do tego celu używa on funkcję: {{Code|{{sr|#p.ObiektySzablonoweFormatowaniaTekstu|p=StronicowyParser/Rozdziały}}}}, aby szablony w tej tablicy zastąpić odpowiednimi parametrami, którego nazwy, czy numery są oddzielone średnikami, lub nie, ale nazwy są ich w postaci pojedynczej liczby. Szablon również uwzględnia szablony rozwijane przez '''JavaScript''', tzn. tabelę: <syntaxhighlight lang="lua"> p.szablony_rozwijane_przez_javascript_nazwowe_linkowe={ }; </syntaxhighlight> W tym przypadku szablony są kompletowane do postaci pojedynczego wywołania, które może być w przyszłości rozwinięte, np. przez ten język. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function RozwijanieNazwy(szablon,obiekt,kod)...end; </syntaxhighlight> Parametry funkcji: * {{Code|szablon}} - jak w: {{LinkPatrz|szablon}}, * {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}}, * {{Code|kod}} - jak w: {{LinkPatrz|kod}}. ==== Dalszy opis funkcji przy istnieniu parametrów linkowych normalnych, czy szablonowych (linków inteligentnych) ==== ===== Gdy: {{Code|numer_rodzaju_artykulu_poprz}} {{Code|{{=}}}} {{Code|1}} ===== Tworzony jest numerek {{Code|numer_rodzaju_artykulu_w_podreczniku}} {{Patrz|numer_rodzaju_artykulu_w_podreczniku}}, który w stosunku do: {{LinkPatrz|numer_rodzaju_artykulu}}, jest większy o jeden, a schemat tej operacji: <syntaxhighlight lang="lua"> local numer_rodzaju_artykulu_w_podreczniku=numer_rodzaju_artykulu+1; </syntaxhighlight> ====== Tworzenie tablicy: {{LinkPatrz|tablica_artykulow_zebranych}} ====== Wpierw liczone są parametry z wywołania, z opcją, czy ma liczyć, czy nazwa artykułu ma znaki niedozwolone, z funkcji: {{LinkŚródtytuł|ParametrPierwszy}}: <syntaxhighlight lang="lua"> tab_pozycja_elementow_w_spisie_rzeczy[1],znaki_niedozwolone,tablica_przekierowania=ParametrPierwszy(tab_pozycja_elementow_w_spisie_rzeczy[1],true); </syntaxhighlight> Dalej sprawdzane jest, czy ksiązka przyjmuje atrybut: '''czy inna''', wtedy liczymy to z kodu z tablicy przekierowania: {{LinkPatrz|tablica_przekierowania}}, jeżeli jej wartość istnieje, tzn. {{Code|czy_inna_ksiazka}} {{Patrz|czy_inna_ksiazka}}: <syntaxhighlight lang="lua"> local czy_inna_ksiazka=tablica_przekierowania and tablica_przekierowania[1] and tablica_przekierowania[1][5] or nil; </syntaxhighlight> Element: {{Code|<nowiki>[1][5]</nowiki>}}, to jest element tablicy {{LinkPatrz|tablica_przekierowania}}, który przedstawia aryykuł, którego przekierowanie kieruje, wtedy, ten parametr ma wartość {{Code|true}}, a gdy adres przekierowania wskazuje na aktualną stronę, wtedy {{Code|false}}. Jeśli ten parametr ma wartość fałszywą, wtedy jest sprawqdzane, czy jest tablicą w{{Code|czy_tablica}} {{Patrz|czy_tablica}}, według: <syntaxhighlight lang="lua"> czy_tablica=parametry_modul.TypeTable(tab_pozycja_elementow_w_spisie_rzeczy[1]); </syntaxhighlight> Lub w przeciwnym wypadku liczymy parametry artykularne z tablicy przekierowania: {{LinkPatrz|tablica_przekierowania}}, a jeżeli parametry lub nagłówek istnieje, wtedy parametr {{LinkPatrz|czy_tablica}} przyjmuje wartość {{Code|true}}. Gdy element nie jest tablicą, to tworzona jest nazwa pełna artykułu i umieszczana w tablicy {{LinkPatrz|tablica_artykulow_zebranych}}, w sposób, co dalej jest tworzona w dalszych operacjach jest tablica: {{LinkPatrz|tablica_artykulow_zebranych}}, z parametrem początkowym: <syntaxhighlight lang="lua"> tablica_artykulow_zebranych={aktualny_artykul_ksiazki,0,false,}; </syntaxhighlight> Gdy element jest tablicą, też jest liczona pełna nazwa artykułu z tą samą tablicą, w przypadku pierwszego artykułu nienagłówkowego, lub pierwszego artykułu, który może być tylko z nagłówkiem, bo tego bez, w spisie przednim nie ma. Gdy funkcja napotkała artykuł o takim samym stronie, co poprzednio, to do wartości początkowej jest ustawiane odpowiednio: <syntaxhighlight lang="lua"> tablica_artykulow_zebranych[3]=true; </syntaxhighlight> Co informuje, że następny artykuł jest ten sam, tylko inny nagłówek lub jest tym razem z nagłówkiem, a poprzedni bez. ====== Rozwijanie nazwy linku ====== Kompletowany jest drugi element tablicy {{LinkPatrz|tab_pozycja_elementow_w_spisie_rzeczy}}, rozwijając szablony w nim względem funkcji: {{LinkŚródtytuł|RozwijanieNazwy}}. Dalej z tej nazwy są usuwane znaki specjalne według funkcji: {{Code|{{sr|#p["UsuńZnakiSpecjalne"]|p=Specjalne}}}}, z modułu: {{Code|{{ld2|Specjalne}}}}. Następnie działamy funkcją: {{Code|{{sr|#p["Odstępy"]|p=Parametry}}}}, które końcowe spacje usuwa, a wewnętrz powtarzające zamienia kolejne na jedną spację. ====== Dodawanie do tablicy problemów, jeśli nastąpił problem ze znakami niedozwolonymi ====== A między czasie, gdy mamy niedozwolone znaki: {{LinkPatrz|znaki_niedozwolone}}, za pomocą funkcji pytającej sprawdzamy, czy element inny zgłoszeniowy został dodany do tablicy problemów: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, aż w końcu dodajemy ten problem, jeśli go nie ma przy pomocy funkcji: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}. ====== {{Śródtytuł|inicjacja_i_kompletowanie_zmiennych}}Ustalanie nazwy jednostki, kompletowanie linii artykułów i inicjowanie pozycji, w tabeli zebranych elementów, w tabeli zebranych elementów ====== Ustalamy nazwę jednostki z funkcji: {{Code|{{sr|#p.UzyskanieTylkoNazwyLubTabeliNazwyLinkuStronyWoluminuZTabeliZParametramiOrazIdentyfikatorem|p=StronicowyParser/Potrzebne}}}}, i iniconujemy tą wartością, czyli {{Code|nazwa jednostki}} {{Patrz|nazwa jednostki}}, wartość starą: {{Code|stara_nazwa_jednostki}} {{Patrz|stara_nazwa_jednostki}}, według: <syntaxhighlight lang="lua"> ---- Piszanie pełnej nazwy jednostki bez parametrów i nagłówka; local nazwa_jednostki=stronicowyparser_potrzebne_modul.UzyskanieTylkoNazwyLubTabeliNazwyLinkuStronyWoluminuZTabeliZParametramiOrazIdentyfikatorem(tab_pozycja_elementow_w_spisie_rzeczy[1],false); ---- Inicjowanie starej wartości tą policzoną; local stara_nazwa_jednostki=nazwa_jednostki; </syntaxhighlight> Dalej {{Śródtekst|uchwyt=tabela_rozdzial_artykulow|tekst=inicjujemy pozycję, jeżeli nie istnieje taka, na podstawie policzonej wartości: {{LinkPatrz|numer_rodzaju_artykulu_w_podreczniku}}, w tablicy: {{LinkPatrz|tabela_rozdzial_artykulow}}}}, według: <syntaxhighlight lang="lua"> if(not tabela_rozdzial_artykulow[numer_rodzaju_artykulu_w_podreczniku])then tabela_rozdzial_artykulow[numer_rodzaju_artykulu_w_podreczniku]={};end; </syntaxhighlight> Co {{Śródtekst|uchwyt=linia_artykokow|tekst=dalej linię artykułów {{Code|linia_artykokow}} {{LinkPatrz|linia_artykokow}}, kompletujemy, funkcją: {{Code|{{sr|#p.KompletowanieSzablonoweZakodowanegoTekstu|p=Szablonowe}}}}, z modułu: {{Code|{{ld2|Szablonowe}}}}, znając tablicę: {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}}}}, według: <syntaxhighlight lang="lua"> linia_artykokow=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(linia_artykokow,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul); </syntaxhighlight> ====== Uwzględnianie niepodanego elementu nienagłówkowego w tablicy zebranych parametrów ====== Gdy tablica przekierowania {{LinkPatrz|tablica_przekierowania}} istnieje, wtedy sprawdzamy czy zmienna logiczna {{LinkPatrz|czy_tablica}} jest prawdą i czy {{LinkPatrz|stara_nazwa_jednostki}}, czy jest nie pusta, w takim razie jej element {{Code|2}} przydzielany jest do zmiennej {{Code|przekierowanie}} {{Patrz|przekierowanie}}, czyli nazwie artykułu przekierowania. Inicjujemy nową zmienną {{Code|przekierowanie}} {{LinkPatrz|przekierowanie}} z artykułu, parametrów i nagłówka, ale wpierw sprawdzamy, czy dwa ostatnie istnieją, według: <syntaxhighlight lang="lua"> przekierowanie=przekierowanie and ((tablica_przekierowania[3] or tablica_przekierowania[4]) and {przekierowanie, tablica_przekierowania[3], tablica_przekierowania[4],["LINK"]=true,}or przekierowanie) or nil; </syntaxhighlight> Tworzony jest nowy element {{Code|nazwa jednostki}} {{Patrz|nazwajednostki-nowy}} z {{LinkPatrz|nazwa jednostki}}, parametrów i nagłówka, według rysu: <syntaxhighlight lang="lua"> nazwa_jednostki={nazwa_jednostki, tab_pozycja_elementow_w_spisie_rzeczy[1][2], tab_pozycja_elementow_w_spisie_rzeczy[1][3],["LINK"]=true,}; </syntaxhighlight> Jeżeli parametr drugi {{LinkPatrz|tablica_artykulow_zebranych}}, a trzeci jej jest {{Code|false}}, wtedy kreujemy tablicę: {{LinkPatrz|tab_stare}}. Wsadzamy element {{LinkPatrz|tab_stare}} do zbioru {{LinkPatrz|tablica_artykulow_zebranych}} przy pomocy funkcji: {{LinkPatrz|__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY}}. Następnie jej drugiemu elementowi {{LinkPatrz|tablica_artykulow_zebranych}} dawana jest wartość {{Code|1}}, aby nie dało się ponownie tworzyć i wsadzać element {{LinkPatrz|tab_stare}}, do tablicy {{LinkPatrz|tabela_rozdzial_artykulow}} na pozycji {{LinkPatrz|numer_rodzaju_artykulu_w_podreczniku}} według funkcji {{LinkPatrz|__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY}}, odpowiedzialny za artykuł nienagłówkowy, ktorego nie ma w spisach treści książki, ale są one w wersji nagłówkowej. Jeżeli tablica przekierowania {{LinkPatrz|tablica_przekierowania}} jednak nie istnieje, wtedy tak samo sprawdzamy, co poprzednio potem, ale po spełnieniu tych warunków robimy inną tablicą {{LinkPatrz|tab_stare}}, i tę tablicę robimy podobnie, i inicjujemy te same elementy też podobnie. ====== Uwzględnianie pozycji podanej w tablicy zebranych elementów ====== Tworzymy zmienną {{Code|ile_dodac_do_poziomu_artykulu}} {{Patrz|ile_dodac_do_poziomu_artykulu}} z drugiego elementu tablicy {{LinkPatrz|tablica_artykulow_zebranych}}, astępnię tworzymy inną zmienną {{Code|ile_dodac_do_poziomu_artykulu_lub_nil}} {{Patrz|ile_dodac_do_poziomu_artykulu_lub_nil}}, co uwidaczniamy wzorem: <syntaxhighlight lang="lua"> local ile_dodac_do_poziomu_artykulu_lub_nil=((ile_dodac_do_poziomu_artykulu)and(ile_dodac_do_poziomu_artykulu>0))and ile_dodac_do_poziomu_artykulu or nil; </syntaxhighlight> Tworzymy zmienną {{LinkPatrz|tab_stare}}, którą wsadzamy do tablicy {{LinkPatrz|tabela_rozdzial_artykulow}} na pozycji {{LinkPatrz|numer_rodzaju_artykulu_w_podreczniku}} przy pomocy funkcji {{LinkPatrz|__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY}}. ===== Gdy: {{Code|numer_rodzaju_artykulu_poprz}} {{Code|>{{=}}}} {{Code|2}} ===== Będziemy tutaj operowali, gdy parametr drugi zwracany z funkcji: {{LinkPatrz|AnalizujLinkSzablonyOrazLinki}}, wskazuje na nie artykuł książki, zatem ten rozdział jest właśnie dla tego przypadku. ====== Odkodowanie i przygotowanie zmiennych artykułu linku, jej nazwy, także kodu języka i projektu ====== * Gdy pierwszy element tablicy: {{LinkPatrz|tab_pozycja_elementow_w_spisie_rzeczy}}, jest tabelką, wtedy do przetworzenia jego wykorzystujemy funkcję: {{LinkŚródtytuł|ParametrPierwszy}}. * Dla drugiego takiego elementu z: {{LinkPatrz|tab_pozycja_elementow_w_spisie_rzeczy}}, co jest nazwą linku, wtedy gdy nazwa linku normalnego, czy szablonowego, jest zakodowana, to ją odkodujemy, którego każdy jego element kod odkodujemy według fukcji: {{LinkŚródtytuł|RozwijanieNazwy}}, następnie z niej usuwamy znaki specjalne według: {{Code|{{sr|#p["UsuńZnakiSpecjalne"]|p=Specjalne}}}}, następnie usuwamy końcowe spacje i wewnątrz kolejne spacje zaastępujemy jedną spacją, co robimy według: {{Code|{{sr|#p["Odstępy"]|p=Parametry}}}}. * Dla trzeciego i czwartego takiego elementu z: {{LinkPatrz|tab_pozycja_elementow_w_spisie_rzeczy}}, te elementy odkodujemy, następnie z nich usuwamy końcowe spacje, a wewnątrz kolejne spacje zastępujemy jedną, według tej samej funkcji, co powyżej. ====== Przygotowanie zmiennych, inicjowanie tablicy {{Code|tab_stare}} i wsadzanie jej do tablicy ogólnej {{Code|tabela_rozdzial_artykulow}} ====== Dalej {{PobierzŚródtekst|tabela_rozdzial_artykulow}}, także co {{PobierzŚródtekst|linia_artykokow}}, co wszystko robimy podobnie jak w rozdziale: {{LinkŚródtytuł|inicjacja_i_kompletowanie_zmiennych}}. ==== Definicja tablicy: {{Code|tab_stare}}, inicjowanie jej elementów w różnych przypadkach ==== == Funkcje tablicy transportu == === {{Code|p.AnalizaNapisuWprowadzeniaTekstu}} === === {{Code|p.ZbieranieInformacjiWoluminuDanegoSpisuRzeczy}} === ==== Opis funkcji ==== ==== Funkcje lokalne ==== ===== {{Code|PomijajLinkiOrazLicencje}} ===== ===== {{Code|CzySzablonLinkLubLicencja}} ===== ===== {{Code|iteratorTekstuNaglowka}} ===== ===== {{Code|LiniaArtykulow}} ===== ===== {{Code|WsadzanieParametryDoTablicy}} ===== ====== {{Code|CzyZaliczac}} ====== ===== {{Code|AnalizaLiniiObiekty}} ===== === {{Code|p.CzyJestStronaInnegoGeneralnegoSpisuRzeczyArtykularnaNaGeneralnymSpiseRzeczyWePodreczniku}} === === {{Code|p.ZbieranieInformacjiSpisuRzeczyWoluminuEwentualnieWedleAutonawigacji}} === ==== Opis funkcji ==== ==== Fukcje lokalne ==== ===== {{Code|Spis}} ===== ===== {{Code|InneSpisy}} ===== ===== {{Code|SpisRzeczy}} ===== ===== {{Code|IteratorFun}} ===== ===== {{Code|ZbieranieDanychStronZAutonawigacji}} ===== {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> 21ql4clynq5snsxem3j1466s7cv52gx 544482 544479 2026-05-27T12:48:12Z Persino 2851 /* Uwzględnianie pozycji podanej w tablicy zebranych elementów */ 544482 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/SpisTreści}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == Funkcje lokalne == === {{Śródtytuł|Ile}}{{Code|Ile}} === Funkcja liczy liczbę elementów we wszystkich podtabelach tabeli {{Code|tabela_rozdzial_artykulow}}, licząc od drugiej tabeli, po pierwszej tabeli mieści się podtabela z informacjami o rozdziale, w której znajdują się artykuły określone dalszymi podtabelami. Tymi podtabelami są od {{Code|2}} do {{Code|7}}, czyli {{Code|6}} tabelek, w których są artykuły, które zaliczamy do kategorii wliczane, tzn. one nie znajdują się w takich rozdziałach przetłumaczonych na małą literę, ale przedtem na nią była działana funkcją: {{Code|{{sr|#p["Odstępy"]|p=Parametry}}}}, usuwając z nich odstępy na końcach, w tym dolne myślniki, a wewnątrz zamieniając kolejne dolne myślniki i spacje na jedną spacją, na podstawie metafunkcji: {{Code|{{sr|#p.metatablica_dla_elementowych_miar_tablicy_wedle_niewielkich_liter|p=Parametry}}}}, w: {{Code|{{ld2|Parametry}}}}, aby porównać to z tablicą, by zaliczyć je do tego typu: <syntaxhighlight lang="lua"> p.tablica_nazw_napisu_wprowadzenia_tekstu_pomijanych_w_rozwazaniach_na_stronach_otwarcia_woluminu={ ["licencja"]=true, ["inne"]=true, ["bibliografia"]=true, ["zobacz też"]=true, ["linki zewnętrzne"]=true, }; </syntaxhighlight> A od {{Code|7}} do {{Code|13}} znajdują się podtabele z artykułami, które już należą już tam, czyli też drugie {{Code|6}}. A ta powyższa tabela mieści się: {{Code|{{ld2|StronicowyParser/obiekty}}}}, a jego opis w: {{Code|{{sr|#p.tablica_nazw_napisu_wprowadzenia_tekstu_pomijanych_w_rozwazaniach_na_stronach_otwarcia_woluminu|p=StronicowyParser/obiekty}}}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function Ile(numer_rodzaju_artykulu,tabela_rozdzial_artykulow)...end; </syntaxhighlight> Parametry funkcji: * {{Code|numer_rodzaju_artykulu}} - numer podtabeli elementtu, do którego wsadzamy element, * {{Code|tabela_rozdzial_artykulow}} - tabela wraz podtabelami, od {{Code|1}} do {{Code|13}}, ale liczenie jest od {{Code|2}} === {{Code|WstawianieElementowychZarejestrowanychStronDoBazyWoluminu}} === ==== Opis pobieżny funkcji ==== Funkcja do wstawiania elementów z ogólnej tablicy: {{Code|tabela_rozdzial_artykulow}} {{Patrz|tabela_rozdzial_artykulow}}, za pomocą funkcji wstawianej jako parametr: {{Code|__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY}} {{Patrz|__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY}}, do odpowiedniej pozycji artykularnej od: {{Code|2}} do {{Code|13}}, a pozycja {{Code|1}}, to pozycja rozdziałowa, ona jest określana przez zmienną: {{Code|numer_rodzaju_artykulow_w_nie_podreczniku}} {{Patrz|numer_rodzaju_artykulow_w_nie_podreczniku}}, a pozycja, którą wsadzamy to: {{Code|tab_stare}} {{Patrz|tab_stare}}. Funkcja zwraca pozycje: <syntaxhighlight lang="lua"> return numer_rodzaju_artykulu_poprz,tab_pozycja_elementow_w_spisie_rzeczy,tablica_artykulow_zebranych; </syntaxhighlight> Opis funkcji: * {{Code|numer_rodzaju_artykulu_poprz}} {{Patrz|numer_rodzaju_artykulu_poprz}} - jest to wartość zwrócona przez funkcję: {{Code|{{sr|#p.AnalizujLinkSzablonyOrazLinki|p=StronicowyParser/Potrzebne}}}} {{Patrz|AnalizujLinkSzablonyOrazLinki}}, w odróżnieniu od: {{LinkPatrz|numer_rodzaju_artykulow_w_nie_podreczniku}}, jest mniejszy o jeden, czyli wtedy to była a poziomie przypisywania wartość {{Code|numer_rodzaju_artykulu}} {{Patrz|numer_rodzaju_artykulu}}, * {{Code|tab_pozycja_elementow_w_spisie_rzeczy}} {{Patrz|tab_pozycja_elementow_w_spisie_rzeczy}} - pierwsza artykularna zmienna zwrócona przez funkcję {{LinkPatrz|AnalizujLinkSzablonyOrazLinki}}, * {{Code|tablica_artykulow_zebranych}} {{Patrz|tablica_artykulow_zebranych}} - tablica do sprawdzania, czy artykuł z nagłówkiem, ma powtórzenie tego bez nagłówka, czyli dla tego bez tego jest inna numeracja niż z nagłókiem, a gdy niema tego bez, to wtedy dzięki tej funkcjinumeracja tak się zachowuje, jaak tam by był ten element, co prawda jest tam dodawany, ale jako z informacją taką, że bz numeru ustalanym przez funkcję: {{LinkŚródtytuł|Ile}}, A przy okazji, aby tego elementu nie dodawać ponownie, to w nim jest ustalana druga zmienna na {{Code|1}}, a wcześniej była na {{Code|0}}, i dlatego ona była wtedy dodawana, a później już tak nie jest. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function WstawianieElementowychZarejestrowanychStronDoBazyWoluminu(self,__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY,tabela_rozdzial_artykulow,tablica_artykulow_zebranych,wliczaj_artykuly_tego_rozdzialu,szablon,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,obiekt,kod,tab_nazwa_spisow_przekierowaniowych,--[[]]przedrostek_listy,tekstowy_przedrostek,w_rozdziale,linia_artykokow --[[]])...end; </syntaxhighlight> Parametry funkcji: * {{Code|self}} {{Patrz|self}} - zmienna obiektowa funkcji, z pominięciem, której funkcję można napisać zamiast {{Code|p.}} {{Patrz|p.}} jako {{Code|p:}} {{Patrz|p:}}, * {{Code|__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY}} - opis jest jak w: {{LinkPatrz|__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY}}, * {{Code|tabela_rozdzial_artykulow}} - ta tabela działa według opisu jak w: {{LinkPatrz|tabela_rozdzial_artykulow}}, * {{Code|tablica_artykulow_zebranych}} - działa jak w: {{LinkPatrz|tablica_artykulow_zebranych}}, * {{Code|wliczaj_artykuly_tego_rozdzialu}} {{Patrz|wliczaj_artykuly_tego_rozdzialu}} - jak przybiera odpowiadającą wartość fałszywą, to do: {{LinkPatrz|numer_rodzaju_artykulu}}, dodawane jest {{Code|6}}, * {{Code|szablon}} {{Patrz|szablon}} - jest to tekst zakodowany całego linku wewnętrznego, czy zewnętrznego, czy linku inteligentnego w postaci szablonu, * {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} {{Patrz|nazwa_ksiazki}} - kolejno: nazwa przestrzeni nazw, nazwa przestrzeni książki i nazwa książki, * {{Code|nazwa_spisu_tresci}} {{Patrz|nazwa_spisu_tresci}} - jest to nazwa artykułu danego spisu treści, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} {{Patrz|pelna_nazwa_spisu_tresci_szablonowa}} - pełna nazwa strony, gdzie są rozwijane adresy względne stron, poczytaj: {{lr2|Moduły/StronicowyParser/Rozdziały}} {{Patrz|Moduły/StronicowyParser/Rozdziały}}, * {{Code|nazwa_modulu}} {{Patrz|nazwa_modulu}} - uchwyt do tablicy bazy kodowania zapisany w samej bazie dla danego artykułu, używany zamiast:{{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{Patrz|tablica_analizy_obiektow_strony_dany_modul}} - tablica bazy zapisana w postaci osobnej tablicy, a nie jej w wewnętrznej bazie, nie jak to było w postaci zmiennej {{LinkPatrz|nazwa_modulu}}, używana zamiast: {{LinkPatrz|nazwa_modulu}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - tablica rozłożeń zmiennej {{Code|szablon}}, dla zmiennych szablonowych, i dla funkcji: {{LinkPatrz|AnalizujLinkSzablonyOrazLinki}}, * {{Code|obiekt}} {{Patrz|obiekt}} i {{Code|kod}} {{Patrz|kod}} - obiekt i kod, czyli: zmienne charakteryzujące zmienną: {{LinkPatrz|szablon}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} {{Patrz|tab_nazwa_spisow_przekierowaniowych}} - tablica przekierować, aby nie rozpatrywać tego samego przekierowania wiele razy, * {{Code|przedrostek_listy}} {{Patrz|przedrostek_listy}} - tekstowy przedrostek listy z przedziału znaków: {{Code|<nowiki>[;%*:#]+</nowiki>}} {{Patrz|wzor_do_linii_z_lista}}, rozpoczynających pojedyncza linię, * {{Code|tekstowy_przedrostek}} {{Patrz|tekstowy_przedrostek}} - numeracja rozdziału, z jakim rozpoczyna się rozdział, * {{Code|w_rozdziale}} {{Patrz|w_rozdziale}}} - gdy link znajduje się w rozdziale dodatnim, * {{Code|linia_artykokow}} {{Patrz|linia_artykokow}} - cała linia z artykułem lub artykułami, tą linią równie dobrze może być rozdział, tu chodzi o rozdział dodatni. ==== Opis pobieżny funkcji {{Code|__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY}}, czyli: {{LinkPatrz|__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY}} ==== Definicja funkcji w nagłówku: <syntaxhighlight lang="lua"> __FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY(tabela_rozdzial_artykulow,numer_rodzaju_artykulow_w_nie_podreczniku,tab_stare); </syntaxhighlight> Parametry funkcji: * {{Code|tabela_rozdzial_artykulow}} - jak w: {{LinkPatrz|tabela_rozdzial_artykulow}}, * {{Code|numer_rodzaju_artykulow_w_nie_podreczniku}} - jak w: {{LinkPatrz|numer_rodzaju_artykulow_w_nie_podreczniku}}, * {{Code|tab_stare}} - jak w: {{LinkPatrz|tab_stare}}. Ta funkcja została opisana już wcześniej. ==== Szczegółowy opis funkcji głównej ==== Uruchamiamy funkcję {{LinkPatrz|AnalizujLinkSzablonyOrazLinki}}, która jest zddefiniowana w module: {{Code|{{sr|#p.AnalizujLinkSzablonyOrazLinki|p=StronicowyParser/Potrzebne}}}}. Wywołujemy tę funkcję: <syntaxhighlight lang="lua"> local tab_pozycja_elementow_w_spisie_rzeczy,numer_rodzaju_artykulu,id,parametry_szablonu,kom=stronicowyparser_potrzebne_modul.AnalizujLinkSzablonyOrazLinki(szablon,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,nil,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,obiekt,kod,tab_nazwa_spisow_przekierowaniowych); </syntaxhighlight> Pierwszy elementem {{Code|tab_pozycja_elementow_w_spisie_rzeczy}} {{LinkPatrz|tab_pozycja_elementow_w_spisie_rzeczy}} jest to zmienna tablicowa, która opisuje parametry artykularno-linkowe parametry, drugi {{Code|numer_rodzaju_artykulu}} {{LinkPatrz|numer_rodzaju_artykulu}}, do której kategorii należy dany artykuł w linku, a trzeci parametr, to {{Code|id}} {{Patrz|id}}, to zbierane są parametry linkowe z szablonu {{s|SpisTreści}}, czwarty to {{Code|parametry_szablonu}} {{Patrz|parametry_szablonu}}, w przypadku szablonów inteligentnych linków, to są parametry wywołań tych szablonów, ostatni parametr to {{Code|kom}} {{Patrz|kom}}, przedstawia on, jeśli {{Code|false}}, to artykuł zakwalifikowany zoistał poprawnie do rozważań, a {{Code|true}} już nie. To {{LinkPatrz|parametry szablonu}}, to jest tablica z trzech elementów, tzn.: <syntaxhighlight lang="lua"> local parametry szablonu={tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,}; </syntaxhighlight> Elementy tablicy: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - tablica parametrów uzyskanych z argumentów, i ich wartości, nazwanych i nienazwanych, * {{Code|nazwa_szablonu}} {{Patrz|nazwa_szablonu}} - to jest nazwa uzyskanego szablonu linków inteligentnych lub nie, * {{Code|tabela_modyfikatorow}} {{Patrz|tabela_modyfikatorow}} - tabela modyfikatorów rozkładanego szablonu. Jeśli parametr: {{Code|numer_rodzaju_artykulu}} {{LinkPatrz|numer_rodzaju_artykulu}}, istnieje, to tworzona jest z niego taka sama wersja lub przy nieistnnieniu parametru {{LinkPatrz|wliczaj_artykuly_tego_rozdzialu}}, do niego jest dodawana jest liczba {{Code|6}}. W ten sposób możemy zbierać artykuły książki i inne,ktore należą do pewnych rozdziałów i które nie należą. ===== {{Śródtytuł|ParametrPierwszy}}{{Code|ParametrPierwszy}} ===== Funkcja zbierające dane z {{Code|tab_artykul}} {{Patrz|tab_artykul}}, którego to jest czteroelementowa tablica, dotycząca danego artykułu. Drugim parametrem {{Code|czy_niedozwolone}} {{Patrz|czy_niedozwolone}} jest zmienna logiczna mówiąca, czy wskazać w nazwie artykułu, czy są dozwolone znaki, jest to sprawdzenie według wyrażenia regularnego: {{Code|<nowiki>[|<>{}%[%]]</nowiki>}} na podstawie funkcji {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.ustring.match|n=mw.ustring.match}}}}, czyli: {{Code|znaki_niedozwolone}} {{Patrz|znaki_niedozwolone}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> ParametrPierwszy(tab_artykul,czy_niedozwolone)...end; </syntaxhighlight> Parametry fubkcji: * {{Code|tab_artykul}} - jak w: {{LinkPatrz|tab_artykul}}, * {{Code|czy_niedozwolone}} - jak w: {{LinkPatrz|czy_niedozwolone}}. Gdzie {{LinkPatrz|tab_artykul}}, który jest pierwszym parametrem przyjmowanym przez funkcję, jest zdefiniowany jako czteroelementowa tablica, którą przypisujemy do czterem osobnych parametrów: <syntaxhighlight lang="lua"> local artykul=tab_artykul[1]; local parametry=tab_artykul[2]; local naglowek=tab_artykul[3]; local tablica_przekierowania=tab_artykul[4]; </syntaxhighlight> Jeżżeli, któreś z parametrów z {{LinkPatrz|tab_artykul}}, tzn. element jego {{Code|2}}-gi i {{Code|3}}-ci, istnieje, to układana jest trzyelementowa tablica z elementów od {{Code|1}} do {{Code|3}}, z dodatkowym elementem {{Code|<nowiki>["LINK"] = true</nowiki>}}, a element czwraty to jest {{Code|tablica_przekierowania}} {{Patrz|tablica_przekierowania}}, a jeżeli te dwa elementy, nie licząc czwartego, wcale nie istnieją, wtedy jest tworzony łańcuch znakowy z tego pierwszego elementu. Tak tworzymy, nową wersję tablicy {{Code|tab_artykul}} {{Patrz|tab_artykul-nowa wersja}} lub łańcuch znakowy, w postaci: <syntaxhighlight lang="lua"> tab_artykul=((artykul)and(parametry or naglowek))and{[1]=artykul,[2]=parametry,[3]=naglowek,["LINK"]=true,} or artykul; </syntaxhighlight> Funkcja zwraca trzy parametry, tzn. parametry: {{LinkPatrz|tab_artykul-nowa wersja}}, {{LinkPatrz|znaki_niedozwolone}} i tablicę przekierowania {{LinkPatrz|tablica_przekierowania}}, co skrótowo piszemy: {{Patrz|zwracane-ParametrPierwszy}}: <syntaxhighlight lang="lua"> return tab_artykul,znaki_niedozwolone,tablica_przekierowania; </syntaxhighlight> ===== {{Śródtytuł|RozwijanieNazwy}}{{Code|RozwijanieNazwy}} ===== Szablon służy do rozwijania nazwy szablonu, zamienia nowe linie szablonowe {{s|Br}} i znacznikowe {{Tag|br|pojedynczy}}, na pojedynczą spację. Szablon wykorzystuje tablice szablonów korekt umieszczonych w nazwie linku, czy to normalnego, czy szablonowego (inteligentnego), którego definicja: <syntaxhighlight lang="lua"> p.szablony_dozwolone_w_nazwach_linkowych={ ["Korekta"] =2, }; </syntaxhighlight> Do tego celu używa on funkcję: {{Code|{{sr|#p.ObiektySzablonoweFormatowaniaTekstu|p=StronicowyParser/Rozdziały}}}}, aby szablony w tej tablicy zastąpić odpowiednimi parametrami, którego nazwy, czy numery są oddzielone średnikami, lub nie, ale nazwy są ich w postaci pojedynczej liczby. Szablon również uwzględnia szablony rozwijane przez '''JavaScript''', tzn. tabelę: <syntaxhighlight lang="lua"> p.szablony_rozwijane_przez_javascript_nazwowe_linkowe={ }; </syntaxhighlight> W tym przypadku szablony są kompletowane do postaci pojedynczego wywołania, które może być w przyszłości rozwinięte, np. przez ten język. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function RozwijanieNazwy(szablon,obiekt,kod)...end; </syntaxhighlight> Parametry funkcji: * {{Code|szablon}} - jak w: {{LinkPatrz|szablon}}, * {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}}, * {{Code|kod}} - jak w: {{LinkPatrz|kod}}. ==== Dalszy opis funkcji przy istnieniu parametrów linkowych normalnych, czy szablonowych (linków inteligentnych) ==== ===== Gdy: {{Code|numer_rodzaju_artykulu_poprz}} {{Code|{{=}}}} {{Code|1}} ===== Tworzony jest numerek {{Code|numer_rodzaju_artykulu_w_podreczniku}} {{Patrz|numer_rodzaju_artykulu_w_podreczniku}}, który w stosunku do: {{LinkPatrz|numer_rodzaju_artykulu}}, jest większy o jeden, a schemat tej operacji: <syntaxhighlight lang="lua"> local numer_rodzaju_artykulu_w_podreczniku=numer_rodzaju_artykulu+1; </syntaxhighlight> ====== Tworzenie tablicy: {{LinkPatrz|tablica_artykulow_zebranych}} ====== Wpierw liczone są parametry z wywołania, z opcją, czy ma liczyć, czy nazwa artykułu ma znaki niedozwolone, z funkcji: {{LinkŚródtytuł|ParametrPierwszy}}: <syntaxhighlight lang="lua"> tab_pozycja_elementow_w_spisie_rzeczy[1],znaki_niedozwolone,tablica_przekierowania=ParametrPierwszy(tab_pozycja_elementow_w_spisie_rzeczy[1],true); </syntaxhighlight> Dalej sprawdzane jest, czy ksiązka przyjmuje atrybut: '''czy inna''', wtedy liczymy to z kodu z tablicy przekierowania: {{LinkPatrz|tablica_przekierowania}}, jeżeli jej wartość istnieje, tzn. {{Code|czy_inna_ksiazka}} {{Patrz|czy_inna_ksiazka}}: <syntaxhighlight lang="lua"> local czy_inna_ksiazka=tablica_przekierowania and tablica_przekierowania[1] and tablica_przekierowania[1][5] or nil; </syntaxhighlight> Element: {{Code|<nowiki>[1][5]</nowiki>}}, to jest element tablicy {{LinkPatrz|tablica_przekierowania}}, który przedstawia aryykuł, którego przekierowanie kieruje, wtedy, ten parametr ma wartość {{Code|true}}, a gdy adres przekierowania wskazuje na aktualną stronę, wtedy {{Code|false}}. Jeśli ten parametr ma wartość fałszywą, wtedy jest sprawqdzane, czy jest tablicą w{{Code|czy_tablica}} {{Patrz|czy_tablica}}, według: <syntaxhighlight lang="lua"> czy_tablica=parametry_modul.TypeTable(tab_pozycja_elementow_w_spisie_rzeczy[1]); </syntaxhighlight> Lub w przeciwnym wypadku liczymy parametry artykularne z tablicy przekierowania: {{LinkPatrz|tablica_przekierowania}}, a jeżeli parametry lub nagłówek istnieje, wtedy parametr {{LinkPatrz|czy_tablica}} przyjmuje wartość {{Code|true}}. Gdy element nie jest tablicą, to tworzona jest nazwa pełna artykułu i umieszczana w tablicy {{LinkPatrz|tablica_artykulow_zebranych}}, w sposób, co dalej jest tworzona w dalszych operacjach jest tablica: {{LinkPatrz|tablica_artykulow_zebranych}}, z parametrem początkowym: <syntaxhighlight lang="lua"> tablica_artykulow_zebranych={aktualny_artykul_ksiazki,0,false,}; </syntaxhighlight> Gdy element jest tablicą, też jest liczona pełna nazwa artykułu z tą samą tablicą, w przypadku pierwszego artykułu nienagłówkowego, lub pierwszego artykułu, który może być tylko z nagłówkiem, bo tego bez, w spisie przednim nie ma. Gdy funkcja napotkała artykuł o takim samym stronie, co poprzednio, to do wartości początkowej jest ustawiane odpowiednio: <syntaxhighlight lang="lua"> tablica_artykulow_zebranych[3]=true; </syntaxhighlight> Co informuje, że następny artykuł jest ten sam, tylko inny nagłówek lub jest tym razem z nagłówkiem, a poprzedni bez. ====== Rozwijanie nazwy linku ====== Kompletowany jest drugi element tablicy {{LinkPatrz|tab_pozycja_elementow_w_spisie_rzeczy}}, rozwijając szablony w nim względem funkcji: {{LinkŚródtytuł|RozwijanieNazwy}}. Dalej z tej nazwy są usuwane znaki specjalne według funkcji: {{Code|{{sr|#p["UsuńZnakiSpecjalne"]|p=Specjalne}}}}, z modułu: {{Code|{{ld2|Specjalne}}}}. Następnie działamy funkcją: {{Code|{{sr|#p["Odstępy"]|p=Parametry}}}}, które końcowe spacje usuwa, a wewnętrz powtarzające zamienia kolejne na jedną spację. ====== Dodawanie do tablicy problemów, jeśli nastąpił problem ze znakami niedozwolonymi ====== A między czasie, gdy mamy niedozwolone znaki: {{LinkPatrz|znaki_niedozwolone}}, za pomocą funkcji pytającej sprawdzamy, czy element inny zgłoszeniowy został dodany do tablicy problemów: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, aż w końcu dodajemy ten problem, jeśli go nie ma przy pomocy funkcji: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}. ====== {{Śródtytuł|inicjacja_i_kompletowanie_zmiennych}}Ustalanie nazwy jednostki, kompletowanie linii artykułów i inicjowanie pozycji, w tabeli zebranych elementów, w tabeli zebranych elementów ====== Ustalamy nazwę jednostki z funkcji: {{Code|{{sr|#p.UzyskanieTylkoNazwyLubTabeliNazwyLinkuStronyWoluminuZTabeliZParametramiOrazIdentyfikatorem|p=StronicowyParser/Potrzebne}}}}, i iniconujemy tą wartością, czyli {{Code|nazwa jednostki}} {{Patrz|nazwa jednostki}}, wartość starą: {{Code|stara_nazwa_jednostki}} {{Patrz|stara_nazwa_jednostki}}, według: <syntaxhighlight lang="lua"> ---- Piszanie pełnej nazwy jednostki bez parametrów i nagłówka; local nazwa_jednostki=stronicowyparser_potrzebne_modul.UzyskanieTylkoNazwyLubTabeliNazwyLinkuStronyWoluminuZTabeliZParametramiOrazIdentyfikatorem(tab_pozycja_elementow_w_spisie_rzeczy[1],false); ---- Inicjowanie starej wartości tą policzoną; local stara_nazwa_jednostki=nazwa_jednostki; </syntaxhighlight> Dalej {{Śródtekst|uchwyt=tabela_rozdzial_artykulow|tekst=inicjujemy pozycję, jeżeli nie istnieje taka, na podstawie policzonej wartości: {{LinkPatrz|numer_rodzaju_artykulu_w_podreczniku}}, w tablicy: {{LinkPatrz|tabela_rozdzial_artykulow}}}}, według: <syntaxhighlight lang="lua"> if(not tabela_rozdzial_artykulow[numer_rodzaju_artykulu_w_podreczniku])then tabela_rozdzial_artykulow[numer_rodzaju_artykulu_w_podreczniku]={};end; </syntaxhighlight> Co {{Śródtekst|uchwyt=linia_artykokow|tekst=dalej linię artykułów {{Code|linia_artykokow}} {{LinkPatrz|linia_artykokow}}, kompletujemy, funkcją: {{Code|{{sr|#p.KompletowanieSzablonoweZakodowanegoTekstu|p=Szablonowe}}}}, z modułu: {{Code|{{ld2|Szablonowe}}}}, znając tablicę: {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}}}}, według: <syntaxhighlight lang="lua"> linia_artykokow=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(linia_artykokow,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul); </syntaxhighlight> ====== Uwzględnianie niepodanego elementu nienagłówkowego w tablicy zebranych parametrów ====== Gdy tablica przekierowania {{LinkPatrz|tablica_przekierowania}} istnieje, wtedy sprawdzamy czy zmienna logiczna {{LinkPatrz|czy_tablica}} jest prawdą i czy {{LinkPatrz|stara_nazwa_jednostki}}, czy jest nie pusta, w takim razie jej element {{Code|2}} przydzielany jest do zmiennej {{Code|przekierowanie}} {{Patrz|przekierowanie}}, czyli nazwie artykułu przekierowania. Inicjujemy nową zmienną {{Code|przekierowanie}} {{LinkPatrz|przekierowanie}} z artykułu, parametrów i nagłówka, ale wpierw sprawdzamy, czy dwa ostatnie istnieją, według: <syntaxhighlight lang="lua"> przekierowanie=przekierowanie and ((tablica_przekierowania[3] or tablica_przekierowania[4]) and {przekierowanie, tablica_przekierowania[3], tablica_przekierowania[4],["LINK"]=true,}or przekierowanie) or nil; </syntaxhighlight> Tworzony jest nowy element {{Code|nazwa jednostki}} {{Patrz|nazwajednostki-nowy}} z {{LinkPatrz|nazwa jednostki}}, parametrów i nagłówka, według rysu: <syntaxhighlight lang="lua"> nazwa_jednostki={nazwa_jednostki, tab_pozycja_elementow_w_spisie_rzeczy[1][2], tab_pozycja_elementow_w_spisie_rzeczy[1][3],["LINK"]=true,}; </syntaxhighlight> Jeżeli parametr drugi {{LinkPatrz|tablica_artykulow_zebranych}}, a trzeci jej jest {{Code|false}}, wtedy kreujemy tablicę: {{LinkPatrz|tab_stare}}. Wsadzamy element {{LinkPatrz|tab_stare}} do zbioru {{LinkPatrz|tablica_artykulow_zebranych}} przy pomocy funkcji: {{LinkPatrz|__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY}}. Następnie jej drugiemu elementowi {{LinkPatrz|tablica_artykulow_zebranych}} dawana jest wartość {{Code|1}}, aby nie dało się ponownie tworzyć i wsadzać element {{LinkPatrz|tab_stare}}, do tablicy {{LinkPatrz|tabela_rozdzial_artykulow}} na pozycji {{LinkPatrz|numer_rodzaju_artykulu_w_podreczniku}} według funkcji {{LinkPatrz|__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY}}, odpowiedzialny za artykuł nienagłówkowy, ktorego nie ma w spisach treści książki, ale są one w wersji nagłówkowej. Jeżeli tablica przekierowania {{LinkPatrz|tablica_przekierowania}} jednak nie istnieje, wtedy tak samo sprawdzamy, co poprzednio potem, ale po spełnieniu tych warunków robimy inną tablicą {{LinkPatrz|tab_stare}}, i tę tablicę robimy podobnie, i inicjujemy te same elementy też podobnie. ====== Uwzględnianie pozycji podanej w tablicy zebranych elementów ====== Tworzymy zmienną {{Code|ile_dodac_do_poziomu_artykulu}} {{Patrz|ile_dodac_do_poziomu_artykulu}} z drugiego elementu tablicy {{LinkPatrz|tablica_artykulow_zebranych}}, astępnię tworzymy inną zmienną {{Code|ile_dodac_do_poziomu_artykulu_lub_nil}} {{Patrz|ile_dodac_do_poziomu_artykulu_lub_nil}}, co uwidaczniamy wzorem: <syntaxhighlight lang="lua"> local ile_dodac_do_poziomu_artykulu_lub_nil=((ile_dodac_do_poziomu_artykulu)and(ile_dodac_do_poziomu_artykulu>0))and ile_dodac_do_poziomu_artykulu or nil; </syntaxhighlight> {{Śródtekst|tekst=Tworzymy zmienną {{LinkPatrz|tab_stare}}, którą wsadzamy do tablicy {{LinkPatrz|tabela_rozdzial_artykulow}} na pozycji {{LinkPatrz|numer_rodzaju_artykulu_w_podreczniku}} przy pomocy funkcji {{LinkPatrz|__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY}}.|uchwyt=__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY}} ===== Gdy: {{Code|numer_rodzaju_artykulu_poprz}} {{Code|>{{=}}}} {{Code|2}} ===== Będziemy tutaj operowali, gdy parametr drugi zwracany z funkcji: {{LinkPatrz|AnalizujLinkSzablonyOrazLinki}}, wskazuje na nie artykuł książki, zatem ten rozdział jest właśnie dla tego przypadku. ====== Odkodowanie i przygotowanie zmiennych artykułu linku, jej nazwy, także kodu języka i projektu ====== * Gdy pierwszy element tablicy: {{LinkPatrz|tab_pozycja_elementow_w_spisie_rzeczy}}, jest tabelką, wtedy do przetworzenia jego wykorzystujemy funkcję: {{LinkŚródtytuł|ParametrPierwszy}}. * Dla drugiego takiego elementu z: {{LinkPatrz|tab_pozycja_elementow_w_spisie_rzeczy}}, co jest nazwą linku, wtedy gdy nazwa linku normalnego, czy szablonowego, jest zakodowana, to ją odkodujemy, którego każdy jego element kod odkodujemy według fukcji: {{LinkŚródtytuł|RozwijanieNazwy}}, następnie z niej usuwamy znaki specjalne według: {{Code|{{sr|#p["UsuńZnakiSpecjalne"]|p=Specjalne}}}}, następnie usuwamy końcowe spacje i wewnątrz kolejne spacje zaastępujemy jedną spacją, co robimy według: {{Code|{{sr|#p["Odstępy"]|p=Parametry}}}}. * Dla trzeciego i czwartego takiego elementu z: {{LinkPatrz|tab_pozycja_elementow_w_spisie_rzeczy}}, te elementy odkodujemy, następnie z nich usuwamy końcowe spacje, a wewnątrz kolejne spacje zastępujemy jedną, według tej samej funkcji, co powyżej. ====== Przygotowanie zmiennych, inicjowanie tablicy {{Code|tab_stare}} i wsadzanie jej do tablicy ogólnej {{Code|tabela_rozdzial_artykulow}} ====== Dalej {{PobierzŚródtekst|tabela_rozdzial_artykulow}}, także co {{PobierzŚródtekst|linia_artykokow}}, co wszystko robimy podobnie jak w rozdziale: {{LinkŚródtytuł|inicjacja_i_kompletowanie_zmiennych}}. ==== Definicja tablicy: {{Code|tab_stare}}, inicjowanie jej elementów w różnych przypadkach ==== == Funkcje tablicy transportu == === {{Code|p.AnalizaNapisuWprowadzeniaTekstu}} === === {{Code|p.ZbieranieInformacjiWoluminuDanegoSpisuRzeczy}} === ==== Opis funkcji ==== ==== Funkcje lokalne ==== ===== {{Code|PomijajLinkiOrazLicencje}} ===== ===== {{Code|CzySzablonLinkLubLicencja}} ===== ===== {{Code|iteratorTekstuNaglowka}} ===== ===== {{Code|LiniaArtykulow}} ===== ===== {{Code|WsadzanieParametryDoTablicy}} ===== ====== {{Code|CzyZaliczac}} ====== ===== {{Code|AnalizaLiniiObiekty}} ===== === {{Code|p.CzyJestStronaInnegoGeneralnegoSpisuRzeczyArtykularnaNaGeneralnymSpiseRzeczyWePodreczniku}} === === {{Code|p.ZbieranieInformacjiSpisuRzeczyWoluminuEwentualnieWedleAutonawigacji}} === ==== Opis funkcji ==== ==== Fukcje lokalne ==== ===== {{Code|Spis}} ===== ===== {{Code|InneSpisy}} ===== ===== {{Code|SpisRzeczy}} ===== ===== {{Code|IteratorFun}} ===== ===== {{Code|ZbieranieDanychStronZAutonawigacji}} ===== {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> 8g30aayy12k3ejy3eeal05qvcmpmw61 544483 544482 2026-05-27T12:48:53Z Persino 2851 /* Przygotowanie zmiennych, inicjowanie tablicy {{Code|tab_stare}} i wsadzanie jej do tablicy ogólnej {{Code|tabela_rozdzial_artykulow}} */ 544483 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/SpisTreści}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == Funkcje lokalne == === {{Śródtytuł|Ile}}{{Code|Ile}} === Funkcja liczy liczbę elementów we wszystkich podtabelach tabeli {{Code|tabela_rozdzial_artykulow}}, licząc od drugiej tabeli, po pierwszej tabeli mieści się podtabela z informacjami o rozdziale, w której znajdują się artykuły określone dalszymi podtabelami. Tymi podtabelami są od {{Code|2}} do {{Code|7}}, czyli {{Code|6}} tabelek, w których są artykuły, które zaliczamy do kategorii wliczane, tzn. one nie znajdują się w takich rozdziałach przetłumaczonych na małą literę, ale przedtem na nią była działana funkcją: {{Code|{{sr|#p["Odstępy"]|p=Parametry}}}}, usuwając z nich odstępy na końcach, w tym dolne myślniki, a wewnątrz zamieniając kolejne dolne myślniki i spacje na jedną spacją, na podstawie metafunkcji: {{Code|{{sr|#p.metatablica_dla_elementowych_miar_tablicy_wedle_niewielkich_liter|p=Parametry}}}}, w: {{Code|{{ld2|Parametry}}}}, aby porównać to z tablicą, by zaliczyć je do tego typu: <syntaxhighlight lang="lua"> p.tablica_nazw_napisu_wprowadzenia_tekstu_pomijanych_w_rozwazaniach_na_stronach_otwarcia_woluminu={ ["licencja"]=true, ["inne"]=true, ["bibliografia"]=true, ["zobacz też"]=true, ["linki zewnętrzne"]=true, }; </syntaxhighlight> A od {{Code|7}} do {{Code|13}} znajdują się podtabele z artykułami, które już należą już tam, czyli też drugie {{Code|6}}. A ta powyższa tabela mieści się: {{Code|{{ld2|StronicowyParser/obiekty}}}}, a jego opis w: {{Code|{{sr|#p.tablica_nazw_napisu_wprowadzenia_tekstu_pomijanych_w_rozwazaniach_na_stronach_otwarcia_woluminu|p=StronicowyParser/obiekty}}}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function Ile(numer_rodzaju_artykulu,tabela_rozdzial_artykulow)...end; </syntaxhighlight> Parametry funkcji: * {{Code|numer_rodzaju_artykulu}} - numer podtabeli elementtu, do którego wsadzamy element, * {{Code|tabela_rozdzial_artykulow}} - tabela wraz podtabelami, od {{Code|1}} do {{Code|13}}, ale liczenie jest od {{Code|2}} === {{Code|WstawianieElementowychZarejestrowanychStronDoBazyWoluminu}} === ==== Opis pobieżny funkcji ==== Funkcja do wstawiania elementów z ogólnej tablicy: {{Code|tabela_rozdzial_artykulow}} {{Patrz|tabela_rozdzial_artykulow}}, za pomocą funkcji wstawianej jako parametr: {{Code|__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY}} {{Patrz|__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY}}, do odpowiedniej pozycji artykularnej od: {{Code|2}} do {{Code|13}}, a pozycja {{Code|1}}, to pozycja rozdziałowa, ona jest określana przez zmienną: {{Code|numer_rodzaju_artykulow_w_nie_podreczniku}} {{Patrz|numer_rodzaju_artykulow_w_nie_podreczniku}}, a pozycja, którą wsadzamy to: {{Code|tab_stare}} {{Patrz|tab_stare}}. Funkcja zwraca pozycje: <syntaxhighlight lang="lua"> return numer_rodzaju_artykulu_poprz,tab_pozycja_elementow_w_spisie_rzeczy,tablica_artykulow_zebranych; </syntaxhighlight> Opis funkcji: * {{Code|numer_rodzaju_artykulu_poprz}} {{Patrz|numer_rodzaju_artykulu_poprz}} - jest to wartość zwrócona przez funkcję: {{Code|{{sr|#p.AnalizujLinkSzablonyOrazLinki|p=StronicowyParser/Potrzebne}}}} {{Patrz|AnalizujLinkSzablonyOrazLinki}}, w odróżnieniu od: {{LinkPatrz|numer_rodzaju_artykulow_w_nie_podreczniku}}, jest mniejszy o jeden, czyli wtedy to była a poziomie przypisywania wartość {{Code|numer_rodzaju_artykulu}} {{Patrz|numer_rodzaju_artykulu}}, * {{Code|tab_pozycja_elementow_w_spisie_rzeczy}} {{Patrz|tab_pozycja_elementow_w_spisie_rzeczy}} - pierwsza artykularna zmienna zwrócona przez funkcję {{LinkPatrz|AnalizujLinkSzablonyOrazLinki}}, * {{Code|tablica_artykulow_zebranych}} {{Patrz|tablica_artykulow_zebranych}} - tablica do sprawdzania, czy artykuł z nagłówkiem, ma powtórzenie tego bez nagłówka, czyli dla tego bez tego jest inna numeracja niż z nagłókiem, a gdy niema tego bez, to wtedy dzięki tej funkcjinumeracja tak się zachowuje, jaak tam by był ten element, co prawda jest tam dodawany, ale jako z informacją taką, że bz numeru ustalanym przez funkcję: {{LinkŚródtytuł|Ile}}, A przy okazji, aby tego elementu nie dodawać ponownie, to w nim jest ustalana druga zmienna na {{Code|1}}, a wcześniej była na {{Code|0}}, i dlatego ona była wtedy dodawana, a później już tak nie jest. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function WstawianieElementowychZarejestrowanychStronDoBazyWoluminu(self,__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY,tabela_rozdzial_artykulow,tablica_artykulow_zebranych,wliczaj_artykuly_tego_rozdzialu,szablon,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,obiekt,kod,tab_nazwa_spisow_przekierowaniowych,--[[]]przedrostek_listy,tekstowy_przedrostek,w_rozdziale,linia_artykokow --[[]])...end; </syntaxhighlight> Parametry funkcji: * {{Code|self}} {{Patrz|self}} - zmienna obiektowa funkcji, z pominięciem, której funkcję można napisać zamiast {{Code|p.}} {{Patrz|p.}} jako {{Code|p:}} {{Patrz|p:}}, * {{Code|__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY}} - opis jest jak w: {{LinkPatrz|__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY}}, * {{Code|tabela_rozdzial_artykulow}} - ta tabela działa według opisu jak w: {{LinkPatrz|tabela_rozdzial_artykulow}}, * {{Code|tablica_artykulow_zebranych}} - działa jak w: {{LinkPatrz|tablica_artykulow_zebranych}}, * {{Code|wliczaj_artykuly_tego_rozdzialu}} {{Patrz|wliczaj_artykuly_tego_rozdzialu}} - jak przybiera odpowiadającą wartość fałszywą, to do: {{LinkPatrz|numer_rodzaju_artykulu}}, dodawane jest {{Code|6}}, * {{Code|szablon}} {{Patrz|szablon}} - jest to tekst zakodowany całego linku wewnętrznego, czy zewnętrznego, czy linku inteligentnego w postaci szablonu, * {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} {{Patrz|nazwa_ksiazki}} - kolejno: nazwa przestrzeni nazw, nazwa przestrzeni książki i nazwa książki, * {{Code|nazwa_spisu_tresci}} {{Patrz|nazwa_spisu_tresci}} - jest to nazwa artykułu danego spisu treści, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} {{Patrz|pelna_nazwa_spisu_tresci_szablonowa}} - pełna nazwa strony, gdzie są rozwijane adresy względne stron, poczytaj: {{lr2|Moduły/StronicowyParser/Rozdziały}} {{Patrz|Moduły/StronicowyParser/Rozdziały}}, * {{Code|nazwa_modulu}} {{Patrz|nazwa_modulu}} - uchwyt do tablicy bazy kodowania zapisany w samej bazie dla danego artykułu, używany zamiast:{{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{Patrz|tablica_analizy_obiektow_strony_dany_modul}} - tablica bazy zapisana w postaci osobnej tablicy, a nie jej w wewnętrznej bazie, nie jak to było w postaci zmiennej {{LinkPatrz|nazwa_modulu}}, używana zamiast: {{LinkPatrz|nazwa_modulu}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - tablica rozłożeń zmiennej {{Code|szablon}}, dla zmiennych szablonowych, i dla funkcji: {{LinkPatrz|AnalizujLinkSzablonyOrazLinki}}, * {{Code|obiekt}} {{Patrz|obiekt}} i {{Code|kod}} {{Patrz|kod}} - obiekt i kod, czyli: zmienne charakteryzujące zmienną: {{LinkPatrz|szablon}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} {{Patrz|tab_nazwa_spisow_przekierowaniowych}} - tablica przekierować, aby nie rozpatrywać tego samego przekierowania wiele razy, * {{Code|przedrostek_listy}} {{Patrz|przedrostek_listy}} - tekstowy przedrostek listy z przedziału znaków: {{Code|<nowiki>[;%*:#]+</nowiki>}} {{Patrz|wzor_do_linii_z_lista}}, rozpoczynających pojedyncza linię, * {{Code|tekstowy_przedrostek}} {{Patrz|tekstowy_przedrostek}} - numeracja rozdziału, z jakim rozpoczyna się rozdział, * {{Code|w_rozdziale}} {{Patrz|w_rozdziale}}} - gdy link znajduje się w rozdziale dodatnim, * {{Code|linia_artykokow}} {{Patrz|linia_artykokow}} - cała linia z artykułem lub artykułami, tą linią równie dobrze może być rozdział, tu chodzi o rozdział dodatni. ==== Opis pobieżny funkcji {{Code|__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY}}, czyli: {{LinkPatrz|__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY}} ==== Definicja funkcji w nagłówku: <syntaxhighlight lang="lua"> __FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY(tabela_rozdzial_artykulow,numer_rodzaju_artykulow_w_nie_podreczniku,tab_stare); </syntaxhighlight> Parametry funkcji: * {{Code|tabela_rozdzial_artykulow}} - jak w: {{LinkPatrz|tabela_rozdzial_artykulow}}, * {{Code|numer_rodzaju_artykulow_w_nie_podreczniku}} - jak w: {{LinkPatrz|numer_rodzaju_artykulow_w_nie_podreczniku}}, * {{Code|tab_stare}} - jak w: {{LinkPatrz|tab_stare}}. Ta funkcja została opisana już wcześniej. ==== Szczegółowy opis funkcji głównej ==== Uruchamiamy funkcję {{LinkPatrz|AnalizujLinkSzablonyOrazLinki}}, która jest zddefiniowana w module: {{Code|{{sr|#p.AnalizujLinkSzablonyOrazLinki|p=StronicowyParser/Potrzebne}}}}. Wywołujemy tę funkcję: <syntaxhighlight lang="lua"> local tab_pozycja_elementow_w_spisie_rzeczy,numer_rodzaju_artykulu,id,parametry_szablonu,kom=stronicowyparser_potrzebne_modul.AnalizujLinkSzablonyOrazLinki(szablon,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,nil,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,obiekt,kod,tab_nazwa_spisow_przekierowaniowych); </syntaxhighlight> Pierwszy elementem {{Code|tab_pozycja_elementow_w_spisie_rzeczy}} {{LinkPatrz|tab_pozycja_elementow_w_spisie_rzeczy}} jest to zmienna tablicowa, która opisuje parametry artykularno-linkowe parametry, drugi {{Code|numer_rodzaju_artykulu}} {{LinkPatrz|numer_rodzaju_artykulu}}, do której kategorii należy dany artykuł w linku, a trzeci parametr, to {{Code|id}} {{Patrz|id}}, to zbierane są parametry linkowe z szablonu {{s|SpisTreści}}, czwarty to {{Code|parametry_szablonu}} {{Patrz|parametry_szablonu}}, w przypadku szablonów inteligentnych linków, to są parametry wywołań tych szablonów, ostatni parametr to {{Code|kom}} {{Patrz|kom}}, przedstawia on, jeśli {{Code|false}}, to artykuł zakwalifikowany zoistał poprawnie do rozważań, a {{Code|true}} już nie. To {{LinkPatrz|parametry szablonu}}, to jest tablica z trzech elementów, tzn.: <syntaxhighlight lang="lua"> local parametry szablonu={tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,}; </syntaxhighlight> Elementy tablicy: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - tablica parametrów uzyskanych z argumentów, i ich wartości, nazwanych i nienazwanych, * {{Code|nazwa_szablonu}} {{Patrz|nazwa_szablonu}} - to jest nazwa uzyskanego szablonu linków inteligentnych lub nie, * {{Code|tabela_modyfikatorow}} {{Patrz|tabela_modyfikatorow}} - tabela modyfikatorów rozkładanego szablonu. Jeśli parametr: {{Code|numer_rodzaju_artykulu}} {{LinkPatrz|numer_rodzaju_artykulu}}, istnieje, to tworzona jest z niego taka sama wersja lub przy nieistnnieniu parametru {{LinkPatrz|wliczaj_artykuly_tego_rozdzialu}}, do niego jest dodawana jest liczba {{Code|6}}. W ten sposób możemy zbierać artykuły książki i inne,ktore należą do pewnych rozdziałów i które nie należą. ===== {{Śródtytuł|ParametrPierwszy}}{{Code|ParametrPierwszy}} ===== Funkcja zbierające dane z {{Code|tab_artykul}} {{Patrz|tab_artykul}}, którego to jest czteroelementowa tablica, dotycząca danego artykułu. Drugim parametrem {{Code|czy_niedozwolone}} {{Patrz|czy_niedozwolone}} jest zmienna logiczna mówiąca, czy wskazać w nazwie artykułu, czy są dozwolone znaki, jest to sprawdzenie według wyrażenia regularnego: {{Code|<nowiki>[|<>{}%[%]]</nowiki>}} na podstawie funkcji {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.ustring.match|n=mw.ustring.match}}}}, czyli: {{Code|znaki_niedozwolone}} {{Patrz|znaki_niedozwolone}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> ParametrPierwszy(tab_artykul,czy_niedozwolone)...end; </syntaxhighlight> Parametry fubkcji: * {{Code|tab_artykul}} - jak w: {{LinkPatrz|tab_artykul}}, * {{Code|czy_niedozwolone}} - jak w: {{LinkPatrz|czy_niedozwolone}}. Gdzie {{LinkPatrz|tab_artykul}}, który jest pierwszym parametrem przyjmowanym przez funkcję, jest zdefiniowany jako czteroelementowa tablica, którą przypisujemy do czterem osobnych parametrów: <syntaxhighlight lang="lua"> local artykul=tab_artykul[1]; local parametry=tab_artykul[2]; local naglowek=tab_artykul[3]; local tablica_przekierowania=tab_artykul[4]; </syntaxhighlight> Jeżżeli, któreś z parametrów z {{LinkPatrz|tab_artykul}}, tzn. element jego {{Code|2}}-gi i {{Code|3}}-ci, istnieje, to układana jest trzyelementowa tablica z elementów od {{Code|1}} do {{Code|3}}, z dodatkowym elementem {{Code|<nowiki>["LINK"] = true</nowiki>}}, a element czwraty to jest {{Code|tablica_przekierowania}} {{Patrz|tablica_przekierowania}}, a jeżeli te dwa elementy, nie licząc czwartego, wcale nie istnieją, wtedy jest tworzony łańcuch znakowy z tego pierwszego elementu. Tak tworzymy, nową wersję tablicy {{Code|tab_artykul}} {{Patrz|tab_artykul-nowa wersja}} lub łańcuch znakowy, w postaci: <syntaxhighlight lang="lua"> tab_artykul=((artykul)and(parametry or naglowek))and{[1]=artykul,[2]=parametry,[3]=naglowek,["LINK"]=true,} or artykul; </syntaxhighlight> Funkcja zwraca trzy parametry, tzn. parametry: {{LinkPatrz|tab_artykul-nowa wersja}}, {{LinkPatrz|znaki_niedozwolone}} i tablicę przekierowania {{LinkPatrz|tablica_przekierowania}}, co skrótowo piszemy: {{Patrz|zwracane-ParametrPierwszy}}: <syntaxhighlight lang="lua"> return tab_artykul,znaki_niedozwolone,tablica_przekierowania; </syntaxhighlight> ===== {{Śródtytuł|RozwijanieNazwy}}{{Code|RozwijanieNazwy}} ===== Szablon służy do rozwijania nazwy szablonu, zamienia nowe linie szablonowe {{s|Br}} i znacznikowe {{Tag|br|pojedynczy}}, na pojedynczą spację. Szablon wykorzystuje tablice szablonów korekt umieszczonych w nazwie linku, czy to normalnego, czy szablonowego (inteligentnego), którego definicja: <syntaxhighlight lang="lua"> p.szablony_dozwolone_w_nazwach_linkowych={ ["Korekta"] =2, }; </syntaxhighlight> Do tego celu używa on funkcję: {{Code|{{sr|#p.ObiektySzablonoweFormatowaniaTekstu|p=StronicowyParser/Rozdziały}}}}, aby szablony w tej tablicy zastąpić odpowiednimi parametrami, którego nazwy, czy numery są oddzielone średnikami, lub nie, ale nazwy są ich w postaci pojedynczej liczby. Szablon również uwzględnia szablony rozwijane przez '''JavaScript''', tzn. tabelę: <syntaxhighlight lang="lua"> p.szablony_rozwijane_przez_javascript_nazwowe_linkowe={ }; </syntaxhighlight> W tym przypadku szablony są kompletowane do postaci pojedynczego wywołania, które może być w przyszłości rozwinięte, np. przez ten język. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function RozwijanieNazwy(szablon,obiekt,kod)...end; </syntaxhighlight> Parametry funkcji: * {{Code|szablon}} - jak w: {{LinkPatrz|szablon}}, * {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}}, * {{Code|kod}} - jak w: {{LinkPatrz|kod}}. ==== Dalszy opis funkcji przy istnieniu parametrów linkowych normalnych, czy szablonowych (linków inteligentnych) ==== ===== Gdy: {{Code|numer_rodzaju_artykulu_poprz}} {{Code|{{=}}}} {{Code|1}} ===== Tworzony jest numerek {{Code|numer_rodzaju_artykulu_w_podreczniku}} {{Patrz|numer_rodzaju_artykulu_w_podreczniku}}, który w stosunku do: {{LinkPatrz|numer_rodzaju_artykulu}}, jest większy o jeden, a schemat tej operacji: <syntaxhighlight lang="lua"> local numer_rodzaju_artykulu_w_podreczniku=numer_rodzaju_artykulu+1; </syntaxhighlight> ====== Tworzenie tablicy: {{LinkPatrz|tablica_artykulow_zebranych}} ====== Wpierw liczone są parametry z wywołania, z opcją, czy ma liczyć, czy nazwa artykułu ma znaki niedozwolone, z funkcji: {{LinkŚródtytuł|ParametrPierwszy}}: <syntaxhighlight lang="lua"> tab_pozycja_elementow_w_spisie_rzeczy[1],znaki_niedozwolone,tablica_przekierowania=ParametrPierwszy(tab_pozycja_elementow_w_spisie_rzeczy[1],true); </syntaxhighlight> Dalej sprawdzane jest, czy ksiązka przyjmuje atrybut: '''czy inna''', wtedy liczymy to z kodu z tablicy przekierowania: {{LinkPatrz|tablica_przekierowania}}, jeżeli jej wartość istnieje, tzn. {{Code|czy_inna_ksiazka}} {{Patrz|czy_inna_ksiazka}}: <syntaxhighlight lang="lua"> local czy_inna_ksiazka=tablica_przekierowania and tablica_przekierowania[1] and tablica_przekierowania[1][5] or nil; </syntaxhighlight> Element: {{Code|<nowiki>[1][5]</nowiki>}}, to jest element tablicy {{LinkPatrz|tablica_przekierowania}}, który przedstawia aryykuł, którego przekierowanie kieruje, wtedy, ten parametr ma wartość {{Code|true}}, a gdy adres przekierowania wskazuje na aktualną stronę, wtedy {{Code|false}}. Jeśli ten parametr ma wartość fałszywą, wtedy jest sprawqdzane, czy jest tablicą w{{Code|czy_tablica}} {{Patrz|czy_tablica}}, według: <syntaxhighlight lang="lua"> czy_tablica=parametry_modul.TypeTable(tab_pozycja_elementow_w_spisie_rzeczy[1]); </syntaxhighlight> Lub w przeciwnym wypadku liczymy parametry artykularne z tablicy przekierowania: {{LinkPatrz|tablica_przekierowania}}, a jeżeli parametry lub nagłówek istnieje, wtedy parametr {{LinkPatrz|czy_tablica}} przyjmuje wartość {{Code|true}}. Gdy element nie jest tablicą, to tworzona jest nazwa pełna artykułu i umieszczana w tablicy {{LinkPatrz|tablica_artykulow_zebranych}}, w sposób, co dalej jest tworzona w dalszych operacjach jest tablica: {{LinkPatrz|tablica_artykulow_zebranych}}, z parametrem początkowym: <syntaxhighlight lang="lua"> tablica_artykulow_zebranych={aktualny_artykul_ksiazki,0,false,}; </syntaxhighlight> Gdy element jest tablicą, też jest liczona pełna nazwa artykułu z tą samą tablicą, w przypadku pierwszego artykułu nienagłówkowego, lub pierwszego artykułu, który może być tylko z nagłówkiem, bo tego bez, w spisie przednim nie ma. Gdy funkcja napotkała artykuł o takim samym stronie, co poprzednio, to do wartości początkowej jest ustawiane odpowiednio: <syntaxhighlight lang="lua"> tablica_artykulow_zebranych[3]=true; </syntaxhighlight> Co informuje, że następny artykuł jest ten sam, tylko inny nagłówek lub jest tym razem z nagłówkiem, a poprzedni bez. ====== Rozwijanie nazwy linku ====== Kompletowany jest drugi element tablicy {{LinkPatrz|tab_pozycja_elementow_w_spisie_rzeczy}}, rozwijając szablony w nim względem funkcji: {{LinkŚródtytuł|RozwijanieNazwy}}. Dalej z tej nazwy są usuwane znaki specjalne według funkcji: {{Code|{{sr|#p["UsuńZnakiSpecjalne"]|p=Specjalne}}}}, z modułu: {{Code|{{ld2|Specjalne}}}}. Następnie działamy funkcją: {{Code|{{sr|#p["Odstępy"]|p=Parametry}}}}, które końcowe spacje usuwa, a wewnętrz powtarzające zamienia kolejne na jedną spację. ====== Dodawanie do tablicy problemów, jeśli nastąpił problem ze znakami niedozwolonymi ====== A między czasie, gdy mamy niedozwolone znaki: {{LinkPatrz|znaki_niedozwolone}}, za pomocą funkcji pytającej sprawdzamy, czy element inny zgłoszeniowy został dodany do tablicy problemów: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, aż w końcu dodajemy ten problem, jeśli go nie ma przy pomocy funkcji: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}. ====== {{Śródtytuł|inicjacja_i_kompletowanie_zmiennych}}Ustalanie nazwy jednostki, kompletowanie linii artykułów i inicjowanie pozycji, w tabeli zebranych elementów, w tabeli zebranych elementów ====== Ustalamy nazwę jednostki z funkcji: {{Code|{{sr|#p.UzyskanieTylkoNazwyLubTabeliNazwyLinkuStronyWoluminuZTabeliZParametramiOrazIdentyfikatorem|p=StronicowyParser/Potrzebne}}}}, i iniconujemy tą wartością, czyli {{Code|nazwa jednostki}} {{Patrz|nazwa jednostki}}, wartość starą: {{Code|stara_nazwa_jednostki}} {{Patrz|stara_nazwa_jednostki}}, według: <syntaxhighlight lang="lua"> ---- Piszanie pełnej nazwy jednostki bez parametrów i nagłówka; local nazwa_jednostki=stronicowyparser_potrzebne_modul.UzyskanieTylkoNazwyLubTabeliNazwyLinkuStronyWoluminuZTabeliZParametramiOrazIdentyfikatorem(tab_pozycja_elementow_w_spisie_rzeczy[1],false); ---- Inicjowanie starej wartości tą policzoną; local stara_nazwa_jednostki=nazwa_jednostki; </syntaxhighlight> Dalej {{Śródtekst|uchwyt=tabela_rozdzial_artykulow|tekst=inicjujemy pozycję, jeżeli nie istnieje taka, na podstawie policzonej wartości: {{LinkPatrz|numer_rodzaju_artykulu_w_podreczniku}}, w tablicy: {{LinkPatrz|tabela_rozdzial_artykulow}}}}, według: <syntaxhighlight lang="lua"> if(not tabela_rozdzial_artykulow[numer_rodzaju_artykulu_w_podreczniku])then tabela_rozdzial_artykulow[numer_rodzaju_artykulu_w_podreczniku]={};end; </syntaxhighlight> Co {{Śródtekst|uchwyt=linia_artykokow|tekst=dalej linię artykułów {{Code|linia_artykokow}} {{LinkPatrz|linia_artykokow}}, kompletujemy, funkcją: {{Code|{{sr|#p.KompletowanieSzablonoweZakodowanegoTekstu|p=Szablonowe}}}}, z modułu: {{Code|{{ld2|Szablonowe}}}}, znając tablicę: {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}}}}, według: <syntaxhighlight lang="lua"> linia_artykokow=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(linia_artykokow,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul); </syntaxhighlight> ====== Uwzględnianie niepodanego elementu nienagłówkowego w tablicy zebranych parametrów ====== Gdy tablica przekierowania {{LinkPatrz|tablica_przekierowania}} istnieje, wtedy sprawdzamy czy zmienna logiczna {{LinkPatrz|czy_tablica}} jest prawdą i czy {{LinkPatrz|stara_nazwa_jednostki}}, czy jest nie pusta, w takim razie jej element {{Code|2}} przydzielany jest do zmiennej {{Code|przekierowanie}} {{Patrz|przekierowanie}}, czyli nazwie artykułu przekierowania. Inicjujemy nową zmienną {{Code|przekierowanie}} {{LinkPatrz|przekierowanie}} z artykułu, parametrów i nagłówka, ale wpierw sprawdzamy, czy dwa ostatnie istnieją, według: <syntaxhighlight lang="lua"> przekierowanie=przekierowanie and ((tablica_przekierowania[3] or tablica_przekierowania[4]) and {przekierowanie, tablica_przekierowania[3], tablica_przekierowania[4],["LINK"]=true,}or przekierowanie) or nil; </syntaxhighlight> Tworzony jest nowy element {{Code|nazwa jednostki}} {{Patrz|nazwajednostki-nowy}} z {{LinkPatrz|nazwa jednostki}}, parametrów i nagłówka, według rysu: <syntaxhighlight lang="lua"> nazwa_jednostki={nazwa_jednostki, tab_pozycja_elementow_w_spisie_rzeczy[1][2], tab_pozycja_elementow_w_spisie_rzeczy[1][3],["LINK"]=true,}; </syntaxhighlight> Jeżeli parametr drugi {{LinkPatrz|tablica_artykulow_zebranych}}, a trzeci jej jest {{Code|false}}, wtedy kreujemy tablicę: {{LinkPatrz|tab_stare}}. Wsadzamy element {{LinkPatrz|tab_stare}} do zbioru {{LinkPatrz|tablica_artykulow_zebranych}} przy pomocy funkcji: {{LinkPatrz|__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY}}. Następnie jej drugiemu elementowi {{LinkPatrz|tablica_artykulow_zebranych}} dawana jest wartość {{Code|1}}, aby nie dało się ponownie tworzyć i wsadzać element {{LinkPatrz|tab_stare}}, do tablicy {{LinkPatrz|tabela_rozdzial_artykulow}} na pozycji {{LinkPatrz|numer_rodzaju_artykulu_w_podreczniku}} według funkcji {{LinkPatrz|__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY}}, odpowiedzialny za artykuł nienagłówkowy, ktorego nie ma w spisach treści książki, ale są one w wersji nagłówkowej. Jeżeli tablica przekierowania {{LinkPatrz|tablica_przekierowania}} jednak nie istnieje, wtedy tak samo sprawdzamy, co poprzednio potem, ale po spełnieniu tych warunków robimy inną tablicą {{LinkPatrz|tab_stare}}, i tę tablicę robimy podobnie, i inicjujemy te same elementy też podobnie. ====== Uwzględnianie pozycji podanej w tablicy zebranych elementów ====== Tworzymy zmienną {{Code|ile_dodac_do_poziomu_artykulu}} {{Patrz|ile_dodac_do_poziomu_artykulu}} z drugiego elementu tablicy {{LinkPatrz|tablica_artykulow_zebranych}}, astępnię tworzymy inną zmienną {{Code|ile_dodac_do_poziomu_artykulu_lub_nil}} {{Patrz|ile_dodac_do_poziomu_artykulu_lub_nil}}, co uwidaczniamy wzorem: <syntaxhighlight lang="lua"> local ile_dodac_do_poziomu_artykulu_lub_nil=((ile_dodac_do_poziomu_artykulu)and(ile_dodac_do_poziomu_artykulu>0))and ile_dodac_do_poziomu_artykulu or nil; </syntaxhighlight> {{Śródtekst|tekst=Tworzymy zmienną {{LinkPatrz|tab_stare}}, którą wsadzamy do tablicy {{LinkPatrz|tabela_rozdzial_artykulow}} na pozycji {{LinkPatrz|numer_rodzaju_artykulu_w_podreczniku}} przy pomocy funkcji {{LinkPatrz|__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY}}.|uchwyt=__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY}} ===== Gdy: {{Code|numer_rodzaju_artykulu_poprz}} {{Code|>{{=}}}} {{Code|2}} ===== Będziemy tutaj operowali, gdy parametr drugi zwracany z funkcji: {{LinkPatrz|AnalizujLinkSzablonyOrazLinki}}, wskazuje na nie artykuł książki, zatem ten rozdział jest właśnie dla tego przypadku. ====== Odkodowanie i przygotowanie zmiennych artykułu linku, jej nazwy, także kodu języka i projektu ====== * Gdy pierwszy element tablicy: {{LinkPatrz|tab_pozycja_elementow_w_spisie_rzeczy}}, jest tabelką, wtedy do przetworzenia jego wykorzystujemy funkcję: {{LinkŚródtytuł|ParametrPierwszy}}. * Dla drugiego takiego elementu z: {{LinkPatrz|tab_pozycja_elementow_w_spisie_rzeczy}}, co jest nazwą linku, wtedy gdy nazwa linku normalnego, czy szablonowego, jest zakodowana, to ją odkodujemy, którego każdy jego element kod odkodujemy według fukcji: {{LinkŚródtytuł|RozwijanieNazwy}}, następnie z niej usuwamy znaki specjalne według: {{Code|{{sr|#p["UsuńZnakiSpecjalne"]|p=Specjalne}}}}, następnie usuwamy końcowe spacje i wewnątrz kolejne spacje zaastępujemy jedną spacją, co robimy według: {{Code|{{sr|#p["Odstępy"]|p=Parametry}}}}. * Dla trzeciego i czwartego takiego elementu z: {{LinkPatrz|tab_pozycja_elementow_w_spisie_rzeczy}}, te elementy odkodujemy, następnie z nich usuwamy końcowe spacje, a wewnątrz kolejne spacje zastępujemy jedną, według tej samej funkcji, co powyżej. ====== Przygotowanie zmiennych, inicjowanie tablicy {{Code|tab_stare}} i wsadzanie jej do tablicy ogólnej {{Code|tabela_rozdzial_artykulow}} ====== Dalej {{PobierzŚródtekst|tabela_rozdzial_artykulow}}, także co {{PobierzŚródtekst|linia_artykokow}}, co wszystko robimy podobnie jak w rozdziale: {{LinkŚródtytuł|inicjacja_i_kompletowanie_zmiennych}}. {{PobierzŚródtekst|__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY}} ==== Definicja tablicy: {{Code|tab_stare}}, inicjowanie jej elementów w różnych przypadkach ==== == Funkcje tablicy transportu == === {{Code|p.AnalizaNapisuWprowadzeniaTekstu}} === === {{Code|p.ZbieranieInformacjiWoluminuDanegoSpisuRzeczy}} === ==== Opis funkcji ==== ==== Funkcje lokalne ==== ===== {{Code|PomijajLinkiOrazLicencje}} ===== ===== {{Code|CzySzablonLinkLubLicencja}} ===== ===== {{Code|iteratorTekstuNaglowka}} ===== ===== {{Code|LiniaArtykulow}} ===== ===== {{Code|WsadzanieParametryDoTablicy}} ===== ====== {{Code|CzyZaliczac}} ====== ===== {{Code|AnalizaLiniiObiekty}} ===== === {{Code|p.CzyJestStronaInnegoGeneralnegoSpisuRzeczyArtykularnaNaGeneralnymSpiseRzeczyWePodreczniku}} === === {{Code|p.ZbieranieInformacjiSpisuRzeczyWoluminuEwentualnieWedleAutonawigacji}} === ==== Opis funkcji ==== ==== Fukcje lokalne ==== ===== {{Code|Spis}} ===== ===== {{Code|InneSpisy}} ===== ===== {{Code|SpisRzeczy}} ===== ===== {{Code|IteratorFun}} ===== ===== {{Code|ZbieranieDanychStronZAutonawigacji}} ===== {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> 5wyc7wif41bazxd82tp77efopj1vbx6 544485 544483 2026-05-27T15:29:25Z Persino 2851 /* Uwzględnianie pozycji podanej w tablicy zebranych elementów */ 544485 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/SpisTreści}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == Funkcje lokalne == === {{Śródtytuł|Ile}}{{Code|Ile}} === Funkcja liczy liczbę elementów we wszystkich podtabelach tabeli {{Code|tabela_rozdzial_artykulow}}, licząc od drugiej tabeli, po pierwszej tabeli mieści się podtabela z informacjami o rozdziale, w której znajdują się artykuły określone dalszymi podtabelami. Tymi podtabelami są od {{Code|2}} do {{Code|7}}, czyli {{Code|6}} tabelek, w których są artykuły, które zaliczamy do kategorii wliczane, tzn. one nie znajdują się w takich rozdziałach przetłumaczonych na małą literę, ale przedtem na nią była działana funkcją: {{Code|{{sr|#p["Odstępy"]|p=Parametry}}}}, usuwając z nich odstępy na końcach, w tym dolne myślniki, a wewnątrz zamieniając kolejne dolne myślniki i spacje na jedną spacją, na podstawie metafunkcji: {{Code|{{sr|#p.metatablica_dla_elementowych_miar_tablicy_wedle_niewielkich_liter|p=Parametry}}}}, w: {{Code|{{ld2|Parametry}}}}, aby porównać to z tablicą, by zaliczyć je do tego typu: <syntaxhighlight lang="lua"> p.tablica_nazw_napisu_wprowadzenia_tekstu_pomijanych_w_rozwazaniach_na_stronach_otwarcia_woluminu={ ["licencja"]=true, ["inne"]=true, ["bibliografia"]=true, ["zobacz też"]=true, ["linki zewnętrzne"]=true, }; </syntaxhighlight> A od {{Code|7}} do {{Code|13}} znajdują się podtabele z artykułami, które już należą już tam, czyli też drugie {{Code|6}}. A ta powyższa tabela mieści się: {{Code|{{ld2|StronicowyParser/obiekty}}}}, a jego opis w: {{Code|{{sr|#p.tablica_nazw_napisu_wprowadzenia_tekstu_pomijanych_w_rozwazaniach_na_stronach_otwarcia_woluminu|p=StronicowyParser/obiekty}}}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function Ile(numer_rodzaju_artykulu,tabela_rozdzial_artykulow)...end; </syntaxhighlight> Parametry funkcji: * {{Code|numer_rodzaju_artykulu}} - numer podtabeli elementtu, do którego wsadzamy element, * {{Code|tabela_rozdzial_artykulow}} - tabela wraz podtabelami, od {{Code|1}} do {{Code|13}}, ale liczenie jest od {{Code|2}} === {{Code|WstawianieElementowychZarejestrowanychStronDoBazyWoluminu}} === ==== Opis pobieżny funkcji ==== Funkcja do wstawiania elementów z ogólnej tablicy: {{Code|tabela_rozdzial_artykulow}} {{Patrz|tabela_rozdzial_artykulow}}, za pomocą funkcji wstawianej jako parametr: {{Code|__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY}} {{Patrz|__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY}}, do odpowiedniej pozycji artykularnej od: {{Code|2}} do {{Code|13}}, a pozycja {{Code|1}}, to pozycja rozdziałowa, ona jest określana przez zmienną: {{Code|numer_rodzaju_artykulow_w_nie_podreczniku}} {{Patrz|numer_rodzaju_artykulow_w_nie_podreczniku}}, a pozycja, którą wsadzamy to: {{Code|tab_stare}} {{Patrz|tab_stare}}. Funkcja zwraca pozycje: <syntaxhighlight lang="lua"> return numer_rodzaju_artykulu_poprz,tab_pozycja_elementow_w_spisie_rzeczy,tablica_artykulow_zebranych; </syntaxhighlight> Opis funkcji: * {{Code|numer_rodzaju_artykulu_poprz}} {{Patrz|numer_rodzaju_artykulu_poprz}} - jest to wartość zwrócona przez funkcję: {{Code|{{sr|#p.AnalizujLinkSzablonyOrazLinki|p=StronicowyParser/Potrzebne}}}} {{Patrz|AnalizujLinkSzablonyOrazLinki}}, w odróżnieniu od: {{LinkPatrz|numer_rodzaju_artykulow_w_nie_podreczniku}}, jest mniejszy o jeden, czyli wtedy to była a poziomie przypisywania wartość {{Code|numer_rodzaju_artykulu}} {{Patrz|numer_rodzaju_artykulu}}, * {{Code|tab_pozycja_elementow_w_spisie_rzeczy}} {{Patrz|tab_pozycja_elementow_w_spisie_rzeczy}} - pierwsza artykularna zmienna zwrócona przez funkcję {{LinkPatrz|AnalizujLinkSzablonyOrazLinki}}, * {{Code|tablica_artykulow_zebranych}} {{Patrz|tablica_artykulow_zebranych}} - tablica do sprawdzania, czy artykuł z nagłówkiem, ma powtórzenie tego bez nagłówka, czyli dla tego bez tego jest inna numeracja niż z nagłókiem, a gdy niema tego bez, to wtedy dzięki tej funkcjinumeracja tak się zachowuje, jaak tam by był ten element, co prawda jest tam dodawany, ale jako z informacją taką, że bz numeru ustalanym przez funkcję: {{LinkŚródtytuł|Ile}}, A przy okazji, aby tego elementu nie dodawać ponownie, to w nim jest ustalana druga zmienna na {{Code|1}}, a wcześniej była na {{Code|0}}, i dlatego ona była wtedy dodawana, a później już tak nie jest. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function WstawianieElementowychZarejestrowanychStronDoBazyWoluminu(self,__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY,tabela_rozdzial_artykulow,tablica_artykulow_zebranych,wliczaj_artykuly_tego_rozdzialu,szablon,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,obiekt,kod,tab_nazwa_spisow_przekierowaniowych,--[[]]przedrostek_listy,tekstowy_przedrostek,w_rozdziale,linia_artykokow --[[]])...end; </syntaxhighlight> Parametry funkcji: * {{Code|self}} {{Patrz|self}} - zmienna obiektowa funkcji, z pominięciem, której funkcję można napisać zamiast {{Code|p.}} {{Patrz|p.}} jako {{Code|p:}} {{Patrz|p:}}, * {{Code|__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY}} - opis jest jak w: {{LinkPatrz|__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY}}, * {{Code|tabela_rozdzial_artykulow}} - ta tabela działa według opisu jak w: {{LinkPatrz|tabela_rozdzial_artykulow}}, * {{Code|tablica_artykulow_zebranych}} - działa jak w: {{LinkPatrz|tablica_artykulow_zebranych}}, * {{Code|wliczaj_artykuly_tego_rozdzialu}} {{Patrz|wliczaj_artykuly_tego_rozdzialu}} - jak przybiera odpowiadającą wartość fałszywą, to do: {{LinkPatrz|numer_rodzaju_artykulu}}, dodawane jest {{Code|6}}, * {{Code|szablon}} {{Patrz|szablon}} - jest to tekst zakodowany całego linku wewnętrznego, czy zewnętrznego, czy linku inteligentnego w postaci szablonu, * {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} {{Patrz|nazwa_ksiazki}} - kolejno: nazwa przestrzeni nazw, nazwa przestrzeni książki i nazwa książki, * {{Code|nazwa_spisu_tresci}} {{Patrz|nazwa_spisu_tresci}} - jest to nazwa artykułu danego spisu treści, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} {{Patrz|pelna_nazwa_spisu_tresci_szablonowa}} - pełna nazwa strony, gdzie są rozwijane adresy względne stron, poczytaj: {{lr2|Moduły/StronicowyParser/Rozdziały}} {{Patrz|Moduły/StronicowyParser/Rozdziały}}, * {{Code|nazwa_modulu}} {{Patrz|nazwa_modulu}} - uchwyt do tablicy bazy kodowania zapisany w samej bazie dla danego artykułu, używany zamiast:{{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{Patrz|tablica_analizy_obiektow_strony_dany_modul}} - tablica bazy zapisana w postaci osobnej tablicy, a nie jej w wewnętrznej bazie, nie jak to było w postaci zmiennej {{LinkPatrz|nazwa_modulu}}, używana zamiast: {{LinkPatrz|nazwa_modulu}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - tablica rozłożeń zmiennej {{Code|szablon}}, dla zmiennych szablonowych, i dla funkcji: {{LinkPatrz|AnalizujLinkSzablonyOrazLinki}}, * {{Code|obiekt}} {{Patrz|obiekt}} i {{Code|kod}} {{Patrz|kod}} - obiekt i kod, czyli: zmienne charakteryzujące zmienną: {{LinkPatrz|szablon}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} {{Patrz|tab_nazwa_spisow_przekierowaniowych}} - tablica przekierować, aby nie rozpatrywać tego samego przekierowania wiele razy, * {{Code|przedrostek_listy}} {{Patrz|przedrostek_listy}} - tekstowy przedrostek listy z przedziału znaków: {{Code|<nowiki>[;%*:#]+</nowiki>}} {{Patrz|wzor_do_linii_z_lista}}, rozpoczynających pojedyncza linię, * {{Code|tekstowy_przedrostek}} {{Patrz|tekstowy_przedrostek}} - numeracja rozdziału, z jakim rozpoczyna się rozdział, * {{Code|w_rozdziale}} {{Patrz|w_rozdziale}}} - gdy link znajduje się w rozdziale dodatnim, * {{Code|linia_artykokow}} {{Patrz|linia_artykokow}} - cała linia z artykułem lub artykułami, tą linią równie dobrze może być rozdział, tu chodzi o rozdział dodatni. ==== Opis pobieżny funkcji {{Code|__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY}}, czyli: {{LinkPatrz|__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY}} ==== Definicja funkcji w nagłówku: <syntaxhighlight lang="lua"> __FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY(tabela_rozdzial_artykulow,numer_rodzaju_artykulow_w_nie_podreczniku,tab_stare); </syntaxhighlight> Parametry funkcji: * {{Code|tabela_rozdzial_artykulow}} - jak w: {{LinkPatrz|tabela_rozdzial_artykulow}}, * {{Code|numer_rodzaju_artykulow_w_nie_podreczniku}} - jak w: {{LinkPatrz|numer_rodzaju_artykulow_w_nie_podreczniku}}, * {{Code|tab_stare}} - jak w: {{LinkPatrz|tab_stare}}. Ta funkcja została opisana już wcześniej. ==== Szczegółowy opis funkcji głównej ==== Uruchamiamy funkcję {{LinkPatrz|AnalizujLinkSzablonyOrazLinki}}, która jest zddefiniowana w module: {{Code|{{sr|#p.AnalizujLinkSzablonyOrazLinki|p=StronicowyParser/Potrzebne}}}}. Wywołujemy tę funkcję: <syntaxhighlight lang="lua"> local tab_pozycja_elementow_w_spisie_rzeczy,numer_rodzaju_artykulu,id,parametry_szablonu,kom=stronicowyparser_potrzebne_modul.AnalizujLinkSzablonyOrazLinki(szablon,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,nil,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,obiekt,kod,tab_nazwa_spisow_przekierowaniowych); </syntaxhighlight> Pierwszy elementem {{Code|tab_pozycja_elementow_w_spisie_rzeczy}} {{LinkPatrz|tab_pozycja_elementow_w_spisie_rzeczy}} jest to zmienna tablicowa, która opisuje parametry artykularno-linkowe parametry, drugi {{Code|numer_rodzaju_artykulu}} {{LinkPatrz|numer_rodzaju_artykulu}}, do której kategorii należy dany artykuł w linku, a trzeci parametr, to {{Code|id}} {{Patrz|id}}, to zbierane są parametry linkowe z szablonu {{s|SpisTreści}}, czwarty to {{Code|parametry_szablonu}} {{Patrz|parametry_szablonu}}, w przypadku szablonów inteligentnych linków, to są parametry wywołań tych szablonów, ostatni parametr to {{Code|kom}} {{Patrz|kom}}, przedstawia on, jeśli {{Code|false}}, to artykuł zakwalifikowany zoistał poprawnie do rozważań, a {{Code|true}} już nie. To {{LinkPatrz|parametry szablonu}}, to jest tablica z trzech elementów, tzn.: <syntaxhighlight lang="lua"> local parametry szablonu={tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,}; </syntaxhighlight> Elementy tablicy: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - tablica parametrów uzyskanych z argumentów, i ich wartości, nazwanych i nienazwanych, * {{Code|nazwa_szablonu}} {{Patrz|nazwa_szablonu}} - to jest nazwa uzyskanego szablonu linków inteligentnych lub nie, * {{Code|tabela_modyfikatorow}} {{Patrz|tabela_modyfikatorow}} - tabela modyfikatorów rozkładanego szablonu. Jeśli parametr: {{Code|numer_rodzaju_artykulu}} {{LinkPatrz|numer_rodzaju_artykulu}}, istnieje, to tworzona jest z niego taka sama wersja lub przy nieistnnieniu parametru {{LinkPatrz|wliczaj_artykuly_tego_rozdzialu}}, do niego jest dodawana jest liczba {{Code|6}}. W ten sposób możemy zbierać artykuły książki i inne,ktore należą do pewnych rozdziałów i które nie należą. ===== {{Śródtytuł|ParametrPierwszy}}{{Code|ParametrPierwszy}} ===== Funkcja zbierające dane z {{Code|tab_artykul}} {{Patrz|tab_artykul}}, którego to jest czteroelementowa tablica, dotycząca danego artykułu. Drugim parametrem {{Code|czy_niedozwolone}} {{Patrz|czy_niedozwolone}} jest zmienna logiczna mówiąca, czy wskazać w nazwie artykułu, czy są dozwolone znaki, jest to sprawdzenie według wyrażenia regularnego: {{Code|<nowiki>[|<>{}%[%]]</nowiki>}} na podstawie funkcji {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.ustring.match|n=mw.ustring.match}}}}, czyli: {{Code|znaki_niedozwolone}} {{Patrz|znaki_niedozwolone}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> ParametrPierwszy(tab_artykul,czy_niedozwolone)...end; </syntaxhighlight> Parametry fubkcji: * {{Code|tab_artykul}} - jak w: {{LinkPatrz|tab_artykul}}, * {{Code|czy_niedozwolone}} - jak w: {{LinkPatrz|czy_niedozwolone}}. Gdzie {{LinkPatrz|tab_artykul}}, który jest pierwszym parametrem przyjmowanym przez funkcję, jest zdefiniowany jako czteroelementowa tablica, którą przypisujemy do czterem osobnych parametrów: <syntaxhighlight lang="lua"> local artykul=tab_artykul[1]; local parametry=tab_artykul[2]; local naglowek=tab_artykul[3]; local tablica_przekierowania=tab_artykul[4]; </syntaxhighlight> Jeżżeli, któreś z parametrów z {{LinkPatrz|tab_artykul}}, tzn. element jego {{Code|2}}-gi i {{Code|3}}-ci, istnieje, to układana jest trzyelementowa tablica z elementów od {{Code|1}} do {{Code|3}}, z dodatkowym elementem {{Code|<nowiki>["LINK"] = true</nowiki>}}, a element czwraty to jest {{Code|tablica_przekierowania}} {{Patrz|tablica_przekierowania}}, a jeżeli te dwa elementy, nie licząc czwartego, wcale nie istnieją, wtedy jest tworzony łańcuch znakowy z tego pierwszego elementu. Tak tworzymy, nową wersję tablicy {{Code|tab_artykul}} {{Patrz|tab_artykul-nowa wersja}} lub łańcuch znakowy, w postaci: <syntaxhighlight lang="lua"> tab_artykul=((artykul)and(parametry or naglowek))and{[1]=artykul,[2]=parametry,[3]=naglowek,["LINK"]=true,} or artykul; </syntaxhighlight> Funkcja zwraca trzy parametry, tzn. parametry: {{LinkPatrz|tab_artykul-nowa wersja}}, {{LinkPatrz|znaki_niedozwolone}} i tablicę przekierowania {{LinkPatrz|tablica_przekierowania}}, co skrótowo piszemy: {{Patrz|zwracane-ParametrPierwszy}}: <syntaxhighlight lang="lua"> return tab_artykul,znaki_niedozwolone,tablica_przekierowania; </syntaxhighlight> ===== {{Śródtytuł|RozwijanieNazwy}}{{Code|RozwijanieNazwy}} ===== Szablon służy do rozwijania nazwy szablonu, zamienia nowe linie szablonowe {{s|Br}} i znacznikowe {{Tag|br|pojedynczy}}, na pojedynczą spację. Szablon wykorzystuje tablice szablonów korekt umieszczonych w nazwie linku, czy to normalnego, czy szablonowego (inteligentnego), którego definicja: <syntaxhighlight lang="lua"> p.szablony_dozwolone_w_nazwach_linkowych={ ["Korekta"] =2, }; </syntaxhighlight> Do tego celu używa on funkcję: {{Code|{{sr|#p.ObiektySzablonoweFormatowaniaTekstu|p=StronicowyParser/Rozdziały}}}}, aby szablony w tej tablicy zastąpić odpowiednimi parametrami, którego nazwy, czy numery są oddzielone średnikami, lub nie, ale nazwy są ich w postaci pojedynczej liczby. Szablon również uwzględnia szablony rozwijane przez '''JavaScript''', tzn. tabelę: <syntaxhighlight lang="lua"> p.szablony_rozwijane_przez_javascript_nazwowe_linkowe={ }; </syntaxhighlight> W tym przypadku szablony są kompletowane do postaci pojedynczego wywołania, które może być w przyszłości rozwinięte, np. przez ten język. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function RozwijanieNazwy(szablon,obiekt,kod)...end; </syntaxhighlight> Parametry funkcji: * {{Code|szablon}} - jak w: {{LinkPatrz|szablon}}, * {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}}, * {{Code|kod}} - jak w: {{LinkPatrz|kod}}. ==== Dalszy opis funkcji przy istnieniu parametrów linkowych normalnych, czy szablonowych (linków inteligentnych) ==== ===== Gdy: {{Code|numer_rodzaju_artykulu_poprz}} {{Code|{{=}}}} {{Code|1}} ===== Tworzony jest numerek {{Code|numer_rodzaju_artykulu_w_podreczniku}} {{Patrz|numer_rodzaju_artykulu_w_podreczniku}}, który w stosunku do: {{LinkPatrz|numer_rodzaju_artykulu}}, jest większy o jeden, a schemat tej operacji: <syntaxhighlight lang="lua"> local numer_rodzaju_artykulu_w_podreczniku=numer_rodzaju_artykulu+1; </syntaxhighlight> ====== Tworzenie tablicy: {{LinkPatrz|tablica_artykulow_zebranych}} ====== Wpierw liczone są parametry z wywołania, z opcją, czy ma liczyć, czy nazwa artykułu ma znaki niedozwolone, z funkcji: {{LinkŚródtytuł|ParametrPierwszy}}: <syntaxhighlight lang="lua"> tab_pozycja_elementow_w_spisie_rzeczy[1],znaki_niedozwolone,tablica_przekierowania=ParametrPierwszy(tab_pozycja_elementow_w_spisie_rzeczy[1],true); </syntaxhighlight> Dalej sprawdzane jest, czy ksiązka przyjmuje atrybut: '''czy inna''', wtedy liczymy to z kodu z tablicy przekierowania: {{LinkPatrz|tablica_przekierowania}}, jeżeli jej wartość istnieje, tzn. {{Code|czy_inna_ksiazka}} {{Patrz|czy_inna_ksiazka}}: <syntaxhighlight lang="lua"> local czy_inna_ksiazka=tablica_przekierowania and tablica_przekierowania[1] and tablica_przekierowania[1][5] or nil; </syntaxhighlight> Element: {{Code|<nowiki>[1][5]</nowiki>}}, to jest element tablicy {{LinkPatrz|tablica_przekierowania}}, który przedstawia aryykuł, którego przekierowanie kieruje, wtedy, ten parametr ma wartość {{Code|true}}, a gdy adres przekierowania wskazuje na aktualną stronę, wtedy {{Code|false}}. Jeśli ten parametr ma wartość fałszywą, wtedy jest sprawqdzane, czy jest tablicą w{{Code|czy_tablica}} {{Patrz|czy_tablica}}, według: <syntaxhighlight lang="lua"> czy_tablica=parametry_modul.TypeTable(tab_pozycja_elementow_w_spisie_rzeczy[1]); </syntaxhighlight> Lub w przeciwnym wypadku liczymy parametry artykularne z tablicy przekierowania: {{LinkPatrz|tablica_przekierowania}}, a jeżeli parametry lub nagłówek istnieje, wtedy parametr {{LinkPatrz|czy_tablica}} przyjmuje wartość {{Code|true}}. Gdy element nie jest tablicą, to tworzona jest nazwa pełna artykułu i umieszczana w tablicy {{LinkPatrz|tablica_artykulow_zebranych}}, w sposób, co dalej jest tworzona w dalszych operacjach jest tablica: {{LinkPatrz|tablica_artykulow_zebranych}}, z parametrem początkowym: <syntaxhighlight lang="lua"> tablica_artykulow_zebranych={aktualny_artykul_ksiazki,0,false,}; </syntaxhighlight> Gdy element jest tablicą, też jest liczona pełna nazwa artykułu z tą samą tablicą, w przypadku pierwszego artykułu nienagłówkowego, lub pierwszego artykułu, który może być tylko z nagłówkiem, bo tego bez, w spisie przednim nie ma. Gdy funkcja napotkała artykuł o takim samym stronie, co poprzednio, to do wartości początkowej jest ustawiane odpowiednio: <syntaxhighlight lang="lua"> tablica_artykulow_zebranych[3]=true; </syntaxhighlight> Co informuje, że następny artykuł jest ten sam, tylko inny nagłówek lub jest tym razem z nagłówkiem, a poprzedni bez. ====== Rozwijanie nazwy linku ====== Kompletowany jest drugi element tablicy {{LinkPatrz|tab_pozycja_elementow_w_spisie_rzeczy}}, rozwijając szablony w nim względem funkcji: {{LinkŚródtytuł|RozwijanieNazwy}}. Dalej z tej nazwy są usuwane znaki specjalne według funkcji: {{Code|{{sr|#p["UsuńZnakiSpecjalne"]|p=Specjalne}}}}, z modułu: {{Code|{{ld2|Specjalne}}}}. Następnie działamy funkcją: {{Code|{{sr|#p["Odstępy"]|p=Parametry}}}}, które końcowe spacje usuwa, a wewnętrz powtarzające zamienia kolejne na jedną spację. ====== Dodawanie do tablicy problemów, jeśli nastąpił problem ze znakami niedozwolonymi ====== A między czasie, gdy mamy niedozwolone znaki: {{LinkPatrz|znaki_niedozwolone}}, za pomocą funkcji pytającej sprawdzamy, czy element inny zgłoszeniowy został dodany do tablicy problemów: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, aż w końcu dodajemy ten problem, jeśli go nie ma przy pomocy funkcji: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}. ====== {{Śródtytuł|inicjacja_i_kompletowanie_zmiennych}}Ustalanie nazwy jednostki, kompletowanie linii artykułów i inicjowanie pozycji, w tabeli zebranych elementów, w tabeli zebranych elementów ====== Ustalamy nazwę jednostki z funkcji: {{Code|{{sr|#p.UzyskanieTylkoNazwyLubTabeliNazwyLinkuStronyWoluminuZTabeliZParametramiOrazIdentyfikatorem|p=StronicowyParser/Potrzebne}}}}, i iniconujemy tą wartością, czyli {{Code|nazwa jednostki}} {{Patrz|nazwa jednostki}}, wartość starą: {{Code|stara_nazwa_jednostki}} {{Patrz|stara_nazwa_jednostki}}, według: <syntaxhighlight lang="lua"> ---- Piszanie pełnej nazwy jednostki bez parametrów i nagłówka; local nazwa_jednostki=stronicowyparser_potrzebne_modul.UzyskanieTylkoNazwyLubTabeliNazwyLinkuStronyWoluminuZTabeliZParametramiOrazIdentyfikatorem(tab_pozycja_elementow_w_spisie_rzeczy[1],false); ---- Inicjowanie starej wartości tą policzoną; local stara_nazwa_jednostki=nazwa_jednostki; </syntaxhighlight> Dalej {{Śródtekst|uchwyt=tabela_rozdzial_artykulow|tekst=inicjujemy pozycję, jeżeli nie istnieje taka, na podstawie policzonej wartości: {{LinkPatrz|numer_rodzaju_artykulu_w_podreczniku}}, w tablicy: {{LinkPatrz|tabela_rozdzial_artykulow}}}}, według: <syntaxhighlight lang="lua"> if(not tabela_rozdzial_artykulow[numer_rodzaju_artykulu_w_podreczniku])then tabela_rozdzial_artykulow[numer_rodzaju_artykulu_w_podreczniku]={};end; </syntaxhighlight> Co {{Śródtekst|uchwyt=linia_artykokow|tekst=dalej linię artykułów {{Code|linia_artykokow}} {{LinkPatrz|linia_artykokow}}, kompletujemy, funkcją: {{Code|{{sr|#p.KompletowanieSzablonoweZakodowanegoTekstu|p=Szablonowe}}}}, z modułu: {{Code|{{ld2|Szablonowe}}}}, znając tablicę: {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}}}}, według: <syntaxhighlight lang="lua"> linia_artykokow=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(linia_artykokow,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul); </syntaxhighlight> ====== Uwzględnianie niepodanego elementu nienagłówkowego w tablicy zebranych parametrów ====== Gdy tablica przekierowania {{LinkPatrz|tablica_przekierowania}} istnieje, wtedy sprawdzamy czy zmienna logiczna {{LinkPatrz|czy_tablica}} jest prawdą i czy {{LinkPatrz|stara_nazwa_jednostki}}, czy jest nie pusta, w takim razie jej element {{Code|2}} przydzielany jest do zmiennej {{Code|przekierowanie}} {{Patrz|przekierowanie}}, czyli nazwie artykułu przekierowania. Inicjujemy nową zmienną {{Code|przekierowanie}} {{LinkPatrz|przekierowanie}} z artykułu, parametrów i nagłówka, ale wpierw sprawdzamy, czy dwa ostatnie istnieją, według: <syntaxhighlight lang="lua"> przekierowanie=przekierowanie and ((tablica_przekierowania[3] or tablica_przekierowania[4]) and {przekierowanie, tablica_przekierowania[3], tablica_przekierowania[4],["LINK"]=true,}or przekierowanie) or nil; </syntaxhighlight> Tworzony jest nowy element {{Code|nazwa jednostki}} {{Patrz|nazwajednostki-nowy}} z {{LinkPatrz|nazwa jednostki}}, parametrów i nagłówka, według rysu: <syntaxhighlight lang="lua"> nazwa_jednostki={nazwa_jednostki, tab_pozycja_elementow_w_spisie_rzeczy[1][2], tab_pozycja_elementow_w_spisie_rzeczy[1][3],["LINK"]=true,}; </syntaxhighlight> Jeżeli parametr drugi {{LinkPatrz|tablica_artykulow_zebranych}}, a trzeci jej jest {{Code|false}}, wtedy kreujemy tablicę: {{LinkPatrz|tab_stare}}. Wsadzamy element {{LinkPatrz|tab_stare}} do zbioru {{LinkPatrz|tablica_artykulow_zebranych}} przy pomocy funkcji: {{LinkPatrz|__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY}}. Następnie jej drugiemu elementowi {{LinkPatrz|tablica_artykulow_zebranych}} dawana jest wartość {{Code|1}}, aby nie dało się ponownie tworzyć i wsadzać element {{LinkPatrz|tab_stare}}, do tablicy {{LinkPatrz|tabela_rozdzial_artykulow}} na pozycji {{LinkPatrz|numer_rodzaju_artykulu_w_podreczniku}} według funkcji {{LinkPatrz|__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY}}, odpowiedzialny za artykuł nienagłówkowy, ktorego nie ma w spisach treści książki, ale są one w wersji nagłówkowej. Jeżeli tablica przekierowania {{LinkPatrz|tablica_przekierowania}} jednak nie istnieje, wtedy tak samo sprawdzamy, co poprzednio potem, ale po spełnieniu tych warunków robimy inną tablicą {{LinkPatrz|tab_stare}}, i tę tablicę robimy podobnie, i inicjujemy te same elementy też podobnie. ====== Uwzględnianie pozycji podanej w tablicy zebranych elementów ====== Tworzymy zmienną {{Code|ile_dodac_do_poziomu_artykulu}} {{Patrz|ile_dodac_do_poziomu_artykulu}} z drugiego elementu tablicy {{LinkPatrz|tablica_artykulow_zebranych}}, następnię tworzymy inną zmienną {{Code|ile_dodac_do_poziomu_artykulu_lub_nil}} {{Patrz|ile_dodac_do_poziomu_artykulu_lub_nil}}, co uwidaczniamy wzorem: <syntaxhighlight lang="lua"> local ile_dodac_do_poziomu_artykulu_lub_nil=((ile_dodac_do_poziomu_artykulu)and(ile_dodac_do_poziomu_artykulu>0))and ile_dodac_do_poziomu_artykulu or nil; </syntaxhighlight> Tą zmienną wykorzystamy do tworzenia {{LinkPatrz|tab_stare}}. {{Śródtekst|tekst=Tworzymy zmienną {{LinkPatrz|tab_stare}}, którą wsadzamy do tablicy {{LinkPatrz|tabela_rozdzial_artykulow}} na pozycji {{LinkPatrz|numer_rodzaju_artykulu_w_podreczniku}} przy pomocy funkcji {{LinkPatrz|__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY}}.|uchwyt=__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY}} ===== Gdy: {{Code|numer_rodzaju_artykulu_poprz}} {{Code|>{{=}}}} {{Code|2}} ===== Będziemy tutaj operowali, gdy parametr drugi zwracany z funkcji: {{LinkPatrz|AnalizujLinkSzablonyOrazLinki}}, wskazuje na nie artykuł książki, zatem ten rozdział jest właśnie dla tego przypadku. ====== Odkodowanie i przygotowanie zmiennych artykułu linku, jej nazwy, także kodu języka i projektu ====== * Gdy pierwszy element tablicy: {{LinkPatrz|tab_pozycja_elementow_w_spisie_rzeczy}}, jest tabelką, wtedy do przetworzenia jego wykorzystujemy funkcję: {{LinkŚródtytuł|ParametrPierwszy}}. * Dla drugiego takiego elementu z: {{LinkPatrz|tab_pozycja_elementow_w_spisie_rzeczy}}, co jest nazwą linku, wtedy gdy nazwa linku normalnego, czy szablonowego, jest zakodowana, to ją odkodujemy, którego każdy jego element kod odkodujemy według fukcji: {{LinkŚródtytuł|RozwijanieNazwy}}, następnie z niej usuwamy znaki specjalne według: {{Code|{{sr|#p["UsuńZnakiSpecjalne"]|p=Specjalne}}}}, następnie usuwamy końcowe spacje i wewnątrz kolejne spacje zaastępujemy jedną spacją, co robimy według: {{Code|{{sr|#p["Odstępy"]|p=Parametry}}}}. * Dla trzeciego i czwartego takiego elementu z: {{LinkPatrz|tab_pozycja_elementow_w_spisie_rzeczy}}, te elementy odkodujemy, następnie z nich usuwamy końcowe spacje, a wewnątrz kolejne spacje zastępujemy jedną, według tej samej funkcji, co powyżej. ====== Przygotowanie zmiennych, inicjowanie tablicy {{Code|tab_stare}} i wsadzanie jej do tablicy ogólnej {{Code|tabela_rozdzial_artykulow}} ====== Dalej {{PobierzŚródtekst|tabela_rozdzial_artykulow}}, także co {{PobierzŚródtekst|linia_artykokow}}, co wszystko robimy podobnie jak w rozdziale: {{LinkŚródtytuł|inicjacja_i_kompletowanie_zmiennych}}. {{PobierzŚródtekst|__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY}} ==== Definicja tablicy: {{Code|tab_stare}}, inicjowanie jej elementów w różnych przypadkach ==== == Funkcje tablicy transportu == === {{Code|p.AnalizaNapisuWprowadzeniaTekstu}} === === {{Code|p.ZbieranieInformacjiWoluminuDanegoSpisuRzeczy}} === ==== Opis funkcji ==== ==== Funkcje lokalne ==== ===== {{Code|PomijajLinkiOrazLicencje}} ===== ===== {{Code|CzySzablonLinkLubLicencja}} ===== ===== {{Code|iteratorTekstuNaglowka}} ===== ===== {{Code|LiniaArtykulow}} ===== ===== {{Code|WsadzanieParametryDoTablicy}} ===== ====== {{Code|CzyZaliczac}} ====== ===== {{Code|AnalizaLiniiObiekty}} ===== === {{Code|p.CzyJestStronaInnegoGeneralnegoSpisuRzeczyArtykularnaNaGeneralnymSpiseRzeczyWePodreczniku}} === === {{Code|p.ZbieranieInformacjiSpisuRzeczyWoluminuEwentualnieWedleAutonawigacji}} === ==== Opis funkcji ==== ==== Fukcje lokalne ==== ===== {{Code|Spis}} ===== ===== {{Code|InneSpisy}} ===== ===== {{Code|SpisRzeczy}} ===== ===== {{Code|IteratorFun}} ===== ===== {{Code|ZbieranieDanychStronZAutonawigacji}} ===== {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> bp1s3se5tjghvi30p15gf2iw5ien8ax 544486 544485 2026-05-27T15:29:59Z Persino 2851 /* Uwzględnianie pozycji podanej w tablicy zebranych elementów */ 544486 wikitext text/x-wiki <noinclude>{{ProstaStronaStart | nagłówek = {{Podrozdział|{{ld2|StronicowyParser/SpisTreści}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}} | stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}} }}</noinclude> {{Spis treści}} == Funkcje lokalne == === {{Śródtytuł|Ile}}{{Code|Ile}} === Funkcja liczy liczbę elementów we wszystkich podtabelach tabeli {{Code|tabela_rozdzial_artykulow}}, licząc od drugiej tabeli, po pierwszej tabeli mieści się podtabela z informacjami o rozdziale, w której znajdują się artykuły określone dalszymi podtabelami. Tymi podtabelami są od {{Code|2}} do {{Code|7}}, czyli {{Code|6}} tabelek, w których są artykuły, które zaliczamy do kategorii wliczane, tzn. one nie znajdują się w takich rozdziałach przetłumaczonych na małą literę, ale przedtem na nią była działana funkcją: {{Code|{{sr|#p["Odstępy"]|p=Parametry}}}}, usuwając z nich odstępy na końcach, w tym dolne myślniki, a wewnątrz zamieniając kolejne dolne myślniki i spacje na jedną spacją, na podstawie metafunkcji: {{Code|{{sr|#p.metatablica_dla_elementowych_miar_tablicy_wedle_niewielkich_liter|p=Parametry}}}}, w: {{Code|{{ld2|Parametry}}}}, aby porównać to z tablicą, by zaliczyć je do tego typu: <syntaxhighlight lang="lua"> p.tablica_nazw_napisu_wprowadzenia_tekstu_pomijanych_w_rozwazaniach_na_stronach_otwarcia_woluminu={ ["licencja"]=true, ["inne"]=true, ["bibliografia"]=true, ["zobacz też"]=true, ["linki zewnętrzne"]=true, }; </syntaxhighlight> A od {{Code|7}} do {{Code|13}} znajdują się podtabele z artykułami, które już należą już tam, czyli też drugie {{Code|6}}. A ta powyższa tabela mieści się: {{Code|{{ld2|StronicowyParser/obiekty}}}}, a jego opis w: {{Code|{{sr|#p.tablica_nazw_napisu_wprowadzenia_tekstu_pomijanych_w_rozwazaniach_na_stronach_otwarcia_woluminu|p=StronicowyParser/obiekty}}}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function Ile(numer_rodzaju_artykulu,tabela_rozdzial_artykulow)...end; </syntaxhighlight> Parametry funkcji: * {{Code|numer_rodzaju_artykulu}} - numer podtabeli elementtu, do którego wsadzamy element, * {{Code|tabela_rozdzial_artykulow}} - tabela wraz podtabelami, od {{Code|1}} do {{Code|13}}, ale liczenie jest od {{Code|2}} === {{Code|WstawianieElementowychZarejestrowanychStronDoBazyWoluminu}} === ==== Opis pobieżny funkcji ==== Funkcja do wstawiania elementów z ogólnej tablicy: {{Code|tabela_rozdzial_artykulow}} {{Patrz|tabela_rozdzial_artykulow}}, za pomocą funkcji wstawianej jako parametr: {{Code|__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY}} {{Patrz|__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY}}, do odpowiedniej pozycji artykularnej od: {{Code|2}} do {{Code|13}}, a pozycja {{Code|1}}, to pozycja rozdziałowa, ona jest określana przez zmienną: {{Code|numer_rodzaju_artykulow_w_nie_podreczniku}} {{Patrz|numer_rodzaju_artykulow_w_nie_podreczniku}}, a pozycja, którą wsadzamy to: {{Code|tab_stare}} {{Patrz|tab_stare}}. Funkcja zwraca pozycje: <syntaxhighlight lang="lua"> return numer_rodzaju_artykulu_poprz,tab_pozycja_elementow_w_spisie_rzeczy,tablica_artykulow_zebranych; </syntaxhighlight> Opis funkcji: * {{Code|numer_rodzaju_artykulu_poprz}} {{Patrz|numer_rodzaju_artykulu_poprz}} - jest to wartość zwrócona przez funkcję: {{Code|{{sr|#p.AnalizujLinkSzablonyOrazLinki|p=StronicowyParser/Potrzebne}}}} {{Patrz|AnalizujLinkSzablonyOrazLinki}}, w odróżnieniu od: {{LinkPatrz|numer_rodzaju_artykulow_w_nie_podreczniku}}, jest mniejszy o jeden, czyli wtedy to była a poziomie przypisywania wartość {{Code|numer_rodzaju_artykulu}} {{Patrz|numer_rodzaju_artykulu}}, * {{Code|tab_pozycja_elementow_w_spisie_rzeczy}} {{Patrz|tab_pozycja_elementow_w_spisie_rzeczy}} - pierwsza artykularna zmienna zwrócona przez funkcję {{LinkPatrz|AnalizujLinkSzablonyOrazLinki}}, * {{Code|tablica_artykulow_zebranych}} {{Patrz|tablica_artykulow_zebranych}} - tablica do sprawdzania, czy artykuł z nagłówkiem, ma powtórzenie tego bez nagłówka, czyli dla tego bez tego jest inna numeracja niż z nagłókiem, a gdy niema tego bez, to wtedy dzięki tej funkcjinumeracja tak się zachowuje, jaak tam by był ten element, co prawda jest tam dodawany, ale jako z informacją taką, że bz numeru ustalanym przez funkcję: {{LinkŚródtytuł|Ile}}, A przy okazji, aby tego elementu nie dodawać ponownie, to w nim jest ustalana druga zmienna na {{Code|1}}, a wcześniej była na {{Code|0}}, i dlatego ona była wtedy dodawana, a później już tak nie jest. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function WstawianieElementowychZarejestrowanychStronDoBazyWoluminu(self,__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY,tabela_rozdzial_artykulow,tablica_artykulow_zebranych,wliczaj_artykuly_tego_rozdzialu,szablon,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,obiekt,kod,tab_nazwa_spisow_przekierowaniowych,--[[]]przedrostek_listy,tekstowy_przedrostek,w_rozdziale,linia_artykokow --[[]])...end; </syntaxhighlight> Parametry funkcji: * {{Code|self}} {{Patrz|self}} - zmienna obiektowa funkcji, z pominięciem, której funkcję można napisać zamiast {{Code|p.}} {{Patrz|p.}} jako {{Code|p:}} {{Patrz|p:}}, * {{Code|__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY}} - opis jest jak w: {{LinkPatrz|__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY}}, * {{Code|tabela_rozdzial_artykulow}} - ta tabela działa według opisu jak w: {{LinkPatrz|tabela_rozdzial_artykulow}}, * {{Code|tablica_artykulow_zebranych}} - działa jak w: {{LinkPatrz|tablica_artykulow_zebranych}}, * {{Code|wliczaj_artykuly_tego_rozdzialu}} {{Patrz|wliczaj_artykuly_tego_rozdzialu}} - jak przybiera odpowiadającą wartość fałszywą, to do: {{LinkPatrz|numer_rodzaju_artykulu}}, dodawane jest {{Code|6}}, * {{Code|szablon}} {{Patrz|szablon}} - jest to tekst zakodowany całego linku wewnętrznego, czy zewnętrznego, czy linku inteligentnego w postaci szablonu, * {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} i {{Code|nazwa_ksiazki}} {{Patrz|nazwa_ksiazki}} - kolejno: nazwa przestrzeni nazw, nazwa przestrzeni książki i nazwa książki, * {{Code|nazwa_spisu_tresci}} {{Patrz|nazwa_spisu_tresci}} - jest to nazwa artykułu danego spisu treści, * {{Code|pelna_nazwa_spisu_tresci_szablonowa}} {{Patrz|pelna_nazwa_spisu_tresci_szablonowa}} - pełna nazwa strony, gdzie są rozwijane adresy względne stron, poczytaj: {{lr2|Moduły/StronicowyParser/Rozdziały}} {{Patrz|Moduły/StronicowyParser/Rozdziały}}, * {{Code|nazwa_modulu}} {{Patrz|nazwa_modulu}} - uchwyt do tablicy bazy kodowania zapisany w samej bazie dla danego artykułu, używany zamiast:{{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}}, * {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{Patrz|tablica_analizy_obiektow_strony_dany_modul}} - tablica bazy zapisana w postaci osobnej tablicy, a nie jej w wewnętrznej bazie, nie jak to było w postaci zmiennej {{LinkPatrz|nazwa_modulu}}, używana zamiast: {{LinkPatrz|nazwa_modulu}}, * {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - tablica rozłożeń zmiennej {{Code|szablon}}, dla zmiennych szablonowych, i dla funkcji: {{LinkPatrz|AnalizujLinkSzablonyOrazLinki}}, * {{Code|obiekt}} {{Patrz|obiekt}} i {{Code|kod}} {{Patrz|kod}} - obiekt i kod, czyli: zmienne charakteryzujące zmienną: {{LinkPatrz|szablon}}, * {{Code|tab_nazwa_spisow_przekierowaniowych}} {{Patrz|tab_nazwa_spisow_przekierowaniowych}} - tablica przekierować, aby nie rozpatrywać tego samego przekierowania wiele razy, * {{Code|przedrostek_listy}} {{Patrz|przedrostek_listy}} - tekstowy przedrostek listy z przedziału znaków: {{Code|<nowiki>[;%*:#]+</nowiki>}} {{Patrz|wzor_do_linii_z_lista}}, rozpoczynających pojedyncza linię, * {{Code|tekstowy_przedrostek}} {{Patrz|tekstowy_przedrostek}} - numeracja rozdziału, z jakim rozpoczyna się rozdział, * {{Code|w_rozdziale}} {{Patrz|w_rozdziale}}} - gdy link znajduje się w rozdziale dodatnim, * {{Code|linia_artykokow}} {{Patrz|linia_artykokow}} - cała linia z artykułem lub artykułami, tą linią równie dobrze może być rozdział, tu chodzi o rozdział dodatni. ==== Opis pobieżny funkcji {{Code|__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY}}, czyli: {{LinkPatrz|__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY}} ==== Definicja funkcji w nagłówku: <syntaxhighlight lang="lua"> __FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY(tabela_rozdzial_artykulow,numer_rodzaju_artykulow_w_nie_podreczniku,tab_stare); </syntaxhighlight> Parametry funkcji: * {{Code|tabela_rozdzial_artykulow}} - jak w: {{LinkPatrz|tabela_rozdzial_artykulow}}, * {{Code|numer_rodzaju_artykulow_w_nie_podreczniku}} - jak w: {{LinkPatrz|numer_rodzaju_artykulow_w_nie_podreczniku}}, * {{Code|tab_stare}} - jak w: {{LinkPatrz|tab_stare}}. Ta funkcja została opisana już wcześniej. ==== Szczegółowy opis funkcji głównej ==== Uruchamiamy funkcję {{LinkPatrz|AnalizujLinkSzablonyOrazLinki}}, która jest zddefiniowana w module: {{Code|{{sr|#p.AnalizujLinkSzablonyOrazLinki|p=StronicowyParser/Potrzebne}}}}. Wywołujemy tę funkcję: <syntaxhighlight lang="lua"> local tab_pozycja_elementow_w_spisie_rzeczy,numer_rodzaju_artykulu,id,parametry_szablonu,kom=stronicowyparser_potrzebne_modul.AnalizujLinkSzablonyOrazLinki(szablon,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_spisu_tresci,pelna_nazwa_spisu_tresci_szablonowa,nil,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul,tablica_danych_parametrow_szablonu_strony,obiekt,kod,tab_nazwa_spisow_przekierowaniowych); </syntaxhighlight> Pierwszy elementem {{Code|tab_pozycja_elementow_w_spisie_rzeczy}} {{LinkPatrz|tab_pozycja_elementow_w_spisie_rzeczy}} jest to zmienna tablicowa, która opisuje parametry artykularno-linkowe parametry, drugi {{Code|numer_rodzaju_artykulu}} {{LinkPatrz|numer_rodzaju_artykulu}}, do której kategorii należy dany artykuł w linku, a trzeci parametr, to {{Code|id}} {{Patrz|id}}, to zbierane są parametry linkowe z szablonu {{s|SpisTreści}}, czwarty to {{Code|parametry_szablonu}} {{Patrz|parametry_szablonu}}, w przypadku szablonów inteligentnych linków, to są parametry wywołań tych szablonów, ostatni parametr to {{Code|kom}} {{Patrz|kom}}, przedstawia on, jeśli {{Code|false}}, to artykuł zakwalifikowany zoistał poprawnie do rozważań, a {{Code|true}} już nie. To {{LinkPatrz|parametry szablonu}}, to jest tablica z trzech elementów, tzn.: <syntaxhighlight lang="lua"> local parametry szablonu={tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,}; </syntaxhighlight> Elementy tablicy: * {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - tablica parametrów uzyskanych z argumentów, i ich wartości, nazwanych i nienazwanych, * {{Code|nazwa_szablonu}} {{Patrz|nazwa_szablonu}} - to jest nazwa uzyskanego szablonu linków inteligentnych lub nie, * {{Code|tabela_modyfikatorow}} {{Patrz|tabela_modyfikatorow}} - tabela modyfikatorów rozkładanego szablonu. Jeśli parametr: {{Code|numer_rodzaju_artykulu}} {{LinkPatrz|numer_rodzaju_artykulu}}, istnieje, to tworzona jest z niego taka sama wersja lub przy nieistnnieniu parametru {{LinkPatrz|wliczaj_artykuly_tego_rozdzialu}}, do niego jest dodawana jest liczba {{Code|6}}. W ten sposób możemy zbierać artykuły książki i inne,ktore należą do pewnych rozdziałów i które nie należą. ===== {{Śródtytuł|ParametrPierwszy}}{{Code|ParametrPierwszy}} ===== Funkcja zbierające dane z {{Code|tab_artykul}} {{Patrz|tab_artykul}}, którego to jest czteroelementowa tablica, dotycząca danego artykułu. Drugim parametrem {{Code|czy_niedozwolone}} {{Patrz|czy_niedozwolone}} jest zmienna logiczna mówiąca, czy wskazać w nazwie artykułu, czy są dozwolone znaki, jest to sprawdzenie według wyrażenia regularnego: {{Code|<nowiki>[|<>{}%[%]]</nowiki>}} na podstawie funkcji {{Code|{{lz|s=https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/pl|g=mw.ustring.match|n=mw.ustring.match}}}}, czyli: {{Code|znaki_niedozwolone}} {{Patrz|znaki_niedozwolone}}. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> ParametrPierwszy(tab_artykul,czy_niedozwolone)...end; </syntaxhighlight> Parametry fubkcji: * {{Code|tab_artykul}} - jak w: {{LinkPatrz|tab_artykul}}, * {{Code|czy_niedozwolone}} - jak w: {{LinkPatrz|czy_niedozwolone}}. Gdzie {{LinkPatrz|tab_artykul}}, który jest pierwszym parametrem przyjmowanym przez funkcję, jest zdefiniowany jako czteroelementowa tablica, którą przypisujemy do czterem osobnych parametrów: <syntaxhighlight lang="lua"> local artykul=tab_artykul[1]; local parametry=tab_artykul[2]; local naglowek=tab_artykul[3]; local tablica_przekierowania=tab_artykul[4]; </syntaxhighlight> Jeżżeli, któreś z parametrów z {{LinkPatrz|tab_artykul}}, tzn. element jego {{Code|2}}-gi i {{Code|3}}-ci, istnieje, to układana jest trzyelementowa tablica z elementów od {{Code|1}} do {{Code|3}}, z dodatkowym elementem {{Code|<nowiki>["LINK"] = true</nowiki>}}, a element czwraty to jest {{Code|tablica_przekierowania}} {{Patrz|tablica_przekierowania}}, a jeżeli te dwa elementy, nie licząc czwartego, wcale nie istnieją, wtedy jest tworzony łańcuch znakowy z tego pierwszego elementu. Tak tworzymy, nową wersję tablicy {{Code|tab_artykul}} {{Patrz|tab_artykul-nowa wersja}} lub łańcuch znakowy, w postaci: <syntaxhighlight lang="lua"> tab_artykul=((artykul)and(parametry or naglowek))and{[1]=artykul,[2]=parametry,[3]=naglowek,["LINK"]=true,} or artykul; </syntaxhighlight> Funkcja zwraca trzy parametry, tzn. parametry: {{LinkPatrz|tab_artykul-nowa wersja}}, {{LinkPatrz|znaki_niedozwolone}} i tablicę przekierowania {{LinkPatrz|tablica_przekierowania}}, co skrótowo piszemy: {{Patrz|zwracane-ParametrPierwszy}}: <syntaxhighlight lang="lua"> return tab_artykul,znaki_niedozwolone,tablica_przekierowania; </syntaxhighlight> ===== {{Śródtytuł|RozwijanieNazwy}}{{Code|RozwijanieNazwy}} ===== Szablon służy do rozwijania nazwy szablonu, zamienia nowe linie szablonowe {{s|Br}} i znacznikowe {{Tag|br|pojedynczy}}, na pojedynczą spację. Szablon wykorzystuje tablice szablonów korekt umieszczonych w nazwie linku, czy to normalnego, czy szablonowego (inteligentnego), którego definicja: <syntaxhighlight lang="lua"> p.szablony_dozwolone_w_nazwach_linkowych={ ["Korekta"] =2, }; </syntaxhighlight> Do tego celu używa on funkcję: {{Code|{{sr|#p.ObiektySzablonoweFormatowaniaTekstu|p=StronicowyParser/Rozdziały}}}}, aby szablony w tej tablicy zastąpić odpowiednimi parametrami, którego nazwy, czy numery są oddzielone średnikami, lub nie, ale nazwy są ich w postaci pojedynczej liczby. Szablon również uwzględnia szablony rozwijane przez '''JavaScript''', tzn. tabelę: <syntaxhighlight lang="lua"> p.szablony_rozwijane_przez_javascript_nazwowe_linkowe={ }; </syntaxhighlight> W tym przypadku szablony są kompletowane do postaci pojedynczego wywołania, które może być w przyszłości rozwinięte, np. przez ten język. Definicja skrótowa funkcji: <syntaxhighlight lang="lua"> local function RozwijanieNazwy(szablon,obiekt,kod)...end; </syntaxhighlight> Parametry funkcji: * {{Code|szablon}} - jak w: {{LinkPatrz|szablon}}, * {{Code|obiekt}} - jak w: {{LinkPatrz|obiekt}}, * {{Code|kod}} - jak w: {{LinkPatrz|kod}}. ==== Dalszy opis funkcji przy istnieniu parametrów linkowych normalnych, czy szablonowych (linków inteligentnych) ==== ===== Gdy: {{Code|numer_rodzaju_artykulu_poprz}} {{Code|{{=}}}} {{Code|1}} ===== Tworzony jest numerek {{Code|numer_rodzaju_artykulu_w_podreczniku}} {{Patrz|numer_rodzaju_artykulu_w_podreczniku}}, który w stosunku do: {{LinkPatrz|numer_rodzaju_artykulu}}, jest większy o jeden, a schemat tej operacji: <syntaxhighlight lang="lua"> local numer_rodzaju_artykulu_w_podreczniku=numer_rodzaju_artykulu+1; </syntaxhighlight> ====== Tworzenie tablicy: {{LinkPatrz|tablica_artykulow_zebranych}} ====== Wpierw liczone są parametry z wywołania, z opcją, czy ma liczyć, czy nazwa artykułu ma znaki niedozwolone, z funkcji: {{LinkŚródtytuł|ParametrPierwszy}}: <syntaxhighlight lang="lua"> tab_pozycja_elementow_w_spisie_rzeczy[1],znaki_niedozwolone,tablica_przekierowania=ParametrPierwszy(tab_pozycja_elementow_w_spisie_rzeczy[1],true); </syntaxhighlight> Dalej sprawdzane jest, czy ksiązka przyjmuje atrybut: '''czy inna''', wtedy liczymy to z kodu z tablicy przekierowania: {{LinkPatrz|tablica_przekierowania}}, jeżeli jej wartość istnieje, tzn. {{Code|czy_inna_ksiazka}} {{Patrz|czy_inna_ksiazka}}: <syntaxhighlight lang="lua"> local czy_inna_ksiazka=tablica_przekierowania and tablica_przekierowania[1] and tablica_przekierowania[1][5] or nil; </syntaxhighlight> Element: {{Code|<nowiki>[1][5]</nowiki>}}, to jest element tablicy {{LinkPatrz|tablica_przekierowania}}, który przedstawia aryykuł, którego przekierowanie kieruje, wtedy, ten parametr ma wartość {{Code|true}}, a gdy adres przekierowania wskazuje na aktualną stronę, wtedy {{Code|false}}. Jeśli ten parametr ma wartość fałszywą, wtedy jest sprawqdzane, czy jest tablicą w{{Code|czy_tablica}} {{Patrz|czy_tablica}}, według: <syntaxhighlight lang="lua"> czy_tablica=parametry_modul.TypeTable(tab_pozycja_elementow_w_spisie_rzeczy[1]); </syntaxhighlight> Lub w przeciwnym wypadku liczymy parametry artykularne z tablicy przekierowania: {{LinkPatrz|tablica_przekierowania}}, a jeżeli parametry lub nagłówek istnieje, wtedy parametr {{LinkPatrz|czy_tablica}} przyjmuje wartość {{Code|true}}. Gdy element nie jest tablicą, to tworzona jest nazwa pełna artykułu i umieszczana w tablicy {{LinkPatrz|tablica_artykulow_zebranych}}, w sposób, co dalej jest tworzona w dalszych operacjach jest tablica: {{LinkPatrz|tablica_artykulow_zebranych}}, z parametrem początkowym: <syntaxhighlight lang="lua"> tablica_artykulow_zebranych={aktualny_artykul_ksiazki,0,false,}; </syntaxhighlight> Gdy element jest tablicą, też jest liczona pełna nazwa artykułu z tą samą tablicą, w przypadku pierwszego artykułu nienagłówkowego, lub pierwszego artykułu, który może być tylko z nagłówkiem, bo tego bez, w spisie przednim nie ma. Gdy funkcja napotkała artykuł o takim samym stronie, co poprzednio, to do wartości początkowej jest ustawiane odpowiednio: <syntaxhighlight lang="lua"> tablica_artykulow_zebranych[3]=true; </syntaxhighlight> Co informuje, że następny artykuł jest ten sam, tylko inny nagłówek lub jest tym razem z nagłówkiem, a poprzedni bez. ====== Rozwijanie nazwy linku ====== Kompletowany jest drugi element tablicy {{LinkPatrz|tab_pozycja_elementow_w_spisie_rzeczy}}, rozwijając szablony w nim względem funkcji: {{LinkŚródtytuł|RozwijanieNazwy}}. Dalej z tej nazwy są usuwane znaki specjalne według funkcji: {{Code|{{sr|#p["UsuńZnakiSpecjalne"]|p=Specjalne}}}}, z modułu: {{Code|{{ld2|Specjalne}}}}. Następnie działamy funkcją: {{Code|{{sr|#p["Odstępy"]|p=Parametry}}}}, które końcowe spacje usuwa, a wewnętrz powtarzające zamienia kolejne na jedną spację. ====== Dodawanie do tablicy problemów, jeśli nastąpił problem ze znakami niedozwolonymi ====== A między czasie, gdy mamy niedozwolone znaki: {{LinkPatrz|znaki_niedozwolone}}, za pomocą funkcji pytającej sprawdzamy, czy element inny zgłoszeniowy został dodany do tablicy problemów: {{Code|{{sr|#p.CzyJestTakiProblemowyElement|p=StronicowyParser/Problemy}}}}, aż w końcu dodajemy ten problem, jeśli go nie ma przy pomocy funkcji: {{Code|{{sr|#p.UstawTakiProblemowyElement|p=StronicowyParser/Problemy}}}}. ====== {{Śródtytuł|inicjacja_i_kompletowanie_zmiennych}}Ustalanie nazwy jednostki, kompletowanie linii artykułów i inicjowanie pozycji, w tabeli zebranych elementów, w tabeli zebranych elementów ====== Ustalamy nazwę jednostki z funkcji: {{Code|{{sr|#p.UzyskanieTylkoNazwyLubTabeliNazwyLinkuStronyWoluminuZTabeliZParametramiOrazIdentyfikatorem|p=StronicowyParser/Potrzebne}}}}, i iniconujemy tą wartością, czyli {{Code|nazwa jednostki}} {{Patrz|nazwa jednostki}}, wartość starą: {{Code|stara_nazwa_jednostki}} {{Patrz|stara_nazwa_jednostki}}, według: <syntaxhighlight lang="lua"> ---- Piszanie pełnej nazwy jednostki bez parametrów i nagłówka; local nazwa_jednostki=stronicowyparser_potrzebne_modul.UzyskanieTylkoNazwyLubTabeliNazwyLinkuStronyWoluminuZTabeliZParametramiOrazIdentyfikatorem(tab_pozycja_elementow_w_spisie_rzeczy[1],false); ---- Inicjowanie starej wartości tą policzoną; local stara_nazwa_jednostki=nazwa_jednostki; </syntaxhighlight> Dalej {{Śródtekst|uchwyt=tabela_rozdzial_artykulow|tekst=inicjujemy pozycję, jeżeli nie istnieje taka, na podstawie policzonej wartości: {{LinkPatrz|numer_rodzaju_artykulu_w_podreczniku}}, w tablicy: {{LinkPatrz|tabela_rozdzial_artykulow}}}}, według: <syntaxhighlight lang="lua"> if(not tabela_rozdzial_artykulow[numer_rodzaju_artykulu_w_podreczniku])then tabela_rozdzial_artykulow[numer_rodzaju_artykulu_w_podreczniku]={};end; </syntaxhighlight> Co {{Śródtekst|uchwyt=linia_artykokow|tekst=dalej linię artykułów {{Code|linia_artykokow}} {{LinkPatrz|linia_artykokow}}, kompletujemy, funkcją: {{Code|{{sr|#p.KompletowanieSzablonoweZakodowanegoTekstu|p=Szablonowe}}}}, z modułu: {{Code|{{ld2|Szablonowe}}}}, znając tablicę: {{Code|tablica_analizy_obiektow_strony_dany_modul}} {{LinkPatrz|tablica_analizy_obiektow_strony_dany_modul}}}}, według: <syntaxhighlight lang="lua"> linia_artykokow=szablonowe_modul:KompletowanieSzablonoweZakodowanegoTekstu(linia_artykokow,nazwa_modulu,tablica_analizy_obiektow_strony_dany_modul); </syntaxhighlight> ====== Uwzględnianie niepodanego elementu nienagłówkowego w tablicy zebranych parametrów ====== Gdy tablica przekierowania {{LinkPatrz|tablica_przekierowania}} istnieje, wtedy sprawdzamy czy zmienna logiczna {{LinkPatrz|czy_tablica}} jest prawdą i czy {{LinkPatrz|stara_nazwa_jednostki}}, czy jest nie pusta, w takim razie jej element {{Code|2}} przydzielany jest do zmiennej {{Code|przekierowanie}} {{Patrz|przekierowanie}}, czyli nazwie artykułu przekierowania. Inicjujemy nową zmienną {{Code|przekierowanie}} {{LinkPatrz|przekierowanie}} z artykułu, parametrów i nagłówka, ale wpierw sprawdzamy, czy dwa ostatnie istnieją, według: <syntaxhighlight lang="lua"> przekierowanie=przekierowanie and ((tablica_przekierowania[3] or tablica_przekierowania[4]) and {przekierowanie, tablica_przekierowania[3], tablica_przekierowania[4],["LINK"]=true,}or przekierowanie) or nil; </syntaxhighlight> Tworzony jest nowy element {{Code|nazwa jednostki}} {{Patrz|nazwajednostki-nowy}} z {{LinkPatrz|nazwa jednostki}}, parametrów i nagłówka, według rysu: <syntaxhighlight lang="lua"> nazwa_jednostki={nazwa_jednostki, tab_pozycja_elementow_w_spisie_rzeczy[1][2], tab_pozycja_elementow_w_spisie_rzeczy[1][3],["LINK"]=true,}; </syntaxhighlight> Jeżeli parametr drugi {{LinkPatrz|tablica_artykulow_zebranych}}, a trzeci jej jest {{Code|false}}, wtedy kreujemy tablicę: {{LinkPatrz|tab_stare}}. Wsadzamy element {{LinkPatrz|tab_stare}} do zbioru {{LinkPatrz|tablica_artykulow_zebranych}} przy pomocy funkcji: {{LinkPatrz|__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY}}. Następnie jej drugiemu elementowi {{LinkPatrz|tablica_artykulow_zebranych}} dawana jest wartość {{Code|1}}, aby nie dało się ponownie tworzyć i wsadzać element {{LinkPatrz|tab_stare}}, do tablicy {{LinkPatrz|tabela_rozdzial_artykulow}} na pozycji {{LinkPatrz|numer_rodzaju_artykulu_w_podreczniku}} według funkcji {{LinkPatrz|__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY}}, odpowiedzialny za artykuł nienagłówkowy, ktorego nie ma w spisach treści książki, ale są one w wersji nagłówkowej. Jeżeli tablica przekierowania {{LinkPatrz|tablica_przekierowania}} jednak nie istnieje, wtedy tak samo sprawdzamy, co poprzednio potem, ale po spełnieniu tych warunków robimy inną tablicą {{LinkPatrz|tab_stare}}, i tę tablicę robimy podobnie, i inicjujemy te same elementy też podobnie. ====== Uwzględnianie pozycji podanej w tablicy zebranych elementów ====== Tworzymy zmienną {{Code|ile_dodac_do_poziomu_artykulu}} {{Patrz|ile_dodac_do_poziomu_artykulu}} z drugiego elementu tablicy {{LinkPatrz|tablica_artykulow_zebranych}}, następnię tworzymy inną zmienną {{Code|ile_dodac_do_poziomu_artykulu_lub_nil}} {{Patrz|ile_dodac_do_poziomu_artykulu_lub_nil}}, co uwidaczniamy wzorem: <syntaxhighlight lang="lua"> local ile_dodac_do_poziomu_artykulu_lub_nil=((ile_dodac_do_poziomu_artykulu)and(ile_dodac_do_poziomu_artykulu>0))and ile_dodac_do_poziomu_artykulu or nil; </syntaxhighlight> Tą zmienną wykorzystamy do sformułowania {{LinkPatrz|tab_stare}}. {{Śródtekst|tekst=Tworzymy zmienną {{LinkPatrz|tab_stare}}, którą wsadzamy do tablicy {{LinkPatrz|tabela_rozdzial_artykulow}} na pozycji {{LinkPatrz|numer_rodzaju_artykulu_w_podreczniku}} przy pomocy funkcji {{LinkPatrz|__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY}}.|uchwyt=__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY}} ===== Gdy: {{Code|numer_rodzaju_artykulu_poprz}} {{Code|>{{=}}}} {{Code|2}} ===== Będziemy tutaj operowali, gdy parametr drugi zwracany z funkcji: {{LinkPatrz|AnalizujLinkSzablonyOrazLinki}}, wskazuje na nie artykuł książki, zatem ten rozdział jest właśnie dla tego przypadku. ====== Odkodowanie i przygotowanie zmiennych artykułu linku, jej nazwy, także kodu języka i projektu ====== * Gdy pierwszy element tablicy: {{LinkPatrz|tab_pozycja_elementow_w_spisie_rzeczy}}, jest tabelką, wtedy do przetworzenia jego wykorzystujemy funkcję: {{LinkŚródtytuł|ParametrPierwszy}}. * Dla drugiego takiego elementu z: {{LinkPatrz|tab_pozycja_elementow_w_spisie_rzeczy}}, co jest nazwą linku, wtedy gdy nazwa linku normalnego, czy szablonowego, jest zakodowana, to ją odkodujemy, którego każdy jego element kod odkodujemy według fukcji: {{LinkŚródtytuł|RozwijanieNazwy}}, następnie z niej usuwamy znaki specjalne według: {{Code|{{sr|#p["UsuńZnakiSpecjalne"]|p=Specjalne}}}}, następnie usuwamy końcowe spacje i wewnątrz kolejne spacje zaastępujemy jedną spacją, co robimy według: {{Code|{{sr|#p["Odstępy"]|p=Parametry}}}}. * Dla trzeciego i czwartego takiego elementu z: {{LinkPatrz|tab_pozycja_elementow_w_spisie_rzeczy}}, te elementy odkodujemy, następnie z nich usuwamy końcowe spacje, a wewnątrz kolejne spacje zastępujemy jedną, według tej samej funkcji, co powyżej. ====== Przygotowanie zmiennych, inicjowanie tablicy {{Code|tab_stare}} i wsadzanie jej do tablicy ogólnej {{Code|tabela_rozdzial_artykulow}} ====== Dalej {{PobierzŚródtekst|tabela_rozdzial_artykulow}}, także co {{PobierzŚródtekst|linia_artykokow}}, co wszystko robimy podobnie jak w rozdziale: {{LinkŚródtytuł|inicjacja_i_kompletowanie_zmiennych}}. {{PobierzŚródtekst|__FUNKCJA_DO_WSTAWIANIA_DO_SPISU_RZECZY}} ==== Definicja tablicy: {{Code|tab_stare}}, inicjowanie jej elementów w różnych przypadkach ==== == Funkcje tablicy transportu == === {{Code|p.AnalizaNapisuWprowadzeniaTekstu}} === === {{Code|p.ZbieranieInformacjiWoluminuDanegoSpisuRzeczy}} === ==== Opis funkcji ==== ==== Funkcje lokalne ==== ===== {{Code|PomijajLinkiOrazLicencje}} ===== ===== {{Code|CzySzablonLinkLubLicencja}} ===== ===== {{Code|iteratorTekstuNaglowka}} ===== ===== {{Code|LiniaArtykulow}} ===== ===== {{Code|WsadzanieParametryDoTablicy}} ===== ====== {{Code|CzyZaliczac}} ====== ===== {{Code|AnalizaLiniiObiekty}} ===== === {{Code|p.CzyJestStronaInnegoGeneralnegoSpisuRzeczyArtykularnaNaGeneralnymSpiseRzeczyWePodreczniku}} === === {{Code|p.ZbieranieInformacjiSpisuRzeczyWoluminuEwentualnieWedleAutonawigacji}} === ==== Opis funkcji ==== ==== Fukcje lokalne ==== ===== {{Code|Spis}} ===== ===== {{Code|InneSpisy}} ===== ===== {{Code|SpisRzeczy}} ===== ===== {{Code|IteratorFun}} ===== ===== {{Code|ZbieranieDanychStronZAutonawigacji}} ===== {{BrClear}} <noinclude><!-- -->{{ProstaStronaKoniec}}<!-- -->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!-- --></noinclude> dxbrjlau9luxu6tklownsdtrygu4ouw Szablon:Mbox/opis/Opis parametrów-Tabela 10 63607 544494 2026-05-28T08:29:11Z Persino 2851 Utworzono nową stronę "<includeonly> {{Tabela|styl=margin: auto; border: 1px solid #CCCCFF; border-collapse: collapse; border-collapse:collapse; width:95%; text-align:left;|atrybuty=border="1" cellpadding="2" | liczba wierszy = 11 | liczba kolumn = 2 | kolumny 1 = 2 | styl 1 = background: #CCCCFF; text-align: center; | nagłówek 1 = Parametry ''mbox'' | nagłówek 1_1 = tak | komórka 1_1 = typ{{Br}}{{Small|(opcjonalny)}} | komórka 1_2 = Typ powiadomienia. Jeśli nie podano pa…" 544494 wikitext text/x-wiki <includeonly> {{Tabela|styl=margin: auto; border: 1px solid #CCCCFF; border-collapse: collapse; border-collapse:collapse; width:95%; text-align:left;|atrybuty=border="1" cellpadding="2" | liczba wierszy = 11 | liczba kolumn = 2 | kolumny 1 = 2 | styl 1 = background: #CCCCFF; text-align: center; | nagłówek 1 = Parametry ''mbox'' | nagłówek 1_1 = tak | komórka 1_1 = typ{{Br}}{{Small|(opcjonalny)}} | komórka 1_2 = Typ powiadomienia. Jeśli nie podano parametru '''typ''', przyznawany jest '''typ''' w zależności w jakiej przestrzeni szablon się znalazł lub od parametru '''nazwa przestrzeni nazw'''. | nagłówek 2_1 = tak | komórka 2_1 = grafika{{Br}}{{Small|(opcjonalny)}} | komórka 2_2 = Ikona komunikatu. : '''Brak parametru''' = Używana jest domyślna grafika związana z parametrem '''typ'''. : '''Jakaś grafika''' = Użyta szerokość powinna mieścić się w granicach 40-50px. Na przykład: :: {{Code|{{s|Plik|plik{{=}}Unbalanced scales.svg|rozmiar{{=}}40px|rys{{=}}tak}}}} : '''nie''' = Nie używa grafiki, jej puste miejsce jest zapełniane przez tekst wraz z miejscem na grafikę. : '''brak''' = Zostawia puste miesce, gdzie powinna być grafika, nieużywana przez tekst. | nagłówek 3_1 = tak | komórka 3_1 = grafika prawo{{Br}}{{Small|(opcjonalny)}} | komórka 3_2 = Ikona komunikatu. : '''Brak parametru''' = Nie wyświetla grafiki po prawej : '''Jakaś grafika''' = Jak wyżej. Na przykład: :: {{Code|{{s|Plik|plik{{=}}Nuvola apps bookcase.png|rozmiar{{=}}40px|rys{{=}}tak}}}} : '''Cokolwiek''' = Dowolny obiekt, który chcesz po prawej stronie. | nagłówek 4_1 = tak | komórka 4_1 = styl tekstu{{Br}}{{Small|(opcjonalny)}} | komórka 4_2 = Styl CSS dla tekstu ramki zmiennej: '''1''', '''tekst''' lub '''treść''', i z tego poniżej, jeśli: '''styl poniżej''', nie podano. | nagłówek 5_1 = tak | komórka 5_1 = nazwa zmiennej: '''tekst''', albo '''treść''', bodź '''1'''{{Br}}{{Small|(wymagany)}} | komórka 5_2 = Treść komunikatu ramki. | nagłówek 6_1 = tak | komórka 6_1 = poniżej{{Br}}{{Small|(opcjonalny)}} | komórka 6_2 = Wywołanie szablonu {{s|Mbox}} lub jego kolegów innych ramek komunikatów. | nagłówek 7_1 = tak | komórka 7_1 = styl poniżej{{Br}}{{Small|(opcjonalny)}} | komórka 7_2 = Styl CSS ramki tego spod parametru '''poniżej'''. | nagłówek 8_1 = tak | komórka 8_1 = id{{Br}}{{Small|(opcjonalny)}} | komórka 8_2 = Identyfikator komunikatu ramki z komunikatem. | nagłówek 9_1 = tak | komórka 9_1 = klasa{{Br}}{{Small|(opcjonalny)}} | komórka 9_2 = Nazwa klasy CSS dla ramki z komunikatem. | nagłówek 10_1 = tak | komórka 10_1 = styl{{Br}}{{Small|(opcjonalny)}} | komórka 10_2 = Styl CSS dla ramki z komunikatem. | nagłówek 11_1 = tak | komórka 11_1 = nazwa przestrzeni nazw{{Br}}{{Small|(opcjonalny)}} | komórka 11_2 = Nazwa przestrzeni nazw symulująca podaną przestrzeń, w której ma się znaleźć ten szablon. }}<!-- --></includeonly><noinclude><!-- -->{{Dokumentacja|zawartość=Szablon powtarzalny do wsadzania pod sekcję: '''Opis parametrów''', do opisu szablonów związanych z {{s|Mbox}}.}}<!-- -->{{Kategoria|Szablony pomocnicze potrzebne do dokumentacji szablonów}}<!-- --></noinclude> 13ry5dyot3i4w8pqb9ccrxckayfzsyf 544497 544494 2026-05-28T08:40:18Z Persino 2851 544497 wikitext text/x-wiki <includeonly> '''Uwaga''': Jedynym wymaganym parametrem jest {{Parametr|tekst}} lub {{Parametr|treść}} bądź {{Parametr|1}}. {{Tabela|styl=margin: auto; border: 1px solid #CCCCFF; border-collapse: collapse; border-collapse:collapse; width:95%; text-align:left;|atrybuty=border="1" cellpadding="2" | liczba wierszy = 11 | liczba kolumn = 2 | kolumny 1 = 2 | styl 1 = background: #CCCCFF; text-align: center; | nagłówek 1 = Parametry ''mbox'' | nagłówek 1_1 = tak | komórka 1_1 = typ{{Br}}{{Small|(opcjonalny)}} | komórka 1_2 = Typ powiadomienia. Jeśli nie podano parametru '''typ''', przyznawany jest '''typ''' w zależności w jakiej przestrzeni szablon się znalazł lub od parametru '''nazwa przestrzeni nazw'''. | nagłówek 2_1 = tak | komórka 2_1 = grafika{{Br}}{{Small|(opcjonalny)}} | komórka 2_2 = Ikona komunikatu. : '''Brak parametru''' = Używana jest domyślna grafika związana z parametrem '''typ'''. : '''Jakaś grafika''' = Użyta szerokość powinna mieścić się w granicach 40-50px. Na przykład: :: {{Code|{{s|Plik|plik{{=}}Unbalanced scales.svg|rozmiar{{=}}40px|rys{{=}}tak}}}} : '''nie''' = Nie używa grafiki, jej puste miejsce jest zapełniane przez tekst wraz z miejscem na grafikę. : '''brak''' = Zostawia puste miesce, gdzie powinna być grafika, nieużywana przez tekst. | nagłówek 3_1 = tak | komórka 3_1 = grafika prawo{{Br}}{{Small|(opcjonalny)}} | komórka 3_2 = Ikona komunikatu. : '''Brak parametru''' = Nie wyświetla grafiki po prawej : '''Jakaś grafika''' = Jak wyżej. Na przykład: :: {{Code|{{s|Plik|plik{{=}}Nuvola apps bookcase.png|rozmiar{{=}}40px|rys{{=}}tak}}}} : '''Cokolwiek''' = Dowolny obiekt, który chcesz po prawej stronie. | nagłówek 4_1 = tak | komórka 4_1 = styl tekstu{{Br}}{{Small|(opcjonalny)}} | komórka 4_2 = Styl CSS dla tekstu ramki zmiennej: '''1''', '''tekst''' lub '''treść''', i z tego poniżej, jeśli: '''styl poniżej''', nie podano. | nagłówek 5_1 = tak | komórka 5_1 = nazwa zmiennej: '''tekst''', albo '''treść''', bodź '''1'''{{Br}}{{Small|(wymagany)}} | komórka 5_2 = Treść komunikatu ramki. | nagłówek 6_1 = tak | komórka 6_1 = poniżej{{Br}}{{Small|(opcjonalny)}} | komórka 6_2 = Wywołanie szablonu {{s|Mbox}} lub jego kolegów innych ramek komunikatów. | nagłówek 7_1 = tak | komórka 7_1 = styl poniżej{{Br}}{{Small|(opcjonalny)}} | komórka 7_2 = Styl CSS ramki tego spod parametru '''poniżej'''. | nagłówek 8_1 = tak | komórka 8_1 = id{{Br}}{{Small|(opcjonalny)}} | komórka 8_2 = Identyfikator komunikatu ramki z komunikatem. | nagłówek 9_1 = tak | komórka 9_1 = klasa{{Br}}{{Small|(opcjonalny)}} | komórka 9_2 = Nazwa klasy CSS dla ramki z komunikatem. | nagłówek 10_1 = tak | komórka 10_1 = styl{{Br}}{{Small|(opcjonalny)}} | komórka 10_2 = Styl CSS dla ramki z komunikatem. | nagłówek 11_1 = tak | komórka 11_1 = nazwa przestrzeni nazw{{Br}}{{Small|(opcjonalny)}} | komórka 11_2 = Nazwa przestrzeni nazw symulująca podaną przestrzeń, w której ma się znaleźć ten szablon. }}<!-- --></includeonly><noinclude><!-- -->{{Dokumentacja|zawartość=Szablon powtarzalny do wsadzania pod sekcję: '''Opis parametrów''', do opisu szablonów związanych z {{s|Mbox}}.}}<!-- -->{{Kategoria|Szablony pomocnicze potrzebne do dokumentacji szablonów}}<!-- --></noinclude> g9yq15mnh2ok1z0pxw6z27j9mkwzlj9 544528 544497 2026-05-28T10:49:15Z Persino 2851 544528 wikitext text/x-wiki <includeonly> '''Uwaga''': Jedynym wymaganym parametrem jest {{Parametr|tekst}} lub {{Parametr|treść}} bądź {{Parametr|1}}. {{Tabela|styl=margin: auto; border: 1px solid #CCCCFF; border-collapse: collapse; border-collapse:collapse; width:95%; text-align:left;|atrybuty=border="1" cellpadding="2" | liczba wierszy = 11 | liczba kolumn = 2 | kolumny 1 = 2 | styl 1 = background: #CCCCFF; text-align: center; | nagłówek 1 = Parametry ''mbox'' | nagłówek 1_1 = tak | komórka 1_1 = typ{{Br}}{{Small|(opcjonalny)}} | komórka 1_2 = Typ powiadomienia. Jeśli nie podano parametru '''typ''', przyznawany jest '''typ''' w zależności w jakiej przestrzeni szablon się znalazł lub od parametru '''nazwa przestrzeni nazw'''. | nagłówek 2_1 = tak | komórka 2_1 = grafika{{Br}}{{Small|(opcjonalny)}} | komórka 2_2 = Ikona komunikatu. : '''Brak parametru''' = Używana jest domyślna grafika związana z parametrem '''typ'''. : '''Jakaś grafika''' = Użyta szerokość powinna mieścić się w granicach 40-50px. Na przykład: :: {{Code|{{s|Plik|plik{{=}}Unbalanced scales.svg|rozmiar{{=}}40px|rys{{=}}tak}}}} : '''nie''' = Nie używa grafiki, jej puste miejsce jest zapełniane przez tekst wraz z miejscem na grafikę. : '''brak''' = Zostawia puste miesce, gdzie powinna być grafika, nieużywana przez tekst. | nagłówek 3_1 = tak | komórka 3_1 = grafika prawo{{Br}}{{Small|(opcjonalny)}} | komórka 3_2 = Ikona komunikatu. : '''Brak parametru''' = Nie wyświetla grafiki po prawej : '''Jakaś grafika''' = Jak wyżej. Na przykład: :: {{Code|{{s|Plik|plik{{=}}Nuvola apps bookcase.png|rozmiar{{=}}40px|rys{{=}}tak}}}} : '''Cokolwiek''' = Dowolny obiekt, który chcesz po prawej stronie. | nagłówek 4_1 = tak | komórka 4_1 = styl tekstu{{Br}}{{Small|(opcjonalny)}} | komórka 4_2 = Styl CSS dla tekstu ramki zmiennej: '''1''', '''tekst''' lub '''treść''', i z tego poniżej, jeśli: '''styl poniżej''', nie podano. | nagłówek 5_1 = tak | komórka 5_1 = nazwa zmiennej: '''tekst''', albo '''treść''', bodź '''1'''{{Br}}{{Small|(wymagany)}} | komórka 5_2 = Treść komunikatu ramki. | nagłówek 6_1 = tak | komórka 6_1 = poniżej{{Br}}{{Small|(opcjonalny)}} | komórka 6_2 = Wywołanie szablonu {{s|Mbox}} lub jego kolegów innych ramek komunikatów. | nagłówek 7_1 = tak | komórka 7_1 = styl poniżej{{Br}}{{Small|(opcjonalny)}} | komórka 7_2 = Styl CSS ramki tego spod parametru '''poniżej'''. | nagłówek 8_1 = tak | komórka 8_1 = id{{Br}}{{Small|(opcjonalny)}} | komórka 8_2 = Identyfikator komunikatu ramki z komunikatem. | nagłówek 9_1 = tak | komórka 9_1 = klasa{{Br}}{{Small|(opcjonalny)}} | komórka 9_2 = Nazwa klasy CSS dla ramki z komunikatem. | nagłówek 10_1 = tak | komórka 10_1 = styl{{Br}}{{Small|(opcjonalny)}} | komórka 10_2 = Styl CSS dla ramki z komunikatem. | nagłówek 11_1 = tak | komórka 11_1 = nazwa przestrzeni nazw{{Br}}{{Small|(opcjonalny)}} (tylko dla {{s|Mbox}}) | komórka 11_2 = Nazwa przestrzeni nazw symulująca podaną przestrzeń, w której ma się znaleźć ten szablon. }}<!-- --></includeonly><noinclude><!-- -->{{Dokumentacja|zawartość=Szablon powtarzalny do wsadzania pod sekcję: '''Opis parametrów''', do opisu szablonów związanych z {{s|Mbox}}.}}<!-- -->{{Kategoria|Szablony pomocnicze potrzebne do dokumentacji szablonów}}<!-- --></noinclude> oqyk6t9k6y8i4dc62x5zpazyrpfmx2e Szablon:Mbox/opis/Zobacz też 10 63608 544495 2026-05-28T08:31:53Z Persino 2851 Utworzono nową stronę "<includeonly> ; Złożone szablony komunikatów{{Dk}} * {{s|Ambox}} - szablon do tworzenia komunikatów stosowany w artykułach w przestrzeni nazw {{Np|(main)|link=tak}} i {{Np|Wikijunior|link=tak}}, * {{s|Tmbox}} - szablon do tworzenia pól wiadomości informacyjnych dla stron dyskusji, * {{s|Fmbox}} - szablon do tworzenia pól wiadomości komunikatów systemowych w przestrzeniach nazw: {{Np|MediaWiki|link=tak}} i {{Np|Special|link=tak}}, * {{s|Imbox}} - szablon…" 544495 wikitext text/x-wiki <includeonly> ; Złożone szablony komunikatów{{Dk}} * {{s|Ambox}} - szablon do tworzenia komunikatów stosowany w artykułach w przestrzeni nazw {{Np|(main)|link=tak}} i {{Np|Wikijunior|link=tak}}, * {{s|Tmbox}} - szablon do tworzenia pól wiadomości informacyjnych dla stron dyskusji, * {{s|Fmbox}} - szablon do tworzenia pól wiadomości komunikatów systemowych w przestrzeniach nazw: {{Np|MediaWiki|link=tak}} i {{Np|Special|link=tak}}, * {{s|Imbox}} - szablon do tworzenia pól wiadomości dla stron obrazów (plików) dla przestrzeni nazw: {{Np|File|link=tak}}, * {{s|Cmbox}} - szablon do tworzenia pól komunikatów dla stron kategorii dla przestrzeni nazw: {{Np|Category|link=tak}}, * {{s|Ombox}} - szablon do tworzenia pól wiadomości informacyjnych i ostrzegawczych - odpowiednik dla pozostałych przestrzeni nazw. ; Szablony zbudowane w oparciu o złożone szablony komunikatów{{Dk}} * {{s|AmboxProsty}} - prosty szablon komunikatów informacyjny, używający klas szablonu {{s|Ambox}}, stosowany w artykułach w przestrzeni nazw {{Np|(main)|link=tak}} i {{Np|Wikijunior|link=tak}}. ; Szablony komunikatów - kombajny{{Dk}} * {{s|Mbox}} - szablon komunikatów kombajn wywołyjący, złożone szablony komunikatów, w zależności od ustawionej przestrzeni nazw od szablonów {{m|Pudełko}} lub w jakiej przestrzeni się znalazł, szablon wykorzystywany w różnych {{lpp|Przestrzeń nazw|przestrzeniach nazw}}, automatycznie wybiera odpowiedni szablon komunikatów dla danej przestrzeni nazw. ; Szablony stron ujednoznaczniających i przekierowań na inne szczegółowe strony ze stron ogólnych{{Dk}} * {{s|Dmbox}} - szablon komunikatów umieszczany na tych stronach, * {{s|Ujednoznacznienie}} - szablon umieszczany na stronach ujednoznaczniających, zwyczajowo na górze strony, * {{s|Przekierowanie}} - szablon wstawiany na samej górze do stron głównych książek, do których istnieje przekierowanie, które z kolei posiada jeszcze własną {{lpr|Strona ujednoznaczniająca|stronę ujednoznaczniającą}}, * {{s|Inne znaczenia}} - szablon stron ujednoznaczniających kierujących do innych znaczeń danego pojęcia, * {{s|Nie mylić z}} - szablon ostrzega przed myleniem jakiegoś pojęcia z innym, * {{s|Linki niejednoznaczne}} - szablon używany, gdy nie udało się wybrać właściwego znaczenia spośród dostępnych na stronie ujednoznaczniające. ; Inne szablony - kombajny{{Dk}} * {{s|Mbox-strona}} - szablon komunikatów taki jak: {{s|Mbox}}, z wiadomością, tylko, że jest to ramka pływająca umieszczona z prawej strony. ;; Szczególne stronicowe szablony komuniaktów{{Dk}} * {{s|Wymaga znajomości}} - szablon komunikatów zbudowany w oparciu o: {{s|Mbox-strona}}, z parametrem: {{Parametr|typ|notatki}}, linkujący do artykułu. ; Inne{{Dk}} * {{lpr|Szablony komunikatów|Wikipedia:Szablony komunikatów}}.<!--- --></includeonly><noinclude><!-- -->{{Dokumentacja|zawartość=Szablon powtarzalny do wsadzania pod sekcję: '''Zobacz też''', do opisu szablonów związanych z {{s|Mbox}}.}}<!-- -->{{Kategoria|Szablony pomocnicze potrzebne do dokumentacji szablonów}}<!-- --></noinclude> pcnkza8bi0zj79sq2eg3vg3vkjd0n92 Szablon:Mbox/opis/Opis parametrów-Opis 10 63609 544496 2026-05-28T08:38:38Z Persino 2851 Utworzono nową stronę "<includeonly>{{Pre| {{s|Mbox | typ {{=}} <w zależności od przestrzeni, w której znalazł się szablon, to wtedy używa ustalonego dla niej szablonu komunikatu albo ustalane za pomocą zmiennej {{Parametr|nazwa przestrzeni nazw}} (patrz na górze), co przyjmuje ten parametr {{Parametr|typ}}>. | grafika {{=}} none / nie / brak / {{s|Plik|plik{{=}}Some imagine.svg|rozmiar{{=}}40px|rys{{=}}tak}}. | grafika prawo {{=}} inna grafika: {{s|Plik|…" 544496 wikitext text/x-wiki <includeonly>{{Pre| {{s|Mbox | typ {{=}} <w zależności od przestrzeni, w której znalazł się szablon, to wtedy używa ustalonego dla niej szablonu komunikatu albo ustalane za pomocą zmiennej {{Parametr|nazwa przestrzeni nazw}} (patrz na górze), co przyjmuje ten parametr {{Parametr|typ}}>. | grafika {{=}} none / nie / brak / {{s|Plik|plik{{=}}Some imagine.svg|rozmiar{{=}}40px|rys{{=}}tak}}. | grafika prawo {{=}} inna grafika: {{s|Plik|plik{{=}}Some imagine.svg|rozmiar{{=}}40px|rys{{=}}tak}}, lub całkiem inny obiekt. | styl tekstu {{=}} Wartośść CSS tekstu zawartości szablonu komunikatów. | [tekst{{!}}treść{{!}}1] {{=}} Główna treść wiadomości komunikatu. | poniżej {{=}} Więcej elementów, szablonu komunikatów, wiadomości, inne {{s|Mbox}} lub inny szablon tego typu. | id {{=}} Unikalny identyfikator HTML tabelki komunikatu. | klasa {{=}} klasy reguł CSS tabelki komunikatu. | styl {{=}} Wartości CSS kaskadowych arkuszy stylów tabelki komunikatów. | nazwa przestrzeni nazw {{=}} Nazwa przestrzeni nazw symulująca podaną przestrzeń, w której ma się znaleźć ten szzablon. }}}}<!--- --></includeonly><noinclude><!-- -->{{Dokumentacja|zawartość=Szablon powtarzalny do wsadzania pod sekcję: '''Opis parametrów''', do opisu szablonów związanych z {{s|Mbox}}.}}<!-- -->{{Kategoria|Szablony pomocnicze potrzebne do dokumentacji szablonów}}<!-- --></noinclude> 9mbeggcgxhuopxfdtxf3tvb630yjx5k 544498 544496 2026-05-28T08:41:12Z Persino 2851 544498 wikitext text/x-wiki <includeonly> Przykładowe użycie z opisem parametrów: {{Pre| {{s|Mbox | typ {{=}} <w zależności od przestrzeni, w której znalazł się szablon, to wtedy używa ustalonego dla niej szablonu komunikatu albo ustalane za pomocą zmiennej {{Parametr|nazwa przestrzeni nazw}} (patrz na górze), co przyjmuje ten parametr {{Parametr|typ}}>. | grafika {{=}} none / nie / brak / {{s|Plik|plik{{=}}Some imagine.svg|rozmiar{{=}}40px|rys{{=}}tak}}. | grafika prawo {{=}} inna grafika: {{s|Plik|plik{{=}}Some imagine.svg|rozmiar{{=}}40px|rys{{=}}tak}}, lub całkiem inny obiekt. | styl tekstu {{=}} Wartośść CSS tekstu zawartości szablonu komunikatów. | [tekst{{!}}treść{{!}}1] {{=}} Główna treść wiadomości komunikatu. | poniżej {{=}} Więcej elementów, szablonu komunikatów, wiadomości, inne {{s|Mbox}} lub inny szablon tego typu. | id {{=}} Unikalny identyfikator HTML tabelki komunikatu. | klasa {{=}} klasy reguł CSS tabelki komunikatu. | styl {{=}} Wartości CSS kaskadowych arkuszy stylów tabelki komunikatów. | nazwa przestrzeni nazw {{=}} Nazwa przestrzeni nazw symulująca podaną przestrzeń, w której ma się znaleźć ten szzablon. }}}}<!--- --></includeonly><noinclude><!-- -->{{Dokumentacja|zawartość=Szablon powtarzalny do wsadzania pod sekcję: '''Opis parametrów''', do opisu szablonów związanych z {{s|Mbox}}.}}<!-- -->{{Kategoria|Szablony pomocnicze potrzebne do dokumentacji szablonów}}<!-- --></noinclude> l5x32hw32hof3z227fu2ylu15dc05oa 544501 544498 2026-05-28T08:47:35Z Persino 2851 544501 wikitext text/x-wiki <includeonly> Przykładowe użycie z opisem parametrów: {{Pre| {{s|{{ROOTPAGENAME}} | typ {{=}} <w zależności od przestrzeni, w której znalazł się szablon, to wtedy używa ustalonego dla niej szablonu komunikatu albo ustalane za pomocą zmiennej {{Parametr|nazwa przestrzeni nazw}} (patrz na górze), co przyjmuje ten parametr {{Parametr|typ}}>. | grafika {{=}} none / nie / brak / {{s|Plik|plik{{=}}Some imagine.svg|rozmiar{{=}}40px|rys{{=}}tak}}. | grafika prawo {{=}} inna grafika: {{s|Plik|plik{{=}}Some imagine.svg|rozmiar{{=}}40px|rys{{=}}tak}}, lub całkiem inny obiekt. | styl tekstu {{=}} Wartośść CSS tekstu zawartości szablonu komunikatów. | [tekst{{!}}treść{{!}}1] {{=}} Główna treść wiadomości komunikatu. | poniżej {{=}} Więcej elementów, szablonu komunikatów, wiadomości, inne {{s|Mbox}} lub inny szablon tego typu. | id {{=}} Unikalny identyfikator HTML tabelki komunikatu. | klasa {{=}} klasy reguł CSS tabelki komunikatu. | styl {{=}} Wartości CSS kaskadowych arkuszy stylów tabelki komunikatów. | nazwa przestrzeni nazw {{=}} Nazwa przestrzeni nazw symulująca podaną przestrzeń, w której ma się znaleźć ten szzablon. }}}}<!--- --></includeonly><noinclude><!-- -->{{Dokumentacja|zawartość=Szablon powtarzalny do wsadzania pod sekcję: '''Opis parametrów''', do opisu szablonów związanych z {{s|Mbox}}.}}<!-- -->{{Kategoria|Szablony pomocnicze potrzebne do dokumentacji szablonów}}<!-- --></noinclude> svw7d2nhyutwvfkt7lyzcoxrvpaahis 544530 544501 2026-05-28T10:52:06Z Persino 2851 544530 wikitext text/x-wiki <includeonly> Przykładowe użycie z opisem parametrów: {{Pre| {{s|{{ROOTPAGENAME}} | typ {{=}} <w zależności od przestrzeni, w której znalazł się szablon, to wtedy używa ustalonego dla niej szablonu komunikatu albo ustalane za pomocą zmiennej {{Parametr|nazwa przestrzeni nazw}} (patrz na górze), co przyjmuje ten parametr {{Parametr|typ}}>. | grafika {{=}} none / nie / brak / {{s|Plik|plik{{=}}Some imagine.svg|rozmiar{{=}}40px|rys{{=}}tak}}. | grafika prawo {{=}} inna grafika: {{s|Plik|plik{{=}}Some imagine.svg|rozmiar{{=}}40px|rys{{=}}tak}}, lub całkiem inny obiekt. | styl tekstu {{=}} Wartośść CSS tekstu zawartości szablonu komunikatów. | [tekst{{!}}treść{{!}}1] {{=}} Główna treść wiadomości komunikatu. | poniżej {{=}} Więcej elementów, szablonu komunikatów, wiadomości, inne {{s|Mbox}} lub inny szablon tego typu. | id {{=}} Unikalny identyfikator HTML tabelki komunikatu. | klasa {{=}} klasy reguł CSS tabelki komunikatu. | styl {{=}} Wartości CSS kaskadowych arkuszy stylów tabelki komunikatów. | nazwa przestrzeni nazw {{=}} (tylko dla {{s|Mbox}}) Nazwa przestrzeni nazw symulująca podaną przestrzeń, w której ma się znaleźć ten szzablon. }}}}<!--- --></includeonly><noinclude><!-- -->{{Dokumentacja|zawartość=Szablon powtarzalny do wsadzania pod sekcję: '''Opis parametrów''', do opisu szablonów związanych z {{s|Mbox}}.}}<!-- -->{{Kategoria|Szablony pomocnicze potrzebne do dokumentacji szablonów}}<!-- --></noinclude> 4fr9imv5o82byc7jcxfncgiu9aiz37g Szablon:Mbox/opis/Opis parametrów-Wykaz 10 63610 544499 2026-05-28T08:42:58Z Persino 2851 Utworzono nową stronę "<includeonly> Lista wszystkich parametrów: {{Pre| {{s|Mbox | typ {{=}} | grafika {{=}} | grafika prawo {{=}} | styl tekstu {{=}} | [tekst{{!}}treść{{!}}1] {{=}} | poniżej {{=}} | id {{=}} | klasa {{=}} | styl {{=}} | nazwa przestrzeni nazw {{=}} }}}}<!--- --></includeonly><noinclude><!-- -->{{Dokumentacja|zawartość=…" 544499 wikitext text/x-wiki <includeonly> Lista wszystkich parametrów: {{Pre| {{s|Mbox | typ {{=}} | grafika {{=}} | grafika prawo {{=}} | styl tekstu {{=}} | [tekst{{!}}treść{{!}}1] {{=}} | poniżej {{=}} | id {{=}} | klasa {{=}} | styl {{=}} | nazwa przestrzeni nazw {{=}} }}}}<!--- --></includeonly><noinclude><!-- -->{{Dokumentacja|zawartość=Szablon powtarzalny do wsadzania pod sekcję: '''Opis parametrów''', do opisu szablonów związanych z {{s|Mbox}}.}}<!-- -->{{Kategoria|Szablony pomocnicze potrzebne do dokumentacji szablonów}}<!-- --></noinclude> 3gzg15g0624yocc7f24q7z5y9ly52ae 544502 544499 2026-05-28T08:48:15Z Persino 2851 544502 wikitext text/x-wiki <includeonly> Lista wszystkich parametrów: {{Pre| {{s|{{ROOTPAGENAME}} | typ {{=}} | grafika {{=}} | grafika prawo {{=}} | styl tekstu {{=}} | [tekst{{!}}treść{{!}}1] {{=}} | poniżej {{=}} | id {{=}} | klasa {{=}} | styl {{=}} | nazwa przestrzeni nazw {{=}} }}}}<!--- --></includeonly><noinclude><!-- -->{{Dokumentacja|zawartość=Szablon powtarzalny do wsadzania pod sekcję: '''Opis parametrów''', do opisu szablonów związanych z {{s|Mbox}}.}}<!-- -->{{Kategoria|Szablony pomocnicze potrzebne do dokumentacji szablonów}}<!-- --></noinclude> 1k48spkwaumjps4vawunu6oqmzjblad 544527 544502 2026-05-28T10:48:18Z Persino 2851 544527 wikitext text/x-wiki <includeonly> Lista wszystkich parametrów: {{Pre| {{s|{{ROOTPAGENAME}} | typ {{=}} | grafika {{=}} | grafika prawo {{=}} | styl tekstu {{=}} | [tekst{{!}}treść{{!}}1] {{=}} | poniżej {{=}} | id {{=}} | klasa {{=}} | styl {{=}} | nazwa przestrzeni nazw {{=}} Parametr używany tylko przez szablon {{s|Mbox}} }}}}<!--- --></includeonly><noinclude><!-- -->{{Dokumentacja|zawartość=Szablon powtarzalny do wsadzania pod sekcję: '''Opis parametrów''', do opisu szablonów związanych z {{s|Mbox}}.}}<!-- -->{{Kategoria|Szablony pomocnicze potrzebne do dokumentacji szablonów}}<!-- --></noinclude> aqga4u9dxdynnjhoqju77h1a309b1xa 544529 544527 2026-05-28T10:50:46Z Persino 2851 544529 wikitext text/x-wiki <includeonly> Lista wszystkich parametrów: {{Pre| {{s|{{ROOTPAGENAME}} | typ {{=}} | grafika {{=}} | grafika prawo {{=}} | styl tekstu {{=}} | [tekst{{!}}treść{{!}}1] {{=}} | poniżej {{=}} | id {{=}} | klasa {{=}} | styl {{=}} | nazwa przestrzeni nazw {{=}} (tylko dla {{s|Mbox}}) }}}}<!--- --></includeonly><noinclude><!-- -->{{Dokumentacja|zawartość=Szablon powtarzalny do wsadzania pod sekcję: '''Opis parametrów''', do opisu szablonów związanych z {{s|Mbox}}.}}<!-- -->{{Kategoria|Szablony pomocnicze potrzebne do dokumentacji szablonów}}<!-- --></noinclude> rv605komskn1v1clk3442kvlzivepcp Szablon:Mbox/opis/CSS 10 63611 544503 2026-05-28T09:26:28Z Persino 2851 Utworzono nową stronę "<includeonly> Klasy CSS mogą być użyte także bezpośrednio w tabelkach: {{Pre| {{s|Tabelka|klasa{{=}}mbox mbox-content {{#switch:{{ROOTPAGENAME}} |#default= |Ambox=ambox ambox-content |Tmbox=tmbox tmbox-content |Fmbox=fmbox fmbox-content…" 544503 wikitext text/x-wiki <includeonly> Klasy CSS mogą być użyte także bezpośrednio w tabelkach: {{Pre| {{s|Tabelka|klasa{{=}}mbox mbox-content {{#switch:{{ROOTPAGENAME}} |#default= |Ambox=ambox ambox-content |Tmbox=tmbox tmbox-content |Fmbox=fmbox fmbox-content |Imbox=imbox imbox-content |Cmbox=cmbox cmbox-content |Ombox=ombox ombox-content }} box-mobilne|<nowiki><!-- --></nowiki>{{s|Wiersz|<nowiki><!-- --></nowiki>{{s|Komórka|klasa{{=}}mbox-image {{#switch:{{ROOTPAGENAME}} |#default= |Ambox=ambox-image |Tmbox=tmbox-image |Fmbox=fmbox-image |Imbox=imbox-image |Cmbox=cmbox-image |Ombox=ombox-image }}|{{s|Ikona|pomuwaga|35}} }}<nowiki><!-- --></nowiki>{{s|Komórka|Jakiś tekst}}<nowiki><!-- --></nowiki>}}<nowiki><!-- --></nowiki>}} }} {{Tabelka|klasa=mbox mbox-content {{#switch:{{ROOTPAGENAME}} |#default= |Ambox=ambox ambox-content |Tmbox=tmbox tmbox-content |Fmbox=fmbox fmbox-content |Imbox=imbox imbox-content |Cmbox=cmbox cmbox-content |Ombox=ombox ombox-content }} box-mobilne|<!-- -->{{Wiersz|<!-- -->{{Komórka|klasa=mbox-image {{#switch:{{ROOTPAGENAME}} |#default= |Ambox=ambox-image |Tmbox=tmbox-image |Fmbox=fmbox-image |Imbox=imbox-image |Cmbox=cmbox-image |Ombox=ombox-image }}|{{Ikona|pomuwaga|35}}}}<!-- -->{{Komórka|Jakiś tekst}}<!-- -->}}<!-- -->}}<!--- --></includeonly><noinclude><!-- -->{{Dokumentacja|zawartość=Szablon powtarzalny do wsadzania pod sekcję: '''Techniczne szczegóły''', do opisu szablonów związanych z {{s|AktualnaKsiążka}}.}}<!-- -->{{Kategoria|Szablony pomocnicze potrzebne do dokumentacji szablonów}}<!-- --></noinclude> drb7nab4rm0yqgymldth6l2kqr7302a 544504 544503 2026-05-28T09:30:17Z Persino 2851 544504 wikitext text/x-wiki <includeonly> Ten szablon korzysta z klas CSS, więc łatwo można go zmienić według preferencji użytkowników. Klasy CSS mogą być użyte także bezpośrednio w tabelkach: {{Pre| {{s|Tabelka|klasa{{=}}mbox mbox-content {{#switch:{{ROOTPAGENAME}} |#default= |Ambox=ambox ambox-content |Tmbox=tmbox tmbox-content |Fmbox=fmbox fmbox-content |Imbox=imbox imbox-content |Cmbox=cmbox cmbox-content |Ombox=ombox ombox-content }} box-mobilne|<nowiki><!-- --></nowiki>{{s|Wiersz|<nowiki><!-- --></nowiki>{{s|Komórka|klasa{{=}}mbox-image {{#switch:{{ROOTPAGENAME}} |#default= |Ambox=ambox-image |Tmbox=tmbox-image |Fmbox=fmbox-image |Imbox=imbox-image |Cmbox=cmbox-image |Ombox=ombox-image }}|{{s|Ikona|pomuwaga|35}} }}<nowiki><!-- --></nowiki>{{s|Komórka|Jakiś tekst}}<nowiki><!-- --></nowiki>}}<nowiki><!-- --></nowiki>}} }} {{Tabelka|klasa=mbox mbox-content {{#switch:{{ROOTPAGENAME}} |#default= |Ambox=ambox ambox-content |Tmbox=tmbox tmbox-content |Fmbox=fmbox fmbox-content |Imbox=imbox imbox-content |Cmbox=cmbox cmbox-content |Ombox=ombox ombox-content }} box-mobilne|<!-- -->{{Wiersz|<!-- -->{{Komórka|klasa=mbox-image {{#switch:{{ROOTPAGENAME}} |#default= |Ambox=ambox-image |Tmbox=tmbox-image |Fmbox=fmbox-image |Imbox=imbox-image |Cmbox=cmbox-image |Ombox=ombox-image }}|{{Ikona|pomuwaga|35}}}}<!-- -->{{Komórka|Jakiś tekst}}<!-- -->}}<!-- -->}} Ten szablon używa klas CSS {{ls|{{ROOTPAGENAME}}}} styli lokalnych: {{ls2|{{ROOTPAGENAME}}/styles.css}}, więc jest w pełni skórkowalny. Wewnętrznie ten meta-szablon używa znaczników wiki zamiast znaczników HTML dla kodu tabeli. To jest niezwykły sposób, w jaki tworzymy meta-szablony, ponieważ znaczniki wiki mają kilka wad. Na przykład utrudniają używanie {{lmp|ParserFunctions|funkcji parsera}} i znaków specjalnych w parametrach, więc do tego celu użyto je w postaci szablonów, gdzie ich tam użyto w takiej postaci, więc do tego celu w nich użyto instrukcje warunkowe ucinające białe znaki na ich końcach. Domyślne obrazy dla tego meta-szablonu są w formacie png zamiast svg. Głównym powodem jest to, że niektóre starsze przeglądarki internetowe mają problemy z przezroczystym tłem, które MediaWiki renderuje dla obrazów svg. Obrazy png tutaj mają ręcznie zoptymalizowany przezroczysty kolor tła, więc wyglądają dobrze we wszystkich przeglądarkach. Należy zauważyć, że ikony svg wyglądają nieco źle tylko w starych przeglądarkach, więc taka ręczna optymalizacja jest warta zachodu tylko w przypadku bardzo powszechnie używanych ikon. Więcej szczegółów technicznych znajdziesz na {{ls|{{ROOTPAGENAME}}|stronie dyskusji|d=tak}}. Ponieważ ten szablon działa niemal podobnie, jak i inne szablony komunikatów: „{{lk|Szablony komunikatów mbox}}”, jak również ich strony dyskusji i powiązane strony mogą również zawierać więcej szczegółów.<!--- --></includeonly><noinclude><!-- -->{{Dokumentacja|zawartość=Szablon powtarzalny do wsadzania pod sekcję: '''Techniczne szczegóły''', do opisu szablonów związanych z {{s|AktualnaKsiążka}}.}}<!-- -->{{Kategoria|Szablony pomocnicze potrzebne do dokumentacji szablonów}}<!-- --></noinclude> m9f45rkpi3minvn3i5goi3b5idh8utm 544505 544504 2026-05-28T09:31:12Z Persino 2851 544505 wikitext text/x-wiki <includeonly> Ten szablon korzysta z klas CSS, więc łatwo można go zmienić według preferencji użytkowników. Klasy CSS mogą być użyte także bezpośrednio w tabelkach: {{Pre| {{s|Tabelka|klasa{{=}}mbox mbox-content {{#switch:{{ROOTPAGENAME}} |#default= |Ambox=ambox ambox-content |Tmbox=tmbox tmbox-content |Fmbox=fmbox fmbox-content |Imbox=imbox imbox-content |Cmbox=cmbox cmbox-content |Ombox=ombox ombox-content }} box-mobilne|<nowiki><!-- --></nowiki>{{s|Wiersz|<nowiki><!-- --></nowiki>{{s|Komórka|klasa{{=}}mbox-image {{#switch:{{ROOTPAGENAME}} |#default= |Ambox=ambox-image |Tmbox=tmbox-image |Fmbox=fmbox-image |Imbox=imbox-image |Cmbox=cmbox-image |Ombox=ombox-image }}|{{s|Ikona|pomuwaga|35}} }}<nowiki><!-- --></nowiki>{{s|Komórka|Jakiś tekst}}<nowiki><!-- --></nowiki>}}<nowiki><!-- --></nowiki>}} }} {{Tabelka|klasa=mbox mbox-content {{#switch:{{ROOTPAGENAME}} |#default= |Ambox=ambox ambox-content |Tmbox=tmbox tmbox-content |Fmbox=fmbox fmbox-content |Imbox=imbox imbox-content |Cmbox=cmbox cmbox-content |Ombox=ombox ombox-content }} box-mobilne|<!-- -->{{Wiersz|<!-- -->{{Komórka|klasa=mbox-image {{#switch:{{ROOTPAGENAME}} |#default= |Ambox=ambox-image |Tmbox=tmbox-image |Fmbox=fmbox-image |Imbox=imbox-image |Cmbox=cmbox-image |Ombox=ombox-image }}|{{Ikona|pomuwaga|35}}}}<!-- -->{{Komórka|Jakiś tekst}}<!-- -->}}<!-- -->}} Ten szablon używa klas CSS {{ls|{{ROOTPAGENAME}}}} styli lokalnych: {{ls2|{{ROOTPAGENAME}}/styles.css}}, więc jest w pełni skórkowalny. Wewnętrznie ten meta-szablon używa znaczników wiki zamiast znaczników HTML dla kodu tabeli. To jest niezwykły sposób, w jaki tworzymy meta-szablony, ponieważ znaczniki wiki mają kilka wad. Na przykład utrudniają używanie {{lmp|ParserFunctions|funkcji parsera}} i znaków specjalnych w parametrach, więc do tego celu użyto je w postaci szablonów, gdzie ich tam użyto w takiej postaci, więc do tego celu w nich użyto instrukcje warunkowe ucinające białe znaki na ich końcach. Domyślne obrazy dla tego meta-szablonu są w formacie png zamiast svg. Głównym powodem jest to, że niektóre starsze przeglądarki internetowe mają problemy z przezroczystym tłem, które MediaWiki renderuje dla obrazów svg. Obrazy png tutaj mają ręcznie zoptymalizowany przezroczysty kolor tła, więc wyglądają dobrze we wszystkich przeglądarkach. Należy zauważyć, że ikony svg wyglądają nieco źle tylko w starych przeglądarkach, więc taka ręczna optymalizacja jest warta zachodu tylko w przypadku bardzo powszechnie używanych ikon. Więcej szczegółów technicznych znajdziesz na {{ls|{{ROOTPAGENAME}}|stronie dyskusji|d=tak}}. Ponieważ ten szablon działa niemal podobnie, jak i inne szablony komunikatów: „{{lk|Szablony komunikatów mbox}}”, jak również ich strony dyskusji i powiązane strony mogą również zawierać więcej szczegółów.<!--- --></includeonly><noinclude><!-- -->{{Dokumentacja|zawartość=Szablon powtarzalny do wsadzania pod sekcję: '''Techniczne szczegóły''' itp., do opisu szablonów związanych z {{s|AktualnaKsiążka}}.}}<!-- -->{{Kategoria|Szablony pomocnicze potrzebne do dokumentacji szablonów}}<!-- --></noinclude> 0hw2ulhgzd39ddisk2y2i9m0y5lnfnz 544507 544505 2026-05-28T09:34:40Z Persino 2851 544507 wikitext text/x-wiki <includeonly> Ten szablon korzysta z klas CSS, więc łatwo można go zmienić według preferencji użytkowników. Klasy CSS mogą być użyte także bezpośrednio w tabelkach: {{Pre| {{s|Tabelka|klasa{{=}}mbox mbox-content{{#switch:{{ROOTPAGENAME}} |#default= |Ambox=&#32;ambox ambox-content |Tmbox=&#32;tmbox tmbox-content |Fmbox=&#32;fmbox fmbox-content |Imbox=&#32;imbox imbox-content |Cmbox=&#32;cmbox cmbox-content |Ombox=&#32;ombox ombox-content }} box-mobilne|<nowiki><!-- --></nowiki>{{s|Wiersz|<nowiki><!-- --></nowiki>{{s|Komórka|klasa{{=}}mbox-image{{#switch:{{ROOTPAGENAME}} |#default= |Ambox=&#32;ambox-image |Tmbox=&#32;tmbox-image |Fmbox=&#32;fmbox-image |Imbox=&#32;imbox-image |Cmbox=&#32;cmbox-image |Ombox=&#32;ombox-image }}|{{s|Ikona|pomuwaga|35}} }}<nowiki><!-- --></nowiki>{{s|Komórka|Jakiś tekst}}<nowiki><!-- --></nowiki>}}<nowiki><!-- --></nowiki>}} }} {{Tabelka|klasa=mbox mbox-content{{#switch:{{ROOTPAGENAME}} |#default= |Ambox=&#32;ambox ambox-content |Tmbox=&#32;tmbox tmbox-content |Fmbox=&#32;fmbox fmbox-content |Imbox=&#32;imbox imbox-content |Cmbox=&#32;cmbox cmbox-content |Ombox=&#32;ombox ombox-content }} box-mobilne|<!-- -->{{Wiersz|<!-- -->{{Komórka|klasa=mbox-image{{#switch:{{ROOTPAGENAME}} |#default= |Ambox=&#32;ambox-image |Tmbox=&#32;tmbox-image |Fmbox=&#32;fmbox-image |Imbox=&#32;imbox-image |Cmbox=&#32;cmbox-image |Ombox=&#32;ombox-image }}|{{Ikona|pomuwaga|35}}}}<!-- -->{{Komórka|Jakiś tekst}}<!-- -->}}<!-- -->}} Ten szablon używa klas CSS {{ls|{{ROOTPAGENAME}}}} styli lokalnych: {{ls2|{{ROOTPAGENAME}}/styles.css}}, więc jest w pełni skórkowalny. Wewnętrznie ten meta-szablon używa znaczników wiki zamiast znaczników HTML dla kodu tabeli. To jest niezwykły sposób, w jaki tworzymy meta-szablony, ponieważ znaczniki wiki mają kilka wad. Na przykład utrudniają używanie {{lmp|ParserFunctions|funkcji parsera}} i znaków specjalnych w parametrach, więc do tego celu użyto je w postaci szablonów, gdzie ich tam użyto w takiej postaci, więc do tego celu w nich użyto instrukcje warunkowe ucinające białe znaki na ich końcach. Domyślne obrazy dla tego meta-szablonu są w formacie png zamiast svg. Głównym powodem jest to, że niektóre starsze przeglądarki internetowe mają problemy z przezroczystym tłem, które MediaWiki renderuje dla obrazów svg. Obrazy png tutaj mają ręcznie zoptymalizowany przezroczysty kolor tła, więc wyglądają dobrze we wszystkich przeglądarkach. Należy zauważyć, że ikony svg wyglądają nieco źle tylko w starych przeglądarkach, więc taka ręczna optymalizacja jest warta zachodu tylko w przypadku bardzo powszechnie używanych ikon. Więcej szczegółów technicznych znajdziesz na {{ls|{{ROOTPAGENAME}}|stronie dyskusji|d=tak}}. Ponieważ ten szablon działa niemal podobnie, jak i inne szablony komunikatów: „{{lk|Szablony komunikatów mbox}}”, jak również ich strony dyskusji i powiązane strony mogą również zawierać więcej szczegółów.<!--- --></includeonly><noinclude><!-- -->{{Dokumentacja|zawartość=Szablon powtarzalny do wsadzania pod sekcję: '''Techniczne szczegóły''' itp., do opisu szablonów związanych z {{s|AktualnaKsiążka}}.}}<!-- -->{{Kategoria|Szablony pomocnicze potrzebne do dokumentacji szablonów}}<!-- --></noinclude> de6kc9ijlkzr94slgpbpjs9fdnk2wiu 544508 544507 2026-05-28T09:35:44Z Persino 2851 544508 wikitext text/x-wiki <includeonly> Ten szablon korzysta z klas CSS, więc łatwo można go zmienić według preferencji użytkowników. Klasy CSS mogą być użyte także bezpośrednio w tabelkach: {{Pre| {{s|Tabelka|klasa{{=}}mbox mbox-content{{#switch:{{ROOTPAGENAME}} |#default= |Ambox=&#32;ambox ambox-content |Tmbox=&#32;tmbox tmbox-content |Fmbox=&#32;fmbox fmbox-content |Imbox=&#32;imbox imbox-content |Cmbox=&#32;cmbox cmbox-content |Ombox=&#32;ombox ombox-content }} box-mobilne|<nowiki><!-- --></nowiki>{{s|Wiersz|<nowiki><!-- --></nowiki>{{s|Komórka|klasa{{=}}mbox-image{{#switch:{{ROOTPAGENAME}} |#default= |Ambox=&#32;ambox-image |Tmbox=&#32;tmbox-image |Fmbox=&#32;fmbox-image |Imbox=&#32;imbox-image |Cmbox=&#32;cmbox-image |Ombox=&#32;ombox-image }}|{{s|Ikona|pomuwaga|35}} }}<nowiki><!-- --></nowiki>{{s|Komórka|Jakiś tekst}}<nowiki><!-- --></nowiki>}}<nowiki><!-- --></nowiki>}} }} {{Tabelka|klasa=mbox mbox-content {{#switch:{{ROOTPAGENAME}} |#default= |Ambox=ambox ambox-content |Tmbox=tmbox tmbox-content |Fmbox=fmbox fmbox-content |Imbox=imbox imbox-content |Cmbox=cmbox cmbox-content |Ombox=ombox ombox-content }} box-mobilne|<!-- -->{{Wiersz|<!-- -->{{Komórka|klasa=mbox-image {{#switch:{{ROOTPAGENAME}} |#default= |Ambox=ambox-image |Tmbox=tmbox-image |Fmbox=fmbox-image |Imbox=imbox-image |Cmbox=cmbox-image |Ombox=ombox-image }}|{{Ikona|pomuwaga|35}}}}<!-- -->{{Komórka|Jakiś tekst}}<!-- -->}}<!-- -->}} Ten szablon używa klas CSS {{ls|{{ROOTPAGENAME}}}} styli lokalnych: {{ls2|{{ROOTPAGENAME}}/styles.css}}, więc jest w pełni skórkowalny. Wewnętrznie ten meta-szablon używa znaczników wiki zamiast znaczników HTML dla kodu tabeli. To jest niezwykły sposób, w jaki tworzymy meta-szablony, ponieważ znaczniki wiki mają kilka wad. Na przykład utrudniają używanie {{lmp|ParserFunctions|funkcji parsera}} i znaków specjalnych w parametrach, więc do tego celu użyto je w postaci szablonów, gdzie ich tam użyto w takiej postaci, więc do tego celu w nich użyto instrukcje warunkowe ucinające białe znaki na ich końcach. Domyślne obrazy dla tego meta-szablonu są w formacie png zamiast svg. Głównym powodem jest to, że niektóre starsze przeglądarki internetowe mają problemy z przezroczystym tłem, które MediaWiki renderuje dla obrazów svg. Obrazy png tutaj mają ręcznie zoptymalizowany przezroczysty kolor tła, więc wyglądają dobrze we wszystkich przeglądarkach. Należy zauważyć, że ikony svg wyglądają nieco źle tylko w starych przeglądarkach, więc taka ręczna optymalizacja jest warta zachodu tylko w przypadku bardzo powszechnie używanych ikon. Więcej szczegółów technicznych znajdziesz na {{ls|{{ROOTPAGENAME}}|stronie dyskusji|d=tak}}. Ponieważ ten szablon działa niemal podobnie, jak i inne szablony komunikatów: „{{lk|Szablony komunikatów mbox}}”, jak również ich strony dyskusji i powiązane strony mogą również zawierać więcej szczegółów.<!--- --></includeonly><noinclude><!-- -->{{Dokumentacja|zawartość=Szablon powtarzalny do wsadzania pod sekcję: '''Techniczne szczegóły''' itp., do opisu szablonów związanych z {{s|AktualnaKsiążka}}.}}<!-- -->{{Kategoria|Szablony pomocnicze potrzebne do dokumentacji szablonów}}<!-- --></noinclude> cmuyagjj07vfrj96oxbiv13la5ksdud 544513 544508 2026-05-28T10:13:26Z Persino 2851 Persino przeniósł(-osła) stronę [[Szablon:Mbox/opis/Techniczne szczegóły]] do [[Szablon:Mbox/opis/Budowa szablonu według CSS]], bez pozostawienia przekierowania pod starym tytułem 544508 wikitext text/x-wiki <includeonly> Ten szablon korzysta z klas CSS, więc łatwo można go zmienić według preferencji użytkowników. Klasy CSS mogą być użyte także bezpośrednio w tabelkach: {{Pre| {{s|Tabelka|klasa{{=}}mbox mbox-content{{#switch:{{ROOTPAGENAME}} |#default= |Ambox=&#32;ambox ambox-content |Tmbox=&#32;tmbox tmbox-content |Fmbox=&#32;fmbox fmbox-content |Imbox=&#32;imbox imbox-content |Cmbox=&#32;cmbox cmbox-content |Ombox=&#32;ombox ombox-content }} box-mobilne|<nowiki><!-- --></nowiki>{{s|Wiersz|<nowiki><!-- --></nowiki>{{s|Komórka|klasa{{=}}mbox-image{{#switch:{{ROOTPAGENAME}} |#default= |Ambox=&#32;ambox-image |Tmbox=&#32;tmbox-image |Fmbox=&#32;fmbox-image |Imbox=&#32;imbox-image |Cmbox=&#32;cmbox-image |Ombox=&#32;ombox-image }}|{{s|Ikona|pomuwaga|35}} }}<nowiki><!-- --></nowiki>{{s|Komórka|Jakiś tekst}}<nowiki><!-- --></nowiki>}}<nowiki><!-- --></nowiki>}} }} {{Tabelka|klasa=mbox mbox-content {{#switch:{{ROOTPAGENAME}} |#default= |Ambox=ambox ambox-content |Tmbox=tmbox tmbox-content |Fmbox=fmbox fmbox-content |Imbox=imbox imbox-content |Cmbox=cmbox cmbox-content |Ombox=ombox ombox-content }} box-mobilne|<!-- -->{{Wiersz|<!-- -->{{Komórka|klasa=mbox-image {{#switch:{{ROOTPAGENAME}} |#default= |Ambox=ambox-image |Tmbox=tmbox-image |Fmbox=fmbox-image |Imbox=imbox-image |Cmbox=cmbox-image |Ombox=ombox-image }}|{{Ikona|pomuwaga|35}}}}<!-- -->{{Komórka|Jakiś tekst}}<!-- -->}}<!-- -->}} Ten szablon używa klas CSS {{ls|{{ROOTPAGENAME}}}} styli lokalnych: {{ls2|{{ROOTPAGENAME}}/styles.css}}, więc jest w pełni skórkowalny. Wewnętrznie ten meta-szablon używa znaczników wiki zamiast znaczników HTML dla kodu tabeli. To jest niezwykły sposób, w jaki tworzymy meta-szablony, ponieważ znaczniki wiki mają kilka wad. Na przykład utrudniają używanie {{lmp|ParserFunctions|funkcji parsera}} i znaków specjalnych w parametrach, więc do tego celu użyto je w postaci szablonów, gdzie ich tam użyto w takiej postaci, więc do tego celu w nich użyto instrukcje warunkowe ucinające białe znaki na ich końcach. Domyślne obrazy dla tego meta-szablonu są w formacie png zamiast svg. Głównym powodem jest to, że niektóre starsze przeglądarki internetowe mają problemy z przezroczystym tłem, które MediaWiki renderuje dla obrazów svg. Obrazy png tutaj mają ręcznie zoptymalizowany przezroczysty kolor tła, więc wyglądają dobrze we wszystkich przeglądarkach. Należy zauważyć, że ikony svg wyglądają nieco źle tylko w starych przeglądarkach, więc taka ręczna optymalizacja jest warta zachodu tylko w przypadku bardzo powszechnie używanych ikon. Więcej szczegółów technicznych znajdziesz na {{ls|{{ROOTPAGENAME}}|stronie dyskusji|d=tak}}. Ponieważ ten szablon działa niemal podobnie, jak i inne szablony komunikatów: „{{lk|Szablony komunikatów mbox}}”, jak również ich strony dyskusji i powiązane strony mogą również zawierać więcej szczegółów.<!--- --></includeonly><noinclude><!-- -->{{Dokumentacja|zawartość=Szablon powtarzalny do wsadzania pod sekcję: '''Techniczne szczegóły''' itp., do opisu szablonów związanych z {{s|AktualnaKsiążka}}.}}<!-- -->{{Kategoria|Szablony pomocnicze potrzebne do dokumentacji szablonów}}<!-- --></noinclude> cmuyagjj07vfrj96oxbiv13la5ksdud 544514 544513 2026-05-28T10:13:53Z Persino 2851 Persino przeniósł(-osła) stronę [[Szablon:Mbox/opis/Budowa szablonu według CSS]] do [[Szablon:Mbox/opis/CSS]], bez pozostawienia przekierowania pod starym tytułem 544508 wikitext text/x-wiki <includeonly> Ten szablon korzysta z klas CSS, więc łatwo można go zmienić według preferencji użytkowników. Klasy CSS mogą być użyte także bezpośrednio w tabelkach: {{Pre| {{s|Tabelka|klasa{{=}}mbox mbox-content{{#switch:{{ROOTPAGENAME}} |#default= |Ambox=&#32;ambox ambox-content |Tmbox=&#32;tmbox tmbox-content |Fmbox=&#32;fmbox fmbox-content |Imbox=&#32;imbox imbox-content |Cmbox=&#32;cmbox cmbox-content |Ombox=&#32;ombox ombox-content }} box-mobilne|<nowiki><!-- --></nowiki>{{s|Wiersz|<nowiki><!-- --></nowiki>{{s|Komórka|klasa{{=}}mbox-image{{#switch:{{ROOTPAGENAME}} |#default= |Ambox=&#32;ambox-image |Tmbox=&#32;tmbox-image |Fmbox=&#32;fmbox-image |Imbox=&#32;imbox-image |Cmbox=&#32;cmbox-image |Ombox=&#32;ombox-image }}|{{s|Ikona|pomuwaga|35}} }}<nowiki><!-- --></nowiki>{{s|Komórka|Jakiś tekst}}<nowiki><!-- --></nowiki>}}<nowiki><!-- --></nowiki>}} }} {{Tabelka|klasa=mbox mbox-content {{#switch:{{ROOTPAGENAME}} |#default= |Ambox=ambox ambox-content |Tmbox=tmbox tmbox-content |Fmbox=fmbox fmbox-content |Imbox=imbox imbox-content |Cmbox=cmbox cmbox-content |Ombox=ombox ombox-content }} box-mobilne|<!-- -->{{Wiersz|<!-- -->{{Komórka|klasa=mbox-image {{#switch:{{ROOTPAGENAME}} |#default= |Ambox=ambox-image |Tmbox=tmbox-image |Fmbox=fmbox-image |Imbox=imbox-image |Cmbox=cmbox-image |Ombox=ombox-image }}|{{Ikona|pomuwaga|35}}}}<!-- -->{{Komórka|Jakiś tekst}}<!-- -->}}<!-- -->}} Ten szablon używa klas CSS {{ls|{{ROOTPAGENAME}}}} styli lokalnych: {{ls2|{{ROOTPAGENAME}}/styles.css}}, więc jest w pełni skórkowalny. Wewnętrznie ten meta-szablon używa znaczników wiki zamiast znaczników HTML dla kodu tabeli. To jest niezwykły sposób, w jaki tworzymy meta-szablony, ponieważ znaczniki wiki mają kilka wad. Na przykład utrudniają używanie {{lmp|ParserFunctions|funkcji parsera}} i znaków specjalnych w parametrach, więc do tego celu użyto je w postaci szablonów, gdzie ich tam użyto w takiej postaci, więc do tego celu w nich użyto instrukcje warunkowe ucinające białe znaki na ich końcach. Domyślne obrazy dla tego meta-szablonu są w formacie png zamiast svg. Głównym powodem jest to, że niektóre starsze przeglądarki internetowe mają problemy z przezroczystym tłem, które MediaWiki renderuje dla obrazów svg. Obrazy png tutaj mają ręcznie zoptymalizowany przezroczysty kolor tła, więc wyglądają dobrze we wszystkich przeglądarkach. Należy zauważyć, że ikony svg wyglądają nieco źle tylko w starych przeglądarkach, więc taka ręczna optymalizacja jest warta zachodu tylko w przypadku bardzo powszechnie używanych ikon. Więcej szczegółów technicznych znajdziesz na {{ls|{{ROOTPAGENAME}}|stronie dyskusji|d=tak}}. Ponieważ ten szablon działa niemal podobnie, jak i inne szablony komunikatów: „{{lk|Szablony komunikatów mbox}}”, jak również ich strony dyskusji i powiązane strony mogą również zawierać więcej szczegółów.<!--- --></includeonly><noinclude><!-- -->{{Dokumentacja|zawartość=Szablon powtarzalny do wsadzania pod sekcję: '''Techniczne szczegóły''' itp., do opisu szablonów związanych z {{s|AktualnaKsiążka}}.}}<!-- -->{{Kategoria|Szablony pomocnicze potrzebne do dokumentacji szablonów}}<!-- --></noinclude> cmuyagjj07vfrj96oxbiv13la5ksdud Szablon:Mbox/opis/Specjalna składnia 10 63612 544509 2026-05-28T09:40:50Z Persino 2851 Utworzono nową stronę "<includeonly> Jeśli masz zamiar wykorzystywać znaki specjalne w parametrze {{Parametr|treść}}, musisz zastosować poniższe rozwiązania: {{Pre| {{s|Mbox | tekst {{=}} {{s|Div|Znak równości {{s|{{=}}}} i klamerki {{s|(}} {{s|)}} działają dobrze bez żadnych niepotrzebnych zabiegów. Ale oto nie idzie kreska pionowa {{s|!}} i dwie zamykające klamerki {{s|))}}. A teraz zarówno kreska pionowa, jak i klamerki: {{s|!}}{{s|))}}.}} }} }} {{#switch:{{ROOTPAGE…" 544509 wikitext text/x-wiki <includeonly> Jeśli masz zamiar wykorzystywać znaki specjalne w parametrze {{Parametr|treść}}, musisz zastosować poniższe rozwiązania: {{Pre| {{s|Mbox | tekst {{=}} {{s|Div|Znak równości {{s|{{=}}}} i klamerki {{s|(}} {{s|)}} działają dobrze bez żadnych niepotrzebnych zabiegów. Ale oto nie idzie kreska pionowa {{s|!}} i dwie zamykające klamerki {{s|))}}. A teraz zarówno kreska pionowa, jak i klamerki: {{s|!}}{{s|))}}.}} }} }} {{#switch:{{ROOTPAGENAME}}|Mbox= ==== Szablon {{s|Mbox}} ze specjalnymi znakami mechanizmu MediaWiki ==== ===== Przestrzeń nazw {{Np|(main)|link=tak}} (używając szablonu {{s|Ambox}}) ===== {{Mbox | tekst = {{Div|Znak równości {{=}} i klamerki {{(}} {{)}} działają dobrze bez żadnych niepotrzebnych zabiegów.<!-- --> Ale oto nie idzie kreska pionowa {{!}} i dwie zamykające klamerki {{))}}.<!-- --> A teraz zarówno kreska pionowa, jak i klamerki: {{!}}{{))}}.}} | nazwa przestrzeni nazw = (main) }} ===== Przestrzeń nazw {{Np|Talk|link=tak}} (używając szablonu {{s|Tmbox}}) ===== {{Mbox | tekst = {{Div|Znak równości {{=}} i klamerki {{(}} {{)}} działają dobrze bez żadnych niepotrzebnych zabiegów.<!-- --> Ale oto nie idzie kreska pionowa {{!}} i dwie zamykające klamerki {{))}}.<!-- --> A teraz zarówno kreska pionowa, jak i klamerki: {{!}}{{))}}.}} | nazwa przestrzeni nazw = Talk }} ===== Przestrzeń nazw {{Np|Special|link=tak}} (używając szablonu {{s|Fmbox}}) ===== {{Mbox | tekst = {{Div|Znak równości {{=}} i klamerki {{(}} {{)}} działają dobrze bez żadnych niepotrzebnych zabiegów.<!-- --> Ale oto nie idzie kreska pionowa {{!}} i dwie zamykające klamerki {{))}}.<!-- --> A teraz zarówno kreska pionowa, jak i klamerki: {{!}}{{))}}.}} | nazwa przestrzeni nazw = Special }} ===== Przestrzeń nazw {{Np|File|link=tak}} (używając szablonu {{s|Imbox}}) ===== {{Mbox | tekst = {{Div|Znak równości {{=}} i klamerki {{(}} {{)}} działają dobrze bez żadnych niepotrzebnych zabiegów.<!-- --> Ale oto nie idzie kreska pionowa {{!}} i dwie zamykające klamerki {{))}}.<!-- --> A teraz zarówno kreska pionowa, jak i klamerki: {{!}}{{))}}.}} | nazwa przestrzeni nazw = File }} ===== Przestrzeń nazw {{Np|Category|link=tak}} (używając szablonu {{s|Cmbox}}) ===== {{Mbox | tekst = {{Div|Znak równości {{=}} i klamerki {{(}} {{)}} działają dobrze bez żadnych niepotrzebnych zabiegów.<!-- --> Ale oto nie idzie kreska pionowa {{!}} i dwie zamykające klamerki {{))}}.<!-- --> A teraz zarówno kreska pionowa, jak i klamerki: {{!}}{{))}}.}} | nazwa przestrzeni nazw = Category }} ===== Przestrzeń nazw {{Np|Project|link=tak}} (używając szablonu {{s|Ombox}}) ===== {{Mbox | tekst = {{Div|Znak równości {{=}} i klamerki {{(}} {{)}} działają dobrze bez żadnych niepotrzebnych zabiegów.<!-- --> Ale oto nie idzie kreska pionowa {{!}} i dwie zamykające klamerki {{))}}.<!-- --> A teraz zarówno kreska pionowa, jak i klamerki: {{!}}{{))}}.}} | nazwa przestrzeni nazw = Project }} |#default={{{{ROOTPAGENAME}} | tekst = {{Div|Znak równości {{=}} i klamerki {{(}} {{)}} działają dobrze bez żadnych niepotrzebnych zabiegów.<!-- --> Ale oto nie idzie kreska pionowa {{!}} i dwie zamykające klamerki {{))}}.<!-- --> A teraz zarówno kreska pionowa, jak i klamerki: {{!}}{{))}}.}} }}}}<!--- --></includeonly><noinclude><!-- -->{{Dokumentacja|zawartość=Szablon powtarzalny do wsadzania pod sekcję: '''Specjalna składnia''', do opisu szablonów związanych z {{s|AktualnaKsiążka}}.}}<!-- -->{{Kategoria|Szablony pomocnicze potrzebne do dokumentacji szablonów}}<!-- --></noinclude> 7ficdhb1wtjobuhykdcghiqxv0s36w2 544510 544509 2026-05-28T09:41:25Z Persino 2851 544510 wikitext text/x-wiki <includeonly> Jeśli masz zamiar wykorzystywać znaki specjalne w parametrze {{Parametr|treść}}, musisz zastosować poniższe rozwiązania: {{Pre| {{s|{{ROOTPAGENAME}} | tekst {{=}} {{s|Div|Znak równości {{s|{{=}}}} i klamerki {{s|(}} {{s|)}} działają dobrze bez żadnych niepotrzebnych zabiegów. Ale oto nie idzie kreska pionowa {{s|!}} i dwie zamykające klamerki {{s|))}}. A teraz zarówno kreska pionowa, jak i klamerki: {{s|!}}{{s|))}}.}} }} }} {{#switch:{{ROOTPAGENAME}}|Mbox= ==== Szablon {{s|Mbox}} ze specjalnymi znakami mechanizmu MediaWiki ==== ===== Przestrzeń nazw {{Np|(main)|link=tak}} (używając szablonu {{s|Ambox}}) ===== {{Mbox | tekst = {{Div|Znak równości {{=}} i klamerki {{(}} {{)}} działają dobrze bez żadnych niepotrzebnych zabiegów.<!-- --> Ale oto nie idzie kreska pionowa {{!}} i dwie zamykające klamerki {{))}}.<!-- --> A teraz zarówno kreska pionowa, jak i klamerki: {{!}}{{))}}.}} | nazwa przestrzeni nazw = (main) }} ===== Przestrzeń nazw {{Np|Talk|link=tak}} (używając szablonu {{s|Tmbox}}) ===== {{Mbox | tekst = {{Div|Znak równości {{=}} i klamerki {{(}} {{)}} działają dobrze bez żadnych niepotrzebnych zabiegów.<!-- --> Ale oto nie idzie kreska pionowa {{!}} i dwie zamykające klamerki {{))}}.<!-- --> A teraz zarówno kreska pionowa, jak i klamerki: {{!}}{{))}}.}} | nazwa przestrzeni nazw = Talk }} ===== Przestrzeń nazw {{Np|Special|link=tak}} (używając szablonu {{s|Fmbox}}) ===== {{Mbox | tekst = {{Div|Znak równości {{=}} i klamerki {{(}} {{)}} działają dobrze bez żadnych niepotrzebnych zabiegów.<!-- --> Ale oto nie idzie kreska pionowa {{!}} i dwie zamykające klamerki {{))}}.<!-- --> A teraz zarówno kreska pionowa, jak i klamerki: {{!}}{{))}}.}} | nazwa przestrzeni nazw = Special }} ===== Przestrzeń nazw {{Np|File|link=tak}} (używając szablonu {{s|Imbox}}) ===== {{Mbox | tekst = {{Div|Znak równości {{=}} i klamerki {{(}} {{)}} działają dobrze bez żadnych niepotrzebnych zabiegów.<!-- --> Ale oto nie idzie kreska pionowa {{!}} i dwie zamykające klamerki {{))}}.<!-- --> A teraz zarówno kreska pionowa, jak i klamerki: {{!}}{{))}}.}} | nazwa przestrzeni nazw = File }} ===== Przestrzeń nazw {{Np|Category|link=tak}} (używając szablonu {{s|Cmbox}}) ===== {{Mbox | tekst = {{Div|Znak równości {{=}} i klamerki {{(}} {{)}} działają dobrze bez żadnych niepotrzebnych zabiegów.<!-- --> Ale oto nie idzie kreska pionowa {{!}} i dwie zamykające klamerki {{))}}.<!-- --> A teraz zarówno kreska pionowa, jak i klamerki: {{!}}{{))}}.}} | nazwa przestrzeni nazw = Category }} ===== Przestrzeń nazw {{Np|Project|link=tak}} (używając szablonu {{s|Ombox}}) ===== {{Mbox | tekst = {{Div|Znak równości {{=}} i klamerki {{(}} {{)}} działają dobrze bez żadnych niepotrzebnych zabiegów.<!-- --> Ale oto nie idzie kreska pionowa {{!}} i dwie zamykające klamerki {{))}}.<!-- --> A teraz zarówno kreska pionowa, jak i klamerki: {{!}}{{))}}.}} | nazwa przestrzeni nazw = Project }} |#default={{{{ROOTPAGENAME}} | tekst = {{Div|Znak równości {{=}} i klamerki {{(}} {{)}} działają dobrze bez żadnych niepotrzebnych zabiegów.<!-- --> Ale oto nie idzie kreska pionowa {{!}} i dwie zamykające klamerki {{))}}.<!-- --> A teraz zarówno kreska pionowa, jak i klamerki: {{!}}{{))}}.}} }}}}<!--- --></includeonly><noinclude><!-- -->{{Dokumentacja|zawartość=Szablon powtarzalny do wsadzania pod sekcję: '''Specjalna składnia''', do opisu szablonów związanych z {{s|AktualnaKsiążka}}.}}<!-- -->{{Kategoria|Szablony pomocnicze potrzebne do dokumentacji szablonów}}<!-- --></noinclude> 8cins7ax3pcfn4xixfyshhgrofqbc3j Szablon:DNU/opis/Zobacz też 10 63613 544531 2026-05-28T11:17:23Z Persino 2851 Utworzono nową stronę "<includeonly> Zobacz też dokumentację szablonów: * {{s|SdU}} i {{s|DoSkasowania}} - używany, gdy trwa trwa dyskusja nad usunięciem lub naprawieniem strony, podobnie jak {{s|DNU}}, * {{s|SdUwynik}} - używany w sytuacji, gdy ustalono, co dalej trzeba zrobić ze stroną, podobnie jak {{s|DNU}}, * {{s|Kasowanie po przeniesieniu}} i {{s|Kpp}} - powiadamia autora podręcznika lub artykułu, nawet dla dzieci, albo pliku przed jakim czasem może skopiować zawartoś…" 544531 wikitext text/x-wiki <includeonly> Zobacz też dokumentację szablonów: * {{s|SdU}} i {{s|DoSkasowania}} - używany, gdy trwa trwa dyskusja nad usunięciem lub naprawieniem strony, podobnie jak {{s|DNU}}, * {{s|SdUwynik}} - używany w sytuacji, gdy ustalono, co dalej trzeba zrobić ze stroną, podobnie jak {{s|DNU}}, * {{s|Kasowanie po przeniesieniu}} i {{s|Kpp}} - powiadamia autora podręcznika lub artykułu, nawet dla dzieci, albo pliku przed jakim czasem może skopiować zawartość (ten plik) przed jego skasowaniem, * {{s|Ek}}, {{s|Ek2}} i {{s|Delete}} - używany do zgłoszenia strony, ale nie podręcznika, do usunięcia przez {{lr|Administratorzy|administratora Wikibooks}}, * {{s|NPA}} i {{s|NPA całość}} - używane do zgłaszanie naruszenia praw autorskich (NPA) przez artykuł i podręcznik w przestrzeni nazw (główna) i Wikijunior lub plik w przestrzeni nazw Plik, kolejno wstawiane ręcznie lub przez bota, * {{s|Zgłoś błąd}} i {{s|ZB}} - używane do zgłaszania błędów.<!--- --></includeonly><noinclude><!-- -->{{Dokumentacja|zawartość=Szablon powtarzalny do wsadzania pod sekcję: '''Zobacz też''', do opisu szablonów związanych z {{s|DNU}}.}}<!-- -->{{Kategoria|Szablony pomocnicze potrzebne do dokumentacji szablonów}}<!-- --></noinclude> in2eofo00ezbhq4p9w2hdvqineakrwa 544533 544531 2026-05-28T11:18:54Z Persino 2851 544533 wikitext text/x-wiki <includeonly> Zobacz też dokumentację szablonów: * {{s|DNU}} - używany, gdy trwa dyskusja nad usunięciem lub naprawieniem strony, albo w sytuacji, gdy zakończone dyskusją z ustaleniem, co należy dalej zrobić, * {{s|SdU}} i {{s|DoSkasowania}} - używany, gdy trwa trwa dyskusja nad usunięciem lub naprawieniem strony, podobnie jak {{s|DNU}}, * {{s|SdUwynik}} - używany w sytuacji, gdy ustalono, co dalej trzeba zrobić ze stroną, podobnie jak {{s|DNU}}, * {{s|Kasowanie po przeniesieniu}} i {{s|Kpp}} - powiadamia autora podręcznika lub artykułu, nawet dla dzieci, albo pliku przed jakim czasem może skopiować zawartość (ten plik) przed jego skasowaniem, * {{s|Ek}}, {{s|Ek2}} i {{s|Delete}} - używany do zgłoszenia strony, ale nie podręcznika, do usunięcia przez {{lr|Administratorzy|administratora Wikibooks}}, * {{s|NPA}} i {{s|NPA całość}} - używane do zgłaszanie naruszenia praw autorskich (NPA) przez artykuł i podręcznik w przestrzeni nazw (główna) i Wikijunior lub plik w przestrzeni nazw Plik, kolejno wstawiane ręcznie lub przez bota, * {{s|Zgłoś błąd}} i {{s|ZB}} - używane do zgłaszania błędów.<!--- --></includeonly><noinclude><!-- -->{{Dokumentacja|zawartość=Szablon powtarzalny do wsadzania pod sekcję: '''Zobacz też''', do opisu szablonów związanych z {{s|DNU}}.}}<!-- -->{{Kategoria|Szablony pomocnicze potrzebne do dokumentacji szablonów}}<!-- --></noinclude> j3t9gk2g34cf3vj0wyat7720v72uxjs 544537 544533 2026-05-28T11:21:29Z Persino 2851 544537 wikitext text/x-wiki <includeonly> Zobacz też dokumentację szablonów: * {{s|DNU}} - używany, gdy trwa dyskusja nad usunięciem lub naprawieniem strony, albo w sytuacji, gdy zakończone dyskusją z ustaleniem, co należy dalej zrobić, * {{s|SdU}} i {{s|DoSkasowania}} - używany, gdy trwa trwa dyskusja nad usunięciem lub naprawieniem strony, podobnie jak {{s|DNU}}, * {{s|SdUwynik}} - używany w sytuacji, gdy ustalono, co dalej trzeba zrobić ze stroną, podobnie jak {{s|DNU}}, * {{s|Kasowanie po przeniesieniu}} i {{s|Kpp}} - powiadamia autora podręcznika lub artykułu, nawet dla dzieci, albo pliku przed jakim czasem może skopiować zawartość (ten plik) przed jego skasowaniem, * {{s|Ek}}, {{s|Ek2}} i {{s|Delete}} - używany do zgłoszenia strony, ale nie podręcznika, do usunięcia przez {{lr|Administratorzy|administratora Wikibooks}}, * {{s|NPA}} i {{s|NPA całość}} - używane do zgłaszanie naruszenia praw autorskich (NPA) przez artykuł i podręcznik w przestrzeni nazw (główna) i Wikijunior lub plik w przestrzeni nazw Plik, kolejno wstawiane ręcznie lub przez bota, * {{s|Zgłoś błąd}} i {{s|ZB}} - używane do zgłaszania błędów. * {{lpr|Zasady ekspresowego kasowania|Wikipedia:Zasady ekspresowego kasowania}} * {{lpr|Narzędzia/QuickEK|Wikipedia:Narzędzia/QuickEK}}<!--- --></includeonly><noinclude><!-- -->{{Dokumentacja|zawartość=Szablon powtarzalny do wsadzania pod sekcję: '''Zobacz też''', do opisu szablonów związanych z {{s|DNU}}.}}<!-- -->{{Kategoria|Szablony pomocnicze potrzebne do dokumentacji szablonów}}<!-- --></noinclude> j0mrvexlpo7whn6r588af7h7izlh3ir Szablon:Dopracować/opis/Zobacz też 10 63614 544543 2026-05-28T11:53:30Z Persino 2851 Utworzono nową stronę "<includeonly> * {{s|Dopracować}}, {{s|DoPracowania}} (przekierowanie do niego) - analogiczny szablon do dopracowania jednostek, * {{s|Dopracować2}} - szablon ogólny służy do zaznaczania jednostki do dopracowania, * {{lr|Szablony|Lista szablonów na Wikibooks}}.<!--- --></includeonly><noinclude><!-- -->{{Dokumentacja|zawartość=Szablon powtarzalny do wsadzania pod sekcję: '''Zobacz też''', do opisu szablonów związanych z {{s|AktualnaKsiążka}}.}}<!-- -->…" 544543 wikitext text/x-wiki <includeonly> * {{s|Dopracować}}, {{s|DoPracowania}} (przekierowanie do niego) - analogiczny szablon do dopracowania jednostek, * {{s|Dopracować2}} - szablon ogólny służy do zaznaczania jednostki do dopracowania, * {{lr|Szablony|Lista szablonów na Wikibooks}}.<!--- --></includeonly><noinclude><!-- -->{{Dokumentacja|zawartość=Szablon powtarzalny do wsadzania pod sekcję: '''Zobacz też''', do opisu szablonów związanych z {{s|AktualnaKsiążka}}.}}<!-- -->{{Kategoria|Szablony pomocnicze potrzebne do dokumentacji szablonów}}<!-- --></noinclude> ka7meovv9yghgy7jygl6ml569495t7t 544544 544543 2026-05-28T11:53:49Z Persino 2851 544544 wikitext text/x-wiki <includeonly> * {{s|Dopracować}}, {{s|DoPracowania}} (przekierowanie do niego) - analogiczny szablon do dopracowania jednostek, * {{s|Dopracować2}} - szablon ogólny służy do zaznaczania jednostki do dopracowania, * {{lr|Szablony|Lista szablonów na Wikibooks}}.<!--- --></includeonly><noinclude><!-- -->{{Dokumentacja|zawartość=Szablon powtarzalny do wsadzania pod sekcję: '''Zobacz też''', do opisu szablonów związanych z {{s|Dopracować}}.}}<!-- -->{{Kategoria|Szablony pomocnicze potrzebne do dokumentacji szablonów}}<!-- --></noinclude> jzxp1vv3mlqvv2ontcjuno10bk8bp72