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ń}} – {{lr|IRC}} – {{lr|Poczekalnia}} – {{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§ion=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§ion=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§ion=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§ion=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§ion=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 "["..((obiekt~="") and (obiekt.." ") or "")..kod.."]";
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= 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>
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= 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>
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= 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>
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= 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>
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