Wikibooks
plwikibooks
https://pl.wikibooks.org/wiki/Wikibooks:Strona_g%C5%82%C3%B3wna
MediaWiki 1.39.0-wmf.23
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
Gadżet
Dyskusja gadżetu
Definicja gadżetu
Dyskusja definicji gadżetu
Angielski/Czasy/Future continuous
0
5948
437977
206448
2022-08-17T11:58:08Z
87.130.44.143
/* Zastosowanie */
wikitext
text/x-wiki
= FUTURE CONTINUOUS =
=== Budowa ===
===== Zdania twierdzące=====
podmiot + '''will''' + be + czasownik z końcówką -ing
{| border="1" cellspacing="0" cellpadding="10" style="width: 30%; text-align: center;"
| style="background-color: #ffffff" | I <br> He <br> She <br> (It) <br> We <br> You <br> They
| style="background-color: #ffffff" | will <br> shall
| style="background-color: #ffffff" | be
| style="background-color: #ffffff" | watch'''ing''' <br> go'''ing''' <br> play'''ing'''
|}
===== Zdania przeczące=====
podmiot + '''will''' (lub '''shall''') + '''not''' ('''won't''', '''shan't''') + '''be''' + czasownik z '''-ing'''
{| border="1" cellspacing="0" cellpadding="10" style="width: 30%; text-align: center;"
| style="background-color: #ffffff" | I <br> You <br> He <br> She <br> It <br> We <br> You <br> They
| style="background-color: #ffffff" | will not (won't) <br> shall not (shan't)
| style="background-color: #ffffff" | be
| style="background-color: #ffffff" | watch'''ing''' <br> go'''ing''' <br> play'''ing'''
|}
===== Zdania pytające=====
'''will''' (lub '''shall''') + podmiot + '''be''' + czasownik z '''-ing'''
{| border="1" cellspacing="0" cellpadding="10" style="width: 30%; text-align: center;"
| style="background-color: #ffffff" | will <br> shall
| style="background-color: #ffffff" | I <br> You <br> He <br> She <br> It <br> We <br> You <br> They
| style="background-color: #ffffff" | be
| style="background-color: #ffffff" | watch'''ing''' <br> go'''ing''' <br> play'''ing'''
| style="background-color: #ffffff" | ?
|}
===== Zastosowanie =====
Czasu FUTURE CONTINUOUS używamy, gdy mówimy o:
<center>
#Czynnościach ciągłych w przyszłości
''I will be lying on a beach this time tomorrow.''
#Zaplanowanych czynnościach w przyszłości
''I will be meeting them next week.''
#Czynnościach, które dzieją się zawsze w określonym czasie
''Will you be spending your holidays in the mountains as usual this year?''
</center>
<noinclude>
{{Nawigacja|Angielski:Czasy|
[[Angielski/Czasy/Future simple|Future simple]]|
[[Angielski/Czasy/Future perfect|Future perfect]]|
}}</noinclude>
c5vqjcpvqxczkeixpdsqh5d55kcy39b
Szablon:Indeksuj
10
6198
437935
409903
2022-08-17T02:50:43Z
Persino
2851
wikitext
text/x-wiki
<includeonly>{{Znacznik|tag=div|id={{{2|{{{1}}}}}}|styl=display:inline-block;border:none;background:none;margin:0;padding:0;width:0;height:0;overflow:hidden|{{{1}}}}}</includeonly><noinclude>{{Dokumentacja}}</noinclude>
f3tc4juc2gl620jjtv2p3zzcd2gdrer
437936
437935
2022-08-17T02:57:24Z
Persino
2851
wikitext
text/x-wiki
<includeonly>{{Znacznik|tag=div|id={{{2|{{{1}}}}}}|styl=display:inline-block;border:none;background:none;margin:0;padding:0;width:0;height:0;float:right;overflow:hidden|{{{1}}}}}</includeonly><noinclude>{{Dokumentacja}}</noinclude>
1ngvopig5rdg6gtx3n84g7vdoi0w7hk
437944
437936
2022-08-17T04:45:32Z
Persino
2851
wikitext
text/x-wiki
<includeonly>{{Znacznik|tag=div|id={{{2|{{{1}}}}}}|styl=display:block;border:none;background:none;margin:0;padding:0;width:0;height:0;float:right;overflow:hidden|{{{1}}}}}</includeonly><noinclude>{{Dokumentacja}}</noinclude>
gfc94d1u4h8d465y9xcf63n43lvu729
Szablon:Dokumentacja
10
19880
437943
437671
2022-08-17T04:29:38Z
Persino
2851
wikitext
text/x-wiki
<templatestyles src="Szablon:Dokumentacja/styles.css" /><templatestyles src="Szablon:Fmbox/styles.css" /><templatestyles src="Szablon:Mbox/styles.css" />
<div class="template-documentation" style="padding: 14px;">{{
#if: {{{nagłówek|Dokumentacja}}}
|<div style="padding-bottom: {{{heading-padding|3px}}}; border-bottom: 1px solid #aaa; margin-bottom: {{{margines nagłówka|1ex}}}"><span style="{{{styl nagłówka|font-size: 125%; font-weight: 600;}}}">[[Plik:Template-info.png|50px]] {{{nagłówek|Dokumentacja{{#switch: {{NAMESPACE}}|Szablon= szablonu|Moduł= modułu|#default=}}}}}</span>
<span class="plainlinks" id="doc_editlinks" style="margin-left: 1em; font-size: 90%;">{{
#ifexist: {{{1|{{Dokumentacja/nazwa}}}}}
|<!-- /opis istnieje -->[[{{fullurl:{{{1|{{Dokumentacja/nazwa}}}}}}} zobacz]] [[{{fullurl:{{{1|{{Dokumentacja/nazwa}}}}}|action=edit}} edytuj]] [[{{fullurl:{{{1|{{Dokumentacja/nazwa}}}}}|action=history}} historia]] [{{odśwież|odśwież}}]
|<!-- nie ma /opis -->{{
#if: {{{zawartość|}}}
|[{{odśwież|odśwież}}]
|<!-- no content -->[[{{fullurl:{{{1|{{Dokumentacja/nazwa }}}}}|action=edit&preload={{{preload opisu|Szablon:Dokumentacja/preload}}}}} stwórz]] [{{odśwież|odśwież}}]
}}
}}</span></div>
}}<!-- endif heading -->
<div class="main_scrollbar_documentation mw-overflow-x" style="overflow-x:auto;"><div class="documentation_content" style="min-width:fit-content;width:100%;">
{{PrzytnijTekst|{{{zawartość|{{ {{ #ifexist: {{{1|{{Dokumentacja/nazwa}}}}} | {{{1|{{Dokumentacja/nazwa}}}}} | ns:0 }} }}}}}}}</div></div></div>
{{#switch: {{{okno linków}}}|nie=|tak|#default={{#if:{{{zawartość|}}}||<table id="documentation-meta-data" class="plainlinks fmbox fmbox-system" role="presentation" style="background-color: #ecfcf4">
<tr>
<td class="mbox-text" style="font-style: italic">
<div id="template_doc_page_transcluded" class="plainlinks" style="font-style:italic;">{{
#ifeq: {{{transcluded|show}}} | show
|<!-- transcluded show -->{{
#ifexist: {{{1|{{Dokumentacja/nazwa}}}}}
|<!-- /doc exists -->Powyższy [[w:Pomoc:Schemat opisu szablonu|opis]] jest [[w:Pomoc:Transkluzja|dołączany]] ze strony [[{{{1|{{Dokumentacja/nazwa}}}}}]]. <small style="font-style: normal;">([{{fullurl:{{{1|{{Dokumentacja/nazwa}}}}}|action=edit}} edytuj] {{!}} [{{fullurl:{{{1|{{Dokumentacja/nazwa}}}}}|action=history}} historia])</small><br />
}}
|<!-- transcluded hide -->
}}{{
#switch: {{SUBPAGENAME}}
|brudnopis=<!-- sandbox -->
|test=<!-- testcases -->
|#default={{
#switch: {{SUBJECTSPACE}}/{{{sandbox-testcases|show}}}
| {{ns:template}}/show | {{ns:user}}/show | {{ns:module}}/show =<!-- show /sandbox /testcases -->{{
#ifexist: {{ #rel2abs: /brudnopis }}
| Edytorzy mogą eksperymentować w [[/brudnopis|brudnopisie]] <small style="font-style: normal;">([{{fullurl:{{ #rel2abs: /brudnopis }}|action=edit}} edytuj] {{!}} [{{fullurl:Specjalna:Porównywanie stron|page1={{FULLPAGENAMEE}}&page2={{FULLPAGENAMEE}}/brudnopis}} różnice])</small> {{
#ifexist: {{ #rel2abs: /test }}
|<!-- /sandbox AND /testcases --> i na stronach [[/test|testowych]] <small style="font-style: normal;">([{{fullurl:{{ #rel2abs: /test }}|action=edit}} edytuj])</small> tego
| tego<!-- /sandbox BUT no /testcases -->}} {{#switch: {{NAMESPACE}} | Moduł = modułu | szablonu}}.<br />
|<!-- no /sandbox -->{{
#ifexist: {{ #rel2abs: /test }}
| Edytorzy mogą eksperymentować na stronach [[/test|testowych]] <small style="font-style: normal;">([{{fullurl:{{ #rel2abs: /test }}|action=edit}} edytuj])</small> tego {{#switch: {{NAMESPACE}} | Moduł = modułu | szablonu}}.<br />
}}
}}
|<!-- hide /sandbox /testcases -->
}}
}}
{{#switch: {{NAMESPACE}} | Szablon = {{#ifexist: {{FULLPAGENAME}}/opis|Kategorie należy dodawać do podstrony [[{{FULLPAGENAME}}/opis|/opis]]. }}Zobacz [[Specjalna:Strony według prefiksu/{{#ifexist: {{#rel2abs: ../.}}|{{#rel2abs: ../.}}|{{FULLPAGENAME}}}}/|podstrony tego szablonu]]. | Moduł = Zobacz [[Specjalna:Strony według prefiksu/{{#ifexist: {{#rel2abs: ../.}}|{{#rel2abs: ../.}}|{{FULLPAGENAME}}}}/|podstrony tego modułu]].}}</div>
</td></tr></table>}}}}
c8ocv6lq8f73aim5cgh1nspm1okk3dx
Szablon:Dokumentacja/opis/zobacz też
10
19886
437945
319154
2022-08-17T04:49:13Z
Persino
2851
/* Rodzina {{Dokumentacji}} */
wikitext
text/x-wiki
=== Rodzina {{((}}Dokumentacji{{))}} ===
*{{lt|Dokumentacja}}{{
#switch: {{FULLPAGENAME}}
| Szablon:Dokumentacja
| Szablon:Dokumentacja/opis/zobacz też =
:{{lt|Dokumentacja/opis}}
: {{lt|Dokumentacja/opis/zobacz też}}
: {{lt|Dokumentacja/nazwa}}
: {{lt|Dokumentacja/preload}}
: {{lt|Dokumentacja/brudnopis}}
: {{lt|Dokumentacja/test}}
}}
*{{lt|Podstrona dokumentacji}}{{
#switch: {{FULLPAGENAME}}
|Szablon:Podstrona dokumentacji
|Szablon:Dokumentacja/opis/zobacz też=
: {{lt|Podstrona dokumentacji/opis}}
: {{lt|Podstrona dokumentacji/brudnopis}}
: {{lt|Podstrona dokumentacji/test}}
}}<noinclude>[[Kategoria:Opisy szablonów|!]]</noinclude>
8ge0z2y4lbs6ap3av61k8yxperdyeqb
Szablon:Tekst/opis
10
32816
437951
412957
2022-08-17T06:06:47Z
Persino
2851
/* Przykłady */
wikitext
text/x-wiki
{{Podstrona dokumentacji}}
{{Lua|Moduł:StronicowyParser}}
{{Szablony stronicowe}}
<!-- DODAWAJ KATEGORIE NA DOLE STRONY -->
== Instrukcja obsługi ==
Tego szablonu używamy, gdy on znajduje się w tekście lub pomiędzy wzorami, w jakimś szablonie wymienionym poniżej, pomiędzy szablonem stronicowym otwierającym i zamykającym z: {{s|StronaStart}} a {{s|StronaKoniec}}, {{s|UnikatowaStronaStart}} a {{s|UnikatowaStronaKoniec}}, {{s|SkomplikowanaStronaStart}} a {{s|SkomplikowanaStronaKoniec}}, {{s|StandardowaStronaStart}} a {{s|StandardowaStronaKoniec}}, {{s|PodstawowaStronaStart}} a {{s|PodstawowaStronaKoniec}}, {{s|ProstaStronaStart}} a {{s|ProstaStronaKoniec}}, opisane na stronie {{s|StronaStart}}.
W tekście może pojawić się tekst o innym formatowaniu niż domyślnie, ten szablon jest szczególnym formatowaniem dla niego, lub może pojawić się tekst pomiędzy wzorami (lub ewentualnie przed albo po) w wywołaniu w pierwszym argumencie szablonu {{s|Wzór}}, {{s|Wzór2}}, {{s|CentrujWzór}}, {{s|CentrujWzór2}}, {{s|MathMLWzór}}, {{s|MathMLWzór2}}, {{s|CentrujMathMLWzór}} lub {{s|CentrujMathMLWzór2}}, albo {{s|Formuła}} lub {{s|MathMLFormuła}}.
== Użycie ==
Będziemy tutaj wypisywali zmienne szablonu {{s|Tekst}}:
----
; Zmienne w wywołaniu podstawowym tego szablonu
* {{Code|1}} = tekst.
----
; Zmienne w wywołaniu pełnym tego szablonu
* {{Code|tekst}} lub {{Code|1}} = tekst.
; Podstawowe skompensowane opcje dotyczące czcionek
* {{Code|czcionka}} = (rozmiar, wysokość linii, rodzina, wariant, rozciągnięcie, waga i styl) czcionki (opcjonalny).
; Dalsze nieskompensowane opcje dotyczące czcionek
* {{Code|rozmiar czcionki}} = rozmiar czcionki tekstu (opcjonalny domyślnie ustawione przez przeglądarkę lub za pomocą stylów),
* {{Code|wysokość linii czcionki}} = wysokość linii wiersza czcionki tekstu (opcjonalny domyślnie ustawione przez przeglądarkę lub za pomocą stylów),
* {{Code|rodzina czcionki}} = rodzina czcionki tekstu (opcjonalny domyślnie ustawione przez przeglądarkę lub za pomocą stylów),
* {{Code|wariant czcionki}} = wariant czcionki tekstu (opcjonalny domyślnie ustawione przez przeglądarkę lub za pomocą stylów),
* {{Code|rozciągnięcie czcionki}} = rozciągnięcie czcionki tekstu (opcjonalny domyślnie ustawione przez przeglądarkę lub za pomocą stylów),
* {{Code|waga czcionki}} = waga czcionki tekstu (opcjonalny domyślnie ustawione przez przeglądarkę lub za pomocą stylów),
* {{Code|styl czcionki}} = styl czcionki tekstu (opcjonalny domyślnie ustawione przez przeglądarkę lub za pomocą stylów).
----
Powyższe zmienne o nazwie określonej liczbą naturalną można użyć również bez nazywania parametrów.
== Przykłady ==
;Przykład pierwszy
{{s|ProstaStronaStart}}
* <nowiki><span style="font-size:20px"></nowiki>Oto jest tekst, {{s|Tekst|a ten następny}}, a oto jeszcze inny...<nowiki></span></nowiki>
{{s|ProstaStronaKoniec}}
; Wynik - tutaj wynik wyświetlamy dla czcionki książkowej, a nie systemowej {{NAZWASERWISU|link=tak}}, pośrednio za pomocą szablonów kolejno otwierającego i zamykającego {{s|StronaStart}} i {{s|StronaKoniec}}
{{ProstaStronaStart}}
* <span style="font-size:20px">Oto jest tekst, {{Tekst|a ten następny}}, a oto jeszcze inny...</span>
{{ProstaStronaKoniec}}
----
; Przykład pierwszy, gdy użyjemy bez szablonu {{s|Tekst}}
; Przykład bez użycia tego szablonu
{{s|ProstaStronaStart}}
* <nowiki><span style="font-size:20px"></nowiki>Oto jest tekst, a ten następny, a oto jeszcze inny...<nowiki></span></nowiki>
{{s|ProstaStronaKoniec}}
; Wynik - tutaj wynik wyświetlamy dla czcionki książkowej, a nie systemowej {{NAZWASERWISU|link=tak}}, pośrednio za pomocą szablonów kolejno otwierającego i zamykającego {{s|StronaStart}} i {{s|StronaKoniec}}
{{ProstaStronaStart}}
* <span style="font-size:20px">Oto jest tekst, a ten następny, a oto jeszcze inny...</span>
{{ProstaStronaKoniec}}
----
----
; Przykład drugi
{{s|ProstaStronaStart}}
* Oto jest formuła: {{s|Formuła|<nowiki><MATH>c=\sqrt{a^2+b^2}\;</MATH></nowiki> {{s|Tekst|a to następne:}} <nowiki><MATH>c^2=a^2+b^2\;</MATH></nowiki>}}, a oto jeszcze inny...
{{s|ProstaStronaKoniec}}
; Wynik - tutaj wynik wyświetlamy dla czcionki książkowej, a nie systemowej {{NAZWASERWISU|link=tak}}, pośrednio za pomocą szablonów kolejno otwierającego i zamykającego {{s|StronaStart}} i {{s|StronaKoniec}}
{{ProstaStronaStart}}
* Oto jest formuła: {{Formuła|<MATH>c=\sqrt{a^2+b^2}\;</MATH>{{Tekst|, a to następne:}} <MATH>c^2=a^2+b^2\;</MATH>}}, a oto jeszcze inny...
{{ProstaStronaKoniec}}
----
; Przykład drugi napiszmy bez użycia szablonu {{s|Tekst}}
; Przykład bez użycia tego szablonu
{{s|ProstaStronaStart}}
* Oto jest formuła: {{s|Formuła|<nowiki><MATH>c=\sqrt{a^2+b^2}\;</MATH></nowiki> a to następne: <nowiki><MATH>c^2=a^2+b^2\;</MATH></nowiki>}}, a oto jeszcze inny...
{{s|ProstaStronaKoniec}}
; Wynik - tutaj wynik wyświetlamy dla czcionki książkowej, a nie systemowej {{NAZWASERWISU|link=tak}}, pośrednio za pomocą szablonów kolejno otwierającego i zamykającego {{s|StronaStart}} i {{s|StronaKoniec}}
{{ProstaStronaStart}}
* Oto jest formuła: {{Formuła|<MATH>c=\sqrt{a^2+b^2}\;</MATH>, a to następne: <MATH>c^2=a^2+b^2\;</MATH>}}, a oto jeszcze inny...
{{ProstaStronaKoniec}}
----
Patrząc na przykład pierwszy i drugi, od końca, z użyciem szablonu {{s|Tekst}} i bez niego, ale za to z użyciem szablonów: {{s|ProstaStronaStart}} i {{s|ProstaStronaKoniec}}, to dochodzimy do wniosku, że za pomocą tego szablonu można zachować ustawienia bezpośrednie szablonu {{s|StronaStart}} i {{s|StronaKoniec}} użyte specjalnie dla tekstu, a nie do wzorów, a więc na tym polega rola tego szablonu.
== Błędy ==
Błędy należy zgłaszać na stronie {{Kwestie techniczne}}.
== Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) ==
<templatedata>
{
"params": {
"tekst": {
"aliases": [
"1"
],
"description": "Tekst.",
"type": "string",
"required": true
},
"czcionka": {
"description": "(Rozmiar, wysokość linii, rodzina, wariant, rozciągnięcie, waga i styl) czcionki.",
"type": "string"
},
"wysokość linii czcionki": {
"description": "Wysokość linii wiersza czcionki tekstu.",
"type": "string"
},
"rodzina czcionki": {
"description": "Rodzina czcionki tekstu.",
"type": "string"
},
"wariant czcionki": {
"description": "Wariant czcionki tekstu.",
"type": "string"
},
"rozciągnięcie czcionki": {
"description": "Rozciągnięcie czcionki tekstu.",
"type": "string"
},
"waga czcionki": {
"description": "Waga czcionki tekstu.",
"type": "string"
},
"styl czcionki": {
"description": "Styl czcionki tekstu.",
"type": "string"
}
},
"paramOrder": [
"tekst",
"czcionka",
"wysokość linii czcionki",
"rodzina czcionki",
"wariant czcionki",
"rozciągnięcie czcionki",
"waga czcionki",
"styl czcionki"
],
"description": "Szablon wstawiający sformatowany tekst pomiędzy formułami <MATH>...</MATH>, we szablonach stronicowych obsługujący wzory matematyczne."
}
</templatedata>
== Zobacz też ==
; Wzory w tekście
* {{s|Formuła}} - szablon do wyświetlania wzorów w tekście za pomocą rysunku.
* {{s|MathMLFormuła}} - szablon do wyświetlania wzorów w tekście wykorzystująca technologię MATHML.
; Wzory w linii
* {{s|Wzór}} i {{s|Wzór2}} - szablony do wyświetlania wzoru, po lewej, po prawej lub po środku, wraz z ich numeracją kolejno po prawej i lewej, wzory tutaj są wyświetlane za pomocą rysunku,
* {{s|MathMLWzór}} i {{s|MathMLWzór2}} - szablony do wyświetlania wzoru, po lewej, po prawej lub po środku, wraz z ich numeracją kolejno po prawej i lewej, wzory tutaj są wyświetlane za pomocą technologii MATHML,
* {{s|CentrujWzór}} i {{s|CentrujWzór2}} - szablony do wyświetlania wzoru, po środku, wraz z ich numeracją kolejno po prawej i lewej, wzory tutaj są wyświetlane za pomocą rysunku,
* {{s|CentrujMathMLWzór}} i {{s|CentrujMathMLWzór2}} - szablony do wyświetlania wzoru, po środku, wraz z ich numeracją kolejno po prawej i lewej, wzory tutaj są wyświetlane za pomocą technologii MATHML.
{{BrClear}}
<includeonly><!--
++++ DODAWAJ KATEGORIE PONIŻEJ TEJ LINII -->
{{Kategoria|Szablony stronicowe}}
</includeonly>
r3u3bnedsxdm4v4m0vzhq505ok8ss49
437965
437951
2022-08-17T09:29:44Z
Persino
2851
/* Przykłady */
wikitext
text/x-wiki
{{Podstrona dokumentacji}}
{{Lua|Moduł:StronicowyParser}}
{{Szablony stronicowe}}
<!-- DODAWAJ KATEGORIE NA DOLE STRONY -->
== Instrukcja obsługi ==
Tego szablonu używamy, gdy on znajduje się w tekście lub pomiędzy wzorami, w jakimś szablonie wymienionym poniżej, pomiędzy szablonem stronicowym otwierającym i zamykającym z: {{s|StronaStart}} a {{s|StronaKoniec}}, {{s|UnikatowaStronaStart}} a {{s|UnikatowaStronaKoniec}}, {{s|SkomplikowanaStronaStart}} a {{s|SkomplikowanaStronaKoniec}}, {{s|StandardowaStronaStart}} a {{s|StandardowaStronaKoniec}}, {{s|PodstawowaStronaStart}} a {{s|PodstawowaStronaKoniec}}, {{s|ProstaStronaStart}} a {{s|ProstaStronaKoniec}}, opisane na stronie {{s|StronaStart}}.
W tekście może pojawić się tekst o innym formatowaniu niż domyślnie, ten szablon jest szczególnym formatowaniem dla niego, lub może pojawić się tekst pomiędzy wzorami (lub ewentualnie przed albo po) w wywołaniu w pierwszym argumencie szablonu {{s|Wzór}}, {{s|Wzór2}}, {{s|CentrujWzór}}, {{s|CentrujWzór2}}, {{s|MathMLWzór}}, {{s|MathMLWzór2}}, {{s|CentrujMathMLWzór}} lub {{s|CentrujMathMLWzór2}}, albo {{s|Formuła}} lub {{s|MathMLFormuła}}.
== Użycie ==
Będziemy tutaj wypisywali zmienne szablonu {{s|Tekst}}:
----
; Zmienne w wywołaniu podstawowym tego szablonu
* {{Code|1}} = tekst.
----
; Zmienne w wywołaniu pełnym tego szablonu
* {{Code|tekst}} lub {{Code|1}} = tekst.
; Podstawowe skompensowane opcje dotyczące czcionek
* {{Code|czcionka}} = (rozmiar, wysokość linii, rodzina, wariant, rozciągnięcie, waga i styl) czcionki (opcjonalny).
; Dalsze nieskompensowane opcje dotyczące czcionek
* {{Code|rozmiar czcionki}} = rozmiar czcionki tekstu (opcjonalny domyślnie ustawione przez przeglądarkę lub za pomocą stylów),
* {{Code|wysokość linii czcionki}} = wysokość linii wiersza czcionki tekstu (opcjonalny domyślnie ustawione przez przeglądarkę lub za pomocą stylów),
* {{Code|rodzina czcionki}} = rodzina czcionki tekstu (opcjonalny domyślnie ustawione przez przeglądarkę lub za pomocą stylów),
* {{Code|wariant czcionki}} = wariant czcionki tekstu (opcjonalny domyślnie ustawione przez przeglądarkę lub za pomocą stylów),
* {{Code|rozciągnięcie czcionki}} = rozciągnięcie czcionki tekstu (opcjonalny domyślnie ustawione przez przeglądarkę lub za pomocą stylów),
* {{Code|waga czcionki}} = waga czcionki tekstu (opcjonalny domyślnie ustawione przez przeglądarkę lub za pomocą stylów),
* {{Code|styl czcionki}} = styl czcionki tekstu (opcjonalny domyślnie ustawione przez przeglądarkę lub za pomocą stylów).
----
Powyższe zmienne o nazwie określonej liczbą naturalną można użyć również bez nazywania parametrów.
== Przykłady ==
{{ElastycznyWiersz|1=
;Przykład pierwszy
{{s|ProstaStronaStart}}
* <nowiki><span style="font-size:20px"></nowiki>Oto jest tekst, {{s|Tekst|a ten następny}}, a oto jeszcze inny...<nowiki></span></nowiki>
{{s|ProstaStronaKoniec}}
; Wynik - tutaj wynik wyświetlamy dla czcionki książkowej, a nie systemowej {{NAZWASERWISU|link=tak}}, pośrednio za pomocą szablonów kolejno otwierającego i zamykającego {{s|StronaStart}} i {{s|StronaKoniec}}
{{ProstaStronaStart}}
* <span style="font-size:20px">Oto jest tekst, {{Tekst|a ten następny}}, a oto jeszcze inny...</span>
{{ProstaStronaKoniec}}
}}
----
{{ElastycznyWiersz|1=
; Przykład pierwszy, gdy użyjemy bez szablonu {{s|Tekst}}
; Przykład bez użycia tego szablonu
{{s|ProstaStronaStart}}
* <nowiki><span style="font-size:20px"></nowiki>Oto jest tekst, a ten następny, a oto jeszcze inny...<nowiki></span></nowiki>
{{s|ProstaStronaKoniec}}
; Wynik - tutaj wynik wyświetlamy dla czcionki książkowej, a nie systemowej {{NAZWASERWISU|link=tak}}, pośrednio za pomocą szablonów kolejno otwierającego i zamykającego {{s|StronaStart}} i {{s|StronaKoniec}}
{{ProstaStronaStart}}
* <span style="font-size:20px">Oto jest tekst, a ten następny, a oto jeszcze inny...</span>
{{ProstaStronaKoniec}}
}}
----
----
{{ElastycznyWiersz|1=
; Przykład drugi
{{s|ProstaStronaStart}}
* Oto jest formuła: {{s|Formuła|<nowiki><MATH>c=\sqrt{a^2+b^2}\;</MATH></nowiki> {{s|Tekst|a to następne:}} <nowiki><MATH>c^2=a^2+b^2\;</MATH></nowiki>}}, a oto jeszcze inny...
{{s|ProstaStronaKoniec}}
; Wynik - tutaj wynik wyświetlamy dla czcionki książkowej, a nie systemowej {{NAZWASERWISU|link=tak}}, pośrednio za pomocą szablonów kolejno otwierającego i zamykającego {{s|StronaStart}} i {{s|StronaKoniec}}
{{ProstaStronaStart}}
* Oto jest formuła: {{Formuła|<MATH>c=\sqrt{a^2+b^2}\;</MATH>{{Tekst|, a to następne:}} <MATH>c^2=a^2+b^2\;</MATH>}}, a oto jeszcze inny...
{{ProstaStronaKoniec}}
}}
----
{{ElastycznyWiersz|1=
; Przykład drugi napiszmy bez użycia szablonu {{s|Tekst}}
; Przykład bez użycia tego szablonu
{{s|ProstaStronaStart}}
* Oto jest formuła: {{s|Formuła|<nowiki><MATH>c=\sqrt{a^2+b^2}\;</MATH></nowiki> a to następne: <nowiki><MATH>c^2=a^2+b^2\;</MATH></nowiki>}}, a oto jeszcze inny...
{{s|ProstaStronaKoniec}}
; Wynik - tutaj wynik wyświetlamy dla czcionki książkowej, a nie systemowej {{NAZWASERWISU|link=tak}}, pośrednio za pomocą szablonów kolejno otwierającego i zamykającego {{s|StronaStart}} i {{s|StronaKoniec}}
{{ProstaStronaStart}}
* Oto jest formuła: {{Formuła|<MATH>c=\sqrt{a^2+b^2}\;</MATH>, a to następne: <MATH>c^2=a^2+b^2\;</MATH>}}, a oto jeszcze inny...
{{ProstaStronaKoniec}}
}}
----
Patrząc na przykład pierwszy i drugi, od końca, z użyciem szablonu {{s|Tekst}} i bez niego, ale za to z użyciem szablonów: {{s|ProstaStronaStart}} i {{s|ProstaStronaKoniec}}, to dochodzimy do wniosku, że za pomocą tego szablonu można zachować ustawienia bezpośrednie szablonu {{s|StronaStart}} i {{s|StronaKoniec}} użyte specjalnie dla tekstu, a nie do wzorów, a więc na tym polega rola tego szablonu.
== Błędy ==
Błędy należy zgłaszać na stronie {{Kwestie techniczne}}.
== Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) ==
<templatedata>
{
"params": {
"tekst": {
"aliases": [
"1"
],
"description": "Tekst.",
"type": "string",
"required": true
},
"czcionka": {
"description": "(Rozmiar, wysokość linii, rodzina, wariant, rozciągnięcie, waga i styl) czcionki.",
"type": "string"
},
"wysokość linii czcionki": {
"description": "Wysokość linii wiersza czcionki tekstu.",
"type": "string"
},
"rodzina czcionki": {
"description": "Rodzina czcionki tekstu.",
"type": "string"
},
"wariant czcionki": {
"description": "Wariant czcionki tekstu.",
"type": "string"
},
"rozciągnięcie czcionki": {
"description": "Rozciągnięcie czcionki tekstu.",
"type": "string"
},
"waga czcionki": {
"description": "Waga czcionki tekstu.",
"type": "string"
},
"styl czcionki": {
"description": "Styl czcionki tekstu.",
"type": "string"
}
},
"paramOrder": [
"tekst",
"czcionka",
"wysokość linii czcionki",
"rodzina czcionki",
"wariant czcionki",
"rozciągnięcie czcionki",
"waga czcionki",
"styl czcionki"
],
"description": "Szablon wstawiający sformatowany tekst pomiędzy formułami <MATH>...</MATH>, we szablonach stronicowych obsługujący wzory matematyczne."
}
</templatedata>
== Zobacz też ==
; Wzory w tekście
* {{s|Formuła}} - szablon do wyświetlania wzorów w tekście za pomocą rysunku.
* {{s|MathMLFormuła}} - szablon do wyświetlania wzorów w tekście wykorzystująca technologię MATHML.
; Wzory w linii
* {{s|Wzór}} i {{s|Wzór2}} - szablony do wyświetlania wzoru, po lewej, po prawej lub po środku, wraz z ich numeracją kolejno po prawej i lewej, wzory tutaj są wyświetlane za pomocą rysunku,
* {{s|MathMLWzór}} i {{s|MathMLWzór2}} - szablony do wyświetlania wzoru, po lewej, po prawej lub po środku, wraz z ich numeracją kolejno po prawej i lewej, wzory tutaj są wyświetlane za pomocą technologii MATHML,
* {{s|CentrujWzór}} i {{s|CentrujWzór2}} - szablony do wyświetlania wzoru, po środku, wraz z ich numeracją kolejno po prawej i lewej, wzory tutaj są wyświetlane za pomocą rysunku,
* {{s|CentrujMathMLWzór}} i {{s|CentrujMathMLWzór2}} - szablony do wyświetlania wzoru, po środku, wraz z ich numeracją kolejno po prawej i lewej, wzory tutaj są wyświetlane za pomocą technologii MATHML.
{{BrClear}}
<includeonly><!--
++++ DODAWAJ KATEGORIE PONIŻEJ TEJ LINII -->
{{Kategoria|Szablony stronicowe}}
</includeonly>
02m42i4juxamlqjcoo2c6wh4urmrj9b
437966
437965
2022-08-17T09:31:50Z
Persino
2851
/* Przykłady */
wikitext
text/x-wiki
{{Podstrona dokumentacji}}
{{Lua|Moduł:StronicowyParser}}
{{Szablony stronicowe}}
<!-- DODAWAJ KATEGORIE NA DOLE STRONY -->
== Instrukcja obsługi ==
Tego szablonu używamy, gdy on znajduje się w tekście lub pomiędzy wzorami, w jakimś szablonie wymienionym poniżej, pomiędzy szablonem stronicowym otwierającym i zamykającym z: {{s|StronaStart}} a {{s|StronaKoniec}}, {{s|UnikatowaStronaStart}} a {{s|UnikatowaStronaKoniec}}, {{s|SkomplikowanaStronaStart}} a {{s|SkomplikowanaStronaKoniec}}, {{s|StandardowaStronaStart}} a {{s|StandardowaStronaKoniec}}, {{s|PodstawowaStronaStart}} a {{s|PodstawowaStronaKoniec}}, {{s|ProstaStronaStart}} a {{s|ProstaStronaKoniec}}, opisane na stronie {{s|StronaStart}}.
W tekście może pojawić się tekst o innym formatowaniu niż domyślnie, ten szablon jest szczególnym formatowaniem dla niego, lub może pojawić się tekst pomiędzy wzorami (lub ewentualnie przed albo po) w wywołaniu w pierwszym argumencie szablonu {{s|Wzór}}, {{s|Wzór2}}, {{s|CentrujWzór}}, {{s|CentrujWzór2}}, {{s|MathMLWzór}}, {{s|MathMLWzór2}}, {{s|CentrujMathMLWzór}} lub {{s|CentrujMathMLWzór2}}, albo {{s|Formuła}} lub {{s|MathMLFormuła}}.
== Użycie ==
Będziemy tutaj wypisywali zmienne szablonu {{s|Tekst}}:
----
; Zmienne w wywołaniu podstawowym tego szablonu
* {{Code|1}} = tekst.
----
; Zmienne w wywołaniu pełnym tego szablonu
* {{Code|tekst}} lub {{Code|1}} = tekst.
; Podstawowe skompensowane opcje dotyczące czcionek
* {{Code|czcionka}} = (rozmiar, wysokość linii, rodzina, wariant, rozciągnięcie, waga i styl) czcionki (opcjonalny).
; Dalsze nieskompensowane opcje dotyczące czcionek
* {{Code|rozmiar czcionki}} = rozmiar czcionki tekstu (opcjonalny domyślnie ustawione przez przeglądarkę lub za pomocą stylów),
* {{Code|wysokość linii czcionki}} = wysokość linii wiersza czcionki tekstu (opcjonalny domyślnie ustawione przez przeglądarkę lub za pomocą stylów),
* {{Code|rodzina czcionki}} = rodzina czcionki tekstu (opcjonalny domyślnie ustawione przez przeglądarkę lub za pomocą stylów),
* {{Code|wariant czcionki}} = wariant czcionki tekstu (opcjonalny domyślnie ustawione przez przeglądarkę lub za pomocą stylów),
* {{Code|rozciągnięcie czcionki}} = rozciągnięcie czcionki tekstu (opcjonalny domyślnie ustawione przez przeglądarkę lub za pomocą stylów),
* {{Code|waga czcionki}} = waga czcionki tekstu (opcjonalny domyślnie ustawione przez przeglądarkę lub za pomocą stylów),
* {{Code|styl czcionki}} = styl czcionki tekstu (opcjonalny domyślnie ustawione przez przeglądarkę lub za pomocą stylów).
----
Powyższe zmienne o nazwie określonej liczbą naturalną można użyć również bez nazywania parametrów.
== Przykłady ==
{{ElastycznyWiersz|1=
;Przykład pierwszy
{{s|ProstaStronaStart}}
* <nowiki><span style="font-size:20px"></nowiki>Oto jest tekst, {{s|Tekst|a ten następny}}, a oto jeszcze inny...<nowiki></span></nowiki>
{{s|ProstaStronaKoniec}}
; Wynik - tutaj wynik wyświetlamy dla czcionki książkowej, a nie systemowej {{NAZWASERWISU|link=tak}}, pośrednio za pomocą szablonów kolejno otwierającego i zamykającego {{s|StronaStart}} i {{s|StronaKoniec}}
{{ProstaStronaStart}}
* <span style="font-size:20px">Oto jest tekst, {{Tekst|a ten następny}}, a oto jeszcze inny...</span>
{{ProstaStronaKoniec}}
}}
{{ElastycznyWiersz|1=
{{Hr}}
; Przykład pierwszy, gdy użyjemy bez szablonu {{s|Tekst}}
; Przykład bez użycia tego szablonu
{{s|ProstaStronaStart}}
* <nowiki><span style="font-size:20px"></nowiki>Oto jest tekst, a ten następny, a oto jeszcze inny...<nowiki></span></nowiki>
{{s|ProstaStronaKoniec}}
; Wynik - tutaj wynik wyświetlamy dla czcionki książkowej, a nie systemowej {{NAZWASERWISU|link=tak}}, pośrednio za pomocą szablonów kolejno otwierającego i zamykającego {{s|StronaStart}} i {{s|StronaKoniec}}
{{ProstaStronaStart}}
* <span style="font-size:20px">Oto jest tekst, a ten następny, a oto jeszcze inny...</span>
{{ProstaStronaKoniec}}
}}
{{ElastycznyWiersz|1={{Hr}}{{Hr}}
; Przykład drugi
{{s|ProstaStronaStart}}
* Oto jest formuła: {{s|Formuła|<nowiki><MATH>c=\sqrt{a^2+b^2}\;</MATH></nowiki> {{s|Tekst|a to następne:}} <nowiki><MATH>c^2=a^2+b^2\;</MATH></nowiki>}}, a oto jeszcze inny...
{{s|ProstaStronaKoniec}}
; Wynik - tutaj wynik wyświetlamy dla czcionki książkowej, a nie systemowej {{NAZWASERWISU|link=tak}}, pośrednio za pomocą szablonów kolejno otwierającego i zamykającego {{s|StronaStart}} i {{s|StronaKoniec}}
{{ProstaStronaStart}}
* Oto jest formuła: {{Formuła|<MATH>c=\sqrt{a^2+b^2}\;</MATH>{{Tekst|, a to następne:}} <MATH>c^2=a^2+b^2\;</MATH>}}, a oto jeszcze inny...
{{ProstaStronaKoniec}}
}}
{{ElastycznyWiersz|1={{Hr}}
; Przykład drugi napiszmy bez użycia szablonu {{s|Tekst}}
; Przykład bez użycia tego szablonu
{{s|ProstaStronaStart}}
* Oto jest formuła: {{s|Formuła|<nowiki><MATH>c=\sqrt{a^2+b^2}\;</MATH></nowiki> a to następne: <nowiki><MATH>c^2=a^2+b^2\;</MATH></nowiki>}}, a oto jeszcze inny...
{{s|ProstaStronaKoniec}}
; Wynik - tutaj wynik wyświetlamy dla czcionki książkowej, a nie systemowej {{NAZWASERWISU|link=tak}}, pośrednio za pomocą szablonów kolejno otwierającego i zamykającego {{s|StronaStart}} i {{s|StronaKoniec}}
{{ProstaStronaStart}}
* Oto jest formuła: {{Formuła|<MATH>c=\sqrt{a^2+b^2}\;</MATH>, a to następne: <MATH>c^2=a^2+b^2\;</MATH>}}, a oto jeszcze inny...
{{ProstaStronaKoniec}}
}}
----
Patrząc na przykład pierwszy i drugi, od końca, z użyciem szablonu {{s|Tekst}} i bez niego, ale za to z użyciem szablonów: {{s|ProstaStronaStart}} i {{s|ProstaStronaKoniec}}, to dochodzimy do wniosku, że za pomocą tego szablonu można zachować ustawienia bezpośrednie szablonu {{s|StronaStart}} i {{s|StronaKoniec}} użyte specjalnie dla tekstu, a nie do wzorów, a więc na tym polega rola tego szablonu.
== Błędy ==
Błędy należy zgłaszać na stronie {{Kwestie techniczne}}.
== Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) ==
<templatedata>
{
"params": {
"tekst": {
"aliases": [
"1"
],
"description": "Tekst.",
"type": "string",
"required": true
},
"czcionka": {
"description": "(Rozmiar, wysokość linii, rodzina, wariant, rozciągnięcie, waga i styl) czcionki.",
"type": "string"
},
"wysokość linii czcionki": {
"description": "Wysokość linii wiersza czcionki tekstu.",
"type": "string"
},
"rodzina czcionki": {
"description": "Rodzina czcionki tekstu.",
"type": "string"
},
"wariant czcionki": {
"description": "Wariant czcionki tekstu.",
"type": "string"
},
"rozciągnięcie czcionki": {
"description": "Rozciągnięcie czcionki tekstu.",
"type": "string"
},
"waga czcionki": {
"description": "Waga czcionki tekstu.",
"type": "string"
},
"styl czcionki": {
"description": "Styl czcionki tekstu.",
"type": "string"
}
},
"paramOrder": [
"tekst",
"czcionka",
"wysokość linii czcionki",
"rodzina czcionki",
"wariant czcionki",
"rozciągnięcie czcionki",
"waga czcionki",
"styl czcionki"
],
"description": "Szablon wstawiający sformatowany tekst pomiędzy formułami <MATH>...</MATH>, we szablonach stronicowych obsługujący wzory matematyczne."
}
</templatedata>
== Zobacz też ==
; Wzory w tekście
* {{s|Formuła}} - szablon do wyświetlania wzorów w tekście za pomocą rysunku.
* {{s|MathMLFormuła}} - szablon do wyświetlania wzorów w tekście wykorzystująca technologię MATHML.
; Wzory w linii
* {{s|Wzór}} i {{s|Wzór2}} - szablony do wyświetlania wzoru, po lewej, po prawej lub po środku, wraz z ich numeracją kolejno po prawej i lewej, wzory tutaj są wyświetlane za pomocą rysunku,
* {{s|MathMLWzór}} i {{s|MathMLWzór2}} - szablony do wyświetlania wzoru, po lewej, po prawej lub po środku, wraz z ich numeracją kolejno po prawej i lewej, wzory tutaj są wyświetlane za pomocą technologii MATHML,
* {{s|CentrujWzór}} i {{s|CentrujWzór2}} - szablony do wyświetlania wzoru, po środku, wraz z ich numeracją kolejno po prawej i lewej, wzory tutaj są wyświetlane za pomocą rysunku,
* {{s|CentrujMathMLWzór}} i {{s|CentrujMathMLWzór2}} - szablony do wyświetlania wzoru, po środku, wraz z ich numeracją kolejno po prawej i lewej, wzory tutaj są wyświetlane za pomocą technologii MATHML.
{{BrClear}}
<includeonly><!--
++++ DODAWAJ KATEGORIE PONIŻEJ TEJ LINII -->
{{Kategoria|Szablony stronicowe}}
</includeonly>
k3olij1a6qaz7u8bkm76pbahb9xgv5o
437967
437966
2022-08-17T09:35:05Z
Persino
2851
wikitext
text/x-wiki
{{Podstrona dokumentacji}}
{{Lua|Moduł:StronicowyParser}}
{{Szablony stronicowe}}
<!-- DODAWAJ KATEGORIE NA DOLE STRONY -->
== Instrukcja obsługi ==
Tego szablonu używamy, gdy on znajduje się w tekście lub pomiędzy wzorami, w jakimś szablonie wymienionym poniżej, pomiędzy szablonem stronicowym otwierającym i zamykającym z: {{s|StronaStart}} a {{s|StronaKoniec}}, {{s|UnikatowaStronaStart}} a {{s|UnikatowaStronaKoniec}}, {{s|SkomplikowanaStronaStart}} a {{s|SkomplikowanaStronaKoniec}}, {{s|StandardowaStronaStart}} a {{s|StandardowaStronaKoniec}}, {{s|PodstawowaStronaStart}} a {{s|PodstawowaStronaKoniec}}, {{s|ProstaStronaStart}} a {{s|ProstaStronaKoniec}}, opisane na stronie {{s|StronaStart}}.
W tekście może pojawić się tekst o innym formatowaniu niż domyślnie, ten szablon jest szczególnym formatowaniem dla niego, lub może pojawić się tekst pomiędzy wzorami (lub ewentualnie przed albo po) w wywołaniu w pierwszym argumencie szablonu {{s|Wzór}}, {{s|Wzór2}}, {{s|CentrujWzór}}, {{s|CentrujWzór2}}, {{s|MathMLWzór}}, {{s|MathMLWzór2}}, {{s|CentrujMathMLWzór}} lub {{s|CentrujMathMLWzór2}}, albo {{s|Formuła}} lub {{s|MathMLFormuła}}.
== Użycie ==
Będziemy tutaj wypisywali zmienne szablonu {{s|Tekst}}:
----
; Zmienne w wywołaniu podstawowym tego szablonu
* {{Code|1}} = tekst.
----
; Zmienne w wywołaniu pełnym tego szablonu
* {{Code|tekst}} lub {{Code|1}} = tekst.
; Podstawowe skompensowane opcje dotyczące czcionek
* {{Code|czcionka}} = (rozmiar, wysokość linii, rodzina, wariant, rozciągnięcie, waga i styl) czcionki (opcjonalny).
; Dalsze nieskompensowane opcje dotyczące czcionek
* {{Code|rozmiar czcionki}} = rozmiar czcionki tekstu (opcjonalny domyślnie ustawione przez przeglądarkę lub za pomocą stylów),
* {{Code|wysokość linii czcionki}} = wysokość linii wiersza czcionki tekstu (opcjonalny domyślnie ustawione przez przeglądarkę lub za pomocą stylów),
* {{Code|rodzina czcionki}} = rodzina czcionki tekstu (opcjonalny domyślnie ustawione przez przeglądarkę lub za pomocą stylów),
* {{Code|wariant czcionki}} = wariant czcionki tekstu (opcjonalny domyślnie ustawione przez przeglądarkę lub za pomocą stylów),
* {{Code|rozciągnięcie czcionki}} = rozciągnięcie czcionki tekstu (opcjonalny domyślnie ustawione przez przeglądarkę lub za pomocą stylów),
* {{Code|waga czcionki}} = waga czcionki tekstu (opcjonalny domyślnie ustawione przez przeglądarkę lub za pomocą stylów),
* {{Code|styl czcionki}} = styl czcionki tekstu (opcjonalny domyślnie ustawione przez przeglądarkę lub za pomocą stylów).
----
Powyższe zmienne o nazwie określonej liczbą naturalną można użyć również bez nazywania parametrów.
== Przykłady ==
;Przykład pierwszy
{{s|ProstaStronaStart}}
* <nowiki><span style="font-size:20px"></nowiki>Oto jest tekst, {{s|Tekst|a ten następny}}, a oto jeszcze inny...<nowiki></span></nowiki>
{{s|ProstaStronaKoniec}}
; Wynik - tutaj wynik wyświetlamy dla czcionki książkowej, a nie systemowej {{NAZWASERWISU|link=tak}}, pośrednio za pomocą szablonów kolejno otwierającego i zamykającego {{s|StronaStart}} i {{s|StronaKoniec}}
{{ProstaStronaStart}}
* <span style="font-size:20px">Oto jest tekst, {{Tekst|a ten następny}}, a oto jeszcze inny...</span>
{{ProstaStronaKoniec}}
----
; Przykład pierwszy, gdy użyjemy bez szablonu {{s|Tekst}}
; Przykład bez użycia tego szablonu
{{s|ProstaStronaStart}}
* <nowiki><span style="font-size:20px"></nowiki>Oto jest tekst, a ten następny, a oto jeszcze inny...<nowiki></span></nowiki>
{{s|ProstaStronaKoniec}}
; Wynik - tutaj wynik wyświetlamy dla czcionki książkowej, a nie systemowej {{NAZWASERWISU|link=tak}}, pośrednio za pomocą szablonów kolejno otwierającego i zamykającego {{s|StronaStart}} i {{s|StronaKoniec}}
{{ProstaStronaStart}}
* <span style="font-size:20px">Oto jest tekst, a ten następny, a oto jeszcze inny...</span>
{{ProstaStronaKoniec}}
----
----
; Przykład drugi
{{s|ProstaStronaStart}}
* Oto jest formuła: {{s|Formuła|<nowiki><MATH>c=\sqrt{a^2+b^2}\;</MATH></nowiki> {{s|Tekst|a to następne:}} <nowiki><MATH>c^2=a^2+b^2\;</MATH></nowiki>}}, a oto jeszcze inny...
{{s|ProstaStronaKoniec}}
; Wynik - tutaj wynik wyświetlamy dla czcionki książkowej, a nie systemowej {{NAZWASERWISU|link=tak}}, pośrednio za pomocą szablonów kolejno otwierającego i zamykającego {{s|StronaStart}} i {{s|StronaKoniec}}
{{ProstaStronaStart}}
* Oto jest formuła: {{Formuła|<MATH>c=\sqrt{a^2+b^2}\;</MATH>{{Tekst|, a to następne:}} <MATH>c^2=a^2+b^2\;</MATH>}}, a oto jeszcze inny...
{{ProstaStronaKoniec}}
----
; Przykład drugi napiszmy bez użycia szablonu {{s|Tekst}}
; Przykład bez użycia tego szablonu
{{s|ProstaStronaStart}}
* Oto jest formuła: {{s|Formuła|<nowiki><MATH>c=\sqrt{a^2+b^2}\;</MATH></nowiki> a to następne: <nowiki><MATH>c^2=a^2+b^2\;</MATH></nowiki>}}, a oto jeszcze inny...
{{s|ProstaStronaKoniec}}
; Wynik - tutaj wynik wyświetlamy dla czcionki książkowej, a nie systemowej {{NAZWASERWISU|link=tak}}, pośrednio za pomocą szablonów kolejno otwierającego i zamykającego {{s|StronaStart}} i {{s|StronaKoniec}}
{{ProstaStronaStart}}
* Oto jest formuła: {{Formuła|<MATH>c=\sqrt{a^2+b^2}\;</MATH>, a to następne: <MATH>c^2=a^2+b^2\;</MATH>}}, a oto jeszcze inny...
{{ProstaStronaKoniec}}
----
Patrząc na przykład pierwszy i drugi, od końca, z użyciem szablonu {{s|Tekst}} i bez niego, ale za to z użyciem szablonów: {{s|ProstaStronaStart}} i {{s|ProstaStronaKoniec}}, to dochodzimy do wniosku, że za pomocą tego szablonu można zachować ustawienia bezpośrednie szablonu {{s|StronaStart}} i {{s|StronaKoniec}} użyte specjalnie dla tekstu, a nie do wzorów, a więc na tym polega rola tego szablonu.
== Błędy ==
Błędy należy zgłaszać na stronie {{Kwestie techniczne}}.
== Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) ==
<templatedata>
{
"params": {
"tekst": {
"aliases": [
"1"
],
"description": "Tekst.",
"type": "string",
"required": true
},
"czcionka": {
"description": "(Rozmiar, wysokość linii, rodzina, wariant, rozciągnięcie, waga i styl) czcionki.",
"type": "string"
},
"wysokość linii czcionki": {
"description": "Wysokość linii wiersza czcionki tekstu.",
"type": "string"
},
"rodzina czcionki": {
"description": "Rodzina czcionki tekstu.",
"type": "string"
},
"wariant czcionki": {
"description": "Wariant czcionki tekstu.",
"type": "string"
},
"rozciągnięcie czcionki": {
"description": "Rozciągnięcie czcionki tekstu.",
"type": "string"
},
"waga czcionki": {
"description": "Waga czcionki tekstu.",
"type": "string"
},
"styl czcionki": {
"description": "Styl czcionki tekstu.",
"type": "string"
}
},
"paramOrder": [
"tekst",
"czcionka",
"wysokość linii czcionki",
"rodzina czcionki",
"wariant czcionki",
"rozciągnięcie czcionki",
"waga czcionki",
"styl czcionki"
],
"description": "Szablon wstawiający sformatowany tekst pomiędzy formułami <MATH>...</MATH>, we szablonach stronicowych obsługujący wzory matematyczne."
}
</templatedata>
== Zobacz też ==
; Wzory w tekście
* {{s|Formuła}} - szablon do wyświetlania wzorów w tekście za pomocą rysunku.
* {{s|MathMLFormuła}} - szablon do wyświetlania wzorów w tekście wykorzystująca technologię MATHML.
; Wzory w linii
* {{s|Wzór}} i {{s|Wzór2}} - szablony do wyświetlania wzoru, po lewej, po prawej lub po środku, wraz z ich numeracją kolejno po prawej i lewej, wzory tutaj są wyświetlane za pomocą rysunku,
* {{s|MathMLWzór}} i {{s|MathMLWzór2}} - szablony do wyświetlania wzoru, po lewej, po prawej lub po środku, wraz z ich numeracją kolejno po prawej i lewej, wzory tutaj są wyświetlane za pomocą technologii MATHML,
* {{s|CentrujWzór}} i {{s|CentrujWzór2}} - szablony do wyświetlania wzoru, po środku, wraz z ich numeracją kolejno po prawej i lewej, wzory tutaj są wyświetlane za pomocą rysunku,
* {{s|CentrujMathMLWzór}} i {{s|CentrujMathMLWzór2}} - szablony do wyświetlania wzoru, po środku, wraz z ich numeracją kolejno po prawej i lewej, wzory tutaj są wyświetlane za pomocą technologii MATHML.
{{BrClear}}
<includeonly><!--
++++ DODAWAJ KATEGORIE PONIŻEJ TEJ LINII -->
{{Kategoria|Szablony stronicowe}}
</includeonly>
r3u3bnedsxdm4v4m0vzhq505ok8ss49
437968
437967
2022-08-17T09:40:01Z
Persino
2851
wikitext
text/x-wiki
{{Podstrona dokumentacji}}
{{Lua|Moduł:StronicowyParser}}
{{Szablony stronicowe}}
<!-- DODAWAJ KATEGORIE NA DOLE STRONY -->
== Instrukcja obsługi ==
Tego szablonu używamy, gdy on znajduje się w tekście lub pomiędzy wzorami, w jakimś szablonie wymienionym poniżej, pomiędzy szablonem stronicowym otwierającym i zamykającym z: {{s|StronaStart}} a {{s|StronaKoniec}}, {{s|UnikatowaStronaStart}} a {{s|UnikatowaStronaKoniec}}, {{s|SkomplikowanaStronaStart}} a {{s|SkomplikowanaStronaKoniec}}, {{s|StandardowaStronaStart}} a {{s|StandardowaStronaKoniec}}, {{s|PodstawowaStronaStart}} a {{s|PodstawowaStronaKoniec}}, {{s|ProstaStronaStart}} a {{s|ProstaStronaKoniec}}, opisane na stronie {{s|StronaStart}}.
W tekście może pojawić się tekst o innym formatowaniu niż domyślnie, ten szablon jest szczególnym formatowaniem dla niego, lub może pojawić się tekst pomiędzy wzorami (lub ewentualnie przed albo po) w wywołaniu w pierwszym argumencie szablonu {{s|Wzór}}, {{s|Wzór2}}, {{s|CentrujWzór}}, {{s|CentrujWzór2}}, {{s|MathMLWzór}}, {{s|MathMLWzór2}}, {{s|CentrujMathMLWzór}} lub {{s|CentrujMathMLWzór2}}, albo {{s|Formuła}} lub {{s|MathMLFormuła}}.
== Użycie ==
Będziemy tutaj wypisywali zmienne szablonu {{s|Tekst}}:
----
; Zmienne w wywołaniu podstawowym tego szablonu
* {{Code|1}} = tekst.
----
; Zmienne w wywołaniu pełnym tego szablonu
* {{Code|tekst}} lub {{Code|1}} = tekst.
; Podstawowe skompensowane opcje dotyczące czcionek
* {{Code|czcionka}} = (rozmiar, wysokość linii, rodzina, wariant, rozciągnięcie, waga i styl) czcionki (opcjonalny).
; Dalsze nieskompensowane opcje dotyczące czcionek
* {{Code|rozmiar czcionki}} = rozmiar czcionki tekstu (opcjonalny domyślnie ustawione przez przeglądarkę lub za pomocą stylów),
* {{Code|wysokość linii czcionki}} = wysokość linii wiersza czcionki tekstu (opcjonalny domyślnie ustawione przez przeglądarkę lub za pomocą stylów),
* {{Code|rodzina czcionki}} = rodzina czcionki tekstu (opcjonalny domyślnie ustawione przez przeglądarkę lub za pomocą stylów),
* {{Code|wariant czcionki}} = wariant czcionki tekstu (opcjonalny domyślnie ustawione przez przeglądarkę lub za pomocą stylów),
* {{Code|rozciągnięcie czcionki}} = rozciągnięcie czcionki tekstu (opcjonalny domyślnie ustawione przez przeglądarkę lub za pomocą stylów),
* {{Code|waga czcionki}} = waga czcionki tekstu (opcjonalny domyślnie ustawione przez przeglądarkę lub za pomocą stylów),
* {{Code|styl czcionki}} = styl czcionki tekstu (opcjonalny domyślnie ustawione przez przeglądarkę lub za pomocą stylów).
----
Powyższe zmienne o nazwie określonej liczbą naturalną można użyć również bez nazywania parametrów.
== Przykłady ==
{{OverflowWiersz|1=
;Przykład pierwszy
{{s|ProstaStronaStart}}
* <nowiki><span style="font-size:20px"></nowiki>Oto jest tekst, {{s|Tekst|a ten następny}}, a oto jeszcze inny...<nowiki></span></nowiki>
{{s|ProstaStronaKoniec}}
; Wynik - tutaj wynik wyświetlamy dla czcionki książkowej, a nie systemowej {{NAZWASERWISU|link=tak}}, pośrednio za pomocą szablonów kolejno otwierającego i zamykającego {{s|StronaStart}} i {{s|StronaKoniec}}
{{ProstaStronaStart}}
* <span style="font-size:20px">Oto jest tekst, {{Tekst|a ten następny}}, a oto jeszcze inny...</span>
{{ProstaStronaKoniec}}
}}
----
{{OverflowWiersz|1=
; Przykład pierwszy, gdy użyjemy bez szablonu {{s|Tekst}}
; Przykład bez użycia tego szablonu
{{s|ProstaStronaStart}}
* <nowiki><span style="font-size:20px"></nowiki>Oto jest tekst, a ten następny, a oto jeszcze inny...<nowiki></span></nowiki>
{{s|ProstaStronaKoniec}}
; Wynik - tutaj wynik wyświetlamy dla czcionki książkowej, a nie systemowej {{NAZWASERWISU|link=tak}}, pośrednio za pomocą szablonów kolejno otwierającego i zamykającego {{s|StronaStart}} i {{s|StronaKoniec}}
{{ProstaStronaStart}}
* <span style="font-size:20px">Oto jest tekst, a ten następny, a oto jeszcze inny...</span>
{{ProstaStronaKoniec}}
}}
----
----
{{OverflowWiersz|1=
; Przykład drugi
{{s|ProstaStronaStart}}
* Oto jest formuła: {{s|Formuła|<nowiki><MATH>c=\sqrt{a^2+b^2}\;</MATH></nowiki> {{s|Tekst|a to następne:}} <nowiki><MATH>c^2=a^2+b^2\;</MATH></nowiki>}}, a oto jeszcze inny...
{{s|ProstaStronaKoniec}}
; Wynik - tutaj wynik wyświetlamy dla czcionki książkowej, a nie systemowej {{NAZWASERWISU|link=tak}}, pośrednio za pomocą szablonów kolejno otwierającego i zamykającego {{s|StronaStart}} i {{s|StronaKoniec}}
{{ProstaStronaStart}}
* Oto jest formuła: {{Formuła|<MATH>c=\sqrt{a^2+b^2}\;</MATH>{{Tekst|, a to następne:}} <MATH>c^2=a^2+b^2\;</MATH>}}, a oto jeszcze inny...
{{ProstaStronaKoniec}}
}}
----
{{OverflowWiersz|1=
; Przykład drugi napiszmy bez użycia szablonu {{s|Tekst}}
; Przykład bez użycia tego szablonu
{{s|ProstaStronaStart}}
* Oto jest formuła: {{s|Formuła|<nowiki><MATH>c=\sqrt{a^2+b^2}\;</MATH></nowiki> a to następne: <nowiki><MATH>c^2=a^2+b^2\;</MATH></nowiki>}}, a oto jeszcze inny...
{{s|ProstaStronaKoniec}}
; Wynik - tutaj wynik wyświetlamy dla czcionki książkowej, a nie systemowej {{NAZWASERWISU|link=tak}}, pośrednio za pomocą szablonów kolejno otwierającego i zamykającego {{s|StronaStart}} i {{s|StronaKoniec}}
{{ProstaStronaStart}}
* Oto jest formuła: {{Formuła|<MATH>c=\sqrt{a^2+b^2}\;</MATH>, a to następne: <MATH>c^2=a^2+b^2\;</MATH>}}, a oto jeszcze inny...
{{ProstaStronaKoniec}}
}}
----
Patrząc na przykład pierwszy i drugi, od końca, z użyciem szablonu {{s|Tekst}} i bez niego, ale za to z użyciem szablonów: {{s|ProstaStronaStart}} i {{s|ProstaStronaKoniec}}, to dochodzimy do wniosku, że za pomocą tego szablonu można zachować ustawienia bezpośrednie szablonu {{s|StronaStart}} i {{s|StronaKoniec}} użyte specjalnie dla tekstu, a nie do wzorów, a więc na tym polega rola tego szablonu.
== Błędy ==
Błędy należy zgłaszać na stronie {{Kwestie techniczne}}.
== Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) ==
<templatedata>
{
"params": {
"tekst": {
"aliases": [
"1"
],
"description": "Tekst.",
"type": "string",
"required": true
},
"czcionka": {
"description": "(Rozmiar, wysokość linii, rodzina, wariant, rozciągnięcie, waga i styl) czcionki.",
"type": "string"
},
"wysokość linii czcionki": {
"description": "Wysokość linii wiersza czcionki tekstu.",
"type": "string"
},
"rodzina czcionki": {
"description": "Rodzina czcionki tekstu.",
"type": "string"
},
"wariant czcionki": {
"description": "Wariant czcionki tekstu.",
"type": "string"
},
"rozciągnięcie czcionki": {
"description": "Rozciągnięcie czcionki tekstu.",
"type": "string"
},
"waga czcionki": {
"description": "Waga czcionki tekstu.",
"type": "string"
},
"styl czcionki": {
"description": "Styl czcionki tekstu.",
"type": "string"
}
},
"paramOrder": [
"tekst",
"czcionka",
"wysokość linii czcionki",
"rodzina czcionki",
"wariant czcionki",
"rozciągnięcie czcionki",
"waga czcionki",
"styl czcionki"
],
"description": "Szablon wstawiający sformatowany tekst pomiędzy formułami <MATH>...</MATH>, we szablonach stronicowych obsługujący wzory matematyczne."
}
</templatedata>
== Zobacz też ==
; Wzory w tekście
* {{s|Formuła}} - szablon do wyświetlania wzorów w tekście za pomocą rysunku.
* {{s|MathMLFormuła}} - szablon do wyświetlania wzorów w tekście wykorzystująca technologię MATHML.
; Wzory w linii
* {{s|Wzór}} i {{s|Wzór2}} - szablony do wyświetlania wzoru, po lewej, po prawej lub po środku, wraz z ich numeracją kolejno po prawej i lewej, wzory tutaj są wyświetlane za pomocą rysunku,
* {{s|MathMLWzór}} i {{s|MathMLWzór2}} - szablony do wyświetlania wzoru, po lewej, po prawej lub po środku, wraz z ich numeracją kolejno po prawej i lewej, wzory tutaj są wyświetlane za pomocą technologii MATHML,
* {{s|CentrujWzór}} i {{s|CentrujWzór2}} - szablony do wyświetlania wzoru, po środku, wraz z ich numeracją kolejno po prawej i lewej, wzory tutaj są wyświetlane za pomocą rysunku,
* {{s|CentrujMathMLWzór}} i {{s|CentrujMathMLWzór2}} - szablony do wyświetlania wzoru, po środku, wraz z ich numeracją kolejno po prawej i lewej, wzory tutaj są wyświetlane za pomocą technologii MATHML.
{{BrClear}}
<includeonly><!--
++++ DODAWAJ KATEGORIE PONIŻEJ TEJ LINII -->
{{Kategoria|Szablony stronicowe}}
</includeonly>
q00ip8l4hxgczd8qb692wfpgp13d6j5
437969
437968
2022-08-17T09:44:10Z
Persino
2851
wikitext
text/x-wiki
{{Podstrona dokumentacji}}
{{Lua|Moduł:StronicowyParser}}
{{Szablony stronicowe}}
<!-- DODAWAJ KATEGORIE NA DOLE STRONY -->
== Instrukcja obsługi ==
Tego szablonu używamy, gdy on znajduje się w tekście lub pomiędzy wzorami, w jakimś szablonie wymienionym poniżej, pomiędzy szablonem stronicowym otwierającym i zamykającym z: {{s|StronaStart}} a {{s|StronaKoniec}}, {{s|UnikatowaStronaStart}} a {{s|UnikatowaStronaKoniec}}, {{s|SkomplikowanaStronaStart}} a {{s|SkomplikowanaStronaKoniec}}, {{s|StandardowaStronaStart}} a {{s|StandardowaStronaKoniec}}, {{s|PodstawowaStronaStart}} a {{s|PodstawowaStronaKoniec}}, {{s|ProstaStronaStart}} a {{s|ProstaStronaKoniec}}, opisane na stronie {{s|StronaStart}}.
W tekście może pojawić się tekst o innym formatowaniu niż domyślnie, ten szablon jest szczególnym formatowaniem dla niego, lub może pojawić się tekst pomiędzy wzorami (lub ewentualnie przed albo po) w wywołaniu w pierwszym argumencie szablonu {{s|Wzór}}, {{s|Wzór2}}, {{s|CentrujWzór}}, {{s|CentrujWzór2}}, {{s|MathMLWzór}}, {{s|MathMLWzór2}}, {{s|CentrujMathMLWzór}} lub {{s|CentrujMathMLWzór2}}, albo {{s|Formuła}} lub {{s|MathMLFormuła}}.
== Użycie ==
Będziemy tutaj wypisywali zmienne szablonu {{s|Tekst}}:
----
; Zmienne w wywołaniu podstawowym tego szablonu
* {{Code|1}} = tekst.
----
; Zmienne w wywołaniu pełnym tego szablonu
* {{Code|tekst}} lub {{Code|1}} = tekst.
; Podstawowe skompensowane opcje dotyczące czcionek
* {{Code|czcionka}} = (rozmiar, wysokość linii, rodzina, wariant, rozciągnięcie, waga i styl) czcionki (opcjonalny).
; Dalsze nieskompensowane opcje dotyczące czcionek
* {{Code|rozmiar czcionki}} = rozmiar czcionki tekstu (opcjonalny domyślnie ustawione przez przeglądarkę lub za pomocą stylów),
* {{Code|wysokość linii czcionki}} = wysokość linii wiersza czcionki tekstu (opcjonalny domyślnie ustawione przez przeglądarkę lub za pomocą stylów),
* {{Code|rodzina czcionki}} = rodzina czcionki tekstu (opcjonalny domyślnie ustawione przez przeglądarkę lub za pomocą stylów),
* {{Code|wariant czcionki}} = wariant czcionki tekstu (opcjonalny domyślnie ustawione przez przeglądarkę lub za pomocą stylów),
* {{Code|rozciągnięcie czcionki}} = rozciągnięcie czcionki tekstu (opcjonalny domyślnie ustawione przez przeglądarkę lub za pomocą stylów),
* {{Code|waga czcionki}} = waga czcionki tekstu (opcjonalny domyślnie ustawione przez przeglądarkę lub za pomocą stylów),
* {{Code|styl czcionki}} = styl czcionki tekstu (opcjonalny domyślnie ustawione przez przeglądarkę lub za pomocą stylów).
----
Powyższe zmienne o nazwie określonej liczbą naturalną można użyć również bez nazywania parametrów.
== Przykłady ==
;Przykład pierwszy
{{s|ProstaStronaStart}}
* <nowiki><span style="font-size:20px"></nowiki>Oto jest tekst, {{s|Tekst|a ten następny}}, a oto jeszcze inny...<nowiki></span></nowiki>
{{s|ProstaStronaKoniec}}
; Wynik - tutaj wynik wyświetlamy dla czcionki książkowej, a nie systemowej {{NAZWASERWISU|link=tak}}, pośrednio za pomocą szablonów kolejno otwierającego i zamykającego {{s|StronaStart}} i {{s|StronaKoniec}}
{{ProstaStronaStart}}
* <span style="font-size:20px">Oto jest tekst, {{Tekst|a ten następny}}, a oto jeszcze inny...</span>
{{ProstaStronaKoniec}}
----
; Przykład pierwszy, gdy użyjemy bez szablonu {{s|Tekst}}
; Przykład bez użycia tego szablonu
{{s|ProstaStronaStart}}
* <nowiki><span style="font-size:20px"></nowiki>Oto jest tekst, a ten następny, a oto jeszcze inny...<nowiki></span></nowiki>
{{s|ProstaStronaKoniec}}
; Wynik - tutaj wynik wyświetlamy dla czcionki książkowej, a nie systemowej {{NAZWASERWISU|link=tak}}, pośrednio za pomocą szablonów kolejno otwierającego i zamykającego {{s|StronaStart}} i {{s|StronaKoniec}}
{{ProstaStronaStart}}
* <span style="font-size:20px">Oto jest tekst, a ten następny, a oto jeszcze inny...</span>
{{ProstaStronaKoniec}}
----
----
; Przykład drugi
{{s|ProstaStronaStart}}
* Oto jest formuła: {{s|Formuła|<nowiki><MATH>c=\sqrt{a^2+b^2}\;</MATH></nowiki> {{s|Tekst|a to następne:}} <nowiki><MATH>c^2=a^2+b^2\;</MATH></nowiki>}}, a oto jeszcze inny...
{{s|ProstaStronaKoniec}}
; Wynik - tutaj wynik wyświetlamy dla czcionki książkowej, a nie systemowej {{NAZWASERWISU|link=tak}}, pośrednio za pomocą szablonów kolejno otwierającego i zamykającego {{s|StronaStart}} i {{s|StronaKoniec}}
{{ProstaStronaStart}}
* Oto jest formuła: {{Formuła|<MATH>c=\sqrt{a^2+b^2}\;</MATH>{{Tekst|, a to następne:}} <MATH>c^2=a^2+b^2\;</MATH>}}, a oto jeszcze inny...
{{ProstaStronaKoniec}}
----
; Przykład drugi napiszmy bez użycia szablonu {{s|Tekst}}
; Przykład bez użycia tego szablonu
{{s|ProstaStronaStart}}
* Oto jest formuła: {{s|Formuła|<nowiki><MATH>c=\sqrt{a^2+b^2}\;</MATH></nowiki> a to następne: <nowiki><MATH>c^2=a^2+b^2\;</MATH></nowiki>}}, a oto jeszcze inny...
{{s|ProstaStronaKoniec}}
; Wynik - tutaj wynik wyświetlamy dla czcionki książkowej, a nie systemowej {{NAZWASERWISU|link=tak}}, pośrednio za pomocą szablonów kolejno otwierającego i zamykającego {{s|StronaStart}} i {{s|StronaKoniec}}
{{ProstaStronaStart}}
* Oto jest formuła: {{Formuła|<MATH>c=\sqrt{a^2+b^2}\;</MATH>, a to następne: <MATH>c^2=a^2+b^2\;</MATH>}}, a oto jeszcze inny...
{{ProstaStronaKoniec}}
----
Patrząc na przykład pierwszy i drugi, od końca, z użyciem szablonu {{s|Tekst}} i bez niego, ale za to z użyciem szablonów: {{s|ProstaStronaStart}} i {{s|ProstaStronaKoniec}}, to dochodzimy do wniosku, że za pomocą tego szablonu można zachować ustawienia bezpośrednie szablonu {{s|StronaStart}} i {{s|StronaKoniec}} użyte specjalnie dla tekstu, a nie do wzorów, a więc na tym polega rola tego szablonu.
== Błędy ==
Błędy należy zgłaszać na stronie {{Kwestie techniczne}}.
== Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) ==
<templatedata>
{
"params": {
"tekst": {
"aliases": [
"1"
],
"description": "Tekst.",
"type": "string",
"required": true
},
"czcionka": {
"description": "(Rozmiar, wysokość linii, rodzina, wariant, rozciągnięcie, waga i styl) czcionki.",
"type": "string"
},
"wysokość linii czcionki": {
"description": "Wysokość linii wiersza czcionki tekstu.",
"type": "string"
},
"rodzina czcionki": {
"description": "Rodzina czcionki tekstu.",
"type": "string"
},
"wariant czcionki": {
"description": "Wariant czcionki tekstu.",
"type": "string"
},
"rozciągnięcie czcionki": {
"description": "Rozciągnięcie czcionki tekstu.",
"type": "string"
},
"waga czcionki": {
"description": "Waga czcionki tekstu.",
"type": "string"
},
"styl czcionki": {
"description": "Styl czcionki tekstu.",
"type": "string"
}
},
"paramOrder": [
"tekst",
"czcionka",
"wysokość linii czcionki",
"rodzina czcionki",
"wariant czcionki",
"rozciągnięcie czcionki",
"waga czcionki",
"styl czcionki"
],
"description": "Szablon wstawiający sformatowany tekst pomiędzy formułami <MATH>...</MATH>, we szablonach stronicowych obsługujący wzory matematyczne."
}
</templatedata>
== Zobacz też ==
; Wzory w tekście
* {{s|Formuła}} - szablon do wyświetlania wzorów w tekście za pomocą rysunku.
* {{s|MathMLFormuła}} - szablon do wyświetlania wzorów w tekście wykorzystująca technologię MATHML.
; Wzory w linii
* {{s|Wzór}} i {{s|Wzór2}} - szablony do wyświetlania wzoru, po lewej, po prawej lub po środku, wraz z ich numeracją kolejno po prawej i lewej, wzory tutaj są wyświetlane za pomocą rysunku,
* {{s|MathMLWzór}} i {{s|MathMLWzór2}} - szablony do wyświetlania wzoru, po lewej, po prawej lub po środku, wraz z ich numeracją kolejno po prawej i lewej, wzory tutaj są wyświetlane za pomocą technologii MATHML,
* {{s|CentrujWzór}} i {{s|CentrujWzór2}} - szablony do wyświetlania wzoru, po środku, wraz z ich numeracją kolejno po prawej i lewej, wzory tutaj są wyświetlane za pomocą rysunku,
* {{s|CentrujMathMLWzór}} i {{s|CentrujMathMLWzór2}} - szablony do wyświetlania wzoru, po środku, wraz z ich numeracją kolejno po prawej i lewej, wzory tutaj są wyświetlane za pomocą technologii MATHML.
{{BrClear}}
<includeonly><!--
++++ DODAWAJ KATEGORIE PONIŻEJ TEJ LINII -->
{{Kategoria|Szablony stronicowe}}
</includeonly>
r3u3bnedsxdm4v4m0vzhq505ok8ss49
437970
437969
2022-08-17T09:50:05Z
Persino
2851
wikitext
text/x-wiki
{{Podstrona dokumentacji}}
{{Lua|Moduł:StronicowyParser}}
{{Szablony stronicowe}}
<!-- DODAWAJ KATEGORIE NA DOLE STRONY -->
== Instrukcja obsługi ==
Tego szablonu używamy, gdy on znajduje się w tekście lub pomiędzy wzorami, w jakimś szablonie wymienionym poniżej, pomiędzy szablonem stronicowym otwierającym i zamykającym z: {{s|StronaStart}} a {{s|StronaKoniec}}, {{s|UnikatowaStronaStart}} a {{s|UnikatowaStronaKoniec}}, {{s|SkomplikowanaStronaStart}} a {{s|SkomplikowanaStronaKoniec}}, {{s|StandardowaStronaStart}} a {{s|StandardowaStronaKoniec}}, {{s|PodstawowaStronaStart}} a {{s|PodstawowaStronaKoniec}}, {{s|ProstaStronaStart}} a {{s|ProstaStronaKoniec}}, opisane na stronie {{s|StronaStart}}.
W tekście może pojawić się tekst o innym formatowaniu niż domyślnie, ten szablon jest szczególnym formatowaniem dla niego, lub może pojawić się tekst pomiędzy wzorami (lub ewentualnie przed albo po) w wywołaniu w pierwszym argumencie szablonu {{s|Wzór}}, {{s|Wzór2}}, {{s|CentrujWzór}}, {{s|CentrujWzór2}}, {{s|MathMLWzór}}, {{s|MathMLWzór2}}, {{s|CentrujMathMLWzór}} lub {{s|CentrujMathMLWzór2}}, albo {{s|Formuła}} lub {{s|MathMLFormuła}}.
== Użycie ==
Będziemy tutaj wypisywali zmienne szablonu {{s|Tekst}}:
----
; Zmienne w wywołaniu podstawowym tego szablonu
* {{Code|1}} = tekst.
----
; Zmienne w wywołaniu pełnym tego szablonu
* {{Code|tekst}} lub {{Code|1}} = tekst.
; Podstawowe skompensowane opcje dotyczące czcionek
* {{Code|czcionka}} = (rozmiar, wysokość linii, rodzina, wariant, rozciągnięcie, waga i styl) czcionki (opcjonalny).
; Dalsze nieskompensowane opcje dotyczące czcionek
* {{Code|rozmiar czcionki}} = rozmiar czcionki tekstu (opcjonalny domyślnie ustawione przez przeglądarkę lub za pomocą stylów),
* {{Code|wysokość linii czcionki}} = wysokość linii wiersza czcionki tekstu (opcjonalny domyślnie ustawione przez przeglądarkę lub za pomocą stylów),
* {{Code|rodzina czcionki}} = rodzina czcionki tekstu (opcjonalny domyślnie ustawione przez przeglądarkę lub za pomocą stylów),
* {{Code|wariant czcionki}} = wariant czcionki tekstu (opcjonalny domyślnie ustawione przez przeglądarkę lub za pomocą stylów),
* {{Code|rozciągnięcie czcionki}} = rozciągnięcie czcionki tekstu (opcjonalny domyślnie ustawione przez przeglądarkę lub za pomocą stylów),
* {{Code|waga czcionki}} = waga czcionki tekstu (opcjonalny domyślnie ustawione przez przeglądarkę lub za pomocą stylów),
* {{Code|styl czcionki}} = styl czcionki tekstu (opcjonalny domyślnie ustawione przez przeglądarkę lub za pomocą stylów).
----
Powyższe zmienne o nazwie określonej liczbą naturalną można użyć również bez nazywania parametrów.
== Przykłady ==
;Przykład pierwszy
{{s|ProstaStronaStart}}
* <nowiki><span style="font-size:20px"></nowiki>Oto jest tekst, {{s|Tekst|a ten następny}}, a oto jeszcze inny...<nowiki></span></nowiki>
{{s|ProstaStronaKoniec}}
; Wynik - tutaj wynik wyświetlamy dla czcionki książkowej, a nie systemowej {{NAZWASERWISU|link=tak}}, pośrednio za pomocą szablonów kolejno otwierającego i zamykającego {{s|StronaStart}} i {{s|StronaKoniec}}
{{ProstaStronaStart|minimalna szerokość strony=auto|szerokość strony=auto}}
* <span style="font-size:20px">Oto jest tekst, {{Tekst|a ten następny}}, a oto jeszcze inny...</span>
{{ProstaStronaKoniec}}
----
; Przykład pierwszy, gdy użyjemy bez szablonu {{s|Tekst}}
; Przykład bez użycia tego szablonu
{{s|ProstaStronaStart}}
* <nowiki><span style="font-size:20px"></nowiki>Oto jest tekst, a ten następny, a oto jeszcze inny...<nowiki></span></nowiki>
{{s|ProstaStronaKoniec}}
; Wynik - tutaj wynik wyświetlamy dla czcionki książkowej, a nie systemowej {{NAZWASERWISU|link=tak}}, pośrednio za pomocą szablonów kolejno otwierającego i zamykającego {{s|StronaStart}} i {{s|StronaKoniec}}
{{ProstaStronaStart|minimalna szerokość strony=auto|szerokość strony=auto}}
* <span style="font-size:20px">Oto jest tekst, a ten następny, a oto jeszcze inny...</span>
{{ProstaStronaKoniec}}
----
----
; Przykład drugi
{{s|ProstaStronaStart}}
* Oto jest formuła: {{s|Formuła|<nowiki><MATH>c=\sqrt{a^2+b^2}\;</MATH></nowiki> {{s|Tekst|a to następne:}} <nowiki><MATH>c^2=a^2+b^2\;</MATH></nowiki>}}, a oto jeszcze inny...
{{s|ProstaStronaKoniec}}
; Wynik - tutaj wynik wyświetlamy dla czcionki książkowej, a nie systemowej {{NAZWASERWISU|link=tak}}, pośrednio za pomocą szablonów kolejno otwierającego i zamykającego {{s|StronaStart}} i {{s|StronaKoniec}}
{{ProstaStronaStart|minimalna szerokość strony=auto|szerokość strony=auto}}
* Oto jest formuła: {{Formuła|<MATH>c=\sqrt{a^2+b^2}\;</MATH>{{Tekst|, a to następne:}} <MATH>c^2=a^2+b^2\;</MATH>}}, a oto jeszcze inny...
{{ProstaStronaKoniec}}
----
; Przykład drugi napiszmy bez użycia szablonu {{s|Tekst}}
; Przykład bez użycia tego szablonu
{{s|ProstaStronaStart}}
* Oto jest formuła: {{s|Formuła|<nowiki><MATH>c=\sqrt{a^2+b^2}\;</MATH></nowiki> a to następne: <nowiki><MATH>c^2=a^2+b^2\;</MATH></nowiki>}}, a oto jeszcze inny...
{{s|ProstaStronaKoniec}}
; Wynik - tutaj wynik wyświetlamy dla czcionki książkowej, a nie systemowej {{NAZWASERWISU|link=tak}}, pośrednio za pomocą szablonów kolejno otwierającego i zamykającego {{s|StronaStart}} i {{s|StronaKoniec}}
{{ProstaStronaStart|minimalna szerokość strony=auto|szerokość strony=auto}}
* Oto jest formuła: {{Formuła|<MATH>c=\sqrt{a^2+b^2}\;</MATH>, a to następne: <MATH>c^2=a^2+b^2\;</MATH>}}, a oto jeszcze inny...
{{ProstaStronaKoniec}}
----
Patrząc na przykład pierwszy i drugi, od końca, z użyciem szablonu {{s|Tekst}} i bez niego, ale za to z użyciem szablonów: {{s|ProstaStronaStart}} i {{s|ProstaStronaKoniec}}, to dochodzimy do wniosku, że za pomocą tego szablonu można zachować ustawienia bezpośrednie szablonu {{s|StronaStart}} i {{s|StronaKoniec}} użyte specjalnie dla tekstu, a nie do wzorów, a więc na tym polega rola tego szablonu.
== Błędy ==
Błędy należy zgłaszać na stronie {{Kwestie techniczne}}.
== Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) ==
<templatedata>
{
"params": {
"tekst": {
"aliases": [
"1"
],
"description": "Tekst.",
"type": "string",
"required": true
},
"czcionka": {
"description": "(Rozmiar, wysokość linii, rodzina, wariant, rozciągnięcie, waga i styl) czcionki.",
"type": "string"
},
"wysokość linii czcionki": {
"description": "Wysokość linii wiersza czcionki tekstu.",
"type": "string"
},
"rodzina czcionki": {
"description": "Rodzina czcionki tekstu.",
"type": "string"
},
"wariant czcionki": {
"description": "Wariant czcionki tekstu.",
"type": "string"
},
"rozciągnięcie czcionki": {
"description": "Rozciągnięcie czcionki tekstu.",
"type": "string"
},
"waga czcionki": {
"description": "Waga czcionki tekstu.",
"type": "string"
},
"styl czcionki": {
"description": "Styl czcionki tekstu.",
"type": "string"
}
},
"paramOrder": [
"tekst",
"czcionka",
"wysokość linii czcionki",
"rodzina czcionki",
"wariant czcionki",
"rozciągnięcie czcionki",
"waga czcionki",
"styl czcionki"
],
"description": "Szablon wstawiający sformatowany tekst pomiędzy formułami <MATH>...</MATH>, we szablonach stronicowych obsługujący wzory matematyczne."
}
</templatedata>
== Zobacz też ==
; Wzory w tekście
* {{s|Formuła}} - szablon do wyświetlania wzorów w tekście za pomocą rysunku.
* {{s|MathMLFormuła}} - szablon do wyświetlania wzorów w tekście wykorzystująca technologię MATHML.
; Wzory w linii
* {{s|Wzór}} i {{s|Wzór2}} - szablony do wyświetlania wzoru, po lewej, po prawej lub po środku, wraz z ich numeracją kolejno po prawej i lewej, wzory tutaj są wyświetlane za pomocą rysunku,
* {{s|MathMLWzór}} i {{s|MathMLWzór2}} - szablony do wyświetlania wzoru, po lewej, po prawej lub po środku, wraz z ich numeracją kolejno po prawej i lewej, wzory tutaj są wyświetlane za pomocą technologii MATHML,
* {{s|CentrujWzór}} i {{s|CentrujWzór2}} - szablony do wyświetlania wzoru, po środku, wraz z ich numeracją kolejno po prawej i lewej, wzory tutaj są wyświetlane za pomocą rysunku,
* {{s|CentrujMathMLWzór}} i {{s|CentrujMathMLWzór2}} - szablony do wyświetlania wzoru, po środku, wraz z ich numeracją kolejno po prawej i lewej, wzory tutaj są wyświetlane za pomocą technologii MATHML.
{{BrClear}}
<includeonly><!--
++++ DODAWAJ KATEGORIE PONIŻEJ TEJ LINII -->
{{Kategoria|Szablony stronicowe}}
</includeonly>
b0kkxnjimi9fo7i0dmlmwpb4qrnkz4c
437971
437970
2022-08-17T09:51:23Z
Persino
2851
/* Przykłady */
wikitext
text/x-wiki
{{Podstrona dokumentacji}}
{{Lua|Moduł:StronicowyParser}}
{{Szablony stronicowe}}
<!-- DODAWAJ KATEGORIE NA DOLE STRONY -->
== Instrukcja obsługi ==
Tego szablonu używamy, gdy on znajduje się w tekście lub pomiędzy wzorami, w jakimś szablonie wymienionym poniżej, pomiędzy szablonem stronicowym otwierającym i zamykającym z: {{s|StronaStart}} a {{s|StronaKoniec}}, {{s|UnikatowaStronaStart}} a {{s|UnikatowaStronaKoniec}}, {{s|SkomplikowanaStronaStart}} a {{s|SkomplikowanaStronaKoniec}}, {{s|StandardowaStronaStart}} a {{s|StandardowaStronaKoniec}}, {{s|PodstawowaStronaStart}} a {{s|PodstawowaStronaKoniec}}, {{s|ProstaStronaStart}} a {{s|ProstaStronaKoniec}}, opisane na stronie {{s|StronaStart}}.
W tekście może pojawić się tekst o innym formatowaniu niż domyślnie, ten szablon jest szczególnym formatowaniem dla niego, lub może pojawić się tekst pomiędzy wzorami (lub ewentualnie przed albo po) w wywołaniu w pierwszym argumencie szablonu {{s|Wzór}}, {{s|Wzór2}}, {{s|CentrujWzór}}, {{s|CentrujWzór2}}, {{s|MathMLWzór}}, {{s|MathMLWzór2}}, {{s|CentrujMathMLWzór}} lub {{s|CentrujMathMLWzór2}}, albo {{s|Formuła}} lub {{s|MathMLFormuła}}.
== Użycie ==
Będziemy tutaj wypisywali zmienne szablonu {{s|Tekst}}:
----
; Zmienne w wywołaniu podstawowym tego szablonu
* {{Code|1}} = tekst.
----
; Zmienne w wywołaniu pełnym tego szablonu
* {{Code|tekst}} lub {{Code|1}} = tekst.
; Podstawowe skompensowane opcje dotyczące czcionek
* {{Code|czcionka}} = (rozmiar, wysokość linii, rodzina, wariant, rozciągnięcie, waga i styl) czcionki (opcjonalny).
; Dalsze nieskompensowane opcje dotyczące czcionek
* {{Code|rozmiar czcionki}} = rozmiar czcionki tekstu (opcjonalny domyślnie ustawione przez przeglądarkę lub za pomocą stylów),
* {{Code|wysokość linii czcionki}} = wysokość linii wiersza czcionki tekstu (opcjonalny domyślnie ustawione przez przeglądarkę lub za pomocą stylów),
* {{Code|rodzina czcionki}} = rodzina czcionki tekstu (opcjonalny domyślnie ustawione przez przeglądarkę lub za pomocą stylów),
* {{Code|wariant czcionki}} = wariant czcionki tekstu (opcjonalny domyślnie ustawione przez przeglądarkę lub za pomocą stylów),
* {{Code|rozciągnięcie czcionki}} = rozciągnięcie czcionki tekstu (opcjonalny domyślnie ustawione przez przeglądarkę lub za pomocą stylów),
* {{Code|waga czcionki}} = waga czcionki tekstu (opcjonalny domyślnie ustawione przez przeglądarkę lub za pomocą stylów),
* {{Code|styl czcionki}} = styl czcionki tekstu (opcjonalny domyślnie ustawione przez przeglądarkę lub za pomocą stylów).
----
Powyższe zmienne o nazwie określonej liczbą naturalną można użyć również bez nazywania parametrów.
== Przykłady ==
;Przykład pierwszy
{{s|ProstaStronaStart}}
* <nowiki><span style="font-size:20px"></nowiki>Oto jest tekst, {{s|Tekst|a ten następny}}, a oto jeszcze inny...<nowiki></span></nowiki>
{{s|ProstaStronaKoniec}}
; Wynik - tutaj wynik wyświetlamy dla czcionki książkowej, a nie systemowej {{NAZWASERWISU|link=tak}}, pośrednio za pomocą szablonów kolejno otwierającego i zamykającego {{s|StronaStart}} i {{s|StronaKoniec}}
{{ProstaStronaStart|minimalna szerokość strony=auto|szerokość strony=auto}}
* <span style="font-size:20px">Oto jest tekst, {{Tekst|a ten następny}}, a oto jeszcze inny...</span>
{{ProstaStronaKoniec}}
----
; Przykład pierwszy, gdy użyjemy bez szablonu {{s|Tekst}}
; Przykład bez użycia tego szablonu
{{s|ProstaStronaStart}}
* <nowiki><span style="font-size:20px"></nowiki>Oto jest tekst, a ten następny, a oto jeszcze inny...<nowiki></span></nowiki>
{{s|ProstaStronaKoniec}}
; Wynik - tutaj wynik wyświetlamy dla czcionki książkowej, a nie systemowej {{NAZWASERWISU|link=tak}}, pośrednio za pomocą szablonów kolejno otwierającego i zamykającego {{s|StronaStart}} i {{s|StronaKoniec}}
{{ProstaStronaStart|minimalna szerokość strony=auto|szerokość strony=auto}}
* <span style="font-size:20px">Oto jest tekst, a ten następny, a oto jeszcze inny...</span>
{{ProstaStronaKoniec}}
----
----
; Przykład drugi
{{s|ProstaStronaStart}}
* Oto jest formuła: {{s|Formuła|<nowiki><MATH>c=\sqrt{a^2+b^2}\;</MATH></nowiki> {{s|Tekst|a to następne:}} <nowiki><MATH>c^2=a^2+b^2\;</MATH></nowiki>}}, a oto jeszcze inny...
{{s|ProstaStronaKoniec}}
; Wynik - tutaj wynik wyświetlamy dla czcionki książkowej, a nie systemowej {{NAZWASERWISU|link=tak}}, pośrednio za pomocą szablonów kolejno otwierającego i zamykającego {{s|StronaStart}} i {{s|StronaKoniec}}
{{ProstaStronaStart|minimalna szerokość strony=auto|szerokość strony=auto}}
* Oto jest formuła: {{Formuła|<MATH>c=\sqrt{a^2+b^2}\;</MATH>{{Tekst|, a to następne:}} <MATH>c^2=a^2+b^2\;</MATH>}}, a oto jeszcze inny...
{{ProstaStronaKoniec}}
----
; Przykład drugi napiszmy bez użycia szablonu {{s|Tekst}}
; Przykład bez użycia tego szablonu
{{s|ProstaStronaStart}}
* Oto jest formuła: {{s|Formuła|<nowiki><MATH>c=\sqrt{a^2+b^2}\;</MATH></nowiki> a to następne: <nowiki><MATH>c^2=a^2+b^2\;</MATH></nowiki>}}, a oto jeszcze inny...
{{s|ProstaStronaKoniec}}
; Wynik - tutaj wynik wyświetlamy dla czcionki książkowej, a nie systemowej {{NAZWASERWISU|link=tak}}, pośrednio za pomocą szablonów kolejno otwierającego i zamykającego {{s|StronaStart}} i {{s|StronaKoniec}}
{{ProstaStronaStart|minimalna szerokość strony=auto|szerokość strony=auto}}
* Oto jest formuła: {{Formuła|<MATH>c=\sqrt{a^2+b^2}\;</MATH>, a to następne: <MATH>c^2=a^2+b^2\;</MATH>}}, a oto jeszcze inny...
{{ProstaStronaKoniec}}
----
Patrząc na przykład pierwszy i drugi, z użyciem szablonu {{s|Tekst}} i bez niego, ale za to z użyciem szablonów: {{s|ProstaStronaStart}} i {{s|ProstaStronaKoniec}}, to dochodzimy do wniosku, że za pomocą tego szablonu można zachować ustawienia bezpośrednie szablonu {{s|StronaStart}} i {{s|StronaKoniec}} użyte specjalnie dla tekstu, a nie do wzorów, a więc na tym polega rola tego szablonu.
== Błędy ==
Błędy należy zgłaszać na stronie {{Kwestie techniczne}}.
== Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) ==
<templatedata>
{
"params": {
"tekst": {
"aliases": [
"1"
],
"description": "Tekst.",
"type": "string",
"required": true
},
"czcionka": {
"description": "(Rozmiar, wysokość linii, rodzina, wariant, rozciągnięcie, waga i styl) czcionki.",
"type": "string"
},
"wysokość linii czcionki": {
"description": "Wysokość linii wiersza czcionki tekstu.",
"type": "string"
},
"rodzina czcionki": {
"description": "Rodzina czcionki tekstu.",
"type": "string"
},
"wariant czcionki": {
"description": "Wariant czcionki tekstu.",
"type": "string"
},
"rozciągnięcie czcionki": {
"description": "Rozciągnięcie czcionki tekstu.",
"type": "string"
},
"waga czcionki": {
"description": "Waga czcionki tekstu.",
"type": "string"
},
"styl czcionki": {
"description": "Styl czcionki tekstu.",
"type": "string"
}
},
"paramOrder": [
"tekst",
"czcionka",
"wysokość linii czcionki",
"rodzina czcionki",
"wariant czcionki",
"rozciągnięcie czcionki",
"waga czcionki",
"styl czcionki"
],
"description": "Szablon wstawiający sformatowany tekst pomiędzy formułami <MATH>...</MATH>, we szablonach stronicowych obsługujący wzory matematyczne."
}
</templatedata>
== Zobacz też ==
; Wzory w tekście
* {{s|Formuła}} - szablon do wyświetlania wzorów w tekście za pomocą rysunku.
* {{s|MathMLFormuła}} - szablon do wyświetlania wzorów w tekście wykorzystująca technologię MATHML.
; Wzory w linii
* {{s|Wzór}} i {{s|Wzór2}} - szablony do wyświetlania wzoru, po lewej, po prawej lub po środku, wraz z ich numeracją kolejno po prawej i lewej, wzory tutaj są wyświetlane za pomocą rysunku,
* {{s|MathMLWzór}} i {{s|MathMLWzór2}} - szablony do wyświetlania wzoru, po lewej, po prawej lub po środku, wraz z ich numeracją kolejno po prawej i lewej, wzory tutaj są wyświetlane za pomocą technologii MATHML,
* {{s|CentrujWzór}} i {{s|CentrujWzór2}} - szablony do wyświetlania wzoru, po środku, wraz z ich numeracją kolejno po prawej i lewej, wzory tutaj są wyświetlane za pomocą rysunku,
* {{s|CentrujMathMLWzór}} i {{s|CentrujMathMLWzór2}} - szablony do wyświetlania wzoru, po środku, wraz z ich numeracją kolejno po prawej i lewej, wzory tutaj są wyświetlane za pomocą technologii MATHML.
{{BrClear}}
<includeonly><!--
++++ DODAWAJ KATEGORIE PONIŻEJ TEJ LINII -->
{{Kategoria|Szablony stronicowe}}
</includeonly>
gbcb9dp40kjuygeh0900427bls81afu
437972
437971
2022-08-17T09:53:44Z
Persino
2851
/* Przykłady */
wikitext
text/x-wiki
{{Podstrona dokumentacji}}
{{Lua|Moduł:StronicowyParser}}
{{Szablony stronicowe}}
<!-- DODAWAJ KATEGORIE NA DOLE STRONY -->
== Instrukcja obsługi ==
Tego szablonu używamy, gdy on znajduje się w tekście lub pomiędzy wzorami, w jakimś szablonie wymienionym poniżej, pomiędzy szablonem stronicowym otwierającym i zamykającym z: {{s|StronaStart}} a {{s|StronaKoniec}}, {{s|UnikatowaStronaStart}} a {{s|UnikatowaStronaKoniec}}, {{s|SkomplikowanaStronaStart}} a {{s|SkomplikowanaStronaKoniec}}, {{s|StandardowaStronaStart}} a {{s|StandardowaStronaKoniec}}, {{s|PodstawowaStronaStart}} a {{s|PodstawowaStronaKoniec}}, {{s|ProstaStronaStart}} a {{s|ProstaStronaKoniec}}, opisane na stronie {{s|StronaStart}}.
W tekście może pojawić się tekst o innym formatowaniu niż domyślnie, ten szablon jest szczególnym formatowaniem dla niego, lub może pojawić się tekst pomiędzy wzorami (lub ewentualnie przed albo po) w wywołaniu w pierwszym argumencie szablonu {{s|Wzór}}, {{s|Wzór2}}, {{s|CentrujWzór}}, {{s|CentrujWzór2}}, {{s|MathMLWzór}}, {{s|MathMLWzór2}}, {{s|CentrujMathMLWzór}} lub {{s|CentrujMathMLWzór2}}, albo {{s|Formuła}} lub {{s|MathMLFormuła}}.
== Użycie ==
Będziemy tutaj wypisywali zmienne szablonu {{s|Tekst}}:
----
; Zmienne w wywołaniu podstawowym tego szablonu
* {{Code|1}} = tekst.
----
; Zmienne w wywołaniu pełnym tego szablonu
* {{Code|tekst}} lub {{Code|1}} = tekst.
; Podstawowe skompensowane opcje dotyczące czcionek
* {{Code|czcionka}} = (rozmiar, wysokość linii, rodzina, wariant, rozciągnięcie, waga i styl) czcionki (opcjonalny).
; Dalsze nieskompensowane opcje dotyczące czcionek
* {{Code|rozmiar czcionki}} = rozmiar czcionki tekstu (opcjonalny domyślnie ustawione przez przeglądarkę lub za pomocą stylów),
* {{Code|wysokość linii czcionki}} = wysokość linii wiersza czcionki tekstu (opcjonalny domyślnie ustawione przez przeglądarkę lub za pomocą stylów),
* {{Code|rodzina czcionki}} = rodzina czcionki tekstu (opcjonalny domyślnie ustawione przez przeglądarkę lub za pomocą stylów),
* {{Code|wariant czcionki}} = wariant czcionki tekstu (opcjonalny domyślnie ustawione przez przeglądarkę lub za pomocą stylów),
* {{Code|rozciągnięcie czcionki}} = rozciągnięcie czcionki tekstu (opcjonalny domyślnie ustawione przez przeglądarkę lub za pomocą stylów),
* {{Code|waga czcionki}} = waga czcionki tekstu (opcjonalny domyślnie ustawione przez przeglądarkę lub za pomocą stylów),
* {{Code|styl czcionki}} = styl czcionki tekstu (opcjonalny domyślnie ustawione przez przeglądarkę lub za pomocą stylów).
----
Powyższe zmienne o nazwie określonej liczbą naturalną można użyć również bez nazywania parametrów.
== Przykłady ==
;Przykład pierwszy
{{s|ProstaStronaStart|minimalna szerokość strony{{=}}auto|szerokość strony{{=}}auto}}
* <nowiki><span style="font-size:20px"></nowiki>Oto jest tekst, {{s|Tekst|a ten następny}}, a oto jeszcze inny...<nowiki></span></nowiki>
{{s|ProstaStronaKoniec}}
; Wynik - tutaj wynik wyświetlamy dla czcionki książkowej, a nie systemowej {{NAZWASERWISU|link=tak}}, pośrednio za pomocą szablonów kolejno otwierającego i zamykającego {{s|StronaStart}} i {{s|StronaKoniec}}
{{ProstaStronaStart|minimalna szerokość strony=auto|szerokość strony=auto}}
* <span style="font-size:20px">Oto jest tekst, {{Tekst|a ten następny}}, a oto jeszcze inny...</span>
{{ProstaStronaKoniec}}
----
; Przykład pierwszy, gdy użyjemy bez szablonu {{s|Tekst}}
; Przykład bez użycia tego szablonu
{{s|ProstaStronaStart|minimalna szerokość strony{{=}}auto|szerokość strony{{=}}auto}}
* <nowiki><span style="font-size:20px"></nowiki>Oto jest tekst, a ten następny, a oto jeszcze inny...<nowiki></span></nowiki>
{{s|ProstaStronaKoniec}}
; Wynik - tutaj wynik wyświetlamy dla czcionki książkowej, a nie systemowej {{NAZWASERWISU|link=tak}}, pośrednio za pomocą szablonów kolejno otwierającego i zamykającego {{s|StronaStart}} i {{s|StronaKoniec}}
{{ProstaStronaStart|minimalna szerokość strony=auto|szerokość strony=auto}}
* <span style="font-size:20px">Oto jest tekst, a ten następny, a oto jeszcze inny...</span>
{{ProstaStronaKoniec}}
----
----
; Przykład drugi
{{s|ProstaStronaStar|minimalna szerokość strony{{=}}auto|szerokość strony{{=}}auto}}
* Oto jest formuła: {{s|Formuła|<nowiki><MATH>c=\sqrt{a^2+b^2}\;</MATH></nowiki> {{s|Tekst|a to następne:}} <nowiki><MATH>c^2=a^2+b^2\;</MATH></nowiki>}}, a oto jeszcze inny...
{{s|ProstaStronaKoniec}}
; Wynik - tutaj wynik wyświetlamy dla czcionki książkowej, a nie systemowej {{NAZWASERWISU|link=tak}}, pośrednio za pomocą szablonów kolejno otwierającego i zamykającego {{s|StronaStart}} i {{s|StronaKoniec}}
{{ProstaStronaStart|minimalna szerokość strony=auto|szerokość strony=auto}}
* Oto jest formuła: {{Formuła|<MATH>c=\sqrt{a^2+b^2}\;</MATH>{{Tekst|, a to następne:}} <MATH>c^2=a^2+b^2\;</MATH>}}, a oto jeszcze inny...
{{ProstaStronaKoniec}}
----
; Przykład drugi napiszmy bez użycia szablonu {{s|Tekst}}
; Przykład bez użycia tego szablonu
{{s|ProstaStronaStart|minimalna szerokość strony{{=}}auto|szerokość strony{{=}}auto}}
* Oto jest formuła: {{s|Formuła|<nowiki><MATH>c=\sqrt{a^2+b^2}\;</MATH></nowiki> a to następne: <nowiki><MATH>c^2=a^2+b^2\;</MATH></nowiki>}}, a oto jeszcze inny...
{{s|ProstaStronaKoniec}}
; Wynik - tutaj wynik wyświetlamy dla czcionki książkowej, a nie systemowej {{NAZWASERWISU|link=tak}}, pośrednio za pomocą szablonów kolejno otwierającego i zamykającego {{s|StronaStart}} i {{s|StronaKoniec}}
{{ProstaStronaStart|minimalna szerokość strony=auto|szerokość strony=auto}}
* Oto jest formuła: {{Formuła|<MATH>c=\sqrt{a^2+b^2}\;</MATH>, a to następne: <MATH>c^2=a^2+b^2\;</MATH>}}, a oto jeszcze inny...
{{ProstaStronaKoniec}}
----
Patrząc na przykład pierwszy i drugi, z użyciem szablonu {{s|Tekst}} i bez niego, ale za to z użyciem szablonów: {{s|ProstaStronaStart}} i {{s|ProstaStronaKoniec}}, to dochodzimy do wniosku, że za pomocą tego szablonu można zachować ustawienia bezpośrednie szablonu {{s|StronaStart}} i {{s|StronaKoniec}} użyte specjalnie dla tekstu, a nie do wzorów, a więc na tym polega rola tego szablonu.
== Błędy ==
Błędy należy zgłaszać na stronie {{Kwestie techniczne}}.
== Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) ==
<templatedata>
{
"params": {
"tekst": {
"aliases": [
"1"
],
"description": "Tekst.",
"type": "string",
"required": true
},
"czcionka": {
"description": "(Rozmiar, wysokość linii, rodzina, wariant, rozciągnięcie, waga i styl) czcionki.",
"type": "string"
},
"wysokość linii czcionki": {
"description": "Wysokość linii wiersza czcionki tekstu.",
"type": "string"
},
"rodzina czcionki": {
"description": "Rodzina czcionki tekstu.",
"type": "string"
},
"wariant czcionki": {
"description": "Wariant czcionki tekstu.",
"type": "string"
},
"rozciągnięcie czcionki": {
"description": "Rozciągnięcie czcionki tekstu.",
"type": "string"
},
"waga czcionki": {
"description": "Waga czcionki tekstu.",
"type": "string"
},
"styl czcionki": {
"description": "Styl czcionki tekstu.",
"type": "string"
}
},
"paramOrder": [
"tekst",
"czcionka",
"wysokość linii czcionki",
"rodzina czcionki",
"wariant czcionki",
"rozciągnięcie czcionki",
"waga czcionki",
"styl czcionki"
],
"description": "Szablon wstawiający sformatowany tekst pomiędzy formułami <MATH>...</MATH>, we szablonach stronicowych obsługujący wzory matematyczne."
}
</templatedata>
== Zobacz też ==
; Wzory w tekście
* {{s|Formuła}} - szablon do wyświetlania wzorów w tekście za pomocą rysunku.
* {{s|MathMLFormuła}} - szablon do wyświetlania wzorów w tekście wykorzystująca technologię MATHML.
; Wzory w linii
* {{s|Wzór}} i {{s|Wzór2}} - szablony do wyświetlania wzoru, po lewej, po prawej lub po środku, wraz z ich numeracją kolejno po prawej i lewej, wzory tutaj są wyświetlane za pomocą rysunku,
* {{s|MathMLWzór}} i {{s|MathMLWzór2}} - szablony do wyświetlania wzoru, po lewej, po prawej lub po środku, wraz z ich numeracją kolejno po prawej i lewej, wzory tutaj są wyświetlane za pomocą technologii MATHML,
* {{s|CentrujWzór}} i {{s|CentrujWzór2}} - szablony do wyświetlania wzoru, po środku, wraz z ich numeracją kolejno po prawej i lewej, wzory tutaj są wyświetlane za pomocą rysunku,
* {{s|CentrujMathMLWzór}} i {{s|CentrujMathMLWzór2}} - szablony do wyświetlania wzoru, po środku, wraz z ich numeracją kolejno po prawej i lewej, wzory tutaj są wyświetlane za pomocą technologii MATHML.
{{BrClear}}
<includeonly><!--
++++ DODAWAJ KATEGORIE PONIŻEJ TEJ LINII -->
{{Kategoria|Szablony stronicowe}}
</includeonly>
i73q3z11mbeuk2zssd5dr8m5skzpntk
437973
437972
2022-08-17T09:54:33Z
Persino
2851
/* Przykłady */
wikitext
text/x-wiki
{{Podstrona dokumentacji}}
{{Lua|Moduł:StronicowyParser}}
{{Szablony stronicowe}}
<!-- DODAWAJ KATEGORIE NA DOLE STRONY -->
== Instrukcja obsługi ==
Tego szablonu używamy, gdy on znajduje się w tekście lub pomiędzy wzorami, w jakimś szablonie wymienionym poniżej, pomiędzy szablonem stronicowym otwierającym i zamykającym z: {{s|StronaStart}} a {{s|StronaKoniec}}, {{s|UnikatowaStronaStart}} a {{s|UnikatowaStronaKoniec}}, {{s|SkomplikowanaStronaStart}} a {{s|SkomplikowanaStronaKoniec}}, {{s|StandardowaStronaStart}} a {{s|StandardowaStronaKoniec}}, {{s|PodstawowaStronaStart}} a {{s|PodstawowaStronaKoniec}}, {{s|ProstaStronaStart}} a {{s|ProstaStronaKoniec}}, opisane na stronie {{s|StronaStart}}.
W tekście może pojawić się tekst o innym formatowaniu niż domyślnie, ten szablon jest szczególnym formatowaniem dla niego, lub może pojawić się tekst pomiędzy wzorami (lub ewentualnie przed albo po) w wywołaniu w pierwszym argumencie szablonu {{s|Wzór}}, {{s|Wzór2}}, {{s|CentrujWzór}}, {{s|CentrujWzór2}}, {{s|MathMLWzór}}, {{s|MathMLWzór2}}, {{s|CentrujMathMLWzór}} lub {{s|CentrujMathMLWzór2}}, albo {{s|Formuła}} lub {{s|MathMLFormuła}}.
== Użycie ==
Będziemy tutaj wypisywali zmienne szablonu {{s|Tekst}}:
----
; Zmienne w wywołaniu podstawowym tego szablonu
* {{Code|1}} = tekst.
----
; Zmienne w wywołaniu pełnym tego szablonu
* {{Code|tekst}} lub {{Code|1}} = tekst.
; Podstawowe skompensowane opcje dotyczące czcionek
* {{Code|czcionka}} = (rozmiar, wysokość linii, rodzina, wariant, rozciągnięcie, waga i styl) czcionki (opcjonalny).
; Dalsze nieskompensowane opcje dotyczące czcionek
* {{Code|rozmiar czcionki}} = rozmiar czcionki tekstu (opcjonalny domyślnie ustawione przez przeglądarkę lub za pomocą stylów),
* {{Code|wysokość linii czcionki}} = wysokość linii wiersza czcionki tekstu (opcjonalny domyślnie ustawione przez przeglądarkę lub za pomocą stylów),
* {{Code|rodzina czcionki}} = rodzina czcionki tekstu (opcjonalny domyślnie ustawione przez przeglądarkę lub za pomocą stylów),
* {{Code|wariant czcionki}} = wariant czcionki tekstu (opcjonalny domyślnie ustawione przez przeglądarkę lub za pomocą stylów),
* {{Code|rozciągnięcie czcionki}} = rozciągnięcie czcionki tekstu (opcjonalny domyślnie ustawione przez przeglądarkę lub za pomocą stylów),
* {{Code|waga czcionki}} = waga czcionki tekstu (opcjonalny domyślnie ustawione przez przeglądarkę lub za pomocą stylów),
* {{Code|styl czcionki}} = styl czcionki tekstu (opcjonalny domyślnie ustawione przez przeglądarkę lub za pomocą stylów).
----
Powyższe zmienne o nazwie określonej liczbą naturalną można użyć również bez nazywania parametrów.
== Przykłady ==
;Przykład pierwszy
{{s|ProstaStronaStart|minimalna szerokość strony{{=}}auto|szerokość strony{{=}}auto}}
* <nowiki><span style="font-size:20px"></nowiki>Oto jest tekst, {{s|Tekst|a ten następny}}, a oto jeszcze inny...<nowiki></span></nowiki>
{{s|ProstaStronaKoniec}}
; Wynik - tutaj wynik wyświetlamy dla czcionki książkowej, a nie systemowej {{NAZWASERWISU|link=tak}}, pośrednio za pomocą szablonów kolejno otwierającego i zamykającego {{s|StronaStart}} i {{s|StronaKoniec}}
{{ProstaStronaStart|minimalna szerokość strony=auto|szerokość strony=auto}}
* <span style="font-size:20px">Oto jest tekst, {{Tekst|a ten następny}}, a oto jeszcze inny...</span>
{{ProstaStronaKoniec}}
----
; Przykład pierwszy, gdy użyjemy bez szablonu {{s|Tekst}}
; Przykład bez użycia tego szablonu
{{s|ProstaStronaStart|minimalna szerokość strony{{=}}auto|szerokość strony{{=}}auto}}
* <nowiki><span style="font-size:20px"></nowiki>Oto jest tekst, a ten następny, a oto jeszcze inny...<nowiki></span></nowiki>
{{s|ProstaStronaKoniec}}
; Wynik - tutaj wynik wyświetlamy dla czcionki książkowej, a nie systemowej {{NAZWASERWISU|link=tak}}, pośrednio za pomocą szablonów kolejno otwierającego i zamykającego {{s|StronaStart}} i {{s|StronaKoniec}}
{{ProstaStronaStart|minimalna szerokość strony=auto|szerokość strony=auto}}
* <span style="font-size:20px">Oto jest tekst, a ten następny, a oto jeszcze inny...</span>
{{ProstaStronaKoniec}}
----
----
; Przykład drugi
{{s|ProstaStronaStart|minimalna szerokość strony{{=}}auto|szerokość strony{{=}}auto}}
* Oto jest formuła: {{s|Formuła|<nowiki><MATH>c=\sqrt{a^2+b^2}\;</MATH></nowiki> {{s|Tekst|a to następne:}} <nowiki><MATH>c^2=a^2+b^2\;</MATH></nowiki>}}, a oto jeszcze inny...
{{s|ProstaStronaKoniec}}
; Wynik - tutaj wynik wyświetlamy dla czcionki książkowej, a nie systemowej {{NAZWASERWISU|link=tak}}, pośrednio za pomocą szablonów kolejno otwierającego i zamykającego {{s|StronaStart}} i {{s|StronaKoniec}}
{{ProstaStronaStart|minimalna szerokość strony=auto|szerokość strony=auto}}
* Oto jest formuła: {{Formuła|<MATH>c=\sqrt{a^2+b^2}\;</MATH>{{Tekst|, a to następne:}} <MATH>c^2=a^2+b^2\;</MATH>}}, a oto jeszcze inny...
{{ProstaStronaKoniec}}
----
; Przykład drugi napiszmy bez użycia szablonu {{s|Tekst}}
; Przykład bez użycia tego szablonu
{{s|ProstaStronaStart|minimalna szerokość strony{{=}}auto|szerokość strony{{=}}auto}}
* Oto jest formuła: {{s|Formuła|<nowiki><MATH>c=\sqrt{a^2+b^2}\;</MATH></nowiki> a to następne: <nowiki><MATH>c^2=a^2+b^2\;</MATH></nowiki>}}, a oto jeszcze inny...
{{s|ProstaStronaKoniec}}
; Wynik - tutaj wynik wyświetlamy dla czcionki książkowej, a nie systemowej {{NAZWASERWISU|link=tak}}, pośrednio za pomocą szablonów kolejno otwierającego i zamykającego {{s|StronaStart}} i {{s|StronaKoniec}}
{{ProstaStronaStart|minimalna szerokość strony=auto|szerokość strony=auto}}
* Oto jest formuła: {{Formuła|<MATH>c=\sqrt{a^2+b^2}\;</MATH>, a to następne: <MATH>c^2=a^2+b^2\;</MATH>}}, a oto jeszcze inny...
{{ProstaStronaKoniec}}
----
Patrząc na przykład pierwszy i drugi, z użyciem szablonu {{s|Tekst}} i bez niego, ale za to z użyciem szablonów: {{s|ProstaStronaStart}} i {{s|ProstaStronaKoniec}}, to dochodzimy do wniosku, że za pomocą tego szablonu można zachować ustawienia bezpośrednie szablonu {{s|StronaStart}} i {{s|StronaKoniec}} użyte specjalnie dla tekstu, a nie do wzorów, a więc na tym polega rola tego szablonu.
== Błędy ==
Błędy należy zgłaszać na stronie {{Kwestie techniczne}}.
== Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) ==
<templatedata>
{
"params": {
"tekst": {
"aliases": [
"1"
],
"description": "Tekst.",
"type": "string",
"required": true
},
"czcionka": {
"description": "(Rozmiar, wysokość linii, rodzina, wariant, rozciągnięcie, waga i styl) czcionki.",
"type": "string"
},
"wysokość linii czcionki": {
"description": "Wysokość linii wiersza czcionki tekstu.",
"type": "string"
},
"rodzina czcionki": {
"description": "Rodzina czcionki tekstu.",
"type": "string"
},
"wariant czcionki": {
"description": "Wariant czcionki tekstu.",
"type": "string"
},
"rozciągnięcie czcionki": {
"description": "Rozciągnięcie czcionki tekstu.",
"type": "string"
},
"waga czcionki": {
"description": "Waga czcionki tekstu.",
"type": "string"
},
"styl czcionki": {
"description": "Styl czcionki tekstu.",
"type": "string"
}
},
"paramOrder": [
"tekst",
"czcionka",
"wysokość linii czcionki",
"rodzina czcionki",
"wariant czcionki",
"rozciągnięcie czcionki",
"waga czcionki",
"styl czcionki"
],
"description": "Szablon wstawiający sformatowany tekst pomiędzy formułami <MATH>...</MATH>, we szablonach stronicowych obsługujący wzory matematyczne."
}
</templatedata>
== Zobacz też ==
; Wzory w tekście
* {{s|Formuła}} - szablon do wyświetlania wzorów w tekście za pomocą rysunku.
* {{s|MathMLFormuła}} - szablon do wyświetlania wzorów w tekście wykorzystująca technologię MATHML.
; Wzory w linii
* {{s|Wzór}} i {{s|Wzór2}} - szablony do wyświetlania wzoru, po lewej, po prawej lub po środku, wraz z ich numeracją kolejno po prawej i lewej, wzory tutaj są wyświetlane za pomocą rysunku,
* {{s|MathMLWzór}} i {{s|MathMLWzór2}} - szablony do wyświetlania wzoru, po lewej, po prawej lub po środku, wraz z ich numeracją kolejno po prawej i lewej, wzory tutaj są wyświetlane za pomocą technologii MATHML,
* {{s|CentrujWzór}} i {{s|CentrujWzór2}} - szablony do wyświetlania wzoru, po środku, wraz z ich numeracją kolejno po prawej i lewej, wzory tutaj są wyświetlane za pomocą rysunku,
* {{s|CentrujMathMLWzór}} i {{s|CentrujMathMLWzór2}} - szablony do wyświetlania wzoru, po środku, wraz z ich numeracją kolejno po prawej i lewej, wzory tutaj są wyświetlane za pomocą technologii MATHML.
{{BrClear}}
<includeonly><!--
++++ DODAWAJ KATEGORIE PONIŻEJ TEJ LINII -->
{{Kategoria|Szablony stronicowe}}
</includeonly>
ms5ncvlia2nzzgj2yvcchqralkjcq1m
437975
437973
2022-08-17T09:57:11Z
Persino
2851
/* Przykłady */
wikitext
text/x-wiki
{{Podstrona dokumentacji}}
{{Lua|Moduł:StronicowyParser}}
{{Szablony stronicowe}}
<!-- DODAWAJ KATEGORIE NA DOLE STRONY -->
== Instrukcja obsługi ==
Tego szablonu używamy, gdy on znajduje się w tekście lub pomiędzy wzorami, w jakimś szablonie wymienionym poniżej, pomiędzy szablonem stronicowym otwierającym i zamykającym z: {{s|StronaStart}} a {{s|StronaKoniec}}, {{s|UnikatowaStronaStart}} a {{s|UnikatowaStronaKoniec}}, {{s|SkomplikowanaStronaStart}} a {{s|SkomplikowanaStronaKoniec}}, {{s|StandardowaStronaStart}} a {{s|StandardowaStronaKoniec}}, {{s|PodstawowaStronaStart}} a {{s|PodstawowaStronaKoniec}}, {{s|ProstaStronaStart}} a {{s|ProstaStronaKoniec}}, opisane na stronie {{s|StronaStart}}.
W tekście może pojawić się tekst o innym formatowaniu niż domyślnie, ten szablon jest szczególnym formatowaniem dla niego, lub może pojawić się tekst pomiędzy wzorami (lub ewentualnie przed albo po) w wywołaniu w pierwszym argumencie szablonu {{s|Wzór}}, {{s|Wzór2}}, {{s|CentrujWzór}}, {{s|CentrujWzór2}}, {{s|MathMLWzór}}, {{s|MathMLWzór2}}, {{s|CentrujMathMLWzór}} lub {{s|CentrujMathMLWzór2}}, albo {{s|Formuła}} lub {{s|MathMLFormuła}}.
== Użycie ==
Będziemy tutaj wypisywali zmienne szablonu {{s|Tekst}}:
----
; Zmienne w wywołaniu podstawowym tego szablonu
* {{Code|1}} = tekst.
----
; Zmienne w wywołaniu pełnym tego szablonu
* {{Code|tekst}} lub {{Code|1}} = tekst.
; Podstawowe skompensowane opcje dotyczące czcionek
* {{Code|czcionka}} = (rozmiar, wysokość linii, rodzina, wariant, rozciągnięcie, waga i styl) czcionki (opcjonalny).
; Dalsze nieskompensowane opcje dotyczące czcionek
* {{Code|rozmiar czcionki}} = rozmiar czcionki tekstu (opcjonalny domyślnie ustawione przez przeglądarkę lub za pomocą stylów),
* {{Code|wysokość linii czcionki}} = wysokość linii wiersza czcionki tekstu (opcjonalny domyślnie ustawione przez przeglądarkę lub za pomocą stylów),
* {{Code|rodzina czcionki}} = rodzina czcionki tekstu (opcjonalny domyślnie ustawione przez przeglądarkę lub za pomocą stylów),
* {{Code|wariant czcionki}} = wariant czcionki tekstu (opcjonalny domyślnie ustawione przez przeglądarkę lub za pomocą stylów),
* {{Code|rozciągnięcie czcionki}} = rozciągnięcie czcionki tekstu (opcjonalny domyślnie ustawione przez przeglądarkę lub za pomocą stylów),
* {{Code|waga czcionki}} = waga czcionki tekstu (opcjonalny domyślnie ustawione przez przeglądarkę lub za pomocą stylów),
* {{Code|styl czcionki}} = styl czcionki tekstu (opcjonalny domyślnie ustawione przez przeglądarkę lub za pomocą stylów).
----
Powyższe zmienne o nazwie określonej liczbą naturalną można użyć również bez nazywania parametrów.
== Przykłady ==
;Przykład pierwszy
{{s|ProstaStronaStart|minimalna szerokość strony{{=}}none|szerokość strony{{=}}auto}}
* <nowiki><span style="font-size:20px"></nowiki>Oto jest tekst, {{s|Tekst|a ten następny}}, a oto jeszcze inny...<nowiki></span></nowiki>
{{s|ProstaStronaKoniec}}
; Wynik - tutaj wynik wyświetlamy dla czcionki książkowej, a nie systemowej {{NAZWASERWISU|link=tak}}, pośrednio za pomocą szablonów kolejno otwierającego i zamykającego {{s|StronaStart}} i {{s|StronaKoniec}}
{{ProstaStronaStart|minimalna szerokość strony=none|szerokość strony=auto}}
* <span style="font-size:20px">Oto jest tekst, {{Tekst|a ten następny}}, a oto jeszcze inny...</span>
{{ProstaStronaKoniec}}
----
; Przykład pierwszy, gdy użyjemy bez szablonu {{s|Tekst}}
; Przykład bez użycia tego szablonu
{{s|ProstaStronaStart|minimalna szerokość strony{{=}}none|szerokość strony{{=}}auto}}
* <nowiki><span style="font-size:20px"></nowiki>Oto jest tekst, a ten następny, a oto jeszcze inny...<nowiki></span></nowiki>
{{s|ProstaStronaKoniec}}
; Wynik - tutaj wynik wyświetlamy dla czcionki książkowej, a nie systemowej {{NAZWASERWISU|link=tak}}, pośrednio za pomocą szablonów kolejno otwierającego i zamykającego {{s|StronaStart}} i {{s|StronaKoniec}}
{{ProstaStronaStart|minimalna szerokość strony=none|szerokość strony=auto}}
* <span style="font-size:20px">Oto jest tekst, a ten następny, a oto jeszcze inny...</span>
{{ProstaStronaKoniec}}
----
----
; Przykład drugi
{{s|ProstaStronaStart|minimalna szerokość strony{{=}}none|szerokość strony{{=}}auto}}
* Oto jest formuła: {{s|Formuła|<nowiki><MATH>c=\sqrt{a^2+b^2}\;</MATH></nowiki> {{s|Tekst|a to następne:}} <nowiki><MATH>c^2=a^2+b^2\;</MATH></nowiki>}}, a oto jeszcze inny...
{{s|ProstaStronaKoniec}}
; Wynik - tutaj wynik wyświetlamy dla czcionki książkowej, a nie systemowej {{NAZWASERWISU|link=tak}}, pośrednio za pomocą szablonów kolejno otwierającego i zamykającego {{s|StronaStart}} i {{s|StronaKoniec}}
{{ProstaStronaStart|minimalna szerokość strony=none|szerokość strony=auto}}
* Oto jest formuła: {{Formuła|<MATH>c=\sqrt{a^2+b^2}\;</MATH>{{Tekst|, a to następne:}} <MATH>c^2=a^2+b^2\;</MATH>}}, a oto jeszcze inny...
{{ProstaStronaKoniec}}
----
; Przykład drugi napiszmy bez użycia szablonu {{s|Tekst}}
; Przykład bez użycia tego szablonu
{{s|ProstaStronaStart|minimalna szerokość strony{{=}}none|szerokość strony{{=}}auto}}
* Oto jest formuła: {{s|Formuła|<nowiki><MATH>c=\sqrt{a^2+b^2}\;</MATH></nowiki> a to następne: <nowiki><MATH>c^2=a^2+b^2\;</MATH></nowiki>}}, a oto jeszcze inny...
{{s|ProstaStronaKoniec}}
; Wynik - tutaj wynik wyświetlamy dla czcionki książkowej, a nie systemowej {{NAZWASERWISU|link=tak}}, pośrednio za pomocą szablonów kolejno otwierającego i zamykającego {{s|StronaStart}} i {{s|StronaKoniec}}
{{ProstaStronaStart|minimalna szerokość strony=none|szerokość strony=auto}}
* Oto jest formuła: {{Formuła|<MATH>c=\sqrt{a^2+b^2}\;</MATH>, a to następne: <MATH>c^2=a^2+b^2\;</MATH>}}, a oto jeszcze inny...
{{ProstaStronaKoniec}}
----
Patrząc na przykład pierwszy i drugi, z użyciem szablonu {{s|Tekst}} i bez niego, ale za to z użyciem szablonów: {{s|ProstaStronaStart}} i {{s|ProstaStronaKoniec}}, to dochodzimy do wniosku, że za pomocą tego szablonu można zachować ustawienia bezpośrednie szablonu {{s|StronaStart}} i {{s|StronaKoniec}} użyte specjalnie dla tekstu, a nie do wzorów, a więc na tym polega rola tego szablonu.
== Błędy ==
Błędy należy zgłaszać na stronie {{Kwestie techniczne}}.
== Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) ==
<templatedata>
{
"params": {
"tekst": {
"aliases": [
"1"
],
"description": "Tekst.",
"type": "string",
"required": true
},
"czcionka": {
"description": "(Rozmiar, wysokość linii, rodzina, wariant, rozciągnięcie, waga i styl) czcionki.",
"type": "string"
},
"wysokość linii czcionki": {
"description": "Wysokość linii wiersza czcionki tekstu.",
"type": "string"
},
"rodzina czcionki": {
"description": "Rodzina czcionki tekstu.",
"type": "string"
},
"wariant czcionki": {
"description": "Wariant czcionki tekstu.",
"type": "string"
},
"rozciągnięcie czcionki": {
"description": "Rozciągnięcie czcionki tekstu.",
"type": "string"
},
"waga czcionki": {
"description": "Waga czcionki tekstu.",
"type": "string"
},
"styl czcionki": {
"description": "Styl czcionki tekstu.",
"type": "string"
}
},
"paramOrder": [
"tekst",
"czcionka",
"wysokość linii czcionki",
"rodzina czcionki",
"wariant czcionki",
"rozciągnięcie czcionki",
"waga czcionki",
"styl czcionki"
],
"description": "Szablon wstawiający sformatowany tekst pomiędzy formułami <MATH>...</MATH>, we szablonach stronicowych obsługujący wzory matematyczne."
}
</templatedata>
== Zobacz też ==
; Wzory w tekście
* {{s|Formuła}} - szablon do wyświetlania wzorów w tekście za pomocą rysunku.
* {{s|MathMLFormuła}} - szablon do wyświetlania wzorów w tekście wykorzystująca technologię MATHML.
; Wzory w linii
* {{s|Wzór}} i {{s|Wzór2}} - szablony do wyświetlania wzoru, po lewej, po prawej lub po środku, wraz z ich numeracją kolejno po prawej i lewej, wzory tutaj są wyświetlane za pomocą rysunku,
* {{s|MathMLWzór}} i {{s|MathMLWzór2}} - szablony do wyświetlania wzoru, po lewej, po prawej lub po środku, wraz z ich numeracją kolejno po prawej i lewej, wzory tutaj są wyświetlane za pomocą technologii MATHML,
* {{s|CentrujWzór}} i {{s|CentrujWzór2}} - szablony do wyświetlania wzoru, po środku, wraz z ich numeracją kolejno po prawej i lewej, wzory tutaj są wyświetlane za pomocą rysunku,
* {{s|CentrujMathMLWzór}} i {{s|CentrujMathMLWzór2}} - szablony do wyświetlania wzoru, po środku, wraz z ich numeracją kolejno po prawej i lewej, wzory tutaj są wyświetlane za pomocą technologii MATHML.
{{BrClear}}
<includeonly><!--
++++ DODAWAJ KATEGORIE PONIŻEJ TEJ LINII -->
{{Kategoria|Szablony stronicowe}}
</includeonly>
qji4xqni8jkt68pa11ra8hgad13noz1
437976
437975
2022-08-17T09:59:00Z
Persino
2851
/* Przykłady */
wikitext
text/x-wiki
{{Podstrona dokumentacji}}
{{Lua|Moduł:StronicowyParser}}
{{Szablony stronicowe}}
<!-- DODAWAJ KATEGORIE NA DOLE STRONY -->
== Instrukcja obsługi ==
Tego szablonu używamy, gdy on znajduje się w tekście lub pomiędzy wzorami, w jakimś szablonie wymienionym poniżej, pomiędzy szablonem stronicowym otwierającym i zamykającym z: {{s|StronaStart}} a {{s|StronaKoniec}}, {{s|UnikatowaStronaStart}} a {{s|UnikatowaStronaKoniec}}, {{s|SkomplikowanaStronaStart}} a {{s|SkomplikowanaStronaKoniec}}, {{s|StandardowaStronaStart}} a {{s|StandardowaStronaKoniec}}, {{s|PodstawowaStronaStart}} a {{s|PodstawowaStronaKoniec}}, {{s|ProstaStronaStart}} a {{s|ProstaStronaKoniec}}, opisane na stronie {{s|StronaStart}}.
W tekście może pojawić się tekst o innym formatowaniu niż domyślnie, ten szablon jest szczególnym formatowaniem dla niego, lub może pojawić się tekst pomiędzy wzorami (lub ewentualnie przed albo po) w wywołaniu w pierwszym argumencie szablonu {{s|Wzór}}, {{s|Wzór2}}, {{s|CentrujWzór}}, {{s|CentrujWzór2}}, {{s|MathMLWzór}}, {{s|MathMLWzór2}}, {{s|CentrujMathMLWzór}} lub {{s|CentrujMathMLWzór2}}, albo {{s|Formuła}} lub {{s|MathMLFormuła}}.
== Użycie ==
Będziemy tutaj wypisywali zmienne szablonu {{s|Tekst}}:
----
; Zmienne w wywołaniu podstawowym tego szablonu
* {{Code|1}} = tekst.
----
; Zmienne w wywołaniu pełnym tego szablonu
* {{Code|tekst}} lub {{Code|1}} = tekst.
; Podstawowe skompensowane opcje dotyczące czcionek
* {{Code|czcionka}} = (rozmiar, wysokość linii, rodzina, wariant, rozciągnięcie, waga i styl) czcionki (opcjonalny).
; Dalsze nieskompensowane opcje dotyczące czcionek
* {{Code|rozmiar czcionki}} = rozmiar czcionki tekstu (opcjonalny domyślnie ustawione przez przeglądarkę lub za pomocą stylów),
* {{Code|wysokość linii czcionki}} = wysokość linii wiersza czcionki tekstu (opcjonalny domyślnie ustawione przez przeglądarkę lub za pomocą stylów),
* {{Code|rodzina czcionki}} = rodzina czcionki tekstu (opcjonalny domyślnie ustawione przez przeglądarkę lub za pomocą stylów),
* {{Code|wariant czcionki}} = wariant czcionki tekstu (opcjonalny domyślnie ustawione przez przeglądarkę lub za pomocą stylów),
* {{Code|rozciągnięcie czcionki}} = rozciągnięcie czcionki tekstu (opcjonalny domyślnie ustawione przez przeglądarkę lub za pomocą stylów),
* {{Code|waga czcionki}} = waga czcionki tekstu (opcjonalny domyślnie ustawione przez przeglądarkę lub za pomocą stylów),
* {{Code|styl czcionki}} = styl czcionki tekstu (opcjonalny domyślnie ustawione przez przeglądarkę lub za pomocą stylów).
----
Powyższe zmienne o nazwie określonej liczbą naturalną można użyć również bez nazywania parametrów.
== Przykłady ==
;Przykład pierwszy
{{s|ProstaStronaStart|minimalna szerokość strony{{=}}none|szerokość strony{{=}}auto}}
* <nowiki><span style="font-size:20px"></nowiki>Oto jest tekst, {{s|Tekst|a ten następny}}, a oto jeszcze inny...<nowiki></span></nowiki>
{{s|ProstaStronaKoniec}}
; Wynik - tutaj wynik wyświetlamy dla czcionki książkowej, a nie systemowej {{NAZWASERWISU|link=tak}}, pośrednio za pomocą szablonów kolejno otwierającego i zamykającego {{s|StronaStart}} i {{s|StronaKoniec}}
{{ProstaStronaStart|minimalna szerokość strony=none|szerokość strony=auto}}
* <span style="font-size:20px">Oto jest tekst, {{Tekst|a ten następny}}, a oto jeszcze inny...</span>
{{ProstaStronaKoniec}}
----
; Przykład pierwszy, gdy użyjemy bez szablonu {{s|Tekst}}
; Przykład bez użycia tego szablonu
{{s|ProstaStronaStart|minimalna szerokość strony{{=}}none|szerokość strony{{=}}auto}}
* <nowiki><span style="font-size:20px"></nowiki>Oto jest tekst, a ten następny, a oto jeszcze inny...<nowiki></span></nowiki>
{{s|ProstaStronaKoniec}}
; Wynik - tutaj wynik wyświetlamy dla czcionki książkowej, a nie systemowej {{NAZWASERWISU|link=tak}}, pośrednio za pomocą szablonów kolejno otwierającego i zamykającego {{s|StronaStart}} i {{s|StronaKoniec}}
{{ProstaStronaStart|minimalna szerokość strony=none|szerokość strony=auto}}
* <span style="font-size:20px">Oto jest tekst, a ten następny, a oto jeszcze inny...</span>
{{ProstaStronaKoniec}}
----
----
; Przykład drugi
{{s|ProstaStronaStart|minimalna szerokość strony{{=}}none|szerokość strony{{=}}auto}}
* Oto jest formuła: {{s|Formuła|<nowiki><MATH>c=\sqrt{a^2+b^2}\;</MATH></nowiki> {{s|Tekst|a to następne:}} <nowiki><MATH>c^2=a^2+b^2\;</MATH></nowiki>}}, a oto jeszcze inny...
{{s|ProstaStronaKoniec}}
; Wynik - tutaj wynik wyświetlamy dla czcionki książkowej, a nie systemowej {{NAZWASERWISU|link=tak}}, pośrednio za pomocą szablonów kolejno otwierającego i zamykającego {{s|StronaStart}} i {{s|StronaKoniec}}
{{ProstaStronaStart|minimalna szerokość strony=none|szerokość strony=auto}}
* Oto jest formuła: {{Formuła|<MATH>c=\sqrt{a^2+b^2}\;</MATH>{{Tekst|, a to następne:}} <MATH>c^2=a^2+b^2\;</MATH>}}, a oto jeszcze inny...
{{ProstaStronaKoniec}}
----
; Przykład drugi napiszmy bez użycia szablonu {{s|Tekst}}
; Przykład bez użycia tego szablonu
{{s|ProstaStronaStart|minimalna szerokość strony{{=}}none|szerokość strony{{=}}auto}}
* Oto jest formuła: {{s|Formuła|<nowiki><MATH>c=\sqrt{a^2+b^2}\;</MATH></nowiki> a to następne: <nowiki><MATH>c^2=a^2+b^2\;</MATH></nowiki>}}, a oto jeszcze inny...
{{s|ProstaStronaKoniec}}
; Wynik - tutaj wynik wyświetlamy dla czcionki książkowej, a nie systemowej {{NAZWASERWISU|link=tak}}, pośrednio za pomocą szablonów kolejno otwierającego i zamykającego {{s|StronaStart}} i {{s|StronaKoniec}}
{{ProstaStronaStart|minimalna szerokość strony=none|szerokość strony=auto}}
* Oto jest formuła: {{Formuła|<MATH>c=\sqrt{a^2+b^2}\;</MATH>, a to następne: <MATH>c^2=a^2+b^2\;</MATH>}}, a oto jeszcze inny...
{{ProstaStronaKoniec}}
----
----
Patrząc na przykład pierwszy i drugi, z użyciem szablonu {{s|Tekst}} i bez niego, ale za to z użyciem szablonów: {{s|ProstaStronaStart}} i {{s|ProstaStronaKoniec}}, to dochodzimy do wniosku, że za pomocą tego szablonu można zachować ustawienia bezpośrednie szablonu {{s|StronaStart}} i {{s|StronaKoniec}} użyte specjalnie dla tekstu, a nie do wzorów, a więc na tym polega rola tego szablonu.
== Błędy ==
Błędy należy zgłaszać na stronie {{Kwestie techniczne}}.
== Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) ==
<templatedata>
{
"params": {
"tekst": {
"aliases": [
"1"
],
"description": "Tekst.",
"type": "string",
"required": true
},
"czcionka": {
"description": "(Rozmiar, wysokość linii, rodzina, wariant, rozciągnięcie, waga i styl) czcionki.",
"type": "string"
},
"wysokość linii czcionki": {
"description": "Wysokość linii wiersza czcionki tekstu.",
"type": "string"
},
"rodzina czcionki": {
"description": "Rodzina czcionki tekstu.",
"type": "string"
},
"wariant czcionki": {
"description": "Wariant czcionki tekstu.",
"type": "string"
},
"rozciągnięcie czcionki": {
"description": "Rozciągnięcie czcionki tekstu.",
"type": "string"
},
"waga czcionki": {
"description": "Waga czcionki tekstu.",
"type": "string"
},
"styl czcionki": {
"description": "Styl czcionki tekstu.",
"type": "string"
}
},
"paramOrder": [
"tekst",
"czcionka",
"wysokość linii czcionki",
"rodzina czcionki",
"wariant czcionki",
"rozciągnięcie czcionki",
"waga czcionki",
"styl czcionki"
],
"description": "Szablon wstawiający sformatowany tekst pomiędzy formułami <MATH>...</MATH>, we szablonach stronicowych obsługujący wzory matematyczne."
}
</templatedata>
== Zobacz też ==
; Wzory w tekście
* {{s|Formuła}} - szablon do wyświetlania wzorów w tekście za pomocą rysunku.
* {{s|MathMLFormuła}} - szablon do wyświetlania wzorów w tekście wykorzystująca technologię MATHML.
; Wzory w linii
* {{s|Wzór}} i {{s|Wzór2}} - szablony do wyświetlania wzoru, po lewej, po prawej lub po środku, wraz z ich numeracją kolejno po prawej i lewej, wzory tutaj są wyświetlane za pomocą rysunku,
* {{s|MathMLWzór}} i {{s|MathMLWzór2}} - szablony do wyświetlania wzoru, po lewej, po prawej lub po środku, wraz z ich numeracją kolejno po prawej i lewej, wzory tutaj są wyświetlane za pomocą technologii MATHML,
* {{s|CentrujWzór}} i {{s|CentrujWzór2}} - szablony do wyświetlania wzoru, po środku, wraz z ich numeracją kolejno po prawej i lewej, wzory tutaj są wyświetlane za pomocą rysunku,
* {{s|CentrujMathMLWzór}} i {{s|CentrujMathMLWzór2}} - szablony do wyświetlania wzoru, po środku, wraz z ich numeracją kolejno po prawej i lewej, wzory tutaj są wyświetlane za pomocą technologii MATHML.
{{BrClear}}
<includeonly><!--
++++ DODAWAJ KATEGORIE PONIŻEJ TEJ LINII -->
{{Kategoria|Szablony stronicowe}}
</includeonly>
d6qsqrzqmz9yg5gzaiyy3ea9dnjjfuw
Szablon:Pomocy/opis
10
33544
437921
262361
2022-08-16T22:20:40Z
Persino
2851
wikitext
text/x-wiki
{{Podstrona dokumentacji}}
<!-- DODAWAJ KATEGORIE I INTERWIKI NA DOLE STRONY -->
== Użycie ==
'''Szablon wstawia się, wpisując na swojej stronie poniższy tekst:'''
{{Code|{{s|Pomocy}}}} lub {{Code|{{s|Pomocy|Treść problemu}}}}
Ten szablon jest częścią roboczej Wikibooks i nie należy go stosować w przestrzeni nazw artykułów podręcznikowych. Automatycznie dodaje kategorię {{LinkKategoria|Wikipedyści potrzebujący pomocy}}.
== Zobacz też ==
* {{s|Pomagam}} - szablon, który wyświetla liczbę użytkowników, którzy potrzebują pomocy.
{{BrClear}}
<includeonly><!--
++++ DODAWAJ KATEGORIE I INTERWIKI PONIŻEJ TEJ LINII -->
{{Kategorie
|Szablony dodające kategorie
| Pomoc - szablony
}}
</includeonly>
mx6cuy58althsb286fjwzp8b7qa8pfo
437923
437921
2022-08-16T22:27:54Z
Persino
2851
wikitext
text/x-wiki
{{Podstrona dokumentacji}}
<!-- DODAWAJ KATEGORIE I INTERWIKI NA DOLE STRONY -->
== Użycie ==
'''Szablon wstawia się, wpisując na swojej stronie poniższy tekst:'''
{{Code|{{s|Pomocy}}}} lub {{Code|{{s|Pomocy|Treść problemu}}}}
Ten szablon jest częścią roboczej Wikibooks i nie należy go stosować w przestrzeni nazw artykułów podręcznikowych. Automatycznie dodaje kategorię {{LinkKategoria|Wikipedyści potrzebujący pomocy}}.
== Przykład ==
; Przykład
* {{s|Pomocy}}
; Wynik
{{OpakujKategorieZeSortowaniem|{{Pomocy}}}}
----
; Przykład
* {{s|Pomocy|Treść problemu}}
; Wynik
{{OpakujKategorieZeSortowaniem|{{Pomocy|Treść problemu}}}}
== Zobacz też ==
* {{s|Pomagam}} - szablon, który wyświetla liczbę użytkowników, którzy potrzebują pomocy.
{{BrClear}}
<includeonly><!--
++++ DODAWAJ KATEGORIE I INTERWIKI PONIŻEJ TEJ LINII -->
{{Kategorie
|Szablony dodające kategorie
| Pomoc - szablony
}}
</includeonly>
fi1q541pplb3zfrbrshaufsi5tkvqzz
Szablon:Pomagam
10
33545
437925
432279
2022-08-16T22:43:29Z
Persino
2851
wikitext
text/x-wiki
<includeonly>{{#ifexpr:{{{liczba użytkowników|{{PAGESINCAT:Wikipedyści_potrzebujący_pomocy}}}}}>0|<div class="usermessage" style="margin:0.5em 0">Uwaga! {{LinkKategoria|Wikipedyści potrzebujący pomocy|{{{liczba użytkowników|{{PAGESINCAT:Wikipedyści_potrzebujący_pomocy}}}}} {{PLURAL:{{{liczba użytkowników|{{PAGESINCAT:Wikipedyści_potrzebujący_pomocy}}}}}|wikipedysta|wikipedystów}} potrzebuje pomocy}}.</div>|<div class="usermessage" style="margin:0.5em 0">{{LinkKategoria|Wikipedyści potrzebujący pomocy|Uwaga! Nie ma wikipedystów oczekujących na pomoc doświadczonego użytkownika}}.</div>}}</includeonly><noinclude>{{Dokumentacja}}</noinclude>
e93mhu5fpwbcy08zupibpjzysnod0nw
Szablon:Pomagam/opis
10
33546
437919
432280
2022-08-16T22:15:10Z
Persino
2851
wikitext
text/x-wiki
{{Podstrona dokumentacji}}
{{Div|klasa=usermessage|styl=margin:0.5em 0|Uwaga! {{LinkKategoria|Wikipedyści potrzebujący pomocy|''{{Big|<math>x</math>}}'' wikipedystów potrzebuje pomocy}}.}}
<!-- DODAWAJ KATEGORIE I INTERWIKI NA DOLE STRONY -->
== Użycie ==
Szablon przeznaczony jest dla doświadczonych użytkowników, którzy chcą pomóc w rozwiązywaniu problemów początkujących wikipedystów. Informuje o dodaniu strony wikipedysty do kategorii {{LinkKategoria|Wikipedyści potrzebujący pomocy|„Wikipedyści potrzebujący pomocy”}} − komunikat jest wyświetlany wyłącznie na stronie, do której szablon jest dołączony. Dodaj go do swojej {{LinkPediaProjekt|Strona użytkownika|strony użytkownika}} lub strony dyskusji i pomóż innym!
== Przykład ==
{{s|Pomagam}}
== Błędy ==
Błędy należy zgłaszać na stronie {{kwestie techniczne}}.
== Zobacz też ==
* {{s|Pomocy}}
<includeonly><!--
++++ DODAWAJ KATEGORIE I INTERWIKI PONIŻEJ TEJ LINII -->
{{Kategoria|Pomoc - szablony}}
</includeonly>
d8rh40illbyw4h4ca3cnfeoi8sog9pu
437920
437919
2022-08-16T22:15:34Z
Persino
2851
wikitext
text/x-wiki
{{Podstrona dokumentacji}}
{{Div|klasa=usermessage|styl=margin:0.5em 0|Uwaga! {{LinkKategoria|Wikipedyści potrzebujący pomocy|''{{Big|<math>x</math>}}'' wikipedystów potrzebuje pomocy}}.}}
<!-- DODAWAJ KATEGORIE I INTERWIKI NA DOLE STRONY -->
== Użycie ==
Szablon przeznaczony jest dla doświadczonych użytkowników, którzy chcą pomóc w rozwiązywaniu problemów początkujących wikipedystów. Informuje o dodaniu strony wikipedysty do kategorii {{LinkKategoria|Wikipedyści potrzebujący pomocy|„Wikipedyści potrzebujący pomocy”}} − komunikat jest wyświetlany wyłącznie na stronie, do której szablon jest dołączony. Dodaj go do swojej {{LinkPediaProjekt|Strona użytkownika|strony użytkownika}} lub strony dyskusji i pomóż innym!
== Przykład ==
{{s|Pomagam}}
== Błędy ==
Błędy należy zgłaszać na stronie {{kwestie techniczne}}.
== Zobacz też ==
* {{s|Pomocy}}
{{BrClear}}
<includeonly><!--
++++ DODAWAJ KATEGORIE I INTERWIKI PONIŻEJ TEJ LINII -->
{{Kategoria|Pomoc - szablony}}
</includeonly>
ktiak4b64vnnq48hgrcydva87y9uqkq
437922
437920
2022-08-16T22:24:38Z
Persino
2851
wikitext
text/x-wiki
{{Podstrona dokumentacji}}
{{Div|klasa=usermessage|styl=margin:0.5em 0|Uwaga! {{LinkKategoria|Wikipedyści potrzebujący pomocy|''{{Big|<math>x</math>}}'' wikipedystów potrzebuje pomocy}}.}}
<!-- DODAWAJ KATEGORIE I INTERWIKI NA DOLE STRONY -->
== Użycie ==
Szablon przeznaczony jest dla doświadczonych użytkowników, którzy chcą pomóc w rozwiązywaniu problemów początkujących wikipedystów. Informuje o dodaniu strony wikipedysty do kategorii {{LinkKategoria|Wikipedyści potrzebujący pomocy|„Wikipedyści potrzebujący pomocy”}} − komunikat jest wyświetlany wyłącznie na stronie, do której szablon jest dołączony. Dodaj go do swojej {{LinkPediaProjekt|Strona użytkownika|strony użytkownika}} lub strony dyskusji i pomóż innym!
== Przykład ==
; Przykład
* {{s|Pomagam}}
; Wynik
{{Pomagam}}
== Błędy ==
Błędy należy zgłaszać na stronie {{kwestie techniczne}}.
== Zobacz też ==
* {{s|Pomocy}} - szablon mówiący, kto potrzebuje pomocy umieszczonej, którego strona użytkownika umieszczona została przez to na stronie kategorii: {{LinkKategoria|Wikipedyści potrzebujący pomocy}}.
{{BrClear}}
<includeonly><!--
++++ DODAWAJ KATEGORIE I INTERWIKI PONIŻEJ TEJ LINII -->
{{Kategoria|Pomoc - szablony}}
</includeonly>
dz7nkv6csbb7jl9xjtv4v4t6ve47nu1
437924
437922
2022-08-16T22:31:24Z
Persino
2851
/* Zobacz też */
wikitext
text/x-wiki
{{Podstrona dokumentacji}}
{{Div|klasa=usermessage|styl=margin:0.5em 0|Uwaga! {{LinkKategoria|Wikipedyści potrzebujący pomocy|''{{Big|<math>x</math>}}'' wikipedystów potrzebuje pomocy}}.}}
<!-- DODAWAJ KATEGORIE I INTERWIKI NA DOLE STRONY -->
== Użycie ==
Szablon przeznaczony jest dla doświadczonych użytkowników, którzy chcą pomóc w rozwiązywaniu problemów początkujących wikipedystów. Informuje o dodaniu strony wikipedysty do kategorii {{LinkKategoria|Wikipedyści potrzebujący pomocy|„Wikipedyści potrzebujący pomocy”}} − komunikat jest wyświetlany wyłącznie na stronie, do której szablon jest dołączony. Dodaj go do swojej {{LinkPediaProjekt|Strona użytkownika|strony użytkownika}} lub strony dyskusji i pomóż innym!
== Przykład ==
; Przykład
* {{s|Pomagam}}
; Wynik
{{Pomagam}}
== Błędy ==
Błędy należy zgłaszać na stronie {{kwestie techniczne}}.
== Zobacz też ==
* {{s|Pomocy}} - szablon mówiący, kto potrzebuje pomocy, którego strona użytkownika umieszczona została przez to na stronie kategorii: {{LinkKategoria|Wikipedyści potrzebujący pomocy}}.
{{BrClear}}
<includeonly><!--
++++ DODAWAJ KATEGORIE I INTERWIKI PONIŻEJ TEJ LINII -->
{{Kategoria|Pomoc - szablony}}
</includeonly>
pay2imjm1z1mgy531910sjewd5hhn37
437926
437924
2022-08-16T22:48:32Z
Persino
2851
/* Przykład */
wikitext
text/x-wiki
{{Podstrona dokumentacji}}
{{Div|klasa=usermessage|styl=margin:0.5em 0|Uwaga! {{LinkKategoria|Wikipedyści potrzebujący pomocy|''{{Big|<math>x</math>}}'' wikipedystów potrzebuje pomocy}}.}}
<!-- DODAWAJ KATEGORIE I INTERWIKI NA DOLE STRONY -->
== Użycie ==
Szablon przeznaczony jest dla doświadczonych użytkowników, którzy chcą pomóc w rozwiązywaniu problemów początkujących wikipedystów. Informuje o dodaniu strony wikipedysty do kategorii {{LinkKategoria|Wikipedyści potrzebujący pomocy|„Wikipedyści potrzebujący pomocy”}} − komunikat jest wyświetlany wyłącznie na stronie, do której szablon jest dołączony. Dodaj go do swojej {{LinkPediaProjekt|Strona użytkownika|strony użytkownika}} lub strony dyskusji i pomóż innym!
== Przykład ==
; Przykład w trybie bez symulacji
* {{s|Pomagam}}
; Wynik
{{Pomagam}}
----
; Przykład z symulacją zero użytkowników
* {{s|Pomagam|liczba użytkowników{{=}}0}}
; Wynik
{{Pomagam|liczba użytkowników=0}}
----
; Przykład z symulacją jednego użytkownika
* {{s|Pomagam|liczba użytkowników{{=}}1}}
; Wynik
{{Pomagam|liczba użytkowników=1}}
----
; Przykład z symulacją pięciu użytkowników
* {{s|Pomagam|liczba użytkowników{{=}}5}}
; Wynik
{{Pomagam|liczba użytkowników=5}}
== Błędy ==
Błędy należy zgłaszać na stronie {{kwestie techniczne}}.
== Zobacz też ==
* {{s|Pomocy}} - szablon mówiący, kto potrzebuje pomocy, którego strona użytkownika umieszczona została przez to na stronie kategorii: {{LinkKategoria|Wikipedyści potrzebujący pomocy}}.
{{BrClear}}
<includeonly><!--
++++ DODAWAJ KATEGORIE I INTERWIKI PONIŻEJ TEJ LINII -->
{{Kategoria|Pomoc - szablony}}
</includeonly>
26ywhnis1riicw53n3z6uymi5c3qpjs
437927
437926
2022-08-16T23:06:37Z
Persino
2851
/* Przykład */
wikitext
text/x-wiki
{{Podstrona dokumentacji}}
{{Div|klasa=usermessage|styl=margin:0.5em 0|Uwaga! {{LinkKategoria|Wikipedyści potrzebujący pomocy|''{{Big|<math>x</math>}}'' wikipedystów potrzebuje pomocy}}.}}
<!-- DODAWAJ KATEGORIE I INTERWIKI NA DOLE STRONY -->
== Użycie ==
Szablon przeznaczony jest dla doświadczonych użytkowników, którzy chcą pomóc w rozwiązywaniu problemów początkujących wikipedystów. Informuje o dodaniu strony wikipedysty do kategorii {{LinkKategoria|Wikipedyści potrzebujący pomocy|„Wikipedyści potrzebujący pomocy”}} − komunikat jest wyświetlany wyłącznie na stronie, do której szablon jest dołączony. Dodaj go do swojej {{LinkPediaProjekt|Strona użytkownika|strony użytkownika}} lub strony dyskusji i pomóż innym!
== Przykład ==
; Przykład w trybie bez symulacji
* {{s|Pomagam}}
; Wynik
{{Pomagam}}
----
; Przykład z symulacją zera użytkowników
* {{s|Pomagam|liczba użytkowników{{=}}0}}
; Wynik
{{Pomagam|liczba użytkowników=0}}
----
; Przykład z symulacją jednego użytkownika
* {{s|Pomagam|liczba użytkowników{{=}}1}}
; Wynik
{{Pomagam|liczba użytkowników=1}}
----
; Przykład z symulacją pięciu użytkowników
* {{s|Pomagam|liczba użytkowników{{=}}5}}
; Wynik
{{Pomagam|liczba użytkowników=5}}
== Błędy ==
Błędy należy zgłaszać na stronie {{kwestie techniczne}}.
== Zobacz też ==
* {{s|Pomocy}} - szablon mówiący, kto potrzebuje pomocy, którego strona użytkownika umieszczona została przez to na stronie kategorii: {{LinkKategoria|Wikipedyści potrzebujący pomocy}}.
{{BrClear}}
<includeonly><!--
++++ DODAWAJ KATEGORIE I INTERWIKI PONIŻEJ TEJ LINII -->
{{Kategoria|Pomoc - szablony}}
</includeonly>
1ghbhlnwe5sbp4qwthd0lazcmu5kgku
Szablon:ProstaStronaStart
10
33853
437974
430316
2022-08-17T09:56:06Z
Persino
2851
wikitext
text/x-wiki
<includeonly>{{StronaStart
| formatowanie = tak
| podręcznik =
| spis treści =
| minimalna szerokość strony = {{{minimalna szerokość strony|800px}}}
| maksymalna szerokość strony = {{{maksymalna szerokość strony|none}}}
| szerokość strony = {{{szerokość strony|100%}}}
| obramowanie = {{{obramowanie|}}}
| margines wewnętrzny =
| margines zewnętrzny =
| pasek przewijania = {{{pasek przewijania|}}}
}}</includeonly><noinclude>{{Dokumentacja}}</noinclude>
s06f8o43517fdg96fzpmnyzrb0tsiki
Wikibooks:Prośby do administratorów interfejsu/Zgłoszenia
4
33868
437890
437868
2022-08-16T15:38:01Z
Persino
2851
/* Przecieki pamięci w {{LinkKomunikat2|common.js}} w połączeniu z {{LinkUżytkownik2|Persino/common.js}} */
wikitext
text/x-wiki
<noinclude>__LINKNOWEJSEKCJI__ [[Kategoria:Księga próśb i zadań]]</noinclude>
{{fmbox|tekst=UWAGA: Nowe zgłoszenia o innym temacie niż to co dotyczy [[Wikibooks:Prośby do administratorów interfejsu/Zgłoszenia]] lub łamiące zasady [[Wikibooks:Wikietykieta|Wikietykiety]] mogą być bezwarunkowo wycofywane z tej strony}}
<!-- Nowe zgłoszenia wstawiaj poniżej tej linii. Powyżej tej linii nic nie usuwaj. Nie usuwaj tej linii -->
== Usunięcie wymuszenia białego tła w tabelach. ==
Zwracam się z prośbą o usunięcie [[MediaWiki:Common.css]] fragmentu
<syntaxhighlight lang="css">
}
+
table.wikitable td,
+
table.prettytable td {
+
background: #f9f9f9;
</syntaxhighlight>
Fragment ten wymusza białe tło w tabelach, co uniemożliwia zastosowanie kolorowych komórek. Takowe bardzo by się przydały np. w opracowywanym przeze [[Zbiór zadań maturalnych/Biologia|Zbiorze zadań maturalnych z Biologii]] jak np. tu: [[:Kategoria:Zbiór zadań maturalnych/podstawa programowa 2017/Biologia/Zakres rozszerzony/Treści nauczania/II/3/1]]. Póki co posiłkuję się obramowaniem, chciałbym jednak docelowo zastosować kolorowanie komórek.
Z góry dziękuję za rozpatrzenie mojej prośby.
[[Wikipedysta:Superjurek|Superjurek]] ([[Dyskusja wikipedysty:Superjurek|dyskusja]]) 22:42, 16 kwi 2021 (CEST)
-----
{{Ping|Superjurek}}Spróbuj użyć zapisu, np.:
<syntaxhighlight lang="css">
background-color: blue !important;
color:white !important;
</syntaxhighlight>
zamiast:
<syntaxhighlight lang="css">
background-color: blue;
color:white;
</syntaxhighlight>
to powinno naprawić cały problem! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:05, 27 maj 2022 (CEST)
==Wstawianie kodu do {{LinkKomunikat2|Common.js}}==
Czy mógłbyś wsadzić do tej strony {{Code|.js}} kod:
<syntaxhighlight lang="JavaScript">
function WyswietlStronyKsiazki(){
function WikikodTitle(data,tabs,titles,tabstrona){
var title=data.parse.title;
var wikikod=data.parse.text['*'];
var elements=tabstrona[title];
for(var q in elements){
elements[q].innerHTML=wikikod;
var a=elements[q].getElementsByTagName('a');
if((a!==null)&&(a.length>0)){
var lena=a.length;
for(var i=0;i<lena;++i){
var href=a[i].getAttribute('href');
if(href!==null){
var re=/^[^\?]+\?[^&]+=[^&]*&?/g;
if(!re.test(href)){
var re2=/#/g;
var s=href.search(re2);
if(s!=-1){
var re=/^\/wiki\//g;
if(re.test(href)){
var href2=href.substring(6,s)
href2=decodeURI(href2);
href2=href2.replace(/[_\s]+/g," ");
for(var s=0;s<titles.length;s++){
var strona=titles[s];
if(href2==strona){
var href3=href.replace(/^[^#]*/g,"");
var a_toc=a[i];
a_toc.setAttribute('href',encodeURI(href3));
a_toc.setAttribute("title","");
}
}
}
}else{
var re=/^\/wiki\//g;
if(re.test(href)){
var hrefv=href.replace(re,"");
var hrefs=decodeURI(hrefv);
hrefs=hrefs.replace(/[_\s]+/g," ");
for(var s=0;s<titles.length;s++){
var strona=titles[s];
if(hrefs==strona){
var hrefs2=hrefv.replace(/^[^\/]*\//g,"");
var a_toc=a[i];
a_toc.setAttribute('href','#'+hrefs2);
a_toc.setAttribute("title","");
}
}
}
}
}
}
}
}
}
var tab_toc=new Array("toc","toc_spis");
for(var d=0;d<tab_toc.length;++d){
var toc=document.getElementsByClassName(tab_toc[d]);
if((toc!==null)&&(toc.length>0)){
for(var q in elements){
var num=new Array();
var v=0;
for(var e=0;e<tabs.length;++e){
if(tabs[e]==title){
v+=1;
if(parseInt(q)+1==v){
num.push(parseInt(e)+1);
break;
}
}
}
var headline=elements[q].getElementsByClassName("mw-headline");
if((headline!==null)&&(headline.length>0)){
var ulozenie=0;
var ostanie=0;
var len=headline.length;
var naglowek="";
var liczba_ulozenia_w_menu_spisu_tresci=1;
var h_number=1;
for (var k=0;k<len;++k){
var element2=headline[k];
var nag=element2.innerHTML;
var nag2=element2.getAttribute('id');
var h=element2.parentNode.tagName;
var h_numer=h.replace(/^[^\d]+/g,"");
h_numer=parseInt(h_numer)
if((ulozenie==0)||(ulozenie>=h_numer)){
ulozenie=h_numer-1;
}else {
if(ostatnie+1<h_numer-ulozenie){
ulozenie=h_numer-ostatnie-1;
}
}
ostatnie=h_numer-ulozenie;
h_numer=h_numer-ulozenie;
if(k==0){
num.push(1);
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="<ul><li><a href=\"#"+nag2+"\">"+nag+"</a>";
}else{
if(h_numer==liczba_ulozenia_w_menu_spisu_tresci){
num[num.length-1]+=1;
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="</li><li><a href=\"#"+nag2+"\">"+nag+"</a>";
}else{
if(h_numer>liczba_ulozenia_w_menu_spisu_tresci){
num.push(1);
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="<ul><li><a href=\"#"+nag2+"\">"+nag+"</a>";
liczba_ulozenia_w_menu_spisu_tresci=h_numer;
}else{
if(h_numer<liczba_ulozenia_w_menu_spisu_tresci){
num.splice(num.length-liczba_ulozenia_w_menu_spisu_tresci+h_numer,liczba_ulozenia_w_menu_spisu_tresci-h_numer);
num[num.length-1]+=1;
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+=('</li></ul>'.repeat(liczba_ulozenia_w_menu_spisu_tresci-h_numer))+"</li><li><a href=\"#"+nag2+"\">"+nag+"</a>";
liczba_ulozenia_w_menu_spisu_tresci=h_numer;
}
}
}
}
}
if(naglowek!=""){
naglowek+=('</li></ul>'.repeat(liczba_ulozenia_w_menu_spisu_tresci));
for(var b=0;b<toc.length;++b){
var a2=toc[b].getElementsByTagName('a');
if((a2!=null)&&(a2.length>0)){
for(var y=0;y<a2.length;++y){
var parent=a2[y].parentNode;
var href=a2[y].getAttribute('href');
href=href.replace(/^#/g,"");
var title2=title.replace(/^[^\/]+\//g,"");
if(href==title2.replace(/[_ ]+/g,"_")+((q>0)?("_"+(parseInt(q)+1)):"")){
var div=document.createElement('div');
div.innerHTML=naglowek;
var links=a2[y].getElementsByClassName('toctext');
if((links!=null)&&(links.length>0)){
var link=links[0].innerHTML;
if(link==title2){
parent.appendChild(div.getElementsByTagName('ul')[0]);
}
}
}
}
}
}
}
}
}
}
}
for(var d=0;d<tab_toc.length;++d){
var toc_pos=document.getElementsByClassName(tab_toc[d]);
if((toc_pos!==null)&&(toc_pos.length>0)){
for(var w=0;w<toc_pos.length;++w){
var li=toc_pos[w].getElementsByTagName('li');
var poziom;
var section=1;
for(var z=0;z<li.length;++z){
var parent=li[z].parentNode.parentNode;
if(parent!==null){
var klasa=parent.getAttribute('class');
if(klasa!==null){
var poziom=klasa.match(/toclevel-\d+/g);
if(poziom!==null){
poziom=parseInt(poziom.toString().match(/\d+$/).toString())+1;
}else{
poziom=1;
}
}else{poziom=1;}
}else{poziom=1;}
var klasa=li[z].getAttribute('class');
if(klasa!==null){
var czy_section=klasa.match(/tocsection-\d+/);
if(czy_section!==null){
klasa=klasa.replace(/tocsection-\d+/g,"tocsection-"+section);
li[z].setAttribute('class',klasa);
}else{
li[z].classList.add("tocsection-"+section);
}
var czy_level=klasa.match(/toclevel-\d+/);
if(czy_level!==null){
klasa=li[z].getAttribute('class');
klasa=klasa.replace(/toclevel-\d+/g,"toclevel-"+poziom);
li[z].setAttribute('class',klasa);
}else{
li[z].classList.add("toclevel-"+poziom);
}
}else{
li[z].setAttribute('class',"toclevel-"+poziom+" tocsection-"+section)
}
section=section+1;
}
}
}
}
var headline=document.getElementsByClassName('mw-headline');
if((headline)&&(headline.length>0)){
for(var i=0;i<headline.length;++i){
var c=1;
var el=headline[i];
var id0=el.innerHTML;
id0=id0.replace(/[_\s]+/g,"_");
id0=id0.replace(/<[^<>]+>/g,"");
for(var j=0;j<i;++j){
var el1=headline[j];
var id1=el1.innerHTML;
id1=id1.replace(/[_\s]+/g,"_");
id1=id1.replace(/<[^<>]+>/g,"");
if(id0==id1){
++c;
}
}
if(c==1){
el.setAttribute('id',id0);
}else{
el.setAttribute('id',id0+"_"+c);
}
}
}
var tab_toc=new Array("toc","toc_spis");
for(d=0;d<tab_toc.length;++d){
var toc_pos=document.getElementsByClassName(tab_toc[d]);
if((toc_pos!==null)&&(toc_pos.length>0)){
for(var w=0;w<toc_pos.length;++w){
var toc=toc_pos[w];
var a=toc.getElementsByTagName('a');
if((a)&&(a.length>0)){
for(var p=0;p<a.length;++p){
var strona=a[p].getElementsByClassName('toctext')[0].innerHTML.replace(/[_\s]+/g,"_");
strona=strona.replace(/<[^<>]+>/g,"");
var c=1;
for(var v=0;v<p;++v){
var strona2;
strona2=a[v].getElementsByClassName('toctext')[0].innerHTML.replace(/[_\s]+/g,"_");
strona2=strona2.replace(/<[^<>]+>/g,"");
if(strona==strona2){
++c;
}
}
strona=strona.replace(/<[^<>]+>/g,"");
if(c==1){
a[p].setAttribute('href',"#"+strona);
}else{
a[p].setAttribute('href',"#"+strona+"_"+c);
}
}
}
}
}
}
}
function StronaSubst(data){
var wikikod=data.parse.text['*'];
var elem=document.createElement('div');
elem.innerHTML=wikikod;
var klasa_mw_parser_out=elem.getElementsByClassName('mw-parser-output');
var wikikod_wyodrepniony=(((klasa_mw_parser_out)&&(klasa_mw_parser_out.length==1))?(klasa_mw_parser_out[0].innerHTML):wikikod);
var czy_wikikod=wikikod_wyodrepniony.match(/^\s*$/g);
if(czy_wikikod){return;}
var strona_subst="strona_subst";
var tagclass=document.getElementsByClassName(strona_subst);
if(tagclass==null){return null;}
var liczba_elementow=tagclass.length;
if(liczba_elementow==0){return null;}
var titles=new Array();
var tabstrona=new Array();
var tabs=new Array();
for (var i=0;i<liczba_elementow;++i){
var element=tagclass[i];
if(element.tagName!="DIV"){return null;}
var strona=element.innerHTML;
var re = /^[_ ]*$/g;
var dopasowanie = re.test(strona);
if(dopasowanie){return null;};
strona=strona.replace(/^[_ ]*/g,"");
strona=strona.replace(/[_ ]*$/g,"");
strona=strona.replace(/[_ ]+/g," ");
tabs[i]=strona;
var czy=false;
for(var d in titles){
if(titles[d]==strona){
czy=true;
break;
}
}
if(!czy){
titles[titles.length]=strona;
}
if(tabstrona[strona]==null){
tabstrona[strona]=new Array();
}
var tab=tabstrona[strona];
var tablen=tab.length;
tabstrona[strona][tablen]=element;
}
for ( var p in titles ) {
var strona=titles[p];
var api=new mw.Api;
api.get({
action: 'parse',
format: 'json',
prop: 'text',
title: strona,
text: '{{:'+strona+'}}',
disabletoc: true,
disablelimitreport: true,
contentmodel: 'wikitext'
}).done(function(data){
WikikodTitle(data,tabs,titles,tabstrona);
});
}
}
var strona = mw.config.get('wgPageName');
var api=new mw.Api;
api.get({
action: 'parse',
format: 'json',
prop: 'text',
title: strona,
text: '{{#invoke:StronicowyParser|CzyStronaSubst}}',
disabletoc: true,
disablelimitreport: true,
contentmodel: 'wikitext'
}).done(function(data){
StronaSubst(data)
});
}
$(WyswietlStronyKsiazki);
</syntaxhighlight>
Ten program {{Code|.js}} znajduje się na stronie: {{LinkUżytkownik2|Persino/common.js}}. Jak wstawisz ten kod do strony {{LinkKomunikat2|Common.js}}, to powinno wtedy zadziałać ładowanie modułów książki, za pomocą JavaScript, na stronie {{LinkUżytkownik2|Persino/Wersja do druku}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:09, 13 lis 2021 (CET)
== Gadżet StronaSubst - dodawanie do listy gadżetów ==
Mamy sobie kod JavaScript {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} i opis gadżetu {{LinkUżytkownik2|Persino/Gadget-StronaSubst}}, czy mógłbyś przenieść na strony w przestrzeni nazw {{Np|MediaWiki|link=tak}}, i wywołaniu gadżetu w takiej formie jak w {{LinkUżytkownik2|Persino/Gadgets-definition}} przenieść na stronę {{LinkKomunikat2|Gadgets-definition}}. Wtedy strona {{LinkUżytkownik2|Persino/Wersja do druku}} powinna działać! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:14, 27 lis 2021 (CET)
=== Zamienianie kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}} ===
{{Ping|Wargo}}Chodzi tutaj, że jak będzie link do artykułu w nagłówku, to, żeby nie pojawiało się pole '''[ artykuł | edytuj ]''' zamiast '''[ edytuj ]''' - aktualnie w {{LinkKomunikat2|Gadget-StronaSubst.js}} pole '''[ artykuł | edytuj ]''' pojawia się zawsze zamiast '''[ edytuj ]''', wtedy gdy ma zawartość '''strona_subst''' jest nie pusta, to algorytm jest zakańczany. A jak jest nazwa strony w zawartości div-a '''strona_subst''', a nie link w nagłówku, to wtedy ma się prawo pojawić '''[ artykuł | edytuj ]''' zamiast '''[ edytuj ]'''. Czy mógłbyś wersję {{LinkKomunikat2|Gadget-StronaSubst.js}} zamienić na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}. Z góry dziękuję za rozpatrzenie mojej prośby! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 10:13, 30 lis 2021 (CET)
----
{{Ping|Wargo}} Jeszcze, czy mógłbyś zamienić tekst w {{LinkKomunikat2|Gadget-StronaSubst}} z:
{{Pre|(bez sekcji "Spis treści" i "Licencja")}}
na
{{Pre|(bez sekcji "Spis treści", "Bibliografia" i "Licencja")}}
[[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:18, 1 gru 2021 (CET)
=== Ostatnia poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}===
{{Ping|Wargo}}Chodzi tutaj, że algorytm zawiesza się na artykule {{LinkGłówna|Mechanika kwantowa/Mechanika kwantowa}}, to co poprawiłem już tak przestaje być, błąd znikł! Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 18:30, 3 gru 2021 (CET)
=== Miejmy nadzieję, że to jest ostatnia poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}===
{{Ping|Wargo}}Chodzi tutaj, że algorytm ma błędy JavaScript na stronie, przy danej książce: {{LinkGłówna|Szachy}}, czyli przy artykule: {{LinkGłówna|Szachy/Szachy}} - błąd tylko widać, gdy chcemy zbadać element, moja poprawka usuwa ten błąd! Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:50, 4 gru 2021 (CET)
=== Następna poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}} ===
{{Ping|Wargo}}Chodzi tutaj, że algorytm nie wyświetla w TOC (wbudowany spis treści) podrozdziałów dla artykułu {{LinkGłówna|Matematyka dla liceum/Matematyka dla liceum}}, moja poprawka usuwa ten błąd. Skrypt porządkuje artykuły według nagłówków na stronie tego artykułu w TOC, a zestaw artykułów, w danek sekcji, wyświetla, również w TOC, je przydzielone do niej. Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:51, 7 gru 2021 (CET)
=== Poważne poprawki w {{LinkKomunikat2|Gadget-StronaSubst.js}} na podstawie {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} oraz dodanie i zmiana pewnych gadżetów ===
{{Ping|Wargo}} Następne poprawki dotyczące wpisu w {{LinkKomunikat2|Gadget-StronaSubst.js}}, co do zauważonych drobnych błędów, czyli mógłbyś dokonać zamiany kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}.
Z góry dziękuję. Poza tym wszystko działa, od razu dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:32, 8 gru 2021 (CET)
----
{{Ping|Wargo}} Jeszcze, czy mógłbyś zamienić tekst w {{LinkKomunikat2|Gadget-StronaSubst}} z:
{{Pre|(bez sekcji "Spis treści", "Bibliografia" i "Licencja")}}
na
{{Pre|(bez sekcji: "Spis treści", "Bibliografia", "Zobacz też", "Inne", "Licencja" i tym podobne)}}
Dziękuję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 05:43, 9 gru 2021 (CET)
----
{{Ping|Wargo}} Czy mógłbyś uzupełnić {{LinkKomunikat2|Gadgets-definition}}, według {{LinkUżytkownik2|Persino/Gadgets-definition}} - szczególnie trzeba naprawić odwołanie do gadżetu StronaSubst, i dodać gadżety: {{LinkUżytkownik2|Persino/Gadget-gConfig.js}} (jego opis jest w {{LinkUżytkownik2|Persino/Gadget-gConfig}}), przenosząc go do {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis do {{LinkKomunikat2|Gadget-gConfig}}), a także drugi gadżet dotyczący szablonu {{s|Cytuj}} przenieś z {{LinkUżytkownik2|Persino/Gadget-citation-access-info.js}} (jego opis to {{LinkUżytkownik2|Persino/Gadget-citation-access-info}}) do {{LinkKomunikat2|Gadget-citation-access-info.js}} (a jego opis do {{LinkKomunikat2|Gadget-citation-access-info}}).
Gadżet '''gConfig''' potrzebny mi jest do gadżetu {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}}, którego zawartość należy przenieść do {{LinkKomunikat2|Gadget-StronaSubst.js}}, a gadżet {{LinkUżytkownik2|Persino/Gadget-citation-access-info.js}}, potrzebny mi jest do szablonu {{s|Cytuj}} do dymku do pełnej wersji tego szablonu, który należy przenieść do {{LinkKomunikat2|Gadget-citation-access-info.js}}.
Proszę o pilną reakcję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:04, 11 gru 2021 (CET)
----
Również proszę o zastąpienie strony komunikatu {{LinkKomunikat2|Gadget-map-toggler.js}} stroną {{LinkUżytkownik2|Persino/Gadget-map-toggler.js}}. Z góry dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 18:38, 11 gru 2021 (CET)
== Zamiana wartości linkowej i szablonowej ==
{{Ping|Wargo}}Czy mógłbyś zamienić na stronie: {{LinkUżytkownik2|Rychozol/common.js}}, z wartości: {{Nowiki|[[GNU Free Documentation License|GFDL]]}}, na: {{Nowiki|[[Wikibooks:GNU Free Documentation License|GFDL]]}}, a także na tej samej stronie wartość: {{s|clear}}, na {{s|BrClear}}, ponieważ ze względu na zmianę nazw stron. Z góry dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:35, 13 gru 2021 (CET)
<del>== Dalsze zmiany na stronach gadżetów (pilne) ==
{{Ping|Wargo}}Czy mógłbyś zainstalować gadżet "Gadget-gConfig", tak jak na stronie {{LinkUżytkownik2|Persino/Gadgets-definition}} (pierwsza linijka) w {{LinkKomunikat2|Gadgets-definition}}, a co do tego, jego kod {{LinkUżytkownik2|Persino/Gadget-gConfig.js}} zainstalować w miejscu {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis jest w {{LinkUżytkownik2|Persino/Gadget-gConfig}}), przenosząc go do {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis do {{LinkKomunikat2|Gadget-gConfig}}). A później zaaktualizuj gadżet {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}, a także zainstalować w miejscu {{LinkKomunikat2|Gadget-Funkcje.js}} gadżet {{LinkUżytkownik2|Persino/Gadget-Funkcje.js}}, a również zaktualizować wpis dla gadżetu StronaSubst tak jak w {{LinkUżytkownik2|Persino/Gadgets-definition}}. A później sprawdzić, czy wszystko działa. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 13:19, 4 lut 2022 (CET)</del>
== Przepełnienie scrollbarów, poszczególnych elementów strony, a ustawienia różnych klas, jeżeli takowe istnieją ==
{{Ping|Wargo}}Czy mógłbyś uwzględnić na stronie {{LinkKomunikat2|Common.js}} część mojej strony, która jest po sekwencji /**/, będąca na stronie {{LinkUżytkownik2|Persino/common.js}}. Ten skrypt sprawdza, czy nastąpiło przepełnienie elementów strony dokumentu HTML Wikibooks, a jeżeli nastąpiło, to następuje ustawienie tam odpowiednich klas, a jeżeli ono znikło, to usunięcie tych klas. Ten skrypt jest mi potrzebny do szablonu {{s|StronaStart}} i jego pokrewnych oraz do mojego ustawienia skórki vector-2022, która jest w mojej przestrzeni użytkownika. Dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:23, 27 maj 2022 (CEST)
== Aktualizacja przepełnienia scrollbarów i implementacja sticky ==
{{Ping|Wargo}} Czy mógłbyś uwzględnić na stronie {{LinkKomunikat2|Common.js}} część mojej strony, która jest po sekwencji /**/, będąca na stronie {{LinkUżytkownik2|Persino/common.js}}. W przypadku pierwszego algorytmu, dodałem tam klasy {{Code|mw-overflow-x}} i {{Code|mw-overflow-y}}, które ten algorytm rozpoznaje, i dla nich liczy, czy nastąpiło to właśnie przepełnienie. A wcześniej liczyło dla wszystkich znaczników na stronie, co spowalniało całą stronę. Tam, gdzie, ważne jest liczenie przepełnienie wstawiłem {{Code|mw-overflow-x}}, czy {{Code|mw-overflow-y}}, czyli algorytm ten tam powinien działać, co można sprawdzić na stronie głównej tego projektu ({{NAZWASERWISU|link=tak}}). Drugi algorytm jest rozszerzenie właściwości {{Code|position:sticky}}, który on nie działa, gdy choćby jeden z rodziców jest z nie {{Code|overflow:visible}}, ale z {{Code|overflow}}, a ja zrobiłem, że jednak zaczeło działać, a ja tak to zrobiłem: {{Code|position:sticky}} zastąpiłem {{Code|position:absolute}}, w tym znaczników ustawiam {{Code|mw-sticky-y}} (przesuw w pionie) lub {{Code|mw-sticky-x}} (przesuw w poziomie), wtedy ten algorytm JavaScript działa tak, że pudełko przesuwa się od pewnej granicy do pewnej, ale nigdy nie wychodzi poza te granice, czyli działa podobnie jak {{Code|position:sticky}}. Dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 12:41, 9 lip 2022 (CEST)
==Aktualizacja skryptów na {{LinkKomunikat2|common.js}} z {{LinkUżytkownik2|Persino/common.js}}==
{{Ping|Wargo}} Czy mógłbyś zaktualizować kod na stronie {{LinkKomunikat2|common.js}} ze strony {{LinkUżytkownik2|Persino/common.js}} pod znakiem {{Code|/**/}}. Zdefiniowałem przestrzeń nazw {{Code|Common}} definicją:
{{Pre|var Common{{=}}new Array();}}
Prawie wszystkie funkcje ze strony {{LinkKomunikat2|common.js}} przeniosłem do tej przestrzeni na stronie {{LinkUżytkownik2|Persino/common.js}} (tutaj wszystkie funkcje są w przestrzeni {{Code|Common}}). Rozwinąłem funkcję {{Code|Common.ScrollBarOverflow}}, {{Code|Common.StickyXY}} i {{Code|Common.OptimalXY}}. Napisałem od nowa funkcje: {{Code|Common.RamkiTableIDiv}} i {{Code|Common.ZdarzeniaDodatkoweFunkcyjneXY}} oraz funkcję do obsługi szablonu {{s|StronaStart}} i jego pokrewnych książkowych z definiowałem w postaci: {{Code|Common.StronaStart}}.
Co oznaczają te funkcje:
* {{Code|Common.ScrollBarOverflow}} - do generowania pewnych klas, które służą do obsługi pudełka z paskami przewijania,
* {{Code|Common.StickyXY}} - aktualizacja funkcji {{Code|position:sticky}}, tam gdzie go nie można go użyć, do używamy tej funkcji,
* {{Code|Common.OptimalXY}} - do obsługi boksów na stronach z użytymi szablonami stronicowymi książkowymi otwierającymi i zamykającymi,
* {{Code|Common.RamkiTableIDiv}} - dodaje dalsze funkcje przy przyciskach tabel i ramek, nawigacyjnych,
* {{Code|Common.ZdarzeniaDodatkoweFunkcyjneXY}} - dodaje zdarzenia do obsługi funkcji: {{Code|Common.StickyXY}} i {{Code|Common.OptimalXY}},
* {{Code|Common.StronaStart}} - służy do obsługi spisu treści i boksów szablonu {{s|StronaStart}}.
Na stronach podręcznikowych boksy i spisy treści są responsywne według moich ustawień, a dla wszystkich użytkowników będą responsywne po zaktualizowaniu strony {{LinkKomunikat2|common.js}} przy pomocy {{LinkUżytkownik2|Persino/common.js}}.
----
Proszę o pilną reakcję i zrealizowanie mojej prośby. Z góry dziękuję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:55, 3 sie 2022 (CEST)
:Czy coś jest do usunięcia z obecnego common.js? Tj. czy coś stamtąd mam tym zastąpić? [[Wikipedysta:Wargo|Wargo]] ([[Dyskusja wikipedysty:Wargo|dyskusja]]) 20:55, 7 sie 2022 (CEST)
::{{Ping|Wargo}}Właśnie masz zastąpić nową wersją z pod /**/ z: {{LinkUżytkownik2|Persino/common.js}}, zastępując całą zawartość strony w: {{LinkKomunikat2|common.js}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:04, 7 sie 2022 (CEST)
:::{{Ping|Wargo}} Już możesz zastępować, wszystko gotowe! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:39, 7 sie 2022 (CEST)
===Ostatnia poprawka===
{{Ping|Wargo}}Czy mógłbyś linijkę kodu:
{{Pre|var top_ab{{=}}rect_rodzic[top]-margintop;
var bottom_ab{{=}}(wys-rect_rodzic[bottom])-marginbottom;
}}
poprawić na:
{{Pre|var top_ab{{=}}rect_rodzic[top];
var bottom_ab{{=}}(wys-rect_rodzic[bottom]);
}}
w funkcji: {{Code|Common.StickyXY}}, w {{LinkKomunikat2|common.js}} według {{LinkUżytkownik2|Persino/common.js}}. Tj. to linijka: 481-482.
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:51, 8 sie 2022 (CEST)
=== Miejmy nadzieję, że ostatnia poprawka na stronie {{LinkKomunikat2|common.js}} ===
{{Ping|Wargo}}Czy mógłbyś w kodzie w linii: 177 i 183, na stronie {{LinkKomunikat2|common.js}} według {{LinkUżytkownik2|Persino/common.js}} poprawić według schematu:
{{Pre
|collapseTable( i );
}}
zamienić na:
{{Pre
|Common.collapseTable( i );
}}
Poprawka jest ważna, bo tabele nawigacyjne, na stronie głównej i gdzieś indziej, nie chcą się kolapsować, a po tej operacji już będą się tak zachowywać!
----
W linii: 176 poprawić:
{{Pre
|1=if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) {{!}}{{!}} ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "Common.autoCollapse" ) ) ) {
}}
na kod:
{{Pre
|1=if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) {{!}}{{!}} ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) {
}}
----
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 13:34, 8 sie 2022 (CEST)
=== Poprawka, by zdarzenia nie były w postaci podwójnej, tzn. ze strony: {{LinkKomunikat2|common.js}} (strona {{Np|MediaWiki|link=tak}}), i {{LinkUżytkownik2|Persino/common.js}} (strona użytkownika - {{Np|User|link=tak}}) ===
{{Ping|Wargo}}Zrobiłem tak, by zdarzenia nie były w postaci podwójnej, tzn. ze strony MediaWiki: {{LinkKomunikat2|common.js}}, i strony użytkownika: {{LinkUżytkownik2|Persino/common.js}}, jeżeli takową stronę użytkownik posiada. Zrobiłem też tam parę drobnych innych edycji. Mówiąc najprostszej, zawartością z: {{LinkUżytkownik2|Persino/common.js}}, z pod {{Code|/**/}} zastąp zawartość strony: {{LinkKomunikat2|common.js}}. Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 07:13, 9 sie 2022 (CEST)
=== Poprawka strony {{LinkKomunikat2|Gadget-delete-local.js}}, kilka linijek ===
{{Ping|Wargo}} Czy mógłbyś zamienić zawartość strony {{LinkKomunikat2|Gadget-delete-local.js}} na {{LinkUżytkownik2|Persino/Gadget-delete-local.js}}.
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 07:13, 9 sie 2022 (CEST)
=== Przecieki pamięci w {{LinkKomunikat2|common.js}} w połączeniu z {{LinkUżytkownik2|Persino/common.js}} ===
{{Ping|Wargo}} Czy mógłbyś stronę {{LinkKomunikat2|common.js}} podmienić z zawartością strony {{LinkUżytkownik2|Persino/common.js}} z pod linii /**/. Z góry dziękuję za spełnienie prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 17:37, 15 sie 2022 (CEST)
=== Usunięcie funkcji {{Code|Promise}} z funkcji {{Code|Common.RamkiTableIDiv}}, a nowa poprawka w {{LinkKomunikat2|common.js}} przy pomocy {{LinkUżytkownik2|Persino/common.js}} ===
{{Ping|Wargo}} Kiedyś funkcja {{Code|Common.RamkiTableIDiv}} była uruchamiana za pomocą zwykłej funkcji bez umieszczenia go w bloku $, a teraz jest ona umieszczony właśnie w nim, więc {{Code|Promise}} jest już w nim nie potrzebna, więc usunąłem z tej funkcji właśnie nią, więc funkcję {{Code|Common.RamkiTableIDiv}} musiałem zmodyfikować.
Zadanie: Czy mógłbyś definicję funkcji {{Code|Common.RamkiTableIDiv}} w {{LinkKomunikat2|common.js}} zastąpić nową jego definicją funkcji z {{LinkUżytkownik2|Persino/common.js}}.
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 17:38, 16 sie 2022 (CEST)
4at3jgp0ymh36fww77zmauynxg0jo6k
437894
437890
2022-08-16T15:47:03Z
Persino
2851
/* Usunięcie funkcji {{Code|Promise}} z funkcji {{Code|Common.RamkiTableIDiv}}, a nowa poprawka w {{LinkKomunikat2|common.js}} przy pomocy {{LinkUżytkownik2|Persino/common.js}} */
wikitext
text/x-wiki
<noinclude>__LINKNOWEJSEKCJI__ [[Kategoria:Księga próśb i zadań]]</noinclude>
{{fmbox|tekst=UWAGA: Nowe zgłoszenia o innym temacie niż to co dotyczy [[Wikibooks:Prośby do administratorów interfejsu/Zgłoszenia]] lub łamiące zasady [[Wikibooks:Wikietykieta|Wikietykiety]] mogą być bezwarunkowo wycofywane z tej strony}}
<!-- Nowe zgłoszenia wstawiaj poniżej tej linii. Powyżej tej linii nic nie usuwaj. Nie usuwaj tej linii -->
== Usunięcie wymuszenia białego tła w tabelach. ==
Zwracam się z prośbą o usunięcie [[MediaWiki:Common.css]] fragmentu
<syntaxhighlight lang="css">
}
+
table.wikitable td,
+
table.prettytable td {
+
background: #f9f9f9;
</syntaxhighlight>
Fragment ten wymusza białe tło w tabelach, co uniemożliwia zastosowanie kolorowych komórek. Takowe bardzo by się przydały np. w opracowywanym przeze [[Zbiór zadań maturalnych/Biologia|Zbiorze zadań maturalnych z Biologii]] jak np. tu: [[:Kategoria:Zbiór zadań maturalnych/podstawa programowa 2017/Biologia/Zakres rozszerzony/Treści nauczania/II/3/1]]. Póki co posiłkuję się obramowaniem, chciałbym jednak docelowo zastosować kolorowanie komórek.
Z góry dziękuję za rozpatrzenie mojej prośby.
[[Wikipedysta:Superjurek|Superjurek]] ([[Dyskusja wikipedysty:Superjurek|dyskusja]]) 22:42, 16 kwi 2021 (CEST)
-----
{{Ping|Superjurek}}Spróbuj użyć zapisu, np.:
<syntaxhighlight lang="css">
background-color: blue !important;
color:white !important;
</syntaxhighlight>
zamiast:
<syntaxhighlight lang="css">
background-color: blue;
color:white;
</syntaxhighlight>
to powinno naprawić cały problem! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:05, 27 maj 2022 (CEST)
==Wstawianie kodu do {{LinkKomunikat2|Common.js}}==
Czy mógłbyś wsadzić do tej strony {{Code|.js}} kod:
<syntaxhighlight lang="JavaScript">
function WyswietlStronyKsiazki(){
function WikikodTitle(data,tabs,titles,tabstrona){
var title=data.parse.title;
var wikikod=data.parse.text['*'];
var elements=tabstrona[title];
for(var q in elements){
elements[q].innerHTML=wikikod;
var a=elements[q].getElementsByTagName('a');
if((a!==null)&&(a.length>0)){
var lena=a.length;
for(var i=0;i<lena;++i){
var href=a[i].getAttribute('href');
if(href!==null){
var re=/^[^\?]+\?[^&]+=[^&]*&?/g;
if(!re.test(href)){
var re2=/#/g;
var s=href.search(re2);
if(s!=-1){
var re=/^\/wiki\//g;
if(re.test(href)){
var href2=href.substring(6,s)
href2=decodeURI(href2);
href2=href2.replace(/[_\s]+/g," ");
for(var s=0;s<titles.length;s++){
var strona=titles[s];
if(href2==strona){
var href3=href.replace(/^[^#]*/g,"");
var a_toc=a[i];
a_toc.setAttribute('href',encodeURI(href3));
a_toc.setAttribute("title","");
}
}
}
}else{
var re=/^\/wiki\//g;
if(re.test(href)){
var hrefv=href.replace(re,"");
var hrefs=decodeURI(hrefv);
hrefs=hrefs.replace(/[_\s]+/g," ");
for(var s=0;s<titles.length;s++){
var strona=titles[s];
if(hrefs==strona){
var hrefs2=hrefv.replace(/^[^\/]*\//g,"");
var a_toc=a[i];
a_toc.setAttribute('href','#'+hrefs2);
a_toc.setAttribute("title","");
}
}
}
}
}
}
}
}
}
var tab_toc=new Array("toc","toc_spis");
for(var d=0;d<tab_toc.length;++d){
var toc=document.getElementsByClassName(tab_toc[d]);
if((toc!==null)&&(toc.length>0)){
for(var q in elements){
var num=new Array();
var v=0;
for(var e=0;e<tabs.length;++e){
if(tabs[e]==title){
v+=1;
if(parseInt(q)+1==v){
num.push(parseInt(e)+1);
break;
}
}
}
var headline=elements[q].getElementsByClassName("mw-headline");
if((headline!==null)&&(headline.length>0)){
var ulozenie=0;
var ostanie=0;
var len=headline.length;
var naglowek="";
var liczba_ulozenia_w_menu_spisu_tresci=1;
var h_number=1;
for (var k=0;k<len;++k){
var element2=headline[k];
var nag=element2.innerHTML;
var nag2=element2.getAttribute('id');
var h=element2.parentNode.tagName;
var h_numer=h.replace(/^[^\d]+/g,"");
h_numer=parseInt(h_numer)
if((ulozenie==0)||(ulozenie>=h_numer)){
ulozenie=h_numer-1;
}else {
if(ostatnie+1<h_numer-ulozenie){
ulozenie=h_numer-ostatnie-1;
}
}
ostatnie=h_numer-ulozenie;
h_numer=h_numer-ulozenie;
if(k==0){
num.push(1);
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="<ul><li><a href=\"#"+nag2+"\">"+nag+"</a>";
}else{
if(h_numer==liczba_ulozenia_w_menu_spisu_tresci){
num[num.length-1]+=1;
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="</li><li><a href=\"#"+nag2+"\">"+nag+"</a>";
}else{
if(h_numer>liczba_ulozenia_w_menu_spisu_tresci){
num.push(1);
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="<ul><li><a href=\"#"+nag2+"\">"+nag+"</a>";
liczba_ulozenia_w_menu_spisu_tresci=h_numer;
}else{
if(h_numer<liczba_ulozenia_w_menu_spisu_tresci){
num.splice(num.length-liczba_ulozenia_w_menu_spisu_tresci+h_numer,liczba_ulozenia_w_menu_spisu_tresci-h_numer);
num[num.length-1]+=1;
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+=('</li></ul>'.repeat(liczba_ulozenia_w_menu_spisu_tresci-h_numer))+"</li><li><a href=\"#"+nag2+"\">"+nag+"</a>";
liczba_ulozenia_w_menu_spisu_tresci=h_numer;
}
}
}
}
}
if(naglowek!=""){
naglowek+=('</li></ul>'.repeat(liczba_ulozenia_w_menu_spisu_tresci));
for(var b=0;b<toc.length;++b){
var a2=toc[b].getElementsByTagName('a');
if((a2!=null)&&(a2.length>0)){
for(var y=0;y<a2.length;++y){
var parent=a2[y].parentNode;
var href=a2[y].getAttribute('href');
href=href.replace(/^#/g,"");
var title2=title.replace(/^[^\/]+\//g,"");
if(href==title2.replace(/[_ ]+/g,"_")+((q>0)?("_"+(parseInt(q)+1)):"")){
var div=document.createElement('div');
div.innerHTML=naglowek;
var links=a2[y].getElementsByClassName('toctext');
if((links!=null)&&(links.length>0)){
var link=links[0].innerHTML;
if(link==title2){
parent.appendChild(div.getElementsByTagName('ul')[0]);
}
}
}
}
}
}
}
}
}
}
}
for(var d=0;d<tab_toc.length;++d){
var toc_pos=document.getElementsByClassName(tab_toc[d]);
if((toc_pos!==null)&&(toc_pos.length>0)){
for(var w=0;w<toc_pos.length;++w){
var li=toc_pos[w].getElementsByTagName('li');
var poziom;
var section=1;
for(var z=0;z<li.length;++z){
var parent=li[z].parentNode.parentNode;
if(parent!==null){
var klasa=parent.getAttribute('class');
if(klasa!==null){
var poziom=klasa.match(/toclevel-\d+/g);
if(poziom!==null){
poziom=parseInt(poziom.toString().match(/\d+$/).toString())+1;
}else{
poziom=1;
}
}else{poziom=1;}
}else{poziom=1;}
var klasa=li[z].getAttribute('class');
if(klasa!==null){
var czy_section=klasa.match(/tocsection-\d+/);
if(czy_section!==null){
klasa=klasa.replace(/tocsection-\d+/g,"tocsection-"+section);
li[z].setAttribute('class',klasa);
}else{
li[z].classList.add("tocsection-"+section);
}
var czy_level=klasa.match(/toclevel-\d+/);
if(czy_level!==null){
klasa=li[z].getAttribute('class');
klasa=klasa.replace(/toclevel-\d+/g,"toclevel-"+poziom);
li[z].setAttribute('class',klasa);
}else{
li[z].classList.add("toclevel-"+poziom);
}
}else{
li[z].setAttribute('class',"toclevel-"+poziom+" tocsection-"+section)
}
section=section+1;
}
}
}
}
var headline=document.getElementsByClassName('mw-headline');
if((headline)&&(headline.length>0)){
for(var i=0;i<headline.length;++i){
var c=1;
var el=headline[i];
var id0=el.innerHTML;
id0=id0.replace(/[_\s]+/g,"_");
id0=id0.replace(/<[^<>]+>/g,"");
for(var j=0;j<i;++j){
var el1=headline[j];
var id1=el1.innerHTML;
id1=id1.replace(/[_\s]+/g,"_");
id1=id1.replace(/<[^<>]+>/g,"");
if(id0==id1){
++c;
}
}
if(c==1){
el.setAttribute('id',id0);
}else{
el.setAttribute('id',id0+"_"+c);
}
}
}
var tab_toc=new Array("toc","toc_spis");
for(d=0;d<tab_toc.length;++d){
var toc_pos=document.getElementsByClassName(tab_toc[d]);
if((toc_pos!==null)&&(toc_pos.length>0)){
for(var w=0;w<toc_pos.length;++w){
var toc=toc_pos[w];
var a=toc.getElementsByTagName('a');
if((a)&&(a.length>0)){
for(var p=0;p<a.length;++p){
var strona=a[p].getElementsByClassName('toctext')[0].innerHTML.replace(/[_\s]+/g,"_");
strona=strona.replace(/<[^<>]+>/g,"");
var c=1;
for(var v=0;v<p;++v){
var strona2;
strona2=a[v].getElementsByClassName('toctext')[0].innerHTML.replace(/[_\s]+/g,"_");
strona2=strona2.replace(/<[^<>]+>/g,"");
if(strona==strona2){
++c;
}
}
strona=strona.replace(/<[^<>]+>/g,"");
if(c==1){
a[p].setAttribute('href',"#"+strona);
}else{
a[p].setAttribute('href',"#"+strona+"_"+c);
}
}
}
}
}
}
}
function StronaSubst(data){
var wikikod=data.parse.text['*'];
var elem=document.createElement('div');
elem.innerHTML=wikikod;
var klasa_mw_parser_out=elem.getElementsByClassName('mw-parser-output');
var wikikod_wyodrepniony=(((klasa_mw_parser_out)&&(klasa_mw_parser_out.length==1))?(klasa_mw_parser_out[0].innerHTML):wikikod);
var czy_wikikod=wikikod_wyodrepniony.match(/^\s*$/g);
if(czy_wikikod){return;}
var strona_subst="strona_subst";
var tagclass=document.getElementsByClassName(strona_subst);
if(tagclass==null){return null;}
var liczba_elementow=tagclass.length;
if(liczba_elementow==0){return null;}
var titles=new Array();
var tabstrona=new Array();
var tabs=new Array();
for (var i=0;i<liczba_elementow;++i){
var element=tagclass[i];
if(element.tagName!="DIV"){return null;}
var strona=element.innerHTML;
var re = /^[_ ]*$/g;
var dopasowanie = re.test(strona);
if(dopasowanie){return null;};
strona=strona.replace(/^[_ ]*/g,"");
strona=strona.replace(/[_ ]*$/g,"");
strona=strona.replace(/[_ ]+/g," ");
tabs[i]=strona;
var czy=false;
for(var d in titles){
if(titles[d]==strona){
czy=true;
break;
}
}
if(!czy){
titles[titles.length]=strona;
}
if(tabstrona[strona]==null){
tabstrona[strona]=new Array();
}
var tab=tabstrona[strona];
var tablen=tab.length;
tabstrona[strona][tablen]=element;
}
for ( var p in titles ) {
var strona=titles[p];
var api=new mw.Api;
api.get({
action: 'parse',
format: 'json',
prop: 'text',
title: strona,
text: '{{:'+strona+'}}',
disabletoc: true,
disablelimitreport: true,
contentmodel: 'wikitext'
}).done(function(data){
WikikodTitle(data,tabs,titles,tabstrona);
});
}
}
var strona = mw.config.get('wgPageName');
var api=new mw.Api;
api.get({
action: 'parse',
format: 'json',
prop: 'text',
title: strona,
text: '{{#invoke:StronicowyParser|CzyStronaSubst}}',
disabletoc: true,
disablelimitreport: true,
contentmodel: 'wikitext'
}).done(function(data){
StronaSubst(data)
});
}
$(WyswietlStronyKsiazki);
</syntaxhighlight>
Ten program {{Code|.js}} znajduje się na stronie: {{LinkUżytkownik2|Persino/common.js}}. Jak wstawisz ten kod do strony {{LinkKomunikat2|Common.js}}, to powinno wtedy zadziałać ładowanie modułów książki, za pomocą JavaScript, na stronie {{LinkUżytkownik2|Persino/Wersja do druku}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:09, 13 lis 2021 (CET)
== Gadżet StronaSubst - dodawanie do listy gadżetów ==
Mamy sobie kod JavaScript {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} i opis gadżetu {{LinkUżytkownik2|Persino/Gadget-StronaSubst}}, czy mógłbyś przenieść na strony w przestrzeni nazw {{Np|MediaWiki|link=tak}}, i wywołaniu gadżetu w takiej formie jak w {{LinkUżytkownik2|Persino/Gadgets-definition}} przenieść na stronę {{LinkKomunikat2|Gadgets-definition}}. Wtedy strona {{LinkUżytkownik2|Persino/Wersja do druku}} powinna działać! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:14, 27 lis 2021 (CET)
=== Zamienianie kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}} ===
{{Ping|Wargo}}Chodzi tutaj, że jak będzie link do artykułu w nagłówku, to, żeby nie pojawiało się pole '''[ artykuł | edytuj ]''' zamiast '''[ edytuj ]''' - aktualnie w {{LinkKomunikat2|Gadget-StronaSubst.js}} pole '''[ artykuł | edytuj ]''' pojawia się zawsze zamiast '''[ edytuj ]''', wtedy gdy ma zawartość '''strona_subst''' jest nie pusta, to algorytm jest zakańczany. A jak jest nazwa strony w zawartości div-a '''strona_subst''', a nie link w nagłówku, to wtedy ma się prawo pojawić '''[ artykuł | edytuj ]''' zamiast '''[ edytuj ]'''. Czy mógłbyś wersję {{LinkKomunikat2|Gadget-StronaSubst.js}} zamienić na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}. Z góry dziękuję za rozpatrzenie mojej prośby! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 10:13, 30 lis 2021 (CET)
----
{{Ping|Wargo}} Jeszcze, czy mógłbyś zamienić tekst w {{LinkKomunikat2|Gadget-StronaSubst}} z:
{{Pre|(bez sekcji "Spis treści" i "Licencja")}}
na
{{Pre|(bez sekcji "Spis treści", "Bibliografia" i "Licencja")}}
[[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:18, 1 gru 2021 (CET)
=== Ostatnia poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}===
{{Ping|Wargo}}Chodzi tutaj, że algorytm zawiesza się na artykule {{LinkGłówna|Mechanika kwantowa/Mechanika kwantowa}}, to co poprawiłem już tak przestaje być, błąd znikł! Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 18:30, 3 gru 2021 (CET)
=== Miejmy nadzieję, że to jest ostatnia poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}===
{{Ping|Wargo}}Chodzi tutaj, że algorytm ma błędy JavaScript na stronie, przy danej książce: {{LinkGłówna|Szachy}}, czyli przy artykule: {{LinkGłówna|Szachy/Szachy}} - błąd tylko widać, gdy chcemy zbadać element, moja poprawka usuwa ten błąd! Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:50, 4 gru 2021 (CET)
=== Następna poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}} ===
{{Ping|Wargo}}Chodzi tutaj, że algorytm nie wyświetla w TOC (wbudowany spis treści) podrozdziałów dla artykułu {{LinkGłówna|Matematyka dla liceum/Matematyka dla liceum}}, moja poprawka usuwa ten błąd. Skrypt porządkuje artykuły według nagłówków na stronie tego artykułu w TOC, a zestaw artykułów, w danek sekcji, wyświetla, również w TOC, je przydzielone do niej. Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:51, 7 gru 2021 (CET)
=== Poważne poprawki w {{LinkKomunikat2|Gadget-StronaSubst.js}} na podstawie {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} oraz dodanie i zmiana pewnych gadżetów ===
{{Ping|Wargo}} Następne poprawki dotyczące wpisu w {{LinkKomunikat2|Gadget-StronaSubst.js}}, co do zauważonych drobnych błędów, czyli mógłbyś dokonać zamiany kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}.
Z góry dziękuję. Poza tym wszystko działa, od razu dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:32, 8 gru 2021 (CET)
----
{{Ping|Wargo}} Jeszcze, czy mógłbyś zamienić tekst w {{LinkKomunikat2|Gadget-StronaSubst}} z:
{{Pre|(bez sekcji "Spis treści", "Bibliografia" i "Licencja")}}
na
{{Pre|(bez sekcji: "Spis treści", "Bibliografia", "Zobacz też", "Inne", "Licencja" i tym podobne)}}
Dziękuję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 05:43, 9 gru 2021 (CET)
----
{{Ping|Wargo}} Czy mógłbyś uzupełnić {{LinkKomunikat2|Gadgets-definition}}, według {{LinkUżytkownik2|Persino/Gadgets-definition}} - szczególnie trzeba naprawić odwołanie do gadżetu StronaSubst, i dodać gadżety: {{LinkUżytkownik2|Persino/Gadget-gConfig.js}} (jego opis jest w {{LinkUżytkownik2|Persino/Gadget-gConfig}}), przenosząc go do {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis do {{LinkKomunikat2|Gadget-gConfig}}), a także drugi gadżet dotyczący szablonu {{s|Cytuj}} przenieś z {{LinkUżytkownik2|Persino/Gadget-citation-access-info.js}} (jego opis to {{LinkUżytkownik2|Persino/Gadget-citation-access-info}}) do {{LinkKomunikat2|Gadget-citation-access-info.js}} (a jego opis do {{LinkKomunikat2|Gadget-citation-access-info}}).
Gadżet '''gConfig''' potrzebny mi jest do gadżetu {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}}, którego zawartość należy przenieść do {{LinkKomunikat2|Gadget-StronaSubst.js}}, a gadżet {{LinkUżytkownik2|Persino/Gadget-citation-access-info.js}}, potrzebny mi jest do szablonu {{s|Cytuj}} do dymku do pełnej wersji tego szablonu, który należy przenieść do {{LinkKomunikat2|Gadget-citation-access-info.js}}.
Proszę o pilną reakcję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:04, 11 gru 2021 (CET)
----
Również proszę o zastąpienie strony komunikatu {{LinkKomunikat2|Gadget-map-toggler.js}} stroną {{LinkUżytkownik2|Persino/Gadget-map-toggler.js}}. Z góry dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 18:38, 11 gru 2021 (CET)
== Zamiana wartości linkowej i szablonowej ==
{{Ping|Wargo}}Czy mógłbyś zamienić na stronie: {{LinkUżytkownik2|Rychozol/common.js}}, z wartości: {{Nowiki|[[GNU Free Documentation License|GFDL]]}}, na: {{Nowiki|[[Wikibooks:GNU Free Documentation License|GFDL]]}}, a także na tej samej stronie wartość: {{s|clear}}, na {{s|BrClear}}, ponieważ ze względu na zmianę nazw stron. Z góry dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:35, 13 gru 2021 (CET)
<del>== Dalsze zmiany na stronach gadżetów (pilne) ==
{{Ping|Wargo}}Czy mógłbyś zainstalować gadżet "Gadget-gConfig", tak jak na stronie {{LinkUżytkownik2|Persino/Gadgets-definition}} (pierwsza linijka) w {{LinkKomunikat2|Gadgets-definition}}, a co do tego, jego kod {{LinkUżytkownik2|Persino/Gadget-gConfig.js}} zainstalować w miejscu {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis jest w {{LinkUżytkownik2|Persino/Gadget-gConfig}}), przenosząc go do {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis do {{LinkKomunikat2|Gadget-gConfig}}). A później zaaktualizuj gadżet {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}, a także zainstalować w miejscu {{LinkKomunikat2|Gadget-Funkcje.js}} gadżet {{LinkUżytkownik2|Persino/Gadget-Funkcje.js}}, a również zaktualizować wpis dla gadżetu StronaSubst tak jak w {{LinkUżytkownik2|Persino/Gadgets-definition}}. A później sprawdzić, czy wszystko działa. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 13:19, 4 lut 2022 (CET)</del>
== Przepełnienie scrollbarów, poszczególnych elementów strony, a ustawienia różnych klas, jeżeli takowe istnieją ==
{{Ping|Wargo}}Czy mógłbyś uwzględnić na stronie {{LinkKomunikat2|Common.js}} część mojej strony, która jest po sekwencji /**/, będąca na stronie {{LinkUżytkownik2|Persino/common.js}}. Ten skrypt sprawdza, czy nastąpiło przepełnienie elementów strony dokumentu HTML Wikibooks, a jeżeli nastąpiło, to następuje ustawienie tam odpowiednich klas, a jeżeli ono znikło, to usunięcie tych klas. Ten skrypt jest mi potrzebny do szablonu {{s|StronaStart}} i jego pokrewnych oraz do mojego ustawienia skórki vector-2022, która jest w mojej przestrzeni użytkownika. Dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:23, 27 maj 2022 (CEST)
== Aktualizacja przepełnienia scrollbarów i implementacja sticky ==
{{Ping|Wargo}} Czy mógłbyś uwzględnić na stronie {{LinkKomunikat2|Common.js}} część mojej strony, która jest po sekwencji /**/, będąca na stronie {{LinkUżytkownik2|Persino/common.js}}. W przypadku pierwszego algorytmu, dodałem tam klasy {{Code|mw-overflow-x}} i {{Code|mw-overflow-y}}, które ten algorytm rozpoznaje, i dla nich liczy, czy nastąpiło to właśnie przepełnienie. A wcześniej liczyło dla wszystkich znaczników na stronie, co spowalniało całą stronę. Tam, gdzie, ważne jest liczenie przepełnienie wstawiłem {{Code|mw-overflow-x}}, czy {{Code|mw-overflow-y}}, czyli algorytm ten tam powinien działać, co można sprawdzić na stronie głównej tego projektu ({{NAZWASERWISU|link=tak}}). Drugi algorytm jest rozszerzenie właściwości {{Code|position:sticky}}, który on nie działa, gdy choćby jeden z rodziców jest z nie {{Code|overflow:visible}}, ale z {{Code|overflow}}, a ja zrobiłem, że jednak zaczeło działać, a ja tak to zrobiłem: {{Code|position:sticky}} zastąpiłem {{Code|position:absolute}}, w tym znaczników ustawiam {{Code|mw-sticky-y}} (przesuw w pionie) lub {{Code|mw-sticky-x}} (przesuw w poziomie), wtedy ten algorytm JavaScript działa tak, że pudełko przesuwa się od pewnej granicy do pewnej, ale nigdy nie wychodzi poza te granice, czyli działa podobnie jak {{Code|position:sticky}}. Dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 12:41, 9 lip 2022 (CEST)
==Aktualizacja skryptów na {{LinkKomunikat2|common.js}} z {{LinkUżytkownik2|Persino/common.js}}==
{{Ping|Wargo}} Czy mógłbyś zaktualizować kod na stronie {{LinkKomunikat2|common.js}} ze strony {{LinkUżytkownik2|Persino/common.js}} pod znakiem {{Code|/**/}}. Zdefiniowałem przestrzeń nazw {{Code|Common}} definicją:
{{Pre|var Common{{=}}new Array();}}
Prawie wszystkie funkcje ze strony {{LinkKomunikat2|common.js}} przeniosłem do tej przestrzeni na stronie {{LinkUżytkownik2|Persino/common.js}} (tutaj wszystkie funkcje są w przestrzeni {{Code|Common}}). Rozwinąłem funkcję {{Code|Common.ScrollBarOverflow}}, {{Code|Common.StickyXY}} i {{Code|Common.OptimalXY}}. Napisałem od nowa funkcje: {{Code|Common.RamkiTableIDiv}} i {{Code|Common.ZdarzeniaDodatkoweFunkcyjneXY}} oraz funkcję do obsługi szablonu {{s|StronaStart}} i jego pokrewnych książkowych z definiowałem w postaci: {{Code|Common.StronaStart}}.
Co oznaczają te funkcje:
* {{Code|Common.ScrollBarOverflow}} - do generowania pewnych klas, które służą do obsługi pudełka z paskami przewijania,
* {{Code|Common.StickyXY}} - aktualizacja funkcji {{Code|position:sticky}}, tam gdzie go nie można go użyć, do używamy tej funkcji,
* {{Code|Common.OptimalXY}} - do obsługi boksów na stronach z użytymi szablonami stronicowymi książkowymi otwierającymi i zamykającymi,
* {{Code|Common.RamkiTableIDiv}} - dodaje dalsze funkcje przy przyciskach tabel i ramek, nawigacyjnych,
* {{Code|Common.ZdarzeniaDodatkoweFunkcyjneXY}} - dodaje zdarzenia do obsługi funkcji: {{Code|Common.StickyXY}} i {{Code|Common.OptimalXY}},
* {{Code|Common.StronaStart}} - służy do obsługi spisu treści i boksów szablonu {{s|StronaStart}}.
Na stronach podręcznikowych boksy i spisy treści są responsywne według moich ustawień, a dla wszystkich użytkowników będą responsywne po zaktualizowaniu strony {{LinkKomunikat2|common.js}} przy pomocy {{LinkUżytkownik2|Persino/common.js}}.
----
Proszę o pilną reakcję i zrealizowanie mojej prośby. Z góry dziękuję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:55, 3 sie 2022 (CEST)
:Czy coś jest do usunięcia z obecnego common.js? Tj. czy coś stamtąd mam tym zastąpić? [[Wikipedysta:Wargo|Wargo]] ([[Dyskusja wikipedysty:Wargo|dyskusja]]) 20:55, 7 sie 2022 (CEST)
::{{Ping|Wargo}}Właśnie masz zastąpić nową wersją z pod /**/ z: {{LinkUżytkownik2|Persino/common.js}}, zastępując całą zawartość strony w: {{LinkKomunikat2|common.js}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:04, 7 sie 2022 (CEST)
:::{{Ping|Wargo}} Już możesz zastępować, wszystko gotowe! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:39, 7 sie 2022 (CEST)
===Ostatnia poprawka===
{{Ping|Wargo}}Czy mógłbyś linijkę kodu:
{{Pre|var top_ab{{=}}rect_rodzic[top]-margintop;
var bottom_ab{{=}}(wys-rect_rodzic[bottom])-marginbottom;
}}
poprawić na:
{{Pre|var top_ab{{=}}rect_rodzic[top];
var bottom_ab{{=}}(wys-rect_rodzic[bottom]);
}}
w funkcji: {{Code|Common.StickyXY}}, w {{LinkKomunikat2|common.js}} według {{LinkUżytkownik2|Persino/common.js}}. Tj. to linijka: 481-482.
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:51, 8 sie 2022 (CEST)
=== Miejmy nadzieję, że ostatnia poprawka na stronie {{LinkKomunikat2|common.js}} ===
{{Ping|Wargo}}Czy mógłbyś w kodzie w linii: 177 i 183, na stronie {{LinkKomunikat2|common.js}} według {{LinkUżytkownik2|Persino/common.js}} poprawić według schematu:
{{Pre
|collapseTable( i );
}}
zamienić na:
{{Pre
|Common.collapseTable( i );
}}
Poprawka jest ważna, bo tabele nawigacyjne, na stronie głównej i gdzieś indziej, nie chcą się kolapsować, a po tej operacji już będą się tak zachowywać!
----
W linii: 176 poprawić:
{{Pre
|1=if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) {{!}}{{!}} ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "Common.autoCollapse" ) ) ) {
}}
na kod:
{{Pre
|1=if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) {{!}}{{!}} ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) {
}}
----
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 13:34, 8 sie 2022 (CEST)
=== Poprawka, by zdarzenia nie były w postaci podwójnej, tzn. ze strony: {{LinkKomunikat2|common.js}} (strona {{Np|MediaWiki|link=tak}}), i {{LinkUżytkownik2|Persino/common.js}} (strona użytkownika - {{Np|User|link=tak}}) ===
{{Ping|Wargo}}Zrobiłem tak, by zdarzenia nie były w postaci podwójnej, tzn. ze strony MediaWiki: {{LinkKomunikat2|common.js}}, i strony użytkownika: {{LinkUżytkownik2|Persino/common.js}}, jeżeli takową stronę użytkownik posiada. Zrobiłem też tam parę drobnych innych edycji. Mówiąc najprostszej, zawartością z: {{LinkUżytkownik2|Persino/common.js}}, z pod {{Code|/**/}} zastąp zawartość strony: {{LinkKomunikat2|common.js}}. Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 07:13, 9 sie 2022 (CEST)
=== Poprawka strony {{LinkKomunikat2|Gadget-delete-local.js}}, kilka linijek ===
{{Ping|Wargo}} Czy mógłbyś zamienić zawartość strony {{LinkKomunikat2|Gadget-delete-local.js}} na {{LinkUżytkownik2|Persino/Gadget-delete-local.js}}.
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 07:13, 9 sie 2022 (CEST)
=== Przecieki pamięci w {{LinkKomunikat2|common.js}} w połączeniu z {{LinkUżytkownik2|Persino/common.js}} ===
{{Ping|Wargo}} Czy mógłbyś stronę {{LinkKomunikat2|common.js}} podmienić z zawartością strony {{LinkUżytkownik2|Persino/common.js}} z pod linii /**/. Z góry dziękuję za spełnienie prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 17:37, 15 sie 2022 (CEST)
=== Usunięcie funkcji {{Code|Promise}} z funkcji {{Code|Common.RamkiTableIDiv}}, a nowa poprawka w {{LinkKomunikat2|common.js}} przy pomocy {{LinkUżytkownik2|Persino/common.js}} ===
{{Ping|Wargo}} Kiedyś funkcja {{Code|Common.RamkiTableIDiv}} była uruchamiana za pomocą zwykłej funkcji bez umieszczenia go w bloku $, a teraz jest ona umieszczony właśnie w nim, więc {{Code|Promise}} jest już w nim nie potrzebna, więc usunąłem z tej funkcji właśnie nią, więc funkcję {{Code|Common.RamkiTableIDiv}} musiałem zmodyfikować.
Zadanie: Czy mógłbyś definicję funkcji {{Code|Common.RamkiTableIDiv}} w {{LinkKomunikat2|common.js}} zastąpić nową jego definicją z {{LinkUżytkownik2|Persino/common.js}}.
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 17:38, 16 sie 2022 (CEST)
3ok5wye76arujlj8vbljnkoscq134b8
437900
437894
2022-08-16T18:10:22Z
Persino
2851
/* Usunięcie funkcji {{Code|Promise}} z funkcji {{Code|Common.RamkiTableIDiv}}, a nowa poprawka w {{LinkKomunikat2|common.js}} przy pomocy {{LinkUżytkownik2|Persino/common.js}} */
wikitext
text/x-wiki
<noinclude>__LINKNOWEJSEKCJI__ [[Kategoria:Księga próśb i zadań]]</noinclude>
{{fmbox|tekst=UWAGA: Nowe zgłoszenia o innym temacie niż to co dotyczy [[Wikibooks:Prośby do administratorów interfejsu/Zgłoszenia]] lub łamiące zasady [[Wikibooks:Wikietykieta|Wikietykiety]] mogą być bezwarunkowo wycofywane z tej strony}}
<!-- Nowe zgłoszenia wstawiaj poniżej tej linii. Powyżej tej linii nic nie usuwaj. Nie usuwaj tej linii -->
== Usunięcie wymuszenia białego tła w tabelach. ==
Zwracam się z prośbą o usunięcie [[MediaWiki:Common.css]] fragmentu
<syntaxhighlight lang="css">
}
+
table.wikitable td,
+
table.prettytable td {
+
background: #f9f9f9;
</syntaxhighlight>
Fragment ten wymusza białe tło w tabelach, co uniemożliwia zastosowanie kolorowych komórek. Takowe bardzo by się przydały np. w opracowywanym przeze [[Zbiór zadań maturalnych/Biologia|Zbiorze zadań maturalnych z Biologii]] jak np. tu: [[:Kategoria:Zbiór zadań maturalnych/podstawa programowa 2017/Biologia/Zakres rozszerzony/Treści nauczania/II/3/1]]. Póki co posiłkuję się obramowaniem, chciałbym jednak docelowo zastosować kolorowanie komórek.
Z góry dziękuję za rozpatrzenie mojej prośby.
[[Wikipedysta:Superjurek|Superjurek]] ([[Dyskusja wikipedysty:Superjurek|dyskusja]]) 22:42, 16 kwi 2021 (CEST)
-----
{{Ping|Superjurek}}Spróbuj użyć zapisu, np.:
<syntaxhighlight lang="css">
background-color: blue !important;
color:white !important;
</syntaxhighlight>
zamiast:
<syntaxhighlight lang="css">
background-color: blue;
color:white;
</syntaxhighlight>
to powinno naprawić cały problem! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:05, 27 maj 2022 (CEST)
==Wstawianie kodu do {{LinkKomunikat2|Common.js}}==
Czy mógłbyś wsadzić do tej strony {{Code|.js}} kod:
<syntaxhighlight lang="JavaScript">
function WyswietlStronyKsiazki(){
function WikikodTitle(data,tabs,titles,tabstrona){
var title=data.parse.title;
var wikikod=data.parse.text['*'];
var elements=tabstrona[title];
for(var q in elements){
elements[q].innerHTML=wikikod;
var a=elements[q].getElementsByTagName('a');
if((a!==null)&&(a.length>0)){
var lena=a.length;
for(var i=0;i<lena;++i){
var href=a[i].getAttribute('href');
if(href!==null){
var re=/^[^\?]+\?[^&]+=[^&]*&?/g;
if(!re.test(href)){
var re2=/#/g;
var s=href.search(re2);
if(s!=-1){
var re=/^\/wiki\//g;
if(re.test(href)){
var href2=href.substring(6,s)
href2=decodeURI(href2);
href2=href2.replace(/[_\s]+/g," ");
for(var s=0;s<titles.length;s++){
var strona=titles[s];
if(href2==strona){
var href3=href.replace(/^[^#]*/g,"");
var a_toc=a[i];
a_toc.setAttribute('href',encodeURI(href3));
a_toc.setAttribute("title","");
}
}
}
}else{
var re=/^\/wiki\//g;
if(re.test(href)){
var hrefv=href.replace(re,"");
var hrefs=decodeURI(hrefv);
hrefs=hrefs.replace(/[_\s]+/g," ");
for(var s=0;s<titles.length;s++){
var strona=titles[s];
if(hrefs==strona){
var hrefs2=hrefv.replace(/^[^\/]*\//g,"");
var a_toc=a[i];
a_toc.setAttribute('href','#'+hrefs2);
a_toc.setAttribute("title","");
}
}
}
}
}
}
}
}
}
var tab_toc=new Array("toc","toc_spis");
for(var d=0;d<tab_toc.length;++d){
var toc=document.getElementsByClassName(tab_toc[d]);
if((toc!==null)&&(toc.length>0)){
for(var q in elements){
var num=new Array();
var v=0;
for(var e=0;e<tabs.length;++e){
if(tabs[e]==title){
v+=1;
if(parseInt(q)+1==v){
num.push(parseInt(e)+1);
break;
}
}
}
var headline=elements[q].getElementsByClassName("mw-headline");
if((headline!==null)&&(headline.length>0)){
var ulozenie=0;
var ostanie=0;
var len=headline.length;
var naglowek="";
var liczba_ulozenia_w_menu_spisu_tresci=1;
var h_number=1;
for (var k=0;k<len;++k){
var element2=headline[k];
var nag=element2.innerHTML;
var nag2=element2.getAttribute('id');
var h=element2.parentNode.tagName;
var h_numer=h.replace(/^[^\d]+/g,"");
h_numer=parseInt(h_numer)
if((ulozenie==0)||(ulozenie>=h_numer)){
ulozenie=h_numer-1;
}else {
if(ostatnie+1<h_numer-ulozenie){
ulozenie=h_numer-ostatnie-1;
}
}
ostatnie=h_numer-ulozenie;
h_numer=h_numer-ulozenie;
if(k==0){
num.push(1);
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="<ul><li><a href=\"#"+nag2+"\">"+nag+"</a>";
}else{
if(h_numer==liczba_ulozenia_w_menu_spisu_tresci){
num[num.length-1]+=1;
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="</li><li><a href=\"#"+nag2+"\">"+nag+"</a>";
}else{
if(h_numer>liczba_ulozenia_w_menu_spisu_tresci){
num.push(1);
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="<ul><li><a href=\"#"+nag2+"\">"+nag+"</a>";
liczba_ulozenia_w_menu_spisu_tresci=h_numer;
}else{
if(h_numer<liczba_ulozenia_w_menu_spisu_tresci){
num.splice(num.length-liczba_ulozenia_w_menu_spisu_tresci+h_numer,liczba_ulozenia_w_menu_spisu_tresci-h_numer);
num[num.length-1]+=1;
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+=('</li></ul>'.repeat(liczba_ulozenia_w_menu_spisu_tresci-h_numer))+"</li><li><a href=\"#"+nag2+"\">"+nag+"</a>";
liczba_ulozenia_w_menu_spisu_tresci=h_numer;
}
}
}
}
}
if(naglowek!=""){
naglowek+=('</li></ul>'.repeat(liczba_ulozenia_w_menu_spisu_tresci));
for(var b=0;b<toc.length;++b){
var a2=toc[b].getElementsByTagName('a');
if((a2!=null)&&(a2.length>0)){
for(var y=0;y<a2.length;++y){
var parent=a2[y].parentNode;
var href=a2[y].getAttribute('href');
href=href.replace(/^#/g,"");
var title2=title.replace(/^[^\/]+\//g,"");
if(href==title2.replace(/[_ ]+/g,"_")+((q>0)?("_"+(parseInt(q)+1)):"")){
var div=document.createElement('div');
div.innerHTML=naglowek;
var links=a2[y].getElementsByClassName('toctext');
if((links!=null)&&(links.length>0)){
var link=links[0].innerHTML;
if(link==title2){
parent.appendChild(div.getElementsByTagName('ul')[0]);
}
}
}
}
}
}
}
}
}
}
}
for(var d=0;d<tab_toc.length;++d){
var toc_pos=document.getElementsByClassName(tab_toc[d]);
if((toc_pos!==null)&&(toc_pos.length>0)){
for(var w=0;w<toc_pos.length;++w){
var li=toc_pos[w].getElementsByTagName('li');
var poziom;
var section=1;
for(var z=0;z<li.length;++z){
var parent=li[z].parentNode.parentNode;
if(parent!==null){
var klasa=parent.getAttribute('class');
if(klasa!==null){
var poziom=klasa.match(/toclevel-\d+/g);
if(poziom!==null){
poziom=parseInt(poziom.toString().match(/\d+$/).toString())+1;
}else{
poziom=1;
}
}else{poziom=1;}
}else{poziom=1;}
var klasa=li[z].getAttribute('class');
if(klasa!==null){
var czy_section=klasa.match(/tocsection-\d+/);
if(czy_section!==null){
klasa=klasa.replace(/tocsection-\d+/g,"tocsection-"+section);
li[z].setAttribute('class',klasa);
}else{
li[z].classList.add("tocsection-"+section);
}
var czy_level=klasa.match(/toclevel-\d+/);
if(czy_level!==null){
klasa=li[z].getAttribute('class');
klasa=klasa.replace(/toclevel-\d+/g,"toclevel-"+poziom);
li[z].setAttribute('class',klasa);
}else{
li[z].classList.add("toclevel-"+poziom);
}
}else{
li[z].setAttribute('class',"toclevel-"+poziom+" tocsection-"+section)
}
section=section+1;
}
}
}
}
var headline=document.getElementsByClassName('mw-headline');
if((headline)&&(headline.length>0)){
for(var i=0;i<headline.length;++i){
var c=1;
var el=headline[i];
var id0=el.innerHTML;
id0=id0.replace(/[_\s]+/g,"_");
id0=id0.replace(/<[^<>]+>/g,"");
for(var j=0;j<i;++j){
var el1=headline[j];
var id1=el1.innerHTML;
id1=id1.replace(/[_\s]+/g,"_");
id1=id1.replace(/<[^<>]+>/g,"");
if(id0==id1){
++c;
}
}
if(c==1){
el.setAttribute('id',id0);
}else{
el.setAttribute('id',id0+"_"+c);
}
}
}
var tab_toc=new Array("toc","toc_spis");
for(d=0;d<tab_toc.length;++d){
var toc_pos=document.getElementsByClassName(tab_toc[d]);
if((toc_pos!==null)&&(toc_pos.length>0)){
for(var w=0;w<toc_pos.length;++w){
var toc=toc_pos[w];
var a=toc.getElementsByTagName('a');
if((a)&&(a.length>0)){
for(var p=0;p<a.length;++p){
var strona=a[p].getElementsByClassName('toctext')[0].innerHTML.replace(/[_\s]+/g,"_");
strona=strona.replace(/<[^<>]+>/g,"");
var c=1;
for(var v=0;v<p;++v){
var strona2;
strona2=a[v].getElementsByClassName('toctext')[0].innerHTML.replace(/[_\s]+/g,"_");
strona2=strona2.replace(/<[^<>]+>/g,"");
if(strona==strona2){
++c;
}
}
strona=strona.replace(/<[^<>]+>/g,"");
if(c==1){
a[p].setAttribute('href',"#"+strona);
}else{
a[p].setAttribute('href',"#"+strona+"_"+c);
}
}
}
}
}
}
}
function StronaSubst(data){
var wikikod=data.parse.text['*'];
var elem=document.createElement('div');
elem.innerHTML=wikikod;
var klasa_mw_parser_out=elem.getElementsByClassName('mw-parser-output');
var wikikod_wyodrepniony=(((klasa_mw_parser_out)&&(klasa_mw_parser_out.length==1))?(klasa_mw_parser_out[0].innerHTML):wikikod);
var czy_wikikod=wikikod_wyodrepniony.match(/^\s*$/g);
if(czy_wikikod){return;}
var strona_subst="strona_subst";
var tagclass=document.getElementsByClassName(strona_subst);
if(tagclass==null){return null;}
var liczba_elementow=tagclass.length;
if(liczba_elementow==0){return null;}
var titles=new Array();
var tabstrona=new Array();
var tabs=new Array();
for (var i=0;i<liczba_elementow;++i){
var element=tagclass[i];
if(element.tagName!="DIV"){return null;}
var strona=element.innerHTML;
var re = /^[_ ]*$/g;
var dopasowanie = re.test(strona);
if(dopasowanie){return null;};
strona=strona.replace(/^[_ ]*/g,"");
strona=strona.replace(/[_ ]*$/g,"");
strona=strona.replace(/[_ ]+/g," ");
tabs[i]=strona;
var czy=false;
for(var d in titles){
if(titles[d]==strona){
czy=true;
break;
}
}
if(!czy){
titles[titles.length]=strona;
}
if(tabstrona[strona]==null){
tabstrona[strona]=new Array();
}
var tab=tabstrona[strona];
var tablen=tab.length;
tabstrona[strona][tablen]=element;
}
for ( var p in titles ) {
var strona=titles[p];
var api=new mw.Api;
api.get({
action: 'parse',
format: 'json',
prop: 'text',
title: strona,
text: '{{:'+strona+'}}',
disabletoc: true,
disablelimitreport: true,
contentmodel: 'wikitext'
}).done(function(data){
WikikodTitle(data,tabs,titles,tabstrona);
});
}
}
var strona = mw.config.get('wgPageName');
var api=new mw.Api;
api.get({
action: 'parse',
format: 'json',
prop: 'text',
title: strona,
text: '{{#invoke:StronicowyParser|CzyStronaSubst}}',
disabletoc: true,
disablelimitreport: true,
contentmodel: 'wikitext'
}).done(function(data){
StronaSubst(data)
});
}
$(WyswietlStronyKsiazki);
</syntaxhighlight>
Ten program {{Code|.js}} znajduje się na stronie: {{LinkUżytkownik2|Persino/common.js}}. Jak wstawisz ten kod do strony {{LinkKomunikat2|Common.js}}, to powinno wtedy zadziałać ładowanie modułów książki, za pomocą JavaScript, na stronie {{LinkUżytkownik2|Persino/Wersja do druku}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:09, 13 lis 2021 (CET)
== Gadżet StronaSubst - dodawanie do listy gadżetów ==
Mamy sobie kod JavaScript {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} i opis gadżetu {{LinkUżytkownik2|Persino/Gadget-StronaSubst}}, czy mógłbyś przenieść na strony w przestrzeni nazw {{Np|MediaWiki|link=tak}}, i wywołaniu gadżetu w takiej formie jak w {{LinkUżytkownik2|Persino/Gadgets-definition}} przenieść na stronę {{LinkKomunikat2|Gadgets-definition}}. Wtedy strona {{LinkUżytkownik2|Persino/Wersja do druku}} powinna działać! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:14, 27 lis 2021 (CET)
=== Zamienianie kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}} ===
{{Ping|Wargo}}Chodzi tutaj, że jak będzie link do artykułu w nagłówku, to, żeby nie pojawiało się pole '''[ artykuł | edytuj ]''' zamiast '''[ edytuj ]''' - aktualnie w {{LinkKomunikat2|Gadget-StronaSubst.js}} pole '''[ artykuł | edytuj ]''' pojawia się zawsze zamiast '''[ edytuj ]''', wtedy gdy ma zawartość '''strona_subst''' jest nie pusta, to algorytm jest zakańczany. A jak jest nazwa strony w zawartości div-a '''strona_subst''', a nie link w nagłówku, to wtedy ma się prawo pojawić '''[ artykuł | edytuj ]''' zamiast '''[ edytuj ]'''. Czy mógłbyś wersję {{LinkKomunikat2|Gadget-StronaSubst.js}} zamienić na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}. Z góry dziękuję za rozpatrzenie mojej prośby! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 10:13, 30 lis 2021 (CET)
----
{{Ping|Wargo}} Jeszcze, czy mógłbyś zamienić tekst w {{LinkKomunikat2|Gadget-StronaSubst}} z:
{{Pre|(bez sekcji "Spis treści" i "Licencja")}}
na
{{Pre|(bez sekcji "Spis treści", "Bibliografia" i "Licencja")}}
[[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:18, 1 gru 2021 (CET)
=== Ostatnia poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}===
{{Ping|Wargo}}Chodzi tutaj, że algorytm zawiesza się na artykule {{LinkGłówna|Mechanika kwantowa/Mechanika kwantowa}}, to co poprawiłem już tak przestaje być, błąd znikł! Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 18:30, 3 gru 2021 (CET)
=== Miejmy nadzieję, że to jest ostatnia poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}===
{{Ping|Wargo}}Chodzi tutaj, że algorytm ma błędy JavaScript na stronie, przy danej książce: {{LinkGłówna|Szachy}}, czyli przy artykule: {{LinkGłówna|Szachy/Szachy}} - błąd tylko widać, gdy chcemy zbadać element, moja poprawka usuwa ten błąd! Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:50, 4 gru 2021 (CET)
=== Następna poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}} ===
{{Ping|Wargo}}Chodzi tutaj, że algorytm nie wyświetla w TOC (wbudowany spis treści) podrozdziałów dla artykułu {{LinkGłówna|Matematyka dla liceum/Matematyka dla liceum}}, moja poprawka usuwa ten błąd. Skrypt porządkuje artykuły według nagłówków na stronie tego artykułu w TOC, a zestaw artykułów, w danek sekcji, wyświetla, również w TOC, je przydzielone do niej. Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:51, 7 gru 2021 (CET)
=== Poważne poprawki w {{LinkKomunikat2|Gadget-StronaSubst.js}} na podstawie {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} oraz dodanie i zmiana pewnych gadżetów ===
{{Ping|Wargo}} Następne poprawki dotyczące wpisu w {{LinkKomunikat2|Gadget-StronaSubst.js}}, co do zauważonych drobnych błędów, czyli mógłbyś dokonać zamiany kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}.
Z góry dziękuję. Poza tym wszystko działa, od razu dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:32, 8 gru 2021 (CET)
----
{{Ping|Wargo}} Jeszcze, czy mógłbyś zamienić tekst w {{LinkKomunikat2|Gadget-StronaSubst}} z:
{{Pre|(bez sekcji "Spis treści", "Bibliografia" i "Licencja")}}
na
{{Pre|(bez sekcji: "Spis treści", "Bibliografia", "Zobacz też", "Inne", "Licencja" i tym podobne)}}
Dziękuję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 05:43, 9 gru 2021 (CET)
----
{{Ping|Wargo}} Czy mógłbyś uzupełnić {{LinkKomunikat2|Gadgets-definition}}, według {{LinkUżytkownik2|Persino/Gadgets-definition}} - szczególnie trzeba naprawić odwołanie do gadżetu StronaSubst, i dodać gadżety: {{LinkUżytkownik2|Persino/Gadget-gConfig.js}} (jego opis jest w {{LinkUżytkownik2|Persino/Gadget-gConfig}}), przenosząc go do {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis do {{LinkKomunikat2|Gadget-gConfig}}), a także drugi gadżet dotyczący szablonu {{s|Cytuj}} przenieś z {{LinkUżytkownik2|Persino/Gadget-citation-access-info.js}} (jego opis to {{LinkUżytkownik2|Persino/Gadget-citation-access-info}}) do {{LinkKomunikat2|Gadget-citation-access-info.js}} (a jego opis do {{LinkKomunikat2|Gadget-citation-access-info}}).
Gadżet '''gConfig''' potrzebny mi jest do gadżetu {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}}, którego zawartość należy przenieść do {{LinkKomunikat2|Gadget-StronaSubst.js}}, a gadżet {{LinkUżytkownik2|Persino/Gadget-citation-access-info.js}}, potrzebny mi jest do szablonu {{s|Cytuj}} do dymku do pełnej wersji tego szablonu, który należy przenieść do {{LinkKomunikat2|Gadget-citation-access-info.js}}.
Proszę o pilną reakcję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:04, 11 gru 2021 (CET)
----
Również proszę o zastąpienie strony komunikatu {{LinkKomunikat2|Gadget-map-toggler.js}} stroną {{LinkUżytkownik2|Persino/Gadget-map-toggler.js}}. Z góry dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 18:38, 11 gru 2021 (CET)
== Zamiana wartości linkowej i szablonowej ==
{{Ping|Wargo}}Czy mógłbyś zamienić na stronie: {{LinkUżytkownik2|Rychozol/common.js}}, z wartości: {{Nowiki|[[GNU Free Documentation License|GFDL]]}}, na: {{Nowiki|[[Wikibooks:GNU Free Documentation License|GFDL]]}}, a także na tej samej stronie wartość: {{s|clear}}, na {{s|BrClear}}, ponieważ ze względu na zmianę nazw stron. Z góry dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:35, 13 gru 2021 (CET)
<del>== Dalsze zmiany na stronach gadżetów (pilne) ==
{{Ping|Wargo}}Czy mógłbyś zainstalować gadżet "Gadget-gConfig", tak jak na stronie {{LinkUżytkownik2|Persino/Gadgets-definition}} (pierwsza linijka) w {{LinkKomunikat2|Gadgets-definition}}, a co do tego, jego kod {{LinkUżytkownik2|Persino/Gadget-gConfig.js}} zainstalować w miejscu {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis jest w {{LinkUżytkownik2|Persino/Gadget-gConfig}}), przenosząc go do {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis do {{LinkKomunikat2|Gadget-gConfig}}). A później zaaktualizuj gadżet {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}, a także zainstalować w miejscu {{LinkKomunikat2|Gadget-Funkcje.js}} gadżet {{LinkUżytkownik2|Persino/Gadget-Funkcje.js}}, a również zaktualizować wpis dla gadżetu StronaSubst tak jak w {{LinkUżytkownik2|Persino/Gadgets-definition}}. A później sprawdzić, czy wszystko działa. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 13:19, 4 lut 2022 (CET)</del>
== Przepełnienie scrollbarów, poszczególnych elementów strony, a ustawienia różnych klas, jeżeli takowe istnieją ==
{{Ping|Wargo}}Czy mógłbyś uwzględnić na stronie {{LinkKomunikat2|Common.js}} część mojej strony, która jest po sekwencji /**/, będąca na stronie {{LinkUżytkownik2|Persino/common.js}}. Ten skrypt sprawdza, czy nastąpiło przepełnienie elementów strony dokumentu HTML Wikibooks, a jeżeli nastąpiło, to następuje ustawienie tam odpowiednich klas, a jeżeli ono znikło, to usunięcie tych klas. Ten skrypt jest mi potrzebny do szablonu {{s|StronaStart}} i jego pokrewnych oraz do mojego ustawienia skórki vector-2022, która jest w mojej przestrzeni użytkownika. Dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:23, 27 maj 2022 (CEST)
== Aktualizacja przepełnienia scrollbarów i implementacja sticky ==
{{Ping|Wargo}} Czy mógłbyś uwzględnić na stronie {{LinkKomunikat2|Common.js}} część mojej strony, która jest po sekwencji /**/, będąca na stronie {{LinkUżytkownik2|Persino/common.js}}. W przypadku pierwszego algorytmu, dodałem tam klasy {{Code|mw-overflow-x}} i {{Code|mw-overflow-y}}, które ten algorytm rozpoznaje, i dla nich liczy, czy nastąpiło to właśnie przepełnienie. A wcześniej liczyło dla wszystkich znaczników na stronie, co spowalniało całą stronę. Tam, gdzie, ważne jest liczenie przepełnienie wstawiłem {{Code|mw-overflow-x}}, czy {{Code|mw-overflow-y}}, czyli algorytm ten tam powinien działać, co można sprawdzić na stronie głównej tego projektu ({{NAZWASERWISU|link=tak}}). Drugi algorytm jest rozszerzenie właściwości {{Code|position:sticky}}, który on nie działa, gdy choćby jeden z rodziców jest z nie {{Code|overflow:visible}}, ale z {{Code|overflow}}, a ja zrobiłem, że jednak zaczeło działać, a ja tak to zrobiłem: {{Code|position:sticky}} zastąpiłem {{Code|position:absolute}}, w tym znaczników ustawiam {{Code|mw-sticky-y}} (przesuw w pionie) lub {{Code|mw-sticky-x}} (przesuw w poziomie), wtedy ten algorytm JavaScript działa tak, że pudełko przesuwa się od pewnej granicy do pewnej, ale nigdy nie wychodzi poza te granice, czyli działa podobnie jak {{Code|position:sticky}}. Dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 12:41, 9 lip 2022 (CEST)
==Aktualizacja skryptów na {{LinkKomunikat2|common.js}} z {{LinkUżytkownik2|Persino/common.js}}==
{{Ping|Wargo}} Czy mógłbyś zaktualizować kod na stronie {{LinkKomunikat2|common.js}} ze strony {{LinkUżytkownik2|Persino/common.js}} pod znakiem {{Code|/**/}}. Zdefiniowałem przestrzeń nazw {{Code|Common}} definicją:
{{Pre|var Common{{=}}new Array();}}
Prawie wszystkie funkcje ze strony {{LinkKomunikat2|common.js}} przeniosłem do tej przestrzeni na stronie {{LinkUżytkownik2|Persino/common.js}} (tutaj wszystkie funkcje są w przestrzeni {{Code|Common}}). Rozwinąłem funkcję {{Code|Common.ScrollBarOverflow}}, {{Code|Common.StickyXY}} i {{Code|Common.OptimalXY}}. Napisałem od nowa funkcje: {{Code|Common.RamkiTableIDiv}} i {{Code|Common.ZdarzeniaDodatkoweFunkcyjneXY}} oraz funkcję do obsługi szablonu {{s|StronaStart}} i jego pokrewnych książkowych z definiowałem w postaci: {{Code|Common.StronaStart}}.
Co oznaczają te funkcje:
* {{Code|Common.ScrollBarOverflow}} - do generowania pewnych klas, które służą do obsługi pudełka z paskami przewijania,
* {{Code|Common.StickyXY}} - aktualizacja funkcji {{Code|position:sticky}}, tam gdzie go nie można go użyć, do używamy tej funkcji,
* {{Code|Common.OptimalXY}} - do obsługi boksów na stronach z użytymi szablonami stronicowymi książkowymi otwierającymi i zamykającymi,
* {{Code|Common.RamkiTableIDiv}} - dodaje dalsze funkcje przy przyciskach tabel i ramek, nawigacyjnych,
* {{Code|Common.ZdarzeniaDodatkoweFunkcyjneXY}} - dodaje zdarzenia do obsługi funkcji: {{Code|Common.StickyXY}} i {{Code|Common.OptimalXY}},
* {{Code|Common.StronaStart}} - służy do obsługi spisu treści i boksów szablonu {{s|StronaStart}}.
Na stronach podręcznikowych boksy i spisy treści są responsywne według moich ustawień, a dla wszystkich użytkowników będą responsywne po zaktualizowaniu strony {{LinkKomunikat2|common.js}} przy pomocy {{LinkUżytkownik2|Persino/common.js}}.
----
Proszę o pilną reakcję i zrealizowanie mojej prośby. Z góry dziękuję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:55, 3 sie 2022 (CEST)
:Czy coś jest do usunięcia z obecnego common.js? Tj. czy coś stamtąd mam tym zastąpić? [[Wikipedysta:Wargo|Wargo]] ([[Dyskusja wikipedysty:Wargo|dyskusja]]) 20:55, 7 sie 2022 (CEST)
::{{Ping|Wargo}}Właśnie masz zastąpić nową wersją z pod /**/ z: {{LinkUżytkownik2|Persino/common.js}}, zastępując całą zawartość strony w: {{LinkKomunikat2|common.js}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:04, 7 sie 2022 (CEST)
:::{{Ping|Wargo}} Już możesz zastępować, wszystko gotowe! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:39, 7 sie 2022 (CEST)
===Ostatnia poprawka===
{{Ping|Wargo}}Czy mógłbyś linijkę kodu:
{{Pre|var top_ab{{=}}rect_rodzic[top]-margintop;
var bottom_ab{{=}}(wys-rect_rodzic[bottom])-marginbottom;
}}
poprawić na:
{{Pre|var top_ab{{=}}rect_rodzic[top];
var bottom_ab{{=}}(wys-rect_rodzic[bottom]);
}}
w funkcji: {{Code|Common.StickyXY}}, w {{LinkKomunikat2|common.js}} według {{LinkUżytkownik2|Persino/common.js}}. Tj. to linijka: 481-482.
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:51, 8 sie 2022 (CEST)
=== Miejmy nadzieję, że ostatnia poprawka na stronie {{LinkKomunikat2|common.js}} ===
{{Ping|Wargo}}Czy mógłbyś w kodzie w linii: 177 i 183, na stronie {{LinkKomunikat2|common.js}} według {{LinkUżytkownik2|Persino/common.js}} poprawić według schematu:
{{Pre
|collapseTable( i );
}}
zamienić na:
{{Pre
|Common.collapseTable( i );
}}
Poprawka jest ważna, bo tabele nawigacyjne, na stronie głównej i gdzieś indziej, nie chcą się kolapsować, a po tej operacji już będą się tak zachowywać!
----
W linii: 176 poprawić:
{{Pre
|1=if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) {{!}}{{!}} ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "Common.autoCollapse" ) ) ) {
}}
na kod:
{{Pre
|1=if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) {{!}}{{!}} ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) {
}}
----
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 13:34, 8 sie 2022 (CEST)
=== Poprawka, by zdarzenia nie były w postaci podwójnej, tzn. ze strony: {{LinkKomunikat2|common.js}} (strona {{Np|MediaWiki|link=tak}}), i {{LinkUżytkownik2|Persino/common.js}} (strona użytkownika - {{Np|User|link=tak}}) ===
{{Ping|Wargo}}Zrobiłem tak, by zdarzenia nie były w postaci podwójnej, tzn. ze strony MediaWiki: {{LinkKomunikat2|common.js}}, i strony użytkownika: {{LinkUżytkownik2|Persino/common.js}}, jeżeli takową stronę użytkownik posiada. Zrobiłem też tam parę drobnych innych edycji. Mówiąc najprostszej, zawartością z: {{LinkUżytkownik2|Persino/common.js}}, z pod {{Code|/**/}} zastąp zawartość strony: {{LinkKomunikat2|common.js}}. Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 07:13, 9 sie 2022 (CEST)
=== Poprawka strony {{LinkKomunikat2|Gadget-delete-local.js}}, kilka linijek ===
{{Ping|Wargo}} Czy mógłbyś zamienić zawartość strony {{LinkKomunikat2|Gadget-delete-local.js}} na {{LinkUżytkownik2|Persino/Gadget-delete-local.js}}.
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 07:13, 9 sie 2022 (CEST)
=== Przecieki pamięci w {{LinkKomunikat2|common.js}} w połączeniu z {{LinkUżytkownik2|Persino/common.js}} ===
{{Ping|Wargo}} Czy mógłbyś stronę {{LinkKomunikat2|common.js}} podmienić z zawartością strony {{LinkUżytkownik2|Persino/common.js}} z pod linii /**/. Z góry dziękuję za spełnienie prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 17:37, 15 sie 2022 (CEST)
=== Usunięcie funkcji {{Code|Promise}} z funkcji {{Code|Common.RamkiTableIDiv}}, a nowa poprawka w {{LinkKomunikat2|common.js}} przy pomocy {{LinkUżytkownik2|Persino/common.js}} ===
{{Ping|Wargo}} Kiedyś funkcja {{Code|Common.RamkiTableIDiv}} była uruchamiana za pomocą zwykłej funkcji bez umieszczenia go w bloku $, a teraz jest ona umieszczony właśnie w nim, więc {{Code|Promise}} jest już w nim nie potrzebna, więc usunąłem z tej funkcji właśnie nią, więc funkcję {{Code|Common.RamkiTableIDiv}} musiałem zmodyfikować.
Zadanie pierwsze: Czy mógłbyś definicję funkcji {{Code|Common.RamkiTableIDiv}} w {{LinkKomunikat2|common.js}} zastąpić nową jego definicją z {{LinkUżytkownik2|Persino/common.js}}.
Zadanie drugie: Linie, tzn.: 22-26, na stronie {{LinkKomunikat2|common.js}} zamienić na linie: 24-28 ze strony {{LinkUżytkownik2|Persino/common.js}}.
Najłatwiej wykonać te dwa zadania jest sposób: zawartość na stronie {{LinkKomunikat2|common.js}} zastąpić zawartością z {{LinkUżytkownik2|Persino/common.js}} z pod linii /**/.
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 17:38, 16 sie 2022 (CEST)
6mop8je7jgbi70qw5tu8gfli2yy9of1
437902
437900
2022-08-16T18:15:56Z
Persino
2851
/* Usunięcie funkcji {{Code|Promise}} z funkcji {{Code|Common.RamkiTableIDiv}}, a nowa poprawka w {{LinkKomunikat2|common.js}} przy pomocy {{LinkUżytkownik2|Persino/common.js}} */
wikitext
text/x-wiki
<noinclude>__LINKNOWEJSEKCJI__ [[Kategoria:Księga próśb i zadań]]</noinclude>
{{fmbox|tekst=UWAGA: Nowe zgłoszenia o innym temacie niż to co dotyczy [[Wikibooks:Prośby do administratorów interfejsu/Zgłoszenia]] lub łamiące zasady [[Wikibooks:Wikietykieta|Wikietykiety]] mogą być bezwarunkowo wycofywane z tej strony}}
<!-- Nowe zgłoszenia wstawiaj poniżej tej linii. Powyżej tej linii nic nie usuwaj. Nie usuwaj tej linii -->
== Usunięcie wymuszenia białego tła w tabelach. ==
Zwracam się z prośbą o usunięcie [[MediaWiki:Common.css]] fragmentu
<syntaxhighlight lang="css">
}
+
table.wikitable td,
+
table.prettytable td {
+
background: #f9f9f9;
</syntaxhighlight>
Fragment ten wymusza białe tło w tabelach, co uniemożliwia zastosowanie kolorowych komórek. Takowe bardzo by się przydały np. w opracowywanym przeze [[Zbiór zadań maturalnych/Biologia|Zbiorze zadań maturalnych z Biologii]] jak np. tu: [[:Kategoria:Zbiór zadań maturalnych/podstawa programowa 2017/Biologia/Zakres rozszerzony/Treści nauczania/II/3/1]]. Póki co posiłkuję się obramowaniem, chciałbym jednak docelowo zastosować kolorowanie komórek.
Z góry dziękuję za rozpatrzenie mojej prośby.
[[Wikipedysta:Superjurek|Superjurek]] ([[Dyskusja wikipedysty:Superjurek|dyskusja]]) 22:42, 16 kwi 2021 (CEST)
-----
{{Ping|Superjurek}}Spróbuj użyć zapisu, np.:
<syntaxhighlight lang="css">
background-color: blue !important;
color:white !important;
</syntaxhighlight>
zamiast:
<syntaxhighlight lang="css">
background-color: blue;
color:white;
</syntaxhighlight>
to powinno naprawić cały problem! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:05, 27 maj 2022 (CEST)
==Wstawianie kodu do {{LinkKomunikat2|Common.js}}==
Czy mógłbyś wsadzić do tej strony {{Code|.js}} kod:
<syntaxhighlight lang="JavaScript">
function WyswietlStronyKsiazki(){
function WikikodTitle(data,tabs,titles,tabstrona){
var title=data.parse.title;
var wikikod=data.parse.text['*'];
var elements=tabstrona[title];
for(var q in elements){
elements[q].innerHTML=wikikod;
var a=elements[q].getElementsByTagName('a');
if((a!==null)&&(a.length>0)){
var lena=a.length;
for(var i=0;i<lena;++i){
var href=a[i].getAttribute('href');
if(href!==null){
var re=/^[^\?]+\?[^&]+=[^&]*&?/g;
if(!re.test(href)){
var re2=/#/g;
var s=href.search(re2);
if(s!=-1){
var re=/^\/wiki\//g;
if(re.test(href)){
var href2=href.substring(6,s)
href2=decodeURI(href2);
href2=href2.replace(/[_\s]+/g," ");
for(var s=0;s<titles.length;s++){
var strona=titles[s];
if(href2==strona){
var href3=href.replace(/^[^#]*/g,"");
var a_toc=a[i];
a_toc.setAttribute('href',encodeURI(href3));
a_toc.setAttribute("title","");
}
}
}
}else{
var re=/^\/wiki\//g;
if(re.test(href)){
var hrefv=href.replace(re,"");
var hrefs=decodeURI(hrefv);
hrefs=hrefs.replace(/[_\s]+/g," ");
for(var s=0;s<titles.length;s++){
var strona=titles[s];
if(hrefs==strona){
var hrefs2=hrefv.replace(/^[^\/]*\//g,"");
var a_toc=a[i];
a_toc.setAttribute('href','#'+hrefs2);
a_toc.setAttribute("title","");
}
}
}
}
}
}
}
}
}
var tab_toc=new Array("toc","toc_spis");
for(var d=0;d<tab_toc.length;++d){
var toc=document.getElementsByClassName(tab_toc[d]);
if((toc!==null)&&(toc.length>0)){
for(var q in elements){
var num=new Array();
var v=0;
for(var e=0;e<tabs.length;++e){
if(tabs[e]==title){
v+=1;
if(parseInt(q)+1==v){
num.push(parseInt(e)+1);
break;
}
}
}
var headline=elements[q].getElementsByClassName("mw-headline");
if((headline!==null)&&(headline.length>0)){
var ulozenie=0;
var ostanie=0;
var len=headline.length;
var naglowek="";
var liczba_ulozenia_w_menu_spisu_tresci=1;
var h_number=1;
for (var k=0;k<len;++k){
var element2=headline[k];
var nag=element2.innerHTML;
var nag2=element2.getAttribute('id');
var h=element2.parentNode.tagName;
var h_numer=h.replace(/^[^\d]+/g,"");
h_numer=parseInt(h_numer)
if((ulozenie==0)||(ulozenie>=h_numer)){
ulozenie=h_numer-1;
}else {
if(ostatnie+1<h_numer-ulozenie){
ulozenie=h_numer-ostatnie-1;
}
}
ostatnie=h_numer-ulozenie;
h_numer=h_numer-ulozenie;
if(k==0){
num.push(1);
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="<ul><li><a href=\"#"+nag2+"\">"+nag+"</a>";
}else{
if(h_numer==liczba_ulozenia_w_menu_spisu_tresci){
num[num.length-1]+=1;
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="</li><li><a href=\"#"+nag2+"\">"+nag+"</a>";
}else{
if(h_numer>liczba_ulozenia_w_menu_spisu_tresci){
num.push(1);
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="<ul><li><a href=\"#"+nag2+"\">"+nag+"</a>";
liczba_ulozenia_w_menu_spisu_tresci=h_numer;
}else{
if(h_numer<liczba_ulozenia_w_menu_spisu_tresci){
num.splice(num.length-liczba_ulozenia_w_menu_spisu_tresci+h_numer,liczba_ulozenia_w_menu_spisu_tresci-h_numer);
num[num.length-1]+=1;
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+=('</li></ul>'.repeat(liczba_ulozenia_w_menu_spisu_tresci-h_numer))+"</li><li><a href=\"#"+nag2+"\">"+nag+"</a>";
liczba_ulozenia_w_menu_spisu_tresci=h_numer;
}
}
}
}
}
if(naglowek!=""){
naglowek+=('</li></ul>'.repeat(liczba_ulozenia_w_menu_spisu_tresci));
for(var b=0;b<toc.length;++b){
var a2=toc[b].getElementsByTagName('a');
if((a2!=null)&&(a2.length>0)){
for(var y=0;y<a2.length;++y){
var parent=a2[y].parentNode;
var href=a2[y].getAttribute('href');
href=href.replace(/^#/g,"");
var title2=title.replace(/^[^\/]+\//g,"");
if(href==title2.replace(/[_ ]+/g,"_")+((q>0)?("_"+(parseInt(q)+1)):"")){
var div=document.createElement('div');
div.innerHTML=naglowek;
var links=a2[y].getElementsByClassName('toctext');
if((links!=null)&&(links.length>0)){
var link=links[0].innerHTML;
if(link==title2){
parent.appendChild(div.getElementsByTagName('ul')[0]);
}
}
}
}
}
}
}
}
}
}
}
for(var d=0;d<tab_toc.length;++d){
var toc_pos=document.getElementsByClassName(tab_toc[d]);
if((toc_pos!==null)&&(toc_pos.length>0)){
for(var w=0;w<toc_pos.length;++w){
var li=toc_pos[w].getElementsByTagName('li');
var poziom;
var section=1;
for(var z=0;z<li.length;++z){
var parent=li[z].parentNode.parentNode;
if(parent!==null){
var klasa=parent.getAttribute('class');
if(klasa!==null){
var poziom=klasa.match(/toclevel-\d+/g);
if(poziom!==null){
poziom=parseInt(poziom.toString().match(/\d+$/).toString())+1;
}else{
poziom=1;
}
}else{poziom=1;}
}else{poziom=1;}
var klasa=li[z].getAttribute('class');
if(klasa!==null){
var czy_section=klasa.match(/tocsection-\d+/);
if(czy_section!==null){
klasa=klasa.replace(/tocsection-\d+/g,"tocsection-"+section);
li[z].setAttribute('class',klasa);
}else{
li[z].classList.add("tocsection-"+section);
}
var czy_level=klasa.match(/toclevel-\d+/);
if(czy_level!==null){
klasa=li[z].getAttribute('class');
klasa=klasa.replace(/toclevel-\d+/g,"toclevel-"+poziom);
li[z].setAttribute('class',klasa);
}else{
li[z].classList.add("toclevel-"+poziom);
}
}else{
li[z].setAttribute('class',"toclevel-"+poziom+" tocsection-"+section)
}
section=section+1;
}
}
}
}
var headline=document.getElementsByClassName('mw-headline');
if((headline)&&(headline.length>0)){
for(var i=0;i<headline.length;++i){
var c=1;
var el=headline[i];
var id0=el.innerHTML;
id0=id0.replace(/[_\s]+/g,"_");
id0=id0.replace(/<[^<>]+>/g,"");
for(var j=0;j<i;++j){
var el1=headline[j];
var id1=el1.innerHTML;
id1=id1.replace(/[_\s]+/g,"_");
id1=id1.replace(/<[^<>]+>/g,"");
if(id0==id1){
++c;
}
}
if(c==1){
el.setAttribute('id',id0);
}else{
el.setAttribute('id',id0+"_"+c);
}
}
}
var tab_toc=new Array("toc","toc_spis");
for(d=0;d<tab_toc.length;++d){
var toc_pos=document.getElementsByClassName(tab_toc[d]);
if((toc_pos!==null)&&(toc_pos.length>0)){
for(var w=0;w<toc_pos.length;++w){
var toc=toc_pos[w];
var a=toc.getElementsByTagName('a');
if((a)&&(a.length>0)){
for(var p=0;p<a.length;++p){
var strona=a[p].getElementsByClassName('toctext')[0].innerHTML.replace(/[_\s]+/g,"_");
strona=strona.replace(/<[^<>]+>/g,"");
var c=1;
for(var v=0;v<p;++v){
var strona2;
strona2=a[v].getElementsByClassName('toctext')[0].innerHTML.replace(/[_\s]+/g,"_");
strona2=strona2.replace(/<[^<>]+>/g,"");
if(strona==strona2){
++c;
}
}
strona=strona.replace(/<[^<>]+>/g,"");
if(c==1){
a[p].setAttribute('href',"#"+strona);
}else{
a[p].setAttribute('href',"#"+strona+"_"+c);
}
}
}
}
}
}
}
function StronaSubst(data){
var wikikod=data.parse.text['*'];
var elem=document.createElement('div');
elem.innerHTML=wikikod;
var klasa_mw_parser_out=elem.getElementsByClassName('mw-parser-output');
var wikikod_wyodrepniony=(((klasa_mw_parser_out)&&(klasa_mw_parser_out.length==1))?(klasa_mw_parser_out[0].innerHTML):wikikod);
var czy_wikikod=wikikod_wyodrepniony.match(/^\s*$/g);
if(czy_wikikod){return;}
var strona_subst="strona_subst";
var tagclass=document.getElementsByClassName(strona_subst);
if(tagclass==null){return null;}
var liczba_elementow=tagclass.length;
if(liczba_elementow==0){return null;}
var titles=new Array();
var tabstrona=new Array();
var tabs=new Array();
for (var i=0;i<liczba_elementow;++i){
var element=tagclass[i];
if(element.tagName!="DIV"){return null;}
var strona=element.innerHTML;
var re = /^[_ ]*$/g;
var dopasowanie = re.test(strona);
if(dopasowanie){return null;};
strona=strona.replace(/^[_ ]*/g,"");
strona=strona.replace(/[_ ]*$/g,"");
strona=strona.replace(/[_ ]+/g," ");
tabs[i]=strona;
var czy=false;
for(var d in titles){
if(titles[d]==strona){
czy=true;
break;
}
}
if(!czy){
titles[titles.length]=strona;
}
if(tabstrona[strona]==null){
tabstrona[strona]=new Array();
}
var tab=tabstrona[strona];
var tablen=tab.length;
tabstrona[strona][tablen]=element;
}
for ( var p in titles ) {
var strona=titles[p];
var api=new mw.Api;
api.get({
action: 'parse',
format: 'json',
prop: 'text',
title: strona,
text: '{{:'+strona+'}}',
disabletoc: true,
disablelimitreport: true,
contentmodel: 'wikitext'
}).done(function(data){
WikikodTitle(data,tabs,titles,tabstrona);
});
}
}
var strona = mw.config.get('wgPageName');
var api=new mw.Api;
api.get({
action: 'parse',
format: 'json',
prop: 'text',
title: strona,
text: '{{#invoke:StronicowyParser|CzyStronaSubst}}',
disabletoc: true,
disablelimitreport: true,
contentmodel: 'wikitext'
}).done(function(data){
StronaSubst(data)
});
}
$(WyswietlStronyKsiazki);
</syntaxhighlight>
Ten program {{Code|.js}} znajduje się na stronie: {{LinkUżytkownik2|Persino/common.js}}. Jak wstawisz ten kod do strony {{LinkKomunikat2|Common.js}}, to powinno wtedy zadziałać ładowanie modułów książki, za pomocą JavaScript, na stronie {{LinkUżytkownik2|Persino/Wersja do druku}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:09, 13 lis 2021 (CET)
== Gadżet StronaSubst - dodawanie do listy gadżetów ==
Mamy sobie kod JavaScript {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} i opis gadżetu {{LinkUżytkownik2|Persino/Gadget-StronaSubst}}, czy mógłbyś przenieść na strony w przestrzeni nazw {{Np|MediaWiki|link=tak}}, i wywołaniu gadżetu w takiej formie jak w {{LinkUżytkownik2|Persino/Gadgets-definition}} przenieść na stronę {{LinkKomunikat2|Gadgets-definition}}. Wtedy strona {{LinkUżytkownik2|Persino/Wersja do druku}} powinna działać! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:14, 27 lis 2021 (CET)
=== Zamienianie kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}} ===
{{Ping|Wargo}}Chodzi tutaj, że jak będzie link do artykułu w nagłówku, to, żeby nie pojawiało się pole '''[ artykuł | edytuj ]''' zamiast '''[ edytuj ]''' - aktualnie w {{LinkKomunikat2|Gadget-StronaSubst.js}} pole '''[ artykuł | edytuj ]''' pojawia się zawsze zamiast '''[ edytuj ]''', wtedy gdy ma zawartość '''strona_subst''' jest nie pusta, to algorytm jest zakańczany. A jak jest nazwa strony w zawartości div-a '''strona_subst''', a nie link w nagłówku, to wtedy ma się prawo pojawić '''[ artykuł | edytuj ]''' zamiast '''[ edytuj ]'''. Czy mógłbyś wersję {{LinkKomunikat2|Gadget-StronaSubst.js}} zamienić na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}. Z góry dziękuję za rozpatrzenie mojej prośby! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 10:13, 30 lis 2021 (CET)
----
{{Ping|Wargo}} Jeszcze, czy mógłbyś zamienić tekst w {{LinkKomunikat2|Gadget-StronaSubst}} z:
{{Pre|(bez sekcji "Spis treści" i "Licencja")}}
na
{{Pre|(bez sekcji "Spis treści", "Bibliografia" i "Licencja")}}
[[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:18, 1 gru 2021 (CET)
=== Ostatnia poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}===
{{Ping|Wargo}}Chodzi tutaj, że algorytm zawiesza się na artykule {{LinkGłówna|Mechanika kwantowa/Mechanika kwantowa}}, to co poprawiłem już tak przestaje być, błąd znikł! Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 18:30, 3 gru 2021 (CET)
=== Miejmy nadzieję, że to jest ostatnia poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}===
{{Ping|Wargo}}Chodzi tutaj, że algorytm ma błędy JavaScript na stronie, przy danej książce: {{LinkGłówna|Szachy}}, czyli przy artykule: {{LinkGłówna|Szachy/Szachy}} - błąd tylko widać, gdy chcemy zbadać element, moja poprawka usuwa ten błąd! Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:50, 4 gru 2021 (CET)
=== Następna poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}} ===
{{Ping|Wargo}}Chodzi tutaj, że algorytm nie wyświetla w TOC (wbudowany spis treści) podrozdziałów dla artykułu {{LinkGłówna|Matematyka dla liceum/Matematyka dla liceum}}, moja poprawka usuwa ten błąd. Skrypt porządkuje artykuły według nagłówków na stronie tego artykułu w TOC, a zestaw artykułów, w danek sekcji, wyświetla, również w TOC, je przydzielone do niej. Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:51, 7 gru 2021 (CET)
=== Poważne poprawki w {{LinkKomunikat2|Gadget-StronaSubst.js}} na podstawie {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} oraz dodanie i zmiana pewnych gadżetów ===
{{Ping|Wargo}} Następne poprawki dotyczące wpisu w {{LinkKomunikat2|Gadget-StronaSubst.js}}, co do zauważonych drobnych błędów, czyli mógłbyś dokonać zamiany kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}.
Z góry dziękuję. Poza tym wszystko działa, od razu dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:32, 8 gru 2021 (CET)
----
{{Ping|Wargo}} Jeszcze, czy mógłbyś zamienić tekst w {{LinkKomunikat2|Gadget-StronaSubst}} z:
{{Pre|(bez sekcji "Spis treści", "Bibliografia" i "Licencja")}}
na
{{Pre|(bez sekcji: "Spis treści", "Bibliografia", "Zobacz też", "Inne", "Licencja" i tym podobne)}}
Dziękuję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 05:43, 9 gru 2021 (CET)
----
{{Ping|Wargo}} Czy mógłbyś uzupełnić {{LinkKomunikat2|Gadgets-definition}}, według {{LinkUżytkownik2|Persino/Gadgets-definition}} - szczególnie trzeba naprawić odwołanie do gadżetu StronaSubst, i dodać gadżety: {{LinkUżytkownik2|Persino/Gadget-gConfig.js}} (jego opis jest w {{LinkUżytkownik2|Persino/Gadget-gConfig}}), przenosząc go do {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis do {{LinkKomunikat2|Gadget-gConfig}}), a także drugi gadżet dotyczący szablonu {{s|Cytuj}} przenieś z {{LinkUżytkownik2|Persino/Gadget-citation-access-info.js}} (jego opis to {{LinkUżytkownik2|Persino/Gadget-citation-access-info}}) do {{LinkKomunikat2|Gadget-citation-access-info.js}} (a jego opis do {{LinkKomunikat2|Gadget-citation-access-info}}).
Gadżet '''gConfig''' potrzebny mi jest do gadżetu {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}}, którego zawartość należy przenieść do {{LinkKomunikat2|Gadget-StronaSubst.js}}, a gadżet {{LinkUżytkownik2|Persino/Gadget-citation-access-info.js}}, potrzebny mi jest do szablonu {{s|Cytuj}} do dymku do pełnej wersji tego szablonu, który należy przenieść do {{LinkKomunikat2|Gadget-citation-access-info.js}}.
Proszę o pilną reakcję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:04, 11 gru 2021 (CET)
----
Również proszę o zastąpienie strony komunikatu {{LinkKomunikat2|Gadget-map-toggler.js}} stroną {{LinkUżytkownik2|Persino/Gadget-map-toggler.js}}. Z góry dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 18:38, 11 gru 2021 (CET)
== Zamiana wartości linkowej i szablonowej ==
{{Ping|Wargo}}Czy mógłbyś zamienić na stronie: {{LinkUżytkownik2|Rychozol/common.js}}, z wartości: {{Nowiki|[[GNU Free Documentation License|GFDL]]}}, na: {{Nowiki|[[Wikibooks:GNU Free Documentation License|GFDL]]}}, a także na tej samej stronie wartość: {{s|clear}}, na {{s|BrClear}}, ponieważ ze względu na zmianę nazw stron. Z góry dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:35, 13 gru 2021 (CET)
<del>== Dalsze zmiany na stronach gadżetów (pilne) ==
{{Ping|Wargo}}Czy mógłbyś zainstalować gadżet "Gadget-gConfig", tak jak na stronie {{LinkUżytkownik2|Persino/Gadgets-definition}} (pierwsza linijka) w {{LinkKomunikat2|Gadgets-definition}}, a co do tego, jego kod {{LinkUżytkownik2|Persino/Gadget-gConfig.js}} zainstalować w miejscu {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis jest w {{LinkUżytkownik2|Persino/Gadget-gConfig}}), przenosząc go do {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis do {{LinkKomunikat2|Gadget-gConfig}}). A później zaaktualizuj gadżet {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}, a także zainstalować w miejscu {{LinkKomunikat2|Gadget-Funkcje.js}} gadżet {{LinkUżytkownik2|Persino/Gadget-Funkcje.js}}, a również zaktualizować wpis dla gadżetu StronaSubst tak jak w {{LinkUżytkownik2|Persino/Gadgets-definition}}. A później sprawdzić, czy wszystko działa. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 13:19, 4 lut 2022 (CET)</del>
== Przepełnienie scrollbarów, poszczególnych elementów strony, a ustawienia różnych klas, jeżeli takowe istnieją ==
{{Ping|Wargo}}Czy mógłbyś uwzględnić na stronie {{LinkKomunikat2|Common.js}} część mojej strony, która jest po sekwencji /**/, będąca na stronie {{LinkUżytkownik2|Persino/common.js}}. Ten skrypt sprawdza, czy nastąpiło przepełnienie elementów strony dokumentu HTML Wikibooks, a jeżeli nastąpiło, to następuje ustawienie tam odpowiednich klas, a jeżeli ono znikło, to usunięcie tych klas. Ten skrypt jest mi potrzebny do szablonu {{s|StronaStart}} i jego pokrewnych oraz do mojego ustawienia skórki vector-2022, która jest w mojej przestrzeni użytkownika. Dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:23, 27 maj 2022 (CEST)
== Aktualizacja przepełnienia scrollbarów i implementacja sticky ==
{{Ping|Wargo}} Czy mógłbyś uwzględnić na stronie {{LinkKomunikat2|Common.js}} część mojej strony, która jest po sekwencji /**/, będąca na stronie {{LinkUżytkownik2|Persino/common.js}}. W przypadku pierwszego algorytmu, dodałem tam klasy {{Code|mw-overflow-x}} i {{Code|mw-overflow-y}}, które ten algorytm rozpoznaje, i dla nich liczy, czy nastąpiło to właśnie przepełnienie. A wcześniej liczyło dla wszystkich znaczników na stronie, co spowalniało całą stronę. Tam, gdzie, ważne jest liczenie przepełnienie wstawiłem {{Code|mw-overflow-x}}, czy {{Code|mw-overflow-y}}, czyli algorytm ten tam powinien działać, co można sprawdzić na stronie głównej tego projektu ({{NAZWASERWISU|link=tak}}). Drugi algorytm jest rozszerzenie właściwości {{Code|position:sticky}}, który on nie działa, gdy choćby jeden z rodziców jest z nie {{Code|overflow:visible}}, ale z {{Code|overflow}}, a ja zrobiłem, że jednak zaczeło działać, a ja tak to zrobiłem: {{Code|position:sticky}} zastąpiłem {{Code|position:absolute}}, w tym znaczników ustawiam {{Code|mw-sticky-y}} (przesuw w pionie) lub {{Code|mw-sticky-x}} (przesuw w poziomie), wtedy ten algorytm JavaScript działa tak, że pudełko przesuwa się od pewnej granicy do pewnej, ale nigdy nie wychodzi poza te granice, czyli działa podobnie jak {{Code|position:sticky}}. Dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 12:41, 9 lip 2022 (CEST)
==Aktualizacja skryptów na {{LinkKomunikat2|common.js}} z {{LinkUżytkownik2|Persino/common.js}}==
{{Ping|Wargo}} Czy mógłbyś zaktualizować kod na stronie {{LinkKomunikat2|common.js}} ze strony {{LinkUżytkownik2|Persino/common.js}} pod znakiem {{Code|/**/}}. Zdefiniowałem przestrzeń nazw {{Code|Common}} definicją:
{{Pre|var Common{{=}}new Array();}}
Prawie wszystkie funkcje ze strony {{LinkKomunikat2|common.js}} przeniosłem do tej przestrzeni na stronie {{LinkUżytkownik2|Persino/common.js}} (tutaj wszystkie funkcje są w przestrzeni {{Code|Common}}). Rozwinąłem funkcję {{Code|Common.ScrollBarOverflow}}, {{Code|Common.StickyXY}} i {{Code|Common.OptimalXY}}. Napisałem od nowa funkcje: {{Code|Common.RamkiTableIDiv}} i {{Code|Common.ZdarzeniaDodatkoweFunkcyjneXY}} oraz funkcję do obsługi szablonu {{s|StronaStart}} i jego pokrewnych książkowych z definiowałem w postaci: {{Code|Common.StronaStart}}.
Co oznaczają te funkcje:
* {{Code|Common.ScrollBarOverflow}} - do generowania pewnych klas, które służą do obsługi pudełka z paskami przewijania,
* {{Code|Common.StickyXY}} - aktualizacja funkcji {{Code|position:sticky}}, tam gdzie go nie można go użyć, do używamy tej funkcji,
* {{Code|Common.OptimalXY}} - do obsługi boksów na stronach z użytymi szablonami stronicowymi książkowymi otwierającymi i zamykającymi,
* {{Code|Common.RamkiTableIDiv}} - dodaje dalsze funkcje przy przyciskach tabel i ramek, nawigacyjnych,
* {{Code|Common.ZdarzeniaDodatkoweFunkcyjneXY}} - dodaje zdarzenia do obsługi funkcji: {{Code|Common.StickyXY}} i {{Code|Common.OptimalXY}},
* {{Code|Common.StronaStart}} - służy do obsługi spisu treści i boksów szablonu {{s|StronaStart}}.
Na stronach podręcznikowych boksy i spisy treści są responsywne według moich ustawień, a dla wszystkich użytkowników będą responsywne po zaktualizowaniu strony {{LinkKomunikat2|common.js}} przy pomocy {{LinkUżytkownik2|Persino/common.js}}.
----
Proszę o pilną reakcję i zrealizowanie mojej prośby. Z góry dziękuję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:55, 3 sie 2022 (CEST)
:Czy coś jest do usunięcia z obecnego common.js? Tj. czy coś stamtąd mam tym zastąpić? [[Wikipedysta:Wargo|Wargo]] ([[Dyskusja wikipedysty:Wargo|dyskusja]]) 20:55, 7 sie 2022 (CEST)
::{{Ping|Wargo}}Właśnie masz zastąpić nową wersją z pod /**/ z: {{LinkUżytkownik2|Persino/common.js}}, zastępując całą zawartość strony w: {{LinkKomunikat2|common.js}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:04, 7 sie 2022 (CEST)
:::{{Ping|Wargo}} Już możesz zastępować, wszystko gotowe! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:39, 7 sie 2022 (CEST)
===Ostatnia poprawka===
{{Ping|Wargo}}Czy mógłbyś linijkę kodu:
{{Pre|var top_ab{{=}}rect_rodzic[top]-margintop;
var bottom_ab{{=}}(wys-rect_rodzic[bottom])-marginbottom;
}}
poprawić na:
{{Pre|var top_ab{{=}}rect_rodzic[top];
var bottom_ab{{=}}(wys-rect_rodzic[bottom]);
}}
w funkcji: {{Code|Common.StickyXY}}, w {{LinkKomunikat2|common.js}} według {{LinkUżytkownik2|Persino/common.js}}. Tj. to linijka: 481-482.
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:51, 8 sie 2022 (CEST)
=== Miejmy nadzieję, że ostatnia poprawka na stronie {{LinkKomunikat2|common.js}} ===
{{Ping|Wargo}}Czy mógłbyś w kodzie w linii: 177 i 183, na stronie {{LinkKomunikat2|common.js}} według {{LinkUżytkownik2|Persino/common.js}} poprawić według schematu:
{{Pre
|collapseTable( i );
}}
zamienić na:
{{Pre
|Common.collapseTable( i );
}}
Poprawka jest ważna, bo tabele nawigacyjne, na stronie głównej i gdzieś indziej, nie chcą się kolapsować, a po tej operacji już będą się tak zachowywać!
----
W linii: 176 poprawić:
{{Pre
|1=if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) {{!}}{{!}} ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "Common.autoCollapse" ) ) ) {
}}
na kod:
{{Pre
|1=if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) {{!}}{{!}} ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) {
}}
----
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 13:34, 8 sie 2022 (CEST)
=== Poprawka, by zdarzenia nie były w postaci podwójnej, tzn. ze strony: {{LinkKomunikat2|common.js}} (strona {{Np|MediaWiki|link=tak}}), i {{LinkUżytkownik2|Persino/common.js}} (strona użytkownika - {{Np|User|link=tak}}) ===
{{Ping|Wargo}}Zrobiłem tak, by zdarzenia nie były w postaci podwójnej, tzn. ze strony MediaWiki: {{LinkKomunikat2|common.js}}, i strony użytkownika: {{LinkUżytkownik2|Persino/common.js}}, jeżeli takową stronę użytkownik posiada. Zrobiłem też tam parę drobnych innych edycji. Mówiąc najprostszej, zawartością z: {{LinkUżytkownik2|Persino/common.js}}, z pod {{Code|/**/}} zastąp zawartość strony: {{LinkKomunikat2|common.js}}. Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 07:13, 9 sie 2022 (CEST)
=== Poprawka strony {{LinkKomunikat2|Gadget-delete-local.js}}, kilka linijek ===
{{Ping|Wargo}} Czy mógłbyś zamienić zawartość strony {{LinkKomunikat2|Gadget-delete-local.js}} na {{LinkUżytkownik2|Persino/Gadget-delete-local.js}}.
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 07:13, 9 sie 2022 (CEST)
=== Przecieki pamięci w {{LinkKomunikat2|common.js}} w połączeniu z {{LinkUżytkownik2|Persino/common.js}} ===
{{Ping|Wargo}} Czy mógłbyś stronę {{LinkKomunikat2|common.js}} podmienić z zawartością strony {{LinkUżytkownik2|Persino/common.js}} z pod linii /**/. Z góry dziękuję za spełnienie prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 17:37, 15 sie 2022 (CEST)
=== Usunięcie funkcji {{Code|Promise}} z funkcji {{Code|Common.RamkiTableIDiv}}, a nowa poprawka w {{LinkKomunikat2|common.js}} przy pomocy {{LinkUżytkownik2|Persino/common.js}} ===
{{Ping|Wargo}} Kiedyś funkcja {{Code|Common.RamkiTableIDiv}} była uruchamiana za pomocą zwykłej funkcji bez umieszczenia go w bloku $, a teraz jest ona umieszczony właśnie w nim, więc {{Code|Promise}} jest już w nim nie potrzebna, więc usunąłem z tej funkcji właśnie nią, więc funkcję {{Code|Common.RamkiTableIDiv}} musiałem zmodyfikować.
----
Zadanie pierwsze: Czy mógłbyś definicję funkcji {{Code|Common.RamkiTableIDiv}} w {{LinkKomunikat2|common.js}} zastąpić nową jego definicją z {{LinkUżytkownik2|Persino/common.js}}.
Zadanie drugie: Linie, tzn.: 22-26, na stronie {{LinkKomunikat2|common.js}} zamienić na linie: 24-28 ze strony {{LinkUżytkownik2|Persino/common.js}}.
Najłatwiej wykonać te dwa zadania jest sposób: zawartość na stronie {{LinkKomunikat2|common.js}} zastąpić zawartością z {{LinkUżytkownik2|Persino/common.js}} z pod linii /**/, ze względu, że umieściłem tam dodatkowe komentarze, co możesz sprawdzić, co się zmieniło w historii zmian.
----
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 17:38, 16 sie 2022 (CEST)
6h0wnwijizhiwjppyxdw2e77821i9pp
437903
437902
2022-08-16T18:16:11Z
Persino
2851
/* Usunięcie funkcji {{Code|Promise}} z funkcji {{Code|Common.RamkiTableIDiv}}, a nowa poprawka w {{LinkKomunikat2|common.js}} przy pomocy {{LinkUżytkownik2|Persino/common.js}} */
wikitext
text/x-wiki
<noinclude>__LINKNOWEJSEKCJI__ [[Kategoria:Księga próśb i zadań]]</noinclude>
{{fmbox|tekst=UWAGA: Nowe zgłoszenia o innym temacie niż to co dotyczy [[Wikibooks:Prośby do administratorów interfejsu/Zgłoszenia]] lub łamiące zasady [[Wikibooks:Wikietykieta|Wikietykiety]] mogą być bezwarunkowo wycofywane z tej strony}}
<!-- Nowe zgłoszenia wstawiaj poniżej tej linii. Powyżej tej linii nic nie usuwaj. Nie usuwaj tej linii -->
== Usunięcie wymuszenia białego tła w tabelach. ==
Zwracam się z prośbą o usunięcie [[MediaWiki:Common.css]] fragmentu
<syntaxhighlight lang="css">
}
+
table.wikitable td,
+
table.prettytable td {
+
background: #f9f9f9;
</syntaxhighlight>
Fragment ten wymusza białe tło w tabelach, co uniemożliwia zastosowanie kolorowych komórek. Takowe bardzo by się przydały np. w opracowywanym przeze [[Zbiór zadań maturalnych/Biologia|Zbiorze zadań maturalnych z Biologii]] jak np. tu: [[:Kategoria:Zbiór zadań maturalnych/podstawa programowa 2017/Biologia/Zakres rozszerzony/Treści nauczania/II/3/1]]. Póki co posiłkuję się obramowaniem, chciałbym jednak docelowo zastosować kolorowanie komórek.
Z góry dziękuję za rozpatrzenie mojej prośby.
[[Wikipedysta:Superjurek|Superjurek]] ([[Dyskusja wikipedysty:Superjurek|dyskusja]]) 22:42, 16 kwi 2021 (CEST)
-----
{{Ping|Superjurek}}Spróbuj użyć zapisu, np.:
<syntaxhighlight lang="css">
background-color: blue !important;
color:white !important;
</syntaxhighlight>
zamiast:
<syntaxhighlight lang="css">
background-color: blue;
color:white;
</syntaxhighlight>
to powinno naprawić cały problem! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:05, 27 maj 2022 (CEST)
==Wstawianie kodu do {{LinkKomunikat2|Common.js}}==
Czy mógłbyś wsadzić do tej strony {{Code|.js}} kod:
<syntaxhighlight lang="JavaScript">
function WyswietlStronyKsiazki(){
function WikikodTitle(data,tabs,titles,tabstrona){
var title=data.parse.title;
var wikikod=data.parse.text['*'];
var elements=tabstrona[title];
for(var q in elements){
elements[q].innerHTML=wikikod;
var a=elements[q].getElementsByTagName('a');
if((a!==null)&&(a.length>0)){
var lena=a.length;
for(var i=0;i<lena;++i){
var href=a[i].getAttribute('href');
if(href!==null){
var re=/^[^\?]+\?[^&]+=[^&]*&?/g;
if(!re.test(href)){
var re2=/#/g;
var s=href.search(re2);
if(s!=-1){
var re=/^\/wiki\//g;
if(re.test(href)){
var href2=href.substring(6,s)
href2=decodeURI(href2);
href2=href2.replace(/[_\s]+/g," ");
for(var s=0;s<titles.length;s++){
var strona=titles[s];
if(href2==strona){
var href3=href.replace(/^[^#]*/g,"");
var a_toc=a[i];
a_toc.setAttribute('href',encodeURI(href3));
a_toc.setAttribute("title","");
}
}
}
}else{
var re=/^\/wiki\//g;
if(re.test(href)){
var hrefv=href.replace(re,"");
var hrefs=decodeURI(hrefv);
hrefs=hrefs.replace(/[_\s]+/g," ");
for(var s=0;s<titles.length;s++){
var strona=titles[s];
if(hrefs==strona){
var hrefs2=hrefv.replace(/^[^\/]*\//g,"");
var a_toc=a[i];
a_toc.setAttribute('href','#'+hrefs2);
a_toc.setAttribute("title","");
}
}
}
}
}
}
}
}
}
var tab_toc=new Array("toc","toc_spis");
for(var d=0;d<tab_toc.length;++d){
var toc=document.getElementsByClassName(tab_toc[d]);
if((toc!==null)&&(toc.length>0)){
for(var q in elements){
var num=new Array();
var v=0;
for(var e=0;e<tabs.length;++e){
if(tabs[e]==title){
v+=1;
if(parseInt(q)+1==v){
num.push(parseInt(e)+1);
break;
}
}
}
var headline=elements[q].getElementsByClassName("mw-headline");
if((headline!==null)&&(headline.length>0)){
var ulozenie=0;
var ostanie=0;
var len=headline.length;
var naglowek="";
var liczba_ulozenia_w_menu_spisu_tresci=1;
var h_number=1;
for (var k=0;k<len;++k){
var element2=headline[k];
var nag=element2.innerHTML;
var nag2=element2.getAttribute('id');
var h=element2.parentNode.tagName;
var h_numer=h.replace(/^[^\d]+/g,"");
h_numer=parseInt(h_numer)
if((ulozenie==0)||(ulozenie>=h_numer)){
ulozenie=h_numer-1;
}else {
if(ostatnie+1<h_numer-ulozenie){
ulozenie=h_numer-ostatnie-1;
}
}
ostatnie=h_numer-ulozenie;
h_numer=h_numer-ulozenie;
if(k==0){
num.push(1);
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="<ul><li><a href=\"#"+nag2+"\">"+nag+"</a>";
}else{
if(h_numer==liczba_ulozenia_w_menu_spisu_tresci){
num[num.length-1]+=1;
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="</li><li><a href=\"#"+nag2+"\">"+nag+"</a>";
}else{
if(h_numer>liczba_ulozenia_w_menu_spisu_tresci){
num.push(1);
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="<ul><li><a href=\"#"+nag2+"\">"+nag+"</a>";
liczba_ulozenia_w_menu_spisu_tresci=h_numer;
}else{
if(h_numer<liczba_ulozenia_w_menu_spisu_tresci){
num.splice(num.length-liczba_ulozenia_w_menu_spisu_tresci+h_numer,liczba_ulozenia_w_menu_spisu_tresci-h_numer);
num[num.length-1]+=1;
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+=('</li></ul>'.repeat(liczba_ulozenia_w_menu_spisu_tresci-h_numer))+"</li><li><a href=\"#"+nag2+"\">"+nag+"</a>";
liczba_ulozenia_w_menu_spisu_tresci=h_numer;
}
}
}
}
}
if(naglowek!=""){
naglowek+=('</li></ul>'.repeat(liczba_ulozenia_w_menu_spisu_tresci));
for(var b=0;b<toc.length;++b){
var a2=toc[b].getElementsByTagName('a');
if((a2!=null)&&(a2.length>0)){
for(var y=0;y<a2.length;++y){
var parent=a2[y].parentNode;
var href=a2[y].getAttribute('href');
href=href.replace(/^#/g,"");
var title2=title.replace(/^[^\/]+\//g,"");
if(href==title2.replace(/[_ ]+/g,"_")+((q>0)?("_"+(parseInt(q)+1)):"")){
var div=document.createElement('div');
div.innerHTML=naglowek;
var links=a2[y].getElementsByClassName('toctext');
if((links!=null)&&(links.length>0)){
var link=links[0].innerHTML;
if(link==title2){
parent.appendChild(div.getElementsByTagName('ul')[0]);
}
}
}
}
}
}
}
}
}
}
}
for(var d=0;d<tab_toc.length;++d){
var toc_pos=document.getElementsByClassName(tab_toc[d]);
if((toc_pos!==null)&&(toc_pos.length>0)){
for(var w=0;w<toc_pos.length;++w){
var li=toc_pos[w].getElementsByTagName('li');
var poziom;
var section=1;
for(var z=0;z<li.length;++z){
var parent=li[z].parentNode.parentNode;
if(parent!==null){
var klasa=parent.getAttribute('class');
if(klasa!==null){
var poziom=klasa.match(/toclevel-\d+/g);
if(poziom!==null){
poziom=parseInt(poziom.toString().match(/\d+$/).toString())+1;
}else{
poziom=1;
}
}else{poziom=1;}
}else{poziom=1;}
var klasa=li[z].getAttribute('class');
if(klasa!==null){
var czy_section=klasa.match(/tocsection-\d+/);
if(czy_section!==null){
klasa=klasa.replace(/tocsection-\d+/g,"tocsection-"+section);
li[z].setAttribute('class',klasa);
}else{
li[z].classList.add("tocsection-"+section);
}
var czy_level=klasa.match(/toclevel-\d+/);
if(czy_level!==null){
klasa=li[z].getAttribute('class');
klasa=klasa.replace(/toclevel-\d+/g,"toclevel-"+poziom);
li[z].setAttribute('class',klasa);
}else{
li[z].classList.add("toclevel-"+poziom);
}
}else{
li[z].setAttribute('class',"toclevel-"+poziom+" tocsection-"+section)
}
section=section+1;
}
}
}
}
var headline=document.getElementsByClassName('mw-headline');
if((headline)&&(headline.length>0)){
for(var i=0;i<headline.length;++i){
var c=1;
var el=headline[i];
var id0=el.innerHTML;
id0=id0.replace(/[_\s]+/g,"_");
id0=id0.replace(/<[^<>]+>/g,"");
for(var j=0;j<i;++j){
var el1=headline[j];
var id1=el1.innerHTML;
id1=id1.replace(/[_\s]+/g,"_");
id1=id1.replace(/<[^<>]+>/g,"");
if(id0==id1){
++c;
}
}
if(c==1){
el.setAttribute('id',id0);
}else{
el.setAttribute('id',id0+"_"+c);
}
}
}
var tab_toc=new Array("toc","toc_spis");
for(d=0;d<tab_toc.length;++d){
var toc_pos=document.getElementsByClassName(tab_toc[d]);
if((toc_pos!==null)&&(toc_pos.length>0)){
for(var w=0;w<toc_pos.length;++w){
var toc=toc_pos[w];
var a=toc.getElementsByTagName('a');
if((a)&&(a.length>0)){
for(var p=0;p<a.length;++p){
var strona=a[p].getElementsByClassName('toctext')[0].innerHTML.replace(/[_\s]+/g,"_");
strona=strona.replace(/<[^<>]+>/g,"");
var c=1;
for(var v=0;v<p;++v){
var strona2;
strona2=a[v].getElementsByClassName('toctext')[0].innerHTML.replace(/[_\s]+/g,"_");
strona2=strona2.replace(/<[^<>]+>/g,"");
if(strona==strona2){
++c;
}
}
strona=strona.replace(/<[^<>]+>/g,"");
if(c==1){
a[p].setAttribute('href',"#"+strona);
}else{
a[p].setAttribute('href',"#"+strona+"_"+c);
}
}
}
}
}
}
}
function StronaSubst(data){
var wikikod=data.parse.text['*'];
var elem=document.createElement('div');
elem.innerHTML=wikikod;
var klasa_mw_parser_out=elem.getElementsByClassName('mw-parser-output');
var wikikod_wyodrepniony=(((klasa_mw_parser_out)&&(klasa_mw_parser_out.length==1))?(klasa_mw_parser_out[0].innerHTML):wikikod);
var czy_wikikod=wikikod_wyodrepniony.match(/^\s*$/g);
if(czy_wikikod){return;}
var strona_subst="strona_subst";
var tagclass=document.getElementsByClassName(strona_subst);
if(tagclass==null){return null;}
var liczba_elementow=tagclass.length;
if(liczba_elementow==0){return null;}
var titles=new Array();
var tabstrona=new Array();
var tabs=new Array();
for (var i=0;i<liczba_elementow;++i){
var element=tagclass[i];
if(element.tagName!="DIV"){return null;}
var strona=element.innerHTML;
var re = /^[_ ]*$/g;
var dopasowanie = re.test(strona);
if(dopasowanie){return null;};
strona=strona.replace(/^[_ ]*/g,"");
strona=strona.replace(/[_ ]*$/g,"");
strona=strona.replace(/[_ ]+/g," ");
tabs[i]=strona;
var czy=false;
for(var d in titles){
if(titles[d]==strona){
czy=true;
break;
}
}
if(!czy){
titles[titles.length]=strona;
}
if(tabstrona[strona]==null){
tabstrona[strona]=new Array();
}
var tab=tabstrona[strona];
var tablen=tab.length;
tabstrona[strona][tablen]=element;
}
for ( var p in titles ) {
var strona=titles[p];
var api=new mw.Api;
api.get({
action: 'parse',
format: 'json',
prop: 'text',
title: strona,
text: '{{:'+strona+'}}',
disabletoc: true,
disablelimitreport: true,
contentmodel: 'wikitext'
}).done(function(data){
WikikodTitle(data,tabs,titles,tabstrona);
});
}
}
var strona = mw.config.get('wgPageName');
var api=new mw.Api;
api.get({
action: 'parse',
format: 'json',
prop: 'text',
title: strona,
text: '{{#invoke:StronicowyParser|CzyStronaSubst}}',
disabletoc: true,
disablelimitreport: true,
contentmodel: 'wikitext'
}).done(function(data){
StronaSubst(data)
});
}
$(WyswietlStronyKsiazki);
</syntaxhighlight>
Ten program {{Code|.js}} znajduje się na stronie: {{LinkUżytkownik2|Persino/common.js}}. Jak wstawisz ten kod do strony {{LinkKomunikat2|Common.js}}, to powinno wtedy zadziałać ładowanie modułów książki, za pomocą JavaScript, na stronie {{LinkUżytkownik2|Persino/Wersja do druku}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:09, 13 lis 2021 (CET)
== Gadżet StronaSubst - dodawanie do listy gadżetów ==
Mamy sobie kod JavaScript {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} i opis gadżetu {{LinkUżytkownik2|Persino/Gadget-StronaSubst}}, czy mógłbyś przenieść na strony w przestrzeni nazw {{Np|MediaWiki|link=tak}}, i wywołaniu gadżetu w takiej formie jak w {{LinkUżytkownik2|Persino/Gadgets-definition}} przenieść na stronę {{LinkKomunikat2|Gadgets-definition}}. Wtedy strona {{LinkUżytkownik2|Persino/Wersja do druku}} powinna działać! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:14, 27 lis 2021 (CET)
=== Zamienianie kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}} ===
{{Ping|Wargo}}Chodzi tutaj, że jak będzie link do artykułu w nagłówku, to, żeby nie pojawiało się pole '''[ artykuł | edytuj ]''' zamiast '''[ edytuj ]''' - aktualnie w {{LinkKomunikat2|Gadget-StronaSubst.js}} pole '''[ artykuł | edytuj ]''' pojawia się zawsze zamiast '''[ edytuj ]''', wtedy gdy ma zawartość '''strona_subst''' jest nie pusta, to algorytm jest zakańczany. A jak jest nazwa strony w zawartości div-a '''strona_subst''', a nie link w nagłówku, to wtedy ma się prawo pojawić '''[ artykuł | edytuj ]''' zamiast '''[ edytuj ]'''. Czy mógłbyś wersję {{LinkKomunikat2|Gadget-StronaSubst.js}} zamienić na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}. Z góry dziękuję za rozpatrzenie mojej prośby! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 10:13, 30 lis 2021 (CET)
----
{{Ping|Wargo}} Jeszcze, czy mógłbyś zamienić tekst w {{LinkKomunikat2|Gadget-StronaSubst}} z:
{{Pre|(bez sekcji "Spis treści" i "Licencja")}}
na
{{Pre|(bez sekcji "Spis treści", "Bibliografia" i "Licencja")}}
[[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:18, 1 gru 2021 (CET)
=== Ostatnia poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}===
{{Ping|Wargo}}Chodzi tutaj, że algorytm zawiesza się na artykule {{LinkGłówna|Mechanika kwantowa/Mechanika kwantowa}}, to co poprawiłem już tak przestaje być, błąd znikł! Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 18:30, 3 gru 2021 (CET)
=== Miejmy nadzieję, że to jest ostatnia poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}===
{{Ping|Wargo}}Chodzi tutaj, że algorytm ma błędy JavaScript na stronie, przy danej książce: {{LinkGłówna|Szachy}}, czyli przy artykule: {{LinkGłówna|Szachy/Szachy}} - błąd tylko widać, gdy chcemy zbadać element, moja poprawka usuwa ten błąd! Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:50, 4 gru 2021 (CET)
=== Następna poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}} ===
{{Ping|Wargo}}Chodzi tutaj, że algorytm nie wyświetla w TOC (wbudowany spis treści) podrozdziałów dla artykułu {{LinkGłówna|Matematyka dla liceum/Matematyka dla liceum}}, moja poprawka usuwa ten błąd. Skrypt porządkuje artykuły według nagłówków na stronie tego artykułu w TOC, a zestaw artykułów, w danek sekcji, wyświetla, również w TOC, je przydzielone do niej. Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:51, 7 gru 2021 (CET)
=== Poważne poprawki w {{LinkKomunikat2|Gadget-StronaSubst.js}} na podstawie {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} oraz dodanie i zmiana pewnych gadżetów ===
{{Ping|Wargo}} Następne poprawki dotyczące wpisu w {{LinkKomunikat2|Gadget-StronaSubst.js}}, co do zauważonych drobnych błędów, czyli mógłbyś dokonać zamiany kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}.
Z góry dziękuję. Poza tym wszystko działa, od razu dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:32, 8 gru 2021 (CET)
----
{{Ping|Wargo}} Jeszcze, czy mógłbyś zamienić tekst w {{LinkKomunikat2|Gadget-StronaSubst}} z:
{{Pre|(bez sekcji "Spis treści", "Bibliografia" i "Licencja")}}
na
{{Pre|(bez sekcji: "Spis treści", "Bibliografia", "Zobacz też", "Inne", "Licencja" i tym podobne)}}
Dziękuję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 05:43, 9 gru 2021 (CET)
----
{{Ping|Wargo}} Czy mógłbyś uzupełnić {{LinkKomunikat2|Gadgets-definition}}, według {{LinkUżytkownik2|Persino/Gadgets-definition}} - szczególnie trzeba naprawić odwołanie do gadżetu StronaSubst, i dodać gadżety: {{LinkUżytkownik2|Persino/Gadget-gConfig.js}} (jego opis jest w {{LinkUżytkownik2|Persino/Gadget-gConfig}}), przenosząc go do {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis do {{LinkKomunikat2|Gadget-gConfig}}), a także drugi gadżet dotyczący szablonu {{s|Cytuj}} przenieś z {{LinkUżytkownik2|Persino/Gadget-citation-access-info.js}} (jego opis to {{LinkUżytkownik2|Persino/Gadget-citation-access-info}}) do {{LinkKomunikat2|Gadget-citation-access-info.js}} (a jego opis do {{LinkKomunikat2|Gadget-citation-access-info}}).
Gadżet '''gConfig''' potrzebny mi jest do gadżetu {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}}, którego zawartość należy przenieść do {{LinkKomunikat2|Gadget-StronaSubst.js}}, a gadżet {{LinkUżytkownik2|Persino/Gadget-citation-access-info.js}}, potrzebny mi jest do szablonu {{s|Cytuj}} do dymku do pełnej wersji tego szablonu, który należy przenieść do {{LinkKomunikat2|Gadget-citation-access-info.js}}.
Proszę o pilną reakcję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:04, 11 gru 2021 (CET)
----
Również proszę o zastąpienie strony komunikatu {{LinkKomunikat2|Gadget-map-toggler.js}} stroną {{LinkUżytkownik2|Persino/Gadget-map-toggler.js}}. Z góry dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 18:38, 11 gru 2021 (CET)
== Zamiana wartości linkowej i szablonowej ==
{{Ping|Wargo}}Czy mógłbyś zamienić na stronie: {{LinkUżytkownik2|Rychozol/common.js}}, z wartości: {{Nowiki|[[GNU Free Documentation License|GFDL]]}}, na: {{Nowiki|[[Wikibooks:GNU Free Documentation License|GFDL]]}}, a także na tej samej stronie wartość: {{s|clear}}, na {{s|BrClear}}, ponieważ ze względu na zmianę nazw stron. Z góry dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:35, 13 gru 2021 (CET)
<del>== Dalsze zmiany na stronach gadżetów (pilne) ==
{{Ping|Wargo}}Czy mógłbyś zainstalować gadżet "Gadget-gConfig", tak jak na stronie {{LinkUżytkownik2|Persino/Gadgets-definition}} (pierwsza linijka) w {{LinkKomunikat2|Gadgets-definition}}, a co do tego, jego kod {{LinkUżytkownik2|Persino/Gadget-gConfig.js}} zainstalować w miejscu {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis jest w {{LinkUżytkownik2|Persino/Gadget-gConfig}}), przenosząc go do {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis do {{LinkKomunikat2|Gadget-gConfig}}). A później zaaktualizuj gadżet {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}, a także zainstalować w miejscu {{LinkKomunikat2|Gadget-Funkcje.js}} gadżet {{LinkUżytkownik2|Persino/Gadget-Funkcje.js}}, a również zaktualizować wpis dla gadżetu StronaSubst tak jak w {{LinkUżytkownik2|Persino/Gadgets-definition}}. A później sprawdzić, czy wszystko działa. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 13:19, 4 lut 2022 (CET)</del>
== Przepełnienie scrollbarów, poszczególnych elementów strony, a ustawienia różnych klas, jeżeli takowe istnieją ==
{{Ping|Wargo}}Czy mógłbyś uwzględnić na stronie {{LinkKomunikat2|Common.js}} część mojej strony, która jest po sekwencji /**/, będąca na stronie {{LinkUżytkownik2|Persino/common.js}}. Ten skrypt sprawdza, czy nastąpiło przepełnienie elementów strony dokumentu HTML Wikibooks, a jeżeli nastąpiło, to następuje ustawienie tam odpowiednich klas, a jeżeli ono znikło, to usunięcie tych klas. Ten skrypt jest mi potrzebny do szablonu {{s|StronaStart}} i jego pokrewnych oraz do mojego ustawienia skórki vector-2022, która jest w mojej przestrzeni użytkownika. Dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:23, 27 maj 2022 (CEST)
== Aktualizacja przepełnienia scrollbarów i implementacja sticky ==
{{Ping|Wargo}} Czy mógłbyś uwzględnić na stronie {{LinkKomunikat2|Common.js}} część mojej strony, która jest po sekwencji /**/, będąca na stronie {{LinkUżytkownik2|Persino/common.js}}. W przypadku pierwszego algorytmu, dodałem tam klasy {{Code|mw-overflow-x}} i {{Code|mw-overflow-y}}, które ten algorytm rozpoznaje, i dla nich liczy, czy nastąpiło to właśnie przepełnienie. A wcześniej liczyło dla wszystkich znaczników na stronie, co spowalniało całą stronę. Tam, gdzie, ważne jest liczenie przepełnienie wstawiłem {{Code|mw-overflow-x}}, czy {{Code|mw-overflow-y}}, czyli algorytm ten tam powinien działać, co można sprawdzić na stronie głównej tego projektu ({{NAZWASERWISU|link=tak}}). Drugi algorytm jest rozszerzenie właściwości {{Code|position:sticky}}, który on nie działa, gdy choćby jeden z rodziców jest z nie {{Code|overflow:visible}}, ale z {{Code|overflow}}, a ja zrobiłem, że jednak zaczeło działać, a ja tak to zrobiłem: {{Code|position:sticky}} zastąpiłem {{Code|position:absolute}}, w tym znaczników ustawiam {{Code|mw-sticky-y}} (przesuw w pionie) lub {{Code|mw-sticky-x}} (przesuw w poziomie), wtedy ten algorytm JavaScript działa tak, że pudełko przesuwa się od pewnej granicy do pewnej, ale nigdy nie wychodzi poza te granice, czyli działa podobnie jak {{Code|position:sticky}}. Dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 12:41, 9 lip 2022 (CEST)
==Aktualizacja skryptów na {{LinkKomunikat2|common.js}} z {{LinkUżytkownik2|Persino/common.js}}==
{{Ping|Wargo}} Czy mógłbyś zaktualizować kod na stronie {{LinkKomunikat2|common.js}} ze strony {{LinkUżytkownik2|Persino/common.js}} pod znakiem {{Code|/**/}}. Zdefiniowałem przestrzeń nazw {{Code|Common}} definicją:
{{Pre|var Common{{=}}new Array();}}
Prawie wszystkie funkcje ze strony {{LinkKomunikat2|common.js}} przeniosłem do tej przestrzeni na stronie {{LinkUżytkownik2|Persino/common.js}} (tutaj wszystkie funkcje są w przestrzeni {{Code|Common}}). Rozwinąłem funkcję {{Code|Common.ScrollBarOverflow}}, {{Code|Common.StickyXY}} i {{Code|Common.OptimalXY}}. Napisałem od nowa funkcje: {{Code|Common.RamkiTableIDiv}} i {{Code|Common.ZdarzeniaDodatkoweFunkcyjneXY}} oraz funkcję do obsługi szablonu {{s|StronaStart}} i jego pokrewnych książkowych z definiowałem w postaci: {{Code|Common.StronaStart}}.
Co oznaczają te funkcje:
* {{Code|Common.ScrollBarOverflow}} - do generowania pewnych klas, które służą do obsługi pudełka z paskami przewijania,
* {{Code|Common.StickyXY}} - aktualizacja funkcji {{Code|position:sticky}}, tam gdzie go nie można go użyć, do używamy tej funkcji,
* {{Code|Common.OptimalXY}} - do obsługi boksów na stronach z użytymi szablonami stronicowymi książkowymi otwierającymi i zamykającymi,
* {{Code|Common.RamkiTableIDiv}} - dodaje dalsze funkcje przy przyciskach tabel i ramek, nawigacyjnych,
* {{Code|Common.ZdarzeniaDodatkoweFunkcyjneXY}} - dodaje zdarzenia do obsługi funkcji: {{Code|Common.StickyXY}} i {{Code|Common.OptimalXY}},
* {{Code|Common.StronaStart}} - służy do obsługi spisu treści i boksów szablonu {{s|StronaStart}}.
Na stronach podręcznikowych boksy i spisy treści są responsywne według moich ustawień, a dla wszystkich użytkowników będą responsywne po zaktualizowaniu strony {{LinkKomunikat2|common.js}} przy pomocy {{LinkUżytkownik2|Persino/common.js}}.
----
Proszę o pilną reakcję i zrealizowanie mojej prośby. Z góry dziękuję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:55, 3 sie 2022 (CEST)
:Czy coś jest do usunięcia z obecnego common.js? Tj. czy coś stamtąd mam tym zastąpić? [[Wikipedysta:Wargo|Wargo]] ([[Dyskusja wikipedysty:Wargo|dyskusja]]) 20:55, 7 sie 2022 (CEST)
::{{Ping|Wargo}}Właśnie masz zastąpić nową wersją z pod /**/ z: {{LinkUżytkownik2|Persino/common.js}}, zastępując całą zawartość strony w: {{LinkKomunikat2|common.js}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:04, 7 sie 2022 (CEST)
:::{{Ping|Wargo}} Już możesz zastępować, wszystko gotowe! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:39, 7 sie 2022 (CEST)
===Ostatnia poprawka===
{{Ping|Wargo}}Czy mógłbyś linijkę kodu:
{{Pre|var top_ab{{=}}rect_rodzic[top]-margintop;
var bottom_ab{{=}}(wys-rect_rodzic[bottom])-marginbottom;
}}
poprawić na:
{{Pre|var top_ab{{=}}rect_rodzic[top];
var bottom_ab{{=}}(wys-rect_rodzic[bottom]);
}}
w funkcji: {{Code|Common.StickyXY}}, w {{LinkKomunikat2|common.js}} według {{LinkUżytkownik2|Persino/common.js}}. Tj. to linijka: 481-482.
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:51, 8 sie 2022 (CEST)
=== Miejmy nadzieję, że ostatnia poprawka na stronie {{LinkKomunikat2|common.js}} ===
{{Ping|Wargo}}Czy mógłbyś w kodzie w linii: 177 i 183, na stronie {{LinkKomunikat2|common.js}} według {{LinkUżytkownik2|Persino/common.js}} poprawić według schematu:
{{Pre
|collapseTable( i );
}}
zamienić na:
{{Pre
|Common.collapseTable( i );
}}
Poprawka jest ważna, bo tabele nawigacyjne, na stronie głównej i gdzieś indziej, nie chcą się kolapsować, a po tej operacji już będą się tak zachowywać!
----
W linii: 176 poprawić:
{{Pre
|1=if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) {{!}}{{!}} ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "Common.autoCollapse" ) ) ) {
}}
na kod:
{{Pre
|1=if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) {{!}}{{!}} ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) {
}}
----
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 13:34, 8 sie 2022 (CEST)
=== Poprawka, by zdarzenia nie były w postaci podwójnej, tzn. ze strony: {{LinkKomunikat2|common.js}} (strona {{Np|MediaWiki|link=tak}}), i {{LinkUżytkownik2|Persino/common.js}} (strona użytkownika - {{Np|User|link=tak}}) ===
{{Ping|Wargo}}Zrobiłem tak, by zdarzenia nie były w postaci podwójnej, tzn. ze strony MediaWiki: {{LinkKomunikat2|common.js}}, i strony użytkownika: {{LinkUżytkownik2|Persino/common.js}}, jeżeli takową stronę użytkownik posiada. Zrobiłem też tam parę drobnych innych edycji. Mówiąc najprostszej, zawartością z: {{LinkUżytkownik2|Persino/common.js}}, z pod {{Code|/**/}} zastąp zawartość strony: {{LinkKomunikat2|common.js}}. Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 07:13, 9 sie 2022 (CEST)
=== Poprawka strony {{LinkKomunikat2|Gadget-delete-local.js}}, kilka linijek ===
{{Ping|Wargo}} Czy mógłbyś zamienić zawartość strony {{LinkKomunikat2|Gadget-delete-local.js}} na {{LinkUżytkownik2|Persino/Gadget-delete-local.js}}.
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 07:13, 9 sie 2022 (CEST)
=== Przecieki pamięci w {{LinkKomunikat2|common.js}} w połączeniu z {{LinkUżytkownik2|Persino/common.js}} ===
{{Ping|Wargo}} Czy mógłbyś stronę {{LinkKomunikat2|common.js}} podmienić z zawartością strony {{LinkUżytkownik2|Persino/common.js}} z pod linii /**/. Z góry dziękuję za spełnienie prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 17:37, 15 sie 2022 (CEST)
=== Usunięcie funkcji {{Code|Promise}} z funkcji {{Code|Common.RamkiTableIDiv}}, a nowa poprawka w {{LinkKomunikat2|common.js}} przy pomocy {{LinkUżytkownik2|Persino/common.js}} ===
{{Ping|Wargo}} Kiedyś funkcja {{Code|Common.RamkiTableIDiv}} była uruchamiana za pomocą zwykłej funkcji bez umieszczenia go w bloku $, a teraz jest ona umieszczony właśnie w nim, więc {{Code|Promise}} jest już w nim nie potrzebna, więc usunąłem z tej funkcji właśnie nią, więc funkcję {{Code|Common.RamkiTableIDiv}} musiałem zmodyfikować.
----
Zadanie pierwsze: Czy mógłbyś definicję funkcji {{Code|Common.RamkiTableIDiv}} w {{LinkKomunikat2|common.js}} zastąpić nową jego definicją z {{LinkUżytkownik2|Persino/common.js}}.
Zadanie drugie: Linie, tzn.: 22-26, na stronie {{LinkKomunikat2|common.js}} zamienić na linie: 24-28 ze strony {{LinkUżytkownik2|Persino/common.js}}.
Najłatwiej wykonać te dwa zadania jest sposób: zawartość na stronie {{LinkKomunikat2|common.js}} zastąpić zawartością z {{LinkUżytkownik2|Persino/common.js}} z pod linii /**/, ze względu, że umieściłem tam dodatkowe komentarze, co możesz sprawdzić, co się zmieniło w historii zmian.
----
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 17:38, 16 sie 2022 (CEST)
ki4m2m0im60fjggmed4i87dvz9nkz0e
437905
437903
2022-08-16T18:26:47Z
Persino
2851
/* Usunięcie funkcji {{Code|Promise}} z funkcji {{Code|Common.RamkiTableIDiv}}, a nowa poprawka w {{LinkKomunikat2|common.js}} przy pomocy {{LinkUżytkownik2|Persino/common.js}} */
wikitext
text/x-wiki
<noinclude>__LINKNOWEJSEKCJI__ [[Kategoria:Księga próśb i zadań]]</noinclude>
{{fmbox|tekst=UWAGA: Nowe zgłoszenia o innym temacie niż to co dotyczy [[Wikibooks:Prośby do administratorów interfejsu/Zgłoszenia]] lub łamiące zasady [[Wikibooks:Wikietykieta|Wikietykiety]] mogą być bezwarunkowo wycofywane z tej strony}}
<!-- Nowe zgłoszenia wstawiaj poniżej tej linii. Powyżej tej linii nic nie usuwaj. Nie usuwaj tej linii -->
== Usunięcie wymuszenia białego tła w tabelach. ==
Zwracam się z prośbą o usunięcie [[MediaWiki:Common.css]] fragmentu
<syntaxhighlight lang="css">
}
+
table.wikitable td,
+
table.prettytable td {
+
background: #f9f9f9;
</syntaxhighlight>
Fragment ten wymusza białe tło w tabelach, co uniemożliwia zastosowanie kolorowych komórek. Takowe bardzo by się przydały np. w opracowywanym przeze [[Zbiór zadań maturalnych/Biologia|Zbiorze zadań maturalnych z Biologii]] jak np. tu: [[:Kategoria:Zbiór zadań maturalnych/podstawa programowa 2017/Biologia/Zakres rozszerzony/Treści nauczania/II/3/1]]. Póki co posiłkuję się obramowaniem, chciałbym jednak docelowo zastosować kolorowanie komórek.
Z góry dziękuję za rozpatrzenie mojej prośby.
[[Wikipedysta:Superjurek|Superjurek]] ([[Dyskusja wikipedysty:Superjurek|dyskusja]]) 22:42, 16 kwi 2021 (CEST)
-----
{{Ping|Superjurek}}Spróbuj użyć zapisu, np.:
<syntaxhighlight lang="css">
background-color: blue !important;
color:white !important;
</syntaxhighlight>
zamiast:
<syntaxhighlight lang="css">
background-color: blue;
color:white;
</syntaxhighlight>
to powinno naprawić cały problem! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:05, 27 maj 2022 (CEST)
==Wstawianie kodu do {{LinkKomunikat2|Common.js}}==
Czy mógłbyś wsadzić do tej strony {{Code|.js}} kod:
<syntaxhighlight lang="JavaScript">
function WyswietlStronyKsiazki(){
function WikikodTitle(data,tabs,titles,tabstrona){
var title=data.parse.title;
var wikikod=data.parse.text['*'];
var elements=tabstrona[title];
for(var q in elements){
elements[q].innerHTML=wikikod;
var a=elements[q].getElementsByTagName('a');
if((a!==null)&&(a.length>0)){
var lena=a.length;
for(var i=0;i<lena;++i){
var href=a[i].getAttribute('href');
if(href!==null){
var re=/^[^\?]+\?[^&]+=[^&]*&?/g;
if(!re.test(href)){
var re2=/#/g;
var s=href.search(re2);
if(s!=-1){
var re=/^\/wiki\//g;
if(re.test(href)){
var href2=href.substring(6,s)
href2=decodeURI(href2);
href2=href2.replace(/[_\s]+/g," ");
for(var s=0;s<titles.length;s++){
var strona=titles[s];
if(href2==strona){
var href3=href.replace(/^[^#]*/g,"");
var a_toc=a[i];
a_toc.setAttribute('href',encodeURI(href3));
a_toc.setAttribute("title","");
}
}
}
}else{
var re=/^\/wiki\//g;
if(re.test(href)){
var hrefv=href.replace(re,"");
var hrefs=decodeURI(hrefv);
hrefs=hrefs.replace(/[_\s]+/g," ");
for(var s=0;s<titles.length;s++){
var strona=titles[s];
if(hrefs==strona){
var hrefs2=hrefv.replace(/^[^\/]*\//g,"");
var a_toc=a[i];
a_toc.setAttribute('href','#'+hrefs2);
a_toc.setAttribute("title","");
}
}
}
}
}
}
}
}
}
var tab_toc=new Array("toc","toc_spis");
for(var d=0;d<tab_toc.length;++d){
var toc=document.getElementsByClassName(tab_toc[d]);
if((toc!==null)&&(toc.length>0)){
for(var q in elements){
var num=new Array();
var v=0;
for(var e=0;e<tabs.length;++e){
if(tabs[e]==title){
v+=1;
if(parseInt(q)+1==v){
num.push(parseInt(e)+1);
break;
}
}
}
var headline=elements[q].getElementsByClassName("mw-headline");
if((headline!==null)&&(headline.length>0)){
var ulozenie=0;
var ostanie=0;
var len=headline.length;
var naglowek="";
var liczba_ulozenia_w_menu_spisu_tresci=1;
var h_number=1;
for (var k=0;k<len;++k){
var element2=headline[k];
var nag=element2.innerHTML;
var nag2=element2.getAttribute('id');
var h=element2.parentNode.tagName;
var h_numer=h.replace(/^[^\d]+/g,"");
h_numer=parseInt(h_numer)
if((ulozenie==0)||(ulozenie>=h_numer)){
ulozenie=h_numer-1;
}else {
if(ostatnie+1<h_numer-ulozenie){
ulozenie=h_numer-ostatnie-1;
}
}
ostatnie=h_numer-ulozenie;
h_numer=h_numer-ulozenie;
if(k==0){
num.push(1);
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="<ul><li><a href=\"#"+nag2+"\">"+nag+"</a>";
}else{
if(h_numer==liczba_ulozenia_w_menu_spisu_tresci){
num[num.length-1]+=1;
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="</li><li><a href=\"#"+nag2+"\">"+nag+"</a>";
}else{
if(h_numer>liczba_ulozenia_w_menu_spisu_tresci){
num.push(1);
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="<ul><li><a href=\"#"+nag2+"\">"+nag+"</a>";
liczba_ulozenia_w_menu_spisu_tresci=h_numer;
}else{
if(h_numer<liczba_ulozenia_w_menu_spisu_tresci){
num.splice(num.length-liczba_ulozenia_w_menu_spisu_tresci+h_numer,liczba_ulozenia_w_menu_spisu_tresci-h_numer);
num[num.length-1]+=1;
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+=('</li></ul>'.repeat(liczba_ulozenia_w_menu_spisu_tresci-h_numer))+"</li><li><a href=\"#"+nag2+"\">"+nag+"</a>";
liczba_ulozenia_w_menu_spisu_tresci=h_numer;
}
}
}
}
}
if(naglowek!=""){
naglowek+=('</li></ul>'.repeat(liczba_ulozenia_w_menu_spisu_tresci));
for(var b=0;b<toc.length;++b){
var a2=toc[b].getElementsByTagName('a');
if((a2!=null)&&(a2.length>0)){
for(var y=0;y<a2.length;++y){
var parent=a2[y].parentNode;
var href=a2[y].getAttribute('href');
href=href.replace(/^#/g,"");
var title2=title.replace(/^[^\/]+\//g,"");
if(href==title2.replace(/[_ ]+/g,"_")+((q>0)?("_"+(parseInt(q)+1)):"")){
var div=document.createElement('div');
div.innerHTML=naglowek;
var links=a2[y].getElementsByClassName('toctext');
if((links!=null)&&(links.length>0)){
var link=links[0].innerHTML;
if(link==title2){
parent.appendChild(div.getElementsByTagName('ul')[0]);
}
}
}
}
}
}
}
}
}
}
}
for(var d=0;d<tab_toc.length;++d){
var toc_pos=document.getElementsByClassName(tab_toc[d]);
if((toc_pos!==null)&&(toc_pos.length>0)){
for(var w=0;w<toc_pos.length;++w){
var li=toc_pos[w].getElementsByTagName('li');
var poziom;
var section=1;
for(var z=0;z<li.length;++z){
var parent=li[z].parentNode.parentNode;
if(parent!==null){
var klasa=parent.getAttribute('class');
if(klasa!==null){
var poziom=klasa.match(/toclevel-\d+/g);
if(poziom!==null){
poziom=parseInt(poziom.toString().match(/\d+$/).toString())+1;
}else{
poziom=1;
}
}else{poziom=1;}
}else{poziom=1;}
var klasa=li[z].getAttribute('class');
if(klasa!==null){
var czy_section=klasa.match(/tocsection-\d+/);
if(czy_section!==null){
klasa=klasa.replace(/tocsection-\d+/g,"tocsection-"+section);
li[z].setAttribute('class',klasa);
}else{
li[z].classList.add("tocsection-"+section);
}
var czy_level=klasa.match(/toclevel-\d+/);
if(czy_level!==null){
klasa=li[z].getAttribute('class');
klasa=klasa.replace(/toclevel-\d+/g,"toclevel-"+poziom);
li[z].setAttribute('class',klasa);
}else{
li[z].classList.add("toclevel-"+poziom);
}
}else{
li[z].setAttribute('class',"toclevel-"+poziom+" tocsection-"+section)
}
section=section+1;
}
}
}
}
var headline=document.getElementsByClassName('mw-headline');
if((headline)&&(headline.length>0)){
for(var i=0;i<headline.length;++i){
var c=1;
var el=headline[i];
var id0=el.innerHTML;
id0=id0.replace(/[_\s]+/g,"_");
id0=id0.replace(/<[^<>]+>/g,"");
for(var j=0;j<i;++j){
var el1=headline[j];
var id1=el1.innerHTML;
id1=id1.replace(/[_\s]+/g,"_");
id1=id1.replace(/<[^<>]+>/g,"");
if(id0==id1){
++c;
}
}
if(c==1){
el.setAttribute('id',id0);
}else{
el.setAttribute('id',id0+"_"+c);
}
}
}
var tab_toc=new Array("toc","toc_spis");
for(d=0;d<tab_toc.length;++d){
var toc_pos=document.getElementsByClassName(tab_toc[d]);
if((toc_pos!==null)&&(toc_pos.length>0)){
for(var w=0;w<toc_pos.length;++w){
var toc=toc_pos[w];
var a=toc.getElementsByTagName('a');
if((a)&&(a.length>0)){
for(var p=0;p<a.length;++p){
var strona=a[p].getElementsByClassName('toctext')[0].innerHTML.replace(/[_\s]+/g,"_");
strona=strona.replace(/<[^<>]+>/g,"");
var c=1;
for(var v=0;v<p;++v){
var strona2;
strona2=a[v].getElementsByClassName('toctext')[0].innerHTML.replace(/[_\s]+/g,"_");
strona2=strona2.replace(/<[^<>]+>/g,"");
if(strona==strona2){
++c;
}
}
strona=strona.replace(/<[^<>]+>/g,"");
if(c==1){
a[p].setAttribute('href',"#"+strona);
}else{
a[p].setAttribute('href',"#"+strona+"_"+c);
}
}
}
}
}
}
}
function StronaSubst(data){
var wikikod=data.parse.text['*'];
var elem=document.createElement('div');
elem.innerHTML=wikikod;
var klasa_mw_parser_out=elem.getElementsByClassName('mw-parser-output');
var wikikod_wyodrepniony=(((klasa_mw_parser_out)&&(klasa_mw_parser_out.length==1))?(klasa_mw_parser_out[0].innerHTML):wikikod);
var czy_wikikod=wikikod_wyodrepniony.match(/^\s*$/g);
if(czy_wikikod){return;}
var strona_subst="strona_subst";
var tagclass=document.getElementsByClassName(strona_subst);
if(tagclass==null){return null;}
var liczba_elementow=tagclass.length;
if(liczba_elementow==0){return null;}
var titles=new Array();
var tabstrona=new Array();
var tabs=new Array();
for (var i=0;i<liczba_elementow;++i){
var element=tagclass[i];
if(element.tagName!="DIV"){return null;}
var strona=element.innerHTML;
var re = /^[_ ]*$/g;
var dopasowanie = re.test(strona);
if(dopasowanie){return null;};
strona=strona.replace(/^[_ ]*/g,"");
strona=strona.replace(/[_ ]*$/g,"");
strona=strona.replace(/[_ ]+/g," ");
tabs[i]=strona;
var czy=false;
for(var d in titles){
if(titles[d]==strona){
czy=true;
break;
}
}
if(!czy){
titles[titles.length]=strona;
}
if(tabstrona[strona]==null){
tabstrona[strona]=new Array();
}
var tab=tabstrona[strona];
var tablen=tab.length;
tabstrona[strona][tablen]=element;
}
for ( var p in titles ) {
var strona=titles[p];
var api=new mw.Api;
api.get({
action: 'parse',
format: 'json',
prop: 'text',
title: strona,
text: '{{:'+strona+'}}',
disabletoc: true,
disablelimitreport: true,
contentmodel: 'wikitext'
}).done(function(data){
WikikodTitle(data,tabs,titles,tabstrona);
});
}
}
var strona = mw.config.get('wgPageName');
var api=new mw.Api;
api.get({
action: 'parse',
format: 'json',
prop: 'text',
title: strona,
text: '{{#invoke:StronicowyParser|CzyStronaSubst}}',
disabletoc: true,
disablelimitreport: true,
contentmodel: 'wikitext'
}).done(function(data){
StronaSubst(data)
});
}
$(WyswietlStronyKsiazki);
</syntaxhighlight>
Ten program {{Code|.js}} znajduje się na stronie: {{LinkUżytkownik2|Persino/common.js}}. Jak wstawisz ten kod do strony {{LinkKomunikat2|Common.js}}, to powinno wtedy zadziałać ładowanie modułów książki, za pomocą JavaScript, na stronie {{LinkUżytkownik2|Persino/Wersja do druku}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:09, 13 lis 2021 (CET)
== Gadżet StronaSubst - dodawanie do listy gadżetów ==
Mamy sobie kod JavaScript {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} i opis gadżetu {{LinkUżytkownik2|Persino/Gadget-StronaSubst}}, czy mógłbyś przenieść na strony w przestrzeni nazw {{Np|MediaWiki|link=tak}}, i wywołaniu gadżetu w takiej formie jak w {{LinkUżytkownik2|Persino/Gadgets-definition}} przenieść na stronę {{LinkKomunikat2|Gadgets-definition}}. Wtedy strona {{LinkUżytkownik2|Persino/Wersja do druku}} powinna działać! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:14, 27 lis 2021 (CET)
=== Zamienianie kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}} ===
{{Ping|Wargo}}Chodzi tutaj, że jak będzie link do artykułu w nagłówku, to, żeby nie pojawiało się pole '''[ artykuł | edytuj ]''' zamiast '''[ edytuj ]''' - aktualnie w {{LinkKomunikat2|Gadget-StronaSubst.js}} pole '''[ artykuł | edytuj ]''' pojawia się zawsze zamiast '''[ edytuj ]''', wtedy gdy ma zawartość '''strona_subst''' jest nie pusta, to algorytm jest zakańczany. A jak jest nazwa strony w zawartości div-a '''strona_subst''', a nie link w nagłówku, to wtedy ma się prawo pojawić '''[ artykuł | edytuj ]''' zamiast '''[ edytuj ]'''. Czy mógłbyś wersję {{LinkKomunikat2|Gadget-StronaSubst.js}} zamienić na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}. Z góry dziękuję za rozpatrzenie mojej prośby! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 10:13, 30 lis 2021 (CET)
----
{{Ping|Wargo}} Jeszcze, czy mógłbyś zamienić tekst w {{LinkKomunikat2|Gadget-StronaSubst}} z:
{{Pre|(bez sekcji "Spis treści" i "Licencja")}}
na
{{Pre|(bez sekcji "Spis treści", "Bibliografia" i "Licencja")}}
[[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:18, 1 gru 2021 (CET)
=== Ostatnia poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}===
{{Ping|Wargo}}Chodzi tutaj, że algorytm zawiesza się na artykule {{LinkGłówna|Mechanika kwantowa/Mechanika kwantowa}}, to co poprawiłem już tak przestaje być, błąd znikł! Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 18:30, 3 gru 2021 (CET)
=== Miejmy nadzieję, że to jest ostatnia poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}===
{{Ping|Wargo}}Chodzi tutaj, że algorytm ma błędy JavaScript na stronie, przy danej książce: {{LinkGłówna|Szachy}}, czyli przy artykule: {{LinkGłówna|Szachy/Szachy}} - błąd tylko widać, gdy chcemy zbadać element, moja poprawka usuwa ten błąd! Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:50, 4 gru 2021 (CET)
=== Następna poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}} ===
{{Ping|Wargo}}Chodzi tutaj, że algorytm nie wyświetla w TOC (wbudowany spis treści) podrozdziałów dla artykułu {{LinkGłówna|Matematyka dla liceum/Matematyka dla liceum}}, moja poprawka usuwa ten błąd. Skrypt porządkuje artykuły według nagłówków na stronie tego artykułu w TOC, a zestaw artykułów, w danek sekcji, wyświetla, również w TOC, je przydzielone do niej. Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:51, 7 gru 2021 (CET)
=== Poważne poprawki w {{LinkKomunikat2|Gadget-StronaSubst.js}} na podstawie {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} oraz dodanie i zmiana pewnych gadżetów ===
{{Ping|Wargo}} Następne poprawki dotyczące wpisu w {{LinkKomunikat2|Gadget-StronaSubst.js}}, co do zauważonych drobnych błędów, czyli mógłbyś dokonać zamiany kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}.
Z góry dziękuję. Poza tym wszystko działa, od razu dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:32, 8 gru 2021 (CET)
----
{{Ping|Wargo}} Jeszcze, czy mógłbyś zamienić tekst w {{LinkKomunikat2|Gadget-StronaSubst}} z:
{{Pre|(bez sekcji "Spis treści", "Bibliografia" i "Licencja")}}
na
{{Pre|(bez sekcji: "Spis treści", "Bibliografia", "Zobacz też", "Inne", "Licencja" i tym podobne)}}
Dziękuję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 05:43, 9 gru 2021 (CET)
----
{{Ping|Wargo}} Czy mógłbyś uzupełnić {{LinkKomunikat2|Gadgets-definition}}, według {{LinkUżytkownik2|Persino/Gadgets-definition}} - szczególnie trzeba naprawić odwołanie do gadżetu StronaSubst, i dodać gadżety: {{LinkUżytkownik2|Persino/Gadget-gConfig.js}} (jego opis jest w {{LinkUżytkownik2|Persino/Gadget-gConfig}}), przenosząc go do {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis do {{LinkKomunikat2|Gadget-gConfig}}), a także drugi gadżet dotyczący szablonu {{s|Cytuj}} przenieś z {{LinkUżytkownik2|Persino/Gadget-citation-access-info.js}} (jego opis to {{LinkUżytkownik2|Persino/Gadget-citation-access-info}}) do {{LinkKomunikat2|Gadget-citation-access-info.js}} (a jego opis do {{LinkKomunikat2|Gadget-citation-access-info}}).
Gadżet '''gConfig''' potrzebny mi jest do gadżetu {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}}, którego zawartość należy przenieść do {{LinkKomunikat2|Gadget-StronaSubst.js}}, a gadżet {{LinkUżytkownik2|Persino/Gadget-citation-access-info.js}}, potrzebny mi jest do szablonu {{s|Cytuj}} do dymku do pełnej wersji tego szablonu, który należy przenieść do {{LinkKomunikat2|Gadget-citation-access-info.js}}.
Proszę o pilną reakcję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:04, 11 gru 2021 (CET)
----
Również proszę o zastąpienie strony komunikatu {{LinkKomunikat2|Gadget-map-toggler.js}} stroną {{LinkUżytkownik2|Persino/Gadget-map-toggler.js}}. Z góry dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 18:38, 11 gru 2021 (CET)
== Zamiana wartości linkowej i szablonowej ==
{{Ping|Wargo}}Czy mógłbyś zamienić na stronie: {{LinkUżytkownik2|Rychozol/common.js}}, z wartości: {{Nowiki|[[GNU Free Documentation License|GFDL]]}}, na: {{Nowiki|[[Wikibooks:GNU Free Documentation License|GFDL]]}}, a także na tej samej stronie wartość: {{s|clear}}, na {{s|BrClear}}, ponieważ ze względu na zmianę nazw stron. Z góry dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:35, 13 gru 2021 (CET)
<del>== Dalsze zmiany na stronach gadżetów (pilne) ==
{{Ping|Wargo}}Czy mógłbyś zainstalować gadżet "Gadget-gConfig", tak jak na stronie {{LinkUżytkownik2|Persino/Gadgets-definition}} (pierwsza linijka) w {{LinkKomunikat2|Gadgets-definition}}, a co do tego, jego kod {{LinkUżytkownik2|Persino/Gadget-gConfig.js}} zainstalować w miejscu {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis jest w {{LinkUżytkownik2|Persino/Gadget-gConfig}}), przenosząc go do {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis do {{LinkKomunikat2|Gadget-gConfig}}). A później zaaktualizuj gadżet {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}, a także zainstalować w miejscu {{LinkKomunikat2|Gadget-Funkcje.js}} gadżet {{LinkUżytkownik2|Persino/Gadget-Funkcje.js}}, a również zaktualizować wpis dla gadżetu StronaSubst tak jak w {{LinkUżytkownik2|Persino/Gadgets-definition}}. A później sprawdzić, czy wszystko działa. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 13:19, 4 lut 2022 (CET)</del>
== Przepełnienie scrollbarów, poszczególnych elementów strony, a ustawienia różnych klas, jeżeli takowe istnieją ==
{{Ping|Wargo}}Czy mógłbyś uwzględnić na stronie {{LinkKomunikat2|Common.js}} część mojej strony, która jest po sekwencji /**/, będąca na stronie {{LinkUżytkownik2|Persino/common.js}}. Ten skrypt sprawdza, czy nastąpiło przepełnienie elementów strony dokumentu HTML Wikibooks, a jeżeli nastąpiło, to następuje ustawienie tam odpowiednich klas, a jeżeli ono znikło, to usunięcie tych klas. Ten skrypt jest mi potrzebny do szablonu {{s|StronaStart}} i jego pokrewnych oraz do mojego ustawienia skórki vector-2022, która jest w mojej przestrzeni użytkownika. Dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:23, 27 maj 2022 (CEST)
== Aktualizacja przepełnienia scrollbarów i implementacja sticky ==
{{Ping|Wargo}} Czy mógłbyś uwzględnić na stronie {{LinkKomunikat2|Common.js}} część mojej strony, która jest po sekwencji /**/, będąca na stronie {{LinkUżytkownik2|Persino/common.js}}. W przypadku pierwszego algorytmu, dodałem tam klasy {{Code|mw-overflow-x}} i {{Code|mw-overflow-y}}, które ten algorytm rozpoznaje, i dla nich liczy, czy nastąpiło to właśnie przepełnienie. A wcześniej liczyło dla wszystkich znaczników na stronie, co spowalniało całą stronę. Tam, gdzie, ważne jest liczenie przepełnienie wstawiłem {{Code|mw-overflow-x}}, czy {{Code|mw-overflow-y}}, czyli algorytm ten tam powinien działać, co można sprawdzić na stronie głównej tego projektu ({{NAZWASERWISU|link=tak}}). Drugi algorytm jest rozszerzenie właściwości {{Code|position:sticky}}, który on nie działa, gdy choćby jeden z rodziców jest z nie {{Code|overflow:visible}}, ale z {{Code|overflow}}, a ja zrobiłem, że jednak zaczeło działać, a ja tak to zrobiłem: {{Code|position:sticky}} zastąpiłem {{Code|position:absolute}}, w tym znaczników ustawiam {{Code|mw-sticky-y}} (przesuw w pionie) lub {{Code|mw-sticky-x}} (przesuw w poziomie), wtedy ten algorytm JavaScript działa tak, że pudełko przesuwa się od pewnej granicy do pewnej, ale nigdy nie wychodzi poza te granice, czyli działa podobnie jak {{Code|position:sticky}}. Dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 12:41, 9 lip 2022 (CEST)
==Aktualizacja skryptów na {{LinkKomunikat2|common.js}} z {{LinkUżytkownik2|Persino/common.js}}==
{{Ping|Wargo}} Czy mógłbyś zaktualizować kod na stronie {{LinkKomunikat2|common.js}} ze strony {{LinkUżytkownik2|Persino/common.js}} pod znakiem {{Code|/**/}}. Zdefiniowałem przestrzeń nazw {{Code|Common}} definicją:
{{Pre|var Common{{=}}new Array();}}
Prawie wszystkie funkcje ze strony {{LinkKomunikat2|common.js}} przeniosłem do tej przestrzeni na stronie {{LinkUżytkownik2|Persino/common.js}} (tutaj wszystkie funkcje są w przestrzeni {{Code|Common}}). Rozwinąłem funkcję {{Code|Common.ScrollBarOverflow}}, {{Code|Common.StickyXY}} i {{Code|Common.OptimalXY}}. Napisałem od nowa funkcje: {{Code|Common.RamkiTableIDiv}} i {{Code|Common.ZdarzeniaDodatkoweFunkcyjneXY}} oraz funkcję do obsługi szablonu {{s|StronaStart}} i jego pokrewnych książkowych z definiowałem w postaci: {{Code|Common.StronaStart}}.
Co oznaczają te funkcje:
* {{Code|Common.ScrollBarOverflow}} - do generowania pewnych klas, które służą do obsługi pudełka z paskami przewijania,
* {{Code|Common.StickyXY}} - aktualizacja funkcji {{Code|position:sticky}}, tam gdzie go nie można go użyć, do używamy tej funkcji,
* {{Code|Common.OptimalXY}} - do obsługi boksów na stronach z użytymi szablonami stronicowymi książkowymi otwierającymi i zamykającymi,
* {{Code|Common.RamkiTableIDiv}} - dodaje dalsze funkcje przy przyciskach tabel i ramek, nawigacyjnych,
* {{Code|Common.ZdarzeniaDodatkoweFunkcyjneXY}} - dodaje zdarzenia do obsługi funkcji: {{Code|Common.StickyXY}} i {{Code|Common.OptimalXY}},
* {{Code|Common.StronaStart}} - służy do obsługi spisu treści i boksów szablonu {{s|StronaStart}}.
Na stronach podręcznikowych boksy i spisy treści są responsywne według moich ustawień, a dla wszystkich użytkowników będą responsywne po zaktualizowaniu strony {{LinkKomunikat2|common.js}} przy pomocy {{LinkUżytkownik2|Persino/common.js}}.
----
Proszę o pilną reakcję i zrealizowanie mojej prośby. Z góry dziękuję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:55, 3 sie 2022 (CEST)
:Czy coś jest do usunięcia z obecnego common.js? Tj. czy coś stamtąd mam tym zastąpić? [[Wikipedysta:Wargo|Wargo]] ([[Dyskusja wikipedysty:Wargo|dyskusja]]) 20:55, 7 sie 2022 (CEST)
::{{Ping|Wargo}}Właśnie masz zastąpić nową wersją z pod /**/ z: {{LinkUżytkownik2|Persino/common.js}}, zastępując całą zawartość strony w: {{LinkKomunikat2|common.js}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:04, 7 sie 2022 (CEST)
:::{{Ping|Wargo}} Już możesz zastępować, wszystko gotowe! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:39, 7 sie 2022 (CEST)
===Ostatnia poprawka===
{{Ping|Wargo}}Czy mógłbyś linijkę kodu:
{{Pre|var top_ab{{=}}rect_rodzic[top]-margintop;
var bottom_ab{{=}}(wys-rect_rodzic[bottom])-marginbottom;
}}
poprawić na:
{{Pre|var top_ab{{=}}rect_rodzic[top];
var bottom_ab{{=}}(wys-rect_rodzic[bottom]);
}}
w funkcji: {{Code|Common.StickyXY}}, w {{LinkKomunikat2|common.js}} według {{LinkUżytkownik2|Persino/common.js}}. Tj. to linijka: 481-482.
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:51, 8 sie 2022 (CEST)
=== Miejmy nadzieję, że ostatnia poprawka na stronie {{LinkKomunikat2|common.js}} ===
{{Ping|Wargo}}Czy mógłbyś w kodzie w linii: 177 i 183, na stronie {{LinkKomunikat2|common.js}} według {{LinkUżytkownik2|Persino/common.js}} poprawić według schematu:
{{Pre
|collapseTable( i );
}}
zamienić na:
{{Pre
|Common.collapseTable( i );
}}
Poprawka jest ważna, bo tabele nawigacyjne, na stronie głównej i gdzieś indziej, nie chcą się kolapsować, a po tej operacji już będą się tak zachowywać!
----
W linii: 176 poprawić:
{{Pre
|1=if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) {{!}}{{!}} ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "Common.autoCollapse" ) ) ) {
}}
na kod:
{{Pre
|1=if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) {{!}}{{!}} ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) {
}}
----
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 13:34, 8 sie 2022 (CEST)
=== Poprawka, by zdarzenia nie były w postaci podwójnej, tzn. ze strony: {{LinkKomunikat2|common.js}} (strona {{Np|MediaWiki|link=tak}}), i {{LinkUżytkownik2|Persino/common.js}} (strona użytkownika - {{Np|User|link=tak}}) ===
{{Ping|Wargo}}Zrobiłem tak, by zdarzenia nie były w postaci podwójnej, tzn. ze strony MediaWiki: {{LinkKomunikat2|common.js}}, i strony użytkownika: {{LinkUżytkownik2|Persino/common.js}}, jeżeli takową stronę użytkownik posiada. Zrobiłem też tam parę drobnych innych edycji. Mówiąc najprostszej, zawartością z: {{LinkUżytkownik2|Persino/common.js}}, z pod {{Code|/**/}} zastąp zawartość strony: {{LinkKomunikat2|common.js}}. Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 07:13, 9 sie 2022 (CEST)
=== Poprawka strony {{LinkKomunikat2|Gadget-delete-local.js}}, kilka linijek ===
{{Ping|Wargo}} Czy mógłbyś zamienić zawartość strony {{LinkKomunikat2|Gadget-delete-local.js}} na {{LinkUżytkownik2|Persino/Gadget-delete-local.js}}.
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 07:13, 9 sie 2022 (CEST)
=== Przecieki pamięci w {{LinkKomunikat2|common.js}} w połączeniu z {{LinkUżytkownik2|Persino/common.js}} ===
{{Ping|Wargo}} Czy mógłbyś stronę {{LinkKomunikat2|common.js}} podmienić z zawartością strony {{LinkUżytkownik2|Persino/common.js}} z pod linii /**/. Z góry dziękuję za spełnienie prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 17:37, 15 sie 2022 (CEST)
=== Usunięcie funkcji {{Code|Promise}} z funkcji {{Code|Common.RamkiTableIDiv}}, a nowa poprawka w {{LinkKomunikat2|common.js}} przy pomocy {{LinkUżytkownik2|Persino/common.js}} ===
{{Ping|Wargo}} Kiedyś funkcja {{Code|Common.RamkiTableIDiv}} była uruchamiana za pomocą zwykłej funkcji bez umieszczenia go w bloku $, a teraz jest ona umieszczony właśnie w nim, więc {{Code|Promise}} jest już w nim nie potrzebna, więc usunąłem z tej funkcji właśnie nią, więc funkcję {{Code|Common.RamkiTableIDiv}} musiałem zmodyfikować.
----
----
Zadanie pierwsze: Czy mógłbyś definicję funkcji {{Code|Common.RamkiTableIDiv}} w {{LinkKomunikat2|common.js}} zastąpić nową jego definicją z {{LinkUżytkownik2|Persino/common.js}}, wraz z jego komentarzami, i z komentarzami uruchamiania tej funkcji w funkcji $.
Zadanie drugie: Linie, tzn.: 22-26, na stronie {{LinkKomunikat2|common.js}} zamienić na linie: 24-34 ze strony {{LinkUżytkownik2|Persino/common.js}}.
----
Najłatwiej wykonać te trzy zadania jest sposób: zawartość na stronie {{LinkKomunikat2|common.js}} zastąpić zawartością z {{LinkUżytkownik2|Persino/common.js}} z pod linii /**/, ze względu, że umieściłem tam dodatkowe komentarze, co możesz sprawdzić, co się zmieniło w historii zmian.
----
----
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 17:38, 16 sie 2022 (CEST)
00dtdgfr7ykng6bnv5n5n6ghuzupc9s
437906
437905
2022-08-16T18:27:29Z
Persino
2851
/* Usunięcie funkcji {{Code|Promise}} z funkcji {{Code|Common.RamkiTableIDiv}}, a nowa poprawka w {{LinkKomunikat2|common.js}} przy pomocy {{LinkUżytkownik2|Persino/common.js}} */
wikitext
text/x-wiki
<noinclude>__LINKNOWEJSEKCJI__ [[Kategoria:Księga próśb i zadań]]</noinclude>
{{fmbox|tekst=UWAGA: Nowe zgłoszenia o innym temacie niż to co dotyczy [[Wikibooks:Prośby do administratorów interfejsu/Zgłoszenia]] lub łamiące zasady [[Wikibooks:Wikietykieta|Wikietykiety]] mogą być bezwarunkowo wycofywane z tej strony}}
<!-- Nowe zgłoszenia wstawiaj poniżej tej linii. Powyżej tej linii nic nie usuwaj. Nie usuwaj tej linii -->
== Usunięcie wymuszenia białego tła w tabelach. ==
Zwracam się z prośbą o usunięcie [[MediaWiki:Common.css]] fragmentu
<syntaxhighlight lang="css">
}
+
table.wikitable td,
+
table.prettytable td {
+
background: #f9f9f9;
</syntaxhighlight>
Fragment ten wymusza białe tło w tabelach, co uniemożliwia zastosowanie kolorowych komórek. Takowe bardzo by się przydały np. w opracowywanym przeze [[Zbiór zadań maturalnych/Biologia|Zbiorze zadań maturalnych z Biologii]] jak np. tu: [[:Kategoria:Zbiór zadań maturalnych/podstawa programowa 2017/Biologia/Zakres rozszerzony/Treści nauczania/II/3/1]]. Póki co posiłkuję się obramowaniem, chciałbym jednak docelowo zastosować kolorowanie komórek.
Z góry dziękuję za rozpatrzenie mojej prośby.
[[Wikipedysta:Superjurek|Superjurek]] ([[Dyskusja wikipedysty:Superjurek|dyskusja]]) 22:42, 16 kwi 2021 (CEST)
-----
{{Ping|Superjurek}}Spróbuj użyć zapisu, np.:
<syntaxhighlight lang="css">
background-color: blue !important;
color:white !important;
</syntaxhighlight>
zamiast:
<syntaxhighlight lang="css">
background-color: blue;
color:white;
</syntaxhighlight>
to powinno naprawić cały problem! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:05, 27 maj 2022 (CEST)
==Wstawianie kodu do {{LinkKomunikat2|Common.js}}==
Czy mógłbyś wsadzić do tej strony {{Code|.js}} kod:
<syntaxhighlight lang="JavaScript">
function WyswietlStronyKsiazki(){
function WikikodTitle(data,tabs,titles,tabstrona){
var title=data.parse.title;
var wikikod=data.parse.text['*'];
var elements=tabstrona[title];
for(var q in elements){
elements[q].innerHTML=wikikod;
var a=elements[q].getElementsByTagName('a');
if((a!==null)&&(a.length>0)){
var lena=a.length;
for(var i=0;i<lena;++i){
var href=a[i].getAttribute('href');
if(href!==null){
var re=/^[^\?]+\?[^&]+=[^&]*&?/g;
if(!re.test(href)){
var re2=/#/g;
var s=href.search(re2);
if(s!=-1){
var re=/^\/wiki\//g;
if(re.test(href)){
var href2=href.substring(6,s)
href2=decodeURI(href2);
href2=href2.replace(/[_\s]+/g," ");
for(var s=0;s<titles.length;s++){
var strona=titles[s];
if(href2==strona){
var href3=href.replace(/^[^#]*/g,"");
var a_toc=a[i];
a_toc.setAttribute('href',encodeURI(href3));
a_toc.setAttribute("title","");
}
}
}
}else{
var re=/^\/wiki\//g;
if(re.test(href)){
var hrefv=href.replace(re,"");
var hrefs=decodeURI(hrefv);
hrefs=hrefs.replace(/[_\s]+/g," ");
for(var s=0;s<titles.length;s++){
var strona=titles[s];
if(hrefs==strona){
var hrefs2=hrefv.replace(/^[^\/]*\//g,"");
var a_toc=a[i];
a_toc.setAttribute('href','#'+hrefs2);
a_toc.setAttribute("title","");
}
}
}
}
}
}
}
}
}
var tab_toc=new Array("toc","toc_spis");
for(var d=0;d<tab_toc.length;++d){
var toc=document.getElementsByClassName(tab_toc[d]);
if((toc!==null)&&(toc.length>0)){
for(var q in elements){
var num=new Array();
var v=0;
for(var e=0;e<tabs.length;++e){
if(tabs[e]==title){
v+=1;
if(parseInt(q)+1==v){
num.push(parseInt(e)+1);
break;
}
}
}
var headline=elements[q].getElementsByClassName("mw-headline");
if((headline!==null)&&(headline.length>0)){
var ulozenie=0;
var ostanie=0;
var len=headline.length;
var naglowek="";
var liczba_ulozenia_w_menu_spisu_tresci=1;
var h_number=1;
for (var k=0;k<len;++k){
var element2=headline[k];
var nag=element2.innerHTML;
var nag2=element2.getAttribute('id');
var h=element2.parentNode.tagName;
var h_numer=h.replace(/^[^\d]+/g,"");
h_numer=parseInt(h_numer)
if((ulozenie==0)||(ulozenie>=h_numer)){
ulozenie=h_numer-1;
}else {
if(ostatnie+1<h_numer-ulozenie){
ulozenie=h_numer-ostatnie-1;
}
}
ostatnie=h_numer-ulozenie;
h_numer=h_numer-ulozenie;
if(k==0){
num.push(1);
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="<ul><li><a href=\"#"+nag2+"\">"+nag+"</a>";
}else{
if(h_numer==liczba_ulozenia_w_menu_spisu_tresci){
num[num.length-1]+=1;
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="</li><li><a href=\"#"+nag2+"\">"+nag+"</a>";
}else{
if(h_numer>liczba_ulozenia_w_menu_spisu_tresci){
num.push(1);
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="<ul><li><a href=\"#"+nag2+"\">"+nag+"</a>";
liczba_ulozenia_w_menu_spisu_tresci=h_numer;
}else{
if(h_numer<liczba_ulozenia_w_menu_spisu_tresci){
num.splice(num.length-liczba_ulozenia_w_menu_spisu_tresci+h_numer,liczba_ulozenia_w_menu_spisu_tresci-h_numer);
num[num.length-1]+=1;
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+=('</li></ul>'.repeat(liczba_ulozenia_w_menu_spisu_tresci-h_numer))+"</li><li><a href=\"#"+nag2+"\">"+nag+"</a>";
liczba_ulozenia_w_menu_spisu_tresci=h_numer;
}
}
}
}
}
if(naglowek!=""){
naglowek+=('</li></ul>'.repeat(liczba_ulozenia_w_menu_spisu_tresci));
for(var b=0;b<toc.length;++b){
var a2=toc[b].getElementsByTagName('a');
if((a2!=null)&&(a2.length>0)){
for(var y=0;y<a2.length;++y){
var parent=a2[y].parentNode;
var href=a2[y].getAttribute('href');
href=href.replace(/^#/g,"");
var title2=title.replace(/^[^\/]+\//g,"");
if(href==title2.replace(/[_ ]+/g,"_")+((q>0)?("_"+(parseInt(q)+1)):"")){
var div=document.createElement('div');
div.innerHTML=naglowek;
var links=a2[y].getElementsByClassName('toctext');
if((links!=null)&&(links.length>0)){
var link=links[0].innerHTML;
if(link==title2){
parent.appendChild(div.getElementsByTagName('ul')[0]);
}
}
}
}
}
}
}
}
}
}
}
for(var d=0;d<tab_toc.length;++d){
var toc_pos=document.getElementsByClassName(tab_toc[d]);
if((toc_pos!==null)&&(toc_pos.length>0)){
for(var w=0;w<toc_pos.length;++w){
var li=toc_pos[w].getElementsByTagName('li');
var poziom;
var section=1;
for(var z=0;z<li.length;++z){
var parent=li[z].parentNode.parentNode;
if(parent!==null){
var klasa=parent.getAttribute('class');
if(klasa!==null){
var poziom=klasa.match(/toclevel-\d+/g);
if(poziom!==null){
poziom=parseInt(poziom.toString().match(/\d+$/).toString())+1;
}else{
poziom=1;
}
}else{poziom=1;}
}else{poziom=1;}
var klasa=li[z].getAttribute('class');
if(klasa!==null){
var czy_section=klasa.match(/tocsection-\d+/);
if(czy_section!==null){
klasa=klasa.replace(/tocsection-\d+/g,"tocsection-"+section);
li[z].setAttribute('class',klasa);
}else{
li[z].classList.add("tocsection-"+section);
}
var czy_level=klasa.match(/toclevel-\d+/);
if(czy_level!==null){
klasa=li[z].getAttribute('class');
klasa=klasa.replace(/toclevel-\d+/g,"toclevel-"+poziom);
li[z].setAttribute('class',klasa);
}else{
li[z].classList.add("toclevel-"+poziom);
}
}else{
li[z].setAttribute('class',"toclevel-"+poziom+" tocsection-"+section)
}
section=section+1;
}
}
}
}
var headline=document.getElementsByClassName('mw-headline');
if((headline)&&(headline.length>0)){
for(var i=0;i<headline.length;++i){
var c=1;
var el=headline[i];
var id0=el.innerHTML;
id0=id0.replace(/[_\s]+/g,"_");
id0=id0.replace(/<[^<>]+>/g,"");
for(var j=0;j<i;++j){
var el1=headline[j];
var id1=el1.innerHTML;
id1=id1.replace(/[_\s]+/g,"_");
id1=id1.replace(/<[^<>]+>/g,"");
if(id0==id1){
++c;
}
}
if(c==1){
el.setAttribute('id',id0);
}else{
el.setAttribute('id',id0+"_"+c);
}
}
}
var tab_toc=new Array("toc","toc_spis");
for(d=0;d<tab_toc.length;++d){
var toc_pos=document.getElementsByClassName(tab_toc[d]);
if((toc_pos!==null)&&(toc_pos.length>0)){
for(var w=0;w<toc_pos.length;++w){
var toc=toc_pos[w];
var a=toc.getElementsByTagName('a');
if((a)&&(a.length>0)){
for(var p=0;p<a.length;++p){
var strona=a[p].getElementsByClassName('toctext')[0].innerHTML.replace(/[_\s]+/g,"_");
strona=strona.replace(/<[^<>]+>/g,"");
var c=1;
for(var v=0;v<p;++v){
var strona2;
strona2=a[v].getElementsByClassName('toctext')[0].innerHTML.replace(/[_\s]+/g,"_");
strona2=strona2.replace(/<[^<>]+>/g,"");
if(strona==strona2){
++c;
}
}
strona=strona.replace(/<[^<>]+>/g,"");
if(c==1){
a[p].setAttribute('href',"#"+strona);
}else{
a[p].setAttribute('href',"#"+strona+"_"+c);
}
}
}
}
}
}
}
function StronaSubst(data){
var wikikod=data.parse.text['*'];
var elem=document.createElement('div');
elem.innerHTML=wikikod;
var klasa_mw_parser_out=elem.getElementsByClassName('mw-parser-output');
var wikikod_wyodrepniony=(((klasa_mw_parser_out)&&(klasa_mw_parser_out.length==1))?(klasa_mw_parser_out[0].innerHTML):wikikod);
var czy_wikikod=wikikod_wyodrepniony.match(/^\s*$/g);
if(czy_wikikod){return;}
var strona_subst="strona_subst";
var tagclass=document.getElementsByClassName(strona_subst);
if(tagclass==null){return null;}
var liczba_elementow=tagclass.length;
if(liczba_elementow==0){return null;}
var titles=new Array();
var tabstrona=new Array();
var tabs=new Array();
for (var i=0;i<liczba_elementow;++i){
var element=tagclass[i];
if(element.tagName!="DIV"){return null;}
var strona=element.innerHTML;
var re = /^[_ ]*$/g;
var dopasowanie = re.test(strona);
if(dopasowanie){return null;};
strona=strona.replace(/^[_ ]*/g,"");
strona=strona.replace(/[_ ]*$/g,"");
strona=strona.replace(/[_ ]+/g," ");
tabs[i]=strona;
var czy=false;
for(var d in titles){
if(titles[d]==strona){
czy=true;
break;
}
}
if(!czy){
titles[titles.length]=strona;
}
if(tabstrona[strona]==null){
tabstrona[strona]=new Array();
}
var tab=tabstrona[strona];
var tablen=tab.length;
tabstrona[strona][tablen]=element;
}
for ( var p in titles ) {
var strona=titles[p];
var api=new mw.Api;
api.get({
action: 'parse',
format: 'json',
prop: 'text',
title: strona,
text: '{{:'+strona+'}}',
disabletoc: true,
disablelimitreport: true,
contentmodel: 'wikitext'
}).done(function(data){
WikikodTitle(data,tabs,titles,tabstrona);
});
}
}
var strona = mw.config.get('wgPageName');
var api=new mw.Api;
api.get({
action: 'parse',
format: 'json',
prop: 'text',
title: strona,
text: '{{#invoke:StronicowyParser|CzyStronaSubst}}',
disabletoc: true,
disablelimitreport: true,
contentmodel: 'wikitext'
}).done(function(data){
StronaSubst(data)
});
}
$(WyswietlStronyKsiazki);
</syntaxhighlight>
Ten program {{Code|.js}} znajduje się na stronie: {{LinkUżytkownik2|Persino/common.js}}. Jak wstawisz ten kod do strony {{LinkKomunikat2|Common.js}}, to powinno wtedy zadziałać ładowanie modułów książki, za pomocą JavaScript, na stronie {{LinkUżytkownik2|Persino/Wersja do druku}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:09, 13 lis 2021 (CET)
== Gadżet StronaSubst - dodawanie do listy gadżetów ==
Mamy sobie kod JavaScript {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} i opis gadżetu {{LinkUżytkownik2|Persino/Gadget-StronaSubst}}, czy mógłbyś przenieść na strony w przestrzeni nazw {{Np|MediaWiki|link=tak}}, i wywołaniu gadżetu w takiej formie jak w {{LinkUżytkownik2|Persino/Gadgets-definition}} przenieść na stronę {{LinkKomunikat2|Gadgets-definition}}. Wtedy strona {{LinkUżytkownik2|Persino/Wersja do druku}} powinna działać! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:14, 27 lis 2021 (CET)
=== Zamienianie kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}} ===
{{Ping|Wargo}}Chodzi tutaj, że jak będzie link do artykułu w nagłówku, to, żeby nie pojawiało się pole '''[ artykuł | edytuj ]''' zamiast '''[ edytuj ]''' - aktualnie w {{LinkKomunikat2|Gadget-StronaSubst.js}} pole '''[ artykuł | edytuj ]''' pojawia się zawsze zamiast '''[ edytuj ]''', wtedy gdy ma zawartość '''strona_subst''' jest nie pusta, to algorytm jest zakańczany. A jak jest nazwa strony w zawartości div-a '''strona_subst''', a nie link w nagłówku, to wtedy ma się prawo pojawić '''[ artykuł | edytuj ]''' zamiast '''[ edytuj ]'''. Czy mógłbyś wersję {{LinkKomunikat2|Gadget-StronaSubst.js}} zamienić na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}. Z góry dziękuję za rozpatrzenie mojej prośby! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 10:13, 30 lis 2021 (CET)
----
{{Ping|Wargo}} Jeszcze, czy mógłbyś zamienić tekst w {{LinkKomunikat2|Gadget-StronaSubst}} z:
{{Pre|(bez sekcji "Spis treści" i "Licencja")}}
na
{{Pre|(bez sekcji "Spis treści", "Bibliografia" i "Licencja")}}
[[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:18, 1 gru 2021 (CET)
=== Ostatnia poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}===
{{Ping|Wargo}}Chodzi tutaj, że algorytm zawiesza się na artykule {{LinkGłówna|Mechanika kwantowa/Mechanika kwantowa}}, to co poprawiłem już tak przestaje być, błąd znikł! Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 18:30, 3 gru 2021 (CET)
=== Miejmy nadzieję, że to jest ostatnia poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}===
{{Ping|Wargo}}Chodzi tutaj, że algorytm ma błędy JavaScript na stronie, przy danej książce: {{LinkGłówna|Szachy}}, czyli przy artykule: {{LinkGłówna|Szachy/Szachy}} - błąd tylko widać, gdy chcemy zbadać element, moja poprawka usuwa ten błąd! Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:50, 4 gru 2021 (CET)
=== Następna poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}} ===
{{Ping|Wargo}}Chodzi tutaj, że algorytm nie wyświetla w TOC (wbudowany spis treści) podrozdziałów dla artykułu {{LinkGłówna|Matematyka dla liceum/Matematyka dla liceum}}, moja poprawka usuwa ten błąd. Skrypt porządkuje artykuły według nagłówków na stronie tego artykułu w TOC, a zestaw artykułów, w danek sekcji, wyświetla, również w TOC, je przydzielone do niej. Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:51, 7 gru 2021 (CET)
=== Poważne poprawki w {{LinkKomunikat2|Gadget-StronaSubst.js}} na podstawie {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} oraz dodanie i zmiana pewnych gadżetów ===
{{Ping|Wargo}} Następne poprawki dotyczące wpisu w {{LinkKomunikat2|Gadget-StronaSubst.js}}, co do zauważonych drobnych błędów, czyli mógłbyś dokonać zamiany kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}.
Z góry dziękuję. Poza tym wszystko działa, od razu dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:32, 8 gru 2021 (CET)
----
{{Ping|Wargo}} Jeszcze, czy mógłbyś zamienić tekst w {{LinkKomunikat2|Gadget-StronaSubst}} z:
{{Pre|(bez sekcji "Spis treści", "Bibliografia" i "Licencja")}}
na
{{Pre|(bez sekcji: "Spis treści", "Bibliografia", "Zobacz też", "Inne", "Licencja" i tym podobne)}}
Dziękuję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 05:43, 9 gru 2021 (CET)
----
{{Ping|Wargo}} Czy mógłbyś uzupełnić {{LinkKomunikat2|Gadgets-definition}}, według {{LinkUżytkownik2|Persino/Gadgets-definition}} - szczególnie trzeba naprawić odwołanie do gadżetu StronaSubst, i dodać gadżety: {{LinkUżytkownik2|Persino/Gadget-gConfig.js}} (jego opis jest w {{LinkUżytkownik2|Persino/Gadget-gConfig}}), przenosząc go do {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis do {{LinkKomunikat2|Gadget-gConfig}}), a także drugi gadżet dotyczący szablonu {{s|Cytuj}} przenieś z {{LinkUżytkownik2|Persino/Gadget-citation-access-info.js}} (jego opis to {{LinkUżytkownik2|Persino/Gadget-citation-access-info}}) do {{LinkKomunikat2|Gadget-citation-access-info.js}} (a jego opis do {{LinkKomunikat2|Gadget-citation-access-info}}).
Gadżet '''gConfig''' potrzebny mi jest do gadżetu {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}}, którego zawartość należy przenieść do {{LinkKomunikat2|Gadget-StronaSubst.js}}, a gadżet {{LinkUżytkownik2|Persino/Gadget-citation-access-info.js}}, potrzebny mi jest do szablonu {{s|Cytuj}} do dymku do pełnej wersji tego szablonu, który należy przenieść do {{LinkKomunikat2|Gadget-citation-access-info.js}}.
Proszę o pilną reakcję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:04, 11 gru 2021 (CET)
----
Również proszę o zastąpienie strony komunikatu {{LinkKomunikat2|Gadget-map-toggler.js}} stroną {{LinkUżytkownik2|Persino/Gadget-map-toggler.js}}. Z góry dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 18:38, 11 gru 2021 (CET)
== Zamiana wartości linkowej i szablonowej ==
{{Ping|Wargo}}Czy mógłbyś zamienić na stronie: {{LinkUżytkownik2|Rychozol/common.js}}, z wartości: {{Nowiki|[[GNU Free Documentation License|GFDL]]}}, na: {{Nowiki|[[Wikibooks:GNU Free Documentation License|GFDL]]}}, a także na tej samej stronie wartość: {{s|clear}}, na {{s|BrClear}}, ponieważ ze względu na zmianę nazw stron. Z góry dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:35, 13 gru 2021 (CET)
<del>== Dalsze zmiany na stronach gadżetów (pilne) ==
{{Ping|Wargo}}Czy mógłbyś zainstalować gadżet "Gadget-gConfig", tak jak na stronie {{LinkUżytkownik2|Persino/Gadgets-definition}} (pierwsza linijka) w {{LinkKomunikat2|Gadgets-definition}}, a co do tego, jego kod {{LinkUżytkownik2|Persino/Gadget-gConfig.js}} zainstalować w miejscu {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis jest w {{LinkUżytkownik2|Persino/Gadget-gConfig}}), przenosząc go do {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis do {{LinkKomunikat2|Gadget-gConfig}}). A później zaaktualizuj gadżet {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}, a także zainstalować w miejscu {{LinkKomunikat2|Gadget-Funkcje.js}} gadżet {{LinkUżytkownik2|Persino/Gadget-Funkcje.js}}, a również zaktualizować wpis dla gadżetu StronaSubst tak jak w {{LinkUżytkownik2|Persino/Gadgets-definition}}. A później sprawdzić, czy wszystko działa. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 13:19, 4 lut 2022 (CET)</del>
== Przepełnienie scrollbarów, poszczególnych elementów strony, a ustawienia różnych klas, jeżeli takowe istnieją ==
{{Ping|Wargo}}Czy mógłbyś uwzględnić na stronie {{LinkKomunikat2|Common.js}} część mojej strony, która jest po sekwencji /**/, będąca na stronie {{LinkUżytkownik2|Persino/common.js}}. Ten skrypt sprawdza, czy nastąpiło przepełnienie elementów strony dokumentu HTML Wikibooks, a jeżeli nastąpiło, to następuje ustawienie tam odpowiednich klas, a jeżeli ono znikło, to usunięcie tych klas. Ten skrypt jest mi potrzebny do szablonu {{s|StronaStart}} i jego pokrewnych oraz do mojego ustawienia skórki vector-2022, która jest w mojej przestrzeni użytkownika. Dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:23, 27 maj 2022 (CEST)
== Aktualizacja przepełnienia scrollbarów i implementacja sticky ==
{{Ping|Wargo}} Czy mógłbyś uwzględnić na stronie {{LinkKomunikat2|Common.js}} część mojej strony, która jest po sekwencji /**/, będąca na stronie {{LinkUżytkownik2|Persino/common.js}}. W przypadku pierwszego algorytmu, dodałem tam klasy {{Code|mw-overflow-x}} i {{Code|mw-overflow-y}}, które ten algorytm rozpoznaje, i dla nich liczy, czy nastąpiło to właśnie przepełnienie. A wcześniej liczyło dla wszystkich znaczników na stronie, co spowalniało całą stronę. Tam, gdzie, ważne jest liczenie przepełnienie wstawiłem {{Code|mw-overflow-x}}, czy {{Code|mw-overflow-y}}, czyli algorytm ten tam powinien działać, co można sprawdzić na stronie głównej tego projektu ({{NAZWASERWISU|link=tak}}). Drugi algorytm jest rozszerzenie właściwości {{Code|position:sticky}}, który on nie działa, gdy choćby jeden z rodziców jest z nie {{Code|overflow:visible}}, ale z {{Code|overflow}}, a ja zrobiłem, że jednak zaczeło działać, a ja tak to zrobiłem: {{Code|position:sticky}} zastąpiłem {{Code|position:absolute}}, w tym znaczników ustawiam {{Code|mw-sticky-y}} (przesuw w pionie) lub {{Code|mw-sticky-x}} (przesuw w poziomie), wtedy ten algorytm JavaScript działa tak, że pudełko przesuwa się od pewnej granicy do pewnej, ale nigdy nie wychodzi poza te granice, czyli działa podobnie jak {{Code|position:sticky}}. Dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 12:41, 9 lip 2022 (CEST)
==Aktualizacja skryptów na {{LinkKomunikat2|common.js}} z {{LinkUżytkownik2|Persino/common.js}}==
{{Ping|Wargo}} Czy mógłbyś zaktualizować kod na stronie {{LinkKomunikat2|common.js}} ze strony {{LinkUżytkownik2|Persino/common.js}} pod znakiem {{Code|/**/}}. Zdefiniowałem przestrzeń nazw {{Code|Common}} definicją:
{{Pre|var Common{{=}}new Array();}}
Prawie wszystkie funkcje ze strony {{LinkKomunikat2|common.js}} przeniosłem do tej przestrzeni na stronie {{LinkUżytkownik2|Persino/common.js}} (tutaj wszystkie funkcje są w przestrzeni {{Code|Common}}). Rozwinąłem funkcję {{Code|Common.ScrollBarOverflow}}, {{Code|Common.StickyXY}} i {{Code|Common.OptimalXY}}. Napisałem od nowa funkcje: {{Code|Common.RamkiTableIDiv}} i {{Code|Common.ZdarzeniaDodatkoweFunkcyjneXY}} oraz funkcję do obsługi szablonu {{s|StronaStart}} i jego pokrewnych książkowych z definiowałem w postaci: {{Code|Common.StronaStart}}.
Co oznaczają te funkcje:
* {{Code|Common.ScrollBarOverflow}} - do generowania pewnych klas, które służą do obsługi pudełka z paskami przewijania,
* {{Code|Common.StickyXY}} - aktualizacja funkcji {{Code|position:sticky}}, tam gdzie go nie można go użyć, do używamy tej funkcji,
* {{Code|Common.OptimalXY}} - do obsługi boksów na stronach z użytymi szablonami stronicowymi książkowymi otwierającymi i zamykającymi,
* {{Code|Common.RamkiTableIDiv}} - dodaje dalsze funkcje przy przyciskach tabel i ramek, nawigacyjnych,
* {{Code|Common.ZdarzeniaDodatkoweFunkcyjneXY}} - dodaje zdarzenia do obsługi funkcji: {{Code|Common.StickyXY}} i {{Code|Common.OptimalXY}},
* {{Code|Common.StronaStart}} - służy do obsługi spisu treści i boksów szablonu {{s|StronaStart}}.
Na stronach podręcznikowych boksy i spisy treści są responsywne według moich ustawień, a dla wszystkich użytkowników będą responsywne po zaktualizowaniu strony {{LinkKomunikat2|common.js}} przy pomocy {{LinkUżytkownik2|Persino/common.js}}.
----
Proszę o pilną reakcję i zrealizowanie mojej prośby. Z góry dziękuję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:55, 3 sie 2022 (CEST)
:Czy coś jest do usunięcia z obecnego common.js? Tj. czy coś stamtąd mam tym zastąpić? [[Wikipedysta:Wargo|Wargo]] ([[Dyskusja wikipedysty:Wargo|dyskusja]]) 20:55, 7 sie 2022 (CEST)
::{{Ping|Wargo}}Właśnie masz zastąpić nową wersją z pod /**/ z: {{LinkUżytkownik2|Persino/common.js}}, zastępując całą zawartość strony w: {{LinkKomunikat2|common.js}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:04, 7 sie 2022 (CEST)
:::{{Ping|Wargo}} Już możesz zastępować, wszystko gotowe! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:39, 7 sie 2022 (CEST)
===Ostatnia poprawka===
{{Ping|Wargo}}Czy mógłbyś linijkę kodu:
{{Pre|var top_ab{{=}}rect_rodzic[top]-margintop;
var bottom_ab{{=}}(wys-rect_rodzic[bottom])-marginbottom;
}}
poprawić na:
{{Pre|var top_ab{{=}}rect_rodzic[top];
var bottom_ab{{=}}(wys-rect_rodzic[bottom]);
}}
w funkcji: {{Code|Common.StickyXY}}, w {{LinkKomunikat2|common.js}} według {{LinkUżytkownik2|Persino/common.js}}. Tj. to linijka: 481-482.
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:51, 8 sie 2022 (CEST)
=== Miejmy nadzieję, że ostatnia poprawka na stronie {{LinkKomunikat2|common.js}} ===
{{Ping|Wargo}}Czy mógłbyś w kodzie w linii: 177 i 183, na stronie {{LinkKomunikat2|common.js}} według {{LinkUżytkownik2|Persino/common.js}} poprawić według schematu:
{{Pre
|collapseTable( i );
}}
zamienić na:
{{Pre
|Common.collapseTable( i );
}}
Poprawka jest ważna, bo tabele nawigacyjne, na stronie głównej i gdzieś indziej, nie chcą się kolapsować, a po tej operacji już będą się tak zachowywać!
----
W linii: 176 poprawić:
{{Pre
|1=if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) {{!}}{{!}} ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "Common.autoCollapse" ) ) ) {
}}
na kod:
{{Pre
|1=if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) {{!}}{{!}} ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) {
}}
----
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 13:34, 8 sie 2022 (CEST)
=== Poprawka, by zdarzenia nie były w postaci podwójnej, tzn. ze strony: {{LinkKomunikat2|common.js}} (strona {{Np|MediaWiki|link=tak}}), i {{LinkUżytkownik2|Persino/common.js}} (strona użytkownika - {{Np|User|link=tak}}) ===
{{Ping|Wargo}}Zrobiłem tak, by zdarzenia nie były w postaci podwójnej, tzn. ze strony MediaWiki: {{LinkKomunikat2|common.js}}, i strony użytkownika: {{LinkUżytkownik2|Persino/common.js}}, jeżeli takową stronę użytkownik posiada. Zrobiłem też tam parę drobnych innych edycji. Mówiąc najprostszej, zawartością z: {{LinkUżytkownik2|Persino/common.js}}, z pod {{Code|/**/}} zastąp zawartość strony: {{LinkKomunikat2|common.js}}. Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 07:13, 9 sie 2022 (CEST)
=== Poprawka strony {{LinkKomunikat2|Gadget-delete-local.js}}, kilka linijek ===
{{Ping|Wargo}} Czy mógłbyś zamienić zawartość strony {{LinkKomunikat2|Gadget-delete-local.js}} na {{LinkUżytkownik2|Persino/Gadget-delete-local.js}}.
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 07:13, 9 sie 2022 (CEST)
=== Przecieki pamięci w {{LinkKomunikat2|common.js}} w połączeniu z {{LinkUżytkownik2|Persino/common.js}} ===
{{Ping|Wargo}} Czy mógłbyś stronę {{LinkKomunikat2|common.js}} podmienić z zawartością strony {{LinkUżytkownik2|Persino/common.js}} z pod linii /**/. Z góry dziękuję za spełnienie prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 17:37, 15 sie 2022 (CEST)
=== Usunięcie funkcji {{Code|Promise}} z funkcji {{Code|Common.RamkiTableIDiv}}, a nowa poprawka w {{LinkKomunikat2|common.js}} przy pomocy {{LinkUżytkownik2|Persino/common.js}} ===
{{Ping|Wargo}} Kiedyś funkcja {{Code|Common.RamkiTableIDiv}} była uruchamiana za pomocą zwykłej funkcji bez umieszczenia go w bloku $, a teraz jest ona umieszczony właśnie w nim, więc {{Code|Promise}} jest już w nim nie potrzebna, więc usunąłem z tej funkcji właśnie nią, więc funkcję {{Code|Common.RamkiTableIDiv}} musiałem zmodyfikować.
----
----
Zadanie pierwsze: Czy mógłbyś definicję funkcji {{Code|Common.RamkiTableIDiv}} w {{LinkKomunikat2|common.js}} zastąpić nową jego definicją z {{LinkUżytkownik2|Persino/common.js}}, wraz z jego komentarzami, i z komentarzami uruchamiania tej funkcji w funkcji $.
Zadanie drugie: Linie, tzn.: 22-26, na stronie {{LinkKomunikat2|common.js}} zamienić na linie: 24-34 ze strony {{LinkUżytkownik2|Persino/common.js}}.
----
Najłatwiej wykonać te dwa zadania jest sposób: zawartość na stronie {{LinkKomunikat2|common.js}} zastąpić zawartością z {{LinkUżytkownik2|Persino/common.js}} z pod linii /**/, ze względu, że umieściłem tam dodatkowe komentarze, co możesz sprawdzić, co się zmieniło w historii zmian.
----
----
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 17:38, 16 sie 2022 (CEST)
iz6h3j9hj0cocpfqnp0rm8j5byj1iee
437908
437906
2022-08-16T18:38:58Z
Persino
2851
/* Usunięcie funkcji {{Code|Promise}} z funkcji {{Code|Common.RamkiTableIDiv}}, a nowa poprawka w {{LinkKomunikat2|common.js}} przy pomocy {{LinkUżytkownik2|Persino/common.js}} */
wikitext
text/x-wiki
<noinclude>__LINKNOWEJSEKCJI__ [[Kategoria:Księga próśb i zadań]]</noinclude>
{{fmbox|tekst=UWAGA: Nowe zgłoszenia o innym temacie niż to co dotyczy [[Wikibooks:Prośby do administratorów interfejsu/Zgłoszenia]] lub łamiące zasady [[Wikibooks:Wikietykieta|Wikietykiety]] mogą być bezwarunkowo wycofywane z tej strony}}
<!-- Nowe zgłoszenia wstawiaj poniżej tej linii. Powyżej tej linii nic nie usuwaj. Nie usuwaj tej linii -->
== Usunięcie wymuszenia białego tła w tabelach. ==
Zwracam się z prośbą o usunięcie [[MediaWiki:Common.css]] fragmentu
<syntaxhighlight lang="css">
}
+
table.wikitable td,
+
table.prettytable td {
+
background: #f9f9f9;
</syntaxhighlight>
Fragment ten wymusza białe tło w tabelach, co uniemożliwia zastosowanie kolorowych komórek. Takowe bardzo by się przydały np. w opracowywanym przeze [[Zbiór zadań maturalnych/Biologia|Zbiorze zadań maturalnych z Biologii]] jak np. tu: [[:Kategoria:Zbiór zadań maturalnych/podstawa programowa 2017/Biologia/Zakres rozszerzony/Treści nauczania/II/3/1]]. Póki co posiłkuję się obramowaniem, chciałbym jednak docelowo zastosować kolorowanie komórek.
Z góry dziękuję za rozpatrzenie mojej prośby.
[[Wikipedysta:Superjurek|Superjurek]] ([[Dyskusja wikipedysty:Superjurek|dyskusja]]) 22:42, 16 kwi 2021 (CEST)
-----
{{Ping|Superjurek}}Spróbuj użyć zapisu, np.:
<syntaxhighlight lang="css">
background-color: blue !important;
color:white !important;
</syntaxhighlight>
zamiast:
<syntaxhighlight lang="css">
background-color: blue;
color:white;
</syntaxhighlight>
to powinno naprawić cały problem! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:05, 27 maj 2022 (CEST)
==Wstawianie kodu do {{LinkKomunikat2|Common.js}}==
Czy mógłbyś wsadzić do tej strony {{Code|.js}} kod:
<syntaxhighlight lang="JavaScript">
function WyswietlStronyKsiazki(){
function WikikodTitle(data,tabs,titles,tabstrona){
var title=data.parse.title;
var wikikod=data.parse.text['*'];
var elements=tabstrona[title];
for(var q in elements){
elements[q].innerHTML=wikikod;
var a=elements[q].getElementsByTagName('a');
if((a!==null)&&(a.length>0)){
var lena=a.length;
for(var i=0;i<lena;++i){
var href=a[i].getAttribute('href');
if(href!==null){
var re=/^[^\?]+\?[^&]+=[^&]*&?/g;
if(!re.test(href)){
var re2=/#/g;
var s=href.search(re2);
if(s!=-1){
var re=/^\/wiki\//g;
if(re.test(href)){
var href2=href.substring(6,s)
href2=decodeURI(href2);
href2=href2.replace(/[_\s]+/g," ");
for(var s=0;s<titles.length;s++){
var strona=titles[s];
if(href2==strona){
var href3=href.replace(/^[^#]*/g,"");
var a_toc=a[i];
a_toc.setAttribute('href',encodeURI(href3));
a_toc.setAttribute("title","");
}
}
}
}else{
var re=/^\/wiki\//g;
if(re.test(href)){
var hrefv=href.replace(re,"");
var hrefs=decodeURI(hrefv);
hrefs=hrefs.replace(/[_\s]+/g," ");
for(var s=0;s<titles.length;s++){
var strona=titles[s];
if(hrefs==strona){
var hrefs2=hrefv.replace(/^[^\/]*\//g,"");
var a_toc=a[i];
a_toc.setAttribute('href','#'+hrefs2);
a_toc.setAttribute("title","");
}
}
}
}
}
}
}
}
}
var tab_toc=new Array("toc","toc_spis");
for(var d=0;d<tab_toc.length;++d){
var toc=document.getElementsByClassName(tab_toc[d]);
if((toc!==null)&&(toc.length>0)){
for(var q in elements){
var num=new Array();
var v=0;
for(var e=0;e<tabs.length;++e){
if(tabs[e]==title){
v+=1;
if(parseInt(q)+1==v){
num.push(parseInt(e)+1);
break;
}
}
}
var headline=elements[q].getElementsByClassName("mw-headline");
if((headline!==null)&&(headline.length>0)){
var ulozenie=0;
var ostanie=0;
var len=headline.length;
var naglowek="";
var liczba_ulozenia_w_menu_spisu_tresci=1;
var h_number=1;
for (var k=0;k<len;++k){
var element2=headline[k];
var nag=element2.innerHTML;
var nag2=element2.getAttribute('id');
var h=element2.parentNode.tagName;
var h_numer=h.replace(/^[^\d]+/g,"");
h_numer=parseInt(h_numer)
if((ulozenie==0)||(ulozenie>=h_numer)){
ulozenie=h_numer-1;
}else {
if(ostatnie+1<h_numer-ulozenie){
ulozenie=h_numer-ostatnie-1;
}
}
ostatnie=h_numer-ulozenie;
h_numer=h_numer-ulozenie;
if(k==0){
num.push(1);
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="<ul><li><a href=\"#"+nag2+"\">"+nag+"</a>";
}else{
if(h_numer==liczba_ulozenia_w_menu_spisu_tresci){
num[num.length-1]+=1;
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="</li><li><a href=\"#"+nag2+"\">"+nag+"</a>";
}else{
if(h_numer>liczba_ulozenia_w_menu_spisu_tresci){
num.push(1);
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="<ul><li><a href=\"#"+nag2+"\">"+nag+"</a>";
liczba_ulozenia_w_menu_spisu_tresci=h_numer;
}else{
if(h_numer<liczba_ulozenia_w_menu_spisu_tresci){
num.splice(num.length-liczba_ulozenia_w_menu_spisu_tresci+h_numer,liczba_ulozenia_w_menu_spisu_tresci-h_numer);
num[num.length-1]+=1;
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+=('</li></ul>'.repeat(liczba_ulozenia_w_menu_spisu_tresci-h_numer))+"</li><li><a href=\"#"+nag2+"\">"+nag+"</a>";
liczba_ulozenia_w_menu_spisu_tresci=h_numer;
}
}
}
}
}
if(naglowek!=""){
naglowek+=('</li></ul>'.repeat(liczba_ulozenia_w_menu_spisu_tresci));
for(var b=0;b<toc.length;++b){
var a2=toc[b].getElementsByTagName('a');
if((a2!=null)&&(a2.length>0)){
for(var y=0;y<a2.length;++y){
var parent=a2[y].parentNode;
var href=a2[y].getAttribute('href');
href=href.replace(/^#/g,"");
var title2=title.replace(/^[^\/]+\//g,"");
if(href==title2.replace(/[_ ]+/g,"_")+((q>0)?("_"+(parseInt(q)+1)):"")){
var div=document.createElement('div');
div.innerHTML=naglowek;
var links=a2[y].getElementsByClassName('toctext');
if((links!=null)&&(links.length>0)){
var link=links[0].innerHTML;
if(link==title2){
parent.appendChild(div.getElementsByTagName('ul')[0]);
}
}
}
}
}
}
}
}
}
}
}
for(var d=0;d<tab_toc.length;++d){
var toc_pos=document.getElementsByClassName(tab_toc[d]);
if((toc_pos!==null)&&(toc_pos.length>0)){
for(var w=0;w<toc_pos.length;++w){
var li=toc_pos[w].getElementsByTagName('li');
var poziom;
var section=1;
for(var z=0;z<li.length;++z){
var parent=li[z].parentNode.parentNode;
if(parent!==null){
var klasa=parent.getAttribute('class');
if(klasa!==null){
var poziom=klasa.match(/toclevel-\d+/g);
if(poziom!==null){
poziom=parseInt(poziom.toString().match(/\d+$/).toString())+1;
}else{
poziom=1;
}
}else{poziom=1;}
}else{poziom=1;}
var klasa=li[z].getAttribute('class');
if(klasa!==null){
var czy_section=klasa.match(/tocsection-\d+/);
if(czy_section!==null){
klasa=klasa.replace(/tocsection-\d+/g,"tocsection-"+section);
li[z].setAttribute('class',klasa);
}else{
li[z].classList.add("tocsection-"+section);
}
var czy_level=klasa.match(/toclevel-\d+/);
if(czy_level!==null){
klasa=li[z].getAttribute('class');
klasa=klasa.replace(/toclevel-\d+/g,"toclevel-"+poziom);
li[z].setAttribute('class',klasa);
}else{
li[z].classList.add("toclevel-"+poziom);
}
}else{
li[z].setAttribute('class',"toclevel-"+poziom+" tocsection-"+section)
}
section=section+1;
}
}
}
}
var headline=document.getElementsByClassName('mw-headline');
if((headline)&&(headline.length>0)){
for(var i=0;i<headline.length;++i){
var c=1;
var el=headline[i];
var id0=el.innerHTML;
id0=id0.replace(/[_\s]+/g,"_");
id0=id0.replace(/<[^<>]+>/g,"");
for(var j=0;j<i;++j){
var el1=headline[j];
var id1=el1.innerHTML;
id1=id1.replace(/[_\s]+/g,"_");
id1=id1.replace(/<[^<>]+>/g,"");
if(id0==id1){
++c;
}
}
if(c==1){
el.setAttribute('id',id0);
}else{
el.setAttribute('id',id0+"_"+c);
}
}
}
var tab_toc=new Array("toc","toc_spis");
for(d=0;d<tab_toc.length;++d){
var toc_pos=document.getElementsByClassName(tab_toc[d]);
if((toc_pos!==null)&&(toc_pos.length>0)){
for(var w=0;w<toc_pos.length;++w){
var toc=toc_pos[w];
var a=toc.getElementsByTagName('a');
if((a)&&(a.length>0)){
for(var p=0;p<a.length;++p){
var strona=a[p].getElementsByClassName('toctext')[0].innerHTML.replace(/[_\s]+/g,"_");
strona=strona.replace(/<[^<>]+>/g,"");
var c=1;
for(var v=0;v<p;++v){
var strona2;
strona2=a[v].getElementsByClassName('toctext')[0].innerHTML.replace(/[_\s]+/g,"_");
strona2=strona2.replace(/<[^<>]+>/g,"");
if(strona==strona2){
++c;
}
}
strona=strona.replace(/<[^<>]+>/g,"");
if(c==1){
a[p].setAttribute('href',"#"+strona);
}else{
a[p].setAttribute('href',"#"+strona+"_"+c);
}
}
}
}
}
}
}
function StronaSubst(data){
var wikikod=data.parse.text['*'];
var elem=document.createElement('div');
elem.innerHTML=wikikod;
var klasa_mw_parser_out=elem.getElementsByClassName('mw-parser-output');
var wikikod_wyodrepniony=(((klasa_mw_parser_out)&&(klasa_mw_parser_out.length==1))?(klasa_mw_parser_out[0].innerHTML):wikikod);
var czy_wikikod=wikikod_wyodrepniony.match(/^\s*$/g);
if(czy_wikikod){return;}
var strona_subst="strona_subst";
var tagclass=document.getElementsByClassName(strona_subst);
if(tagclass==null){return null;}
var liczba_elementow=tagclass.length;
if(liczba_elementow==0){return null;}
var titles=new Array();
var tabstrona=new Array();
var tabs=new Array();
for (var i=0;i<liczba_elementow;++i){
var element=tagclass[i];
if(element.tagName!="DIV"){return null;}
var strona=element.innerHTML;
var re = /^[_ ]*$/g;
var dopasowanie = re.test(strona);
if(dopasowanie){return null;};
strona=strona.replace(/^[_ ]*/g,"");
strona=strona.replace(/[_ ]*$/g,"");
strona=strona.replace(/[_ ]+/g," ");
tabs[i]=strona;
var czy=false;
for(var d in titles){
if(titles[d]==strona){
czy=true;
break;
}
}
if(!czy){
titles[titles.length]=strona;
}
if(tabstrona[strona]==null){
tabstrona[strona]=new Array();
}
var tab=tabstrona[strona];
var tablen=tab.length;
tabstrona[strona][tablen]=element;
}
for ( var p in titles ) {
var strona=titles[p];
var api=new mw.Api;
api.get({
action: 'parse',
format: 'json',
prop: 'text',
title: strona,
text: '{{:'+strona+'}}',
disabletoc: true,
disablelimitreport: true,
contentmodel: 'wikitext'
}).done(function(data){
WikikodTitle(data,tabs,titles,tabstrona);
});
}
}
var strona = mw.config.get('wgPageName');
var api=new mw.Api;
api.get({
action: 'parse',
format: 'json',
prop: 'text',
title: strona,
text: '{{#invoke:StronicowyParser|CzyStronaSubst}}',
disabletoc: true,
disablelimitreport: true,
contentmodel: 'wikitext'
}).done(function(data){
StronaSubst(data)
});
}
$(WyswietlStronyKsiazki);
</syntaxhighlight>
Ten program {{Code|.js}} znajduje się na stronie: {{LinkUżytkownik2|Persino/common.js}}. Jak wstawisz ten kod do strony {{LinkKomunikat2|Common.js}}, to powinno wtedy zadziałać ładowanie modułów książki, za pomocą JavaScript, na stronie {{LinkUżytkownik2|Persino/Wersja do druku}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:09, 13 lis 2021 (CET)
== Gadżet StronaSubst - dodawanie do listy gadżetów ==
Mamy sobie kod JavaScript {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} i opis gadżetu {{LinkUżytkownik2|Persino/Gadget-StronaSubst}}, czy mógłbyś przenieść na strony w przestrzeni nazw {{Np|MediaWiki|link=tak}}, i wywołaniu gadżetu w takiej formie jak w {{LinkUżytkownik2|Persino/Gadgets-definition}} przenieść na stronę {{LinkKomunikat2|Gadgets-definition}}. Wtedy strona {{LinkUżytkownik2|Persino/Wersja do druku}} powinna działać! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:14, 27 lis 2021 (CET)
=== Zamienianie kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}} ===
{{Ping|Wargo}}Chodzi tutaj, że jak będzie link do artykułu w nagłówku, to, żeby nie pojawiało się pole '''[ artykuł | edytuj ]''' zamiast '''[ edytuj ]''' - aktualnie w {{LinkKomunikat2|Gadget-StronaSubst.js}} pole '''[ artykuł | edytuj ]''' pojawia się zawsze zamiast '''[ edytuj ]''', wtedy gdy ma zawartość '''strona_subst''' jest nie pusta, to algorytm jest zakańczany. A jak jest nazwa strony w zawartości div-a '''strona_subst''', a nie link w nagłówku, to wtedy ma się prawo pojawić '''[ artykuł | edytuj ]''' zamiast '''[ edytuj ]'''. Czy mógłbyś wersję {{LinkKomunikat2|Gadget-StronaSubst.js}} zamienić na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}. Z góry dziękuję za rozpatrzenie mojej prośby! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 10:13, 30 lis 2021 (CET)
----
{{Ping|Wargo}} Jeszcze, czy mógłbyś zamienić tekst w {{LinkKomunikat2|Gadget-StronaSubst}} z:
{{Pre|(bez sekcji "Spis treści" i "Licencja")}}
na
{{Pre|(bez sekcji "Spis treści", "Bibliografia" i "Licencja")}}
[[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:18, 1 gru 2021 (CET)
=== Ostatnia poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}===
{{Ping|Wargo}}Chodzi tutaj, że algorytm zawiesza się na artykule {{LinkGłówna|Mechanika kwantowa/Mechanika kwantowa}}, to co poprawiłem już tak przestaje być, błąd znikł! Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 18:30, 3 gru 2021 (CET)
=== Miejmy nadzieję, że to jest ostatnia poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}===
{{Ping|Wargo}}Chodzi tutaj, że algorytm ma błędy JavaScript na stronie, przy danej książce: {{LinkGłówna|Szachy}}, czyli przy artykule: {{LinkGłówna|Szachy/Szachy}} - błąd tylko widać, gdy chcemy zbadać element, moja poprawka usuwa ten błąd! Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:50, 4 gru 2021 (CET)
=== Następna poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}} ===
{{Ping|Wargo}}Chodzi tutaj, że algorytm nie wyświetla w TOC (wbudowany spis treści) podrozdziałów dla artykułu {{LinkGłówna|Matematyka dla liceum/Matematyka dla liceum}}, moja poprawka usuwa ten błąd. Skrypt porządkuje artykuły według nagłówków na stronie tego artykułu w TOC, a zestaw artykułów, w danek sekcji, wyświetla, również w TOC, je przydzielone do niej. Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:51, 7 gru 2021 (CET)
=== Poważne poprawki w {{LinkKomunikat2|Gadget-StronaSubst.js}} na podstawie {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} oraz dodanie i zmiana pewnych gadżetów ===
{{Ping|Wargo}} Następne poprawki dotyczące wpisu w {{LinkKomunikat2|Gadget-StronaSubst.js}}, co do zauważonych drobnych błędów, czyli mógłbyś dokonać zamiany kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}.
Z góry dziękuję. Poza tym wszystko działa, od razu dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:32, 8 gru 2021 (CET)
----
{{Ping|Wargo}} Jeszcze, czy mógłbyś zamienić tekst w {{LinkKomunikat2|Gadget-StronaSubst}} z:
{{Pre|(bez sekcji "Spis treści", "Bibliografia" i "Licencja")}}
na
{{Pre|(bez sekcji: "Spis treści", "Bibliografia", "Zobacz też", "Inne", "Licencja" i tym podobne)}}
Dziękuję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 05:43, 9 gru 2021 (CET)
----
{{Ping|Wargo}} Czy mógłbyś uzupełnić {{LinkKomunikat2|Gadgets-definition}}, według {{LinkUżytkownik2|Persino/Gadgets-definition}} - szczególnie trzeba naprawić odwołanie do gadżetu StronaSubst, i dodać gadżety: {{LinkUżytkownik2|Persino/Gadget-gConfig.js}} (jego opis jest w {{LinkUżytkownik2|Persino/Gadget-gConfig}}), przenosząc go do {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis do {{LinkKomunikat2|Gadget-gConfig}}), a także drugi gadżet dotyczący szablonu {{s|Cytuj}} przenieś z {{LinkUżytkownik2|Persino/Gadget-citation-access-info.js}} (jego opis to {{LinkUżytkownik2|Persino/Gadget-citation-access-info}}) do {{LinkKomunikat2|Gadget-citation-access-info.js}} (a jego opis do {{LinkKomunikat2|Gadget-citation-access-info}}).
Gadżet '''gConfig''' potrzebny mi jest do gadżetu {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}}, którego zawartość należy przenieść do {{LinkKomunikat2|Gadget-StronaSubst.js}}, a gadżet {{LinkUżytkownik2|Persino/Gadget-citation-access-info.js}}, potrzebny mi jest do szablonu {{s|Cytuj}} do dymku do pełnej wersji tego szablonu, który należy przenieść do {{LinkKomunikat2|Gadget-citation-access-info.js}}.
Proszę o pilną reakcję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:04, 11 gru 2021 (CET)
----
Również proszę o zastąpienie strony komunikatu {{LinkKomunikat2|Gadget-map-toggler.js}} stroną {{LinkUżytkownik2|Persino/Gadget-map-toggler.js}}. Z góry dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 18:38, 11 gru 2021 (CET)
== Zamiana wartości linkowej i szablonowej ==
{{Ping|Wargo}}Czy mógłbyś zamienić na stronie: {{LinkUżytkownik2|Rychozol/common.js}}, z wartości: {{Nowiki|[[GNU Free Documentation License|GFDL]]}}, na: {{Nowiki|[[Wikibooks:GNU Free Documentation License|GFDL]]}}, a także na tej samej stronie wartość: {{s|clear}}, na {{s|BrClear}}, ponieważ ze względu na zmianę nazw stron. Z góry dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:35, 13 gru 2021 (CET)
<del>== Dalsze zmiany na stronach gadżetów (pilne) ==
{{Ping|Wargo}}Czy mógłbyś zainstalować gadżet "Gadget-gConfig", tak jak na stronie {{LinkUżytkownik2|Persino/Gadgets-definition}} (pierwsza linijka) w {{LinkKomunikat2|Gadgets-definition}}, a co do tego, jego kod {{LinkUżytkownik2|Persino/Gadget-gConfig.js}} zainstalować w miejscu {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis jest w {{LinkUżytkownik2|Persino/Gadget-gConfig}}), przenosząc go do {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis do {{LinkKomunikat2|Gadget-gConfig}}). A później zaaktualizuj gadżet {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}, a także zainstalować w miejscu {{LinkKomunikat2|Gadget-Funkcje.js}} gadżet {{LinkUżytkownik2|Persino/Gadget-Funkcje.js}}, a również zaktualizować wpis dla gadżetu StronaSubst tak jak w {{LinkUżytkownik2|Persino/Gadgets-definition}}. A później sprawdzić, czy wszystko działa. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 13:19, 4 lut 2022 (CET)</del>
== Przepełnienie scrollbarów, poszczególnych elementów strony, a ustawienia różnych klas, jeżeli takowe istnieją ==
{{Ping|Wargo}}Czy mógłbyś uwzględnić na stronie {{LinkKomunikat2|Common.js}} część mojej strony, która jest po sekwencji /**/, będąca na stronie {{LinkUżytkownik2|Persino/common.js}}. Ten skrypt sprawdza, czy nastąpiło przepełnienie elementów strony dokumentu HTML Wikibooks, a jeżeli nastąpiło, to następuje ustawienie tam odpowiednich klas, a jeżeli ono znikło, to usunięcie tych klas. Ten skrypt jest mi potrzebny do szablonu {{s|StronaStart}} i jego pokrewnych oraz do mojego ustawienia skórki vector-2022, która jest w mojej przestrzeni użytkownika. Dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:23, 27 maj 2022 (CEST)
== Aktualizacja przepełnienia scrollbarów i implementacja sticky ==
{{Ping|Wargo}} Czy mógłbyś uwzględnić na stronie {{LinkKomunikat2|Common.js}} część mojej strony, która jest po sekwencji /**/, będąca na stronie {{LinkUżytkownik2|Persino/common.js}}. W przypadku pierwszego algorytmu, dodałem tam klasy {{Code|mw-overflow-x}} i {{Code|mw-overflow-y}}, które ten algorytm rozpoznaje, i dla nich liczy, czy nastąpiło to właśnie przepełnienie. A wcześniej liczyło dla wszystkich znaczników na stronie, co spowalniało całą stronę. Tam, gdzie, ważne jest liczenie przepełnienie wstawiłem {{Code|mw-overflow-x}}, czy {{Code|mw-overflow-y}}, czyli algorytm ten tam powinien działać, co można sprawdzić na stronie głównej tego projektu ({{NAZWASERWISU|link=tak}}). Drugi algorytm jest rozszerzenie właściwości {{Code|position:sticky}}, który on nie działa, gdy choćby jeden z rodziców jest z nie {{Code|overflow:visible}}, ale z {{Code|overflow}}, a ja zrobiłem, że jednak zaczeło działać, a ja tak to zrobiłem: {{Code|position:sticky}} zastąpiłem {{Code|position:absolute}}, w tym znaczników ustawiam {{Code|mw-sticky-y}} (przesuw w pionie) lub {{Code|mw-sticky-x}} (przesuw w poziomie), wtedy ten algorytm JavaScript działa tak, że pudełko przesuwa się od pewnej granicy do pewnej, ale nigdy nie wychodzi poza te granice, czyli działa podobnie jak {{Code|position:sticky}}. Dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 12:41, 9 lip 2022 (CEST)
==Aktualizacja skryptów na {{LinkKomunikat2|common.js}} z {{LinkUżytkownik2|Persino/common.js}}==
{{Ping|Wargo}} Czy mógłbyś zaktualizować kod na stronie {{LinkKomunikat2|common.js}} ze strony {{LinkUżytkownik2|Persino/common.js}} pod znakiem {{Code|/**/}}. Zdefiniowałem przestrzeń nazw {{Code|Common}} definicją:
{{Pre|var Common{{=}}new Array();}}
Prawie wszystkie funkcje ze strony {{LinkKomunikat2|common.js}} przeniosłem do tej przestrzeni na stronie {{LinkUżytkownik2|Persino/common.js}} (tutaj wszystkie funkcje są w przestrzeni {{Code|Common}}). Rozwinąłem funkcję {{Code|Common.ScrollBarOverflow}}, {{Code|Common.StickyXY}} i {{Code|Common.OptimalXY}}. Napisałem od nowa funkcje: {{Code|Common.RamkiTableIDiv}} i {{Code|Common.ZdarzeniaDodatkoweFunkcyjneXY}} oraz funkcję do obsługi szablonu {{s|StronaStart}} i jego pokrewnych książkowych z definiowałem w postaci: {{Code|Common.StronaStart}}.
Co oznaczają te funkcje:
* {{Code|Common.ScrollBarOverflow}} - do generowania pewnych klas, które służą do obsługi pudełka z paskami przewijania,
* {{Code|Common.StickyXY}} - aktualizacja funkcji {{Code|position:sticky}}, tam gdzie go nie można go użyć, do używamy tej funkcji,
* {{Code|Common.OptimalXY}} - do obsługi boksów na stronach z użytymi szablonami stronicowymi książkowymi otwierającymi i zamykającymi,
* {{Code|Common.RamkiTableIDiv}} - dodaje dalsze funkcje przy przyciskach tabel i ramek, nawigacyjnych,
* {{Code|Common.ZdarzeniaDodatkoweFunkcyjneXY}} - dodaje zdarzenia do obsługi funkcji: {{Code|Common.StickyXY}} i {{Code|Common.OptimalXY}},
* {{Code|Common.StronaStart}} - służy do obsługi spisu treści i boksów szablonu {{s|StronaStart}}.
Na stronach podręcznikowych boksy i spisy treści są responsywne według moich ustawień, a dla wszystkich użytkowników będą responsywne po zaktualizowaniu strony {{LinkKomunikat2|common.js}} przy pomocy {{LinkUżytkownik2|Persino/common.js}}.
----
Proszę o pilną reakcję i zrealizowanie mojej prośby. Z góry dziękuję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:55, 3 sie 2022 (CEST)
:Czy coś jest do usunięcia z obecnego common.js? Tj. czy coś stamtąd mam tym zastąpić? [[Wikipedysta:Wargo|Wargo]] ([[Dyskusja wikipedysty:Wargo|dyskusja]]) 20:55, 7 sie 2022 (CEST)
::{{Ping|Wargo}}Właśnie masz zastąpić nową wersją z pod /**/ z: {{LinkUżytkownik2|Persino/common.js}}, zastępując całą zawartość strony w: {{LinkKomunikat2|common.js}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:04, 7 sie 2022 (CEST)
:::{{Ping|Wargo}} Już możesz zastępować, wszystko gotowe! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:39, 7 sie 2022 (CEST)
===Ostatnia poprawka===
{{Ping|Wargo}}Czy mógłbyś linijkę kodu:
{{Pre|var top_ab{{=}}rect_rodzic[top]-margintop;
var bottom_ab{{=}}(wys-rect_rodzic[bottom])-marginbottom;
}}
poprawić na:
{{Pre|var top_ab{{=}}rect_rodzic[top];
var bottom_ab{{=}}(wys-rect_rodzic[bottom]);
}}
w funkcji: {{Code|Common.StickyXY}}, w {{LinkKomunikat2|common.js}} według {{LinkUżytkownik2|Persino/common.js}}. Tj. to linijka: 481-482.
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:51, 8 sie 2022 (CEST)
=== Miejmy nadzieję, że ostatnia poprawka na stronie {{LinkKomunikat2|common.js}} ===
{{Ping|Wargo}}Czy mógłbyś w kodzie w linii: 177 i 183, na stronie {{LinkKomunikat2|common.js}} według {{LinkUżytkownik2|Persino/common.js}} poprawić według schematu:
{{Pre
|collapseTable( i );
}}
zamienić na:
{{Pre
|Common.collapseTable( i );
}}
Poprawka jest ważna, bo tabele nawigacyjne, na stronie głównej i gdzieś indziej, nie chcą się kolapsować, a po tej operacji już będą się tak zachowywać!
----
W linii: 176 poprawić:
{{Pre
|1=if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) {{!}}{{!}} ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "Common.autoCollapse" ) ) ) {
}}
na kod:
{{Pre
|1=if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) {{!}}{{!}} ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) {
}}
----
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 13:34, 8 sie 2022 (CEST)
=== Poprawka, by zdarzenia nie były w postaci podwójnej, tzn. ze strony: {{LinkKomunikat2|common.js}} (strona {{Np|MediaWiki|link=tak}}), i {{LinkUżytkownik2|Persino/common.js}} (strona użytkownika - {{Np|User|link=tak}}) ===
{{Ping|Wargo}}Zrobiłem tak, by zdarzenia nie były w postaci podwójnej, tzn. ze strony MediaWiki: {{LinkKomunikat2|common.js}}, i strony użytkownika: {{LinkUżytkownik2|Persino/common.js}}, jeżeli takową stronę użytkownik posiada. Zrobiłem też tam parę drobnych innych edycji. Mówiąc najprostszej, zawartością z: {{LinkUżytkownik2|Persino/common.js}}, z pod {{Code|/**/}} zastąp zawartość strony: {{LinkKomunikat2|common.js}}. Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 07:13, 9 sie 2022 (CEST)
=== Poprawka strony {{LinkKomunikat2|Gadget-delete-local.js}}, kilka linijek ===
{{Ping|Wargo}} Czy mógłbyś zamienić zawartość strony {{LinkKomunikat2|Gadget-delete-local.js}} na {{LinkUżytkownik2|Persino/Gadget-delete-local.js}}.
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 07:13, 9 sie 2022 (CEST)
=== Przecieki pamięci w {{LinkKomunikat2|common.js}} w połączeniu z {{LinkUżytkownik2|Persino/common.js}} ===
{{Ping|Wargo}} Czy mógłbyś stronę {{LinkKomunikat2|common.js}} podmienić z zawartością strony {{LinkUżytkownik2|Persino/common.js}} z pod linii /**/. Z góry dziękuję za spełnienie prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 17:37, 15 sie 2022 (CEST)
=== Usunięcie funkcji {{Code|Promise}} z funkcji {{Code|Common.RamkiTableIDiv}}, a nowa poprawka w {{LinkKomunikat2|common.js}} przy pomocy {{LinkUżytkownik2|Persino/common.js}} ===
{{Ping|Wargo}} Kiedyś funkcja {{Code|Common.RamkiTableIDiv}} była uruchamiana za pomocą zwykłej funkcji bez umieszczenia go w bloku $, a teraz jest ona umieszczony właśnie w nim, więc {{Code|Promise}} jest już w nim nie potrzebna, więc usunąłem z tej funkcji właśnie nią, więc funkcję {{Code|Common.RamkiTableIDiv}} musiałem zmodyfikować.
----
----
Zadanie pierwsze: Czy mógłbyś definicję funkcji {{Code|Common.RamkiTableIDiv}} w {{LinkKomunikat2|common.js}} zastąpić nową jego definicją z {{LinkUżytkownik2|Persino/common.js}}, wraz z jego komentarzami, i z komentarzami uruchamiania tej funkcji w funkcji $.
Zadanie drugie: Linie, tzn.: 22-26, na stronie {{LinkKomunikat2|common.js}} zamienić na linie: 24-34 ze strony {{LinkUżytkownik2|Persino/common.js}}.
Zadanie trzecie dodać niektóre komentarze, które dodałem do {{LinkUżytkownik2|Persino/common.js}}.
----
Najłatwiej wykonać te dwa zadania jest sposób: zawartość na stronie {{LinkKomunikat2|common.js}} zastąpić zawartością z {{LinkUżytkownik2|Persino/common.js}} z pod linii /**/, ze względu, że umieściłem tam dodatkowe komentarze, co możesz sprawdzić, co się zmieniło w historii zmian.
----
----
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 17:38, 16 sie 2022 (CEST)
p0anmnj2ssm45jyny7y1y3291omkngo
437909
437908
2022-08-16T18:39:21Z
Persino
2851
/* Usunięcie funkcji {{Code|Promise}} z funkcji {{Code|Common.RamkiTableIDiv}}, a nowa poprawka w {{LinkKomunikat2|common.js}} przy pomocy {{LinkUżytkownik2|Persino/common.js}} */
wikitext
text/x-wiki
<noinclude>__LINKNOWEJSEKCJI__ [[Kategoria:Księga próśb i zadań]]</noinclude>
{{fmbox|tekst=UWAGA: Nowe zgłoszenia o innym temacie niż to co dotyczy [[Wikibooks:Prośby do administratorów interfejsu/Zgłoszenia]] lub łamiące zasady [[Wikibooks:Wikietykieta|Wikietykiety]] mogą być bezwarunkowo wycofywane z tej strony}}
<!-- Nowe zgłoszenia wstawiaj poniżej tej linii. Powyżej tej linii nic nie usuwaj. Nie usuwaj tej linii -->
== Usunięcie wymuszenia białego tła w tabelach. ==
Zwracam się z prośbą o usunięcie [[MediaWiki:Common.css]] fragmentu
<syntaxhighlight lang="css">
}
+
table.wikitable td,
+
table.prettytable td {
+
background: #f9f9f9;
</syntaxhighlight>
Fragment ten wymusza białe tło w tabelach, co uniemożliwia zastosowanie kolorowych komórek. Takowe bardzo by się przydały np. w opracowywanym przeze [[Zbiór zadań maturalnych/Biologia|Zbiorze zadań maturalnych z Biologii]] jak np. tu: [[:Kategoria:Zbiór zadań maturalnych/podstawa programowa 2017/Biologia/Zakres rozszerzony/Treści nauczania/II/3/1]]. Póki co posiłkuję się obramowaniem, chciałbym jednak docelowo zastosować kolorowanie komórek.
Z góry dziękuję za rozpatrzenie mojej prośby.
[[Wikipedysta:Superjurek|Superjurek]] ([[Dyskusja wikipedysty:Superjurek|dyskusja]]) 22:42, 16 kwi 2021 (CEST)
-----
{{Ping|Superjurek}}Spróbuj użyć zapisu, np.:
<syntaxhighlight lang="css">
background-color: blue !important;
color:white !important;
</syntaxhighlight>
zamiast:
<syntaxhighlight lang="css">
background-color: blue;
color:white;
</syntaxhighlight>
to powinno naprawić cały problem! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:05, 27 maj 2022 (CEST)
==Wstawianie kodu do {{LinkKomunikat2|Common.js}}==
Czy mógłbyś wsadzić do tej strony {{Code|.js}} kod:
<syntaxhighlight lang="JavaScript">
function WyswietlStronyKsiazki(){
function WikikodTitle(data,tabs,titles,tabstrona){
var title=data.parse.title;
var wikikod=data.parse.text['*'];
var elements=tabstrona[title];
for(var q in elements){
elements[q].innerHTML=wikikod;
var a=elements[q].getElementsByTagName('a');
if((a!==null)&&(a.length>0)){
var lena=a.length;
for(var i=0;i<lena;++i){
var href=a[i].getAttribute('href');
if(href!==null){
var re=/^[^\?]+\?[^&]+=[^&]*&?/g;
if(!re.test(href)){
var re2=/#/g;
var s=href.search(re2);
if(s!=-1){
var re=/^\/wiki\//g;
if(re.test(href)){
var href2=href.substring(6,s)
href2=decodeURI(href2);
href2=href2.replace(/[_\s]+/g," ");
for(var s=0;s<titles.length;s++){
var strona=titles[s];
if(href2==strona){
var href3=href.replace(/^[^#]*/g,"");
var a_toc=a[i];
a_toc.setAttribute('href',encodeURI(href3));
a_toc.setAttribute("title","");
}
}
}
}else{
var re=/^\/wiki\//g;
if(re.test(href)){
var hrefv=href.replace(re,"");
var hrefs=decodeURI(hrefv);
hrefs=hrefs.replace(/[_\s]+/g," ");
for(var s=0;s<titles.length;s++){
var strona=titles[s];
if(hrefs==strona){
var hrefs2=hrefv.replace(/^[^\/]*\//g,"");
var a_toc=a[i];
a_toc.setAttribute('href','#'+hrefs2);
a_toc.setAttribute("title","");
}
}
}
}
}
}
}
}
}
var tab_toc=new Array("toc","toc_spis");
for(var d=0;d<tab_toc.length;++d){
var toc=document.getElementsByClassName(tab_toc[d]);
if((toc!==null)&&(toc.length>0)){
for(var q in elements){
var num=new Array();
var v=0;
for(var e=0;e<tabs.length;++e){
if(tabs[e]==title){
v+=1;
if(parseInt(q)+1==v){
num.push(parseInt(e)+1);
break;
}
}
}
var headline=elements[q].getElementsByClassName("mw-headline");
if((headline!==null)&&(headline.length>0)){
var ulozenie=0;
var ostanie=0;
var len=headline.length;
var naglowek="";
var liczba_ulozenia_w_menu_spisu_tresci=1;
var h_number=1;
for (var k=0;k<len;++k){
var element2=headline[k];
var nag=element2.innerHTML;
var nag2=element2.getAttribute('id');
var h=element2.parentNode.tagName;
var h_numer=h.replace(/^[^\d]+/g,"");
h_numer=parseInt(h_numer)
if((ulozenie==0)||(ulozenie>=h_numer)){
ulozenie=h_numer-1;
}else {
if(ostatnie+1<h_numer-ulozenie){
ulozenie=h_numer-ostatnie-1;
}
}
ostatnie=h_numer-ulozenie;
h_numer=h_numer-ulozenie;
if(k==0){
num.push(1);
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="<ul><li><a href=\"#"+nag2+"\">"+nag+"</a>";
}else{
if(h_numer==liczba_ulozenia_w_menu_spisu_tresci){
num[num.length-1]+=1;
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="</li><li><a href=\"#"+nag2+"\">"+nag+"</a>";
}else{
if(h_numer>liczba_ulozenia_w_menu_spisu_tresci){
num.push(1);
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="<ul><li><a href=\"#"+nag2+"\">"+nag+"</a>";
liczba_ulozenia_w_menu_spisu_tresci=h_numer;
}else{
if(h_numer<liczba_ulozenia_w_menu_spisu_tresci){
num.splice(num.length-liczba_ulozenia_w_menu_spisu_tresci+h_numer,liczba_ulozenia_w_menu_spisu_tresci-h_numer);
num[num.length-1]+=1;
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+=('</li></ul>'.repeat(liczba_ulozenia_w_menu_spisu_tresci-h_numer))+"</li><li><a href=\"#"+nag2+"\">"+nag+"</a>";
liczba_ulozenia_w_menu_spisu_tresci=h_numer;
}
}
}
}
}
if(naglowek!=""){
naglowek+=('</li></ul>'.repeat(liczba_ulozenia_w_menu_spisu_tresci));
for(var b=0;b<toc.length;++b){
var a2=toc[b].getElementsByTagName('a');
if((a2!=null)&&(a2.length>0)){
for(var y=0;y<a2.length;++y){
var parent=a2[y].parentNode;
var href=a2[y].getAttribute('href');
href=href.replace(/^#/g,"");
var title2=title.replace(/^[^\/]+\//g,"");
if(href==title2.replace(/[_ ]+/g,"_")+((q>0)?("_"+(parseInt(q)+1)):"")){
var div=document.createElement('div');
div.innerHTML=naglowek;
var links=a2[y].getElementsByClassName('toctext');
if((links!=null)&&(links.length>0)){
var link=links[0].innerHTML;
if(link==title2){
parent.appendChild(div.getElementsByTagName('ul')[0]);
}
}
}
}
}
}
}
}
}
}
}
for(var d=0;d<tab_toc.length;++d){
var toc_pos=document.getElementsByClassName(tab_toc[d]);
if((toc_pos!==null)&&(toc_pos.length>0)){
for(var w=0;w<toc_pos.length;++w){
var li=toc_pos[w].getElementsByTagName('li');
var poziom;
var section=1;
for(var z=0;z<li.length;++z){
var parent=li[z].parentNode.parentNode;
if(parent!==null){
var klasa=parent.getAttribute('class');
if(klasa!==null){
var poziom=klasa.match(/toclevel-\d+/g);
if(poziom!==null){
poziom=parseInt(poziom.toString().match(/\d+$/).toString())+1;
}else{
poziom=1;
}
}else{poziom=1;}
}else{poziom=1;}
var klasa=li[z].getAttribute('class');
if(klasa!==null){
var czy_section=klasa.match(/tocsection-\d+/);
if(czy_section!==null){
klasa=klasa.replace(/tocsection-\d+/g,"tocsection-"+section);
li[z].setAttribute('class',klasa);
}else{
li[z].classList.add("tocsection-"+section);
}
var czy_level=klasa.match(/toclevel-\d+/);
if(czy_level!==null){
klasa=li[z].getAttribute('class');
klasa=klasa.replace(/toclevel-\d+/g,"toclevel-"+poziom);
li[z].setAttribute('class',klasa);
}else{
li[z].classList.add("toclevel-"+poziom);
}
}else{
li[z].setAttribute('class',"toclevel-"+poziom+" tocsection-"+section)
}
section=section+1;
}
}
}
}
var headline=document.getElementsByClassName('mw-headline');
if((headline)&&(headline.length>0)){
for(var i=0;i<headline.length;++i){
var c=1;
var el=headline[i];
var id0=el.innerHTML;
id0=id0.replace(/[_\s]+/g,"_");
id0=id0.replace(/<[^<>]+>/g,"");
for(var j=0;j<i;++j){
var el1=headline[j];
var id1=el1.innerHTML;
id1=id1.replace(/[_\s]+/g,"_");
id1=id1.replace(/<[^<>]+>/g,"");
if(id0==id1){
++c;
}
}
if(c==1){
el.setAttribute('id',id0);
}else{
el.setAttribute('id',id0+"_"+c);
}
}
}
var tab_toc=new Array("toc","toc_spis");
for(d=0;d<tab_toc.length;++d){
var toc_pos=document.getElementsByClassName(tab_toc[d]);
if((toc_pos!==null)&&(toc_pos.length>0)){
for(var w=0;w<toc_pos.length;++w){
var toc=toc_pos[w];
var a=toc.getElementsByTagName('a');
if((a)&&(a.length>0)){
for(var p=0;p<a.length;++p){
var strona=a[p].getElementsByClassName('toctext')[0].innerHTML.replace(/[_\s]+/g,"_");
strona=strona.replace(/<[^<>]+>/g,"");
var c=1;
for(var v=0;v<p;++v){
var strona2;
strona2=a[v].getElementsByClassName('toctext')[0].innerHTML.replace(/[_\s]+/g,"_");
strona2=strona2.replace(/<[^<>]+>/g,"");
if(strona==strona2){
++c;
}
}
strona=strona.replace(/<[^<>]+>/g,"");
if(c==1){
a[p].setAttribute('href',"#"+strona);
}else{
a[p].setAttribute('href',"#"+strona+"_"+c);
}
}
}
}
}
}
}
function StronaSubst(data){
var wikikod=data.parse.text['*'];
var elem=document.createElement('div');
elem.innerHTML=wikikod;
var klasa_mw_parser_out=elem.getElementsByClassName('mw-parser-output');
var wikikod_wyodrepniony=(((klasa_mw_parser_out)&&(klasa_mw_parser_out.length==1))?(klasa_mw_parser_out[0].innerHTML):wikikod);
var czy_wikikod=wikikod_wyodrepniony.match(/^\s*$/g);
if(czy_wikikod){return;}
var strona_subst="strona_subst";
var tagclass=document.getElementsByClassName(strona_subst);
if(tagclass==null){return null;}
var liczba_elementow=tagclass.length;
if(liczba_elementow==0){return null;}
var titles=new Array();
var tabstrona=new Array();
var tabs=new Array();
for (var i=0;i<liczba_elementow;++i){
var element=tagclass[i];
if(element.tagName!="DIV"){return null;}
var strona=element.innerHTML;
var re = /^[_ ]*$/g;
var dopasowanie = re.test(strona);
if(dopasowanie){return null;};
strona=strona.replace(/^[_ ]*/g,"");
strona=strona.replace(/[_ ]*$/g,"");
strona=strona.replace(/[_ ]+/g," ");
tabs[i]=strona;
var czy=false;
for(var d in titles){
if(titles[d]==strona){
czy=true;
break;
}
}
if(!czy){
titles[titles.length]=strona;
}
if(tabstrona[strona]==null){
tabstrona[strona]=new Array();
}
var tab=tabstrona[strona];
var tablen=tab.length;
tabstrona[strona][tablen]=element;
}
for ( var p in titles ) {
var strona=titles[p];
var api=new mw.Api;
api.get({
action: 'parse',
format: 'json',
prop: 'text',
title: strona,
text: '{{:'+strona+'}}',
disabletoc: true,
disablelimitreport: true,
contentmodel: 'wikitext'
}).done(function(data){
WikikodTitle(data,tabs,titles,tabstrona);
});
}
}
var strona = mw.config.get('wgPageName');
var api=new mw.Api;
api.get({
action: 'parse',
format: 'json',
prop: 'text',
title: strona,
text: '{{#invoke:StronicowyParser|CzyStronaSubst}}',
disabletoc: true,
disablelimitreport: true,
contentmodel: 'wikitext'
}).done(function(data){
StronaSubst(data)
});
}
$(WyswietlStronyKsiazki);
</syntaxhighlight>
Ten program {{Code|.js}} znajduje się na stronie: {{LinkUżytkownik2|Persino/common.js}}. Jak wstawisz ten kod do strony {{LinkKomunikat2|Common.js}}, to powinno wtedy zadziałać ładowanie modułów książki, za pomocą JavaScript, na stronie {{LinkUżytkownik2|Persino/Wersja do druku}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:09, 13 lis 2021 (CET)
== Gadżet StronaSubst - dodawanie do listy gadżetów ==
Mamy sobie kod JavaScript {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} i opis gadżetu {{LinkUżytkownik2|Persino/Gadget-StronaSubst}}, czy mógłbyś przenieść na strony w przestrzeni nazw {{Np|MediaWiki|link=tak}}, i wywołaniu gadżetu w takiej formie jak w {{LinkUżytkownik2|Persino/Gadgets-definition}} przenieść na stronę {{LinkKomunikat2|Gadgets-definition}}. Wtedy strona {{LinkUżytkownik2|Persino/Wersja do druku}} powinna działać! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:14, 27 lis 2021 (CET)
=== Zamienianie kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}} ===
{{Ping|Wargo}}Chodzi tutaj, że jak będzie link do artykułu w nagłówku, to, żeby nie pojawiało się pole '''[ artykuł | edytuj ]''' zamiast '''[ edytuj ]''' - aktualnie w {{LinkKomunikat2|Gadget-StronaSubst.js}} pole '''[ artykuł | edytuj ]''' pojawia się zawsze zamiast '''[ edytuj ]''', wtedy gdy ma zawartość '''strona_subst''' jest nie pusta, to algorytm jest zakańczany. A jak jest nazwa strony w zawartości div-a '''strona_subst''', a nie link w nagłówku, to wtedy ma się prawo pojawić '''[ artykuł | edytuj ]''' zamiast '''[ edytuj ]'''. Czy mógłbyś wersję {{LinkKomunikat2|Gadget-StronaSubst.js}} zamienić na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}. Z góry dziękuję za rozpatrzenie mojej prośby! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 10:13, 30 lis 2021 (CET)
----
{{Ping|Wargo}} Jeszcze, czy mógłbyś zamienić tekst w {{LinkKomunikat2|Gadget-StronaSubst}} z:
{{Pre|(bez sekcji "Spis treści" i "Licencja")}}
na
{{Pre|(bez sekcji "Spis treści", "Bibliografia" i "Licencja")}}
[[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:18, 1 gru 2021 (CET)
=== Ostatnia poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}===
{{Ping|Wargo}}Chodzi tutaj, że algorytm zawiesza się na artykule {{LinkGłówna|Mechanika kwantowa/Mechanika kwantowa}}, to co poprawiłem już tak przestaje być, błąd znikł! Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 18:30, 3 gru 2021 (CET)
=== Miejmy nadzieję, że to jest ostatnia poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}===
{{Ping|Wargo}}Chodzi tutaj, że algorytm ma błędy JavaScript na stronie, przy danej książce: {{LinkGłówna|Szachy}}, czyli przy artykule: {{LinkGłówna|Szachy/Szachy}} - błąd tylko widać, gdy chcemy zbadać element, moja poprawka usuwa ten błąd! Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:50, 4 gru 2021 (CET)
=== Następna poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}} ===
{{Ping|Wargo}}Chodzi tutaj, że algorytm nie wyświetla w TOC (wbudowany spis treści) podrozdziałów dla artykułu {{LinkGłówna|Matematyka dla liceum/Matematyka dla liceum}}, moja poprawka usuwa ten błąd. Skrypt porządkuje artykuły według nagłówków na stronie tego artykułu w TOC, a zestaw artykułów, w danek sekcji, wyświetla, również w TOC, je przydzielone do niej. Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:51, 7 gru 2021 (CET)
=== Poważne poprawki w {{LinkKomunikat2|Gadget-StronaSubst.js}} na podstawie {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} oraz dodanie i zmiana pewnych gadżetów ===
{{Ping|Wargo}} Następne poprawki dotyczące wpisu w {{LinkKomunikat2|Gadget-StronaSubst.js}}, co do zauważonych drobnych błędów, czyli mógłbyś dokonać zamiany kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}.
Z góry dziękuję. Poza tym wszystko działa, od razu dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:32, 8 gru 2021 (CET)
----
{{Ping|Wargo}} Jeszcze, czy mógłbyś zamienić tekst w {{LinkKomunikat2|Gadget-StronaSubst}} z:
{{Pre|(bez sekcji "Spis treści", "Bibliografia" i "Licencja")}}
na
{{Pre|(bez sekcji: "Spis treści", "Bibliografia", "Zobacz też", "Inne", "Licencja" i tym podobne)}}
Dziękuję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 05:43, 9 gru 2021 (CET)
----
{{Ping|Wargo}} Czy mógłbyś uzupełnić {{LinkKomunikat2|Gadgets-definition}}, według {{LinkUżytkownik2|Persino/Gadgets-definition}} - szczególnie trzeba naprawić odwołanie do gadżetu StronaSubst, i dodać gadżety: {{LinkUżytkownik2|Persino/Gadget-gConfig.js}} (jego opis jest w {{LinkUżytkownik2|Persino/Gadget-gConfig}}), przenosząc go do {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis do {{LinkKomunikat2|Gadget-gConfig}}), a także drugi gadżet dotyczący szablonu {{s|Cytuj}} przenieś z {{LinkUżytkownik2|Persino/Gadget-citation-access-info.js}} (jego opis to {{LinkUżytkownik2|Persino/Gadget-citation-access-info}}) do {{LinkKomunikat2|Gadget-citation-access-info.js}} (a jego opis do {{LinkKomunikat2|Gadget-citation-access-info}}).
Gadżet '''gConfig''' potrzebny mi jest do gadżetu {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}}, którego zawartość należy przenieść do {{LinkKomunikat2|Gadget-StronaSubst.js}}, a gadżet {{LinkUżytkownik2|Persino/Gadget-citation-access-info.js}}, potrzebny mi jest do szablonu {{s|Cytuj}} do dymku do pełnej wersji tego szablonu, który należy przenieść do {{LinkKomunikat2|Gadget-citation-access-info.js}}.
Proszę o pilną reakcję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:04, 11 gru 2021 (CET)
----
Również proszę o zastąpienie strony komunikatu {{LinkKomunikat2|Gadget-map-toggler.js}} stroną {{LinkUżytkownik2|Persino/Gadget-map-toggler.js}}. Z góry dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 18:38, 11 gru 2021 (CET)
== Zamiana wartości linkowej i szablonowej ==
{{Ping|Wargo}}Czy mógłbyś zamienić na stronie: {{LinkUżytkownik2|Rychozol/common.js}}, z wartości: {{Nowiki|[[GNU Free Documentation License|GFDL]]}}, na: {{Nowiki|[[Wikibooks:GNU Free Documentation License|GFDL]]}}, a także na tej samej stronie wartość: {{s|clear}}, na {{s|BrClear}}, ponieważ ze względu na zmianę nazw stron. Z góry dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:35, 13 gru 2021 (CET)
<del>== Dalsze zmiany na stronach gadżetów (pilne) ==
{{Ping|Wargo}}Czy mógłbyś zainstalować gadżet "Gadget-gConfig", tak jak na stronie {{LinkUżytkownik2|Persino/Gadgets-definition}} (pierwsza linijka) w {{LinkKomunikat2|Gadgets-definition}}, a co do tego, jego kod {{LinkUżytkownik2|Persino/Gadget-gConfig.js}} zainstalować w miejscu {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis jest w {{LinkUżytkownik2|Persino/Gadget-gConfig}}), przenosząc go do {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis do {{LinkKomunikat2|Gadget-gConfig}}). A później zaaktualizuj gadżet {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}, a także zainstalować w miejscu {{LinkKomunikat2|Gadget-Funkcje.js}} gadżet {{LinkUżytkownik2|Persino/Gadget-Funkcje.js}}, a również zaktualizować wpis dla gadżetu StronaSubst tak jak w {{LinkUżytkownik2|Persino/Gadgets-definition}}. A później sprawdzić, czy wszystko działa. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 13:19, 4 lut 2022 (CET)</del>
== Przepełnienie scrollbarów, poszczególnych elementów strony, a ustawienia różnych klas, jeżeli takowe istnieją ==
{{Ping|Wargo}}Czy mógłbyś uwzględnić na stronie {{LinkKomunikat2|Common.js}} część mojej strony, która jest po sekwencji /**/, będąca na stronie {{LinkUżytkownik2|Persino/common.js}}. Ten skrypt sprawdza, czy nastąpiło przepełnienie elementów strony dokumentu HTML Wikibooks, a jeżeli nastąpiło, to następuje ustawienie tam odpowiednich klas, a jeżeli ono znikło, to usunięcie tych klas. Ten skrypt jest mi potrzebny do szablonu {{s|StronaStart}} i jego pokrewnych oraz do mojego ustawienia skórki vector-2022, która jest w mojej przestrzeni użytkownika. Dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:23, 27 maj 2022 (CEST)
== Aktualizacja przepełnienia scrollbarów i implementacja sticky ==
{{Ping|Wargo}} Czy mógłbyś uwzględnić na stronie {{LinkKomunikat2|Common.js}} część mojej strony, która jest po sekwencji /**/, będąca na stronie {{LinkUżytkownik2|Persino/common.js}}. W przypadku pierwszego algorytmu, dodałem tam klasy {{Code|mw-overflow-x}} i {{Code|mw-overflow-y}}, które ten algorytm rozpoznaje, i dla nich liczy, czy nastąpiło to właśnie przepełnienie. A wcześniej liczyło dla wszystkich znaczników na stronie, co spowalniało całą stronę. Tam, gdzie, ważne jest liczenie przepełnienie wstawiłem {{Code|mw-overflow-x}}, czy {{Code|mw-overflow-y}}, czyli algorytm ten tam powinien działać, co można sprawdzić na stronie głównej tego projektu ({{NAZWASERWISU|link=tak}}). Drugi algorytm jest rozszerzenie właściwości {{Code|position:sticky}}, który on nie działa, gdy choćby jeden z rodziców jest z nie {{Code|overflow:visible}}, ale z {{Code|overflow}}, a ja zrobiłem, że jednak zaczeło działać, a ja tak to zrobiłem: {{Code|position:sticky}} zastąpiłem {{Code|position:absolute}}, w tym znaczników ustawiam {{Code|mw-sticky-y}} (przesuw w pionie) lub {{Code|mw-sticky-x}} (przesuw w poziomie), wtedy ten algorytm JavaScript działa tak, że pudełko przesuwa się od pewnej granicy do pewnej, ale nigdy nie wychodzi poza te granice, czyli działa podobnie jak {{Code|position:sticky}}. Dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 12:41, 9 lip 2022 (CEST)
==Aktualizacja skryptów na {{LinkKomunikat2|common.js}} z {{LinkUżytkownik2|Persino/common.js}}==
{{Ping|Wargo}} Czy mógłbyś zaktualizować kod na stronie {{LinkKomunikat2|common.js}} ze strony {{LinkUżytkownik2|Persino/common.js}} pod znakiem {{Code|/**/}}. Zdefiniowałem przestrzeń nazw {{Code|Common}} definicją:
{{Pre|var Common{{=}}new Array();}}
Prawie wszystkie funkcje ze strony {{LinkKomunikat2|common.js}} przeniosłem do tej przestrzeni na stronie {{LinkUżytkownik2|Persino/common.js}} (tutaj wszystkie funkcje są w przestrzeni {{Code|Common}}). Rozwinąłem funkcję {{Code|Common.ScrollBarOverflow}}, {{Code|Common.StickyXY}} i {{Code|Common.OptimalXY}}. Napisałem od nowa funkcje: {{Code|Common.RamkiTableIDiv}} i {{Code|Common.ZdarzeniaDodatkoweFunkcyjneXY}} oraz funkcję do obsługi szablonu {{s|StronaStart}} i jego pokrewnych książkowych z definiowałem w postaci: {{Code|Common.StronaStart}}.
Co oznaczają te funkcje:
* {{Code|Common.ScrollBarOverflow}} - do generowania pewnych klas, które służą do obsługi pudełka z paskami przewijania,
* {{Code|Common.StickyXY}} - aktualizacja funkcji {{Code|position:sticky}}, tam gdzie go nie można go użyć, do używamy tej funkcji,
* {{Code|Common.OptimalXY}} - do obsługi boksów na stronach z użytymi szablonami stronicowymi książkowymi otwierającymi i zamykającymi,
* {{Code|Common.RamkiTableIDiv}} - dodaje dalsze funkcje przy przyciskach tabel i ramek, nawigacyjnych,
* {{Code|Common.ZdarzeniaDodatkoweFunkcyjneXY}} - dodaje zdarzenia do obsługi funkcji: {{Code|Common.StickyXY}} i {{Code|Common.OptimalXY}},
* {{Code|Common.StronaStart}} - służy do obsługi spisu treści i boksów szablonu {{s|StronaStart}}.
Na stronach podręcznikowych boksy i spisy treści są responsywne według moich ustawień, a dla wszystkich użytkowników będą responsywne po zaktualizowaniu strony {{LinkKomunikat2|common.js}} przy pomocy {{LinkUżytkownik2|Persino/common.js}}.
----
Proszę o pilną reakcję i zrealizowanie mojej prośby. Z góry dziękuję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:55, 3 sie 2022 (CEST)
:Czy coś jest do usunięcia z obecnego common.js? Tj. czy coś stamtąd mam tym zastąpić? [[Wikipedysta:Wargo|Wargo]] ([[Dyskusja wikipedysty:Wargo|dyskusja]]) 20:55, 7 sie 2022 (CEST)
::{{Ping|Wargo}}Właśnie masz zastąpić nową wersją z pod /**/ z: {{LinkUżytkownik2|Persino/common.js}}, zastępując całą zawartość strony w: {{LinkKomunikat2|common.js}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:04, 7 sie 2022 (CEST)
:::{{Ping|Wargo}} Już możesz zastępować, wszystko gotowe! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:39, 7 sie 2022 (CEST)
===Ostatnia poprawka===
{{Ping|Wargo}}Czy mógłbyś linijkę kodu:
{{Pre|var top_ab{{=}}rect_rodzic[top]-margintop;
var bottom_ab{{=}}(wys-rect_rodzic[bottom])-marginbottom;
}}
poprawić na:
{{Pre|var top_ab{{=}}rect_rodzic[top];
var bottom_ab{{=}}(wys-rect_rodzic[bottom]);
}}
w funkcji: {{Code|Common.StickyXY}}, w {{LinkKomunikat2|common.js}} według {{LinkUżytkownik2|Persino/common.js}}. Tj. to linijka: 481-482.
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:51, 8 sie 2022 (CEST)
=== Miejmy nadzieję, że ostatnia poprawka na stronie {{LinkKomunikat2|common.js}} ===
{{Ping|Wargo}}Czy mógłbyś w kodzie w linii: 177 i 183, na stronie {{LinkKomunikat2|common.js}} według {{LinkUżytkownik2|Persino/common.js}} poprawić według schematu:
{{Pre
|collapseTable( i );
}}
zamienić na:
{{Pre
|Common.collapseTable( i );
}}
Poprawka jest ważna, bo tabele nawigacyjne, na stronie głównej i gdzieś indziej, nie chcą się kolapsować, a po tej operacji już będą się tak zachowywać!
----
W linii: 176 poprawić:
{{Pre
|1=if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) {{!}}{{!}} ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "Common.autoCollapse" ) ) ) {
}}
na kod:
{{Pre
|1=if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) {{!}}{{!}} ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) {
}}
----
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 13:34, 8 sie 2022 (CEST)
=== Poprawka, by zdarzenia nie były w postaci podwójnej, tzn. ze strony: {{LinkKomunikat2|common.js}} (strona {{Np|MediaWiki|link=tak}}), i {{LinkUżytkownik2|Persino/common.js}} (strona użytkownika - {{Np|User|link=tak}}) ===
{{Ping|Wargo}}Zrobiłem tak, by zdarzenia nie były w postaci podwójnej, tzn. ze strony MediaWiki: {{LinkKomunikat2|common.js}}, i strony użytkownika: {{LinkUżytkownik2|Persino/common.js}}, jeżeli takową stronę użytkownik posiada. Zrobiłem też tam parę drobnych innych edycji. Mówiąc najprostszej, zawartością z: {{LinkUżytkownik2|Persino/common.js}}, z pod {{Code|/**/}} zastąp zawartość strony: {{LinkKomunikat2|common.js}}. Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 07:13, 9 sie 2022 (CEST)
=== Poprawka strony {{LinkKomunikat2|Gadget-delete-local.js}}, kilka linijek ===
{{Ping|Wargo}} Czy mógłbyś zamienić zawartość strony {{LinkKomunikat2|Gadget-delete-local.js}} na {{LinkUżytkownik2|Persino/Gadget-delete-local.js}}.
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 07:13, 9 sie 2022 (CEST)
=== Przecieki pamięci w {{LinkKomunikat2|common.js}} w połączeniu z {{LinkUżytkownik2|Persino/common.js}} ===
{{Ping|Wargo}} Czy mógłbyś stronę {{LinkKomunikat2|common.js}} podmienić z zawartością strony {{LinkUżytkownik2|Persino/common.js}} z pod linii /**/. Z góry dziękuję za spełnienie prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 17:37, 15 sie 2022 (CEST)
=== Usunięcie funkcji {{Code|Promise}} z funkcji {{Code|Common.RamkiTableIDiv}}, a nowa poprawka w {{LinkKomunikat2|common.js}} przy pomocy {{LinkUżytkownik2|Persino/common.js}} ===
{{Ping|Wargo}} Kiedyś funkcja {{Code|Common.RamkiTableIDiv}} była uruchamiana za pomocą zwykłej funkcji bez umieszczenia go w bloku $, a teraz jest ona umieszczony właśnie w nim, więc {{Code|Promise}} jest już w nim nie potrzebna, więc usunąłem z tej funkcji właśnie nią, więc funkcję {{Code|Common.RamkiTableIDiv}} musiałem zmodyfikować.
----
----
Zadanie pierwsze: Czy mógłbyś definicję funkcji {{Code|Common.RamkiTableIDiv}} w {{LinkKomunikat2|common.js}} zastąpić nową jego definicją z {{LinkUżytkownik2|Persino/common.js}}, wraz z jego komentarzami, i z komentarzami uruchamiania tej funkcji w funkcji $.
Zadanie drugie: Linie, tzn.: 22-26, na stronie {{LinkKomunikat2|common.js}} zamienić na linie: 24-34 ze strony {{LinkUżytkownik2|Persino/common.js}}.
Zadanie trzecie: Dodać niektóre komentarze, które dodałem do {{LinkUżytkownik2|Persino/common.js}}.
----
Najłatwiej wykonać te dwa zadania jest sposób: zawartość na stronie {{LinkKomunikat2|common.js}} zastąpić zawartością z {{LinkUżytkownik2|Persino/common.js}} z pod linii /**/, ze względu, że umieściłem tam dodatkowe komentarze, co możesz sprawdzić, co się zmieniło w historii zmian.
----
----
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 17:38, 16 sie 2022 (CEST)
kmqqnxvyhu1yqscz1iv9yuc12jidkes
437910
437909
2022-08-16T18:40:41Z
Persino
2851
/* Usunięcie funkcji {{Code|Promise}} z funkcji {{Code|Common.RamkiTableIDiv}}, a nowa poprawka w {{LinkKomunikat2|common.js}} przy pomocy {{LinkUżytkownik2|Persino/common.js}} */
wikitext
text/x-wiki
<noinclude>__LINKNOWEJSEKCJI__ [[Kategoria:Księga próśb i zadań]]</noinclude>
{{fmbox|tekst=UWAGA: Nowe zgłoszenia o innym temacie niż to co dotyczy [[Wikibooks:Prośby do administratorów interfejsu/Zgłoszenia]] lub łamiące zasady [[Wikibooks:Wikietykieta|Wikietykiety]] mogą być bezwarunkowo wycofywane z tej strony}}
<!-- Nowe zgłoszenia wstawiaj poniżej tej linii. Powyżej tej linii nic nie usuwaj. Nie usuwaj tej linii -->
== Usunięcie wymuszenia białego tła w tabelach. ==
Zwracam się z prośbą o usunięcie [[MediaWiki:Common.css]] fragmentu
<syntaxhighlight lang="css">
}
+
table.wikitable td,
+
table.prettytable td {
+
background: #f9f9f9;
</syntaxhighlight>
Fragment ten wymusza białe tło w tabelach, co uniemożliwia zastosowanie kolorowych komórek. Takowe bardzo by się przydały np. w opracowywanym przeze [[Zbiór zadań maturalnych/Biologia|Zbiorze zadań maturalnych z Biologii]] jak np. tu: [[:Kategoria:Zbiór zadań maturalnych/podstawa programowa 2017/Biologia/Zakres rozszerzony/Treści nauczania/II/3/1]]. Póki co posiłkuję się obramowaniem, chciałbym jednak docelowo zastosować kolorowanie komórek.
Z góry dziękuję za rozpatrzenie mojej prośby.
[[Wikipedysta:Superjurek|Superjurek]] ([[Dyskusja wikipedysty:Superjurek|dyskusja]]) 22:42, 16 kwi 2021 (CEST)
-----
{{Ping|Superjurek}}Spróbuj użyć zapisu, np.:
<syntaxhighlight lang="css">
background-color: blue !important;
color:white !important;
</syntaxhighlight>
zamiast:
<syntaxhighlight lang="css">
background-color: blue;
color:white;
</syntaxhighlight>
to powinno naprawić cały problem! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:05, 27 maj 2022 (CEST)
==Wstawianie kodu do {{LinkKomunikat2|Common.js}}==
Czy mógłbyś wsadzić do tej strony {{Code|.js}} kod:
<syntaxhighlight lang="JavaScript">
function WyswietlStronyKsiazki(){
function WikikodTitle(data,tabs,titles,tabstrona){
var title=data.parse.title;
var wikikod=data.parse.text['*'];
var elements=tabstrona[title];
for(var q in elements){
elements[q].innerHTML=wikikod;
var a=elements[q].getElementsByTagName('a');
if((a!==null)&&(a.length>0)){
var lena=a.length;
for(var i=0;i<lena;++i){
var href=a[i].getAttribute('href');
if(href!==null){
var re=/^[^\?]+\?[^&]+=[^&]*&?/g;
if(!re.test(href)){
var re2=/#/g;
var s=href.search(re2);
if(s!=-1){
var re=/^\/wiki\//g;
if(re.test(href)){
var href2=href.substring(6,s)
href2=decodeURI(href2);
href2=href2.replace(/[_\s]+/g," ");
for(var s=0;s<titles.length;s++){
var strona=titles[s];
if(href2==strona){
var href3=href.replace(/^[^#]*/g,"");
var a_toc=a[i];
a_toc.setAttribute('href',encodeURI(href3));
a_toc.setAttribute("title","");
}
}
}
}else{
var re=/^\/wiki\//g;
if(re.test(href)){
var hrefv=href.replace(re,"");
var hrefs=decodeURI(hrefv);
hrefs=hrefs.replace(/[_\s]+/g," ");
for(var s=0;s<titles.length;s++){
var strona=titles[s];
if(hrefs==strona){
var hrefs2=hrefv.replace(/^[^\/]*\//g,"");
var a_toc=a[i];
a_toc.setAttribute('href','#'+hrefs2);
a_toc.setAttribute("title","");
}
}
}
}
}
}
}
}
}
var tab_toc=new Array("toc","toc_spis");
for(var d=0;d<tab_toc.length;++d){
var toc=document.getElementsByClassName(tab_toc[d]);
if((toc!==null)&&(toc.length>0)){
for(var q in elements){
var num=new Array();
var v=0;
for(var e=0;e<tabs.length;++e){
if(tabs[e]==title){
v+=1;
if(parseInt(q)+1==v){
num.push(parseInt(e)+1);
break;
}
}
}
var headline=elements[q].getElementsByClassName("mw-headline");
if((headline!==null)&&(headline.length>0)){
var ulozenie=0;
var ostanie=0;
var len=headline.length;
var naglowek="";
var liczba_ulozenia_w_menu_spisu_tresci=1;
var h_number=1;
for (var k=0;k<len;++k){
var element2=headline[k];
var nag=element2.innerHTML;
var nag2=element2.getAttribute('id');
var h=element2.parentNode.tagName;
var h_numer=h.replace(/^[^\d]+/g,"");
h_numer=parseInt(h_numer)
if((ulozenie==0)||(ulozenie>=h_numer)){
ulozenie=h_numer-1;
}else {
if(ostatnie+1<h_numer-ulozenie){
ulozenie=h_numer-ostatnie-1;
}
}
ostatnie=h_numer-ulozenie;
h_numer=h_numer-ulozenie;
if(k==0){
num.push(1);
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="<ul><li><a href=\"#"+nag2+"\">"+nag+"</a>";
}else{
if(h_numer==liczba_ulozenia_w_menu_spisu_tresci){
num[num.length-1]+=1;
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="</li><li><a href=\"#"+nag2+"\">"+nag+"</a>";
}else{
if(h_numer>liczba_ulozenia_w_menu_spisu_tresci){
num.push(1);
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="<ul><li><a href=\"#"+nag2+"\">"+nag+"</a>";
liczba_ulozenia_w_menu_spisu_tresci=h_numer;
}else{
if(h_numer<liczba_ulozenia_w_menu_spisu_tresci){
num.splice(num.length-liczba_ulozenia_w_menu_spisu_tresci+h_numer,liczba_ulozenia_w_menu_spisu_tresci-h_numer);
num[num.length-1]+=1;
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+=('</li></ul>'.repeat(liczba_ulozenia_w_menu_spisu_tresci-h_numer))+"</li><li><a href=\"#"+nag2+"\">"+nag+"</a>";
liczba_ulozenia_w_menu_spisu_tresci=h_numer;
}
}
}
}
}
if(naglowek!=""){
naglowek+=('</li></ul>'.repeat(liczba_ulozenia_w_menu_spisu_tresci));
for(var b=0;b<toc.length;++b){
var a2=toc[b].getElementsByTagName('a');
if((a2!=null)&&(a2.length>0)){
for(var y=0;y<a2.length;++y){
var parent=a2[y].parentNode;
var href=a2[y].getAttribute('href');
href=href.replace(/^#/g,"");
var title2=title.replace(/^[^\/]+\//g,"");
if(href==title2.replace(/[_ ]+/g,"_")+((q>0)?("_"+(parseInt(q)+1)):"")){
var div=document.createElement('div');
div.innerHTML=naglowek;
var links=a2[y].getElementsByClassName('toctext');
if((links!=null)&&(links.length>0)){
var link=links[0].innerHTML;
if(link==title2){
parent.appendChild(div.getElementsByTagName('ul')[0]);
}
}
}
}
}
}
}
}
}
}
}
for(var d=0;d<tab_toc.length;++d){
var toc_pos=document.getElementsByClassName(tab_toc[d]);
if((toc_pos!==null)&&(toc_pos.length>0)){
for(var w=0;w<toc_pos.length;++w){
var li=toc_pos[w].getElementsByTagName('li');
var poziom;
var section=1;
for(var z=0;z<li.length;++z){
var parent=li[z].parentNode.parentNode;
if(parent!==null){
var klasa=parent.getAttribute('class');
if(klasa!==null){
var poziom=klasa.match(/toclevel-\d+/g);
if(poziom!==null){
poziom=parseInt(poziom.toString().match(/\d+$/).toString())+1;
}else{
poziom=1;
}
}else{poziom=1;}
}else{poziom=1;}
var klasa=li[z].getAttribute('class');
if(klasa!==null){
var czy_section=klasa.match(/tocsection-\d+/);
if(czy_section!==null){
klasa=klasa.replace(/tocsection-\d+/g,"tocsection-"+section);
li[z].setAttribute('class',klasa);
}else{
li[z].classList.add("tocsection-"+section);
}
var czy_level=klasa.match(/toclevel-\d+/);
if(czy_level!==null){
klasa=li[z].getAttribute('class');
klasa=klasa.replace(/toclevel-\d+/g,"toclevel-"+poziom);
li[z].setAttribute('class',klasa);
}else{
li[z].classList.add("toclevel-"+poziom);
}
}else{
li[z].setAttribute('class',"toclevel-"+poziom+" tocsection-"+section)
}
section=section+1;
}
}
}
}
var headline=document.getElementsByClassName('mw-headline');
if((headline)&&(headline.length>0)){
for(var i=0;i<headline.length;++i){
var c=1;
var el=headline[i];
var id0=el.innerHTML;
id0=id0.replace(/[_\s]+/g,"_");
id0=id0.replace(/<[^<>]+>/g,"");
for(var j=0;j<i;++j){
var el1=headline[j];
var id1=el1.innerHTML;
id1=id1.replace(/[_\s]+/g,"_");
id1=id1.replace(/<[^<>]+>/g,"");
if(id0==id1){
++c;
}
}
if(c==1){
el.setAttribute('id',id0);
}else{
el.setAttribute('id',id0+"_"+c);
}
}
}
var tab_toc=new Array("toc","toc_spis");
for(d=0;d<tab_toc.length;++d){
var toc_pos=document.getElementsByClassName(tab_toc[d]);
if((toc_pos!==null)&&(toc_pos.length>0)){
for(var w=0;w<toc_pos.length;++w){
var toc=toc_pos[w];
var a=toc.getElementsByTagName('a');
if((a)&&(a.length>0)){
for(var p=0;p<a.length;++p){
var strona=a[p].getElementsByClassName('toctext')[0].innerHTML.replace(/[_\s]+/g,"_");
strona=strona.replace(/<[^<>]+>/g,"");
var c=1;
for(var v=0;v<p;++v){
var strona2;
strona2=a[v].getElementsByClassName('toctext')[0].innerHTML.replace(/[_\s]+/g,"_");
strona2=strona2.replace(/<[^<>]+>/g,"");
if(strona==strona2){
++c;
}
}
strona=strona.replace(/<[^<>]+>/g,"");
if(c==1){
a[p].setAttribute('href',"#"+strona);
}else{
a[p].setAttribute('href',"#"+strona+"_"+c);
}
}
}
}
}
}
}
function StronaSubst(data){
var wikikod=data.parse.text['*'];
var elem=document.createElement('div');
elem.innerHTML=wikikod;
var klasa_mw_parser_out=elem.getElementsByClassName('mw-parser-output');
var wikikod_wyodrepniony=(((klasa_mw_parser_out)&&(klasa_mw_parser_out.length==1))?(klasa_mw_parser_out[0].innerHTML):wikikod);
var czy_wikikod=wikikod_wyodrepniony.match(/^\s*$/g);
if(czy_wikikod){return;}
var strona_subst="strona_subst";
var tagclass=document.getElementsByClassName(strona_subst);
if(tagclass==null){return null;}
var liczba_elementow=tagclass.length;
if(liczba_elementow==0){return null;}
var titles=new Array();
var tabstrona=new Array();
var tabs=new Array();
for (var i=0;i<liczba_elementow;++i){
var element=tagclass[i];
if(element.tagName!="DIV"){return null;}
var strona=element.innerHTML;
var re = /^[_ ]*$/g;
var dopasowanie = re.test(strona);
if(dopasowanie){return null;};
strona=strona.replace(/^[_ ]*/g,"");
strona=strona.replace(/[_ ]*$/g,"");
strona=strona.replace(/[_ ]+/g," ");
tabs[i]=strona;
var czy=false;
for(var d in titles){
if(titles[d]==strona){
czy=true;
break;
}
}
if(!czy){
titles[titles.length]=strona;
}
if(tabstrona[strona]==null){
tabstrona[strona]=new Array();
}
var tab=tabstrona[strona];
var tablen=tab.length;
tabstrona[strona][tablen]=element;
}
for ( var p in titles ) {
var strona=titles[p];
var api=new mw.Api;
api.get({
action: 'parse',
format: 'json',
prop: 'text',
title: strona,
text: '{{:'+strona+'}}',
disabletoc: true,
disablelimitreport: true,
contentmodel: 'wikitext'
}).done(function(data){
WikikodTitle(data,tabs,titles,tabstrona);
});
}
}
var strona = mw.config.get('wgPageName');
var api=new mw.Api;
api.get({
action: 'parse',
format: 'json',
prop: 'text',
title: strona,
text: '{{#invoke:StronicowyParser|CzyStronaSubst}}',
disabletoc: true,
disablelimitreport: true,
contentmodel: 'wikitext'
}).done(function(data){
StronaSubst(data)
});
}
$(WyswietlStronyKsiazki);
</syntaxhighlight>
Ten program {{Code|.js}} znajduje się na stronie: {{LinkUżytkownik2|Persino/common.js}}. Jak wstawisz ten kod do strony {{LinkKomunikat2|Common.js}}, to powinno wtedy zadziałać ładowanie modułów książki, za pomocą JavaScript, na stronie {{LinkUżytkownik2|Persino/Wersja do druku}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:09, 13 lis 2021 (CET)
== Gadżet StronaSubst - dodawanie do listy gadżetów ==
Mamy sobie kod JavaScript {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} i opis gadżetu {{LinkUżytkownik2|Persino/Gadget-StronaSubst}}, czy mógłbyś przenieść na strony w przestrzeni nazw {{Np|MediaWiki|link=tak}}, i wywołaniu gadżetu w takiej formie jak w {{LinkUżytkownik2|Persino/Gadgets-definition}} przenieść na stronę {{LinkKomunikat2|Gadgets-definition}}. Wtedy strona {{LinkUżytkownik2|Persino/Wersja do druku}} powinna działać! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:14, 27 lis 2021 (CET)
=== Zamienianie kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}} ===
{{Ping|Wargo}}Chodzi tutaj, że jak będzie link do artykułu w nagłówku, to, żeby nie pojawiało się pole '''[ artykuł | edytuj ]''' zamiast '''[ edytuj ]''' - aktualnie w {{LinkKomunikat2|Gadget-StronaSubst.js}} pole '''[ artykuł | edytuj ]''' pojawia się zawsze zamiast '''[ edytuj ]''', wtedy gdy ma zawartość '''strona_subst''' jest nie pusta, to algorytm jest zakańczany. A jak jest nazwa strony w zawartości div-a '''strona_subst''', a nie link w nagłówku, to wtedy ma się prawo pojawić '''[ artykuł | edytuj ]''' zamiast '''[ edytuj ]'''. Czy mógłbyś wersję {{LinkKomunikat2|Gadget-StronaSubst.js}} zamienić na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}. Z góry dziękuję za rozpatrzenie mojej prośby! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 10:13, 30 lis 2021 (CET)
----
{{Ping|Wargo}} Jeszcze, czy mógłbyś zamienić tekst w {{LinkKomunikat2|Gadget-StronaSubst}} z:
{{Pre|(bez sekcji "Spis treści" i "Licencja")}}
na
{{Pre|(bez sekcji "Spis treści", "Bibliografia" i "Licencja")}}
[[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:18, 1 gru 2021 (CET)
=== Ostatnia poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}===
{{Ping|Wargo}}Chodzi tutaj, że algorytm zawiesza się na artykule {{LinkGłówna|Mechanika kwantowa/Mechanika kwantowa}}, to co poprawiłem już tak przestaje być, błąd znikł! Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 18:30, 3 gru 2021 (CET)
=== Miejmy nadzieję, że to jest ostatnia poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}===
{{Ping|Wargo}}Chodzi tutaj, że algorytm ma błędy JavaScript na stronie, przy danej książce: {{LinkGłówna|Szachy}}, czyli przy artykule: {{LinkGłówna|Szachy/Szachy}} - błąd tylko widać, gdy chcemy zbadać element, moja poprawka usuwa ten błąd! Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:50, 4 gru 2021 (CET)
=== Następna poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}} ===
{{Ping|Wargo}}Chodzi tutaj, że algorytm nie wyświetla w TOC (wbudowany spis treści) podrozdziałów dla artykułu {{LinkGłówna|Matematyka dla liceum/Matematyka dla liceum}}, moja poprawka usuwa ten błąd. Skrypt porządkuje artykuły według nagłówków na stronie tego artykułu w TOC, a zestaw artykułów, w danek sekcji, wyświetla, również w TOC, je przydzielone do niej. Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:51, 7 gru 2021 (CET)
=== Poważne poprawki w {{LinkKomunikat2|Gadget-StronaSubst.js}} na podstawie {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} oraz dodanie i zmiana pewnych gadżetów ===
{{Ping|Wargo}} Następne poprawki dotyczące wpisu w {{LinkKomunikat2|Gadget-StronaSubst.js}}, co do zauważonych drobnych błędów, czyli mógłbyś dokonać zamiany kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}.
Z góry dziękuję. Poza tym wszystko działa, od razu dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:32, 8 gru 2021 (CET)
----
{{Ping|Wargo}} Jeszcze, czy mógłbyś zamienić tekst w {{LinkKomunikat2|Gadget-StronaSubst}} z:
{{Pre|(bez sekcji "Spis treści", "Bibliografia" i "Licencja")}}
na
{{Pre|(bez sekcji: "Spis treści", "Bibliografia", "Zobacz też", "Inne", "Licencja" i tym podobne)}}
Dziękuję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 05:43, 9 gru 2021 (CET)
----
{{Ping|Wargo}} Czy mógłbyś uzupełnić {{LinkKomunikat2|Gadgets-definition}}, według {{LinkUżytkownik2|Persino/Gadgets-definition}} - szczególnie trzeba naprawić odwołanie do gadżetu StronaSubst, i dodać gadżety: {{LinkUżytkownik2|Persino/Gadget-gConfig.js}} (jego opis jest w {{LinkUżytkownik2|Persino/Gadget-gConfig}}), przenosząc go do {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis do {{LinkKomunikat2|Gadget-gConfig}}), a także drugi gadżet dotyczący szablonu {{s|Cytuj}} przenieś z {{LinkUżytkownik2|Persino/Gadget-citation-access-info.js}} (jego opis to {{LinkUżytkownik2|Persino/Gadget-citation-access-info}}) do {{LinkKomunikat2|Gadget-citation-access-info.js}} (a jego opis do {{LinkKomunikat2|Gadget-citation-access-info}}).
Gadżet '''gConfig''' potrzebny mi jest do gadżetu {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}}, którego zawartość należy przenieść do {{LinkKomunikat2|Gadget-StronaSubst.js}}, a gadżet {{LinkUżytkownik2|Persino/Gadget-citation-access-info.js}}, potrzebny mi jest do szablonu {{s|Cytuj}} do dymku do pełnej wersji tego szablonu, który należy przenieść do {{LinkKomunikat2|Gadget-citation-access-info.js}}.
Proszę o pilną reakcję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:04, 11 gru 2021 (CET)
----
Również proszę o zastąpienie strony komunikatu {{LinkKomunikat2|Gadget-map-toggler.js}} stroną {{LinkUżytkownik2|Persino/Gadget-map-toggler.js}}. Z góry dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 18:38, 11 gru 2021 (CET)
== Zamiana wartości linkowej i szablonowej ==
{{Ping|Wargo}}Czy mógłbyś zamienić na stronie: {{LinkUżytkownik2|Rychozol/common.js}}, z wartości: {{Nowiki|[[GNU Free Documentation License|GFDL]]}}, na: {{Nowiki|[[Wikibooks:GNU Free Documentation License|GFDL]]}}, a także na tej samej stronie wartość: {{s|clear}}, na {{s|BrClear}}, ponieważ ze względu na zmianę nazw stron. Z góry dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:35, 13 gru 2021 (CET)
<del>== Dalsze zmiany na stronach gadżetów (pilne) ==
{{Ping|Wargo}}Czy mógłbyś zainstalować gadżet "Gadget-gConfig", tak jak na stronie {{LinkUżytkownik2|Persino/Gadgets-definition}} (pierwsza linijka) w {{LinkKomunikat2|Gadgets-definition}}, a co do tego, jego kod {{LinkUżytkownik2|Persino/Gadget-gConfig.js}} zainstalować w miejscu {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis jest w {{LinkUżytkownik2|Persino/Gadget-gConfig}}), przenosząc go do {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis do {{LinkKomunikat2|Gadget-gConfig}}). A później zaaktualizuj gadżet {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}, a także zainstalować w miejscu {{LinkKomunikat2|Gadget-Funkcje.js}} gadżet {{LinkUżytkownik2|Persino/Gadget-Funkcje.js}}, a również zaktualizować wpis dla gadżetu StronaSubst tak jak w {{LinkUżytkownik2|Persino/Gadgets-definition}}. A później sprawdzić, czy wszystko działa. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 13:19, 4 lut 2022 (CET)</del>
== Przepełnienie scrollbarów, poszczególnych elementów strony, a ustawienia różnych klas, jeżeli takowe istnieją ==
{{Ping|Wargo}}Czy mógłbyś uwzględnić na stronie {{LinkKomunikat2|Common.js}} część mojej strony, która jest po sekwencji /**/, będąca na stronie {{LinkUżytkownik2|Persino/common.js}}. Ten skrypt sprawdza, czy nastąpiło przepełnienie elementów strony dokumentu HTML Wikibooks, a jeżeli nastąpiło, to następuje ustawienie tam odpowiednich klas, a jeżeli ono znikło, to usunięcie tych klas. Ten skrypt jest mi potrzebny do szablonu {{s|StronaStart}} i jego pokrewnych oraz do mojego ustawienia skórki vector-2022, która jest w mojej przestrzeni użytkownika. Dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:23, 27 maj 2022 (CEST)
== Aktualizacja przepełnienia scrollbarów i implementacja sticky ==
{{Ping|Wargo}} Czy mógłbyś uwzględnić na stronie {{LinkKomunikat2|Common.js}} część mojej strony, która jest po sekwencji /**/, będąca na stronie {{LinkUżytkownik2|Persino/common.js}}. W przypadku pierwszego algorytmu, dodałem tam klasy {{Code|mw-overflow-x}} i {{Code|mw-overflow-y}}, które ten algorytm rozpoznaje, i dla nich liczy, czy nastąpiło to właśnie przepełnienie. A wcześniej liczyło dla wszystkich znaczników na stronie, co spowalniało całą stronę. Tam, gdzie, ważne jest liczenie przepełnienie wstawiłem {{Code|mw-overflow-x}}, czy {{Code|mw-overflow-y}}, czyli algorytm ten tam powinien działać, co można sprawdzić na stronie głównej tego projektu ({{NAZWASERWISU|link=tak}}). Drugi algorytm jest rozszerzenie właściwości {{Code|position:sticky}}, który on nie działa, gdy choćby jeden z rodziców jest z nie {{Code|overflow:visible}}, ale z {{Code|overflow}}, a ja zrobiłem, że jednak zaczeło działać, a ja tak to zrobiłem: {{Code|position:sticky}} zastąpiłem {{Code|position:absolute}}, w tym znaczników ustawiam {{Code|mw-sticky-y}} (przesuw w pionie) lub {{Code|mw-sticky-x}} (przesuw w poziomie), wtedy ten algorytm JavaScript działa tak, że pudełko przesuwa się od pewnej granicy do pewnej, ale nigdy nie wychodzi poza te granice, czyli działa podobnie jak {{Code|position:sticky}}. Dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 12:41, 9 lip 2022 (CEST)
==Aktualizacja skryptów na {{LinkKomunikat2|common.js}} z {{LinkUżytkownik2|Persino/common.js}}==
{{Ping|Wargo}} Czy mógłbyś zaktualizować kod na stronie {{LinkKomunikat2|common.js}} ze strony {{LinkUżytkownik2|Persino/common.js}} pod znakiem {{Code|/**/}}. Zdefiniowałem przestrzeń nazw {{Code|Common}} definicją:
{{Pre|var Common{{=}}new Array();}}
Prawie wszystkie funkcje ze strony {{LinkKomunikat2|common.js}} przeniosłem do tej przestrzeni na stronie {{LinkUżytkownik2|Persino/common.js}} (tutaj wszystkie funkcje są w przestrzeni {{Code|Common}}). Rozwinąłem funkcję {{Code|Common.ScrollBarOverflow}}, {{Code|Common.StickyXY}} i {{Code|Common.OptimalXY}}. Napisałem od nowa funkcje: {{Code|Common.RamkiTableIDiv}} i {{Code|Common.ZdarzeniaDodatkoweFunkcyjneXY}} oraz funkcję do obsługi szablonu {{s|StronaStart}} i jego pokrewnych książkowych z definiowałem w postaci: {{Code|Common.StronaStart}}.
Co oznaczają te funkcje:
* {{Code|Common.ScrollBarOverflow}} - do generowania pewnych klas, które służą do obsługi pudełka z paskami przewijania,
* {{Code|Common.StickyXY}} - aktualizacja funkcji {{Code|position:sticky}}, tam gdzie go nie można go użyć, do używamy tej funkcji,
* {{Code|Common.OptimalXY}} - do obsługi boksów na stronach z użytymi szablonami stronicowymi książkowymi otwierającymi i zamykającymi,
* {{Code|Common.RamkiTableIDiv}} - dodaje dalsze funkcje przy przyciskach tabel i ramek, nawigacyjnych,
* {{Code|Common.ZdarzeniaDodatkoweFunkcyjneXY}} - dodaje zdarzenia do obsługi funkcji: {{Code|Common.StickyXY}} i {{Code|Common.OptimalXY}},
* {{Code|Common.StronaStart}} - służy do obsługi spisu treści i boksów szablonu {{s|StronaStart}}.
Na stronach podręcznikowych boksy i spisy treści są responsywne według moich ustawień, a dla wszystkich użytkowników będą responsywne po zaktualizowaniu strony {{LinkKomunikat2|common.js}} przy pomocy {{LinkUżytkownik2|Persino/common.js}}.
----
Proszę o pilną reakcję i zrealizowanie mojej prośby. Z góry dziękuję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:55, 3 sie 2022 (CEST)
:Czy coś jest do usunięcia z obecnego common.js? Tj. czy coś stamtąd mam tym zastąpić? [[Wikipedysta:Wargo|Wargo]] ([[Dyskusja wikipedysty:Wargo|dyskusja]]) 20:55, 7 sie 2022 (CEST)
::{{Ping|Wargo}}Właśnie masz zastąpić nową wersją z pod /**/ z: {{LinkUżytkownik2|Persino/common.js}}, zastępując całą zawartość strony w: {{LinkKomunikat2|common.js}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:04, 7 sie 2022 (CEST)
:::{{Ping|Wargo}} Już możesz zastępować, wszystko gotowe! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:39, 7 sie 2022 (CEST)
===Ostatnia poprawka===
{{Ping|Wargo}}Czy mógłbyś linijkę kodu:
{{Pre|var top_ab{{=}}rect_rodzic[top]-margintop;
var bottom_ab{{=}}(wys-rect_rodzic[bottom])-marginbottom;
}}
poprawić na:
{{Pre|var top_ab{{=}}rect_rodzic[top];
var bottom_ab{{=}}(wys-rect_rodzic[bottom]);
}}
w funkcji: {{Code|Common.StickyXY}}, w {{LinkKomunikat2|common.js}} według {{LinkUżytkownik2|Persino/common.js}}. Tj. to linijka: 481-482.
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:51, 8 sie 2022 (CEST)
=== Miejmy nadzieję, że ostatnia poprawka na stronie {{LinkKomunikat2|common.js}} ===
{{Ping|Wargo}}Czy mógłbyś w kodzie w linii: 177 i 183, na stronie {{LinkKomunikat2|common.js}} według {{LinkUżytkownik2|Persino/common.js}} poprawić według schematu:
{{Pre
|collapseTable( i );
}}
zamienić na:
{{Pre
|Common.collapseTable( i );
}}
Poprawka jest ważna, bo tabele nawigacyjne, na stronie głównej i gdzieś indziej, nie chcą się kolapsować, a po tej operacji już będą się tak zachowywać!
----
W linii: 176 poprawić:
{{Pre
|1=if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) {{!}}{{!}} ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "Common.autoCollapse" ) ) ) {
}}
na kod:
{{Pre
|1=if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) {{!}}{{!}} ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) {
}}
----
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 13:34, 8 sie 2022 (CEST)
=== Poprawka, by zdarzenia nie były w postaci podwójnej, tzn. ze strony: {{LinkKomunikat2|common.js}} (strona {{Np|MediaWiki|link=tak}}), i {{LinkUżytkownik2|Persino/common.js}} (strona użytkownika - {{Np|User|link=tak}}) ===
{{Ping|Wargo}}Zrobiłem tak, by zdarzenia nie były w postaci podwójnej, tzn. ze strony MediaWiki: {{LinkKomunikat2|common.js}}, i strony użytkownika: {{LinkUżytkownik2|Persino/common.js}}, jeżeli takową stronę użytkownik posiada. Zrobiłem też tam parę drobnych innych edycji. Mówiąc najprostszej, zawartością z: {{LinkUżytkownik2|Persino/common.js}}, z pod {{Code|/**/}} zastąp zawartość strony: {{LinkKomunikat2|common.js}}. Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 07:13, 9 sie 2022 (CEST)
=== Poprawka strony {{LinkKomunikat2|Gadget-delete-local.js}}, kilka linijek ===
{{Ping|Wargo}} Czy mógłbyś zamienić zawartość strony {{LinkKomunikat2|Gadget-delete-local.js}} na {{LinkUżytkownik2|Persino/Gadget-delete-local.js}}.
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 07:13, 9 sie 2022 (CEST)
=== Przecieki pamięci w {{LinkKomunikat2|common.js}} w połączeniu z {{LinkUżytkownik2|Persino/common.js}} ===
{{Ping|Wargo}} Czy mógłbyś stronę {{LinkKomunikat2|common.js}} podmienić z zawartością strony {{LinkUżytkownik2|Persino/common.js}} z pod linii /**/. Z góry dziękuję za spełnienie prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 17:37, 15 sie 2022 (CEST)
=== Usunięcie funkcji {{Code|Promise}} z funkcji {{Code|Common.RamkiTableIDiv}}, a nowa poprawka w {{LinkKomunikat2|common.js}} przy pomocy {{LinkUżytkownik2|Persino/common.js}} ===
{{Ping|Wargo}} Kiedyś funkcja {{Code|Common.RamkiTableIDiv}} była uruchamiana za pomocą zwykłej funkcji bez umieszczenia go w bloku $, a teraz jest ona umieszczony właśnie w nim, więc {{Code|Promise}} jest już w nim nie potrzebna, więc usunąłem z tej funkcji właśnie nią, więc funkcję {{Code|Common.RamkiTableIDiv}} musiałem zmodyfikować.
----
----
Zadanie pierwsze: Czy mógłbyś definicję funkcji {{Code|Common.RamkiTableIDiv}} w {{LinkKomunikat2|common.js}} zastąpić nową jego definicją z {{LinkUżytkownik2|Persino/common.js}}, wraz z jego komentarzami, i z komentarzami uruchamiania tej funkcji w funkcji $.
Zadanie drugie: Linie, tzn.: 22-26, na stronie {{LinkKomunikat2|common.js}} zamienić na linie: 24-34 ze strony {{LinkUżytkownik2|Persino/common.js}}.
Zadanie trzecie: Dodać niektóre komentarze, które dodałem do {{LinkUżytkownik2|Persino/common.js}}.
----
Najłatwiej wykonać te trzy zadania jest sposób: zawartość na stronie {{LinkKomunikat2|common.js}} zastąpić zawartością z {{LinkUżytkownik2|Persino/common.js}} z pod linii /**/, ze względu, że umieściłem tam dodatkowe komentarze, co możesz sprawdzić, co się zmieniło w historii zmian.
----
----
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 17:38, 16 sie 2022 (CEST)
r6pmeoq6a6rg29u6jbhdztros10m7cd
437928
437910
2022-08-16T23:35:36Z
Persino
2851
/* Usunięcie funkcji {{Code|Promise}} z funkcji {{Code|Common.RamkiTableIDiv}}, a nowa poprawka w {{LinkKomunikat2|common.js}} przy pomocy {{LinkUżytkownik2|Persino/common.js}} */
wikitext
text/x-wiki
<noinclude>__LINKNOWEJSEKCJI__ [[Kategoria:Księga próśb i zadań]]</noinclude>
{{fmbox|tekst=UWAGA: Nowe zgłoszenia o innym temacie niż to co dotyczy [[Wikibooks:Prośby do administratorów interfejsu/Zgłoszenia]] lub łamiące zasady [[Wikibooks:Wikietykieta|Wikietykiety]] mogą być bezwarunkowo wycofywane z tej strony}}
<!-- Nowe zgłoszenia wstawiaj poniżej tej linii. Powyżej tej linii nic nie usuwaj. Nie usuwaj tej linii -->
== Usunięcie wymuszenia białego tła w tabelach. ==
Zwracam się z prośbą o usunięcie [[MediaWiki:Common.css]] fragmentu
<syntaxhighlight lang="css">
}
+
table.wikitable td,
+
table.prettytable td {
+
background: #f9f9f9;
</syntaxhighlight>
Fragment ten wymusza białe tło w tabelach, co uniemożliwia zastosowanie kolorowych komórek. Takowe bardzo by się przydały np. w opracowywanym przeze [[Zbiór zadań maturalnych/Biologia|Zbiorze zadań maturalnych z Biologii]] jak np. tu: [[:Kategoria:Zbiór zadań maturalnych/podstawa programowa 2017/Biologia/Zakres rozszerzony/Treści nauczania/II/3/1]]. Póki co posiłkuję się obramowaniem, chciałbym jednak docelowo zastosować kolorowanie komórek.
Z góry dziękuję za rozpatrzenie mojej prośby.
[[Wikipedysta:Superjurek|Superjurek]] ([[Dyskusja wikipedysty:Superjurek|dyskusja]]) 22:42, 16 kwi 2021 (CEST)
-----
{{Ping|Superjurek}}Spróbuj użyć zapisu, np.:
<syntaxhighlight lang="css">
background-color: blue !important;
color:white !important;
</syntaxhighlight>
zamiast:
<syntaxhighlight lang="css">
background-color: blue;
color:white;
</syntaxhighlight>
to powinno naprawić cały problem! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:05, 27 maj 2022 (CEST)
==Wstawianie kodu do {{LinkKomunikat2|Common.js}}==
Czy mógłbyś wsadzić do tej strony {{Code|.js}} kod:
<syntaxhighlight lang="JavaScript">
function WyswietlStronyKsiazki(){
function WikikodTitle(data,tabs,titles,tabstrona){
var title=data.parse.title;
var wikikod=data.parse.text['*'];
var elements=tabstrona[title];
for(var q in elements){
elements[q].innerHTML=wikikod;
var a=elements[q].getElementsByTagName('a');
if((a!==null)&&(a.length>0)){
var lena=a.length;
for(var i=0;i<lena;++i){
var href=a[i].getAttribute('href');
if(href!==null){
var re=/^[^\?]+\?[^&]+=[^&]*&?/g;
if(!re.test(href)){
var re2=/#/g;
var s=href.search(re2);
if(s!=-1){
var re=/^\/wiki\//g;
if(re.test(href)){
var href2=href.substring(6,s)
href2=decodeURI(href2);
href2=href2.replace(/[_\s]+/g," ");
for(var s=0;s<titles.length;s++){
var strona=titles[s];
if(href2==strona){
var href3=href.replace(/^[^#]*/g,"");
var a_toc=a[i];
a_toc.setAttribute('href',encodeURI(href3));
a_toc.setAttribute("title","");
}
}
}
}else{
var re=/^\/wiki\//g;
if(re.test(href)){
var hrefv=href.replace(re,"");
var hrefs=decodeURI(hrefv);
hrefs=hrefs.replace(/[_\s]+/g," ");
for(var s=0;s<titles.length;s++){
var strona=titles[s];
if(hrefs==strona){
var hrefs2=hrefv.replace(/^[^\/]*\//g,"");
var a_toc=a[i];
a_toc.setAttribute('href','#'+hrefs2);
a_toc.setAttribute("title","");
}
}
}
}
}
}
}
}
}
var tab_toc=new Array("toc","toc_spis");
for(var d=0;d<tab_toc.length;++d){
var toc=document.getElementsByClassName(tab_toc[d]);
if((toc!==null)&&(toc.length>0)){
for(var q in elements){
var num=new Array();
var v=0;
for(var e=0;e<tabs.length;++e){
if(tabs[e]==title){
v+=1;
if(parseInt(q)+1==v){
num.push(parseInt(e)+1);
break;
}
}
}
var headline=elements[q].getElementsByClassName("mw-headline");
if((headline!==null)&&(headline.length>0)){
var ulozenie=0;
var ostanie=0;
var len=headline.length;
var naglowek="";
var liczba_ulozenia_w_menu_spisu_tresci=1;
var h_number=1;
for (var k=0;k<len;++k){
var element2=headline[k];
var nag=element2.innerHTML;
var nag2=element2.getAttribute('id');
var h=element2.parentNode.tagName;
var h_numer=h.replace(/^[^\d]+/g,"");
h_numer=parseInt(h_numer)
if((ulozenie==0)||(ulozenie>=h_numer)){
ulozenie=h_numer-1;
}else {
if(ostatnie+1<h_numer-ulozenie){
ulozenie=h_numer-ostatnie-1;
}
}
ostatnie=h_numer-ulozenie;
h_numer=h_numer-ulozenie;
if(k==0){
num.push(1);
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="<ul><li><a href=\"#"+nag2+"\">"+nag+"</a>";
}else{
if(h_numer==liczba_ulozenia_w_menu_spisu_tresci){
num[num.length-1]+=1;
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="</li><li><a href=\"#"+nag2+"\">"+nag+"</a>";
}else{
if(h_numer>liczba_ulozenia_w_menu_spisu_tresci){
num.push(1);
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="<ul><li><a href=\"#"+nag2+"\">"+nag+"</a>";
liczba_ulozenia_w_menu_spisu_tresci=h_numer;
}else{
if(h_numer<liczba_ulozenia_w_menu_spisu_tresci){
num.splice(num.length-liczba_ulozenia_w_menu_spisu_tresci+h_numer,liczba_ulozenia_w_menu_spisu_tresci-h_numer);
num[num.length-1]+=1;
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+=('</li></ul>'.repeat(liczba_ulozenia_w_menu_spisu_tresci-h_numer))+"</li><li><a href=\"#"+nag2+"\">"+nag+"</a>";
liczba_ulozenia_w_menu_spisu_tresci=h_numer;
}
}
}
}
}
if(naglowek!=""){
naglowek+=('</li></ul>'.repeat(liczba_ulozenia_w_menu_spisu_tresci));
for(var b=0;b<toc.length;++b){
var a2=toc[b].getElementsByTagName('a');
if((a2!=null)&&(a2.length>0)){
for(var y=0;y<a2.length;++y){
var parent=a2[y].parentNode;
var href=a2[y].getAttribute('href');
href=href.replace(/^#/g,"");
var title2=title.replace(/^[^\/]+\//g,"");
if(href==title2.replace(/[_ ]+/g,"_")+((q>0)?("_"+(parseInt(q)+1)):"")){
var div=document.createElement('div');
div.innerHTML=naglowek;
var links=a2[y].getElementsByClassName('toctext');
if((links!=null)&&(links.length>0)){
var link=links[0].innerHTML;
if(link==title2){
parent.appendChild(div.getElementsByTagName('ul')[0]);
}
}
}
}
}
}
}
}
}
}
}
for(var d=0;d<tab_toc.length;++d){
var toc_pos=document.getElementsByClassName(tab_toc[d]);
if((toc_pos!==null)&&(toc_pos.length>0)){
for(var w=0;w<toc_pos.length;++w){
var li=toc_pos[w].getElementsByTagName('li');
var poziom;
var section=1;
for(var z=0;z<li.length;++z){
var parent=li[z].parentNode.parentNode;
if(parent!==null){
var klasa=parent.getAttribute('class');
if(klasa!==null){
var poziom=klasa.match(/toclevel-\d+/g);
if(poziom!==null){
poziom=parseInt(poziom.toString().match(/\d+$/).toString())+1;
}else{
poziom=1;
}
}else{poziom=1;}
}else{poziom=1;}
var klasa=li[z].getAttribute('class');
if(klasa!==null){
var czy_section=klasa.match(/tocsection-\d+/);
if(czy_section!==null){
klasa=klasa.replace(/tocsection-\d+/g,"tocsection-"+section);
li[z].setAttribute('class',klasa);
}else{
li[z].classList.add("tocsection-"+section);
}
var czy_level=klasa.match(/toclevel-\d+/);
if(czy_level!==null){
klasa=li[z].getAttribute('class');
klasa=klasa.replace(/toclevel-\d+/g,"toclevel-"+poziom);
li[z].setAttribute('class',klasa);
}else{
li[z].classList.add("toclevel-"+poziom);
}
}else{
li[z].setAttribute('class',"toclevel-"+poziom+" tocsection-"+section)
}
section=section+1;
}
}
}
}
var headline=document.getElementsByClassName('mw-headline');
if((headline)&&(headline.length>0)){
for(var i=0;i<headline.length;++i){
var c=1;
var el=headline[i];
var id0=el.innerHTML;
id0=id0.replace(/[_\s]+/g,"_");
id0=id0.replace(/<[^<>]+>/g,"");
for(var j=0;j<i;++j){
var el1=headline[j];
var id1=el1.innerHTML;
id1=id1.replace(/[_\s]+/g,"_");
id1=id1.replace(/<[^<>]+>/g,"");
if(id0==id1){
++c;
}
}
if(c==1){
el.setAttribute('id',id0);
}else{
el.setAttribute('id',id0+"_"+c);
}
}
}
var tab_toc=new Array("toc","toc_spis");
for(d=0;d<tab_toc.length;++d){
var toc_pos=document.getElementsByClassName(tab_toc[d]);
if((toc_pos!==null)&&(toc_pos.length>0)){
for(var w=0;w<toc_pos.length;++w){
var toc=toc_pos[w];
var a=toc.getElementsByTagName('a');
if((a)&&(a.length>0)){
for(var p=0;p<a.length;++p){
var strona=a[p].getElementsByClassName('toctext')[0].innerHTML.replace(/[_\s]+/g,"_");
strona=strona.replace(/<[^<>]+>/g,"");
var c=1;
for(var v=0;v<p;++v){
var strona2;
strona2=a[v].getElementsByClassName('toctext')[0].innerHTML.replace(/[_\s]+/g,"_");
strona2=strona2.replace(/<[^<>]+>/g,"");
if(strona==strona2){
++c;
}
}
strona=strona.replace(/<[^<>]+>/g,"");
if(c==1){
a[p].setAttribute('href',"#"+strona);
}else{
a[p].setAttribute('href',"#"+strona+"_"+c);
}
}
}
}
}
}
}
function StronaSubst(data){
var wikikod=data.parse.text['*'];
var elem=document.createElement('div');
elem.innerHTML=wikikod;
var klasa_mw_parser_out=elem.getElementsByClassName('mw-parser-output');
var wikikod_wyodrepniony=(((klasa_mw_parser_out)&&(klasa_mw_parser_out.length==1))?(klasa_mw_parser_out[0].innerHTML):wikikod);
var czy_wikikod=wikikod_wyodrepniony.match(/^\s*$/g);
if(czy_wikikod){return;}
var strona_subst="strona_subst";
var tagclass=document.getElementsByClassName(strona_subst);
if(tagclass==null){return null;}
var liczba_elementow=tagclass.length;
if(liczba_elementow==0){return null;}
var titles=new Array();
var tabstrona=new Array();
var tabs=new Array();
for (var i=0;i<liczba_elementow;++i){
var element=tagclass[i];
if(element.tagName!="DIV"){return null;}
var strona=element.innerHTML;
var re = /^[_ ]*$/g;
var dopasowanie = re.test(strona);
if(dopasowanie){return null;};
strona=strona.replace(/^[_ ]*/g,"");
strona=strona.replace(/[_ ]*$/g,"");
strona=strona.replace(/[_ ]+/g," ");
tabs[i]=strona;
var czy=false;
for(var d in titles){
if(titles[d]==strona){
czy=true;
break;
}
}
if(!czy){
titles[titles.length]=strona;
}
if(tabstrona[strona]==null){
tabstrona[strona]=new Array();
}
var tab=tabstrona[strona];
var tablen=tab.length;
tabstrona[strona][tablen]=element;
}
for ( var p in titles ) {
var strona=titles[p];
var api=new mw.Api;
api.get({
action: 'parse',
format: 'json',
prop: 'text',
title: strona,
text: '{{:'+strona+'}}',
disabletoc: true,
disablelimitreport: true,
contentmodel: 'wikitext'
}).done(function(data){
WikikodTitle(data,tabs,titles,tabstrona);
});
}
}
var strona = mw.config.get('wgPageName');
var api=new mw.Api;
api.get({
action: 'parse',
format: 'json',
prop: 'text',
title: strona,
text: '{{#invoke:StronicowyParser|CzyStronaSubst}}',
disabletoc: true,
disablelimitreport: true,
contentmodel: 'wikitext'
}).done(function(data){
StronaSubst(data)
});
}
$(WyswietlStronyKsiazki);
</syntaxhighlight>
Ten program {{Code|.js}} znajduje się na stronie: {{LinkUżytkownik2|Persino/common.js}}. Jak wstawisz ten kod do strony {{LinkKomunikat2|Common.js}}, to powinno wtedy zadziałać ładowanie modułów książki, za pomocą JavaScript, na stronie {{LinkUżytkownik2|Persino/Wersja do druku}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:09, 13 lis 2021 (CET)
== Gadżet StronaSubst - dodawanie do listy gadżetów ==
Mamy sobie kod JavaScript {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} i opis gadżetu {{LinkUżytkownik2|Persino/Gadget-StronaSubst}}, czy mógłbyś przenieść na strony w przestrzeni nazw {{Np|MediaWiki|link=tak}}, i wywołaniu gadżetu w takiej formie jak w {{LinkUżytkownik2|Persino/Gadgets-definition}} przenieść na stronę {{LinkKomunikat2|Gadgets-definition}}. Wtedy strona {{LinkUżytkownik2|Persino/Wersja do druku}} powinna działać! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:14, 27 lis 2021 (CET)
=== Zamienianie kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}} ===
{{Ping|Wargo}}Chodzi tutaj, że jak będzie link do artykułu w nagłówku, to, żeby nie pojawiało się pole '''[ artykuł | edytuj ]''' zamiast '''[ edytuj ]''' - aktualnie w {{LinkKomunikat2|Gadget-StronaSubst.js}} pole '''[ artykuł | edytuj ]''' pojawia się zawsze zamiast '''[ edytuj ]''', wtedy gdy ma zawartość '''strona_subst''' jest nie pusta, to algorytm jest zakańczany. A jak jest nazwa strony w zawartości div-a '''strona_subst''', a nie link w nagłówku, to wtedy ma się prawo pojawić '''[ artykuł | edytuj ]''' zamiast '''[ edytuj ]'''. Czy mógłbyś wersję {{LinkKomunikat2|Gadget-StronaSubst.js}} zamienić na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}. Z góry dziękuję za rozpatrzenie mojej prośby! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 10:13, 30 lis 2021 (CET)
----
{{Ping|Wargo}} Jeszcze, czy mógłbyś zamienić tekst w {{LinkKomunikat2|Gadget-StronaSubst}} z:
{{Pre|(bez sekcji "Spis treści" i "Licencja")}}
na
{{Pre|(bez sekcji "Spis treści", "Bibliografia" i "Licencja")}}
[[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:18, 1 gru 2021 (CET)
=== Ostatnia poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}===
{{Ping|Wargo}}Chodzi tutaj, że algorytm zawiesza się na artykule {{LinkGłówna|Mechanika kwantowa/Mechanika kwantowa}}, to co poprawiłem już tak przestaje być, błąd znikł! Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 18:30, 3 gru 2021 (CET)
=== Miejmy nadzieję, że to jest ostatnia poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}===
{{Ping|Wargo}}Chodzi tutaj, że algorytm ma błędy JavaScript na stronie, przy danej książce: {{LinkGłówna|Szachy}}, czyli przy artykule: {{LinkGłówna|Szachy/Szachy}} - błąd tylko widać, gdy chcemy zbadać element, moja poprawka usuwa ten błąd! Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:50, 4 gru 2021 (CET)
=== Następna poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}} ===
{{Ping|Wargo}}Chodzi tutaj, że algorytm nie wyświetla w TOC (wbudowany spis treści) podrozdziałów dla artykułu {{LinkGłówna|Matematyka dla liceum/Matematyka dla liceum}}, moja poprawka usuwa ten błąd. Skrypt porządkuje artykuły według nagłówków na stronie tego artykułu w TOC, a zestaw artykułów, w danek sekcji, wyświetla, również w TOC, je przydzielone do niej. Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:51, 7 gru 2021 (CET)
=== Poważne poprawki w {{LinkKomunikat2|Gadget-StronaSubst.js}} na podstawie {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} oraz dodanie i zmiana pewnych gadżetów ===
{{Ping|Wargo}} Następne poprawki dotyczące wpisu w {{LinkKomunikat2|Gadget-StronaSubst.js}}, co do zauważonych drobnych błędów, czyli mógłbyś dokonać zamiany kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}.
Z góry dziękuję. Poza tym wszystko działa, od razu dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:32, 8 gru 2021 (CET)
----
{{Ping|Wargo}} Jeszcze, czy mógłbyś zamienić tekst w {{LinkKomunikat2|Gadget-StronaSubst}} z:
{{Pre|(bez sekcji "Spis treści", "Bibliografia" i "Licencja")}}
na
{{Pre|(bez sekcji: "Spis treści", "Bibliografia", "Zobacz też", "Inne", "Licencja" i tym podobne)}}
Dziękuję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 05:43, 9 gru 2021 (CET)
----
{{Ping|Wargo}} Czy mógłbyś uzupełnić {{LinkKomunikat2|Gadgets-definition}}, według {{LinkUżytkownik2|Persino/Gadgets-definition}} - szczególnie trzeba naprawić odwołanie do gadżetu StronaSubst, i dodać gadżety: {{LinkUżytkownik2|Persino/Gadget-gConfig.js}} (jego opis jest w {{LinkUżytkownik2|Persino/Gadget-gConfig}}), przenosząc go do {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis do {{LinkKomunikat2|Gadget-gConfig}}), a także drugi gadżet dotyczący szablonu {{s|Cytuj}} przenieś z {{LinkUżytkownik2|Persino/Gadget-citation-access-info.js}} (jego opis to {{LinkUżytkownik2|Persino/Gadget-citation-access-info}}) do {{LinkKomunikat2|Gadget-citation-access-info.js}} (a jego opis do {{LinkKomunikat2|Gadget-citation-access-info}}).
Gadżet '''gConfig''' potrzebny mi jest do gadżetu {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}}, którego zawartość należy przenieść do {{LinkKomunikat2|Gadget-StronaSubst.js}}, a gadżet {{LinkUżytkownik2|Persino/Gadget-citation-access-info.js}}, potrzebny mi jest do szablonu {{s|Cytuj}} do dymku do pełnej wersji tego szablonu, który należy przenieść do {{LinkKomunikat2|Gadget-citation-access-info.js}}.
Proszę o pilną reakcję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:04, 11 gru 2021 (CET)
----
Również proszę o zastąpienie strony komunikatu {{LinkKomunikat2|Gadget-map-toggler.js}} stroną {{LinkUżytkownik2|Persino/Gadget-map-toggler.js}}. Z góry dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 18:38, 11 gru 2021 (CET)
== Zamiana wartości linkowej i szablonowej ==
{{Ping|Wargo}}Czy mógłbyś zamienić na stronie: {{LinkUżytkownik2|Rychozol/common.js}}, z wartości: {{Nowiki|[[GNU Free Documentation License|GFDL]]}}, na: {{Nowiki|[[Wikibooks:GNU Free Documentation License|GFDL]]}}, a także na tej samej stronie wartość: {{s|clear}}, na {{s|BrClear}}, ponieważ ze względu na zmianę nazw stron. Z góry dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:35, 13 gru 2021 (CET)
<del>== Dalsze zmiany na stronach gadżetów (pilne) ==
{{Ping|Wargo}}Czy mógłbyś zainstalować gadżet "Gadget-gConfig", tak jak na stronie {{LinkUżytkownik2|Persino/Gadgets-definition}} (pierwsza linijka) w {{LinkKomunikat2|Gadgets-definition}}, a co do tego, jego kod {{LinkUżytkownik2|Persino/Gadget-gConfig.js}} zainstalować w miejscu {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis jest w {{LinkUżytkownik2|Persino/Gadget-gConfig}}), przenosząc go do {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis do {{LinkKomunikat2|Gadget-gConfig}}). A później zaaktualizuj gadżet {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}, a także zainstalować w miejscu {{LinkKomunikat2|Gadget-Funkcje.js}} gadżet {{LinkUżytkownik2|Persino/Gadget-Funkcje.js}}, a również zaktualizować wpis dla gadżetu StronaSubst tak jak w {{LinkUżytkownik2|Persino/Gadgets-definition}}. A później sprawdzić, czy wszystko działa. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 13:19, 4 lut 2022 (CET)</del>
== Przepełnienie scrollbarów, poszczególnych elementów strony, a ustawienia różnych klas, jeżeli takowe istnieją ==
{{Ping|Wargo}}Czy mógłbyś uwzględnić na stronie {{LinkKomunikat2|Common.js}} część mojej strony, która jest po sekwencji /**/, będąca na stronie {{LinkUżytkownik2|Persino/common.js}}. Ten skrypt sprawdza, czy nastąpiło przepełnienie elementów strony dokumentu HTML Wikibooks, a jeżeli nastąpiło, to następuje ustawienie tam odpowiednich klas, a jeżeli ono znikło, to usunięcie tych klas. Ten skrypt jest mi potrzebny do szablonu {{s|StronaStart}} i jego pokrewnych oraz do mojego ustawienia skórki vector-2022, która jest w mojej przestrzeni użytkownika. Dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:23, 27 maj 2022 (CEST)
== Aktualizacja przepełnienia scrollbarów i implementacja sticky ==
{{Ping|Wargo}} Czy mógłbyś uwzględnić na stronie {{LinkKomunikat2|Common.js}} część mojej strony, która jest po sekwencji /**/, będąca na stronie {{LinkUżytkownik2|Persino/common.js}}. W przypadku pierwszego algorytmu, dodałem tam klasy {{Code|mw-overflow-x}} i {{Code|mw-overflow-y}}, które ten algorytm rozpoznaje, i dla nich liczy, czy nastąpiło to właśnie przepełnienie. A wcześniej liczyło dla wszystkich znaczników na stronie, co spowalniało całą stronę. Tam, gdzie, ważne jest liczenie przepełnienie wstawiłem {{Code|mw-overflow-x}}, czy {{Code|mw-overflow-y}}, czyli algorytm ten tam powinien działać, co można sprawdzić na stronie głównej tego projektu ({{NAZWASERWISU|link=tak}}). Drugi algorytm jest rozszerzenie właściwości {{Code|position:sticky}}, który on nie działa, gdy choćby jeden z rodziców jest z nie {{Code|overflow:visible}}, ale z {{Code|overflow}}, a ja zrobiłem, że jednak zaczeło działać, a ja tak to zrobiłem: {{Code|position:sticky}} zastąpiłem {{Code|position:absolute}}, w tym znaczników ustawiam {{Code|mw-sticky-y}} (przesuw w pionie) lub {{Code|mw-sticky-x}} (przesuw w poziomie), wtedy ten algorytm JavaScript działa tak, że pudełko przesuwa się od pewnej granicy do pewnej, ale nigdy nie wychodzi poza te granice, czyli działa podobnie jak {{Code|position:sticky}}. Dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 12:41, 9 lip 2022 (CEST)
==Aktualizacja skryptów na {{LinkKomunikat2|common.js}} z {{LinkUżytkownik2|Persino/common.js}}==
{{Ping|Wargo}} Czy mógłbyś zaktualizować kod na stronie {{LinkKomunikat2|common.js}} ze strony {{LinkUżytkownik2|Persino/common.js}} pod znakiem {{Code|/**/}}. Zdefiniowałem przestrzeń nazw {{Code|Common}} definicją:
{{Pre|var Common{{=}}new Array();}}
Prawie wszystkie funkcje ze strony {{LinkKomunikat2|common.js}} przeniosłem do tej przestrzeni na stronie {{LinkUżytkownik2|Persino/common.js}} (tutaj wszystkie funkcje są w przestrzeni {{Code|Common}}). Rozwinąłem funkcję {{Code|Common.ScrollBarOverflow}}, {{Code|Common.StickyXY}} i {{Code|Common.OptimalXY}}. Napisałem od nowa funkcje: {{Code|Common.RamkiTableIDiv}} i {{Code|Common.ZdarzeniaDodatkoweFunkcyjneXY}} oraz funkcję do obsługi szablonu {{s|StronaStart}} i jego pokrewnych książkowych z definiowałem w postaci: {{Code|Common.StronaStart}}.
Co oznaczają te funkcje:
* {{Code|Common.ScrollBarOverflow}} - do generowania pewnych klas, które służą do obsługi pudełka z paskami przewijania,
* {{Code|Common.StickyXY}} - aktualizacja funkcji {{Code|position:sticky}}, tam gdzie go nie można go użyć, do używamy tej funkcji,
* {{Code|Common.OptimalXY}} - do obsługi boksów na stronach z użytymi szablonami stronicowymi książkowymi otwierającymi i zamykającymi,
* {{Code|Common.RamkiTableIDiv}} - dodaje dalsze funkcje przy przyciskach tabel i ramek, nawigacyjnych,
* {{Code|Common.ZdarzeniaDodatkoweFunkcyjneXY}} - dodaje zdarzenia do obsługi funkcji: {{Code|Common.StickyXY}} i {{Code|Common.OptimalXY}},
* {{Code|Common.StronaStart}} - służy do obsługi spisu treści i boksów szablonu {{s|StronaStart}}.
Na stronach podręcznikowych boksy i spisy treści są responsywne według moich ustawień, a dla wszystkich użytkowników będą responsywne po zaktualizowaniu strony {{LinkKomunikat2|common.js}} przy pomocy {{LinkUżytkownik2|Persino/common.js}}.
----
Proszę o pilną reakcję i zrealizowanie mojej prośby. Z góry dziękuję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:55, 3 sie 2022 (CEST)
:Czy coś jest do usunięcia z obecnego common.js? Tj. czy coś stamtąd mam tym zastąpić? [[Wikipedysta:Wargo|Wargo]] ([[Dyskusja wikipedysty:Wargo|dyskusja]]) 20:55, 7 sie 2022 (CEST)
::{{Ping|Wargo}}Właśnie masz zastąpić nową wersją z pod /**/ z: {{LinkUżytkownik2|Persino/common.js}}, zastępując całą zawartość strony w: {{LinkKomunikat2|common.js}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:04, 7 sie 2022 (CEST)
:::{{Ping|Wargo}} Już możesz zastępować, wszystko gotowe! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:39, 7 sie 2022 (CEST)
===Ostatnia poprawka===
{{Ping|Wargo}}Czy mógłbyś linijkę kodu:
{{Pre|var top_ab{{=}}rect_rodzic[top]-margintop;
var bottom_ab{{=}}(wys-rect_rodzic[bottom])-marginbottom;
}}
poprawić na:
{{Pre|var top_ab{{=}}rect_rodzic[top];
var bottom_ab{{=}}(wys-rect_rodzic[bottom]);
}}
w funkcji: {{Code|Common.StickyXY}}, w {{LinkKomunikat2|common.js}} według {{LinkUżytkownik2|Persino/common.js}}. Tj. to linijka: 481-482.
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:51, 8 sie 2022 (CEST)
=== Miejmy nadzieję, że ostatnia poprawka na stronie {{LinkKomunikat2|common.js}} ===
{{Ping|Wargo}}Czy mógłbyś w kodzie w linii: 177 i 183, na stronie {{LinkKomunikat2|common.js}} według {{LinkUżytkownik2|Persino/common.js}} poprawić według schematu:
{{Pre
|collapseTable( i );
}}
zamienić na:
{{Pre
|Common.collapseTable( i );
}}
Poprawka jest ważna, bo tabele nawigacyjne, na stronie głównej i gdzieś indziej, nie chcą się kolapsować, a po tej operacji już będą się tak zachowywać!
----
W linii: 176 poprawić:
{{Pre
|1=if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) {{!}}{{!}} ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "Common.autoCollapse" ) ) ) {
}}
na kod:
{{Pre
|1=if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) {{!}}{{!}} ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) {
}}
----
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 13:34, 8 sie 2022 (CEST)
=== Poprawka, by zdarzenia nie były w postaci podwójnej, tzn. ze strony: {{LinkKomunikat2|common.js}} (strona {{Np|MediaWiki|link=tak}}), i {{LinkUżytkownik2|Persino/common.js}} (strona użytkownika - {{Np|User|link=tak}}) ===
{{Ping|Wargo}}Zrobiłem tak, by zdarzenia nie były w postaci podwójnej, tzn. ze strony MediaWiki: {{LinkKomunikat2|common.js}}, i strony użytkownika: {{LinkUżytkownik2|Persino/common.js}}, jeżeli takową stronę użytkownik posiada. Zrobiłem też tam parę drobnych innych edycji. Mówiąc najprostszej, zawartością z: {{LinkUżytkownik2|Persino/common.js}}, z pod {{Code|/**/}} zastąp zawartość strony: {{LinkKomunikat2|common.js}}. Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 07:13, 9 sie 2022 (CEST)
=== Poprawka strony {{LinkKomunikat2|Gadget-delete-local.js}}, kilka linijek ===
{{Ping|Wargo}} Czy mógłbyś zamienić zawartość strony {{LinkKomunikat2|Gadget-delete-local.js}} na {{LinkUżytkownik2|Persino/Gadget-delete-local.js}}.
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 07:13, 9 sie 2022 (CEST)
=== Przecieki pamięci w {{LinkKomunikat2|common.js}} w połączeniu z {{LinkUżytkownik2|Persino/common.js}} ===
{{Ping|Wargo}} Czy mógłbyś stronę {{LinkKomunikat2|common.js}} podmienić z zawartością strony {{LinkUżytkownik2|Persino/common.js}} z pod linii /**/. Z góry dziękuję za spełnienie prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 17:37, 15 sie 2022 (CEST)
=== Usunięcie funkcji {{Code|Promise}} z funkcji {{Code|Common.RamkiTableIDiv}}, a nowa poprawka w {{LinkKomunikat2|common.js}} przy pomocy {{LinkUżytkownik2|Persino/common.js}} ===
{{Ping|Wargo}} Kiedyś funkcja {{Code|Common.RamkiTableIDiv}} była uruchamiana za pomocą zwykłej funkcji bez umieszczenia go w bloku {{Code|$}}, a teraz jest ona umieszczony właśnie w nim, więc {{Code|Promise}} jest już w nim nie potrzebna, więc usunąłem z tej funkcji właśnie nią, więc funkcję {{Code|Common.RamkiTableIDiv}} musiałem zmodyfikować.
----
----
Zadanie pierwsze: Czy mógłbyś definicję funkcji {{Code|Common.RamkiTableIDiv}} w {{LinkKomunikat2|common.js}} zastąpić nową jego definicją z {{LinkUżytkownik2|Persino/common.js}}, wraz z jego komentarzami, i z komentarzami uruchamiania tej funkcji w funkcji {{Code|$}}.
Zadanie drugie: Linie, tzn.: 22-26, na stronie {{LinkKomunikat2|common.js}} zamienić na linie: 24-34 ze strony {{LinkUżytkownik2|Persino/common.js}}.
Zadanie trzecie: Dodać niektóre komentarze, które dodałem do {{LinkUżytkownik2|Persino/common.js}}.
----
Najłatwiej wykonać te trzy zadania jest sposób: zawartość na stronie {{LinkKomunikat2|common.js}} zastąpić zawartością z {{LinkUżytkownik2|Persino/common.js}} z pod linii /**/, ze względu, że umieściłem tam dodatkowe komentarze, co możesz sprawdzić, co się zmieniło w historii zmian.
----
----
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 17:38, 16 sie 2022 (CEST)
ji1krz0x2cea2gvr031g25t4qyzjg7s
437932
437928
2022-08-17T01:23:14Z
Persino
2851
/* Usunięcie funkcji {{Code|Promise}} z funkcji {{Code|Common.RamkiTableIDiv}}, a nowa poprawka w {{LinkKomunikat2|common.js}} przy pomocy {{LinkUżytkownik2|Persino/common.js}} */
wikitext
text/x-wiki
<noinclude>__LINKNOWEJSEKCJI__ [[Kategoria:Księga próśb i zadań]]</noinclude>
{{fmbox|tekst=UWAGA: Nowe zgłoszenia o innym temacie niż to co dotyczy [[Wikibooks:Prośby do administratorów interfejsu/Zgłoszenia]] lub łamiące zasady [[Wikibooks:Wikietykieta|Wikietykiety]] mogą być bezwarunkowo wycofywane z tej strony}}
<!-- Nowe zgłoszenia wstawiaj poniżej tej linii. Powyżej tej linii nic nie usuwaj. Nie usuwaj tej linii -->
== Usunięcie wymuszenia białego tła w tabelach. ==
Zwracam się z prośbą o usunięcie [[MediaWiki:Common.css]] fragmentu
<syntaxhighlight lang="css">
}
+
table.wikitable td,
+
table.prettytable td {
+
background: #f9f9f9;
</syntaxhighlight>
Fragment ten wymusza białe tło w tabelach, co uniemożliwia zastosowanie kolorowych komórek. Takowe bardzo by się przydały np. w opracowywanym przeze [[Zbiór zadań maturalnych/Biologia|Zbiorze zadań maturalnych z Biologii]] jak np. tu: [[:Kategoria:Zbiór zadań maturalnych/podstawa programowa 2017/Biologia/Zakres rozszerzony/Treści nauczania/II/3/1]]. Póki co posiłkuję się obramowaniem, chciałbym jednak docelowo zastosować kolorowanie komórek.
Z góry dziękuję za rozpatrzenie mojej prośby.
[[Wikipedysta:Superjurek|Superjurek]] ([[Dyskusja wikipedysty:Superjurek|dyskusja]]) 22:42, 16 kwi 2021 (CEST)
-----
{{Ping|Superjurek}}Spróbuj użyć zapisu, np.:
<syntaxhighlight lang="css">
background-color: blue !important;
color:white !important;
</syntaxhighlight>
zamiast:
<syntaxhighlight lang="css">
background-color: blue;
color:white;
</syntaxhighlight>
to powinno naprawić cały problem! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:05, 27 maj 2022 (CEST)
==Wstawianie kodu do {{LinkKomunikat2|Common.js}}==
Czy mógłbyś wsadzić do tej strony {{Code|.js}} kod:
<syntaxhighlight lang="JavaScript">
function WyswietlStronyKsiazki(){
function WikikodTitle(data,tabs,titles,tabstrona){
var title=data.parse.title;
var wikikod=data.parse.text['*'];
var elements=tabstrona[title];
for(var q in elements){
elements[q].innerHTML=wikikod;
var a=elements[q].getElementsByTagName('a');
if((a!==null)&&(a.length>0)){
var lena=a.length;
for(var i=0;i<lena;++i){
var href=a[i].getAttribute('href');
if(href!==null){
var re=/^[^\?]+\?[^&]+=[^&]*&?/g;
if(!re.test(href)){
var re2=/#/g;
var s=href.search(re2);
if(s!=-1){
var re=/^\/wiki\//g;
if(re.test(href)){
var href2=href.substring(6,s)
href2=decodeURI(href2);
href2=href2.replace(/[_\s]+/g," ");
for(var s=0;s<titles.length;s++){
var strona=titles[s];
if(href2==strona){
var href3=href.replace(/^[^#]*/g,"");
var a_toc=a[i];
a_toc.setAttribute('href',encodeURI(href3));
a_toc.setAttribute("title","");
}
}
}
}else{
var re=/^\/wiki\//g;
if(re.test(href)){
var hrefv=href.replace(re,"");
var hrefs=decodeURI(hrefv);
hrefs=hrefs.replace(/[_\s]+/g," ");
for(var s=0;s<titles.length;s++){
var strona=titles[s];
if(hrefs==strona){
var hrefs2=hrefv.replace(/^[^\/]*\//g,"");
var a_toc=a[i];
a_toc.setAttribute('href','#'+hrefs2);
a_toc.setAttribute("title","");
}
}
}
}
}
}
}
}
}
var tab_toc=new Array("toc","toc_spis");
for(var d=0;d<tab_toc.length;++d){
var toc=document.getElementsByClassName(tab_toc[d]);
if((toc!==null)&&(toc.length>0)){
for(var q in elements){
var num=new Array();
var v=0;
for(var e=0;e<tabs.length;++e){
if(tabs[e]==title){
v+=1;
if(parseInt(q)+1==v){
num.push(parseInt(e)+1);
break;
}
}
}
var headline=elements[q].getElementsByClassName("mw-headline");
if((headline!==null)&&(headline.length>0)){
var ulozenie=0;
var ostanie=0;
var len=headline.length;
var naglowek="";
var liczba_ulozenia_w_menu_spisu_tresci=1;
var h_number=1;
for (var k=0;k<len;++k){
var element2=headline[k];
var nag=element2.innerHTML;
var nag2=element2.getAttribute('id');
var h=element2.parentNode.tagName;
var h_numer=h.replace(/^[^\d]+/g,"");
h_numer=parseInt(h_numer)
if((ulozenie==0)||(ulozenie>=h_numer)){
ulozenie=h_numer-1;
}else {
if(ostatnie+1<h_numer-ulozenie){
ulozenie=h_numer-ostatnie-1;
}
}
ostatnie=h_numer-ulozenie;
h_numer=h_numer-ulozenie;
if(k==0){
num.push(1);
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="<ul><li><a href=\"#"+nag2+"\">"+nag+"</a>";
}else{
if(h_numer==liczba_ulozenia_w_menu_spisu_tresci){
num[num.length-1]+=1;
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="</li><li><a href=\"#"+nag2+"\">"+nag+"</a>";
}else{
if(h_numer>liczba_ulozenia_w_menu_spisu_tresci){
num.push(1);
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="<ul><li><a href=\"#"+nag2+"\">"+nag+"</a>";
liczba_ulozenia_w_menu_spisu_tresci=h_numer;
}else{
if(h_numer<liczba_ulozenia_w_menu_spisu_tresci){
num.splice(num.length-liczba_ulozenia_w_menu_spisu_tresci+h_numer,liczba_ulozenia_w_menu_spisu_tresci-h_numer);
num[num.length-1]+=1;
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+=('</li></ul>'.repeat(liczba_ulozenia_w_menu_spisu_tresci-h_numer))+"</li><li><a href=\"#"+nag2+"\">"+nag+"</a>";
liczba_ulozenia_w_menu_spisu_tresci=h_numer;
}
}
}
}
}
if(naglowek!=""){
naglowek+=('</li></ul>'.repeat(liczba_ulozenia_w_menu_spisu_tresci));
for(var b=0;b<toc.length;++b){
var a2=toc[b].getElementsByTagName('a');
if((a2!=null)&&(a2.length>0)){
for(var y=0;y<a2.length;++y){
var parent=a2[y].parentNode;
var href=a2[y].getAttribute('href');
href=href.replace(/^#/g,"");
var title2=title.replace(/^[^\/]+\//g,"");
if(href==title2.replace(/[_ ]+/g,"_")+((q>0)?("_"+(parseInt(q)+1)):"")){
var div=document.createElement('div');
div.innerHTML=naglowek;
var links=a2[y].getElementsByClassName('toctext');
if((links!=null)&&(links.length>0)){
var link=links[0].innerHTML;
if(link==title2){
parent.appendChild(div.getElementsByTagName('ul')[0]);
}
}
}
}
}
}
}
}
}
}
}
for(var d=0;d<tab_toc.length;++d){
var toc_pos=document.getElementsByClassName(tab_toc[d]);
if((toc_pos!==null)&&(toc_pos.length>0)){
for(var w=0;w<toc_pos.length;++w){
var li=toc_pos[w].getElementsByTagName('li');
var poziom;
var section=1;
for(var z=0;z<li.length;++z){
var parent=li[z].parentNode.parentNode;
if(parent!==null){
var klasa=parent.getAttribute('class');
if(klasa!==null){
var poziom=klasa.match(/toclevel-\d+/g);
if(poziom!==null){
poziom=parseInt(poziom.toString().match(/\d+$/).toString())+1;
}else{
poziom=1;
}
}else{poziom=1;}
}else{poziom=1;}
var klasa=li[z].getAttribute('class');
if(klasa!==null){
var czy_section=klasa.match(/tocsection-\d+/);
if(czy_section!==null){
klasa=klasa.replace(/tocsection-\d+/g,"tocsection-"+section);
li[z].setAttribute('class',klasa);
}else{
li[z].classList.add("tocsection-"+section);
}
var czy_level=klasa.match(/toclevel-\d+/);
if(czy_level!==null){
klasa=li[z].getAttribute('class');
klasa=klasa.replace(/toclevel-\d+/g,"toclevel-"+poziom);
li[z].setAttribute('class',klasa);
}else{
li[z].classList.add("toclevel-"+poziom);
}
}else{
li[z].setAttribute('class',"toclevel-"+poziom+" tocsection-"+section)
}
section=section+1;
}
}
}
}
var headline=document.getElementsByClassName('mw-headline');
if((headline)&&(headline.length>0)){
for(var i=0;i<headline.length;++i){
var c=1;
var el=headline[i];
var id0=el.innerHTML;
id0=id0.replace(/[_\s]+/g,"_");
id0=id0.replace(/<[^<>]+>/g,"");
for(var j=0;j<i;++j){
var el1=headline[j];
var id1=el1.innerHTML;
id1=id1.replace(/[_\s]+/g,"_");
id1=id1.replace(/<[^<>]+>/g,"");
if(id0==id1){
++c;
}
}
if(c==1){
el.setAttribute('id',id0);
}else{
el.setAttribute('id',id0+"_"+c);
}
}
}
var tab_toc=new Array("toc","toc_spis");
for(d=0;d<tab_toc.length;++d){
var toc_pos=document.getElementsByClassName(tab_toc[d]);
if((toc_pos!==null)&&(toc_pos.length>0)){
for(var w=0;w<toc_pos.length;++w){
var toc=toc_pos[w];
var a=toc.getElementsByTagName('a');
if((a)&&(a.length>0)){
for(var p=0;p<a.length;++p){
var strona=a[p].getElementsByClassName('toctext')[0].innerHTML.replace(/[_\s]+/g,"_");
strona=strona.replace(/<[^<>]+>/g,"");
var c=1;
for(var v=0;v<p;++v){
var strona2;
strona2=a[v].getElementsByClassName('toctext')[0].innerHTML.replace(/[_\s]+/g,"_");
strona2=strona2.replace(/<[^<>]+>/g,"");
if(strona==strona2){
++c;
}
}
strona=strona.replace(/<[^<>]+>/g,"");
if(c==1){
a[p].setAttribute('href',"#"+strona);
}else{
a[p].setAttribute('href',"#"+strona+"_"+c);
}
}
}
}
}
}
}
function StronaSubst(data){
var wikikod=data.parse.text['*'];
var elem=document.createElement('div');
elem.innerHTML=wikikod;
var klasa_mw_parser_out=elem.getElementsByClassName('mw-parser-output');
var wikikod_wyodrepniony=(((klasa_mw_parser_out)&&(klasa_mw_parser_out.length==1))?(klasa_mw_parser_out[0].innerHTML):wikikod);
var czy_wikikod=wikikod_wyodrepniony.match(/^\s*$/g);
if(czy_wikikod){return;}
var strona_subst="strona_subst";
var tagclass=document.getElementsByClassName(strona_subst);
if(tagclass==null){return null;}
var liczba_elementow=tagclass.length;
if(liczba_elementow==0){return null;}
var titles=new Array();
var tabstrona=new Array();
var tabs=new Array();
for (var i=0;i<liczba_elementow;++i){
var element=tagclass[i];
if(element.tagName!="DIV"){return null;}
var strona=element.innerHTML;
var re = /^[_ ]*$/g;
var dopasowanie = re.test(strona);
if(dopasowanie){return null;};
strona=strona.replace(/^[_ ]*/g,"");
strona=strona.replace(/[_ ]*$/g,"");
strona=strona.replace(/[_ ]+/g," ");
tabs[i]=strona;
var czy=false;
for(var d in titles){
if(titles[d]==strona){
czy=true;
break;
}
}
if(!czy){
titles[titles.length]=strona;
}
if(tabstrona[strona]==null){
tabstrona[strona]=new Array();
}
var tab=tabstrona[strona];
var tablen=tab.length;
tabstrona[strona][tablen]=element;
}
for ( var p in titles ) {
var strona=titles[p];
var api=new mw.Api;
api.get({
action: 'parse',
format: 'json',
prop: 'text',
title: strona,
text: '{{:'+strona+'}}',
disabletoc: true,
disablelimitreport: true,
contentmodel: 'wikitext'
}).done(function(data){
WikikodTitle(data,tabs,titles,tabstrona);
});
}
}
var strona = mw.config.get('wgPageName');
var api=new mw.Api;
api.get({
action: 'parse',
format: 'json',
prop: 'text',
title: strona,
text: '{{#invoke:StronicowyParser|CzyStronaSubst}}',
disabletoc: true,
disablelimitreport: true,
contentmodel: 'wikitext'
}).done(function(data){
StronaSubst(data)
});
}
$(WyswietlStronyKsiazki);
</syntaxhighlight>
Ten program {{Code|.js}} znajduje się na stronie: {{LinkUżytkownik2|Persino/common.js}}. Jak wstawisz ten kod do strony {{LinkKomunikat2|Common.js}}, to powinno wtedy zadziałać ładowanie modułów książki, za pomocą JavaScript, na stronie {{LinkUżytkownik2|Persino/Wersja do druku}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:09, 13 lis 2021 (CET)
== Gadżet StronaSubst - dodawanie do listy gadżetów ==
Mamy sobie kod JavaScript {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} i opis gadżetu {{LinkUżytkownik2|Persino/Gadget-StronaSubst}}, czy mógłbyś przenieść na strony w przestrzeni nazw {{Np|MediaWiki|link=tak}}, i wywołaniu gadżetu w takiej formie jak w {{LinkUżytkownik2|Persino/Gadgets-definition}} przenieść na stronę {{LinkKomunikat2|Gadgets-definition}}. Wtedy strona {{LinkUżytkownik2|Persino/Wersja do druku}} powinna działać! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:14, 27 lis 2021 (CET)
=== Zamienianie kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}} ===
{{Ping|Wargo}}Chodzi tutaj, że jak będzie link do artykułu w nagłówku, to, żeby nie pojawiało się pole '''[ artykuł | edytuj ]''' zamiast '''[ edytuj ]''' - aktualnie w {{LinkKomunikat2|Gadget-StronaSubst.js}} pole '''[ artykuł | edytuj ]''' pojawia się zawsze zamiast '''[ edytuj ]''', wtedy gdy ma zawartość '''strona_subst''' jest nie pusta, to algorytm jest zakańczany. A jak jest nazwa strony w zawartości div-a '''strona_subst''', a nie link w nagłówku, to wtedy ma się prawo pojawić '''[ artykuł | edytuj ]''' zamiast '''[ edytuj ]'''. Czy mógłbyś wersję {{LinkKomunikat2|Gadget-StronaSubst.js}} zamienić na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}. Z góry dziękuję za rozpatrzenie mojej prośby! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 10:13, 30 lis 2021 (CET)
----
{{Ping|Wargo}} Jeszcze, czy mógłbyś zamienić tekst w {{LinkKomunikat2|Gadget-StronaSubst}} z:
{{Pre|(bez sekcji "Spis treści" i "Licencja")}}
na
{{Pre|(bez sekcji "Spis treści", "Bibliografia" i "Licencja")}}
[[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:18, 1 gru 2021 (CET)
=== Ostatnia poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}===
{{Ping|Wargo}}Chodzi tutaj, że algorytm zawiesza się na artykule {{LinkGłówna|Mechanika kwantowa/Mechanika kwantowa}}, to co poprawiłem już tak przestaje być, błąd znikł! Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 18:30, 3 gru 2021 (CET)
=== Miejmy nadzieję, że to jest ostatnia poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}===
{{Ping|Wargo}}Chodzi tutaj, że algorytm ma błędy JavaScript na stronie, przy danej książce: {{LinkGłówna|Szachy}}, czyli przy artykule: {{LinkGłówna|Szachy/Szachy}} - błąd tylko widać, gdy chcemy zbadać element, moja poprawka usuwa ten błąd! Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:50, 4 gru 2021 (CET)
=== Następna poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}} ===
{{Ping|Wargo}}Chodzi tutaj, że algorytm nie wyświetla w TOC (wbudowany spis treści) podrozdziałów dla artykułu {{LinkGłówna|Matematyka dla liceum/Matematyka dla liceum}}, moja poprawka usuwa ten błąd. Skrypt porządkuje artykuły według nagłówków na stronie tego artykułu w TOC, a zestaw artykułów, w danek sekcji, wyświetla, również w TOC, je przydzielone do niej. Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:51, 7 gru 2021 (CET)
=== Poważne poprawki w {{LinkKomunikat2|Gadget-StronaSubst.js}} na podstawie {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} oraz dodanie i zmiana pewnych gadżetów ===
{{Ping|Wargo}} Następne poprawki dotyczące wpisu w {{LinkKomunikat2|Gadget-StronaSubst.js}}, co do zauważonych drobnych błędów, czyli mógłbyś dokonać zamiany kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}.
Z góry dziękuję. Poza tym wszystko działa, od razu dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:32, 8 gru 2021 (CET)
----
{{Ping|Wargo}} Jeszcze, czy mógłbyś zamienić tekst w {{LinkKomunikat2|Gadget-StronaSubst}} z:
{{Pre|(bez sekcji "Spis treści", "Bibliografia" i "Licencja")}}
na
{{Pre|(bez sekcji: "Spis treści", "Bibliografia", "Zobacz też", "Inne", "Licencja" i tym podobne)}}
Dziękuję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 05:43, 9 gru 2021 (CET)
----
{{Ping|Wargo}} Czy mógłbyś uzupełnić {{LinkKomunikat2|Gadgets-definition}}, według {{LinkUżytkownik2|Persino/Gadgets-definition}} - szczególnie trzeba naprawić odwołanie do gadżetu StronaSubst, i dodać gadżety: {{LinkUżytkownik2|Persino/Gadget-gConfig.js}} (jego opis jest w {{LinkUżytkownik2|Persino/Gadget-gConfig}}), przenosząc go do {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis do {{LinkKomunikat2|Gadget-gConfig}}), a także drugi gadżet dotyczący szablonu {{s|Cytuj}} przenieś z {{LinkUżytkownik2|Persino/Gadget-citation-access-info.js}} (jego opis to {{LinkUżytkownik2|Persino/Gadget-citation-access-info}}) do {{LinkKomunikat2|Gadget-citation-access-info.js}} (a jego opis do {{LinkKomunikat2|Gadget-citation-access-info}}).
Gadżet '''gConfig''' potrzebny mi jest do gadżetu {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}}, którego zawartość należy przenieść do {{LinkKomunikat2|Gadget-StronaSubst.js}}, a gadżet {{LinkUżytkownik2|Persino/Gadget-citation-access-info.js}}, potrzebny mi jest do szablonu {{s|Cytuj}} do dymku do pełnej wersji tego szablonu, który należy przenieść do {{LinkKomunikat2|Gadget-citation-access-info.js}}.
Proszę o pilną reakcję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:04, 11 gru 2021 (CET)
----
Również proszę o zastąpienie strony komunikatu {{LinkKomunikat2|Gadget-map-toggler.js}} stroną {{LinkUżytkownik2|Persino/Gadget-map-toggler.js}}. Z góry dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 18:38, 11 gru 2021 (CET)
== Zamiana wartości linkowej i szablonowej ==
{{Ping|Wargo}}Czy mógłbyś zamienić na stronie: {{LinkUżytkownik2|Rychozol/common.js}}, z wartości: {{Nowiki|[[GNU Free Documentation License|GFDL]]}}, na: {{Nowiki|[[Wikibooks:GNU Free Documentation License|GFDL]]}}, a także na tej samej stronie wartość: {{s|clear}}, na {{s|BrClear}}, ponieważ ze względu na zmianę nazw stron. Z góry dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:35, 13 gru 2021 (CET)
<del>== Dalsze zmiany na stronach gadżetów (pilne) ==
{{Ping|Wargo}}Czy mógłbyś zainstalować gadżet "Gadget-gConfig", tak jak na stronie {{LinkUżytkownik2|Persino/Gadgets-definition}} (pierwsza linijka) w {{LinkKomunikat2|Gadgets-definition}}, a co do tego, jego kod {{LinkUżytkownik2|Persino/Gadget-gConfig.js}} zainstalować w miejscu {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis jest w {{LinkUżytkownik2|Persino/Gadget-gConfig}}), przenosząc go do {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis do {{LinkKomunikat2|Gadget-gConfig}}). A później zaaktualizuj gadżet {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}, a także zainstalować w miejscu {{LinkKomunikat2|Gadget-Funkcje.js}} gadżet {{LinkUżytkownik2|Persino/Gadget-Funkcje.js}}, a również zaktualizować wpis dla gadżetu StronaSubst tak jak w {{LinkUżytkownik2|Persino/Gadgets-definition}}. A później sprawdzić, czy wszystko działa. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 13:19, 4 lut 2022 (CET)</del>
== Przepełnienie scrollbarów, poszczególnych elementów strony, a ustawienia różnych klas, jeżeli takowe istnieją ==
{{Ping|Wargo}}Czy mógłbyś uwzględnić na stronie {{LinkKomunikat2|Common.js}} część mojej strony, która jest po sekwencji /**/, będąca na stronie {{LinkUżytkownik2|Persino/common.js}}. Ten skrypt sprawdza, czy nastąpiło przepełnienie elementów strony dokumentu HTML Wikibooks, a jeżeli nastąpiło, to następuje ustawienie tam odpowiednich klas, a jeżeli ono znikło, to usunięcie tych klas. Ten skrypt jest mi potrzebny do szablonu {{s|StronaStart}} i jego pokrewnych oraz do mojego ustawienia skórki vector-2022, która jest w mojej przestrzeni użytkownika. Dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:23, 27 maj 2022 (CEST)
== Aktualizacja przepełnienia scrollbarów i implementacja sticky ==
{{Ping|Wargo}} Czy mógłbyś uwzględnić na stronie {{LinkKomunikat2|Common.js}} część mojej strony, która jest po sekwencji /**/, będąca na stronie {{LinkUżytkownik2|Persino/common.js}}. W przypadku pierwszego algorytmu, dodałem tam klasy {{Code|mw-overflow-x}} i {{Code|mw-overflow-y}}, które ten algorytm rozpoznaje, i dla nich liczy, czy nastąpiło to właśnie przepełnienie. A wcześniej liczyło dla wszystkich znaczników na stronie, co spowalniało całą stronę. Tam, gdzie, ważne jest liczenie przepełnienie wstawiłem {{Code|mw-overflow-x}}, czy {{Code|mw-overflow-y}}, czyli algorytm ten tam powinien działać, co można sprawdzić na stronie głównej tego projektu ({{NAZWASERWISU|link=tak}}). Drugi algorytm jest rozszerzenie właściwości {{Code|position:sticky}}, który on nie działa, gdy choćby jeden z rodziców jest z nie {{Code|overflow:visible}}, ale z {{Code|overflow}}, a ja zrobiłem, że jednak zaczeło działać, a ja tak to zrobiłem: {{Code|position:sticky}} zastąpiłem {{Code|position:absolute}}, w tym znaczników ustawiam {{Code|mw-sticky-y}} (przesuw w pionie) lub {{Code|mw-sticky-x}} (przesuw w poziomie), wtedy ten algorytm JavaScript działa tak, że pudełko przesuwa się od pewnej granicy do pewnej, ale nigdy nie wychodzi poza te granice, czyli działa podobnie jak {{Code|position:sticky}}. Dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 12:41, 9 lip 2022 (CEST)
==Aktualizacja skryptów na {{LinkKomunikat2|common.js}} z {{LinkUżytkownik2|Persino/common.js}}==
{{Ping|Wargo}} Czy mógłbyś zaktualizować kod na stronie {{LinkKomunikat2|common.js}} ze strony {{LinkUżytkownik2|Persino/common.js}} pod znakiem {{Code|/**/}}. Zdefiniowałem przestrzeń nazw {{Code|Common}} definicją:
{{Pre|var Common{{=}}new Array();}}
Prawie wszystkie funkcje ze strony {{LinkKomunikat2|common.js}} przeniosłem do tej przestrzeni na stronie {{LinkUżytkownik2|Persino/common.js}} (tutaj wszystkie funkcje są w przestrzeni {{Code|Common}}). Rozwinąłem funkcję {{Code|Common.ScrollBarOverflow}}, {{Code|Common.StickyXY}} i {{Code|Common.OptimalXY}}. Napisałem od nowa funkcje: {{Code|Common.RamkiTableIDiv}} i {{Code|Common.ZdarzeniaDodatkoweFunkcyjneXY}} oraz funkcję do obsługi szablonu {{s|StronaStart}} i jego pokrewnych książkowych z definiowałem w postaci: {{Code|Common.StronaStart}}.
Co oznaczają te funkcje:
* {{Code|Common.ScrollBarOverflow}} - do generowania pewnych klas, które służą do obsługi pudełka z paskami przewijania,
* {{Code|Common.StickyXY}} - aktualizacja funkcji {{Code|position:sticky}}, tam gdzie go nie można go użyć, do używamy tej funkcji,
* {{Code|Common.OptimalXY}} - do obsługi boksów na stronach z użytymi szablonami stronicowymi książkowymi otwierającymi i zamykającymi,
* {{Code|Common.RamkiTableIDiv}} - dodaje dalsze funkcje przy przyciskach tabel i ramek, nawigacyjnych,
* {{Code|Common.ZdarzeniaDodatkoweFunkcyjneXY}} - dodaje zdarzenia do obsługi funkcji: {{Code|Common.StickyXY}} i {{Code|Common.OptimalXY}},
* {{Code|Common.StronaStart}} - służy do obsługi spisu treści i boksów szablonu {{s|StronaStart}}.
Na stronach podręcznikowych boksy i spisy treści są responsywne według moich ustawień, a dla wszystkich użytkowników będą responsywne po zaktualizowaniu strony {{LinkKomunikat2|common.js}} przy pomocy {{LinkUżytkownik2|Persino/common.js}}.
----
Proszę o pilną reakcję i zrealizowanie mojej prośby. Z góry dziękuję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:55, 3 sie 2022 (CEST)
:Czy coś jest do usunięcia z obecnego common.js? Tj. czy coś stamtąd mam tym zastąpić? [[Wikipedysta:Wargo|Wargo]] ([[Dyskusja wikipedysty:Wargo|dyskusja]]) 20:55, 7 sie 2022 (CEST)
::{{Ping|Wargo}}Właśnie masz zastąpić nową wersją z pod /**/ z: {{LinkUżytkownik2|Persino/common.js}}, zastępując całą zawartość strony w: {{LinkKomunikat2|common.js}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:04, 7 sie 2022 (CEST)
:::{{Ping|Wargo}} Już możesz zastępować, wszystko gotowe! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:39, 7 sie 2022 (CEST)
===Ostatnia poprawka===
{{Ping|Wargo}}Czy mógłbyś linijkę kodu:
{{Pre|var top_ab{{=}}rect_rodzic[top]-margintop;
var bottom_ab{{=}}(wys-rect_rodzic[bottom])-marginbottom;
}}
poprawić na:
{{Pre|var top_ab{{=}}rect_rodzic[top];
var bottom_ab{{=}}(wys-rect_rodzic[bottom]);
}}
w funkcji: {{Code|Common.StickyXY}}, w {{LinkKomunikat2|common.js}} według {{LinkUżytkownik2|Persino/common.js}}. Tj. to linijka: 481-482.
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:51, 8 sie 2022 (CEST)
=== Miejmy nadzieję, że ostatnia poprawka na stronie {{LinkKomunikat2|common.js}} ===
{{Ping|Wargo}}Czy mógłbyś w kodzie w linii: 177 i 183, na stronie {{LinkKomunikat2|common.js}} według {{LinkUżytkownik2|Persino/common.js}} poprawić według schematu:
{{Pre
|collapseTable( i );
}}
zamienić na:
{{Pre
|Common.collapseTable( i );
}}
Poprawka jest ważna, bo tabele nawigacyjne, na stronie głównej i gdzieś indziej, nie chcą się kolapsować, a po tej operacji już będą się tak zachowywać!
----
W linii: 176 poprawić:
{{Pre
|1=if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) {{!}}{{!}} ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "Common.autoCollapse" ) ) ) {
}}
na kod:
{{Pre
|1=if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) {{!}}{{!}} ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) {
}}
----
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 13:34, 8 sie 2022 (CEST)
=== Poprawka, by zdarzenia nie były w postaci podwójnej, tzn. ze strony: {{LinkKomunikat2|common.js}} (strona {{Np|MediaWiki|link=tak}}), i {{LinkUżytkownik2|Persino/common.js}} (strona użytkownika - {{Np|User|link=tak}}) ===
{{Ping|Wargo}}Zrobiłem tak, by zdarzenia nie były w postaci podwójnej, tzn. ze strony MediaWiki: {{LinkKomunikat2|common.js}}, i strony użytkownika: {{LinkUżytkownik2|Persino/common.js}}, jeżeli takową stronę użytkownik posiada. Zrobiłem też tam parę drobnych innych edycji. Mówiąc najprostszej, zawartością z: {{LinkUżytkownik2|Persino/common.js}}, z pod {{Code|/**/}} zastąp zawartość strony: {{LinkKomunikat2|common.js}}. Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 07:13, 9 sie 2022 (CEST)
=== Poprawka strony {{LinkKomunikat2|Gadget-delete-local.js}}, kilka linijek ===
{{Ping|Wargo}} Czy mógłbyś zamienić zawartość strony {{LinkKomunikat2|Gadget-delete-local.js}} na {{LinkUżytkownik2|Persino/Gadget-delete-local.js}}.
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 07:13, 9 sie 2022 (CEST)
=== Przecieki pamięci w {{LinkKomunikat2|common.js}} w połączeniu z {{LinkUżytkownik2|Persino/common.js}} ===
{{Ping|Wargo}} Czy mógłbyś stronę {{LinkKomunikat2|common.js}} podmienić z zawartością strony {{LinkUżytkownik2|Persino/common.js}} z pod linii /**/. Z góry dziękuję za spełnienie prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 17:37, 15 sie 2022 (CEST)
=== Usunięcie funkcji {{Code|Promise}} z funkcji {{Code|Common.RamkiTableIDiv}}, a nowa poprawka w {{LinkKomunikat2|common.js}} przy pomocy {{LinkUżytkownik2|Persino/common.js}} ===
{{Ping|Wargo}} Kiedyś funkcja {{Code|Common.RamkiTableIDiv}} była uruchamiana za pomocą zwykłej funkcji bez umieszczenia go w bloku {{Code|$}}, a teraz jest ona umieszczony właśnie w nim, więc {{Code|Promise}} jest już w nim nie potrzebna, więc usunąłem z tej funkcji właśnie nią, więc funkcję {{Code|Common.RamkiTableIDiv}} musiałem zmodyfikować.
----
----
Zadanie pierwsze: Czy mógłbyś definicję funkcji {{Code|Common.RamkiTableIDiv}} w {{LinkKomunikat2|common.js}} zastąpić nową jego definicją z {{LinkUżytkownik2|Persino/common.js}}, wraz z jego komentarzami, i z komentarzami uruchamiania tej funkcji dla funkcji {{Code|$}}.
Zadanie drugie: Linie, tzn.: 22-26, na stronie {{LinkKomunikat2|common.js}} zamienić na linie: 24-34 ze strony {{LinkUżytkownik2|Persino/common.js}}.
Zadanie trzecie: Dodać niektóre komentarze, które dodałem do {{LinkUżytkownik2|Persino/common.js}}.
----
Najłatwiej wykonać te trzy zadania jest sposób: zawartość na stronie {{LinkKomunikat2|common.js}} zastąpić zawartością z {{LinkUżytkownik2|Persino/common.js}} z pod linii /**/, ze względu, że umieściłem tam dodatkowe komentarze, co możesz sprawdzić, co się zmieniło w historii zmian.
----
----
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 17:38, 16 sie 2022 (CEST)
p87ylhso0k3filq4keg7oup3je3xxc4
437933
437932
2022-08-17T01:24:33Z
Persino
2851
/* Usunięcie funkcji {{Code|Promise}} z funkcji {{Code|Common.RamkiTableIDiv}}, a nowa poprawka w {{LinkKomunikat2|common.js}} przy pomocy {{LinkUżytkownik2|Persino/common.js}} */
wikitext
text/x-wiki
<noinclude>__LINKNOWEJSEKCJI__ [[Kategoria:Księga próśb i zadań]]</noinclude>
{{fmbox|tekst=UWAGA: Nowe zgłoszenia o innym temacie niż to co dotyczy [[Wikibooks:Prośby do administratorów interfejsu/Zgłoszenia]] lub łamiące zasady [[Wikibooks:Wikietykieta|Wikietykiety]] mogą być bezwarunkowo wycofywane z tej strony}}
<!-- Nowe zgłoszenia wstawiaj poniżej tej linii. Powyżej tej linii nic nie usuwaj. Nie usuwaj tej linii -->
== Usunięcie wymuszenia białego tła w tabelach. ==
Zwracam się z prośbą o usunięcie [[MediaWiki:Common.css]] fragmentu
<syntaxhighlight lang="css">
}
+
table.wikitable td,
+
table.prettytable td {
+
background: #f9f9f9;
</syntaxhighlight>
Fragment ten wymusza białe tło w tabelach, co uniemożliwia zastosowanie kolorowych komórek. Takowe bardzo by się przydały np. w opracowywanym przeze [[Zbiór zadań maturalnych/Biologia|Zbiorze zadań maturalnych z Biologii]] jak np. tu: [[:Kategoria:Zbiór zadań maturalnych/podstawa programowa 2017/Biologia/Zakres rozszerzony/Treści nauczania/II/3/1]]. Póki co posiłkuję się obramowaniem, chciałbym jednak docelowo zastosować kolorowanie komórek.
Z góry dziękuję za rozpatrzenie mojej prośby.
[[Wikipedysta:Superjurek|Superjurek]] ([[Dyskusja wikipedysty:Superjurek|dyskusja]]) 22:42, 16 kwi 2021 (CEST)
-----
{{Ping|Superjurek}}Spróbuj użyć zapisu, np.:
<syntaxhighlight lang="css">
background-color: blue !important;
color:white !important;
</syntaxhighlight>
zamiast:
<syntaxhighlight lang="css">
background-color: blue;
color:white;
</syntaxhighlight>
to powinno naprawić cały problem! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:05, 27 maj 2022 (CEST)
==Wstawianie kodu do {{LinkKomunikat2|Common.js}}==
Czy mógłbyś wsadzić do tej strony {{Code|.js}} kod:
<syntaxhighlight lang="JavaScript">
function WyswietlStronyKsiazki(){
function WikikodTitle(data,tabs,titles,tabstrona){
var title=data.parse.title;
var wikikod=data.parse.text['*'];
var elements=tabstrona[title];
for(var q in elements){
elements[q].innerHTML=wikikod;
var a=elements[q].getElementsByTagName('a');
if((a!==null)&&(a.length>0)){
var lena=a.length;
for(var i=0;i<lena;++i){
var href=a[i].getAttribute('href');
if(href!==null){
var re=/^[^\?]+\?[^&]+=[^&]*&?/g;
if(!re.test(href)){
var re2=/#/g;
var s=href.search(re2);
if(s!=-1){
var re=/^\/wiki\//g;
if(re.test(href)){
var href2=href.substring(6,s)
href2=decodeURI(href2);
href2=href2.replace(/[_\s]+/g," ");
for(var s=0;s<titles.length;s++){
var strona=titles[s];
if(href2==strona){
var href3=href.replace(/^[^#]*/g,"");
var a_toc=a[i];
a_toc.setAttribute('href',encodeURI(href3));
a_toc.setAttribute("title","");
}
}
}
}else{
var re=/^\/wiki\//g;
if(re.test(href)){
var hrefv=href.replace(re,"");
var hrefs=decodeURI(hrefv);
hrefs=hrefs.replace(/[_\s]+/g," ");
for(var s=0;s<titles.length;s++){
var strona=titles[s];
if(hrefs==strona){
var hrefs2=hrefv.replace(/^[^\/]*\//g,"");
var a_toc=a[i];
a_toc.setAttribute('href','#'+hrefs2);
a_toc.setAttribute("title","");
}
}
}
}
}
}
}
}
}
var tab_toc=new Array("toc","toc_spis");
for(var d=0;d<tab_toc.length;++d){
var toc=document.getElementsByClassName(tab_toc[d]);
if((toc!==null)&&(toc.length>0)){
for(var q in elements){
var num=new Array();
var v=0;
for(var e=0;e<tabs.length;++e){
if(tabs[e]==title){
v+=1;
if(parseInt(q)+1==v){
num.push(parseInt(e)+1);
break;
}
}
}
var headline=elements[q].getElementsByClassName("mw-headline");
if((headline!==null)&&(headline.length>0)){
var ulozenie=0;
var ostanie=0;
var len=headline.length;
var naglowek="";
var liczba_ulozenia_w_menu_spisu_tresci=1;
var h_number=1;
for (var k=0;k<len;++k){
var element2=headline[k];
var nag=element2.innerHTML;
var nag2=element2.getAttribute('id');
var h=element2.parentNode.tagName;
var h_numer=h.replace(/^[^\d]+/g,"");
h_numer=parseInt(h_numer)
if((ulozenie==0)||(ulozenie>=h_numer)){
ulozenie=h_numer-1;
}else {
if(ostatnie+1<h_numer-ulozenie){
ulozenie=h_numer-ostatnie-1;
}
}
ostatnie=h_numer-ulozenie;
h_numer=h_numer-ulozenie;
if(k==0){
num.push(1);
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="<ul><li><a href=\"#"+nag2+"\">"+nag+"</a>";
}else{
if(h_numer==liczba_ulozenia_w_menu_spisu_tresci){
num[num.length-1]+=1;
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="</li><li><a href=\"#"+nag2+"\">"+nag+"</a>";
}else{
if(h_numer>liczba_ulozenia_w_menu_spisu_tresci){
num.push(1);
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="<ul><li><a href=\"#"+nag2+"\">"+nag+"</a>";
liczba_ulozenia_w_menu_spisu_tresci=h_numer;
}else{
if(h_numer<liczba_ulozenia_w_menu_spisu_tresci){
num.splice(num.length-liczba_ulozenia_w_menu_spisu_tresci+h_numer,liczba_ulozenia_w_menu_spisu_tresci-h_numer);
num[num.length-1]+=1;
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+=('</li></ul>'.repeat(liczba_ulozenia_w_menu_spisu_tresci-h_numer))+"</li><li><a href=\"#"+nag2+"\">"+nag+"</a>";
liczba_ulozenia_w_menu_spisu_tresci=h_numer;
}
}
}
}
}
if(naglowek!=""){
naglowek+=('</li></ul>'.repeat(liczba_ulozenia_w_menu_spisu_tresci));
for(var b=0;b<toc.length;++b){
var a2=toc[b].getElementsByTagName('a');
if((a2!=null)&&(a2.length>0)){
for(var y=0;y<a2.length;++y){
var parent=a2[y].parentNode;
var href=a2[y].getAttribute('href');
href=href.replace(/^#/g,"");
var title2=title.replace(/^[^\/]+\//g,"");
if(href==title2.replace(/[_ ]+/g,"_")+((q>0)?("_"+(parseInt(q)+1)):"")){
var div=document.createElement('div');
div.innerHTML=naglowek;
var links=a2[y].getElementsByClassName('toctext');
if((links!=null)&&(links.length>0)){
var link=links[0].innerHTML;
if(link==title2){
parent.appendChild(div.getElementsByTagName('ul')[0]);
}
}
}
}
}
}
}
}
}
}
}
for(var d=0;d<tab_toc.length;++d){
var toc_pos=document.getElementsByClassName(tab_toc[d]);
if((toc_pos!==null)&&(toc_pos.length>0)){
for(var w=0;w<toc_pos.length;++w){
var li=toc_pos[w].getElementsByTagName('li');
var poziom;
var section=1;
for(var z=0;z<li.length;++z){
var parent=li[z].parentNode.parentNode;
if(parent!==null){
var klasa=parent.getAttribute('class');
if(klasa!==null){
var poziom=klasa.match(/toclevel-\d+/g);
if(poziom!==null){
poziom=parseInt(poziom.toString().match(/\d+$/).toString())+1;
}else{
poziom=1;
}
}else{poziom=1;}
}else{poziom=1;}
var klasa=li[z].getAttribute('class');
if(klasa!==null){
var czy_section=klasa.match(/tocsection-\d+/);
if(czy_section!==null){
klasa=klasa.replace(/tocsection-\d+/g,"tocsection-"+section);
li[z].setAttribute('class',klasa);
}else{
li[z].classList.add("tocsection-"+section);
}
var czy_level=klasa.match(/toclevel-\d+/);
if(czy_level!==null){
klasa=li[z].getAttribute('class');
klasa=klasa.replace(/toclevel-\d+/g,"toclevel-"+poziom);
li[z].setAttribute('class',klasa);
}else{
li[z].classList.add("toclevel-"+poziom);
}
}else{
li[z].setAttribute('class',"toclevel-"+poziom+" tocsection-"+section)
}
section=section+1;
}
}
}
}
var headline=document.getElementsByClassName('mw-headline');
if((headline)&&(headline.length>0)){
for(var i=0;i<headline.length;++i){
var c=1;
var el=headline[i];
var id0=el.innerHTML;
id0=id0.replace(/[_\s]+/g,"_");
id0=id0.replace(/<[^<>]+>/g,"");
for(var j=0;j<i;++j){
var el1=headline[j];
var id1=el1.innerHTML;
id1=id1.replace(/[_\s]+/g,"_");
id1=id1.replace(/<[^<>]+>/g,"");
if(id0==id1){
++c;
}
}
if(c==1){
el.setAttribute('id',id0);
}else{
el.setAttribute('id',id0+"_"+c);
}
}
}
var tab_toc=new Array("toc","toc_spis");
for(d=0;d<tab_toc.length;++d){
var toc_pos=document.getElementsByClassName(tab_toc[d]);
if((toc_pos!==null)&&(toc_pos.length>0)){
for(var w=0;w<toc_pos.length;++w){
var toc=toc_pos[w];
var a=toc.getElementsByTagName('a');
if((a)&&(a.length>0)){
for(var p=0;p<a.length;++p){
var strona=a[p].getElementsByClassName('toctext')[0].innerHTML.replace(/[_\s]+/g,"_");
strona=strona.replace(/<[^<>]+>/g,"");
var c=1;
for(var v=0;v<p;++v){
var strona2;
strona2=a[v].getElementsByClassName('toctext')[0].innerHTML.replace(/[_\s]+/g,"_");
strona2=strona2.replace(/<[^<>]+>/g,"");
if(strona==strona2){
++c;
}
}
strona=strona.replace(/<[^<>]+>/g,"");
if(c==1){
a[p].setAttribute('href',"#"+strona);
}else{
a[p].setAttribute('href',"#"+strona+"_"+c);
}
}
}
}
}
}
}
function StronaSubst(data){
var wikikod=data.parse.text['*'];
var elem=document.createElement('div');
elem.innerHTML=wikikod;
var klasa_mw_parser_out=elem.getElementsByClassName('mw-parser-output');
var wikikod_wyodrepniony=(((klasa_mw_parser_out)&&(klasa_mw_parser_out.length==1))?(klasa_mw_parser_out[0].innerHTML):wikikod);
var czy_wikikod=wikikod_wyodrepniony.match(/^\s*$/g);
if(czy_wikikod){return;}
var strona_subst="strona_subst";
var tagclass=document.getElementsByClassName(strona_subst);
if(tagclass==null){return null;}
var liczba_elementow=tagclass.length;
if(liczba_elementow==0){return null;}
var titles=new Array();
var tabstrona=new Array();
var tabs=new Array();
for (var i=0;i<liczba_elementow;++i){
var element=tagclass[i];
if(element.tagName!="DIV"){return null;}
var strona=element.innerHTML;
var re = /^[_ ]*$/g;
var dopasowanie = re.test(strona);
if(dopasowanie){return null;};
strona=strona.replace(/^[_ ]*/g,"");
strona=strona.replace(/[_ ]*$/g,"");
strona=strona.replace(/[_ ]+/g," ");
tabs[i]=strona;
var czy=false;
for(var d in titles){
if(titles[d]==strona){
czy=true;
break;
}
}
if(!czy){
titles[titles.length]=strona;
}
if(tabstrona[strona]==null){
tabstrona[strona]=new Array();
}
var tab=tabstrona[strona];
var tablen=tab.length;
tabstrona[strona][tablen]=element;
}
for ( var p in titles ) {
var strona=titles[p];
var api=new mw.Api;
api.get({
action: 'parse',
format: 'json',
prop: 'text',
title: strona,
text: '{{:'+strona+'}}',
disabletoc: true,
disablelimitreport: true,
contentmodel: 'wikitext'
}).done(function(data){
WikikodTitle(data,tabs,titles,tabstrona);
});
}
}
var strona = mw.config.get('wgPageName');
var api=new mw.Api;
api.get({
action: 'parse',
format: 'json',
prop: 'text',
title: strona,
text: '{{#invoke:StronicowyParser|CzyStronaSubst}}',
disabletoc: true,
disablelimitreport: true,
contentmodel: 'wikitext'
}).done(function(data){
StronaSubst(data)
});
}
$(WyswietlStronyKsiazki);
</syntaxhighlight>
Ten program {{Code|.js}} znajduje się na stronie: {{LinkUżytkownik2|Persino/common.js}}. Jak wstawisz ten kod do strony {{LinkKomunikat2|Common.js}}, to powinno wtedy zadziałać ładowanie modułów książki, za pomocą JavaScript, na stronie {{LinkUżytkownik2|Persino/Wersja do druku}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:09, 13 lis 2021 (CET)
== Gadżet StronaSubst - dodawanie do listy gadżetów ==
Mamy sobie kod JavaScript {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} i opis gadżetu {{LinkUżytkownik2|Persino/Gadget-StronaSubst}}, czy mógłbyś przenieść na strony w przestrzeni nazw {{Np|MediaWiki|link=tak}}, i wywołaniu gadżetu w takiej formie jak w {{LinkUżytkownik2|Persino/Gadgets-definition}} przenieść na stronę {{LinkKomunikat2|Gadgets-definition}}. Wtedy strona {{LinkUżytkownik2|Persino/Wersja do druku}} powinna działać! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:14, 27 lis 2021 (CET)
=== Zamienianie kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}} ===
{{Ping|Wargo}}Chodzi tutaj, że jak będzie link do artykułu w nagłówku, to, żeby nie pojawiało się pole '''[ artykuł | edytuj ]''' zamiast '''[ edytuj ]''' - aktualnie w {{LinkKomunikat2|Gadget-StronaSubst.js}} pole '''[ artykuł | edytuj ]''' pojawia się zawsze zamiast '''[ edytuj ]''', wtedy gdy ma zawartość '''strona_subst''' jest nie pusta, to algorytm jest zakańczany. A jak jest nazwa strony w zawartości div-a '''strona_subst''', a nie link w nagłówku, to wtedy ma się prawo pojawić '''[ artykuł | edytuj ]''' zamiast '''[ edytuj ]'''. Czy mógłbyś wersję {{LinkKomunikat2|Gadget-StronaSubst.js}} zamienić na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}. Z góry dziękuję za rozpatrzenie mojej prośby! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 10:13, 30 lis 2021 (CET)
----
{{Ping|Wargo}} Jeszcze, czy mógłbyś zamienić tekst w {{LinkKomunikat2|Gadget-StronaSubst}} z:
{{Pre|(bez sekcji "Spis treści" i "Licencja")}}
na
{{Pre|(bez sekcji "Spis treści", "Bibliografia" i "Licencja")}}
[[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:18, 1 gru 2021 (CET)
=== Ostatnia poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}===
{{Ping|Wargo}}Chodzi tutaj, że algorytm zawiesza się na artykule {{LinkGłówna|Mechanika kwantowa/Mechanika kwantowa}}, to co poprawiłem już tak przestaje być, błąd znikł! Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 18:30, 3 gru 2021 (CET)
=== Miejmy nadzieję, że to jest ostatnia poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}===
{{Ping|Wargo}}Chodzi tutaj, że algorytm ma błędy JavaScript na stronie, przy danej książce: {{LinkGłówna|Szachy}}, czyli przy artykule: {{LinkGłówna|Szachy/Szachy}} - błąd tylko widać, gdy chcemy zbadać element, moja poprawka usuwa ten błąd! Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:50, 4 gru 2021 (CET)
=== Następna poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}} ===
{{Ping|Wargo}}Chodzi tutaj, że algorytm nie wyświetla w TOC (wbudowany spis treści) podrozdziałów dla artykułu {{LinkGłówna|Matematyka dla liceum/Matematyka dla liceum}}, moja poprawka usuwa ten błąd. Skrypt porządkuje artykuły według nagłówków na stronie tego artykułu w TOC, a zestaw artykułów, w danek sekcji, wyświetla, również w TOC, je przydzielone do niej. Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:51, 7 gru 2021 (CET)
=== Poważne poprawki w {{LinkKomunikat2|Gadget-StronaSubst.js}} na podstawie {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} oraz dodanie i zmiana pewnych gadżetów ===
{{Ping|Wargo}} Następne poprawki dotyczące wpisu w {{LinkKomunikat2|Gadget-StronaSubst.js}}, co do zauważonych drobnych błędów, czyli mógłbyś dokonać zamiany kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}.
Z góry dziękuję. Poza tym wszystko działa, od razu dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:32, 8 gru 2021 (CET)
----
{{Ping|Wargo}} Jeszcze, czy mógłbyś zamienić tekst w {{LinkKomunikat2|Gadget-StronaSubst}} z:
{{Pre|(bez sekcji "Spis treści", "Bibliografia" i "Licencja")}}
na
{{Pre|(bez sekcji: "Spis treści", "Bibliografia", "Zobacz też", "Inne", "Licencja" i tym podobne)}}
Dziękuję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 05:43, 9 gru 2021 (CET)
----
{{Ping|Wargo}} Czy mógłbyś uzupełnić {{LinkKomunikat2|Gadgets-definition}}, według {{LinkUżytkownik2|Persino/Gadgets-definition}} - szczególnie trzeba naprawić odwołanie do gadżetu StronaSubst, i dodać gadżety: {{LinkUżytkownik2|Persino/Gadget-gConfig.js}} (jego opis jest w {{LinkUżytkownik2|Persino/Gadget-gConfig}}), przenosząc go do {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis do {{LinkKomunikat2|Gadget-gConfig}}), a także drugi gadżet dotyczący szablonu {{s|Cytuj}} przenieś z {{LinkUżytkownik2|Persino/Gadget-citation-access-info.js}} (jego opis to {{LinkUżytkownik2|Persino/Gadget-citation-access-info}}) do {{LinkKomunikat2|Gadget-citation-access-info.js}} (a jego opis do {{LinkKomunikat2|Gadget-citation-access-info}}).
Gadżet '''gConfig''' potrzebny mi jest do gadżetu {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}}, którego zawartość należy przenieść do {{LinkKomunikat2|Gadget-StronaSubst.js}}, a gadżet {{LinkUżytkownik2|Persino/Gadget-citation-access-info.js}}, potrzebny mi jest do szablonu {{s|Cytuj}} do dymku do pełnej wersji tego szablonu, który należy przenieść do {{LinkKomunikat2|Gadget-citation-access-info.js}}.
Proszę o pilną reakcję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:04, 11 gru 2021 (CET)
----
Również proszę o zastąpienie strony komunikatu {{LinkKomunikat2|Gadget-map-toggler.js}} stroną {{LinkUżytkownik2|Persino/Gadget-map-toggler.js}}. Z góry dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 18:38, 11 gru 2021 (CET)
== Zamiana wartości linkowej i szablonowej ==
{{Ping|Wargo}}Czy mógłbyś zamienić na stronie: {{LinkUżytkownik2|Rychozol/common.js}}, z wartości: {{Nowiki|[[GNU Free Documentation License|GFDL]]}}, na: {{Nowiki|[[Wikibooks:GNU Free Documentation License|GFDL]]}}, a także na tej samej stronie wartość: {{s|clear}}, na {{s|BrClear}}, ponieważ ze względu na zmianę nazw stron. Z góry dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:35, 13 gru 2021 (CET)
<del>== Dalsze zmiany na stronach gadżetów (pilne) ==
{{Ping|Wargo}}Czy mógłbyś zainstalować gadżet "Gadget-gConfig", tak jak na stronie {{LinkUżytkownik2|Persino/Gadgets-definition}} (pierwsza linijka) w {{LinkKomunikat2|Gadgets-definition}}, a co do tego, jego kod {{LinkUżytkownik2|Persino/Gadget-gConfig.js}} zainstalować w miejscu {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis jest w {{LinkUżytkownik2|Persino/Gadget-gConfig}}), przenosząc go do {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis do {{LinkKomunikat2|Gadget-gConfig}}). A później zaaktualizuj gadżet {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}, a także zainstalować w miejscu {{LinkKomunikat2|Gadget-Funkcje.js}} gadżet {{LinkUżytkownik2|Persino/Gadget-Funkcje.js}}, a również zaktualizować wpis dla gadżetu StronaSubst tak jak w {{LinkUżytkownik2|Persino/Gadgets-definition}}. A później sprawdzić, czy wszystko działa. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 13:19, 4 lut 2022 (CET)</del>
== Przepełnienie scrollbarów, poszczególnych elementów strony, a ustawienia różnych klas, jeżeli takowe istnieją ==
{{Ping|Wargo}}Czy mógłbyś uwzględnić na stronie {{LinkKomunikat2|Common.js}} część mojej strony, która jest po sekwencji /**/, będąca na stronie {{LinkUżytkownik2|Persino/common.js}}. Ten skrypt sprawdza, czy nastąpiło przepełnienie elementów strony dokumentu HTML Wikibooks, a jeżeli nastąpiło, to następuje ustawienie tam odpowiednich klas, a jeżeli ono znikło, to usunięcie tych klas. Ten skrypt jest mi potrzebny do szablonu {{s|StronaStart}} i jego pokrewnych oraz do mojego ustawienia skórki vector-2022, która jest w mojej przestrzeni użytkownika. Dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:23, 27 maj 2022 (CEST)
== Aktualizacja przepełnienia scrollbarów i implementacja sticky ==
{{Ping|Wargo}} Czy mógłbyś uwzględnić na stronie {{LinkKomunikat2|Common.js}} część mojej strony, która jest po sekwencji /**/, będąca na stronie {{LinkUżytkownik2|Persino/common.js}}. W przypadku pierwszego algorytmu, dodałem tam klasy {{Code|mw-overflow-x}} i {{Code|mw-overflow-y}}, które ten algorytm rozpoznaje, i dla nich liczy, czy nastąpiło to właśnie przepełnienie. A wcześniej liczyło dla wszystkich znaczników na stronie, co spowalniało całą stronę. Tam, gdzie, ważne jest liczenie przepełnienie wstawiłem {{Code|mw-overflow-x}}, czy {{Code|mw-overflow-y}}, czyli algorytm ten tam powinien działać, co można sprawdzić na stronie głównej tego projektu ({{NAZWASERWISU|link=tak}}). Drugi algorytm jest rozszerzenie właściwości {{Code|position:sticky}}, który on nie działa, gdy choćby jeden z rodziców jest z nie {{Code|overflow:visible}}, ale z {{Code|overflow}}, a ja zrobiłem, że jednak zaczeło działać, a ja tak to zrobiłem: {{Code|position:sticky}} zastąpiłem {{Code|position:absolute}}, w tym znaczników ustawiam {{Code|mw-sticky-y}} (przesuw w pionie) lub {{Code|mw-sticky-x}} (przesuw w poziomie), wtedy ten algorytm JavaScript działa tak, że pudełko przesuwa się od pewnej granicy do pewnej, ale nigdy nie wychodzi poza te granice, czyli działa podobnie jak {{Code|position:sticky}}. Dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 12:41, 9 lip 2022 (CEST)
==Aktualizacja skryptów na {{LinkKomunikat2|common.js}} z {{LinkUżytkownik2|Persino/common.js}}==
{{Ping|Wargo}} Czy mógłbyś zaktualizować kod na stronie {{LinkKomunikat2|common.js}} ze strony {{LinkUżytkownik2|Persino/common.js}} pod znakiem {{Code|/**/}}. Zdefiniowałem przestrzeń nazw {{Code|Common}} definicją:
{{Pre|var Common{{=}}new Array();}}
Prawie wszystkie funkcje ze strony {{LinkKomunikat2|common.js}} przeniosłem do tej przestrzeni na stronie {{LinkUżytkownik2|Persino/common.js}} (tutaj wszystkie funkcje są w przestrzeni {{Code|Common}}). Rozwinąłem funkcję {{Code|Common.ScrollBarOverflow}}, {{Code|Common.StickyXY}} i {{Code|Common.OptimalXY}}. Napisałem od nowa funkcje: {{Code|Common.RamkiTableIDiv}} i {{Code|Common.ZdarzeniaDodatkoweFunkcyjneXY}} oraz funkcję do obsługi szablonu {{s|StronaStart}} i jego pokrewnych książkowych z definiowałem w postaci: {{Code|Common.StronaStart}}.
Co oznaczają te funkcje:
* {{Code|Common.ScrollBarOverflow}} - do generowania pewnych klas, które służą do obsługi pudełka z paskami przewijania,
* {{Code|Common.StickyXY}} - aktualizacja funkcji {{Code|position:sticky}}, tam gdzie go nie można go użyć, do używamy tej funkcji,
* {{Code|Common.OptimalXY}} - do obsługi boksów na stronach z użytymi szablonami stronicowymi książkowymi otwierającymi i zamykającymi,
* {{Code|Common.RamkiTableIDiv}} - dodaje dalsze funkcje przy przyciskach tabel i ramek, nawigacyjnych,
* {{Code|Common.ZdarzeniaDodatkoweFunkcyjneXY}} - dodaje zdarzenia do obsługi funkcji: {{Code|Common.StickyXY}} i {{Code|Common.OptimalXY}},
* {{Code|Common.StronaStart}} - służy do obsługi spisu treści i boksów szablonu {{s|StronaStart}}.
Na stronach podręcznikowych boksy i spisy treści są responsywne według moich ustawień, a dla wszystkich użytkowników będą responsywne po zaktualizowaniu strony {{LinkKomunikat2|common.js}} przy pomocy {{LinkUżytkownik2|Persino/common.js}}.
----
Proszę o pilną reakcję i zrealizowanie mojej prośby. Z góry dziękuję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:55, 3 sie 2022 (CEST)
:Czy coś jest do usunięcia z obecnego common.js? Tj. czy coś stamtąd mam tym zastąpić? [[Wikipedysta:Wargo|Wargo]] ([[Dyskusja wikipedysty:Wargo|dyskusja]]) 20:55, 7 sie 2022 (CEST)
::{{Ping|Wargo}}Właśnie masz zastąpić nową wersją z pod /**/ z: {{LinkUżytkownik2|Persino/common.js}}, zastępując całą zawartość strony w: {{LinkKomunikat2|common.js}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:04, 7 sie 2022 (CEST)
:::{{Ping|Wargo}} Już możesz zastępować, wszystko gotowe! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:39, 7 sie 2022 (CEST)
===Ostatnia poprawka===
{{Ping|Wargo}}Czy mógłbyś linijkę kodu:
{{Pre|var top_ab{{=}}rect_rodzic[top]-margintop;
var bottom_ab{{=}}(wys-rect_rodzic[bottom])-marginbottom;
}}
poprawić na:
{{Pre|var top_ab{{=}}rect_rodzic[top];
var bottom_ab{{=}}(wys-rect_rodzic[bottom]);
}}
w funkcji: {{Code|Common.StickyXY}}, w {{LinkKomunikat2|common.js}} według {{LinkUżytkownik2|Persino/common.js}}. Tj. to linijka: 481-482.
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:51, 8 sie 2022 (CEST)
=== Miejmy nadzieję, że ostatnia poprawka na stronie {{LinkKomunikat2|common.js}} ===
{{Ping|Wargo}}Czy mógłbyś w kodzie w linii: 177 i 183, na stronie {{LinkKomunikat2|common.js}} według {{LinkUżytkownik2|Persino/common.js}} poprawić według schematu:
{{Pre
|collapseTable( i );
}}
zamienić na:
{{Pre
|Common.collapseTable( i );
}}
Poprawka jest ważna, bo tabele nawigacyjne, na stronie głównej i gdzieś indziej, nie chcą się kolapsować, a po tej operacji już będą się tak zachowywać!
----
W linii: 176 poprawić:
{{Pre
|1=if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) {{!}}{{!}} ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "Common.autoCollapse" ) ) ) {
}}
na kod:
{{Pre
|1=if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) {{!}}{{!}} ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) {
}}
----
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 13:34, 8 sie 2022 (CEST)
=== Poprawka, by zdarzenia nie były w postaci podwójnej, tzn. ze strony: {{LinkKomunikat2|common.js}} (strona {{Np|MediaWiki|link=tak}}), i {{LinkUżytkownik2|Persino/common.js}} (strona użytkownika - {{Np|User|link=tak}}) ===
{{Ping|Wargo}}Zrobiłem tak, by zdarzenia nie były w postaci podwójnej, tzn. ze strony MediaWiki: {{LinkKomunikat2|common.js}}, i strony użytkownika: {{LinkUżytkownik2|Persino/common.js}}, jeżeli takową stronę użytkownik posiada. Zrobiłem też tam parę drobnych innych edycji. Mówiąc najprostszej, zawartością z: {{LinkUżytkownik2|Persino/common.js}}, z pod {{Code|/**/}} zastąp zawartość strony: {{LinkKomunikat2|common.js}}. Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 07:13, 9 sie 2022 (CEST)
=== Poprawka strony {{LinkKomunikat2|Gadget-delete-local.js}}, kilka linijek ===
{{Ping|Wargo}} Czy mógłbyś zamienić zawartość strony {{LinkKomunikat2|Gadget-delete-local.js}} na {{LinkUżytkownik2|Persino/Gadget-delete-local.js}}.
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 07:13, 9 sie 2022 (CEST)
=== Przecieki pamięci w {{LinkKomunikat2|common.js}} w połączeniu z {{LinkUżytkownik2|Persino/common.js}} ===
{{Ping|Wargo}} Czy mógłbyś stronę {{LinkKomunikat2|common.js}} podmienić z zawartością strony {{LinkUżytkownik2|Persino/common.js}} z pod linii /**/. Z góry dziękuję za spełnienie prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 17:37, 15 sie 2022 (CEST)
=== Usunięcie funkcji {{Code|Promise}} z funkcji {{Code|Common.RamkiTableIDiv}}, a nowa poprawka w {{LinkKomunikat2|common.js}} przy pomocy {{LinkUżytkownik2|Persino/common.js}} ===
{{Ping|Wargo}} Kiedyś funkcja {{Code|Common.RamkiTableIDiv}} była uruchamiana za pomocą zwykłej funkcji bez umieszczenia go w bloku {{Code|$}}, a teraz jest ona umieszczony właśnie w nim, więc {{Code|Promise}} jest już w nim nie potrzebna, więc usunąłem z tej funkcji właśnie nią, więc funkcję {{Code|Common.RamkiTableIDiv}} musiałem zmodyfikować.
----
----
Zadanie pierwsze: Czy mógłbyś definicję funkcji {{Code|Common.RamkiTableIDiv}} w {{LinkKomunikat2|common.js}} zastąpić nową jego definicją z {{LinkUżytkownik2|Persino/common.js}}, wraz z jego komentarzami, i z komentarzami uruchamiania tej funkcji dla funkcji {{Code|$}}.
Zadanie drugie: Linie, tzn.: 22-26, na stronie {{LinkKomunikat2|common.js}} zamienić na linie: 24-34 ze strony {{LinkUżytkownik2|Persino/common.js}}.
Zadanie trzecie: Dodać niektóre komentarze, które dodałem do {{LinkUżytkownik2|Persino/common.js}}.
----
Najłatwiej wykonać te trzy zadania w sposób: zawartość na stronie {{LinkKomunikat2|common.js}} zastąpić zawartością z {{LinkUżytkownik2|Persino/common.js}} z pod linii /**/, ze względu, że umieściłem tam dodatkowe komentarze, co możesz sprawdzić, co się zmieniło w historii zmian.
----
----
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 17:38, 16 sie 2022 (CEST)
ev8yxrzwgc44aas8eobzw8xjfaj50ct
437939
437933
2022-08-17T03:34:25Z
Persino
2851
/* Usunięcie funkcji {{Code|Promise}} z funkcji {{Code|Common.RamkiTableIDiv}}, a nowa poprawka w {{LinkKomunikat2|common.js}} przy pomocy {{LinkUżytkownik2|Persino/common.js}} */
wikitext
text/x-wiki
<noinclude>__LINKNOWEJSEKCJI__ [[Kategoria:Księga próśb i zadań]]</noinclude>
{{fmbox|tekst=UWAGA: Nowe zgłoszenia o innym temacie niż to co dotyczy [[Wikibooks:Prośby do administratorów interfejsu/Zgłoszenia]] lub łamiące zasady [[Wikibooks:Wikietykieta|Wikietykiety]] mogą być bezwarunkowo wycofywane z tej strony}}
<!-- Nowe zgłoszenia wstawiaj poniżej tej linii. Powyżej tej linii nic nie usuwaj. Nie usuwaj tej linii -->
== Usunięcie wymuszenia białego tła w tabelach. ==
Zwracam się z prośbą o usunięcie [[MediaWiki:Common.css]] fragmentu
<syntaxhighlight lang="css">
}
+
table.wikitable td,
+
table.prettytable td {
+
background: #f9f9f9;
</syntaxhighlight>
Fragment ten wymusza białe tło w tabelach, co uniemożliwia zastosowanie kolorowych komórek. Takowe bardzo by się przydały np. w opracowywanym przeze [[Zbiór zadań maturalnych/Biologia|Zbiorze zadań maturalnych z Biologii]] jak np. tu: [[:Kategoria:Zbiór zadań maturalnych/podstawa programowa 2017/Biologia/Zakres rozszerzony/Treści nauczania/II/3/1]]. Póki co posiłkuję się obramowaniem, chciałbym jednak docelowo zastosować kolorowanie komórek.
Z góry dziękuję za rozpatrzenie mojej prośby.
[[Wikipedysta:Superjurek|Superjurek]] ([[Dyskusja wikipedysty:Superjurek|dyskusja]]) 22:42, 16 kwi 2021 (CEST)
-----
{{Ping|Superjurek}}Spróbuj użyć zapisu, np.:
<syntaxhighlight lang="css">
background-color: blue !important;
color:white !important;
</syntaxhighlight>
zamiast:
<syntaxhighlight lang="css">
background-color: blue;
color:white;
</syntaxhighlight>
to powinno naprawić cały problem! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:05, 27 maj 2022 (CEST)
==Wstawianie kodu do {{LinkKomunikat2|Common.js}}==
Czy mógłbyś wsadzić do tej strony {{Code|.js}} kod:
<syntaxhighlight lang="JavaScript">
function WyswietlStronyKsiazki(){
function WikikodTitle(data,tabs,titles,tabstrona){
var title=data.parse.title;
var wikikod=data.parse.text['*'];
var elements=tabstrona[title];
for(var q in elements){
elements[q].innerHTML=wikikod;
var a=elements[q].getElementsByTagName('a');
if((a!==null)&&(a.length>0)){
var lena=a.length;
for(var i=0;i<lena;++i){
var href=a[i].getAttribute('href');
if(href!==null){
var re=/^[^\?]+\?[^&]+=[^&]*&?/g;
if(!re.test(href)){
var re2=/#/g;
var s=href.search(re2);
if(s!=-1){
var re=/^\/wiki\//g;
if(re.test(href)){
var href2=href.substring(6,s)
href2=decodeURI(href2);
href2=href2.replace(/[_\s]+/g," ");
for(var s=0;s<titles.length;s++){
var strona=titles[s];
if(href2==strona){
var href3=href.replace(/^[^#]*/g,"");
var a_toc=a[i];
a_toc.setAttribute('href',encodeURI(href3));
a_toc.setAttribute("title","");
}
}
}
}else{
var re=/^\/wiki\//g;
if(re.test(href)){
var hrefv=href.replace(re,"");
var hrefs=decodeURI(hrefv);
hrefs=hrefs.replace(/[_\s]+/g," ");
for(var s=0;s<titles.length;s++){
var strona=titles[s];
if(hrefs==strona){
var hrefs2=hrefv.replace(/^[^\/]*\//g,"");
var a_toc=a[i];
a_toc.setAttribute('href','#'+hrefs2);
a_toc.setAttribute("title","");
}
}
}
}
}
}
}
}
}
var tab_toc=new Array("toc","toc_spis");
for(var d=0;d<tab_toc.length;++d){
var toc=document.getElementsByClassName(tab_toc[d]);
if((toc!==null)&&(toc.length>0)){
for(var q in elements){
var num=new Array();
var v=0;
for(var e=0;e<tabs.length;++e){
if(tabs[e]==title){
v+=1;
if(parseInt(q)+1==v){
num.push(parseInt(e)+1);
break;
}
}
}
var headline=elements[q].getElementsByClassName("mw-headline");
if((headline!==null)&&(headline.length>0)){
var ulozenie=0;
var ostanie=0;
var len=headline.length;
var naglowek="";
var liczba_ulozenia_w_menu_spisu_tresci=1;
var h_number=1;
for (var k=0;k<len;++k){
var element2=headline[k];
var nag=element2.innerHTML;
var nag2=element2.getAttribute('id');
var h=element2.parentNode.tagName;
var h_numer=h.replace(/^[^\d]+/g,"");
h_numer=parseInt(h_numer)
if((ulozenie==0)||(ulozenie>=h_numer)){
ulozenie=h_numer-1;
}else {
if(ostatnie+1<h_numer-ulozenie){
ulozenie=h_numer-ostatnie-1;
}
}
ostatnie=h_numer-ulozenie;
h_numer=h_numer-ulozenie;
if(k==0){
num.push(1);
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="<ul><li><a href=\"#"+nag2+"\">"+nag+"</a>";
}else{
if(h_numer==liczba_ulozenia_w_menu_spisu_tresci){
num[num.length-1]+=1;
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="</li><li><a href=\"#"+nag2+"\">"+nag+"</a>";
}else{
if(h_numer>liczba_ulozenia_w_menu_spisu_tresci){
num.push(1);
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="<ul><li><a href=\"#"+nag2+"\">"+nag+"</a>";
liczba_ulozenia_w_menu_spisu_tresci=h_numer;
}else{
if(h_numer<liczba_ulozenia_w_menu_spisu_tresci){
num.splice(num.length-liczba_ulozenia_w_menu_spisu_tresci+h_numer,liczba_ulozenia_w_menu_spisu_tresci-h_numer);
num[num.length-1]+=1;
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+=('</li></ul>'.repeat(liczba_ulozenia_w_menu_spisu_tresci-h_numer))+"</li><li><a href=\"#"+nag2+"\">"+nag+"</a>";
liczba_ulozenia_w_menu_spisu_tresci=h_numer;
}
}
}
}
}
if(naglowek!=""){
naglowek+=('</li></ul>'.repeat(liczba_ulozenia_w_menu_spisu_tresci));
for(var b=0;b<toc.length;++b){
var a2=toc[b].getElementsByTagName('a');
if((a2!=null)&&(a2.length>0)){
for(var y=0;y<a2.length;++y){
var parent=a2[y].parentNode;
var href=a2[y].getAttribute('href');
href=href.replace(/^#/g,"");
var title2=title.replace(/^[^\/]+\//g,"");
if(href==title2.replace(/[_ ]+/g,"_")+((q>0)?("_"+(parseInt(q)+1)):"")){
var div=document.createElement('div');
div.innerHTML=naglowek;
var links=a2[y].getElementsByClassName('toctext');
if((links!=null)&&(links.length>0)){
var link=links[0].innerHTML;
if(link==title2){
parent.appendChild(div.getElementsByTagName('ul')[0]);
}
}
}
}
}
}
}
}
}
}
}
for(var d=0;d<tab_toc.length;++d){
var toc_pos=document.getElementsByClassName(tab_toc[d]);
if((toc_pos!==null)&&(toc_pos.length>0)){
for(var w=0;w<toc_pos.length;++w){
var li=toc_pos[w].getElementsByTagName('li');
var poziom;
var section=1;
for(var z=0;z<li.length;++z){
var parent=li[z].parentNode.parentNode;
if(parent!==null){
var klasa=parent.getAttribute('class');
if(klasa!==null){
var poziom=klasa.match(/toclevel-\d+/g);
if(poziom!==null){
poziom=parseInt(poziom.toString().match(/\d+$/).toString())+1;
}else{
poziom=1;
}
}else{poziom=1;}
}else{poziom=1;}
var klasa=li[z].getAttribute('class');
if(klasa!==null){
var czy_section=klasa.match(/tocsection-\d+/);
if(czy_section!==null){
klasa=klasa.replace(/tocsection-\d+/g,"tocsection-"+section);
li[z].setAttribute('class',klasa);
}else{
li[z].classList.add("tocsection-"+section);
}
var czy_level=klasa.match(/toclevel-\d+/);
if(czy_level!==null){
klasa=li[z].getAttribute('class');
klasa=klasa.replace(/toclevel-\d+/g,"toclevel-"+poziom);
li[z].setAttribute('class',klasa);
}else{
li[z].classList.add("toclevel-"+poziom);
}
}else{
li[z].setAttribute('class',"toclevel-"+poziom+" tocsection-"+section)
}
section=section+1;
}
}
}
}
var headline=document.getElementsByClassName('mw-headline');
if((headline)&&(headline.length>0)){
for(var i=0;i<headline.length;++i){
var c=1;
var el=headline[i];
var id0=el.innerHTML;
id0=id0.replace(/[_\s]+/g,"_");
id0=id0.replace(/<[^<>]+>/g,"");
for(var j=0;j<i;++j){
var el1=headline[j];
var id1=el1.innerHTML;
id1=id1.replace(/[_\s]+/g,"_");
id1=id1.replace(/<[^<>]+>/g,"");
if(id0==id1){
++c;
}
}
if(c==1){
el.setAttribute('id',id0);
}else{
el.setAttribute('id',id0+"_"+c);
}
}
}
var tab_toc=new Array("toc","toc_spis");
for(d=0;d<tab_toc.length;++d){
var toc_pos=document.getElementsByClassName(tab_toc[d]);
if((toc_pos!==null)&&(toc_pos.length>0)){
for(var w=0;w<toc_pos.length;++w){
var toc=toc_pos[w];
var a=toc.getElementsByTagName('a');
if((a)&&(a.length>0)){
for(var p=0;p<a.length;++p){
var strona=a[p].getElementsByClassName('toctext')[0].innerHTML.replace(/[_\s]+/g,"_");
strona=strona.replace(/<[^<>]+>/g,"");
var c=1;
for(var v=0;v<p;++v){
var strona2;
strona2=a[v].getElementsByClassName('toctext')[0].innerHTML.replace(/[_\s]+/g,"_");
strona2=strona2.replace(/<[^<>]+>/g,"");
if(strona==strona2){
++c;
}
}
strona=strona.replace(/<[^<>]+>/g,"");
if(c==1){
a[p].setAttribute('href',"#"+strona);
}else{
a[p].setAttribute('href',"#"+strona+"_"+c);
}
}
}
}
}
}
}
function StronaSubst(data){
var wikikod=data.parse.text['*'];
var elem=document.createElement('div');
elem.innerHTML=wikikod;
var klasa_mw_parser_out=elem.getElementsByClassName('mw-parser-output');
var wikikod_wyodrepniony=(((klasa_mw_parser_out)&&(klasa_mw_parser_out.length==1))?(klasa_mw_parser_out[0].innerHTML):wikikod);
var czy_wikikod=wikikod_wyodrepniony.match(/^\s*$/g);
if(czy_wikikod){return;}
var strona_subst="strona_subst";
var tagclass=document.getElementsByClassName(strona_subst);
if(tagclass==null){return null;}
var liczba_elementow=tagclass.length;
if(liczba_elementow==0){return null;}
var titles=new Array();
var tabstrona=new Array();
var tabs=new Array();
for (var i=0;i<liczba_elementow;++i){
var element=tagclass[i];
if(element.tagName!="DIV"){return null;}
var strona=element.innerHTML;
var re = /^[_ ]*$/g;
var dopasowanie = re.test(strona);
if(dopasowanie){return null;};
strona=strona.replace(/^[_ ]*/g,"");
strona=strona.replace(/[_ ]*$/g,"");
strona=strona.replace(/[_ ]+/g," ");
tabs[i]=strona;
var czy=false;
for(var d in titles){
if(titles[d]==strona){
czy=true;
break;
}
}
if(!czy){
titles[titles.length]=strona;
}
if(tabstrona[strona]==null){
tabstrona[strona]=new Array();
}
var tab=tabstrona[strona];
var tablen=tab.length;
tabstrona[strona][tablen]=element;
}
for ( var p in titles ) {
var strona=titles[p];
var api=new mw.Api;
api.get({
action: 'parse',
format: 'json',
prop: 'text',
title: strona,
text: '{{:'+strona+'}}',
disabletoc: true,
disablelimitreport: true,
contentmodel: 'wikitext'
}).done(function(data){
WikikodTitle(data,tabs,titles,tabstrona);
});
}
}
var strona = mw.config.get('wgPageName');
var api=new mw.Api;
api.get({
action: 'parse',
format: 'json',
prop: 'text',
title: strona,
text: '{{#invoke:StronicowyParser|CzyStronaSubst}}',
disabletoc: true,
disablelimitreport: true,
contentmodel: 'wikitext'
}).done(function(data){
StronaSubst(data)
});
}
$(WyswietlStronyKsiazki);
</syntaxhighlight>
Ten program {{Code|.js}} znajduje się na stronie: {{LinkUżytkownik2|Persino/common.js}}. Jak wstawisz ten kod do strony {{LinkKomunikat2|Common.js}}, to powinno wtedy zadziałać ładowanie modułów książki, za pomocą JavaScript, na stronie {{LinkUżytkownik2|Persino/Wersja do druku}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:09, 13 lis 2021 (CET)
== Gadżet StronaSubst - dodawanie do listy gadżetów ==
Mamy sobie kod JavaScript {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} i opis gadżetu {{LinkUżytkownik2|Persino/Gadget-StronaSubst}}, czy mógłbyś przenieść na strony w przestrzeni nazw {{Np|MediaWiki|link=tak}}, i wywołaniu gadżetu w takiej formie jak w {{LinkUżytkownik2|Persino/Gadgets-definition}} przenieść na stronę {{LinkKomunikat2|Gadgets-definition}}. Wtedy strona {{LinkUżytkownik2|Persino/Wersja do druku}} powinna działać! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:14, 27 lis 2021 (CET)
=== Zamienianie kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}} ===
{{Ping|Wargo}}Chodzi tutaj, że jak będzie link do artykułu w nagłówku, to, żeby nie pojawiało się pole '''[ artykuł | edytuj ]''' zamiast '''[ edytuj ]''' - aktualnie w {{LinkKomunikat2|Gadget-StronaSubst.js}} pole '''[ artykuł | edytuj ]''' pojawia się zawsze zamiast '''[ edytuj ]''', wtedy gdy ma zawartość '''strona_subst''' jest nie pusta, to algorytm jest zakańczany. A jak jest nazwa strony w zawartości div-a '''strona_subst''', a nie link w nagłówku, to wtedy ma się prawo pojawić '''[ artykuł | edytuj ]''' zamiast '''[ edytuj ]'''. Czy mógłbyś wersję {{LinkKomunikat2|Gadget-StronaSubst.js}} zamienić na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}. Z góry dziękuję za rozpatrzenie mojej prośby! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 10:13, 30 lis 2021 (CET)
----
{{Ping|Wargo}} Jeszcze, czy mógłbyś zamienić tekst w {{LinkKomunikat2|Gadget-StronaSubst}} z:
{{Pre|(bez sekcji "Spis treści" i "Licencja")}}
na
{{Pre|(bez sekcji "Spis treści", "Bibliografia" i "Licencja")}}
[[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:18, 1 gru 2021 (CET)
=== Ostatnia poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}===
{{Ping|Wargo}}Chodzi tutaj, że algorytm zawiesza się na artykule {{LinkGłówna|Mechanika kwantowa/Mechanika kwantowa}}, to co poprawiłem już tak przestaje być, błąd znikł! Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 18:30, 3 gru 2021 (CET)
=== Miejmy nadzieję, że to jest ostatnia poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}===
{{Ping|Wargo}}Chodzi tutaj, że algorytm ma błędy JavaScript na stronie, przy danej książce: {{LinkGłówna|Szachy}}, czyli przy artykule: {{LinkGłówna|Szachy/Szachy}} - błąd tylko widać, gdy chcemy zbadać element, moja poprawka usuwa ten błąd! Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:50, 4 gru 2021 (CET)
=== Następna poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}} ===
{{Ping|Wargo}}Chodzi tutaj, że algorytm nie wyświetla w TOC (wbudowany spis treści) podrozdziałów dla artykułu {{LinkGłówna|Matematyka dla liceum/Matematyka dla liceum}}, moja poprawka usuwa ten błąd. Skrypt porządkuje artykuły według nagłówków na stronie tego artykułu w TOC, a zestaw artykułów, w danek sekcji, wyświetla, również w TOC, je przydzielone do niej. Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:51, 7 gru 2021 (CET)
=== Poważne poprawki w {{LinkKomunikat2|Gadget-StronaSubst.js}} na podstawie {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} oraz dodanie i zmiana pewnych gadżetów ===
{{Ping|Wargo}} Następne poprawki dotyczące wpisu w {{LinkKomunikat2|Gadget-StronaSubst.js}}, co do zauważonych drobnych błędów, czyli mógłbyś dokonać zamiany kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}.
Z góry dziękuję. Poza tym wszystko działa, od razu dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:32, 8 gru 2021 (CET)
----
{{Ping|Wargo}} Jeszcze, czy mógłbyś zamienić tekst w {{LinkKomunikat2|Gadget-StronaSubst}} z:
{{Pre|(bez sekcji "Spis treści", "Bibliografia" i "Licencja")}}
na
{{Pre|(bez sekcji: "Spis treści", "Bibliografia", "Zobacz też", "Inne", "Licencja" i tym podobne)}}
Dziękuję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 05:43, 9 gru 2021 (CET)
----
{{Ping|Wargo}} Czy mógłbyś uzupełnić {{LinkKomunikat2|Gadgets-definition}}, według {{LinkUżytkownik2|Persino/Gadgets-definition}} - szczególnie trzeba naprawić odwołanie do gadżetu StronaSubst, i dodać gadżety: {{LinkUżytkownik2|Persino/Gadget-gConfig.js}} (jego opis jest w {{LinkUżytkownik2|Persino/Gadget-gConfig}}), przenosząc go do {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis do {{LinkKomunikat2|Gadget-gConfig}}), a także drugi gadżet dotyczący szablonu {{s|Cytuj}} przenieś z {{LinkUżytkownik2|Persino/Gadget-citation-access-info.js}} (jego opis to {{LinkUżytkownik2|Persino/Gadget-citation-access-info}}) do {{LinkKomunikat2|Gadget-citation-access-info.js}} (a jego opis do {{LinkKomunikat2|Gadget-citation-access-info}}).
Gadżet '''gConfig''' potrzebny mi jest do gadżetu {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}}, którego zawartość należy przenieść do {{LinkKomunikat2|Gadget-StronaSubst.js}}, a gadżet {{LinkUżytkownik2|Persino/Gadget-citation-access-info.js}}, potrzebny mi jest do szablonu {{s|Cytuj}} do dymku do pełnej wersji tego szablonu, który należy przenieść do {{LinkKomunikat2|Gadget-citation-access-info.js}}.
Proszę o pilną reakcję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:04, 11 gru 2021 (CET)
----
Również proszę o zastąpienie strony komunikatu {{LinkKomunikat2|Gadget-map-toggler.js}} stroną {{LinkUżytkownik2|Persino/Gadget-map-toggler.js}}. Z góry dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 18:38, 11 gru 2021 (CET)
== Zamiana wartości linkowej i szablonowej ==
{{Ping|Wargo}}Czy mógłbyś zamienić na stronie: {{LinkUżytkownik2|Rychozol/common.js}}, z wartości: {{Nowiki|[[GNU Free Documentation License|GFDL]]}}, na: {{Nowiki|[[Wikibooks:GNU Free Documentation License|GFDL]]}}, a także na tej samej stronie wartość: {{s|clear}}, na {{s|BrClear}}, ponieważ ze względu na zmianę nazw stron. Z góry dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:35, 13 gru 2021 (CET)
<del>== Dalsze zmiany na stronach gadżetów (pilne) ==
{{Ping|Wargo}}Czy mógłbyś zainstalować gadżet "Gadget-gConfig", tak jak na stronie {{LinkUżytkownik2|Persino/Gadgets-definition}} (pierwsza linijka) w {{LinkKomunikat2|Gadgets-definition}}, a co do tego, jego kod {{LinkUżytkownik2|Persino/Gadget-gConfig.js}} zainstalować w miejscu {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis jest w {{LinkUżytkownik2|Persino/Gadget-gConfig}}), przenosząc go do {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis do {{LinkKomunikat2|Gadget-gConfig}}). A później zaaktualizuj gadżet {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}, a także zainstalować w miejscu {{LinkKomunikat2|Gadget-Funkcje.js}} gadżet {{LinkUżytkownik2|Persino/Gadget-Funkcje.js}}, a również zaktualizować wpis dla gadżetu StronaSubst tak jak w {{LinkUżytkownik2|Persino/Gadgets-definition}}. A później sprawdzić, czy wszystko działa. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 13:19, 4 lut 2022 (CET)</del>
== Przepełnienie scrollbarów, poszczególnych elementów strony, a ustawienia różnych klas, jeżeli takowe istnieją ==
{{Ping|Wargo}}Czy mógłbyś uwzględnić na stronie {{LinkKomunikat2|Common.js}} część mojej strony, która jest po sekwencji /**/, będąca na stronie {{LinkUżytkownik2|Persino/common.js}}. Ten skrypt sprawdza, czy nastąpiło przepełnienie elementów strony dokumentu HTML Wikibooks, a jeżeli nastąpiło, to następuje ustawienie tam odpowiednich klas, a jeżeli ono znikło, to usunięcie tych klas. Ten skrypt jest mi potrzebny do szablonu {{s|StronaStart}} i jego pokrewnych oraz do mojego ustawienia skórki vector-2022, która jest w mojej przestrzeni użytkownika. Dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:23, 27 maj 2022 (CEST)
== Aktualizacja przepełnienia scrollbarów i implementacja sticky ==
{{Ping|Wargo}} Czy mógłbyś uwzględnić na stronie {{LinkKomunikat2|Common.js}} część mojej strony, która jest po sekwencji /**/, będąca na stronie {{LinkUżytkownik2|Persino/common.js}}. W przypadku pierwszego algorytmu, dodałem tam klasy {{Code|mw-overflow-x}} i {{Code|mw-overflow-y}}, które ten algorytm rozpoznaje, i dla nich liczy, czy nastąpiło to właśnie przepełnienie. A wcześniej liczyło dla wszystkich znaczników na stronie, co spowalniało całą stronę. Tam, gdzie, ważne jest liczenie przepełnienie wstawiłem {{Code|mw-overflow-x}}, czy {{Code|mw-overflow-y}}, czyli algorytm ten tam powinien działać, co można sprawdzić na stronie głównej tego projektu ({{NAZWASERWISU|link=tak}}). Drugi algorytm jest rozszerzenie właściwości {{Code|position:sticky}}, który on nie działa, gdy choćby jeden z rodziców jest z nie {{Code|overflow:visible}}, ale z {{Code|overflow}}, a ja zrobiłem, że jednak zaczeło działać, a ja tak to zrobiłem: {{Code|position:sticky}} zastąpiłem {{Code|position:absolute}}, w tym znaczników ustawiam {{Code|mw-sticky-y}} (przesuw w pionie) lub {{Code|mw-sticky-x}} (przesuw w poziomie), wtedy ten algorytm JavaScript działa tak, że pudełko przesuwa się od pewnej granicy do pewnej, ale nigdy nie wychodzi poza te granice, czyli działa podobnie jak {{Code|position:sticky}}. Dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 12:41, 9 lip 2022 (CEST)
==Aktualizacja skryptów na {{LinkKomunikat2|common.js}} z {{LinkUżytkownik2|Persino/common.js}}==
{{Ping|Wargo}} Czy mógłbyś zaktualizować kod na stronie {{LinkKomunikat2|common.js}} ze strony {{LinkUżytkownik2|Persino/common.js}} pod znakiem {{Code|/**/}}. Zdefiniowałem przestrzeń nazw {{Code|Common}} definicją:
{{Pre|var Common{{=}}new Array();}}
Prawie wszystkie funkcje ze strony {{LinkKomunikat2|common.js}} przeniosłem do tej przestrzeni na stronie {{LinkUżytkownik2|Persino/common.js}} (tutaj wszystkie funkcje są w przestrzeni {{Code|Common}}). Rozwinąłem funkcję {{Code|Common.ScrollBarOverflow}}, {{Code|Common.StickyXY}} i {{Code|Common.OptimalXY}}. Napisałem od nowa funkcje: {{Code|Common.RamkiTableIDiv}} i {{Code|Common.ZdarzeniaDodatkoweFunkcyjneXY}} oraz funkcję do obsługi szablonu {{s|StronaStart}} i jego pokrewnych książkowych z definiowałem w postaci: {{Code|Common.StronaStart}}.
Co oznaczają te funkcje:
* {{Code|Common.ScrollBarOverflow}} - do generowania pewnych klas, które służą do obsługi pudełka z paskami przewijania,
* {{Code|Common.StickyXY}} - aktualizacja funkcji {{Code|position:sticky}}, tam gdzie go nie można go użyć, do używamy tej funkcji,
* {{Code|Common.OptimalXY}} - do obsługi boksów na stronach z użytymi szablonami stronicowymi książkowymi otwierającymi i zamykającymi,
* {{Code|Common.RamkiTableIDiv}} - dodaje dalsze funkcje przy przyciskach tabel i ramek, nawigacyjnych,
* {{Code|Common.ZdarzeniaDodatkoweFunkcyjneXY}} - dodaje zdarzenia do obsługi funkcji: {{Code|Common.StickyXY}} i {{Code|Common.OptimalXY}},
* {{Code|Common.StronaStart}} - służy do obsługi spisu treści i boksów szablonu {{s|StronaStart}}.
Na stronach podręcznikowych boksy i spisy treści są responsywne według moich ustawień, a dla wszystkich użytkowników będą responsywne po zaktualizowaniu strony {{LinkKomunikat2|common.js}} przy pomocy {{LinkUżytkownik2|Persino/common.js}}.
----
Proszę o pilną reakcję i zrealizowanie mojej prośby. Z góry dziękuję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:55, 3 sie 2022 (CEST)
:Czy coś jest do usunięcia z obecnego common.js? Tj. czy coś stamtąd mam tym zastąpić? [[Wikipedysta:Wargo|Wargo]] ([[Dyskusja wikipedysty:Wargo|dyskusja]]) 20:55, 7 sie 2022 (CEST)
::{{Ping|Wargo}}Właśnie masz zastąpić nową wersją z pod /**/ z: {{LinkUżytkownik2|Persino/common.js}}, zastępując całą zawartość strony w: {{LinkKomunikat2|common.js}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:04, 7 sie 2022 (CEST)
:::{{Ping|Wargo}} Już możesz zastępować, wszystko gotowe! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:39, 7 sie 2022 (CEST)
===Ostatnia poprawka===
{{Ping|Wargo}}Czy mógłbyś linijkę kodu:
{{Pre|var top_ab{{=}}rect_rodzic[top]-margintop;
var bottom_ab{{=}}(wys-rect_rodzic[bottom])-marginbottom;
}}
poprawić na:
{{Pre|var top_ab{{=}}rect_rodzic[top];
var bottom_ab{{=}}(wys-rect_rodzic[bottom]);
}}
w funkcji: {{Code|Common.StickyXY}}, w {{LinkKomunikat2|common.js}} według {{LinkUżytkownik2|Persino/common.js}}. Tj. to linijka: 481-482.
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:51, 8 sie 2022 (CEST)
=== Miejmy nadzieję, że ostatnia poprawka na stronie {{LinkKomunikat2|common.js}} ===
{{Ping|Wargo}}Czy mógłbyś w kodzie w linii: 177 i 183, na stronie {{LinkKomunikat2|common.js}} według {{LinkUżytkownik2|Persino/common.js}} poprawić według schematu:
{{Pre
|collapseTable( i );
}}
zamienić na:
{{Pre
|Common.collapseTable( i );
}}
Poprawka jest ważna, bo tabele nawigacyjne, na stronie głównej i gdzieś indziej, nie chcą się kolapsować, a po tej operacji już będą się tak zachowywać!
----
W linii: 176 poprawić:
{{Pre
|1=if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) {{!}}{{!}} ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "Common.autoCollapse" ) ) ) {
}}
na kod:
{{Pre
|1=if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) {{!}}{{!}} ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) {
}}
----
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 13:34, 8 sie 2022 (CEST)
=== Poprawka, by zdarzenia nie były w postaci podwójnej, tzn. ze strony: {{LinkKomunikat2|common.js}} (strona {{Np|MediaWiki|link=tak}}), i {{LinkUżytkownik2|Persino/common.js}} (strona użytkownika - {{Np|User|link=tak}}) ===
{{Ping|Wargo}}Zrobiłem tak, by zdarzenia nie były w postaci podwójnej, tzn. ze strony MediaWiki: {{LinkKomunikat2|common.js}}, i strony użytkownika: {{LinkUżytkownik2|Persino/common.js}}, jeżeli takową stronę użytkownik posiada. Zrobiłem też tam parę drobnych innych edycji. Mówiąc najprostszej, zawartością z: {{LinkUżytkownik2|Persino/common.js}}, z pod {{Code|/**/}} zastąp zawartość strony: {{LinkKomunikat2|common.js}}. Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 07:13, 9 sie 2022 (CEST)
=== Poprawka strony {{LinkKomunikat2|Gadget-delete-local.js}}, kilka linijek ===
{{Ping|Wargo}} Czy mógłbyś zamienić zawartość strony {{LinkKomunikat2|Gadget-delete-local.js}} na {{LinkUżytkownik2|Persino/Gadget-delete-local.js}}.
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 07:13, 9 sie 2022 (CEST)
=== Przecieki pamięci w {{LinkKomunikat2|common.js}} w połączeniu z {{LinkUżytkownik2|Persino/common.js}} ===
{{Ping|Wargo}} Czy mógłbyś stronę {{LinkKomunikat2|common.js}} podmienić z zawartością strony {{LinkUżytkownik2|Persino/common.js}} z pod linii /**/. Z góry dziękuję za spełnienie prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 17:37, 15 sie 2022 (CEST)
=== Usunięcie funkcji {{Code|Promise}} z funkcji {{Code|Common.RamkiTableIDiv}}, a nowa poprawka w {{LinkKomunikat2|common.js}} przy pomocy {{LinkUżytkownik2|Persino/common.js}} ===
{{Ping|Wargo}} Kiedyś funkcja {{Code|Common.RamkiTableIDiv}} była uruchamiana za pomocą zwykłej funkcji bez umieszczenia go w bloku {{Code|$}}, a teraz jest ona umieszczony właśnie w nim, więc {{Code|Promise}} jest już w nim nie potrzebna, więc usunąłem z tej funkcji właśnie nią, więc funkcję {{Code|Common.RamkiTableIDiv}} musiałem zmodyfikować.
----
----
Zadanie pierwsze: Czy mógłbyś definicję funkcji {{Code|Common.RamkiTableIDiv}} w {{LinkKomunikat2|common.js}} zastąpić nową jego definicją z {{LinkUżytkownik2|Persino/common.js}}, wraz z jego komentarzami, i z komentarzami uruchamiania tej funkcji dla funkcji {{Code|$}}.
Zadanie drugie: Linie, tzn.: 22-26, na stronie {{LinkKomunikat2|common.js}} zamienić na linie: 24-34 ze strony {{LinkUżytkownik2|Persino/common.js}}.
Zadanie trzecie: Dodać niektóre komentarze, które dodałem do {{LinkUżytkownik2|Persino/common.js}}.
Zadanie czwarte: Należy zastąpić zawartość funkcji {{Code|Common.StronaStart}} w {{LinkKomunikat2|common.js}} z {{LinkUżytkownik2|Persino/common.js}}.
----
Najłatwiej wykonać te cztery zadania w sposób: zawartość na stronie {{LinkKomunikat2|common.js}} zastąpić zawartością z {{LinkUżytkownik2|Persino/common.js}} z pod linii /**/, ze względu, że umieściłem tam dodatkowe komentarze, co możesz sprawdzić, co się zmieniło w historii zmian.
----
----
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 17:38, 16 sie 2022 (CEST)
g4ysogbvoxvq8wj8a0gq9u6v8m8cqm6
437959
437939
2022-08-17T09:06:54Z
Persino
2851
/* Usunięcie funkcji {{Code|Promise}} z funkcji {{Code|Common.RamkiTableIDiv}}, a nowa poprawka w {{LinkKomunikat2|common.js}} przy pomocy {{LinkUżytkownik2|Persino/common.js}} */
wikitext
text/x-wiki
<noinclude>__LINKNOWEJSEKCJI__ [[Kategoria:Księga próśb i zadań]]</noinclude>
{{fmbox|tekst=UWAGA: Nowe zgłoszenia o innym temacie niż to co dotyczy [[Wikibooks:Prośby do administratorów interfejsu/Zgłoszenia]] lub łamiące zasady [[Wikibooks:Wikietykieta|Wikietykiety]] mogą być bezwarunkowo wycofywane z tej strony}}
<!-- Nowe zgłoszenia wstawiaj poniżej tej linii. Powyżej tej linii nic nie usuwaj. Nie usuwaj tej linii -->
== Usunięcie wymuszenia białego tła w tabelach. ==
Zwracam się z prośbą o usunięcie [[MediaWiki:Common.css]] fragmentu
<syntaxhighlight lang="css">
}
+
table.wikitable td,
+
table.prettytable td {
+
background: #f9f9f9;
</syntaxhighlight>
Fragment ten wymusza białe tło w tabelach, co uniemożliwia zastosowanie kolorowych komórek. Takowe bardzo by się przydały np. w opracowywanym przeze [[Zbiór zadań maturalnych/Biologia|Zbiorze zadań maturalnych z Biologii]] jak np. tu: [[:Kategoria:Zbiór zadań maturalnych/podstawa programowa 2017/Biologia/Zakres rozszerzony/Treści nauczania/II/3/1]]. Póki co posiłkuję się obramowaniem, chciałbym jednak docelowo zastosować kolorowanie komórek.
Z góry dziękuję za rozpatrzenie mojej prośby.
[[Wikipedysta:Superjurek|Superjurek]] ([[Dyskusja wikipedysty:Superjurek|dyskusja]]) 22:42, 16 kwi 2021 (CEST)
-----
{{Ping|Superjurek}}Spróbuj użyć zapisu, np.:
<syntaxhighlight lang="css">
background-color: blue !important;
color:white !important;
</syntaxhighlight>
zamiast:
<syntaxhighlight lang="css">
background-color: blue;
color:white;
</syntaxhighlight>
to powinno naprawić cały problem! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:05, 27 maj 2022 (CEST)
==Wstawianie kodu do {{LinkKomunikat2|Common.js}}==
Czy mógłbyś wsadzić do tej strony {{Code|.js}} kod:
<syntaxhighlight lang="JavaScript">
function WyswietlStronyKsiazki(){
function WikikodTitle(data,tabs,titles,tabstrona){
var title=data.parse.title;
var wikikod=data.parse.text['*'];
var elements=tabstrona[title];
for(var q in elements){
elements[q].innerHTML=wikikod;
var a=elements[q].getElementsByTagName('a');
if((a!==null)&&(a.length>0)){
var lena=a.length;
for(var i=0;i<lena;++i){
var href=a[i].getAttribute('href');
if(href!==null){
var re=/^[^\?]+\?[^&]+=[^&]*&?/g;
if(!re.test(href)){
var re2=/#/g;
var s=href.search(re2);
if(s!=-1){
var re=/^\/wiki\//g;
if(re.test(href)){
var href2=href.substring(6,s)
href2=decodeURI(href2);
href2=href2.replace(/[_\s]+/g," ");
for(var s=0;s<titles.length;s++){
var strona=titles[s];
if(href2==strona){
var href3=href.replace(/^[^#]*/g,"");
var a_toc=a[i];
a_toc.setAttribute('href',encodeURI(href3));
a_toc.setAttribute("title","");
}
}
}
}else{
var re=/^\/wiki\//g;
if(re.test(href)){
var hrefv=href.replace(re,"");
var hrefs=decodeURI(hrefv);
hrefs=hrefs.replace(/[_\s]+/g," ");
for(var s=0;s<titles.length;s++){
var strona=titles[s];
if(hrefs==strona){
var hrefs2=hrefv.replace(/^[^\/]*\//g,"");
var a_toc=a[i];
a_toc.setAttribute('href','#'+hrefs2);
a_toc.setAttribute("title","");
}
}
}
}
}
}
}
}
}
var tab_toc=new Array("toc","toc_spis");
for(var d=0;d<tab_toc.length;++d){
var toc=document.getElementsByClassName(tab_toc[d]);
if((toc!==null)&&(toc.length>0)){
for(var q in elements){
var num=new Array();
var v=0;
for(var e=0;e<tabs.length;++e){
if(tabs[e]==title){
v+=1;
if(parseInt(q)+1==v){
num.push(parseInt(e)+1);
break;
}
}
}
var headline=elements[q].getElementsByClassName("mw-headline");
if((headline!==null)&&(headline.length>0)){
var ulozenie=0;
var ostanie=0;
var len=headline.length;
var naglowek="";
var liczba_ulozenia_w_menu_spisu_tresci=1;
var h_number=1;
for (var k=0;k<len;++k){
var element2=headline[k];
var nag=element2.innerHTML;
var nag2=element2.getAttribute('id');
var h=element2.parentNode.tagName;
var h_numer=h.replace(/^[^\d]+/g,"");
h_numer=parseInt(h_numer)
if((ulozenie==0)||(ulozenie>=h_numer)){
ulozenie=h_numer-1;
}else {
if(ostatnie+1<h_numer-ulozenie){
ulozenie=h_numer-ostatnie-1;
}
}
ostatnie=h_numer-ulozenie;
h_numer=h_numer-ulozenie;
if(k==0){
num.push(1);
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="<ul><li><a href=\"#"+nag2+"\">"+nag+"</a>";
}else{
if(h_numer==liczba_ulozenia_w_menu_spisu_tresci){
num[num.length-1]+=1;
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="</li><li><a href=\"#"+nag2+"\">"+nag+"</a>";
}else{
if(h_numer>liczba_ulozenia_w_menu_spisu_tresci){
num.push(1);
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="<ul><li><a href=\"#"+nag2+"\">"+nag+"</a>";
liczba_ulozenia_w_menu_spisu_tresci=h_numer;
}else{
if(h_numer<liczba_ulozenia_w_menu_spisu_tresci){
num.splice(num.length-liczba_ulozenia_w_menu_spisu_tresci+h_numer,liczba_ulozenia_w_menu_spisu_tresci-h_numer);
num[num.length-1]+=1;
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+=('</li></ul>'.repeat(liczba_ulozenia_w_menu_spisu_tresci-h_numer))+"</li><li><a href=\"#"+nag2+"\">"+nag+"</a>";
liczba_ulozenia_w_menu_spisu_tresci=h_numer;
}
}
}
}
}
if(naglowek!=""){
naglowek+=('</li></ul>'.repeat(liczba_ulozenia_w_menu_spisu_tresci));
for(var b=0;b<toc.length;++b){
var a2=toc[b].getElementsByTagName('a');
if((a2!=null)&&(a2.length>0)){
for(var y=0;y<a2.length;++y){
var parent=a2[y].parentNode;
var href=a2[y].getAttribute('href');
href=href.replace(/^#/g,"");
var title2=title.replace(/^[^\/]+\//g,"");
if(href==title2.replace(/[_ ]+/g,"_")+((q>0)?("_"+(parseInt(q)+1)):"")){
var div=document.createElement('div');
div.innerHTML=naglowek;
var links=a2[y].getElementsByClassName('toctext');
if((links!=null)&&(links.length>0)){
var link=links[0].innerHTML;
if(link==title2){
parent.appendChild(div.getElementsByTagName('ul')[0]);
}
}
}
}
}
}
}
}
}
}
}
for(var d=0;d<tab_toc.length;++d){
var toc_pos=document.getElementsByClassName(tab_toc[d]);
if((toc_pos!==null)&&(toc_pos.length>0)){
for(var w=0;w<toc_pos.length;++w){
var li=toc_pos[w].getElementsByTagName('li');
var poziom;
var section=1;
for(var z=0;z<li.length;++z){
var parent=li[z].parentNode.parentNode;
if(parent!==null){
var klasa=parent.getAttribute('class');
if(klasa!==null){
var poziom=klasa.match(/toclevel-\d+/g);
if(poziom!==null){
poziom=parseInt(poziom.toString().match(/\d+$/).toString())+1;
}else{
poziom=1;
}
}else{poziom=1;}
}else{poziom=1;}
var klasa=li[z].getAttribute('class');
if(klasa!==null){
var czy_section=klasa.match(/tocsection-\d+/);
if(czy_section!==null){
klasa=klasa.replace(/tocsection-\d+/g,"tocsection-"+section);
li[z].setAttribute('class',klasa);
}else{
li[z].classList.add("tocsection-"+section);
}
var czy_level=klasa.match(/toclevel-\d+/);
if(czy_level!==null){
klasa=li[z].getAttribute('class');
klasa=klasa.replace(/toclevel-\d+/g,"toclevel-"+poziom);
li[z].setAttribute('class',klasa);
}else{
li[z].classList.add("toclevel-"+poziom);
}
}else{
li[z].setAttribute('class',"toclevel-"+poziom+" tocsection-"+section)
}
section=section+1;
}
}
}
}
var headline=document.getElementsByClassName('mw-headline');
if((headline)&&(headline.length>0)){
for(var i=0;i<headline.length;++i){
var c=1;
var el=headline[i];
var id0=el.innerHTML;
id0=id0.replace(/[_\s]+/g,"_");
id0=id0.replace(/<[^<>]+>/g,"");
for(var j=0;j<i;++j){
var el1=headline[j];
var id1=el1.innerHTML;
id1=id1.replace(/[_\s]+/g,"_");
id1=id1.replace(/<[^<>]+>/g,"");
if(id0==id1){
++c;
}
}
if(c==1){
el.setAttribute('id',id0);
}else{
el.setAttribute('id',id0+"_"+c);
}
}
}
var tab_toc=new Array("toc","toc_spis");
for(d=0;d<tab_toc.length;++d){
var toc_pos=document.getElementsByClassName(tab_toc[d]);
if((toc_pos!==null)&&(toc_pos.length>0)){
for(var w=0;w<toc_pos.length;++w){
var toc=toc_pos[w];
var a=toc.getElementsByTagName('a');
if((a)&&(a.length>0)){
for(var p=0;p<a.length;++p){
var strona=a[p].getElementsByClassName('toctext')[0].innerHTML.replace(/[_\s]+/g,"_");
strona=strona.replace(/<[^<>]+>/g,"");
var c=1;
for(var v=0;v<p;++v){
var strona2;
strona2=a[v].getElementsByClassName('toctext')[0].innerHTML.replace(/[_\s]+/g,"_");
strona2=strona2.replace(/<[^<>]+>/g,"");
if(strona==strona2){
++c;
}
}
strona=strona.replace(/<[^<>]+>/g,"");
if(c==1){
a[p].setAttribute('href',"#"+strona);
}else{
a[p].setAttribute('href',"#"+strona+"_"+c);
}
}
}
}
}
}
}
function StronaSubst(data){
var wikikod=data.parse.text['*'];
var elem=document.createElement('div');
elem.innerHTML=wikikod;
var klasa_mw_parser_out=elem.getElementsByClassName('mw-parser-output');
var wikikod_wyodrepniony=(((klasa_mw_parser_out)&&(klasa_mw_parser_out.length==1))?(klasa_mw_parser_out[0].innerHTML):wikikod);
var czy_wikikod=wikikod_wyodrepniony.match(/^\s*$/g);
if(czy_wikikod){return;}
var strona_subst="strona_subst";
var tagclass=document.getElementsByClassName(strona_subst);
if(tagclass==null){return null;}
var liczba_elementow=tagclass.length;
if(liczba_elementow==0){return null;}
var titles=new Array();
var tabstrona=new Array();
var tabs=new Array();
for (var i=0;i<liczba_elementow;++i){
var element=tagclass[i];
if(element.tagName!="DIV"){return null;}
var strona=element.innerHTML;
var re = /^[_ ]*$/g;
var dopasowanie = re.test(strona);
if(dopasowanie){return null;};
strona=strona.replace(/^[_ ]*/g,"");
strona=strona.replace(/[_ ]*$/g,"");
strona=strona.replace(/[_ ]+/g," ");
tabs[i]=strona;
var czy=false;
for(var d in titles){
if(titles[d]==strona){
czy=true;
break;
}
}
if(!czy){
titles[titles.length]=strona;
}
if(tabstrona[strona]==null){
tabstrona[strona]=new Array();
}
var tab=tabstrona[strona];
var tablen=tab.length;
tabstrona[strona][tablen]=element;
}
for ( var p in titles ) {
var strona=titles[p];
var api=new mw.Api;
api.get({
action: 'parse',
format: 'json',
prop: 'text',
title: strona,
text: '{{:'+strona+'}}',
disabletoc: true,
disablelimitreport: true,
contentmodel: 'wikitext'
}).done(function(data){
WikikodTitle(data,tabs,titles,tabstrona);
});
}
}
var strona = mw.config.get('wgPageName');
var api=new mw.Api;
api.get({
action: 'parse',
format: 'json',
prop: 'text',
title: strona,
text: '{{#invoke:StronicowyParser|CzyStronaSubst}}',
disabletoc: true,
disablelimitreport: true,
contentmodel: 'wikitext'
}).done(function(data){
StronaSubst(data)
});
}
$(WyswietlStronyKsiazki);
</syntaxhighlight>
Ten program {{Code|.js}} znajduje się na stronie: {{LinkUżytkownik2|Persino/common.js}}. Jak wstawisz ten kod do strony {{LinkKomunikat2|Common.js}}, to powinno wtedy zadziałać ładowanie modułów książki, za pomocą JavaScript, na stronie {{LinkUżytkownik2|Persino/Wersja do druku}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:09, 13 lis 2021 (CET)
== Gadżet StronaSubst - dodawanie do listy gadżetów ==
Mamy sobie kod JavaScript {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} i opis gadżetu {{LinkUżytkownik2|Persino/Gadget-StronaSubst}}, czy mógłbyś przenieść na strony w przestrzeni nazw {{Np|MediaWiki|link=tak}}, i wywołaniu gadżetu w takiej formie jak w {{LinkUżytkownik2|Persino/Gadgets-definition}} przenieść na stronę {{LinkKomunikat2|Gadgets-definition}}. Wtedy strona {{LinkUżytkownik2|Persino/Wersja do druku}} powinna działać! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:14, 27 lis 2021 (CET)
=== Zamienianie kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}} ===
{{Ping|Wargo}}Chodzi tutaj, że jak będzie link do artykułu w nagłówku, to, żeby nie pojawiało się pole '''[ artykuł | edytuj ]''' zamiast '''[ edytuj ]''' - aktualnie w {{LinkKomunikat2|Gadget-StronaSubst.js}} pole '''[ artykuł | edytuj ]''' pojawia się zawsze zamiast '''[ edytuj ]''', wtedy gdy ma zawartość '''strona_subst''' jest nie pusta, to algorytm jest zakańczany. A jak jest nazwa strony w zawartości div-a '''strona_subst''', a nie link w nagłówku, to wtedy ma się prawo pojawić '''[ artykuł | edytuj ]''' zamiast '''[ edytuj ]'''. Czy mógłbyś wersję {{LinkKomunikat2|Gadget-StronaSubst.js}} zamienić na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}. Z góry dziękuję za rozpatrzenie mojej prośby! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 10:13, 30 lis 2021 (CET)
----
{{Ping|Wargo}} Jeszcze, czy mógłbyś zamienić tekst w {{LinkKomunikat2|Gadget-StronaSubst}} z:
{{Pre|(bez sekcji "Spis treści" i "Licencja")}}
na
{{Pre|(bez sekcji "Spis treści", "Bibliografia" i "Licencja")}}
[[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:18, 1 gru 2021 (CET)
=== Ostatnia poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}===
{{Ping|Wargo}}Chodzi tutaj, że algorytm zawiesza się na artykule {{LinkGłówna|Mechanika kwantowa/Mechanika kwantowa}}, to co poprawiłem już tak przestaje być, błąd znikł! Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 18:30, 3 gru 2021 (CET)
=== Miejmy nadzieję, że to jest ostatnia poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}===
{{Ping|Wargo}}Chodzi tutaj, że algorytm ma błędy JavaScript na stronie, przy danej książce: {{LinkGłówna|Szachy}}, czyli przy artykule: {{LinkGłówna|Szachy/Szachy}} - błąd tylko widać, gdy chcemy zbadać element, moja poprawka usuwa ten błąd! Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:50, 4 gru 2021 (CET)
=== Następna poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}} ===
{{Ping|Wargo}}Chodzi tutaj, że algorytm nie wyświetla w TOC (wbudowany spis treści) podrozdziałów dla artykułu {{LinkGłówna|Matematyka dla liceum/Matematyka dla liceum}}, moja poprawka usuwa ten błąd. Skrypt porządkuje artykuły według nagłówków na stronie tego artykułu w TOC, a zestaw artykułów, w danek sekcji, wyświetla, również w TOC, je przydzielone do niej. Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:51, 7 gru 2021 (CET)
=== Poważne poprawki w {{LinkKomunikat2|Gadget-StronaSubst.js}} na podstawie {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} oraz dodanie i zmiana pewnych gadżetów ===
{{Ping|Wargo}} Następne poprawki dotyczące wpisu w {{LinkKomunikat2|Gadget-StronaSubst.js}}, co do zauważonych drobnych błędów, czyli mógłbyś dokonać zamiany kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}.
Z góry dziękuję. Poza tym wszystko działa, od razu dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:32, 8 gru 2021 (CET)
----
{{Ping|Wargo}} Jeszcze, czy mógłbyś zamienić tekst w {{LinkKomunikat2|Gadget-StronaSubst}} z:
{{Pre|(bez sekcji "Spis treści", "Bibliografia" i "Licencja")}}
na
{{Pre|(bez sekcji: "Spis treści", "Bibliografia", "Zobacz też", "Inne", "Licencja" i tym podobne)}}
Dziękuję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 05:43, 9 gru 2021 (CET)
----
{{Ping|Wargo}} Czy mógłbyś uzupełnić {{LinkKomunikat2|Gadgets-definition}}, według {{LinkUżytkownik2|Persino/Gadgets-definition}} - szczególnie trzeba naprawić odwołanie do gadżetu StronaSubst, i dodać gadżety: {{LinkUżytkownik2|Persino/Gadget-gConfig.js}} (jego opis jest w {{LinkUżytkownik2|Persino/Gadget-gConfig}}), przenosząc go do {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis do {{LinkKomunikat2|Gadget-gConfig}}), a także drugi gadżet dotyczący szablonu {{s|Cytuj}} przenieś z {{LinkUżytkownik2|Persino/Gadget-citation-access-info.js}} (jego opis to {{LinkUżytkownik2|Persino/Gadget-citation-access-info}}) do {{LinkKomunikat2|Gadget-citation-access-info.js}} (a jego opis do {{LinkKomunikat2|Gadget-citation-access-info}}).
Gadżet '''gConfig''' potrzebny mi jest do gadżetu {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}}, którego zawartość należy przenieść do {{LinkKomunikat2|Gadget-StronaSubst.js}}, a gadżet {{LinkUżytkownik2|Persino/Gadget-citation-access-info.js}}, potrzebny mi jest do szablonu {{s|Cytuj}} do dymku do pełnej wersji tego szablonu, który należy przenieść do {{LinkKomunikat2|Gadget-citation-access-info.js}}.
Proszę o pilną reakcję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:04, 11 gru 2021 (CET)
----
Również proszę o zastąpienie strony komunikatu {{LinkKomunikat2|Gadget-map-toggler.js}} stroną {{LinkUżytkownik2|Persino/Gadget-map-toggler.js}}. Z góry dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 18:38, 11 gru 2021 (CET)
== Zamiana wartości linkowej i szablonowej ==
{{Ping|Wargo}}Czy mógłbyś zamienić na stronie: {{LinkUżytkownik2|Rychozol/common.js}}, z wartości: {{Nowiki|[[GNU Free Documentation License|GFDL]]}}, na: {{Nowiki|[[Wikibooks:GNU Free Documentation License|GFDL]]}}, a także na tej samej stronie wartość: {{s|clear}}, na {{s|BrClear}}, ponieważ ze względu na zmianę nazw stron. Z góry dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:35, 13 gru 2021 (CET)
<del>== Dalsze zmiany na stronach gadżetów (pilne) ==
{{Ping|Wargo}}Czy mógłbyś zainstalować gadżet "Gadget-gConfig", tak jak na stronie {{LinkUżytkownik2|Persino/Gadgets-definition}} (pierwsza linijka) w {{LinkKomunikat2|Gadgets-definition}}, a co do tego, jego kod {{LinkUżytkownik2|Persino/Gadget-gConfig.js}} zainstalować w miejscu {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis jest w {{LinkUżytkownik2|Persino/Gadget-gConfig}}), przenosząc go do {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis do {{LinkKomunikat2|Gadget-gConfig}}). A później zaaktualizuj gadżet {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}, a także zainstalować w miejscu {{LinkKomunikat2|Gadget-Funkcje.js}} gadżet {{LinkUżytkownik2|Persino/Gadget-Funkcje.js}}, a również zaktualizować wpis dla gadżetu StronaSubst tak jak w {{LinkUżytkownik2|Persino/Gadgets-definition}}. A później sprawdzić, czy wszystko działa. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 13:19, 4 lut 2022 (CET)</del>
== Przepełnienie scrollbarów, poszczególnych elementów strony, a ustawienia różnych klas, jeżeli takowe istnieją ==
{{Ping|Wargo}}Czy mógłbyś uwzględnić na stronie {{LinkKomunikat2|Common.js}} część mojej strony, która jest po sekwencji /**/, będąca na stronie {{LinkUżytkownik2|Persino/common.js}}. Ten skrypt sprawdza, czy nastąpiło przepełnienie elementów strony dokumentu HTML Wikibooks, a jeżeli nastąpiło, to następuje ustawienie tam odpowiednich klas, a jeżeli ono znikło, to usunięcie tych klas. Ten skrypt jest mi potrzebny do szablonu {{s|StronaStart}} i jego pokrewnych oraz do mojego ustawienia skórki vector-2022, która jest w mojej przestrzeni użytkownika. Dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:23, 27 maj 2022 (CEST)
== Aktualizacja przepełnienia scrollbarów i implementacja sticky ==
{{Ping|Wargo}} Czy mógłbyś uwzględnić na stronie {{LinkKomunikat2|Common.js}} część mojej strony, która jest po sekwencji /**/, będąca na stronie {{LinkUżytkownik2|Persino/common.js}}. W przypadku pierwszego algorytmu, dodałem tam klasy {{Code|mw-overflow-x}} i {{Code|mw-overflow-y}}, które ten algorytm rozpoznaje, i dla nich liczy, czy nastąpiło to właśnie przepełnienie. A wcześniej liczyło dla wszystkich znaczników na stronie, co spowalniało całą stronę. Tam, gdzie, ważne jest liczenie przepełnienie wstawiłem {{Code|mw-overflow-x}}, czy {{Code|mw-overflow-y}}, czyli algorytm ten tam powinien działać, co można sprawdzić na stronie głównej tego projektu ({{NAZWASERWISU|link=tak}}). Drugi algorytm jest rozszerzenie właściwości {{Code|position:sticky}}, który on nie działa, gdy choćby jeden z rodziców jest z nie {{Code|overflow:visible}}, ale z {{Code|overflow}}, a ja zrobiłem, że jednak zaczeło działać, a ja tak to zrobiłem: {{Code|position:sticky}} zastąpiłem {{Code|position:absolute}}, w tym znaczników ustawiam {{Code|mw-sticky-y}} (przesuw w pionie) lub {{Code|mw-sticky-x}} (przesuw w poziomie), wtedy ten algorytm JavaScript działa tak, że pudełko przesuwa się od pewnej granicy do pewnej, ale nigdy nie wychodzi poza te granice, czyli działa podobnie jak {{Code|position:sticky}}. Dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 12:41, 9 lip 2022 (CEST)
==Aktualizacja skryptów na {{LinkKomunikat2|common.js}} z {{LinkUżytkownik2|Persino/common.js}}==
{{Ping|Wargo}} Czy mógłbyś zaktualizować kod na stronie {{LinkKomunikat2|common.js}} ze strony {{LinkUżytkownik2|Persino/common.js}} pod znakiem {{Code|/**/}}. Zdefiniowałem przestrzeń nazw {{Code|Common}} definicją:
{{Pre|var Common{{=}}new Array();}}
Prawie wszystkie funkcje ze strony {{LinkKomunikat2|common.js}} przeniosłem do tej przestrzeni na stronie {{LinkUżytkownik2|Persino/common.js}} (tutaj wszystkie funkcje są w przestrzeni {{Code|Common}}). Rozwinąłem funkcję {{Code|Common.ScrollBarOverflow}}, {{Code|Common.StickyXY}} i {{Code|Common.OptimalXY}}. Napisałem od nowa funkcje: {{Code|Common.RamkiTableIDiv}} i {{Code|Common.ZdarzeniaDodatkoweFunkcyjneXY}} oraz funkcję do obsługi szablonu {{s|StronaStart}} i jego pokrewnych książkowych z definiowałem w postaci: {{Code|Common.StronaStart}}.
Co oznaczają te funkcje:
* {{Code|Common.ScrollBarOverflow}} - do generowania pewnych klas, które służą do obsługi pudełka z paskami przewijania,
* {{Code|Common.StickyXY}} - aktualizacja funkcji {{Code|position:sticky}}, tam gdzie go nie można go użyć, do używamy tej funkcji,
* {{Code|Common.OptimalXY}} - do obsługi boksów na stronach z użytymi szablonami stronicowymi książkowymi otwierającymi i zamykającymi,
* {{Code|Common.RamkiTableIDiv}} - dodaje dalsze funkcje przy przyciskach tabel i ramek, nawigacyjnych,
* {{Code|Common.ZdarzeniaDodatkoweFunkcyjneXY}} - dodaje zdarzenia do obsługi funkcji: {{Code|Common.StickyXY}} i {{Code|Common.OptimalXY}},
* {{Code|Common.StronaStart}} - służy do obsługi spisu treści i boksów szablonu {{s|StronaStart}}.
Na stronach podręcznikowych boksy i spisy treści są responsywne według moich ustawień, a dla wszystkich użytkowników będą responsywne po zaktualizowaniu strony {{LinkKomunikat2|common.js}} przy pomocy {{LinkUżytkownik2|Persino/common.js}}.
----
Proszę o pilną reakcję i zrealizowanie mojej prośby. Z góry dziękuję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:55, 3 sie 2022 (CEST)
:Czy coś jest do usunięcia z obecnego common.js? Tj. czy coś stamtąd mam tym zastąpić? [[Wikipedysta:Wargo|Wargo]] ([[Dyskusja wikipedysty:Wargo|dyskusja]]) 20:55, 7 sie 2022 (CEST)
::{{Ping|Wargo}}Właśnie masz zastąpić nową wersją z pod /**/ z: {{LinkUżytkownik2|Persino/common.js}}, zastępując całą zawartość strony w: {{LinkKomunikat2|common.js}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:04, 7 sie 2022 (CEST)
:::{{Ping|Wargo}} Już możesz zastępować, wszystko gotowe! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:39, 7 sie 2022 (CEST)
===Ostatnia poprawka===
{{Ping|Wargo}}Czy mógłbyś linijkę kodu:
{{Pre|var top_ab{{=}}rect_rodzic[top]-margintop;
var bottom_ab{{=}}(wys-rect_rodzic[bottom])-marginbottom;
}}
poprawić na:
{{Pre|var top_ab{{=}}rect_rodzic[top];
var bottom_ab{{=}}(wys-rect_rodzic[bottom]);
}}
w funkcji: {{Code|Common.StickyXY}}, w {{LinkKomunikat2|common.js}} według {{LinkUżytkownik2|Persino/common.js}}. Tj. to linijka: 481-482.
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:51, 8 sie 2022 (CEST)
=== Miejmy nadzieję, że ostatnia poprawka na stronie {{LinkKomunikat2|common.js}} ===
{{Ping|Wargo}}Czy mógłbyś w kodzie w linii: 177 i 183, na stronie {{LinkKomunikat2|common.js}} według {{LinkUżytkownik2|Persino/common.js}} poprawić według schematu:
{{Pre
|collapseTable( i );
}}
zamienić na:
{{Pre
|Common.collapseTable( i );
}}
Poprawka jest ważna, bo tabele nawigacyjne, na stronie głównej i gdzieś indziej, nie chcą się kolapsować, a po tej operacji już będą się tak zachowywać!
----
W linii: 176 poprawić:
{{Pre
|1=if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) {{!}}{{!}} ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "Common.autoCollapse" ) ) ) {
}}
na kod:
{{Pre
|1=if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) {{!}}{{!}} ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) {
}}
----
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 13:34, 8 sie 2022 (CEST)
=== Poprawka, by zdarzenia nie były w postaci podwójnej, tzn. ze strony: {{LinkKomunikat2|common.js}} (strona {{Np|MediaWiki|link=tak}}), i {{LinkUżytkownik2|Persino/common.js}} (strona użytkownika - {{Np|User|link=tak}}) ===
{{Ping|Wargo}}Zrobiłem tak, by zdarzenia nie były w postaci podwójnej, tzn. ze strony MediaWiki: {{LinkKomunikat2|common.js}}, i strony użytkownika: {{LinkUżytkownik2|Persino/common.js}}, jeżeli takową stronę użytkownik posiada. Zrobiłem też tam parę drobnych innych edycji. Mówiąc najprostszej, zawartością z: {{LinkUżytkownik2|Persino/common.js}}, z pod {{Code|/**/}} zastąp zawartość strony: {{LinkKomunikat2|common.js}}. Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 07:13, 9 sie 2022 (CEST)
=== Poprawka strony {{LinkKomunikat2|Gadget-delete-local.js}}, kilka linijek ===
{{Ping|Wargo}} Czy mógłbyś zamienić zawartość strony {{LinkKomunikat2|Gadget-delete-local.js}} na {{LinkUżytkownik2|Persino/Gadget-delete-local.js}}.
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 07:13, 9 sie 2022 (CEST)
=== Przecieki pamięci w {{LinkKomunikat2|common.js}} w połączeniu z {{LinkUżytkownik2|Persino/common.js}} ===
{{Ping|Wargo}} Czy mógłbyś stronę {{LinkKomunikat2|common.js}} podmienić z zawartością strony {{LinkUżytkownik2|Persino/common.js}} z pod linii /**/. Z góry dziękuję za spełnienie prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 17:37, 15 sie 2022 (CEST)
=== Usunięcie funkcji {{Code|Promise}} z funkcji {{Code|Common.RamkiTableIDiv}}, a nowa poprawka w {{LinkKomunikat2|common.js}} przy pomocy {{LinkUżytkownik2|Persino/common.js}} ===
{{Ping|Wargo}} Kiedyś funkcja {{Code|Common.RamkiTableIDiv}} była uruchamiana za pomocą zwykłej funkcji bez umieszczenia go w bloku {{Code|$}}, a teraz jest ona umieszczony właśnie w nim, więc {{Code|Promise}} jest już w nim nie potrzebna, więc usunąłem z tej funkcji właśnie nią, więc funkcję {{Code|Common.RamkiTableIDiv}} musiałem zmodyfikować.
----
----
Zadanie pierwsze: Czy mógłbyś definicję funkcji {{Code|Common.RamkiTableIDiv}} w {{LinkKomunikat2|common.js}} zastąpić nową jego definicją z {{LinkUżytkownik2|Persino/common.js}}, wraz z jego komentarzami, i z komentarzami uruchamiania tej funkcji dla funkcji {{Code|$}}.
Zadanie drugie: Linie, tzn.: 22-26, na stronie {{LinkKomunikat2|common.js}} zamienić na linie: 24-37 ze strony {{LinkUżytkownik2|Persino/common.js}}.
Zadanie trzecie: Dodać niektóre komentarze, które dodałem do {{LinkUżytkownik2|Persino/common.js}}.
Zadanie czwarte: Należy zastąpić zawartość funkcji {{Code|Common.StronaStart}} w {{LinkKomunikat2|common.js}} z {{LinkUżytkownik2|Persino/common.js}}.
----
Najłatwiej wykonać te cztery zadania w sposób: zawartość na stronie {{LinkKomunikat2|common.js}} zastąpić zawartością z {{LinkUżytkownik2|Persino/common.js}} z pod linii /**/, ze względu, że umieściłem tam dodatkowe komentarze, co możesz sprawdzić, co się zmieniło w historii zmian.
----
----
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 17:38, 16 sie 2022 (CEST)
52sxrmx3x3ogd6wsbfuuhf090cav2a2
437961
437959
2022-08-17T09:08:44Z
Persino
2851
/* Usunięcie funkcji {{Code|Promise}} z funkcji {{Code|Common.RamkiTableIDiv}}, a nowa poprawka w {{LinkKomunikat2|common.js}} przy pomocy {{LinkUżytkownik2|Persino/common.js}} */
wikitext
text/x-wiki
<noinclude>__LINKNOWEJSEKCJI__ [[Kategoria:Księga próśb i zadań]]</noinclude>
{{fmbox|tekst=UWAGA: Nowe zgłoszenia o innym temacie niż to co dotyczy [[Wikibooks:Prośby do administratorów interfejsu/Zgłoszenia]] lub łamiące zasady [[Wikibooks:Wikietykieta|Wikietykiety]] mogą być bezwarunkowo wycofywane z tej strony}}
<!-- Nowe zgłoszenia wstawiaj poniżej tej linii. Powyżej tej linii nic nie usuwaj. Nie usuwaj tej linii -->
== Usunięcie wymuszenia białego tła w tabelach. ==
Zwracam się z prośbą o usunięcie [[MediaWiki:Common.css]] fragmentu
<syntaxhighlight lang="css">
}
+
table.wikitable td,
+
table.prettytable td {
+
background: #f9f9f9;
</syntaxhighlight>
Fragment ten wymusza białe tło w tabelach, co uniemożliwia zastosowanie kolorowych komórek. Takowe bardzo by się przydały np. w opracowywanym przeze [[Zbiór zadań maturalnych/Biologia|Zbiorze zadań maturalnych z Biologii]] jak np. tu: [[:Kategoria:Zbiór zadań maturalnych/podstawa programowa 2017/Biologia/Zakres rozszerzony/Treści nauczania/II/3/1]]. Póki co posiłkuję się obramowaniem, chciałbym jednak docelowo zastosować kolorowanie komórek.
Z góry dziękuję za rozpatrzenie mojej prośby.
[[Wikipedysta:Superjurek|Superjurek]] ([[Dyskusja wikipedysty:Superjurek|dyskusja]]) 22:42, 16 kwi 2021 (CEST)
-----
{{Ping|Superjurek}}Spróbuj użyć zapisu, np.:
<syntaxhighlight lang="css">
background-color: blue !important;
color:white !important;
</syntaxhighlight>
zamiast:
<syntaxhighlight lang="css">
background-color: blue;
color:white;
</syntaxhighlight>
to powinno naprawić cały problem! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:05, 27 maj 2022 (CEST)
==Wstawianie kodu do {{LinkKomunikat2|Common.js}}==
Czy mógłbyś wsadzić do tej strony {{Code|.js}} kod:
<syntaxhighlight lang="JavaScript">
function WyswietlStronyKsiazki(){
function WikikodTitle(data,tabs,titles,tabstrona){
var title=data.parse.title;
var wikikod=data.parse.text['*'];
var elements=tabstrona[title];
for(var q in elements){
elements[q].innerHTML=wikikod;
var a=elements[q].getElementsByTagName('a');
if((a!==null)&&(a.length>0)){
var lena=a.length;
for(var i=0;i<lena;++i){
var href=a[i].getAttribute('href');
if(href!==null){
var re=/^[^\?]+\?[^&]+=[^&]*&?/g;
if(!re.test(href)){
var re2=/#/g;
var s=href.search(re2);
if(s!=-1){
var re=/^\/wiki\//g;
if(re.test(href)){
var href2=href.substring(6,s)
href2=decodeURI(href2);
href2=href2.replace(/[_\s]+/g," ");
for(var s=0;s<titles.length;s++){
var strona=titles[s];
if(href2==strona){
var href3=href.replace(/^[^#]*/g,"");
var a_toc=a[i];
a_toc.setAttribute('href',encodeURI(href3));
a_toc.setAttribute("title","");
}
}
}
}else{
var re=/^\/wiki\//g;
if(re.test(href)){
var hrefv=href.replace(re,"");
var hrefs=decodeURI(hrefv);
hrefs=hrefs.replace(/[_\s]+/g," ");
for(var s=0;s<titles.length;s++){
var strona=titles[s];
if(hrefs==strona){
var hrefs2=hrefv.replace(/^[^\/]*\//g,"");
var a_toc=a[i];
a_toc.setAttribute('href','#'+hrefs2);
a_toc.setAttribute("title","");
}
}
}
}
}
}
}
}
}
var tab_toc=new Array("toc","toc_spis");
for(var d=0;d<tab_toc.length;++d){
var toc=document.getElementsByClassName(tab_toc[d]);
if((toc!==null)&&(toc.length>0)){
for(var q in elements){
var num=new Array();
var v=0;
for(var e=0;e<tabs.length;++e){
if(tabs[e]==title){
v+=1;
if(parseInt(q)+1==v){
num.push(parseInt(e)+1);
break;
}
}
}
var headline=elements[q].getElementsByClassName("mw-headline");
if((headline!==null)&&(headline.length>0)){
var ulozenie=0;
var ostanie=0;
var len=headline.length;
var naglowek="";
var liczba_ulozenia_w_menu_spisu_tresci=1;
var h_number=1;
for (var k=0;k<len;++k){
var element2=headline[k];
var nag=element2.innerHTML;
var nag2=element2.getAttribute('id');
var h=element2.parentNode.tagName;
var h_numer=h.replace(/^[^\d]+/g,"");
h_numer=parseInt(h_numer)
if((ulozenie==0)||(ulozenie>=h_numer)){
ulozenie=h_numer-1;
}else {
if(ostatnie+1<h_numer-ulozenie){
ulozenie=h_numer-ostatnie-1;
}
}
ostatnie=h_numer-ulozenie;
h_numer=h_numer-ulozenie;
if(k==0){
num.push(1);
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="<ul><li><a href=\"#"+nag2+"\">"+nag+"</a>";
}else{
if(h_numer==liczba_ulozenia_w_menu_spisu_tresci){
num[num.length-1]+=1;
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="</li><li><a href=\"#"+nag2+"\">"+nag+"</a>";
}else{
if(h_numer>liczba_ulozenia_w_menu_spisu_tresci){
num.push(1);
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="<ul><li><a href=\"#"+nag2+"\">"+nag+"</a>";
liczba_ulozenia_w_menu_spisu_tresci=h_numer;
}else{
if(h_numer<liczba_ulozenia_w_menu_spisu_tresci){
num.splice(num.length-liczba_ulozenia_w_menu_spisu_tresci+h_numer,liczba_ulozenia_w_menu_spisu_tresci-h_numer);
num[num.length-1]+=1;
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+=('</li></ul>'.repeat(liczba_ulozenia_w_menu_spisu_tresci-h_numer))+"</li><li><a href=\"#"+nag2+"\">"+nag+"</a>";
liczba_ulozenia_w_menu_spisu_tresci=h_numer;
}
}
}
}
}
if(naglowek!=""){
naglowek+=('</li></ul>'.repeat(liczba_ulozenia_w_menu_spisu_tresci));
for(var b=0;b<toc.length;++b){
var a2=toc[b].getElementsByTagName('a');
if((a2!=null)&&(a2.length>0)){
for(var y=0;y<a2.length;++y){
var parent=a2[y].parentNode;
var href=a2[y].getAttribute('href');
href=href.replace(/^#/g,"");
var title2=title.replace(/^[^\/]+\//g,"");
if(href==title2.replace(/[_ ]+/g,"_")+((q>0)?("_"+(parseInt(q)+1)):"")){
var div=document.createElement('div');
div.innerHTML=naglowek;
var links=a2[y].getElementsByClassName('toctext');
if((links!=null)&&(links.length>0)){
var link=links[0].innerHTML;
if(link==title2){
parent.appendChild(div.getElementsByTagName('ul')[0]);
}
}
}
}
}
}
}
}
}
}
}
for(var d=0;d<tab_toc.length;++d){
var toc_pos=document.getElementsByClassName(tab_toc[d]);
if((toc_pos!==null)&&(toc_pos.length>0)){
for(var w=0;w<toc_pos.length;++w){
var li=toc_pos[w].getElementsByTagName('li');
var poziom;
var section=1;
for(var z=0;z<li.length;++z){
var parent=li[z].parentNode.parentNode;
if(parent!==null){
var klasa=parent.getAttribute('class');
if(klasa!==null){
var poziom=klasa.match(/toclevel-\d+/g);
if(poziom!==null){
poziom=parseInt(poziom.toString().match(/\d+$/).toString())+1;
}else{
poziom=1;
}
}else{poziom=1;}
}else{poziom=1;}
var klasa=li[z].getAttribute('class');
if(klasa!==null){
var czy_section=klasa.match(/tocsection-\d+/);
if(czy_section!==null){
klasa=klasa.replace(/tocsection-\d+/g,"tocsection-"+section);
li[z].setAttribute('class',klasa);
}else{
li[z].classList.add("tocsection-"+section);
}
var czy_level=klasa.match(/toclevel-\d+/);
if(czy_level!==null){
klasa=li[z].getAttribute('class');
klasa=klasa.replace(/toclevel-\d+/g,"toclevel-"+poziom);
li[z].setAttribute('class',klasa);
}else{
li[z].classList.add("toclevel-"+poziom);
}
}else{
li[z].setAttribute('class',"toclevel-"+poziom+" tocsection-"+section)
}
section=section+1;
}
}
}
}
var headline=document.getElementsByClassName('mw-headline');
if((headline)&&(headline.length>0)){
for(var i=0;i<headline.length;++i){
var c=1;
var el=headline[i];
var id0=el.innerHTML;
id0=id0.replace(/[_\s]+/g,"_");
id0=id0.replace(/<[^<>]+>/g,"");
for(var j=0;j<i;++j){
var el1=headline[j];
var id1=el1.innerHTML;
id1=id1.replace(/[_\s]+/g,"_");
id1=id1.replace(/<[^<>]+>/g,"");
if(id0==id1){
++c;
}
}
if(c==1){
el.setAttribute('id',id0);
}else{
el.setAttribute('id',id0+"_"+c);
}
}
}
var tab_toc=new Array("toc","toc_spis");
for(d=0;d<tab_toc.length;++d){
var toc_pos=document.getElementsByClassName(tab_toc[d]);
if((toc_pos!==null)&&(toc_pos.length>0)){
for(var w=0;w<toc_pos.length;++w){
var toc=toc_pos[w];
var a=toc.getElementsByTagName('a');
if((a)&&(a.length>0)){
for(var p=0;p<a.length;++p){
var strona=a[p].getElementsByClassName('toctext')[0].innerHTML.replace(/[_\s]+/g,"_");
strona=strona.replace(/<[^<>]+>/g,"");
var c=1;
for(var v=0;v<p;++v){
var strona2;
strona2=a[v].getElementsByClassName('toctext')[0].innerHTML.replace(/[_\s]+/g,"_");
strona2=strona2.replace(/<[^<>]+>/g,"");
if(strona==strona2){
++c;
}
}
strona=strona.replace(/<[^<>]+>/g,"");
if(c==1){
a[p].setAttribute('href',"#"+strona);
}else{
a[p].setAttribute('href',"#"+strona+"_"+c);
}
}
}
}
}
}
}
function StronaSubst(data){
var wikikod=data.parse.text['*'];
var elem=document.createElement('div');
elem.innerHTML=wikikod;
var klasa_mw_parser_out=elem.getElementsByClassName('mw-parser-output');
var wikikod_wyodrepniony=(((klasa_mw_parser_out)&&(klasa_mw_parser_out.length==1))?(klasa_mw_parser_out[0].innerHTML):wikikod);
var czy_wikikod=wikikod_wyodrepniony.match(/^\s*$/g);
if(czy_wikikod){return;}
var strona_subst="strona_subst";
var tagclass=document.getElementsByClassName(strona_subst);
if(tagclass==null){return null;}
var liczba_elementow=tagclass.length;
if(liczba_elementow==0){return null;}
var titles=new Array();
var tabstrona=new Array();
var tabs=new Array();
for (var i=0;i<liczba_elementow;++i){
var element=tagclass[i];
if(element.tagName!="DIV"){return null;}
var strona=element.innerHTML;
var re = /^[_ ]*$/g;
var dopasowanie = re.test(strona);
if(dopasowanie){return null;};
strona=strona.replace(/^[_ ]*/g,"");
strona=strona.replace(/[_ ]*$/g,"");
strona=strona.replace(/[_ ]+/g," ");
tabs[i]=strona;
var czy=false;
for(var d in titles){
if(titles[d]==strona){
czy=true;
break;
}
}
if(!czy){
titles[titles.length]=strona;
}
if(tabstrona[strona]==null){
tabstrona[strona]=new Array();
}
var tab=tabstrona[strona];
var tablen=tab.length;
tabstrona[strona][tablen]=element;
}
for ( var p in titles ) {
var strona=titles[p];
var api=new mw.Api;
api.get({
action: 'parse',
format: 'json',
prop: 'text',
title: strona,
text: '{{:'+strona+'}}',
disabletoc: true,
disablelimitreport: true,
contentmodel: 'wikitext'
}).done(function(data){
WikikodTitle(data,tabs,titles,tabstrona);
});
}
}
var strona = mw.config.get('wgPageName');
var api=new mw.Api;
api.get({
action: 'parse',
format: 'json',
prop: 'text',
title: strona,
text: '{{#invoke:StronicowyParser|CzyStronaSubst}}',
disabletoc: true,
disablelimitreport: true,
contentmodel: 'wikitext'
}).done(function(data){
StronaSubst(data)
});
}
$(WyswietlStronyKsiazki);
</syntaxhighlight>
Ten program {{Code|.js}} znajduje się na stronie: {{LinkUżytkownik2|Persino/common.js}}. Jak wstawisz ten kod do strony {{LinkKomunikat2|Common.js}}, to powinno wtedy zadziałać ładowanie modułów książki, za pomocą JavaScript, na stronie {{LinkUżytkownik2|Persino/Wersja do druku}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:09, 13 lis 2021 (CET)
== Gadżet StronaSubst - dodawanie do listy gadżetów ==
Mamy sobie kod JavaScript {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} i opis gadżetu {{LinkUżytkownik2|Persino/Gadget-StronaSubst}}, czy mógłbyś przenieść na strony w przestrzeni nazw {{Np|MediaWiki|link=tak}}, i wywołaniu gadżetu w takiej formie jak w {{LinkUżytkownik2|Persino/Gadgets-definition}} przenieść na stronę {{LinkKomunikat2|Gadgets-definition}}. Wtedy strona {{LinkUżytkownik2|Persino/Wersja do druku}} powinna działać! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:14, 27 lis 2021 (CET)
=== Zamienianie kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}} ===
{{Ping|Wargo}}Chodzi tutaj, że jak będzie link do artykułu w nagłówku, to, żeby nie pojawiało się pole '''[ artykuł | edytuj ]''' zamiast '''[ edytuj ]''' - aktualnie w {{LinkKomunikat2|Gadget-StronaSubst.js}} pole '''[ artykuł | edytuj ]''' pojawia się zawsze zamiast '''[ edytuj ]''', wtedy gdy ma zawartość '''strona_subst''' jest nie pusta, to algorytm jest zakańczany. A jak jest nazwa strony w zawartości div-a '''strona_subst''', a nie link w nagłówku, to wtedy ma się prawo pojawić '''[ artykuł | edytuj ]''' zamiast '''[ edytuj ]'''. Czy mógłbyś wersję {{LinkKomunikat2|Gadget-StronaSubst.js}} zamienić na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}. Z góry dziękuję za rozpatrzenie mojej prośby! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 10:13, 30 lis 2021 (CET)
----
{{Ping|Wargo}} Jeszcze, czy mógłbyś zamienić tekst w {{LinkKomunikat2|Gadget-StronaSubst}} z:
{{Pre|(bez sekcji "Spis treści" i "Licencja")}}
na
{{Pre|(bez sekcji "Spis treści", "Bibliografia" i "Licencja")}}
[[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:18, 1 gru 2021 (CET)
=== Ostatnia poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}===
{{Ping|Wargo}}Chodzi tutaj, że algorytm zawiesza się na artykule {{LinkGłówna|Mechanika kwantowa/Mechanika kwantowa}}, to co poprawiłem już tak przestaje być, błąd znikł! Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 18:30, 3 gru 2021 (CET)
=== Miejmy nadzieję, że to jest ostatnia poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}===
{{Ping|Wargo}}Chodzi tutaj, że algorytm ma błędy JavaScript na stronie, przy danej książce: {{LinkGłówna|Szachy}}, czyli przy artykule: {{LinkGłówna|Szachy/Szachy}} - błąd tylko widać, gdy chcemy zbadać element, moja poprawka usuwa ten błąd! Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:50, 4 gru 2021 (CET)
=== Następna poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}} ===
{{Ping|Wargo}}Chodzi tutaj, że algorytm nie wyświetla w TOC (wbudowany spis treści) podrozdziałów dla artykułu {{LinkGłówna|Matematyka dla liceum/Matematyka dla liceum}}, moja poprawka usuwa ten błąd. Skrypt porządkuje artykuły według nagłówków na stronie tego artykułu w TOC, a zestaw artykułów, w danek sekcji, wyświetla, również w TOC, je przydzielone do niej. Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:51, 7 gru 2021 (CET)
=== Poważne poprawki w {{LinkKomunikat2|Gadget-StronaSubst.js}} na podstawie {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} oraz dodanie i zmiana pewnych gadżetów ===
{{Ping|Wargo}} Następne poprawki dotyczące wpisu w {{LinkKomunikat2|Gadget-StronaSubst.js}}, co do zauważonych drobnych błędów, czyli mógłbyś dokonać zamiany kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}.
Z góry dziękuję. Poza tym wszystko działa, od razu dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:32, 8 gru 2021 (CET)
----
{{Ping|Wargo}} Jeszcze, czy mógłbyś zamienić tekst w {{LinkKomunikat2|Gadget-StronaSubst}} z:
{{Pre|(bez sekcji "Spis treści", "Bibliografia" i "Licencja")}}
na
{{Pre|(bez sekcji: "Spis treści", "Bibliografia", "Zobacz też", "Inne", "Licencja" i tym podobne)}}
Dziękuję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 05:43, 9 gru 2021 (CET)
----
{{Ping|Wargo}} Czy mógłbyś uzupełnić {{LinkKomunikat2|Gadgets-definition}}, według {{LinkUżytkownik2|Persino/Gadgets-definition}} - szczególnie trzeba naprawić odwołanie do gadżetu StronaSubst, i dodać gadżety: {{LinkUżytkownik2|Persino/Gadget-gConfig.js}} (jego opis jest w {{LinkUżytkownik2|Persino/Gadget-gConfig}}), przenosząc go do {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis do {{LinkKomunikat2|Gadget-gConfig}}), a także drugi gadżet dotyczący szablonu {{s|Cytuj}} przenieś z {{LinkUżytkownik2|Persino/Gadget-citation-access-info.js}} (jego opis to {{LinkUżytkownik2|Persino/Gadget-citation-access-info}}) do {{LinkKomunikat2|Gadget-citation-access-info.js}} (a jego opis do {{LinkKomunikat2|Gadget-citation-access-info}}).
Gadżet '''gConfig''' potrzebny mi jest do gadżetu {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}}, którego zawartość należy przenieść do {{LinkKomunikat2|Gadget-StronaSubst.js}}, a gadżet {{LinkUżytkownik2|Persino/Gadget-citation-access-info.js}}, potrzebny mi jest do szablonu {{s|Cytuj}} do dymku do pełnej wersji tego szablonu, który należy przenieść do {{LinkKomunikat2|Gadget-citation-access-info.js}}.
Proszę o pilną reakcję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:04, 11 gru 2021 (CET)
----
Również proszę o zastąpienie strony komunikatu {{LinkKomunikat2|Gadget-map-toggler.js}} stroną {{LinkUżytkownik2|Persino/Gadget-map-toggler.js}}. Z góry dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 18:38, 11 gru 2021 (CET)
== Zamiana wartości linkowej i szablonowej ==
{{Ping|Wargo}}Czy mógłbyś zamienić na stronie: {{LinkUżytkownik2|Rychozol/common.js}}, z wartości: {{Nowiki|[[GNU Free Documentation License|GFDL]]}}, na: {{Nowiki|[[Wikibooks:GNU Free Documentation License|GFDL]]}}, a także na tej samej stronie wartość: {{s|clear}}, na {{s|BrClear}}, ponieważ ze względu na zmianę nazw stron. Z góry dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:35, 13 gru 2021 (CET)
<del>== Dalsze zmiany na stronach gadżetów (pilne) ==
{{Ping|Wargo}}Czy mógłbyś zainstalować gadżet "Gadget-gConfig", tak jak na stronie {{LinkUżytkownik2|Persino/Gadgets-definition}} (pierwsza linijka) w {{LinkKomunikat2|Gadgets-definition}}, a co do tego, jego kod {{LinkUżytkownik2|Persino/Gadget-gConfig.js}} zainstalować w miejscu {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis jest w {{LinkUżytkownik2|Persino/Gadget-gConfig}}), przenosząc go do {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis do {{LinkKomunikat2|Gadget-gConfig}}). A później zaaktualizuj gadżet {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}, a także zainstalować w miejscu {{LinkKomunikat2|Gadget-Funkcje.js}} gadżet {{LinkUżytkownik2|Persino/Gadget-Funkcje.js}}, a również zaktualizować wpis dla gadżetu StronaSubst tak jak w {{LinkUżytkownik2|Persino/Gadgets-definition}}. A później sprawdzić, czy wszystko działa. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 13:19, 4 lut 2022 (CET)</del>
== Przepełnienie scrollbarów, poszczególnych elementów strony, a ustawienia różnych klas, jeżeli takowe istnieją ==
{{Ping|Wargo}}Czy mógłbyś uwzględnić na stronie {{LinkKomunikat2|Common.js}} część mojej strony, która jest po sekwencji /**/, będąca na stronie {{LinkUżytkownik2|Persino/common.js}}. Ten skrypt sprawdza, czy nastąpiło przepełnienie elementów strony dokumentu HTML Wikibooks, a jeżeli nastąpiło, to następuje ustawienie tam odpowiednich klas, a jeżeli ono znikło, to usunięcie tych klas. Ten skrypt jest mi potrzebny do szablonu {{s|StronaStart}} i jego pokrewnych oraz do mojego ustawienia skórki vector-2022, która jest w mojej przestrzeni użytkownika. Dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:23, 27 maj 2022 (CEST)
== Aktualizacja przepełnienia scrollbarów i implementacja sticky ==
{{Ping|Wargo}} Czy mógłbyś uwzględnić na stronie {{LinkKomunikat2|Common.js}} część mojej strony, która jest po sekwencji /**/, będąca na stronie {{LinkUżytkownik2|Persino/common.js}}. W przypadku pierwszego algorytmu, dodałem tam klasy {{Code|mw-overflow-x}} i {{Code|mw-overflow-y}}, które ten algorytm rozpoznaje, i dla nich liczy, czy nastąpiło to właśnie przepełnienie. A wcześniej liczyło dla wszystkich znaczników na stronie, co spowalniało całą stronę. Tam, gdzie, ważne jest liczenie przepełnienie wstawiłem {{Code|mw-overflow-x}}, czy {{Code|mw-overflow-y}}, czyli algorytm ten tam powinien działać, co można sprawdzić na stronie głównej tego projektu ({{NAZWASERWISU|link=tak}}). Drugi algorytm jest rozszerzenie właściwości {{Code|position:sticky}}, który on nie działa, gdy choćby jeden z rodziców jest z nie {{Code|overflow:visible}}, ale z {{Code|overflow}}, a ja zrobiłem, że jednak zaczeło działać, a ja tak to zrobiłem: {{Code|position:sticky}} zastąpiłem {{Code|position:absolute}}, w tym znaczników ustawiam {{Code|mw-sticky-y}} (przesuw w pionie) lub {{Code|mw-sticky-x}} (przesuw w poziomie), wtedy ten algorytm JavaScript działa tak, że pudełko przesuwa się od pewnej granicy do pewnej, ale nigdy nie wychodzi poza te granice, czyli działa podobnie jak {{Code|position:sticky}}. Dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 12:41, 9 lip 2022 (CEST)
==Aktualizacja skryptów na {{LinkKomunikat2|common.js}} z {{LinkUżytkownik2|Persino/common.js}}==
{{Ping|Wargo}} Czy mógłbyś zaktualizować kod na stronie {{LinkKomunikat2|common.js}} ze strony {{LinkUżytkownik2|Persino/common.js}} pod znakiem {{Code|/**/}}. Zdefiniowałem przestrzeń nazw {{Code|Common}} definicją:
{{Pre|var Common{{=}}new Array();}}
Prawie wszystkie funkcje ze strony {{LinkKomunikat2|common.js}} przeniosłem do tej przestrzeni na stronie {{LinkUżytkownik2|Persino/common.js}} (tutaj wszystkie funkcje są w przestrzeni {{Code|Common}}). Rozwinąłem funkcję {{Code|Common.ScrollBarOverflow}}, {{Code|Common.StickyXY}} i {{Code|Common.OptimalXY}}. Napisałem od nowa funkcje: {{Code|Common.RamkiTableIDiv}} i {{Code|Common.ZdarzeniaDodatkoweFunkcyjneXY}} oraz funkcję do obsługi szablonu {{s|StronaStart}} i jego pokrewnych książkowych z definiowałem w postaci: {{Code|Common.StronaStart}}.
Co oznaczają te funkcje:
* {{Code|Common.ScrollBarOverflow}} - do generowania pewnych klas, które służą do obsługi pudełka z paskami przewijania,
* {{Code|Common.StickyXY}} - aktualizacja funkcji {{Code|position:sticky}}, tam gdzie go nie można go użyć, do używamy tej funkcji,
* {{Code|Common.OptimalXY}} - do obsługi boksów na stronach z użytymi szablonami stronicowymi książkowymi otwierającymi i zamykającymi,
* {{Code|Common.RamkiTableIDiv}} - dodaje dalsze funkcje przy przyciskach tabel i ramek, nawigacyjnych,
* {{Code|Common.ZdarzeniaDodatkoweFunkcyjneXY}} - dodaje zdarzenia do obsługi funkcji: {{Code|Common.StickyXY}} i {{Code|Common.OptimalXY}},
* {{Code|Common.StronaStart}} - służy do obsługi spisu treści i boksów szablonu {{s|StronaStart}}.
Na stronach podręcznikowych boksy i spisy treści są responsywne według moich ustawień, a dla wszystkich użytkowników będą responsywne po zaktualizowaniu strony {{LinkKomunikat2|common.js}} przy pomocy {{LinkUżytkownik2|Persino/common.js}}.
----
Proszę o pilną reakcję i zrealizowanie mojej prośby. Z góry dziękuję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:55, 3 sie 2022 (CEST)
:Czy coś jest do usunięcia z obecnego common.js? Tj. czy coś stamtąd mam tym zastąpić? [[Wikipedysta:Wargo|Wargo]] ([[Dyskusja wikipedysty:Wargo|dyskusja]]) 20:55, 7 sie 2022 (CEST)
::{{Ping|Wargo}}Właśnie masz zastąpić nową wersją z pod /**/ z: {{LinkUżytkownik2|Persino/common.js}}, zastępując całą zawartość strony w: {{LinkKomunikat2|common.js}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:04, 7 sie 2022 (CEST)
:::{{Ping|Wargo}} Już możesz zastępować, wszystko gotowe! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:39, 7 sie 2022 (CEST)
===Ostatnia poprawka===
{{Ping|Wargo}}Czy mógłbyś linijkę kodu:
{{Pre|var top_ab{{=}}rect_rodzic[top]-margintop;
var bottom_ab{{=}}(wys-rect_rodzic[bottom])-marginbottom;
}}
poprawić na:
{{Pre|var top_ab{{=}}rect_rodzic[top];
var bottom_ab{{=}}(wys-rect_rodzic[bottom]);
}}
w funkcji: {{Code|Common.StickyXY}}, w {{LinkKomunikat2|common.js}} według {{LinkUżytkownik2|Persino/common.js}}. Tj. to linijka: 481-482.
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:51, 8 sie 2022 (CEST)
=== Miejmy nadzieję, że ostatnia poprawka na stronie {{LinkKomunikat2|common.js}} ===
{{Ping|Wargo}}Czy mógłbyś w kodzie w linii: 177 i 183, na stronie {{LinkKomunikat2|common.js}} według {{LinkUżytkownik2|Persino/common.js}} poprawić według schematu:
{{Pre
|collapseTable( i );
}}
zamienić na:
{{Pre
|Common.collapseTable( i );
}}
Poprawka jest ważna, bo tabele nawigacyjne, na stronie głównej i gdzieś indziej, nie chcą się kolapsować, a po tej operacji już będą się tak zachowywać!
----
W linii: 176 poprawić:
{{Pre
|1=if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) {{!}}{{!}} ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "Common.autoCollapse" ) ) ) {
}}
na kod:
{{Pre
|1=if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) {{!}}{{!}} ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) {
}}
----
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 13:34, 8 sie 2022 (CEST)
=== Poprawka, by zdarzenia nie były w postaci podwójnej, tzn. ze strony: {{LinkKomunikat2|common.js}} (strona {{Np|MediaWiki|link=tak}}), i {{LinkUżytkownik2|Persino/common.js}} (strona użytkownika - {{Np|User|link=tak}}) ===
{{Ping|Wargo}}Zrobiłem tak, by zdarzenia nie były w postaci podwójnej, tzn. ze strony MediaWiki: {{LinkKomunikat2|common.js}}, i strony użytkownika: {{LinkUżytkownik2|Persino/common.js}}, jeżeli takową stronę użytkownik posiada. Zrobiłem też tam parę drobnych innych edycji. Mówiąc najprostszej, zawartością z: {{LinkUżytkownik2|Persino/common.js}}, z pod {{Code|/**/}} zastąp zawartość strony: {{LinkKomunikat2|common.js}}. Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 07:13, 9 sie 2022 (CEST)
=== Poprawka strony {{LinkKomunikat2|Gadget-delete-local.js}}, kilka linijek ===
{{Ping|Wargo}} Czy mógłbyś zamienić zawartość strony {{LinkKomunikat2|Gadget-delete-local.js}} na {{LinkUżytkownik2|Persino/Gadget-delete-local.js}}.
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 07:13, 9 sie 2022 (CEST)
=== Przecieki pamięci w {{LinkKomunikat2|common.js}} w połączeniu z {{LinkUżytkownik2|Persino/common.js}} ===
{{Ping|Wargo}} Czy mógłbyś stronę {{LinkKomunikat2|common.js}} podmienić z zawartością strony {{LinkUżytkownik2|Persino/common.js}} z pod linii /**/. Z góry dziękuję za spełnienie prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 17:37, 15 sie 2022 (CEST)
=== Usunięcie funkcji {{Code|Promise}} z funkcji {{Code|Common.RamkiTableIDiv}}, a nowa poprawka w {{LinkKomunikat2|common.js}} przy pomocy {{LinkUżytkownik2|Persino/common.js}} ===
{{Ping|Wargo}} Kiedyś funkcja {{Code|Common.RamkiTableIDiv}} była uruchamiana za pomocą zwykłej funkcji bez umieszczenia go w bloku {{Code|$}}, a teraz jest ona umieszczony właśnie w nim, więc {{Code|Promise}} jest już w nim nie potrzebna, więc usunąłem z tej funkcji właśnie nią, więc funkcję {{Code|Common.RamkiTableIDiv}} musiałem zmodyfikować.
----
----
Zadanie pierwsze: Czy mógłbyś definicję funkcji {{Code|Common.RamkiTableIDiv}} w {{LinkKomunikat2|common.js}} zastąpić nową jego definicją z {{LinkUżytkownik2|Persino/common.js}}, wraz z jego komentarzami, i z komentarzami uruchamiania tej funkcji dla funkcji {{Code|$}}.
Zadanie drugie: Linie, tzn.: 22-26, na stronie {{LinkKomunikat2|common.js}} zamienić na linie: 25-38 ze strony {{LinkUżytkownik2|Persino/common.js}}.
Zadanie trzecie: Dodać niektóre komentarze, które dodałem do {{LinkUżytkownik2|Persino/common.js}}.
Zadanie czwarte: Należy zastąpić zawartość funkcji {{Code|Common.StronaStart}} w {{LinkKomunikat2|common.js}} z {{LinkUżytkownik2|Persino/common.js}}.
----
Najłatwiej wykonać te cztery zadania w sposób: zawartość na stronie {{LinkKomunikat2|common.js}} zastąpić zawartością z {{LinkUżytkownik2|Persino/common.js}} z pod linii /**/, ze względu, że umieściłem tam dodatkowe komentarze, co możesz sprawdzić, co się zmieniło w historii zmian.
----
----
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 17:38, 16 sie 2022 (CEST)
t8vfd2yxbno0mmvoxqoa36qalukubze
437962
437961
2022-08-17T09:09:44Z
Persino
2851
/* Usunięcie funkcji {{Code|Promise}} z funkcji {{Code|Common.RamkiTableIDiv}}, a nowa poprawka w {{LinkKomunikat2|common.js}} przy pomocy {{LinkUżytkownik2|Persino/common.js}} */
wikitext
text/x-wiki
<noinclude>__LINKNOWEJSEKCJI__ [[Kategoria:Księga próśb i zadań]]</noinclude>
{{fmbox|tekst=UWAGA: Nowe zgłoszenia o innym temacie niż to co dotyczy [[Wikibooks:Prośby do administratorów interfejsu/Zgłoszenia]] lub łamiące zasady [[Wikibooks:Wikietykieta|Wikietykiety]] mogą być bezwarunkowo wycofywane z tej strony}}
<!-- Nowe zgłoszenia wstawiaj poniżej tej linii. Powyżej tej linii nic nie usuwaj. Nie usuwaj tej linii -->
== Usunięcie wymuszenia białego tła w tabelach. ==
Zwracam się z prośbą o usunięcie [[MediaWiki:Common.css]] fragmentu
<syntaxhighlight lang="css">
}
+
table.wikitable td,
+
table.prettytable td {
+
background: #f9f9f9;
</syntaxhighlight>
Fragment ten wymusza białe tło w tabelach, co uniemożliwia zastosowanie kolorowych komórek. Takowe bardzo by się przydały np. w opracowywanym przeze [[Zbiór zadań maturalnych/Biologia|Zbiorze zadań maturalnych z Biologii]] jak np. tu: [[:Kategoria:Zbiór zadań maturalnych/podstawa programowa 2017/Biologia/Zakres rozszerzony/Treści nauczania/II/3/1]]. Póki co posiłkuję się obramowaniem, chciałbym jednak docelowo zastosować kolorowanie komórek.
Z góry dziękuję za rozpatrzenie mojej prośby.
[[Wikipedysta:Superjurek|Superjurek]] ([[Dyskusja wikipedysty:Superjurek|dyskusja]]) 22:42, 16 kwi 2021 (CEST)
-----
{{Ping|Superjurek}}Spróbuj użyć zapisu, np.:
<syntaxhighlight lang="css">
background-color: blue !important;
color:white !important;
</syntaxhighlight>
zamiast:
<syntaxhighlight lang="css">
background-color: blue;
color:white;
</syntaxhighlight>
to powinno naprawić cały problem! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:05, 27 maj 2022 (CEST)
==Wstawianie kodu do {{LinkKomunikat2|Common.js}}==
Czy mógłbyś wsadzić do tej strony {{Code|.js}} kod:
<syntaxhighlight lang="JavaScript">
function WyswietlStronyKsiazki(){
function WikikodTitle(data,tabs,titles,tabstrona){
var title=data.parse.title;
var wikikod=data.parse.text['*'];
var elements=tabstrona[title];
for(var q in elements){
elements[q].innerHTML=wikikod;
var a=elements[q].getElementsByTagName('a');
if((a!==null)&&(a.length>0)){
var lena=a.length;
for(var i=0;i<lena;++i){
var href=a[i].getAttribute('href');
if(href!==null){
var re=/^[^\?]+\?[^&]+=[^&]*&?/g;
if(!re.test(href)){
var re2=/#/g;
var s=href.search(re2);
if(s!=-1){
var re=/^\/wiki\//g;
if(re.test(href)){
var href2=href.substring(6,s)
href2=decodeURI(href2);
href2=href2.replace(/[_\s]+/g," ");
for(var s=0;s<titles.length;s++){
var strona=titles[s];
if(href2==strona){
var href3=href.replace(/^[^#]*/g,"");
var a_toc=a[i];
a_toc.setAttribute('href',encodeURI(href3));
a_toc.setAttribute("title","");
}
}
}
}else{
var re=/^\/wiki\//g;
if(re.test(href)){
var hrefv=href.replace(re,"");
var hrefs=decodeURI(hrefv);
hrefs=hrefs.replace(/[_\s]+/g," ");
for(var s=0;s<titles.length;s++){
var strona=titles[s];
if(hrefs==strona){
var hrefs2=hrefv.replace(/^[^\/]*\//g,"");
var a_toc=a[i];
a_toc.setAttribute('href','#'+hrefs2);
a_toc.setAttribute("title","");
}
}
}
}
}
}
}
}
}
var tab_toc=new Array("toc","toc_spis");
for(var d=0;d<tab_toc.length;++d){
var toc=document.getElementsByClassName(tab_toc[d]);
if((toc!==null)&&(toc.length>0)){
for(var q in elements){
var num=new Array();
var v=0;
for(var e=0;e<tabs.length;++e){
if(tabs[e]==title){
v+=1;
if(parseInt(q)+1==v){
num.push(parseInt(e)+1);
break;
}
}
}
var headline=elements[q].getElementsByClassName("mw-headline");
if((headline!==null)&&(headline.length>0)){
var ulozenie=0;
var ostanie=0;
var len=headline.length;
var naglowek="";
var liczba_ulozenia_w_menu_spisu_tresci=1;
var h_number=1;
for (var k=0;k<len;++k){
var element2=headline[k];
var nag=element2.innerHTML;
var nag2=element2.getAttribute('id');
var h=element2.parentNode.tagName;
var h_numer=h.replace(/^[^\d]+/g,"");
h_numer=parseInt(h_numer)
if((ulozenie==0)||(ulozenie>=h_numer)){
ulozenie=h_numer-1;
}else {
if(ostatnie+1<h_numer-ulozenie){
ulozenie=h_numer-ostatnie-1;
}
}
ostatnie=h_numer-ulozenie;
h_numer=h_numer-ulozenie;
if(k==0){
num.push(1);
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="<ul><li><a href=\"#"+nag2+"\">"+nag+"</a>";
}else{
if(h_numer==liczba_ulozenia_w_menu_spisu_tresci){
num[num.length-1]+=1;
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="</li><li><a href=\"#"+nag2+"\">"+nag+"</a>";
}else{
if(h_numer>liczba_ulozenia_w_menu_spisu_tresci){
num.push(1);
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="<ul><li><a href=\"#"+nag2+"\">"+nag+"</a>";
liczba_ulozenia_w_menu_spisu_tresci=h_numer;
}else{
if(h_numer<liczba_ulozenia_w_menu_spisu_tresci){
num.splice(num.length-liczba_ulozenia_w_menu_spisu_tresci+h_numer,liczba_ulozenia_w_menu_spisu_tresci-h_numer);
num[num.length-1]+=1;
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+=('</li></ul>'.repeat(liczba_ulozenia_w_menu_spisu_tresci-h_numer))+"</li><li><a href=\"#"+nag2+"\">"+nag+"</a>";
liczba_ulozenia_w_menu_spisu_tresci=h_numer;
}
}
}
}
}
if(naglowek!=""){
naglowek+=('</li></ul>'.repeat(liczba_ulozenia_w_menu_spisu_tresci));
for(var b=0;b<toc.length;++b){
var a2=toc[b].getElementsByTagName('a');
if((a2!=null)&&(a2.length>0)){
for(var y=0;y<a2.length;++y){
var parent=a2[y].parentNode;
var href=a2[y].getAttribute('href');
href=href.replace(/^#/g,"");
var title2=title.replace(/^[^\/]+\//g,"");
if(href==title2.replace(/[_ ]+/g,"_")+((q>0)?("_"+(parseInt(q)+1)):"")){
var div=document.createElement('div');
div.innerHTML=naglowek;
var links=a2[y].getElementsByClassName('toctext');
if((links!=null)&&(links.length>0)){
var link=links[0].innerHTML;
if(link==title2){
parent.appendChild(div.getElementsByTagName('ul')[0]);
}
}
}
}
}
}
}
}
}
}
}
for(var d=0;d<tab_toc.length;++d){
var toc_pos=document.getElementsByClassName(tab_toc[d]);
if((toc_pos!==null)&&(toc_pos.length>0)){
for(var w=0;w<toc_pos.length;++w){
var li=toc_pos[w].getElementsByTagName('li');
var poziom;
var section=1;
for(var z=0;z<li.length;++z){
var parent=li[z].parentNode.parentNode;
if(parent!==null){
var klasa=parent.getAttribute('class');
if(klasa!==null){
var poziom=klasa.match(/toclevel-\d+/g);
if(poziom!==null){
poziom=parseInt(poziom.toString().match(/\d+$/).toString())+1;
}else{
poziom=1;
}
}else{poziom=1;}
}else{poziom=1;}
var klasa=li[z].getAttribute('class');
if(klasa!==null){
var czy_section=klasa.match(/tocsection-\d+/);
if(czy_section!==null){
klasa=klasa.replace(/tocsection-\d+/g,"tocsection-"+section);
li[z].setAttribute('class',klasa);
}else{
li[z].classList.add("tocsection-"+section);
}
var czy_level=klasa.match(/toclevel-\d+/);
if(czy_level!==null){
klasa=li[z].getAttribute('class');
klasa=klasa.replace(/toclevel-\d+/g,"toclevel-"+poziom);
li[z].setAttribute('class',klasa);
}else{
li[z].classList.add("toclevel-"+poziom);
}
}else{
li[z].setAttribute('class',"toclevel-"+poziom+" tocsection-"+section)
}
section=section+1;
}
}
}
}
var headline=document.getElementsByClassName('mw-headline');
if((headline)&&(headline.length>0)){
for(var i=0;i<headline.length;++i){
var c=1;
var el=headline[i];
var id0=el.innerHTML;
id0=id0.replace(/[_\s]+/g,"_");
id0=id0.replace(/<[^<>]+>/g,"");
for(var j=0;j<i;++j){
var el1=headline[j];
var id1=el1.innerHTML;
id1=id1.replace(/[_\s]+/g,"_");
id1=id1.replace(/<[^<>]+>/g,"");
if(id0==id1){
++c;
}
}
if(c==1){
el.setAttribute('id',id0);
}else{
el.setAttribute('id',id0+"_"+c);
}
}
}
var tab_toc=new Array("toc","toc_spis");
for(d=0;d<tab_toc.length;++d){
var toc_pos=document.getElementsByClassName(tab_toc[d]);
if((toc_pos!==null)&&(toc_pos.length>0)){
for(var w=0;w<toc_pos.length;++w){
var toc=toc_pos[w];
var a=toc.getElementsByTagName('a');
if((a)&&(a.length>0)){
for(var p=0;p<a.length;++p){
var strona=a[p].getElementsByClassName('toctext')[0].innerHTML.replace(/[_\s]+/g,"_");
strona=strona.replace(/<[^<>]+>/g,"");
var c=1;
for(var v=0;v<p;++v){
var strona2;
strona2=a[v].getElementsByClassName('toctext')[0].innerHTML.replace(/[_\s]+/g,"_");
strona2=strona2.replace(/<[^<>]+>/g,"");
if(strona==strona2){
++c;
}
}
strona=strona.replace(/<[^<>]+>/g,"");
if(c==1){
a[p].setAttribute('href',"#"+strona);
}else{
a[p].setAttribute('href',"#"+strona+"_"+c);
}
}
}
}
}
}
}
function StronaSubst(data){
var wikikod=data.parse.text['*'];
var elem=document.createElement('div');
elem.innerHTML=wikikod;
var klasa_mw_parser_out=elem.getElementsByClassName('mw-parser-output');
var wikikod_wyodrepniony=(((klasa_mw_parser_out)&&(klasa_mw_parser_out.length==1))?(klasa_mw_parser_out[0].innerHTML):wikikod);
var czy_wikikod=wikikod_wyodrepniony.match(/^\s*$/g);
if(czy_wikikod){return;}
var strona_subst="strona_subst";
var tagclass=document.getElementsByClassName(strona_subst);
if(tagclass==null){return null;}
var liczba_elementow=tagclass.length;
if(liczba_elementow==0){return null;}
var titles=new Array();
var tabstrona=new Array();
var tabs=new Array();
for (var i=0;i<liczba_elementow;++i){
var element=tagclass[i];
if(element.tagName!="DIV"){return null;}
var strona=element.innerHTML;
var re = /^[_ ]*$/g;
var dopasowanie = re.test(strona);
if(dopasowanie){return null;};
strona=strona.replace(/^[_ ]*/g,"");
strona=strona.replace(/[_ ]*$/g,"");
strona=strona.replace(/[_ ]+/g," ");
tabs[i]=strona;
var czy=false;
for(var d in titles){
if(titles[d]==strona){
czy=true;
break;
}
}
if(!czy){
titles[titles.length]=strona;
}
if(tabstrona[strona]==null){
tabstrona[strona]=new Array();
}
var tab=tabstrona[strona];
var tablen=tab.length;
tabstrona[strona][tablen]=element;
}
for ( var p in titles ) {
var strona=titles[p];
var api=new mw.Api;
api.get({
action: 'parse',
format: 'json',
prop: 'text',
title: strona,
text: '{{:'+strona+'}}',
disabletoc: true,
disablelimitreport: true,
contentmodel: 'wikitext'
}).done(function(data){
WikikodTitle(data,tabs,titles,tabstrona);
});
}
}
var strona = mw.config.get('wgPageName');
var api=new mw.Api;
api.get({
action: 'parse',
format: 'json',
prop: 'text',
title: strona,
text: '{{#invoke:StronicowyParser|CzyStronaSubst}}',
disabletoc: true,
disablelimitreport: true,
contentmodel: 'wikitext'
}).done(function(data){
StronaSubst(data)
});
}
$(WyswietlStronyKsiazki);
</syntaxhighlight>
Ten program {{Code|.js}} znajduje się na stronie: {{LinkUżytkownik2|Persino/common.js}}. Jak wstawisz ten kod do strony {{LinkKomunikat2|Common.js}}, to powinno wtedy zadziałać ładowanie modułów książki, za pomocą JavaScript, na stronie {{LinkUżytkownik2|Persino/Wersja do druku}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:09, 13 lis 2021 (CET)
== Gadżet StronaSubst - dodawanie do listy gadżetów ==
Mamy sobie kod JavaScript {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} i opis gadżetu {{LinkUżytkownik2|Persino/Gadget-StronaSubst}}, czy mógłbyś przenieść na strony w przestrzeni nazw {{Np|MediaWiki|link=tak}}, i wywołaniu gadżetu w takiej formie jak w {{LinkUżytkownik2|Persino/Gadgets-definition}} przenieść na stronę {{LinkKomunikat2|Gadgets-definition}}. Wtedy strona {{LinkUżytkownik2|Persino/Wersja do druku}} powinna działać! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:14, 27 lis 2021 (CET)
=== Zamienianie kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}} ===
{{Ping|Wargo}}Chodzi tutaj, że jak będzie link do artykułu w nagłówku, to, żeby nie pojawiało się pole '''[ artykuł | edytuj ]''' zamiast '''[ edytuj ]''' - aktualnie w {{LinkKomunikat2|Gadget-StronaSubst.js}} pole '''[ artykuł | edytuj ]''' pojawia się zawsze zamiast '''[ edytuj ]''', wtedy gdy ma zawartość '''strona_subst''' jest nie pusta, to algorytm jest zakańczany. A jak jest nazwa strony w zawartości div-a '''strona_subst''', a nie link w nagłówku, to wtedy ma się prawo pojawić '''[ artykuł | edytuj ]''' zamiast '''[ edytuj ]'''. Czy mógłbyś wersję {{LinkKomunikat2|Gadget-StronaSubst.js}} zamienić na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}. Z góry dziękuję za rozpatrzenie mojej prośby! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 10:13, 30 lis 2021 (CET)
----
{{Ping|Wargo}} Jeszcze, czy mógłbyś zamienić tekst w {{LinkKomunikat2|Gadget-StronaSubst}} z:
{{Pre|(bez sekcji "Spis treści" i "Licencja")}}
na
{{Pre|(bez sekcji "Spis treści", "Bibliografia" i "Licencja")}}
[[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:18, 1 gru 2021 (CET)
=== Ostatnia poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}===
{{Ping|Wargo}}Chodzi tutaj, że algorytm zawiesza się na artykule {{LinkGłówna|Mechanika kwantowa/Mechanika kwantowa}}, to co poprawiłem już tak przestaje być, błąd znikł! Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 18:30, 3 gru 2021 (CET)
=== Miejmy nadzieję, że to jest ostatnia poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}===
{{Ping|Wargo}}Chodzi tutaj, że algorytm ma błędy JavaScript na stronie, przy danej książce: {{LinkGłówna|Szachy}}, czyli przy artykule: {{LinkGłówna|Szachy/Szachy}} - błąd tylko widać, gdy chcemy zbadać element, moja poprawka usuwa ten błąd! Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:50, 4 gru 2021 (CET)
=== Następna poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}} ===
{{Ping|Wargo}}Chodzi tutaj, że algorytm nie wyświetla w TOC (wbudowany spis treści) podrozdziałów dla artykułu {{LinkGłówna|Matematyka dla liceum/Matematyka dla liceum}}, moja poprawka usuwa ten błąd. Skrypt porządkuje artykuły według nagłówków na stronie tego artykułu w TOC, a zestaw artykułów, w danek sekcji, wyświetla, również w TOC, je przydzielone do niej. Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:51, 7 gru 2021 (CET)
=== Poważne poprawki w {{LinkKomunikat2|Gadget-StronaSubst.js}} na podstawie {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} oraz dodanie i zmiana pewnych gadżetów ===
{{Ping|Wargo}} Następne poprawki dotyczące wpisu w {{LinkKomunikat2|Gadget-StronaSubst.js}}, co do zauważonych drobnych błędów, czyli mógłbyś dokonać zamiany kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}.
Z góry dziękuję. Poza tym wszystko działa, od razu dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:32, 8 gru 2021 (CET)
----
{{Ping|Wargo}} Jeszcze, czy mógłbyś zamienić tekst w {{LinkKomunikat2|Gadget-StronaSubst}} z:
{{Pre|(bez sekcji "Spis treści", "Bibliografia" i "Licencja")}}
na
{{Pre|(bez sekcji: "Spis treści", "Bibliografia", "Zobacz też", "Inne", "Licencja" i tym podobne)}}
Dziękuję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 05:43, 9 gru 2021 (CET)
----
{{Ping|Wargo}} Czy mógłbyś uzupełnić {{LinkKomunikat2|Gadgets-definition}}, według {{LinkUżytkownik2|Persino/Gadgets-definition}} - szczególnie trzeba naprawić odwołanie do gadżetu StronaSubst, i dodać gadżety: {{LinkUżytkownik2|Persino/Gadget-gConfig.js}} (jego opis jest w {{LinkUżytkownik2|Persino/Gadget-gConfig}}), przenosząc go do {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis do {{LinkKomunikat2|Gadget-gConfig}}), a także drugi gadżet dotyczący szablonu {{s|Cytuj}} przenieś z {{LinkUżytkownik2|Persino/Gadget-citation-access-info.js}} (jego opis to {{LinkUżytkownik2|Persino/Gadget-citation-access-info}}) do {{LinkKomunikat2|Gadget-citation-access-info.js}} (a jego opis do {{LinkKomunikat2|Gadget-citation-access-info}}).
Gadżet '''gConfig''' potrzebny mi jest do gadżetu {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}}, którego zawartość należy przenieść do {{LinkKomunikat2|Gadget-StronaSubst.js}}, a gadżet {{LinkUżytkownik2|Persino/Gadget-citation-access-info.js}}, potrzebny mi jest do szablonu {{s|Cytuj}} do dymku do pełnej wersji tego szablonu, który należy przenieść do {{LinkKomunikat2|Gadget-citation-access-info.js}}.
Proszę o pilną reakcję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:04, 11 gru 2021 (CET)
----
Również proszę o zastąpienie strony komunikatu {{LinkKomunikat2|Gadget-map-toggler.js}} stroną {{LinkUżytkownik2|Persino/Gadget-map-toggler.js}}. Z góry dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 18:38, 11 gru 2021 (CET)
== Zamiana wartości linkowej i szablonowej ==
{{Ping|Wargo}}Czy mógłbyś zamienić na stronie: {{LinkUżytkownik2|Rychozol/common.js}}, z wartości: {{Nowiki|[[GNU Free Documentation License|GFDL]]}}, na: {{Nowiki|[[Wikibooks:GNU Free Documentation License|GFDL]]}}, a także na tej samej stronie wartość: {{s|clear}}, na {{s|BrClear}}, ponieważ ze względu na zmianę nazw stron. Z góry dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:35, 13 gru 2021 (CET)
<del>== Dalsze zmiany na stronach gadżetów (pilne) ==
{{Ping|Wargo}}Czy mógłbyś zainstalować gadżet "Gadget-gConfig", tak jak na stronie {{LinkUżytkownik2|Persino/Gadgets-definition}} (pierwsza linijka) w {{LinkKomunikat2|Gadgets-definition}}, a co do tego, jego kod {{LinkUżytkownik2|Persino/Gadget-gConfig.js}} zainstalować w miejscu {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis jest w {{LinkUżytkownik2|Persino/Gadget-gConfig}}), przenosząc go do {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis do {{LinkKomunikat2|Gadget-gConfig}}). A później zaaktualizuj gadżet {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}, a także zainstalować w miejscu {{LinkKomunikat2|Gadget-Funkcje.js}} gadżet {{LinkUżytkownik2|Persino/Gadget-Funkcje.js}}, a również zaktualizować wpis dla gadżetu StronaSubst tak jak w {{LinkUżytkownik2|Persino/Gadgets-definition}}. A później sprawdzić, czy wszystko działa. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 13:19, 4 lut 2022 (CET)</del>
== Przepełnienie scrollbarów, poszczególnych elementów strony, a ustawienia różnych klas, jeżeli takowe istnieją ==
{{Ping|Wargo}}Czy mógłbyś uwzględnić na stronie {{LinkKomunikat2|Common.js}} część mojej strony, która jest po sekwencji /**/, będąca na stronie {{LinkUżytkownik2|Persino/common.js}}. Ten skrypt sprawdza, czy nastąpiło przepełnienie elementów strony dokumentu HTML Wikibooks, a jeżeli nastąpiło, to następuje ustawienie tam odpowiednich klas, a jeżeli ono znikło, to usunięcie tych klas. Ten skrypt jest mi potrzebny do szablonu {{s|StronaStart}} i jego pokrewnych oraz do mojego ustawienia skórki vector-2022, która jest w mojej przestrzeni użytkownika. Dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:23, 27 maj 2022 (CEST)
== Aktualizacja przepełnienia scrollbarów i implementacja sticky ==
{{Ping|Wargo}} Czy mógłbyś uwzględnić na stronie {{LinkKomunikat2|Common.js}} część mojej strony, która jest po sekwencji /**/, będąca na stronie {{LinkUżytkownik2|Persino/common.js}}. W przypadku pierwszego algorytmu, dodałem tam klasy {{Code|mw-overflow-x}} i {{Code|mw-overflow-y}}, które ten algorytm rozpoznaje, i dla nich liczy, czy nastąpiło to właśnie przepełnienie. A wcześniej liczyło dla wszystkich znaczników na stronie, co spowalniało całą stronę. Tam, gdzie, ważne jest liczenie przepełnienie wstawiłem {{Code|mw-overflow-x}}, czy {{Code|mw-overflow-y}}, czyli algorytm ten tam powinien działać, co można sprawdzić na stronie głównej tego projektu ({{NAZWASERWISU|link=tak}}). Drugi algorytm jest rozszerzenie właściwości {{Code|position:sticky}}, który on nie działa, gdy choćby jeden z rodziców jest z nie {{Code|overflow:visible}}, ale z {{Code|overflow}}, a ja zrobiłem, że jednak zaczeło działać, a ja tak to zrobiłem: {{Code|position:sticky}} zastąpiłem {{Code|position:absolute}}, w tym znaczników ustawiam {{Code|mw-sticky-y}} (przesuw w pionie) lub {{Code|mw-sticky-x}} (przesuw w poziomie), wtedy ten algorytm JavaScript działa tak, że pudełko przesuwa się od pewnej granicy do pewnej, ale nigdy nie wychodzi poza te granice, czyli działa podobnie jak {{Code|position:sticky}}. Dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 12:41, 9 lip 2022 (CEST)
==Aktualizacja skryptów na {{LinkKomunikat2|common.js}} z {{LinkUżytkownik2|Persino/common.js}}==
{{Ping|Wargo}} Czy mógłbyś zaktualizować kod na stronie {{LinkKomunikat2|common.js}} ze strony {{LinkUżytkownik2|Persino/common.js}} pod znakiem {{Code|/**/}}. Zdefiniowałem przestrzeń nazw {{Code|Common}} definicją:
{{Pre|var Common{{=}}new Array();}}
Prawie wszystkie funkcje ze strony {{LinkKomunikat2|common.js}} przeniosłem do tej przestrzeni na stronie {{LinkUżytkownik2|Persino/common.js}} (tutaj wszystkie funkcje są w przestrzeni {{Code|Common}}). Rozwinąłem funkcję {{Code|Common.ScrollBarOverflow}}, {{Code|Common.StickyXY}} i {{Code|Common.OptimalXY}}. Napisałem od nowa funkcje: {{Code|Common.RamkiTableIDiv}} i {{Code|Common.ZdarzeniaDodatkoweFunkcyjneXY}} oraz funkcję do obsługi szablonu {{s|StronaStart}} i jego pokrewnych książkowych z definiowałem w postaci: {{Code|Common.StronaStart}}.
Co oznaczają te funkcje:
* {{Code|Common.ScrollBarOverflow}} - do generowania pewnych klas, które służą do obsługi pudełka z paskami przewijania,
* {{Code|Common.StickyXY}} - aktualizacja funkcji {{Code|position:sticky}}, tam gdzie go nie można go użyć, do używamy tej funkcji,
* {{Code|Common.OptimalXY}} - do obsługi boksów na stronach z użytymi szablonami stronicowymi książkowymi otwierającymi i zamykającymi,
* {{Code|Common.RamkiTableIDiv}} - dodaje dalsze funkcje przy przyciskach tabel i ramek, nawigacyjnych,
* {{Code|Common.ZdarzeniaDodatkoweFunkcyjneXY}} - dodaje zdarzenia do obsługi funkcji: {{Code|Common.StickyXY}} i {{Code|Common.OptimalXY}},
* {{Code|Common.StronaStart}} - służy do obsługi spisu treści i boksów szablonu {{s|StronaStart}}.
Na stronach podręcznikowych boksy i spisy treści są responsywne według moich ustawień, a dla wszystkich użytkowników będą responsywne po zaktualizowaniu strony {{LinkKomunikat2|common.js}} przy pomocy {{LinkUżytkownik2|Persino/common.js}}.
----
Proszę o pilną reakcję i zrealizowanie mojej prośby. Z góry dziękuję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:55, 3 sie 2022 (CEST)
:Czy coś jest do usunięcia z obecnego common.js? Tj. czy coś stamtąd mam tym zastąpić? [[Wikipedysta:Wargo|Wargo]] ([[Dyskusja wikipedysty:Wargo|dyskusja]]) 20:55, 7 sie 2022 (CEST)
::{{Ping|Wargo}}Właśnie masz zastąpić nową wersją z pod /**/ z: {{LinkUżytkownik2|Persino/common.js}}, zastępując całą zawartość strony w: {{LinkKomunikat2|common.js}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:04, 7 sie 2022 (CEST)
:::{{Ping|Wargo}} Już możesz zastępować, wszystko gotowe! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:39, 7 sie 2022 (CEST)
===Ostatnia poprawka===
{{Ping|Wargo}}Czy mógłbyś linijkę kodu:
{{Pre|var top_ab{{=}}rect_rodzic[top]-margintop;
var bottom_ab{{=}}(wys-rect_rodzic[bottom])-marginbottom;
}}
poprawić na:
{{Pre|var top_ab{{=}}rect_rodzic[top];
var bottom_ab{{=}}(wys-rect_rodzic[bottom]);
}}
w funkcji: {{Code|Common.StickyXY}}, w {{LinkKomunikat2|common.js}} według {{LinkUżytkownik2|Persino/common.js}}. Tj. to linijka: 481-482.
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:51, 8 sie 2022 (CEST)
=== Miejmy nadzieję, że ostatnia poprawka na stronie {{LinkKomunikat2|common.js}} ===
{{Ping|Wargo}}Czy mógłbyś w kodzie w linii: 177 i 183, na stronie {{LinkKomunikat2|common.js}} według {{LinkUżytkownik2|Persino/common.js}} poprawić według schematu:
{{Pre
|collapseTable( i );
}}
zamienić na:
{{Pre
|Common.collapseTable( i );
}}
Poprawka jest ważna, bo tabele nawigacyjne, na stronie głównej i gdzieś indziej, nie chcą się kolapsować, a po tej operacji już będą się tak zachowywać!
----
W linii: 176 poprawić:
{{Pre
|1=if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) {{!}}{{!}} ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "Common.autoCollapse" ) ) ) {
}}
na kod:
{{Pre
|1=if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) {{!}}{{!}} ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) {
}}
----
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 13:34, 8 sie 2022 (CEST)
=== Poprawka, by zdarzenia nie były w postaci podwójnej, tzn. ze strony: {{LinkKomunikat2|common.js}} (strona {{Np|MediaWiki|link=tak}}), i {{LinkUżytkownik2|Persino/common.js}} (strona użytkownika - {{Np|User|link=tak}}) ===
{{Ping|Wargo}}Zrobiłem tak, by zdarzenia nie były w postaci podwójnej, tzn. ze strony MediaWiki: {{LinkKomunikat2|common.js}}, i strony użytkownika: {{LinkUżytkownik2|Persino/common.js}}, jeżeli takową stronę użytkownik posiada. Zrobiłem też tam parę drobnych innych edycji. Mówiąc najprostszej, zawartością z: {{LinkUżytkownik2|Persino/common.js}}, z pod {{Code|/**/}} zastąp zawartość strony: {{LinkKomunikat2|common.js}}. Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 07:13, 9 sie 2022 (CEST)
=== Poprawka strony {{LinkKomunikat2|Gadget-delete-local.js}}, kilka linijek ===
{{Ping|Wargo}} Czy mógłbyś zamienić zawartość strony {{LinkKomunikat2|Gadget-delete-local.js}} na {{LinkUżytkownik2|Persino/Gadget-delete-local.js}}.
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 07:13, 9 sie 2022 (CEST)
=== Przecieki pamięci w {{LinkKomunikat2|common.js}} w połączeniu z {{LinkUżytkownik2|Persino/common.js}} ===
{{Ping|Wargo}} Czy mógłbyś stronę {{LinkKomunikat2|common.js}} podmienić z zawartością strony {{LinkUżytkownik2|Persino/common.js}} z pod linii /**/. Z góry dziękuję za spełnienie prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 17:37, 15 sie 2022 (CEST)
=== Usunięcie funkcji {{Code|Promise}} z funkcji {{Code|Common.RamkiTableIDiv}}, a nowa poprawka w {{LinkKomunikat2|common.js}} przy pomocy {{LinkUżytkownik2|Persino/common.js}} ===
{{Ping|Wargo}} Kiedyś funkcja {{Code|Common.RamkiTableIDiv}} była uruchamiana za pomocą zwykłej funkcji bez umieszczenia go w bloku {{Code|$}}, a teraz jest ona umieszczony właśnie w nim, więc {{Code|Promise}} jest już w nim nie potrzebna, więc usunąłem z tej funkcji właśnie nią, więc funkcję {{Code|Common.RamkiTableIDiv}} musiałem zmodyfikować.
----
----
Zadanie pierwsze: Czy mógłbyś definicję funkcji {{Code|Common.RamkiTableIDiv}} w {{LinkKomunikat2|common.js}} zastąpić nową jego definicją z {{LinkUżytkownik2|Persino/common.js}}, wraz z jego komentarzami, i z komentarzami uruchamiania tej funkcji dla funkcji {{Code|$}}.
Zadanie drugie: Linie, tzn.: 22-26, na stronie {{LinkKomunikat2|common.js}} zamienić na linie: 25-38 ze strony {{LinkUżytkownik2|Persino/common.js}}.
Zadanie trzecie: Dodać niektóre komentarze, które dodałem do {{LinkUżytkownik2|Persino/common.js}}.
Zadanie czwarte: Należy zastąpić zawartość funkcji {{Code|Common.StronaStart}} w {{LinkKomunikat2|common.js}} z {{LinkUżytkownik2|Persino/common.js}}.
----
Aby wcielić w życie powyższe edycje należy najłatwiej wykonać te cztery zadania w sposób: zawartość na stronie {{LinkKomunikat2|common.js}} zastąpić zawartością z {{LinkUżytkownik2|Persino/common.js}} z pod linii /**/, ze względu, że umieściłem tam dodatkowe komentarze, co możesz sprawdzić, co się zmieniło w historii zmian.
----
----
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 17:38, 16 sie 2022 (CEST)
rjj4mqbpgsvjh5a85dujwrnp45ilcfd
437963
437962
2022-08-17T09:14:37Z
Persino
2851
/* Usunięcie funkcji {{Code|Promise}} z funkcji {{Code|Common.RamkiTableIDiv}}, a nowa poprawka w {{LinkKomunikat2|common.js}} przy pomocy {{LinkUżytkownik2|Persino/common.js}} */
wikitext
text/x-wiki
<noinclude>__LINKNOWEJSEKCJI__ [[Kategoria:Księga próśb i zadań]]</noinclude>
{{fmbox|tekst=UWAGA: Nowe zgłoszenia o innym temacie niż to co dotyczy [[Wikibooks:Prośby do administratorów interfejsu/Zgłoszenia]] lub łamiące zasady [[Wikibooks:Wikietykieta|Wikietykiety]] mogą być bezwarunkowo wycofywane z tej strony}}
<!-- Nowe zgłoszenia wstawiaj poniżej tej linii. Powyżej tej linii nic nie usuwaj. Nie usuwaj tej linii -->
== Usunięcie wymuszenia białego tła w tabelach. ==
Zwracam się z prośbą o usunięcie [[MediaWiki:Common.css]] fragmentu
<syntaxhighlight lang="css">
}
+
table.wikitable td,
+
table.prettytable td {
+
background: #f9f9f9;
</syntaxhighlight>
Fragment ten wymusza białe tło w tabelach, co uniemożliwia zastosowanie kolorowych komórek. Takowe bardzo by się przydały np. w opracowywanym przeze [[Zbiór zadań maturalnych/Biologia|Zbiorze zadań maturalnych z Biologii]] jak np. tu: [[:Kategoria:Zbiór zadań maturalnych/podstawa programowa 2017/Biologia/Zakres rozszerzony/Treści nauczania/II/3/1]]. Póki co posiłkuję się obramowaniem, chciałbym jednak docelowo zastosować kolorowanie komórek.
Z góry dziękuję za rozpatrzenie mojej prośby.
[[Wikipedysta:Superjurek|Superjurek]] ([[Dyskusja wikipedysty:Superjurek|dyskusja]]) 22:42, 16 kwi 2021 (CEST)
-----
{{Ping|Superjurek}}Spróbuj użyć zapisu, np.:
<syntaxhighlight lang="css">
background-color: blue !important;
color:white !important;
</syntaxhighlight>
zamiast:
<syntaxhighlight lang="css">
background-color: blue;
color:white;
</syntaxhighlight>
to powinno naprawić cały problem! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:05, 27 maj 2022 (CEST)
==Wstawianie kodu do {{LinkKomunikat2|Common.js}}==
Czy mógłbyś wsadzić do tej strony {{Code|.js}} kod:
<syntaxhighlight lang="JavaScript">
function WyswietlStronyKsiazki(){
function WikikodTitle(data,tabs,titles,tabstrona){
var title=data.parse.title;
var wikikod=data.parse.text['*'];
var elements=tabstrona[title];
for(var q in elements){
elements[q].innerHTML=wikikod;
var a=elements[q].getElementsByTagName('a');
if((a!==null)&&(a.length>0)){
var lena=a.length;
for(var i=0;i<lena;++i){
var href=a[i].getAttribute('href');
if(href!==null){
var re=/^[^\?]+\?[^&]+=[^&]*&?/g;
if(!re.test(href)){
var re2=/#/g;
var s=href.search(re2);
if(s!=-1){
var re=/^\/wiki\//g;
if(re.test(href)){
var href2=href.substring(6,s)
href2=decodeURI(href2);
href2=href2.replace(/[_\s]+/g," ");
for(var s=0;s<titles.length;s++){
var strona=titles[s];
if(href2==strona){
var href3=href.replace(/^[^#]*/g,"");
var a_toc=a[i];
a_toc.setAttribute('href',encodeURI(href3));
a_toc.setAttribute("title","");
}
}
}
}else{
var re=/^\/wiki\//g;
if(re.test(href)){
var hrefv=href.replace(re,"");
var hrefs=decodeURI(hrefv);
hrefs=hrefs.replace(/[_\s]+/g," ");
for(var s=0;s<titles.length;s++){
var strona=titles[s];
if(hrefs==strona){
var hrefs2=hrefv.replace(/^[^\/]*\//g,"");
var a_toc=a[i];
a_toc.setAttribute('href','#'+hrefs2);
a_toc.setAttribute("title","");
}
}
}
}
}
}
}
}
}
var tab_toc=new Array("toc","toc_spis");
for(var d=0;d<tab_toc.length;++d){
var toc=document.getElementsByClassName(tab_toc[d]);
if((toc!==null)&&(toc.length>0)){
for(var q in elements){
var num=new Array();
var v=0;
for(var e=0;e<tabs.length;++e){
if(tabs[e]==title){
v+=1;
if(parseInt(q)+1==v){
num.push(parseInt(e)+1);
break;
}
}
}
var headline=elements[q].getElementsByClassName("mw-headline");
if((headline!==null)&&(headline.length>0)){
var ulozenie=0;
var ostanie=0;
var len=headline.length;
var naglowek="";
var liczba_ulozenia_w_menu_spisu_tresci=1;
var h_number=1;
for (var k=0;k<len;++k){
var element2=headline[k];
var nag=element2.innerHTML;
var nag2=element2.getAttribute('id');
var h=element2.parentNode.tagName;
var h_numer=h.replace(/^[^\d]+/g,"");
h_numer=parseInt(h_numer)
if((ulozenie==0)||(ulozenie>=h_numer)){
ulozenie=h_numer-1;
}else {
if(ostatnie+1<h_numer-ulozenie){
ulozenie=h_numer-ostatnie-1;
}
}
ostatnie=h_numer-ulozenie;
h_numer=h_numer-ulozenie;
if(k==0){
num.push(1);
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="<ul><li><a href=\"#"+nag2+"\">"+nag+"</a>";
}else{
if(h_numer==liczba_ulozenia_w_menu_spisu_tresci){
num[num.length-1]+=1;
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="</li><li><a href=\"#"+nag2+"\">"+nag+"</a>";
}else{
if(h_numer>liczba_ulozenia_w_menu_spisu_tresci){
num.push(1);
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="<ul><li><a href=\"#"+nag2+"\">"+nag+"</a>";
liczba_ulozenia_w_menu_spisu_tresci=h_numer;
}else{
if(h_numer<liczba_ulozenia_w_menu_spisu_tresci){
num.splice(num.length-liczba_ulozenia_w_menu_spisu_tresci+h_numer,liczba_ulozenia_w_menu_spisu_tresci-h_numer);
num[num.length-1]+=1;
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+=('</li></ul>'.repeat(liczba_ulozenia_w_menu_spisu_tresci-h_numer))+"</li><li><a href=\"#"+nag2+"\">"+nag+"</a>";
liczba_ulozenia_w_menu_spisu_tresci=h_numer;
}
}
}
}
}
if(naglowek!=""){
naglowek+=('</li></ul>'.repeat(liczba_ulozenia_w_menu_spisu_tresci));
for(var b=0;b<toc.length;++b){
var a2=toc[b].getElementsByTagName('a');
if((a2!=null)&&(a2.length>0)){
for(var y=0;y<a2.length;++y){
var parent=a2[y].parentNode;
var href=a2[y].getAttribute('href');
href=href.replace(/^#/g,"");
var title2=title.replace(/^[^\/]+\//g,"");
if(href==title2.replace(/[_ ]+/g,"_")+((q>0)?("_"+(parseInt(q)+1)):"")){
var div=document.createElement('div');
div.innerHTML=naglowek;
var links=a2[y].getElementsByClassName('toctext');
if((links!=null)&&(links.length>0)){
var link=links[0].innerHTML;
if(link==title2){
parent.appendChild(div.getElementsByTagName('ul')[0]);
}
}
}
}
}
}
}
}
}
}
}
for(var d=0;d<tab_toc.length;++d){
var toc_pos=document.getElementsByClassName(tab_toc[d]);
if((toc_pos!==null)&&(toc_pos.length>0)){
for(var w=0;w<toc_pos.length;++w){
var li=toc_pos[w].getElementsByTagName('li');
var poziom;
var section=1;
for(var z=0;z<li.length;++z){
var parent=li[z].parentNode.parentNode;
if(parent!==null){
var klasa=parent.getAttribute('class');
if(klasa!==null){
var poziom=klasa.match(/toclevel-\d+/g);
if(poziom!==null){
poziom=parseInt(poziom.toString().match(/\d+$/).toString())+1;
}else{
poziom=1;
}
}else{poziom=1;}
}else{poziom=1;}
var klasa=li[z].getAttribute('class');
if(klasa!==null){
var czy_section=klasa.match(/tocsection-\d+/);
if(czy_section!==null){
klasa=klasa.replace(/tocsection-\d+/g,"tocsection-"+section);
li[z].setAttribute('class',klasa);
}else{
li[z].classList.add("tocsection-"+section);
}
var czy_level=klasa.match(/toclevel-\d+/);
if(czy_level!==null){
klasa=li[z].getAttribute('class');
klasa=klasa.replace(/toclevel-\d+/g,"toclevel-"+poziom);
li[z].setAttribute('class',klasa);
}else{
li[z].classList.add("toclevel-"+poziom);
}
}else{
li[z].setAttribute('class',"toclevel-"+poziom+" tocsection-"+section)
}
section=section+1;
}
}
}
}
var headline=document.getElementsByClassName('mw-headline');
if((headline)&&(headline.length>0)){
for(var i=0;i<headline.length;++i){
var c=1;
var el=headline[i];
var id0=el.innerHTML;
id0=id0.replace(/[_\s]+/g,"_");
id0=id0.replace(/<[^<>]+>/g,"");
for(var j=0;j<i;++j){
var el1=headline[j];
var id1=el1.innerHTML;
id1=id1.replace(/[_\s]+/g,"_");
id1=id1.replace(/<[^<>]+>/g,"");
if(id0==id1){
++c;
}
}
if(c==1){
el.setAttribute('id',id0);
}else{
el.setAttribute('id',id0+"_"+c);
}
}
}
var tab_toc=new Array("toc","toc_spis");
for(d=0;d<tab_toc.length;++d){
var toc_pos=document.getElementsByClassName(tab_toc[d]);
if((toc_pos!==null)&&(toc_pos.length>0)){
for(var w=0;w<toc_pos.length;++w){
var toc=toc_pos[w];
var a=toc.getElementsByTagName('a');
if((a)&&(a.length>0)){
for(var p=0;p<a.length;++p){
var strona=a[p].getElementsByClassName('toctext')[0].innerHTML.replace(/[_\s]+/g,"_");
strona=strona.replace(/<[^<>]+>/g,"");
var c=1;
for(var v=0;v<p;++v){
var strona2;
strona2=a[v].getElementsByClassName('toctext')[0].innerHTML.replace(/[_\s]+/g,"_");
strona2=strona2.replace(/<[^<>]+>/g,"");
if(strona==strona2){
++c;
}
}
strona=strona.replace(/<[^<>]+>/g,"");
if(c==1){
a[p].setAttribute('href',"#"+strona);
}else{
a[p].setAttribute('href',"#"+strona+"_"+c);
}
}
}
}
}
}
}
function StronaSubst(data){
var wikikod=data.parse.text['*'];
var elem=document.createElement('div');
elem.innerHTML=wikikod;
var klasa_mw_parser_out=elem.getElementsByClassName('mw-parser-output');
var wikikod_wyodrepniony=(((klasa_mw_parser_out)&&(klasa_mw_parser_out.length==1))?(klasa_mw_parser_out[0].innerHTML):wikikod);
var czy_wikikod=wikikod_wyodrepniony.match(/^\s*$/g);
if(czy_wikikod){return;}
var strona_subst="strona_subst";
var tagclass=document.getElementsByClassName(strona_subst);
if(tagclass==null){return null;}
var liczba_elementow=tagclass.length;
if(liczba_elementow==0){return null;}
var titles=new Array();
var tabstrona=new Array();
var tabs=new Array();
for (var i=0;i<liczba_elementow;++i){
var element=tagclass[i];
if(element.tagName!="DIV"){return null;}
var strona=element.innerHTML;
var re = /^[_ ]*$/g;
var dopasowanie = re.test(strona);
if(dopasowanie){return null;};
strona=strona.replace(/^[_ ]*/g,"");
strona=strona.replace(/[_ ]*$/g,"");
strona=strona.replace(/[_ ]+/g," ");
tabs[i]=strona;
var czy=false;
for(var d in titles){
if(titles[d]==strona){
czy=true;
break;
}
}
if(!czy){
titles[titles.length]=strona;
}
if(tabstrona[strona]==null){
tabstrona[strona]=new Array();
}
var tab=tabstrona[strona];
var tablen=tab.length;
tabstrona[strona][tablen]=element;
}
for ( var p in titles ) {
var strona=titles[p];
var api=new mw.Api;
api.get({
action: 'parse',
format: 'json',
prop: 'text',
title: strona,
text: '{{:'+strona+'}}',
disabletoc: true,
disablelimitreport: true,
contentmodel: 'wikitext'
}).done(function(data){
WikikodTitle(data,tabs,titles,tabstrona);
});
}
}
var strona = mw.config.get('wgPageName');
var api=new mw.Api;
api.get({
action: 'parse',
format: 'json',
prop: 'text',
title: strona,
text: '{{#invoke:StronicowyParser|CzyStronaSubst}}',
disabletoc: true,
disablelimitreport: true,
contentmodel: 'wikitext'
}).done(function(data){
StronaSubst(data)
});
}
$(WyswietlStronyKsiazki);
</syntaxhighlight>
Ten program {{Code|.js}} znajduje się na stronie: {{LinkUżytkownik2|Persino/common.js}}. Jak wstawisz ten kod do strony {{LinkKomunikat2|Common.js}}, to powinno wtedy zadziałać ładowanie modułów książki, za pomocą JavaScript, na stronie {{LinkUżytkownik2|Persino/Wersja do druku}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:09, 13 lis 2021 (CET)
== Gadżet StronaSubst - dodawanie do listy gadżetów ==
Mamy sobie kod JavaScript {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} i opis gadżetu {{LinkUżytkownik2|Persino/Gadget-StronaSubst}}, czy mógłbyś przenieść na strony w przestrzeni nazw {{Np|MediaWiki|link=tak}}, i wywołaniu gadżetu w takiej formie jak w {{LinkUżytkownik2|Persino/Gadgets-definition}} przenieść na stronę {{LinkKomunikat2|Gadgets-definition}}. Wtedy strona {{LinkUżytkownik2|Persino/Wersja do druku}} powinna działać! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:14, 27 lis 2021 (CET)
=== Zamienianie kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}} ===
{{Ping|Wargo}}Chodzi tutaj, że jak będzie link do artykułu w nagłówku, to, żeby nie pojawiało się pole '''[ artykuł | edytuj ]''' zamiast '''[ edytuj ]''' - aktualnie w {{LinkKomunikat2|Gadget-StronaSubst.js}} pole '''[ artykuł | edytuj ]''' pojawia się zawsze zamiast '''[ edytuj ]''', wtedy gdy ma zawartość '''strona_subst''' jest nie pusta, to algorytm jest zakańczany. A jak jest nazwa strony w zawartości div-a '''strona_subst''', a nie link w nagłówku, to wtedy ma się prawo pojawić '''[ artykuł | edytuj ]''' zamiast '''[ edytuj ]'''. Czy mógłbyś wersję {{LinkKomunikat2|Gadget-StronaSubst.js}} zamienić na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}. Z góry dziękuję za rozpatrzenie mojej prośby! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 10:13, 30 lis 2021 (CET)
----
{{Ping|Wargo}} Jeszcze, czy mógłbyś zamienić tekst w {{LinkKomunikat2|Gadget-StronaSubst}} z:
{{Pre|(bez sekcji "Spis treści" i "Licencja")}}
na
{{Pre|(bez sekcji "Spis treści", "Bibliografia" i "Licencja")}}
[[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:18, 1 gru 2021 (CET)
=== Ostatnia poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}===
{{Ping|Wargo}}Chodzi tutaj, że algorytm zawiesza się na artykule {{LinkGłówna|Mechanika kwantowa/Mechanika kwantowa}}, to co poprawiłem już tak przestaje być, błąd znikł! Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 18:30, 3 gru 2021 (CET)
=== Miejmy nadzieję, że to jest ostatnia poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}===
{{Ping|Wargo}}Chodzi tutaj, że algorytm ma błędy JavaScript na stronie, przy danej książce: {{LinkGłówna|Szachy}}, czyli przy artykule: {{LinkGłówna|Szachy/Szachy}} - błąd tylko widać, gdy chcemy zbadać element, moja poprawka usuwa ten błąd! Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:50, 4 gru 2021 (CET)
=== Następna poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}} ===
{{Ping|Wargo}}Chodzi tutaj, że algorytm nie wyświetla w TOC (wbudowany spis treści) podrozdziałów dla artykułu {{LinkGłówna|Matematyka dla liceum/Matematyka dla liceum}}, moja poprawka usuwa ten błąd. Skrypt porządkuje artykuły według nagłówków na stronie tego artykułu w TOC, a zestaw artykułów, w danek sekcji, wyświetla, również w TOC, je przydzielone do niej. Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:51, 7 gru 2021 (CET)
=== Poważne poprawki w {{LinkKomunikat2|Gadget-StronaSubst.js}} na podstawie {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} oraz dodanie i zmiana pewnych gadżetów ===
{{Ping|Wargo}} Następne poprawki dotyczące wpisu w {{LinkKomunikat2|Gadget-StronaSubst.js}}, co do zauważonych drobnych błędów, czyli mógłbyś dokonać zamiany kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}.
Z góry dziękuję. Poza tym wszystko działa, od razu dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:32, 8 gru 2021 (CET)
----
{{Ping|Wargo}} Jeszcze, czy mógłbyś zamienić tekst w {{LinkKomunikat2|Gadget-StronaSubst}} z:
{{Pre|(bez sekcji "Spis treści", "Bibliografia" i "Licencja")}}
na
{{Pre|(bez sekcji: "Spis treści", "Bibliografia", "Zobacz też", "Inne", "Licencja" i tym podobne)}}
Dziękuję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 05:43, 9 gru 2021 (CET)
----
{{Ping|Wargo}} Czy mógłbyś uzupełnić {{LinkKomunikat2|Gadgets-definition}}, według {{LinkUżytkownik2|Persino/Gadgets-definition}} - szczególnie trzeba naprawić odwołanie do gadżetu StronaSubst, i dodać gadżety: {{LinkUżytkownik2|Persino/Gadget-gConfig.js}} (jego opis jest w {{LinkUżytkownik2|Persino/Gadget-gConfig}}), przenosząc go do {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis do {{LinkKomunikat2|Gadget-gConfig}}), a także drugi gadżet dotyczący szablonu {{s|Cytuj}} przenieś z {{LinkUżytkownik2|Persino/Gadget-citation-access-info.js}} (jego opis to {{LinkUżytkownik2|Persino/Gadget-citation-access-info}}) do {{LinkKomunikat2|Gadget-citation-access-info.js}} (a jego opis do {{LinkKomunikat2|Gadget-citation-access-info}}).
Gadżet '''gConfig''' potrzebny mi jest do gadżetu {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}}, którego zawartość należy przenieść do {{LinkKomunikat2|Gadget-StronaSubst.js}}, a gadżet {{LinkUżytkownik2|Persino/Gadget-citation-access-info.js}}, potrzebny mi jest do szablonu {{s|Cytuj}} do dymku do pełnej wersji tego szablonu, który należy przenieść do {{LinkKomunikat2|Gadget-citation-access-info.js}}.
Proszę o pilną reakcję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:04, 11 gru 2021 (CET)
----
Również proszę o zastąpienie strony komunikatu {{LinkKomunikat2|Gadget-map-toggler.js}} stroną {{LinkUżytkownik2|Persino/Gadget-map-toggler.js}}. Z góry dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 18:38, 11 gru 2021 (CET)
== Zamiana wartości linkowej i szablonowej ==
{{Ping|Wargo}}Czy mógłbyś zamienić na stronie: {{LinkUżytkownik2|Rychozol/common.js}}, z wartości: {{Nowiki|[[GNU Free Documentation License|GFDL]]}}, na: {{Nowiki|[[Wikibooks:GNU Free Documentation License|GFDL]]}}, a także na tej samej stronie wartość: {{s|clear}}, na {{s|BrClear}}, ponieważ ze względu na zmianę nazw stron. Z góry dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:35, 13 gru 2021 (CET)
<del>== Dalsze zmiany na stronach gadżetów (pilne) ==
{{Ping|Wargo}}Czy mógłbyś zainstalować gadżet "Gadget-gConfig", tak jak na stronie {{LinkUżytkownik2|Persino/Gadgets-definition}} (pierwsza linijka) w {{LinkKomunikat2|Gadgets-definition}}, a co do tego, jego kod {{LinkUżytkownik2|Persino/Gadget-gConfig.js}} zainstalować w miejscu {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis jest w {{LinkUżytkownik2|Persino/Gadget-gConfig}}), przenosząc go do {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis do {{LinkKomunikat2|Gadget-gConfig}}). A później zaaktualizuj gadżet {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}, a także zainstalować w miejscu {{LinkKomunikat2|Gadget-Funkcje.js}} gadżet {{LinkUżytkownik2|Persino/Gadget-Funkcje.js}}, a również zaktualizować wpis dla gadżetu StronaSubst tak jak w {{LinkUżytkownik2|Persino/Gadgets-definition}}. A później sprawdzić, czy wszystko działa. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 13:19, 4 lut 2022 (CET)</del>
== Przepełnienie scrollbarów, poszczególnych elementów strony, a ustawienia różnych klas, jeżeli takowe istnieją ==
{{Ping|Wargo}}Czy mógłbyś uwzględnić na stronie {{LinkKomunikat2|Common.js}} część mojej strony, która jest po sekwencji /**/, będąca na stronie {{LinkUżytkownik2|Persino/common.js}}. Ten skrypt sprawdza, czy nastąpiło przepełnienie elementów strony dokumentu HTML Wikibooks, a jeżeli nastąpiło, to następuje ustawienie tam odpowiednich klas, a jeżeli ono znikło, to usunięcie tych klas. Ten skrypt jest mi potrzebny do szablonu {{s|StronaStart}} i jego pokrewnych oraz do mojego ustawienia skórki vector-2022, która jest w mojej przestrzeni użytkownika. Dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:23, 27 maj 2022 (CEST)
== Aktualizacja przepełnienia scrollbarów i implementacja sticky ==
{{Ping|Wargo}} Czy mógłbyś uwzględnić na stronie {{LinkKomunikat2|Common.js}} część mojej strony, która jest po sekwencji /**/, będąca na stronie {{LinkUżytkownik2|Persino/common.js}}. W przypadku pierwszego algorytmu, dodałem tam klasy {{Code|mw-overflow-x}} i {{Code|mw-overflow-y}}, które ten algorytm rozpoznaje, i dla nich liczy, czy nastąpiło to właśnie przepełnienie. A wcześniej liczyło dla wszystkich znaczników na stronie, co spowalniało całą stronę. Tam, gdzie, ważne jest liczenie przepełnienie wstawiłem {{Code|mw-overflow-x}}, czy {{Code|mw-overflow-y}}, czyli algorytm ten tam powinien działać, co można sprawdzić na stronie głównej tego projektu ({{NAZWASERWISU|link=tak}}). Drugi algorytm jest rozszerzenie właściwości {{Code|position:sticky}}, który on nie działa, gdy choćby jeden z rodziców jest z nie {{Code|overflow:visible}}, ale z {{Code|overflow}}, a ja zrobiłem, że jednak zaczeło działać, a ja tak to zrobiłem: {{Code|position:sticky}} zastąpiłem {{Code|position:absolute}}, w tym znaczników ustawiam {{Code|mw-sticky-y}} (przesuw w pionie) lub {{Code|mw-sticky-x}} (przesuw w poziomie), wtedy ten algorytm JavaScript działa tak, że pudełko przesuwa się od pewnej granicy do pewnej, ale nigdy nie wychodzi poza te granice, czyli działa podobnie jak {{Code|position:sticky}}. Dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 12:41, 9 lip 2022 (CEST)
==Aktualizacja skryptów na {{LinkKomunikat2|common.js}} z {{LinkUżytkownik2|Persino/common.js}}==
{{Ping|Wargo}} Czy mógłbyś zaktualizować kod na stronie {{LinkKomunikat2|common.js}} ze strony {{LinkUżytkownik2|Persino/common.js}} pod znakiem {{Code|/**/}}. Zdefiniowałem przestrzeń nazw {{Code|Common}} definicją:
{{Pre|var Common{{=}}new Array();}}
Prawie wszystkie funkcje ze strony {{LinkKomunikat2|common.js}} przeniosłem do tej przestrzeni na stronie {{LinkUżytkownik2|Persino/common.js}} (tutaj wszystkie funkcje są w przestrzeni {{Code|Common}}). Rozwinąłem funkcję {{Code|Common.ScrollBarOverflow}}, {{Code|Common.StickyXY}} i {{Code|Common.OptimalXY}}. Napisałem od nowa funkcje: {{Code|Common.RamkiTableIDiv}} i {{Code|Common.ZdarzeniaDodatkoweFunkcyjneXY}} oraz funkcję do obsługi szablonu {{s|StronaStart}} i jego pokrewnych książkowych z definiowałem w postaci: {{Code|Common.StronaStart}}.
Co oznaczają te funkcje:
* {{Code|Common.ScrollBarOverflow}} - do generowania pewnych klas, które służą do obsługi pudełka z paskami przewijania,
* {{Code|Common.StickyXY}} - aktualizacja funkcji {{Code|position:sticky}}, tam gdzie go nie można go użyć, do używamy tej funkcji,
* {{Code|Common.OptimalXY}} - do obsługi boksów na stronach z użytymi szablonami stronicowymi książkowymi otwierającymi i zamykającymi,
* {{Code|Common.RamkiTableIDiv}} - dodaje dalsze funkcje przy przyciskach tabel i ramek, nawigacyjnych,
* {{Code|Common.ZdarzeniaDodatkoweFunkcyjneXY}} - dodaje zdarzenia do obsługi funkcji: {{Code|Common.StickyXY}} i {{Code|Common.OptimalXY}},
* {{Code|Common.StronaStart}} - służy do obsługi spisu treści i boksów szablonu {{s|StronaStart}}.
Na stronach podręcznikowych boksy i spisy treści są responsywne według moich ustawień, a dla wszystkich użytkowników będą responsywne po zaktualizowaniu strony {{LinkKomunikat2|common.js}} przy pomocy {{LinkUżytkownik2|Persino/common.js}}.
----
Proszę o pilną reakcję i zrealizowanie mojej prośby. Z góry dziękuję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:55, 3 sie 2022 (CEST)
:Czy coś jest do usunięcia z obecnego common.js? Tj. czy coś stamtąd mam tym zastąpić? [[Wikipedysta:Wargo|Wargo]] ([[Dyskusja wikipedysty:Wargo|dyskusja]]) 20:55, 7 sie 2022 (CEST)
::{{Ping|Wargo}}Właśnie masz zastąpić nową wersją z pod /**/ z: {{LinkUżytkownik2|Persino/common.js}}, zastępując całą zawartość strony w: {{LinkKomunikat2|common.js}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:04, 7 sie 2022 (CEST)
:::{{Ping|Wargo}} Już możesz zastępować, wszystko gotowe! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:39, 7 sie 2022 (CEST)
===Ostatnia poprawka===
{{Ping|Wargo}}Czy mógłbyś linijkę kodu:
{{Pre|var top_ab{{=}}rect_rodzic[top]-margintop;
var bottom_ab{{=}}(wys-rect_rodzic[bottom])-marginbottom;
}}
poprawić na:
{{Pre|var top_ab{{=}}rect_rodzic[top];
var bottom_ab{{=}}(wys-rect_rodzic[bottom]);
}}
w funkcji: {{Code|Common.StickyXY}}, w {{LinkKomunikat2|common.js}} według {{LinkUżytkownik2|Persino/common.js}}. Tj. to linijka: 481-482.
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:51, 8 sie 2022 (CEST)
=== Miejmy nadzieję, że ostatnia poprawka na stronie {{LinkKomunikat2|common.js}} ===
{{Ping|Wargo}}Czy mógłbyś w kodzie w linii: 177 i 183, na stronie {{LinkKomunikat2|common.js}} według {{LinkUżytkownik2|Persino/common.js}} poprawić według schematu:
{{Pre
|collapseTable( i );
}}
zamienić na:
{{Pre
|Common.collapseTable( i );
}}
Poprawka jest ważna, bo tabele nawigacyjne, na stronie głównej i gdzieś indziej, nie chcą się kolapsować, a po tej operacji już będą się tak zachowywać!
----
W linii: 176 poprawić:
{{Pre
|1=if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) {{!}}{{!}} ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "Common.autoCollapse" ) ) ) {
}}
na kod:
{{Pre
|1=if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) {{!}}{{!}} ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) {
}}
----
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 13:34, 8 sie 2022 (CEST)
=== Poprawka, by zdarzenia nie były w postaci podwójnej, tzn. ze strony: {{LinkKomunikat2|common.js}} (strona {{Np|MediaWiki|link=tak}}), i {{LinkUżytkownik2|Persino/common.js}} (strona użytkownika - {{Np|User|link=tak}}) ===
{{Ping|Wargo}}Zrobiłem tak, by zdarzenia nie były w postaci podwójnej, tzn. ze strony MediaWiki: {{LinkKomunikat2|common.js}}, i strony użytkownika: {{LinkUżytkownik2|Persino/common.js}}, jeżeli takową stronę użytkownik posiada. Zrobiłem też tam parę drobnych innych edycji. Mówiąc najprostszej, zawartością z: {{LinkUżytkownik2|Persino/common.js}}, z pod {{Code|/**/}} zastąp zawartość strony: {{LinkKomunikat2|common.js}}. Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 07:13, 9 sie 2022 (CEST)
=== Poprawka strony {{LinkKomunikat2|Gadget-delete-local.js}}, kilka linijek ===
{{Ping|Wargo}} Czy mógłbyś zamienić zawartość strony {{LinkKomunikat2|Gadget-delete-local.js}} na {{LinkUżytkownik2|Persino/Gadget-delete-local.js}}.
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 07:13, 9 sie 2022 (CEST)
=== Przecieki pamięci w {{LinkKomunikat2|common.js}} w połączeniu z {{LinkUżytkownik2|Persino/common.js}} ===
{{Ping|Wargo}} Czy mógłbyś stronę {{LinkKomunikat2|common.js}} podmienić z zawartością strony {{LinkUżytkownik2|Persino/common.js}} z pod linii /**/. Z góry dziękuję za spełnienie prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 17:37, 15 sie 2022 (CEST)
=== Usunięcie funkcji {{Code|Promise}} z funkcji {{Code|Common.RamkiTableIDiv}}, a nowa poprawka w {{LinkKomunikat2|common.js}} przy pomocy {{LinkUżytkownik2|Persino/common.js}} ===
{{Ping|Wargo}} Kiedyś funkcja {{Code|Common.RamkiTableIDiv}} była uruchamiana za pomocą zwykłej funkcji bez umieszczenia go w bloku {{Code|$}}, a teraz jest ona umieszczony właśnie w nim, więc {{Code|Promise}} jest już w nim nie potrzebna, więc usunąłem z tej funkcji właśnie nią, więc funkcję {{Code|Common.RamkiTableIDiv}} musiałem zmodyfikować.
----
----
Zadanie pierwsze: Czy mógłbyś definicję funkcji {{Code|Common.RamkiTableIDiv}} w {{LinkKomunikat2|common.js}} zastąpić nową jego definicją z {{LinkUżytkownik2|Persino/common.js}}, wraz z jego komentarzami, i z komentarzami uruchamiania tej funkcji dla funkcji {{Code|$}}.
Zadanie drugie: Linie, tzn.: 22-26, na stronie {{LinkKomunikat2|common.js}} zamienić na linie: 25-38 ze strony {{LinkUżytkownik2|Persino/common.js}}.
Zadanie trzecie: Dodać niektóre komentarze, które dodałem do {{LinkUżytkownik2|Persino/common.js}}.
Zadanie czwarte: Należy zastąpić zawartość funkcji {{Code|Common.StronaStart}} w {{LinkKomunikat2|common.js}} z {{LinkUżytkownik2|Persino/common.js}}.
----
Aby wcielić w życie powyższe edycje należy najłatwiej wykonać te cztery zadania w sposób: zawartość na stronie {{LinkKomunikat2|common.js}} zastąpić zawartością z {{LinkUżytkownik2|Persino/common.js}} z pod linii /**/, ze względu, że umieściłem tam dodatkowe komentarze oraz przemieszczenia poszczególnych funkcji i ich niektórych redefinicji, co możesz sprawdzić, co się zmieniło w historii zmian.
----
----
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 17:38, 16 sie 2022 (CEST)
slqass81sl9lxkcduxltxzc8r0ze5g7
437964
437963
2022-08-17T09:15:41Z
Persino
2851
/* Usunięcie funkcji {{Code|Promise}} z funkcji {{Code|Common.RamkiTableIDiv}}, a nowa poprawka w {{LinkKomunikat2|common.js}} przy pomocy {{LinkUżytkownik2|Persino/common.js}} */
wikitext
text/x-wiki
<noinclude>__LINKNOWEJSEKCJI__ [[Kategoria:Księga próśb i zadań]]</noinclude>
{{fmbox|tekst=UWAGA: Nowe zgłoszenia o innym temacie niż to co dotyczy [[Wikibooks:Prośby do administratorów interfejsu/Zgłoszenia]] lub łamiące zasady [[Wikibooks:Wikietykieta|Wikietykiety]] mogą być bezwarunkowo wycofywane z tej strony}}
<!-- Nowe zgłoszenia wstawiaj poniżej tej linii. Powyżej tej linii nic nie usuwaj. Nie usuwaj tej linii -->
== Usunięcie wymuszenia białego tła w tabelach. ==
Zwracam się z prośbą o usunięcie [[MediaWiki:Common.css]] fragmentu
<syntaxhighlight lang="css">
}
+
table.wikitable td,
+
table.prettytable td {
+
background: #f9f9f9;
</syntaxhighlight>
Fragment ten wymusza białe tło w tabelach, co uniemożliwia zastosowanie kolorowych komórek. Takowe bardzo by się przydały np. w opracowywanym przeze [[Zbiór zadań maturalnych/Biologia|Zbiorze zadań maturalnych z Biologii]] jak np. tu: [[:Kategoria:Zbiór zadań maturalnych/podstawa programowa 2017/Biologia/Zakres rozszerzony/Treści nauczania/II/3/1]]. Póki co posiłkuję się obramowaniem, chciałbym jednak docelowo zastosować kolorowanie komórek.
Z góry dziękuję za rozpatrzenie mojej prośby.
[[Wikipedysta:Superjurek|Superjurek]] ([[Dyskusja wikipedysty:Superjurek|dyskusja]]) 22:42, 16 kwi 2021 (CEST)
-----
{{Ping|Superjurek}}Spróbuj użyć zapisu, np.:
<syntaxhighlight lang="css">
background-color: blue !important;
color:white !important;
</syntaxhighlight>
zamiast:
<syntaxhighlight lang="css">
background-color: blue;
color:white;
</syntaxhighlight>
to powinno naprawić cały problem! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:05, 27 maj 2022 (CEST)
==Wstawianie kodu do {{LinkKomunikat2|Common.js}}==
Czy mógłbyś wsadzić do tej strony {{Code|.js}} kod:
<syntaxhighlight lang="JavaScript">
function WyswietlStronyKsiazki(){
function WikikodTitle(data,tabs,titles,tabstrona){
var title=data.parse.title;
var wikikod=data.parse.text['*'];
var elements=tabstrona[title];
for(var q in elements){
elements[q].innerHTML=wikikod;
var a=elements[q].getElementsByTagName('a');
if((a!==null)&&(a.length>0)){
var lena=a.length;
for(var i=0;i<lena;++i){
var href=a[i].getAttribute('href');
if(href!==null){
var re=/^[^\?]+\?[^&]+=[^&]*&?/g;
if(!re.test(href)){
var re2=/#/g;
var s=href.search(re2);
if(s!=-1){
var re=/^\/wiki\//g;
if(re.test(href)){
var href2=href.substring(6,s)
href2=decodeURI(href2);
href2=href2.replace(/[_\s]+/g," ");
for(var s=0;s<titles.length;s++){
var strona=titles[s];
if(href2==strona){
var href3=href.replace(/^[^#]*/g,"");
var a_toc=a[i];
a_toc.setAttribute('href',encodeURI(href3));
a_toc.setAttribute("title","");
}
}
}
}else{
var re=/^\/wiki\//g;
if(re.test(href)){
var hrefv=href.replace(re,"");
var hrefs=decodeURI(hrefv);
hrefs=hrefs.replace(/[_\s]+/g," ");
for(var s=0;s<titles.length;s++){
var strona=titles[s];
if(hrefs==strona){
var hrefs2=hrefv.replace(/^[^\/]*\//g,"");
var a_toc=a[i];
a_toc.setAttribute('href','#'+hrefs2);
a_toc.setAttribute("title","");
}
}
}
}
}
}
}
}
}
var tab_toc=new Array("toc","toc_spis");
for(var d=0;d<tab_toc.length;++d){
var toc=document.getElementsByClassName(tab_toc[d]);
if((toc!==null)&&(toc.length>0)){
for(var q in elements){
var num=new Array();
var v=0;
for(var e=0;e<tabs.length;++e){
if(tabs[e]==title){
v+=1;
if(parseInt(q)+1==v){
num.push(parseInt(e)+1);
break;
}
}
}
var headline=elements[q].getElementsByClassName("mw-headline");
if((headline!==null)&&(headline.length>0)){
var ulozenie=0;
var ostanie=0;
var len=headline.length;
var naglowek="";
var liczba_ulozenia_w_menu_spisu_tresci=1;
var h_number=1;
for (var k=0;k<len;++k){
var element2=headline[k];
var nag=element2.innerHTML;
var nag2=element2.getAttribute('id');
var h=element2.parentNode.tagName;
var h_numer=h.replace(/^[^\d]+/g,"");
h_numer=parseInt(h_numer)
if((ulozenie==0)||(ulozenie>=h_numer)){
ulozenie=h_numer-1;
}else {
if(ostatnie+1<h_numer-ulozenie){
ulozenie=h_numer-ostatnie-1;
}
}
ostatnie=h_numer-ulozenie;
h_numer=h_numer-ulozenie;
if(k==0){
num.push(1);
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="<ul><li><a href=\"#"+nag2+"\">"+nag+"</a>";
}else{
if(h_numer==liczba_ulozenia_w_menu_spisu_tresci){
num[num.length-1]+=1;
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="</li><li><a href=\"#"+nag2+"\">"+nag+"</a>";
}else{
if(h_numer>liczba_ulozenia_w_menu_spisu_tresci){
num.push(1);
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+="<ul><li><a href=\"#"+nag2+"\">"+nag+"</a>";
liczba_ulozenia_w_menu_spisu_tresci=h_numer;
}else{
if(h_numer<liczba_ulozenia_w_menu_spisu_tresci){
num.splice(num.length-liczba_ulozenia_w_menu_spisu_tresci+h_numer,liczba_ulozenia_w_menu_spisu_tresci-h_numer);
num[num.length-1]+=1;
var nag="<span class=\"tocnumber\">"+num.join('.')+"</span><span class=\"toctext\">"+nag+"</span>";
naglowek+=('</li></ul>'.repeat(liczba_ulozenia_w_menu_spisu_tresci-h_numer))+"</li><li><a href=\"#"+nag2+"\">"+nag+"</a>";
liczba_ulozenia_w_menu_spisu_tresci=h_numer;
}
}
}
}
}
if(naglowek!=""){
naglowek+=('</li></ul>'.repeat(liczba_ulozenia_w_menu_spisu_tresci));
for(var b=0;b<toc.length;++b){
var a2=toc[b].getElementsByTagName('a');
if((a2!=null)&&(a2.length>0)){
for(var y=0;y<a2.length;++y){
var parent=a2[y].parentNode;
var href=a2[y].getAttribute('href');
href=href.replace(/^#/g,"");
var title2=title.replace(/^[^\/]+\//g,"");
if(href==title2.replace(/[_ ]+/g,"_")+((q>0)?("_"+(parseInt(q)+1)):"")){
var div=document.createElement('div');
div.innerHTML=naglowek;
var links=a2[y].getElementsByClassName('toctext');
if((links!=null)&&(links.length>0)){
var link=links[0].innerHTML;
if(link==title2){
parent.appendChild(div.getElementsByTagName('ul')[0]);
}
}
}
}
}
}
}
}
}
}
}
for(var d=0;d<tab_toc.length;++d){
var toc_pos=document.getElementsByClassName(tab_toc[d]);
if((toc_pos!==null)&&(toc_pos.length>0)){
for(var w=0;w<toc_pos.length;++w){
var li=toc_pos[w].getElementsByTagName('li');
var poziom;
var section=1;
for(var z=0;z<li.length;++z){
var parent=li[z].parentNode.parentNode;
if(parent!==null){
var klasa=parent.getAttribute('class');
if(klasa!==null){
var poziom=klasa.match(/toclevel-\d+/g);
if(poziom!==null){
poziom=parseInt(poziom.toString().match(/\d+$/).toString())+1;
}else{
poziom=1;
}
}else{poziom=1;}
}else{poziom=1;}
var klasa=li[z].getAttribute('class');
if(klasa!==null){
var czy_section=klasa.match(/tocsection-\d+/);
if(czy_section!==null){
klasa=klasa.replace(/tocsection-\d+/g,"tocsection-"+section);
li[z].setAttribute('class',klasa);
}else{
li[z].classList.add("tocsection-"+section);
}
var czy_level=klasa.match(/toclevel-\d+/);
if(czy_level!==null){
klasa=li[z].getAttribute('class');
klasa=klasa.replace(/toclevel-\d+/g,"toclevel-"+poziom);
li[z].setAttribute('class',klasa);
}else{
li[z].classList.add("toclevel-"+poziom);
}
}else{
li[z].setAttribute('class',"toclevel-"+poziom+" tocsection-"+section)
}
section=section+1;
}
}
}
}
var headline=document.getElementsByClassName('mw-headline');
if((headline)&&(headline.length>0)){
for(var i=0;i<headline.length;++i){
var c=1;
var el=headline[i];
var id0=el.innerHTML;
id0=id0.replace(/[_\s]+/g,"_");
id0=id0.replace(/<[^<>]+>/g,"");
for(var j=0;j<i;++j){
var el1=headline[j];
var id1=el1.innerHTML;
id1=id1.replace(/[_\s]+/g,"_");
id1=id1.replace(/<[^<>]+>/g,"");
if(id0==id1){
++c;
}
}
if(c==1){
el.setAttribute('id',id0);
}else{
el.setAttribute('id',id0+"_"+c);
}
}
}
var tab_toc=new Array("toc","toc_spis");
for(d=0;d<tab_toc.length;++d){
var toc_pos=document.getElementsByClassName(tab_toc[d]);
if((toc_pos!==null)&&(toc_pos.length>0)){
for(var w=0;w<toc_pos.length;++w){
var toc=toc_pos[w];
var a=toc.getElementsByTagName('a');
if((a)&&(a.length>0)){
for(var p=0;p<a.length;++p){
var strona=a[p].getElementsByClassName('toctext')[0].innerHTML.replace(/[_\s]+/g,"_");
strona=strona.replace(/<[^<>]+>/g,"");
var c=1;
for(var v=0;v<p;++v){
var strona2;
strona2=a[v].getElementsByClassName('toctext')[0].innerHTML.replace(/[_\s]+/g,"_");
strona2=strona2.replace(/<[^<>]+>/g,"");
if(strona==strona2){
++c;
}
}
strona=strona.replace(/<[^<>]+>/g,"");
if(c==1){
a[p].setAttribute('href',"#"+strona);
}else{
a[p].setAttribute('href',"#"+strona+"_"+c);
}
}
}
}
}
}
}
function StronaSubst(data){
var wikikod=data.parse.text['*'];
var elem=document.createElement('div');
elem.innerHTML=wikikod;
var klasa_mw_parser_out=elem.getElementsByClassName('mw-parser-output');
var wikikod_wyodrepniony=(((klasa_mw_parser_out)&&(klasa_mw_parser_out.length==1))?(klasa_mw_parser_out[0].innerHTML):wikikod);
var czy_wikikod=wikikod_wyodrepniony.match(/^\s*$/g);
if(czy_wikikod){return;}
var strona_subst="strona_subst";
var tagclass=document.getElementsByClassName(strona_subst);
if(tagclass==null){return null;}
var liczba_elementow=tagclass.length;
if(liczba_elementow==0){return null;}
var titles=new Array();
var tabstrona=new Array();
var tabs=new Array();
for (var i=0;i<liczba_elementow;++i){
var element=tagclass[i];
if(element.tagName!="DIV"){return null;}
var strona=element.innerHTML;
var re = /^[_ ]*$/g;
var dopasowanie = re.test(strona);
if(dopasowanie){return null;};
strona=strona.replace(/^[_ ]*/g,"");
strona=strona.replace(/[_ ]*$/g,"");
strona=strona.replace(/[_ ]+/g," ");
tabs[i]=strona;
var czy=false;
for(var d in titles){
if(titles[d]==strona){
czy=true;
break;
}
}
if(!czy){
titles[titles.length]=strona;
}
if(tabstrona[strona]==null){
tabstrona[strona]=new Array();
}
var tab=tabstrona[strona];
var tablen=tab.length;
tabstrona[strona][tablen]=element;
}
for ( var p in titles ) {
var strona=titles[p];
var api=new mw.Api;
api.get({
action: 'parse',
format: 'json',
prop: 'text',
title: strona,
text: '{{:'+strona+'}}',
disabletoc: true,
disablelimitreport: true,
contentmodel: 'wikitext'
}).done(function(data){
WikikodTitle(data,tabs,titles,tabstrona);
});
}
}
var strona = mw.config.get('wgPageName');
var api=new mw.Api;
api.get({
action: 'parse',
format: 'json',
prop: 'text',
title: strona,
text: '{{#invoke:StronicowyParser|CzyStronaSubst}}',
disabletoc: true,
disablelimitreport: true,
contentmodel: 'wikitext'
}).done(function(data){
StronaSubst(data)
});
}
$(WyswietlStronyKsiazki);
</syntaxhighlight>
Ten program {{Code|.js}} znajduje się na stronie: {{LinkUżytkownik2|Persino/common.js}}. Jak wstawisz ten kod do strony {{LinkKomunikat2|Common.js}}, to powinno wtedy zadziałać ładowanie modułów książki, za pomocą JavaScript, na stronie {{LinkUżytkownik2|Persino/Wersja do druku}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:09, 13 lis 2021 (CET)
== Gadżet StronaSubst - dodawanie do listy gadżetów ==
Mamy sobie kod JavaScript {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} i opis gadżetu {{LinkUżytkownik2|Persino/Gadget-StronaSubst}}, czy mógłbyś przenieść na strony w przestrzeni nazw {{Np|MediaWiki|link=tak}}, i wywołaniu gadżetu w takiej formie jak w {{LinkUżytkownik2|Persino/Gadgets-definition}} przenieść na stronę {{LinkKomunikat2|Gadgets-definition}}. Wtedy strona {{LinkUżytkownik2|Persino/Wersja do druku}} powinna działać! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:14, 27 lis 2021 (CET)
=== Zamienianie kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}} ===
{{Ping|Wargo}}Chodzi tutaj, że jak będzie link do artykułu w nagłówku, to, żeby nie pojawiało się pole '''[ artykuł | edytuj ]''' zamiast '''[ edytuj ]''' - aktualnie w {{LinkKomunikat2|Gadget-StronaSubst.js}} pole '''[ artykuł | edytuj ]''' pojawia się zawsze zamiast '''[ edytuj ]''', wtedy gdy ma zawartość '''strona_subst''' jest nie pusta, to algorytm jest zakańczany. A jak jest nazwa strony w zawartości div-a '''strona_subst''', a nie link w nagłówku, to wtedy ma się prawo pojawić '''[ artykuł | edytuj ]''' zamiast '''[ edytuj ]'''. Czy mógłbyś wersję {{LinkKomunikat2|Gadget-StronaSubst.js}} zamienić na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}. Z góry dziękuję za rozpatrzenie mojej prośby! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 10:13, 30 lis 2021 (CET)
----
{{Ping|Wargo}} Jeszcze, czy mógłbyś zamienić tekst w {{LinkKomunikat2|Gadget-StronaSubst}} z:
{{Pre|(bez sekcji "Spis treści" i "Licencja")}}
na
{{Pre|(bez sekcji "Spis treści", "Bibliografia" i "Licencja")}}
[[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:18, 1 gru 2021 (CET)
=== Ostatnia poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}===
{{Ping|Wargo}}Chodzi tutaj, że algorytm zawiesza się na artykule {{LinkGłówna|Mechanika kwantowa/Mechanika kwantowa}}, to co poprawiłem już tak przestaje być, błąd znikł! Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 18:30, 3 gru 2021 (CET)
=== Miejmy nadzieję, że to jest ostatnia poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}===
{{Ping|Wargo}}Chodzi tutaj, że algorytm ma błędy JavaScript na stronie, przy danej książce: {{LinkGłówna|Szachy}}, czyli przy artykule: {{LinkGłówna|Szachy/Szachy}} - błąd tylko widać, gdy chcemy zbadać element, moja poprawka usuwa ten błąd! Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:50, 4 gru 2021 (CET)
=== Następna poprawka kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}} ===
{{Ping|Wargo}}Chodzi tutaj, że algorytm nie wyświetla w TOC (wbudowany spis treści) podrozdziałów dla artykułu {{LinkGłówna|Matematyka dla liceum/Matematyka dla liceum}}, moja poprawka usuwa ten błąd. Skrypt porządkuje artykuły według nagłówków na stronie tego artykułu w TOC, a zestaw artykułów, w danek sekcji, wyświetla, również w TOC, je przydzielone do niej. Czy mógłbyś dokonać zamianę kodu? Proszę o pilną reakcję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 14:51, 7 gru 2021 (CET)
=== Poważne poprawki w {{LinkKomunikat2|Gadget-StronaSubst.js}} na podstawie {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} oraz dodanie i zmiana pewnych gadżetów ===
{{Ping|Wargo}} Następne poprawki dotyczące wpisu w {{LinkKomunikat2|Gadget-StronaSubst.js}}, co do zauważonych drobnych błędów, czyli mógłbyś dokonać zamiany kodu {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}.
Z góry dziękuję. Poza tym wszystko działa, od razu dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:32, 8 gru 2021 (CET)
----
{{Ping|Wargo}} Jeszcze, czy mógłbyś zamienić tekst w {{LinkKomunikat2|Gadget-StronaSubst}} z:
{{Pre|(bez sekcji "Spis treści", "Bibliografia" i "Licencja")}}
na
{{Pre|(bez sekcji: "Spis treści", "Bibliografia", "Zobacz też", "Inne", "Licencja" i tym podobne)}}
Dziękuję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 05:43, 9 gru 2021 (CET)
----
{{Ping|Wargo}} Czy mógłbyś uzupełnić {{LinkKomunikat2|Gadgets-definition}}, według {{LinkUżytkownik2|Persino/Gadgets-definition}} - szczególnie trzeba naprawić odwołanie do gadżetu StronaSubst, i dodać gadżety: {{LinkUżytkownik2|Persino/Gadget-gConfig.js}} (jego opis jest w {{LinkUżytkownik2|Persino/Gadget-gConfig}}), przenosząc go do {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis do {{LinkKomunikat2|Gadget-gConfig}}), a także drugi gadżet dotyczący szablonu {{s|Cytuj}} przenieś z {{LinkUżytkownik2|Persino/Gadget-citation-access-info.js}} (jego opis to {{LinkUżytkownik2|Persino/Gadget-citation-access-info}}) do {{LinkKomunikat2|Gadget-citation-access-info.js}} (a jego opis do {{LinkKomunikat2|Gadget-citation-access-info}}).
Gadżet '''gConfig''' potrzebny mi jest do gadżetu {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}}, którego zawartość należy przenieść do {{LinkKomunikat2|Gadget-StronaSubst.js}}, a gadżet {{LinkUżytkownik2|Persino/Gadget-citation-access-info.js}}, potrzebny mi jest do szablonu {{s|Cytuj}} do dymku do pełnej wersji tego szablonu, który należy przenieść do {{LinkKomunikat2|Gadget-citation-access-info.js}}.
Proszę o pilną reakcję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:04, 11 gru 2021 (CET)
----
Również proszę o zastąpienie strony komunikatu {{LinkKomunikat2|Gadget-map-toggler.js}} stroną {{LinkUżytkownik2|Persino/Gadget-map-toggler.js}}. Z góry dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 18:38, 11 gru 2021 (CET)
== Zamiana wartości linkowej i szablonowej ==
{{Ping|Wargo}}Czy mógłbyś zamienić na stronie: {{LinkUżytkownik2|Rychozol/common.js}}, z wartości: {{Nowiki|[[GNU Free Documentation License|GFDL]]}}, na: {{Nowiki|[[Wikibooks:GNU Free Documentation License|GFDL]]}}, a także na tej samej stronie wartość: {{s|clear}}, na {{s|BrClear}}, ponieważ ze względu na zmianę nazw stron. Z góry dziękuję! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:35, 13 gru 2021 (CET)
<del>== Dalsze zmiany na stronach gadżetów (pilne) ==
{{Ping|Wargo}}Czy mógłbyś zainstalować gadżet "Gadget-gConfig", tak jak na stronie {{LinkUżytkownik2|Persino/Gadgets-definition}} (pierwsza linijka) w {{LinkKomunikat2|Gadgets-definition}}, a co do tego, jego kod {{LinkUżytkownik2|Persino/Gadget-gConfig.js}} zainstalować w miejscu {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis jest w {{LinkUżytkownik2|Persino/Gadget-gConfig}}), przenosząc go do {{LinkKomunikat2|Gadget-gConfig.js}} (jego opis do {{LinkKomunikat2|Gadget-gConfig}}). A później zaaktualizuj gadżet {{LinkKomunikat2|Gadget-StronaSubst.js}} na {{LinkUżytkownik2|Persino/Gadget-StronaSubst.js}} w {{LinkKomunikat2|Gadget-StronaSubst.js}}, a także zainstalować w miejscu {{LinkKomunikat2|Gadget-Funkcje.js}} gadżet {{LinkUżytkownik2|Persino/Gadget-Funkcje.js}}, a również zaktualizować wpis dla gadżetu StronaSubst tak jak w {{LinkUżytkownik2|Persino/Gadgets-definition}}. A później sprawdzić, czy wszystko działa. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 13:19, 4 lut 2022 (CET)</del>
== Przepełnienie scrollbarów, poszczególnych elementów strony, a ustawienia różnych klas, jeżeli takowe istnieją ==
{{Ping|Wargo}}Czy mógłbyś uwzględnić na stronie {{LinkKomunikat2|Common.js}} część mojej strony, która jest po sekwencji /**/, będąca na stronie {{LinkUżytkownik2|Persino/common.js}}. Ten skrypt sprawdza, czy nastąpiło przepełnienie elementów strony dokumentu HTML Wikibooks, a jeżeli nastąpiło, to następuje ustawienie tam odpowiednich klas, a jeżeli ono znikło, to usunięcie tych klas. Ten skrypt jest mi potrzebny do szablonu {{s|StronaStart}} i jego pokrewnych oraz do mojego ustawienia skórki vector-2022, która jest w mojej przestrzeni użytkownika. Dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 19:23, 27 maj 2022 (CEST)
== Aktualizacja przepełnienia scrollbarów i implementacja sticky ==
{{Ping|Wargo}} Czy mógłbyś uwzględnić na stronie {{LinkKomunikat2|Common.js}} część mojej strony, która jest po sekwencji /**/, będąca na stronie {{LinkUżytkownik2|Persino/common.js}}. W przypadku pierwszego algorytmu, dodałem tam klasy {{Code|mw-overflow-x}} i {{Code|mw-overflow-y}}, które ten algorytm rozpoznaje, i dla nich liczy, czy nastąpiło to właśnie przepełnienie. A wcześniej liczyło dla wszystkich znaczników na stronie, co spowalniało całą stronę. Tam, gdzie, ważne jest liczenie przepełnienie wstawiłem {{Code|mw-overflow-x}}, czy {{Code|mw-overflow-y}}, czyli algorytm ten tam powinien działać, co można sprawdzić na stronie głównej tego projektu ({{NAZWASERWISU|link=tak}}). Drugi algorytm jest rozszerzenie właściwości {{Code|position:sticky}}, który on nie działa, gdy choćby jeden z rodziców jest z nie {{Code|overflow:visible}}, ale z {{Code|overflow}}, a ja zrobiłem, że jednak zaczeło działać, a ja tak to zrobiłem: {{Code|position:sticky}} zastąpiłem {{Code|position:absolute}}, w tym znaczników ustawiam {{Code|mw-sticky-y}} (przesuw w pionie) lub {{Code|mw-sticky-x}} (przesuw w poziomie), wtedy ten algorytm JavaScript działa tak, że pudełko przesuwa się od pewnej granicy do pewnej, ale nigdy nie wychodzi poza te granice, czyli działa podobnie jak {{Code|position:sticky}}. Dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 12:41, 9 lip 2022 (CEST)
==Aktualizacja skryptów na {{LinkKomunikat2|common.js}} z {{LinkUżytkownik2|Persino/common.js}}==
{{Ping|Wargo}} Czy mógłbyś zaktualizować kod na stronie {{LinkKomunikat2|common.js}} ze strony {{LinkUżytkownik2|Persino/common.js}} pod znakiem {{Code|/**/}}. Zdefiniowałem przestrzeń nazw {{Code|Common}} definicją:
{{Pre|var Common{{=}}new Array();}}
Prawie wszystkie funkcje ze strony {{LinkKomunikat2|common.js}} przeniosłem do tej przestrzeni na stronie {{LinkUżytkownik2|Persino/common.js}} (tutaj wszystkie funkcje są w przestrzeni {{Code|Common}}). Rozwinąłem funkcję {{Code|Common.ScrollBarOverflow}}, {{Code|Common.StickyXY}} i {{Code|Common.OptimalXY}}. Napisałem od nowa funkcje: {{Code|Common.RamkiTableIDiv}} i {{Code|Common.ZdarzeniaDodatkoweFunkcyjneXY}} oraz funkcję do obsługi szablonu {{s|StronaStart}} i jego pokrewnych książkowych z definiowałem w postaci: {{Code|Common.StronaStart}}.
Co oznaczają te funkcje:
* {{Code|Common.ScrollBarOverflow}} - do generowania pewnych klas, które służą do obsługi pudełka z paskami przewijania,
* {{Code|Common.StickyXY}} - aktualizacja funkcji {{Code|position:sticky}}, tam gdzie go nie można go użyć, do używamy tej funkcji,
* {{Code|Common.OptimalXY}} - do obsługi boksów na stronach z użytymi szablonami stronicowymi książkowymi otwierającymi i zamykającymi,
* {{Code|Common.RamkiTableIDiv}} - dodaje dalsze funkcje przy przyciskach tabel i ramek, nawigacyjnych,
* {{Code|Common.ZdarzeniaDodatkoweFunkcyjneXY}} - dodaje zdarzenia do obsługi funkcji: {{Code|Common.StickyXY}} i {{Code|Common.OptimalXY}},
* {{Code|Common.StronaStart}} - służy do obsługi spisu treści i boksów szablonu {{s|StronaStart}}.
Na stronach podręcznikowych boksy i spisy treści są responsywne według moich ustawień, a dla wszystkich użytkowników będą responsywne po zaktualizowaniu strony {{LinkKomunikat2|common.js}} przy pomocy {{LinkUżytkownik2|Persino/common.js}}.
----
Proszę o pilną reakcję i zrealizowanie mojej prośby. Z góry dziękuję. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 15:55, 3 sie 2022 (CEST)
:Czy coś jest do usunięcia z obecnego common.js? Tj. czy coś stamtąd mam tym zastąpić? [[Wikipedysta:Wargo|Wargo]] ([[Dyskusja wikipedysty:Wargo|dyskusja]]) 20:55, 7 sie 2022 (CEST)
::{{Ping|Wargo}}Właśnie masz zastąpić nową wersją z pod /**/ z: {{LinkUżytkownik2|Persino/common.js}}, zastępując całą zawartość strony w: {{LinkKomunikat2|common.js}}. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:04, 7 sie 2022 (CEST)
:::{{Ping|Wargo}} Już możesz zastępować, wszystko gotowe! [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 21:39, 7 sie 2022 (CEST)
===Ostatnia poprawka===
{{Ping|Wargo}}Czy mógłbyś linijkę kodu:
{{Pre|var top_ab{{=}}rect_rodzic[top]-margintop;
var bottom_ab{{=}}(wys-rect_rodzic[bottom])-marginbottom;
}}
poprawić na:
{{Pre|var top_ab{{=}}rect_rodzic[top];
var bottom_ab{{=}}(wys-rect_rodzic[bottom]);
}}
w funkcji: {{Code|Common.StickyXY}}, w {{LinkKomunikat2|common.js}} według {{LinkUżytkownik2|Persino/common.js}}. Tj. to linijka: 481-482.
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 09:51, 8 sie 2022 (CEST)
=== Miejmy nadzieję, że ostatnia poprawka na stronie {{LinkKomunikat2|common.js}} ===
{{Ping|Wargo}}Czy mógłbyś w kodzie w linii: 177 i 183, na stronie {{LinkKomunikat2|common.js}} według {{LinkUżytkownik2|Persino/common.js}} poprawić według schematu:
{{Pre
|collapseTable( i );
}}
zamienić na:
{{Pre
|Common.collapseTable( i );
}}
Poprawka jest ważna, bo tabele nawigacyjne, na stronie głównej i gdzieś indziej, nie chcą się kolapsować, a po tej operacji już będą się tak zachowywać!
----
W linii: 176 poprawić:
{{Pre
|1=if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) {{!}}{{!}} ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "Common.autoCollapse" ) ) ) {
}}
na kod:
{{Pre
|1=if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) {{!}}{{!}} ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) {
}}
----
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 13:34, 8 sie 2022 (CEST)
=== Poprawka, by zdarzenia nie były w postaci podwójnej, tzn. ze strony: {{LinkKomunikat2|common.js}} (strona {{Np|MediaWiki|link=tak}}), i {{LinkUżytkownik2|Persino/common.js}} (strona użytkownika - {{Np|User|link=tak}}) ===
{{Ping|Wargo}}Zrobiłem tak, by zdarzenia nie były w postaci podwójnej, tzn. ze strony MediaWiki: {{LinkKomunikat2|common.js}}, i strony użytkownika: {{LinkUżytkownik2|Persino/common.js}}, jeżeli takową stronę użytkownik posiada. Zrobiłem też tam parę drobnych innych edycji. Mówiąc najprostszej, zawartością z: {{LinkUżytkownik2|Persino/common.js}}, z pod {{Code|/**/}} zastąp zawartość strony: {{LinkKomunikat2|common.js}}. Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 07:13, 9 sie 2022 (CEST)
=== Poprawka strony {{LinkKomunikat2|Gadget-delete-local.js}}, kilka linijek ===
{{Ping|Wargo}} Czy mógłbyś zamienić zawartość strony {{LinkKomunikat2|Gadget-delete-local.js}} na {{LinkUżytkownik2|Persino/Gadget-delete-local.js}}.
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 07:13, 9 sie 2022 (CEST)
=== Przecieki pamięci w {{LinkKomunikat2|common.js}} w połączeniu z {{LinkUżytkownik2|Persino/common.js}} ===
{{Ping|Wargo}} Czy mógłbyś stronę {{LinkKomunikat2|common.js}} podmienić z zawartością strony {{LinkUżytkownik2|Persino/common.js}} z pod linii /**/. Z góry dziękuję za spełnienie prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 17:37, 15 sie 2022 (CEST)
=== Usunięcie funkcji {{Code|Promise}} z funkcji {{Code|Common.RamkiTableIDiv}}, a nowa poprawka w {{LinkKomunikat2|common.js}} przy pomocy {{LinkUżytkownik2|Persino/common.js}} ===
{{Ping|Wargo}} Kiedyś funkcja {{Code|Common.RamkiTableIDiv}} była uruchamiana za pomocą zwykłej funkcji bez umieszczenia go w bloku {{Code|$}}, a teraz jest ona umieszczony właśnie w nim, więc {{Code|Promise}} jest już w nim nie potrzebna, więc usunąłem z tej funkcji właśnie nią, więc funkcję {{Code|Common.RamkiTableIDiv}} musiałem zmodyfikować.
----
----
Zadanie pierwsze: Czy mógłbyś definicję funkcji {{Code|Common.RamkiTableIDiv}} w {{LinkKomunikat2|common.js}} zastąpić nową jego definicją z {{LinkUżytkownik2|Persino/common.js}}, wraz z jego komentarzami, i z komentarzami uruchamiania tej funkcji dla funkcji {{Code|$}}.
Zadanie drugie: Linie, tzn.: 22-29, na stronie {{LinkKomunikat2|common.js}} zamienić na linie: 25-38 ze strony {{LinkUżytkownik2|Persino/common.js}}.
Zadanie trzecie: Dodać niektóre komentarze, które dodałem do {{LinkUżytkownik2|Persino/common.js}}.
Zadanie czwarte: Należy zastąpić zawartość funkcji {{Code|Common.StronaStart}} w {{LinkKomunikat2|common.js}} z {{LinkUżytkownik2|Persino/common.js}}.
----
Aby wcielić w życie powyższe edycje należy najłatwiej wykonać te cztery zadania w sposób: zawartość na stronie {{LinkKomunikat2|common.js}} zastąpić zawartością z {{LinkUżytkownik2|Persino/common.js}} z pod linii /**/, ze względu, że umieściłem tam dodatkowe komentarze oraz przemieszczenia poszczególnych funkcji i ich niektórych redefinicji, co możesz sprawdzić, co się zmieniło w historii zmian.
----
----
Z góry dziękuję za spełnienie mojej prośby. [[Wikipedysta:Persino|Persino]] ([[Dyskusja wikipedysty:Persino|dyskusja]]) 17:38, 16 sie 2022 (CEST)
kprvl7krtg4v6benzjsm38elkjo5ua9
Moduł:StronicowyParser
828
34347
437870
437865
2022-08-16T13:55:42Z
Persino
2851
Scribunto
text/plain
local p = {}
function p.SpreparowanyWikikodStrony(nazwa_modolu,dokumentacja)
local stronicowyparser_dalszefunkcje=require("Module:StronicowyParser/DalszeFunkcje")
return stronicowyparser_dalszefunkcje.SpreparowanyWikikodStrony(nil,nazwa_modolu,dokumentacja);
end;
function p.PrzekierowanieDoStrony(frame)
local parametry_modul=require("Module:Parametry");
local PobierzParametr=parametry_modul.PobierzParametr(frame);
local nazwa_modulu=PobierzParametr(1);
local latki_modul=require("Module:Łatki");
return latki_modul.contentMatch{args={
[1]="^%s*#REDIRECT%s+%[%[(.+)%]%]%s*",
[2]="^%s*#PATRZ%s+%[%[(.+)%]%]%s*",
[3]="^%s*#TAM%s+%[%[(.+)%]%]%s*",
namespace="",
pagename=nazwa_modulu,
},
};
end;
p["TekstRozdziałuStrony"]=function(frame)
local stronicowyparser_rozdzialy=require("Module:StronicowyParser/Rozdziały");
return stronicowyparser_rozdzialy.TekstRozdzialuStrony(frame);
end;
p["KtóraSekcjaStrony"]=function(frame)
local stronicowyparser_rozdzialy=require("Module:StronicowyParser/Rozdziały");
return stronicowyparser_rozdzialy.KtoraSekcjaStrony(frame);
end;
p["ZwróćSekcjęNagłówkaStrony"]=function(frame)
local stronicowyparser_rozdzialy=require("Module:StronicowyParser/Rozdziały");
return stronicowyparser_rozdzialy.ZwrocSekcjeNaglowkaStrony(frame);
end;
p["NastępnyArtykuł"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local parametry_modul=require("Module:Parametry");
local nazwa=parametry_modul.CzyTak(args["nazwa"]);
local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame);
local numer=tonumber(args[1]) or 0;
local naglowek=parametry_modul.CzyTak(args["nagłówek"]);
local nazwa_artykulu_z_naglowkiem_match=mw.ustring.match(nazwa_artykulu,"^([^#]*)#.*$");
local nazwa_artykulu_z_opcja_naglowek=(not naglowek) and nazwa_artykulu_z_naglowkiem_match or nazwa_artykulu;
local nadstrona_artykulu=(numer>0) and stronicowyparser_potrzebne_modul.NazwaNadStrony(nazwa_artykulu,numer) or nil;
local i=0;
local tab_artykul={};
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
if(tab_lista[2])then
for _,artykul_w_bazie_element in ipairs(tab_lista[2])do
local artykul_w_bazie;local artykul_bez_naglowka_w_bazie;local artykul_z_naglowkiem_w_bazie;
local czy_table=parametry_modul.TypeTable(artykul_w_bazie_element[1]);
if(czy_table)then
artykul_w_bazie=artykul_w_bazie_element[1][1];
else
artykul_w_bazie=artykul_w_bazie_element[1];
end;
local artykul_z_naglowkiem_w_bazie_match=mw.ustring.match(artykul_w_bazie,"^([^#]*)#.*$");
artykul_bez_naglowka_w_bazie=artykul_z_naglowkiem_w_bazie_match or artykul_w_bazie;
if(naglowek or not tab_artykul[artykul_bez_naglowka_w_bazie])then
if(not naglowek)then
tab_artykul[artykul_bez_naglowka_w_bazie]=true;
end
if(not naglowek)then
artykul_z_naglowkiem_w_bazie=artykul_bez_naglowka_w_bazie;
else
artykul_z_naglowkiem_w_bazie=artykul_w_bazie;
end;
local numer_artykulu_w_bazie;
if(numer>0)then
numer_artykulu_w_bazie=stronicowyparser_potrzebne_modul.PoziomAdresu(artykul_bez_naglowka_w_bazie);
end;
local function Nastepny()
if(not nazwa)then
return artykul_z_naglowkiem_w_bazie;
end;
if(czy_table)then
return artykul_w_bazie[1][2];
else
return artykul_z_naglowkiem_w_bazie;
end;
end;
if(i==1)then
if(numer>0)then
local nadstrona_artykulu_w_bazie=stronicowyparser_potrzebne_modul.NazwaNadStrony(artykul_bez_naglowka,numer);
if((numer==numer_artykulu_w_bazie)and(nadstrona_artykulu==nadstrona_artykulu_w_bazie))then
return Nastepny();
end;
else
return Nastepny();
end;
else
if((not naglowek)and(artykul_bez_naglowka_w_bazie==nazwa_artykulu_z_opcja_naglowek)
or(((naglowek) and ((nazwa_artykulu_z_naglowkiem_match and artykul_z_naglowkiem_w_bazie_match)or(not nazwa_artykulu_z_naglowkiem_match and not artykul_z_naglowkiem_w_bazie_match)))
and (artykul_z_naglowkiem_w_bazie==nazwa_artykulu)
))then
i=1;
end;
end;
end;
end;
end;
end;
if(i==1)then
return "";
end;
return "(błąd)";
end;
p["PoprzedniArtykuł"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local parametry_modul=require("Module:Parametry");
local nazwa=parametry_modul.CzyTak(args["nazwa"]);
local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame);
local numer=tonumber(args[1]) or 0;
local naglowek=parametry_modul.CzyTak(args["nagłówek"]);
local nazwa_artykulu_z_naglowkiem_match=mw.ustring.match(nazwa_artykulu,"^([^#]*)#.*$")
local nazwa_artykulu_z_opcja_naglowek=(not naglowek) and nazwa_artykulu_z_naglowkiem_match or nazwa_artykulu;
local nadstrona_artykulu=(numer>0) and stronicowyparser_potrzebne_modul.NazwaNadStrony(nazwa_artykulu,numer) or nil;
local artykul;
local tab_artykul={};
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
if(tab_lista[2])then
for _,artykul_w_bazie in ipairs(tab_lista[2])do
local artykul_z_naglowkiem_w_bazie;local artykul_bez_naglowka_w_bazie;
local czy_table=parametry_modul.TypeTable(artykul_w_bazie[1]);
if(czy_table)then
artykul_z_naglowkiem_w_bazie=artykul_w_bazie[1][1];
else
artykul_z_naglowkiem_w_bazie=artykul_w_bazie[1];
end;
local artykul_z_naglowkiem_w_bazie_match=mw.ustring.match(artykul_z_naglowkiem_w_bazie,"^([^#]*)#.*$")
artykul_bez_naglowka_w_bazie=artykul_z_naglowkiem_w_bazie_match or artykul_z_naglowkiem_w_bazie;
if(naglowek or not tab_artykul[artykul_bez_naglowka_w_bazie])then
if(not naglowek)then
tab_artykul[artykul_bez_naglowka_w_bazie]=true;
end;
if((not naglowek)and(artykul_bez_naglowka_w_bazie==nazwa_artykulu_z_opcja_naglowek)
or(((naglowek) and ((nazwa_artykulu_z_naglowkiem_match and artykul_z_naglowkiem_w_bazie_match)or(not nazwa_artykulu_z_naglowkiem_match and not artykul_z_naglowkiem_w_bazie_match)))and(artykul_z_naglowkiem_w_bazie==nazwa_artykulu)))then
if(not artykul)then return "";end;
local czy_table_artykul=parametry_modul.TypeTable(artykul);
if(czy_table_artykul)then
if(not nazwa)then
if(naglowek)then
return artykul[1];
end;
artykul,_=mw.ustring.gsub(artykul[1],"^([^#]+)#(.*)$","%1");
return artykul;
else
return artykul[2];
end;
else
if(naglowek)then
return artykul;
end;
artykul,_=mw.ustring.gsub(artykul,"^([^#]+)#(.*)$","%1");
return artykul;
end;
end
if(numer>0)then
local numer_artykulu_poprzedni=stronicowyparser_potrzebne_modul.PoziomAdresu(artykul_bez_naglowka_w_bazie);
local nadstrona_artykulu_w_bazie=stronicowyparser_potrzebne_modul.NazwaNadStrony(artykul_bez_naglowka_w_bazie,numer);
if((numer==numer_artykulu_poprzedni)and(nadstrona_artykulu==nadstrona_artykulu_w_bazie))then
artykul=artykul_w_bazie[1];
end;
else
artykul=artykul_w_bazie[1];
end;
end;
end;
end;
end;
return "(błąd)";
end;
p["PoziomNazwyArtykułu"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local parametry_modul=require("Module:Parametry");
local nazwa=parametry_modul.CzyTak(args["nazwa"]);
local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame);
return stronicowyparser_potrzebne_modul.PoziomAdresu(nazwa_artykulu);
end;
p["PierwszyArtykuł"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local parametry_modul=require("Module:Parametry");
local nazwa=parametry_modul.CzyTak(args["nazwa"]);
local naglowek=parametry_modul.CzyTak(args["nagłówek"]);
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
if(tab_lista[2])then
for _,artykul_w_bazie in ipairs(tab_lista[2])do
if(not nazwa)then
local artykul=parametry_modul.TypeTable(artykul_w_bazie[1]) and artykul_w_bazie[1][1] or artykul_w_bazie[1];
return (not naglowek) and mw.ustring.gsub(artykul,"^([^#]*)#(.*)$","%1") or artykul;
else
return parametry_modul.TypeTable(artykul_w_bazie[1])
and artykul_w_bazie[1][2]
or ((not naglowek) and mw.ustring.gsub(artykul_w_bazie[1],"^([^#]*)#(.*)$","%1") or artykul_w_bazie[1]);
end;
end;
end;
end;
end;
p["OstatniArtykuł"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local parametry_modul=require("Module:Parametry");
local nazwa=parametry_modul.CzyTak(args["nazwa"]);
local naglowek=parametry_modul.CzyTak(args["nagłówek"]);
local ostatni_artykul;
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
if(tab_lista[2])then
for _,artykul_w_bazie in ipairs(tab_lista[2])do
if(not nazwa)then
ostatni_artykul=parametry_modul.TypeTable(artykul_w_bazie[1]) and artykul_w_bazie[1][1] or artykul_w_bazie[1];
else
ostatni_artykul=parametry_modul.TypeTable(artykul_w_bazie[1]) and artykul_w_bazie[1][2] or artykul_w_bazie[1];
end;
end;
end;
end;
if(ostatni_artykul)then
return (not naglowek) and mw.ustring.gsub(ostatni_artykul,"^([^#]*)#(.*)$","%1") or ostatni_artykul;
end;
return "(błąd)";
end;
p["PomiędzyArtykuł"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
local val=stronicowyparser_potrzebne_modul:ObliczeniaInformacje(frame);
if(not val)then return "(błąd)";end;
local element=stronicowyparser_potrzebne_modul:PomiedzyArtykul(frame) or nil;
if(not element)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local parametry_modul=require("Module:Parametry");
local nazwa=parametry_modul.CzyTak(args["nazwa"]);
local czy_table=parametry_modul.TypeTable(element);
local element=czy_table and element[1] or element;
if(not nazwa)then return (not naglowek) and mw.ustring.gsub(element,"^([^#]*)#(.*)$","%1") or element;end;
return czy_table and element[2] or ((not naglowek) and mw.ustring.gsub(element,"^([^#]*)#(.*)$","%1") or element);
end;
p["LosowyArtykuł"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
local val=stronicowyparser_potrzebne_modul:ObliczeniaInformacje(frame);
if(not val)then return "(błąd)";end;
local element=stronicowyparser_potrzebne_modul:LosowyArtykul(frame);
if(not element)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local parametry_modul=require("Module:Parametry");
local nazwa=parametry_modul.CzyTak(args["nazwa"]);
local czy_table=parametry_modul.TypeTable(element);
local element=czy_table and element[1] or element;
if(not nazwa)then return mw.ustring.gsub(element,"^([^#]*)#(.*)$","%1") or element;end;
return czy_table and element[2] or mw.ustring.gsub(element,"^([^#]*)#(.*)$","%1") or element;
end;
local function PobiezNumerLubNazweNaglowka(frame,__FUNKCJA,typ)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local parametry_modul=require("Module:Parametry");
local poziomowo=parametry_modul.CzyTak(args["poziomowo"]);
local ktory=(tonumber(args["który"]) or 1);
local parametr_pierwszy_szablonu=typ and ((not poziomowo) and (tonumber(args[1]) or 1) or args[1]) or args[1];
if(not typ)then
parametr_pierwszy_szablonu,_=mw.ustring.gsub(parametr_pierwszy_szablonu,"^[%s_]+","");
parametr_pierwszy_szablonu,_=mw.ustring.gsub(parametr_pierwszy_szablonu,"[%s_]+$","");
parametr_pierwszy_szablonu,_=mw.ustring.gsub(parametr_pierwszy_szablonu,"[%s_]+"," ");
end;
local HNumer=stronicowyparser_potrzebne_modul.LiczonyHNumer();
local HNumer_2=nil;
local tab_numer_2=nil;
local tab_numer={};
local i=(not poziomowo) and 0 or nil;
local i_2=nil;
local juz_nie_rozwazaj_spisu_tresci=nil;
local juz_nie_rozwazaj_rozdzialu_spisu_tresci=nil;
local stronicowyparser_obiekty=mw.loadData("Module:StronicowyParser/obiekty");
local tab_rozdzialow_glownych_spisow_tresci_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_glownych_spisow_tresci_ksiazek;
local tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek;
local poziom_spisu_tresci=nil;
local pierwszy_dodatni_spis_tresci=nil;
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
local rozdzial=tab_lista[1][1];
local poziom_rozdzialu=tab_lista[1][2][1] or 0;
if(poziom_rozdzialu>0)then
local czy_nie_ten_rozdzial=nil;
local czy_jest_teraz_spis_tresci=tab_rozdzialow_glownych_spisow_tresci_ksiazek[rozdzial];local czy_nie_ten_rozdzial;
if((not juz_nie_rozwazaj_spisu_tresci)and(not juz_nie_rozwazaj_rozdzialu_spisu_tresci)and(czy_jest_teraz_spis_tresci))then
poziom_spisu_tresci=poziom_rozdzialu;
juz_nie_rozwazaj_rozdzialu_spisu_tresci=true;
czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial];
elseif((not juz_nie_rozwazaj_spisu_tresci)and(juz_nie_rozwazaj_rozdzialu_spisu_tresci))then
if((poziom_spisu_tresci<poziom_rozdzialu))then
czy_nie_ten_rozdzial=false;
else
juz_nie_rozwazaj_spisu_tresci=true;
czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial];
end;
else
local juz_nie_rozwazaj_spisu_tresci=nil;
local juz_nie_rozwazaj_rozdzialu_spisu_tresci=nil;
czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial];
end;
if(not czy_nie_ten_rozdzial)then
if(poziomowo)then
local hnumer=HNumer(poziom_rozdzialu);
if(#tab_numer<hnumer)then
for i=#tab_numer+1,hnumer,1 do
table.insert(tab_numer,1);
end;
elseif(#tab_numer>hnumer)then
for i=#tab_numer, hnumer+1,-1 do
table.remove(tab_numer,i);
end;
tab_numer[#tab_numer]=tab_numer[#tab_numer]+1;
else
tab_numer[#tab_numer]=tab_numer[#tab_numer]+1;
end;
----
local wartosc=__FUNKCJA(poziomowo,i,tab_numer,ktory,parametr_pierwszy_szablonu,rozdzial);
----
if(wartosc)then return wartosc;end;
----
if((czy_jest_teraz_spis_tresci)and(not pierwszy_dodatni_spis_tresci))then
HNumer_2=HNumer;
HNumer=stronicowyparser_potrzebne_modul.LiczonyHNumer();
tab_numer_2=tab_numer;
tab_numer={};
pierwszy_dodatni_spis_tresci=true;
elseif((pierwszy_dodatni_spis_tresci)and(poziom_spisu_tresci>=poziom_rozdzialu))then
HNumer=HNumer_2;
HNumer_2=nil;
tab_numer=tab_numer_2;
tab_numer_2=nil;
pierwszy_dodatni_spis_tresci=false;
end;
else
i=i+1;
----
local wartosc=__FUNKCJA(poziomowo,i,tab_numer,ktory,parametr_pierwszy_szablonu,rozdzial);
---
if(wartosc)then return wartosc;end;
---
if((czy_jest_teraz_spis_tresci)and(not pierwszy_dodatni_spis_tresci))then
i_2=i;
i=0;
pierwszy_dodatni_spis_tresci=true;
elseif((pierwszy_dodatni_spis_tresci)and(poziom_spisu_tresci>=poziom_rozdzialu))then
i=i_2;
i_2=nil;
pierwszy_dodatni_spis_tresci=false;
end;
end;
end;
end;
end;
end;
p["PobierzNumerNagłówka"]=function(frame)
local s=1;
local function __FUNKCJA(poziomowo,i,tab_numer,ktory,naglowek,rozdzial)
if(naglowek==rozdzial)then
if(s==ktory)then
if(poziomowo)then
if(#tab_numer==0)then return;end;
return table.concat(tab_numer,".");
else
return i;
end;
end;
s=s+1;
end;
end;
return PobiezNumerLubNazweNaglowka(frame,__FUNKCJA,false);
end;
p["PobierzNazwęNagłówka"]=function(frame)
local s=1;
local function __FUNKCJA(poziomowo,i,tab_numer,ktory,numer,rozdzial)
if(poziomowo)then
if(#tab_numer==0)then return;end;
if(numer==table.concat(tab_numer,"."))then
if(s==ktory)then
return rozdzial;
else
s=s+1;
end;
end;
elseif(numer==i)then
if(s==ktory)then
return rozdzial;
else
s=s+1;
end;
end
end;
return PobiezNumerLubNazweNaglowka(frame,__FUNKCJA,true);
end;
local function PobierzNumerLubNazweArtykulu(frame,tabela_listy_danych_analizy_ksiazki,__FUNKCJA,typ,zbieraj_dane)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame,tabela_listy_danych_analizy_ksiazki);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame,tabela_listy_danych_analizy_ksiazki);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local parametry_modul=require("Module:Parametry");
local naglowek=parametry_modul.CzyTak(args["nagłówek"]);
local tab_artykul=(not naglowek)and {} or nil;
local poziomowo=parametry_modul.CzyTak(args["poziomowo"]);
local tab_poziomowo={};
local tab_poziomowo_1={};
local tab_poziomowo_2={};
local html_modul=require("Module:Html");
local pierwszy_parametr_szablonu=args[1] and (typ and ((not poziomowo) and (tonumber(args[1]) or 1) or args[1])
or ((not naglowek) and mw.ustring.gsub(html_modul["PoprawAdresNagłówkaStronyAdresu"](html_modul["TransformacjaKoduZnakuDoZnakuŁancucha"](args[1])),"^([^#]*)#(.*)$","%1") or html_modul["PoprawAdresNagłówkaStronyAdresu"](html_modul["TransformacjaKoduZnakuDoZnakuŁancucha"](args[1])))
)
or (typ and 1 or "Przykładowy artykuł");
local ktory=(tonumber(args["ktory"]) or 1);
local i=(not poziomowo) and 1 or nil;
local stronicowyparser_obiekty=mw.loadData("Module:StronicowyParser/obiekty");
local tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek;
local tab_rozdzialow_glownych_spisow_tresci_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_glownych_spisow_tresci_ksiazek;
--local HNumer=poziomowo and stronicowyparser_potrzebne_modul.LiczonyHNumer() or nil;
local HNumerPoziomow_4=nil--poziomowo and stronicowyparser_potrzebne_modul.LiczonyHNumer() or nil;
local HNumerPoziomow_3=nil
local HNumerPoziomow_2=nil;
local HNumerPoziomow_1=nil;
local HNumerPoziomow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
local HNumerPoziomowNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
local HNumerPoziomowNaglowkow_1=nil;
local HNumerPoziomowNaglowkow_2=nil;
--local HNumerPoziomowInnychNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
local tab_numer=poziomowo and {} or nil;
tab_numer_1=nil;
tab_numer_3=nil
tab_numer_4=nil;--poziomowo and {} or nil;
local spis=false;
local czy_poziom_spisu_tresci=nil;
local pierwszy_dodatni_naglowek=nil;
local pierwszy_ujemny_naglowek=nil;
local juz_nie_rozwazaj_spisu_tresci=nil;
local juz_nie_rozwazaj_rozdzialu_spisu_tresci=nil;
local poprzedni_poziom_znakowy_rozdzialu=nil;
local poprzedni_tab_poziomowo=nil;
local poziom_pierwszego_dodatniego_naglowka=0;
local poziom_pierwszego_ujemnego_naglowka=0;
local poziom_zerowego_naglowka=0;
local poziom_spisu_tresci_naglowka=0;
local numer_poziomu=nil;
local ostatni_rozdzial_dodatni=nil;
local pierwszy_rozdzial_dodatni=nil;
local glowny_dodatni_rozdzial=nil;
local glowny_ujemny_rozdzial=nil;
local spis_tresci=nil;
local poziom_pierwszego_ujemnego_spisu_tresci=nil;
local ostatni_poczatek_artykulu=nil;
local pierwszy_rowny_rozdzial=nil;
local prawdziwy_poziom_rozdzialu=nil;
local artykuly_w_rozdziale=nil;
local spis_tresci_zerowy;
local poziom_zerowy;
local rozdzial;
local czy_pierwszy_nilowy=nil;
for m,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
local tab_poprzedni_artykul_w_bazie=nil;
local poziom_rozdzialu;
local poziom_poczatku_rozdzialu=nil;
local poziom_znakowy_rozdzialu=nil;
local poziom_naglowka=nil;
if(poziomowo)then
local czy_nienilowy_rozdzial=tab_lista[1][2][1];
czy_pierwszy_nilowy=(m==1)and (czy_nienilowy_rozdzial==nil) or czy_pierwszy_nilowy;
poziom_rozdzialu=czy_nienilowy_rozdzial or 0;
prawdziwy_poziom_rozdzialu=poziom_rozdzialu;
poziom_poczatku_rozdzialu=tab_lista[1][2][2];
--if(m>1)then
rozdzial=tab_lista[1][1];
rozdzial,_=mw.ustring.gsub(rozdzial,"'+","");
--end;
tab_poziomowo={};
--[[local czy_jest_teraz_spis_tresci=((m>1)and(not spis_tresci_zerowy or not poziom_zerowy)or((m==1)and(spis_tresci_zerowy)))
and ((m==1) and true or tab_rozdzialow_glownych_spisow_tresci_ksiazek[rozdzial])]]
local czy_jest_teraz_spis_tresci=(not juz_nie_rozwazaj_rozdzialu_spisu_tresci)
and((m==1)and (czy_nienilowy_rozdzial and tab_rozdzialow_glownych_spisow_tresci_ksiazek[rozdzial] or ((not czy_nienilowy_rozdzial)and true or false))
or ((m>1)and tab_rozdzialow_glownych_spisow_tresci_ksiazek[rozdzial]
or false));
if((m>1)and(czy_pierwszy_nilowy))then
czy_jest_teraz_spis_tresci=tab_rozdzialow_glownych_spisow_tresci_ksiazek[rozdzial];
if(czy_jest_teraz_spis_tresci)then
juz_nie_rozwazaj_rozdzialu_spisu_tresci=nil;
juz_nie_rozwazaj_spisu_tresci=nil;
czy_pierwszy_nilowy=nil;
pierwszy_ujemny_spis_tresci=nil;
end;
end;
local czy_nie_ten_rozdzial;
if((not juz_nie_rozwazaj_spisu_tresci)and(not juz_nie_rozwazaj_rozdzialu_spisu_tresci)and(czy_jest_teraz_spis_tresci))then
poziom_spisu_tresci=poziom_rozdzialu;
juz_nie_rozwazaj_rozdzialu_spisu_tresci=true;
czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial];
elseif((not juz_nie_rozwazaj_spisu_tresci)and(juz_nie_rozwazaj_rozdzialu_spisu_tresci))then
if((poziom_spisu_tresci<poziom_rozdzialu))then
czy_nie_ten_rozdzial=false;
else
juz_nie_rozwazaj_spisu_tresci=true;
czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial];
end;
else
czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial];
end;
--if(not czy_nie_ten_rozdzial)then
poprzedni_poziom_znakowy_rozdzialu=poziom_znakowy_rozdzialu;
poziom_znakowy_rozdzialu=poziom_rozdzialu;
poziom_rozdzialu=math.abs(poziom_rozdzialu);
artykuly_w_rozdziale=nil;
if(poziom_znakowy_rozdzialu>0)then
poziom_naglowka=poziom_rozdzialu;
poziom_pierwszego_ujemnego_spisu_tresci=nil;
poprzedni_tab_poziomowo=nil;
poziom_zerowego_naglowka=0;
if(glowny_ujemny_rozdzial)then
HNumerPoziomow=HNumerPoziomow_4;
HNumerPoziomow_4=nil;
tab_numer=tab_numer_4;
poziom_pierwszego_ujemnego_naglowka=nil;
glowny_ujemny_rozdzial=nil;
end;
if(pierwszy_ujemny_spis_tresci)then
HNumerPoziomow=HNumerPoziomow_2;
HNumerPoziomow_2=nil;
tab_numer=tab_numer_2;
tab_numer_2=nil;
pierwszy_ujemny_spis_tresci=nil;
czy_poziom_ujemny_spisu_tresci=nil;
end;
if(not glowny_dodatni_rozdzial)then
if((juz_nie_rozwazaj_rozdzialu_spisu_tresci)and(not juz_nie_rozwazaj_spisu_tresci)and(not czy_jest_teraz_spis_tresci)and(not spis_tresci))then
numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu,1);
spis_tresci=true;
else
if(not pierwszy_rozdzial_dodatni)then
pierwszy_rozdzial_dodatni=1;
numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu,1);
else
numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu);
end;
end;
else
numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu,1);
glowny_dodatni_rozdzial=false;
end;
ostatni_rozdzial_dodatni=poziom_rozdzialu;
elseif(poziom_znakowy_rozdzialu<0)then
if(not pierwszy_rowny_rozdzial)then
if((ostatni_poczatek_artykulu)
and(#ostatni_poczatek_artykulu==#poziom_poczatku_rozdzialu)
and(ostatni_poczatek_artykulu~=poziom_poczatku_rozdzialu)
and(mw.ustring.match(ostatni_poczatek_artykulu,"^*"))
and(mw.ustring.match(poziom_poczatku_rozdzialu,"^:"))
)then
poziom_rozdzialu=poziom_rozdzialu+1;
poziom_znakowy_rozdzialu=-poziom_rozdzialu;
pierwszy_rowny_rozdzial=1;
poziom_naglowka=poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka;
else
poziom_naglowka=poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka;
end;
else
if((#ostatni_poczatek_artykulu==#poziom_poczatku_rozdzialu)
and(ostatni_poczatek_artykulu==poziom_poczatku_rozdzialu)
)then pierwszy_rowny_rozdzial=0;end;
poziom_rozdzialu=poziom_rozdzialu+pierwszy_rowny_rozdzial;
poziom_znakowy_rozdzialu=-poziom_rozdzialu;
poziom_naglowka=poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka;
end;
if(not glowny_ujemny_rozdzial)then
--if((juz_nie_rozwazaj_rozdzialu_spisu_tresci)and(not juz_nie_rozwazaj_spisu_tresci)and(not spis_tresci))then
-- numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu,1);
-- spis_tresci=true;
--else
numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka);
--end;
local numer_rozdzialu_dodatniego=HNumerPoziomowNaglowkow(0) or 0;
if(numer_rozdzialu_dodatniego>=numer_rozdzialu)then
numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka,numer_rozdzialu_dodatniego+1);
end;
else
numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka,(HNumerPoziomowNaglowkow(0) or 0)+1);
glowny_ujemny_rozdzial=false;
end;
else
if((m>1)or((m==1)and((not czy_pierwszy_nilowy)or(not czy_jest_teraz_spis_tresci))))then
poziom_zerowego_naglowka=1;
numer_rozdzialu=HNumerPoziomow( 1 + (ostatni_rozdzial_dodatni or 0) + 0);
poziom_znakowy_rozdzialu=-1;
poziom_rozdzialu=1;
poziom_naglowka= 1 + (ostatni_rozdzial_dodatni or 0) + 0;
else
poziom_zerowego_naglowka=0;
numer_rozdzialu=0;
poziom_naglowka=(ostatni_rozdzial_dodatni or 0) + 0;
end;
end;
local numer;
if(poziom_znakowy_rozdzialu>0)then
local numer=HNumerPoziomowNaglowkow(poziom_znakowy_rozdzialu);
--HNumerPoziomowInnychNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
elseif(poziom_znakowy_rozdzialu<0)then
--local numer=HNumerPoziomowInnychNaglowkow(-poziom_znakowy_rozdzialu);
end;
if((m>1)
and(tab_lista_artykulow_w_ksiazce[m-1])
and(tab_lista_artykulow_w_ksiazce[m-1][2])
and(#tab_lista_artykulow_w_ksiazce[m-1][2][1]>0)
and(tab_lista_artykulow_w_ksiazce[m-1][2][#tab_lista_artykulow_w_ksiazce[m-1][2]][2][1]==0)
)then
local lens_tab_numer=#tab_numer;
local roznica=math.min(#poprzedni_tab_poziomowo+#tab_numer,numer_rozdzialu)-#tab_numer;
roznica=((roznica>0) and roznica or 0);
for i=1,roznica,1 do
tab_numer[i+lens_tab_numer]=poprzedni_tab_poziomowo[i];
end;
end;
if((czy_jest_teraz_spis_tresci)and(juz_nie_rozwazaj_rozdzialu_spisu_tresci))then
if(poziom_znakowy_rozdzialu>0)then
poziom_spisu_tresci_naglowka=poziom_rozdzialu;
else
poziom_pierwszego_ujemnego_spisu_tresci=poziom_rozdzialu;
end;
end;
if(poziom_rozdzialu>0)then
if((((czy_poziom_dodatni_spisu_tresci)and(poziom_znakowy_rozdzialu>0))or((czy_poziom_ujemny_spisu_tresci)and(poziom_znakowy_rozdzialu<0)))
and(poziom_spisu_tresci)and(poziom_spisu_tresci>=poziom_rozdzialu)
)then
if(poziom_znakowy_rozdzialu>0)then
tab_numer=tab_numer_1;
tab_poziomowo={};
poziom_spisu_tresci=nil;
HNumerPoziomow=HNumerPoziomow_1;
HNumerPoziomowNaglowkow=HNumerPoziomowNaglowkow_1;
czy_poziom_dodatni_spisu_tresci=false;
elseif(poziom_znakowy_rozdzialu<0)then
tab_numer=tab_numer_2;
tab_poziomowo={};
poziom_spisu_tresci=nil;
HNumerPoziomow=HNumerPoziomow_2;
--HNumerPoziomowNaglowkow=HNumerPoziomowNaglowkow_2;
czy_poziom_ujemny_spisu_tresci=false;
pierwszy_ujemny_spis_tresci=nil;
end;
end;
local hnumer=numer_rozdzialu;
if(poprzedni_tab_poziomowo)then
local lens=math.min(#poprzedni_tab_poziomowo,hnumer-#tab_numer);
local len_tab_numer=#tab_numer;
for i=1,lens,1 do
tab_numer[len_tab_numer+i]=poprzedni_tab_poziomowo[i];
end;
for i=lens+1,#tab_numer do
tab_numer[len_tab_numer+i]=nil;
end;
end;
if(#tab_numer<hnumer)then
for i=#tab_numer+1,hnumer,1 do
table.insert(tab_numer,1);
end;
elseif(#tab_numer>hnumer)then
for i=#tab_numer, hnumer+1,-1 do
table.remove(tab_numer,i);
end;
tab_numer[#tab_numer]=(tab_numer[#tab_numer] or 0) + 1;
else
tab_numer[#tab_numer]=(tab_numer[#tab_numer] or 0) + 1;
end;
else
--[[if(poziom_rozdzialu==0)then
if(tab_lista_artykulow_w_ksiazce[m+1])then
if(tab_lista_artykulow_w_ksiazce[m+1][1][2]>0)then
tab_numer={0,};
elseif(tab_lista_artykulow_w_ksiazce[m+1][1][2]<0)then
tab_numer={};
end;
else
tab_numer={};
end;
end;]]
end;
--end;
if((czy_jest_teraz_spis_tresci)and(((not pierwszy_dodatni_spis_tresci)and(poziom_znakowy_rozdzialu>0))or((not pierwszy_ujemny_spis_tresci)and(poziom_znakowy_rozdzialu<0))))then
function Poziom_dodatni()
for s,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
if(s>m)then
if((tab_lista[1][2][1] or 0)>0)then
if(math.abs(tab_lista[1][2][1] or 0)>poziom_rozdzialu)then
return true;
else
return false;
end;
end;
end;
end;
return true;
end;
local function czy_inaczej_numeruj_rozdzial_dodatni()
if(tab_lista_artykulow_w_ksiazce[m][2])then
for p,artykul_w_bazie in ipairs(tab_lista_artykulow_w_ksiazce[m][2])do
return true;
end;
end;
end;
local function czy_inaczej_numeruj_rozdzial_ujemny()
if(tab_lista_artykulow_w_ksiazce[m][2])then
for p,artykul_w_bazie in ipairs(tab_lista_artykulow_w_ksiazce[m][2])do
local poziom_artykulu=artykul_w_bazie[2][1];
if(prawdziwy_poziom_rozdzialu~=0)then
if(poziom_artykulu>poziom_rozdzialu)then
return true;
end;
else
return true;
end;
end;
end;
return false;
end;
if((poziom_znakowy_rozdzialu>0)and((czy_inaczej_numeruj_rozdzial_dodatni())or(Poziom_dodatni())))then
tab_poziomowo_1=tab_poziomowo;
tab_poziomowo={};
czy_poziom_dodatni_spisu_tresci=true;
HNumerPoziomow_1=HNumerPoziomow;
HNumerPoziomow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
HNumerPoziomowNaglowkow_1=HNumerPoziomowNaglowkow;
HNumerPoziomowNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
tab_numer_1=tab_numer;
tab_numer={};
pierwszy_dodatni_spis_tresci=true;
elseif((poziom_znakowy_rozdzialu<0)
and((czy_inaczej_numeruj_rozdzial_ujemny())or((tab_lista_artykulow_w_ksiazce[m+1])
and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)<0)
and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>poziom_rozdzialu))))then
tab_poziomowo_2=tab_poziomowo;
tab_poziomowo={};
czy_poziom_ujemny_spisu_tresci=true;
HNumerPoziomow_2=HNumerPoziomow;
HNumerPoziomow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
--HNumerPoziomowNaglowkow_2=HNumerPoziomowNaglowkow;
--HNumerPoziomowNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
tab_numer_2=tab_numer;
tab_numer={};
pierwszy_ujemny_spis_tresci=true;
end;
end;
local function OTakimSamymLubMniejszymPoziomie(m)
if(poziom_rozdzialu==0)then return true;end;
local lens=parametry_modul["LiczbaElementówNumerowanychTablicy"](tab_lista_artykulow_w_ksiazce);
if(m==lens)then return true;end;
if(poziom_znakowy_rozdzialu>0)then
for k=m+1,lens,1 do
if(tab_lista_artykulow_w_ksiazce[k])then
if((tab_lista_artykulow_w_ksiazce[k][1][2][1] or 0)>0)then
if(math.abs(tab_lista_artykulow_w_ksiazce[k][1][2][1] or 0)<=poziom_rozdzialu)then
return true;
end;
end;
end;
end;
elseif(((m==1)or((tab_lista_artykulow_w_ksiazce[m-1])and((tab_lista_artykulow_w_ksiazce[m-1][1][2][1] or 0)>0)))and(poziom_znakowy_rozdzialu<0))then
if(tab_lista[2])then
for p,artykul_w_bazie in ipairs(tab_lista[2])do
local poziom_artykulu=artykul_w_bazie[2][1];
if(poziom_artykulu<=-prawdziwy_poziom_rozdzialu)then
return true;
end;
end;
end;
local poziom_zerowego_naglowka_innego=0;
for k=m+1,lens,1 do
if(tab_lista_artykulow_w_ksiazce[k])then
if((tab_lista_artykulow_w_ksiazce[k][1][2][1] or 0)<=0)then
local ile=tab_lista_artykulow_w_ksiazce[k][1][2][1] or 0;
if(ile==0)then
if((czy_jest_teraz_spis_tresci)and(m==1))then
poziom_zerowego_naglowka_innego=poziom_zerowego_naglowka;
else
poziom_zerowego_naglowka_innego=1;
end;
end;
if(math.abs(tab_lista_artykulow_w_ksiazce[k][1][2][1] or 0)+poziom_zerowego_naglowka_innego<=poziom_rozdzialu)then
return true;
end;
else
break;
end;
end;
end;
else
return true;
end;
end;
-- if(not czy_nie_ten_rozdzial)then
if((tab_lista[2])
and(tab_lista[2][1])
and(tab_lista[2][1][2][1]==0)
and(not tab_lista[2][1][4])
and(tab_lista_artykulow_w_ksiazce[m+1])
and(((poziom_znakowy_rozdzialu>0)
and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>0)
and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>poziom_rozdzialu)
)or(
((poziom_znakowy_rozdzialu<0)
and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)<0)
and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)+poziom_zerowego_naglowka>poziom_rozdzialu)
)
)or(
(poziom_znakowy_rozdzialu==0)and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)~=0)
))
)then
if(m==1)then
tab_numer={0,}
else
table.insert(tab_numer,0);
end;
elseif((m==1)and(not tab_lista_artykulow_w_ksiazce[m+1]))then
tab_numer={};
elseif((poziomowo)and(m==1)and(czy_pierwszy_nilowy)and(poziom_znakowy_rozdzialu==0)and(tab_lista_artykulow_w_ksiazce[m+1])and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)<0))then
tab_numer={};
elseif((poziomowo)and(m==1)and(czy_pierwszy_nilowy)and(poziom_znakowy_rozdzialu==0)and(tab_lista_artykulow_w_ksiazce[m+1])and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>0))then
tab_numer={0,}
elseif((poziomowo)and(m==2)and(czy_pierwszy_nilowy)and(poziom_znakowy_rozdzialu<0)and(tab_lista_artykulow_w_ksiazce[m-1])and((tab_lista_artykulow_w_ksiazce[m-1][1][2][1] or 0)==0))then
if(poprzedni_tab_poziomowo)then
local min=math.min(math.abs(numer_rozdzialu),#poprzedni_tab_poziomowo);
for i=#poprzedni_tab_poziomowo,min+1,-1 do
table.remove(poprzedni_tab_poziomowo,i)
end;
tab_numer=poprzedni_tab_poziomowo;
tab_numer[#tab_numer]=(tab_numer[#tab_numer] or 0)+1;
end;
elseif((not czy_jest_teraz_spis_tresci)and(((not pierwszy_dodatni_naglowek)and(poziom_znakowy_rozdzialu>0))or((not pierwszy_ujemny_naglowek)and(poziom_znakowy_rozdzialu<0))))then
if(poziom_rozdzialu>0)then
if(not OTakimSamymLubMniejszymPoziomie(m))then
if(poziom_znakowy_rozdzialu>0)then
HNumerPoziomowNaglowkow_2=HNumerPoziomowNaglowkow;
HNumerPoziomowNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
tab_numer_3=tab_numer;
tab_numer={0,};
HNumerPoziomow_3=HNumerPoziomow;
HNumerPoziomow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
pierwszy_dodatni_naglowek=true;
poziom_pierwszego_dodatniego_naglowka=poziom_rozdzialu;
glowny_dodatni_rozdzial=true;
else
tab_numer_4=tab_numer;
tab_numer=parametry_modul["KopiujTabelęElementów"](tab_numer);
tab_numer[#tab_numer]=nil;
HNumerPoziomow_4=HNumerPoziomow;
HNumerPoziomow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
if(poziom_naglowka or 0>0)then
HNumerPoziomow(poziom_naglowka,#tab_numer);
end;
pierwszy_ujemny_naglowek=true;
poziom_pierwszego_ujemnego_naglowka=poziom_rozdzialu;
glowny_ujemny_rozdzial=true;
end;
else
if(poziom_znakowy_rozdzialu>0)then pierwszy_dodatni_naglowek=true;else pierwszy_ujemny_naglowek=true;end;
end;
end;
elseif((czy_jest_teraz_spis_tresci)and(not czy_nie_ten_rozdzial))then
if((not spis)and(poziom_rozdzialu>0)
and(tab_lista_artykulow_w_ksiazce[m+1])
and((
(poziom_znakowy_rozdzialu>0)
and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>0)
and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>poziom_rozdzialu)
)or(
(poziom_znakowy_rozdzialu<0)
and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)<0)
and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>poziom_rozdzialu)
))
)then
tab_numer={0,};
spis=true;
end
elseif((tab_lista_artykulow_w_ksiazce[m+1])
and((
(poziom_znakowy_rozdzialu>0)
and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>0)
and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>poziom_rozdzialu)
)--[[or(
(poziom_znakowy_rozdzialu<0)
and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)<0)
and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>poziom_rozdzialu)
)]])
)then
table.insert(tab_numer,0);
end;
-- end;
end;
if(tab_lista[2])then
local HNumerArtykulu=stronicowyparser_potrzebne_modul.LiczonyHNumer();
local HNumerPoziomu=stronicowyparser_potrzebne_modul.LiczonyHNumer();
local czy_tytul_rozdzial=nil;local poprzedni_b=nil;local ile_odjac=0;
local HNumerB=nil;
local poprzedni_poziom_artykulu=nil;
local czy_ma_elementy=nil;
local poziom_poprzedni_artykulu=nil;
for p,artykul_w_bazie in ipairs(tab_lista[2])do
local artykul=artykul_w_bazie[1][1] or artykul_w_bazie[1];
artykul=(not naglowek)and mw.ustring.gsub(artykul,"^([^#]*)#(.*)$","%1") or artykul;
if(naglowek or not tab_artykul[artykul])then
pierwszy_rowny_rozdzial=nil;
czy_ma_elementy=true;
if(not naglowek)then
tab_artykul[artykul]=true;
end;
local tab_artykul_w_bazie;
if(poziomowo)then
local poziom_artykulu=artykul_w_bazie[2][1];
local poziom_poczatku_artykulu=artykul_w_bazie[2][2];
local w_rozdziale=artykul_w_bazie[2][4];
if(w_rozdziale)then
if((w_rozdziale)and(not tab_lista[2][p+1]))then
local wartosc=__FUNKCJA(poziomowo,i,ktory,pierwszy_parametr_szablonu,rozdzial,artykul,tab_numer,{});
if(wartosc)then return wartosc;end;
end;
function Dalej()
for s,artykul_w_bazie in ipairs(tab_lista[2])do
if(s>p)then
if((tab_lista[2][s])and(not tab_lista[2][s][2][4]))then
return true;
end;
end;
end;
return false;
end;
if(Dalej())then
tab_numer[#tab_numer+1]=0;
artykuly_w_rozdziale=true;
end;
elseif(artykuly_w_rozdziale)then
artykuly_w_rozdziale=nil;
table.remove(tab_numer,#tab_numer);
tab_poziomowo={};
end;
ostatni_poczatek_artykulu=poziom_poczatku_artykulu;
local function ToNumberPoziomArtykulu(poziom_artykulu)
local numer=tonumber(poziom_artykulu) or 1;
if(numer<1)then numer=1;end;
return numer;
end;
poziom_artykulu=ToNumberPoziomArtykulu(poziom_artykulu);
local poziom_czysty_artykulu=poziom_artykulu;
poziom_artykulu=poziom_artykulu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka;
if((poziom_poczatku_artykulu)and(poziom_poczatku_rozdzialu)
and(#poziom_poczatku_artykulu==#poziom_poczatku_rozdzialu)
and(poziom_poczatku_artykulu~=poziom_poczatku_rozdzialu)
and(mw.ustring.match(poziom_poczatku_rozdzialu,"^*"))
and((mw.ustring.match(poziom_poczatku_artykulu,"^:"))
or (mw.ustring.match(poziom_poczatku_artykulu,"^#"))
)
)then
poziom_artykulu=poziom_artykulu+1;
poziom_czysty_artykulu=poziom_czysty_artykulu+1;
end;
local numer_poziomu=HNumerPoziomow(poziom_artykulu);
if(p>1)then
local numer_poprzedni=tonumber(tab_lista[2][p-1][2][1]) or 1;
local id_poprzednie=tab_lista[2][p-1][4];
local numer=tonumber(tab_lista[2][p][2][1]) or 1;
local id=tab_lista[2][p][4];
if((numer_poprzedni==0)and(not id_poprzednie)and(not id)and(numer>0))then
if(#tab_numer>(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka)then
tab_numer[#tab_numer]=(tab_numer[#tab_numer] or 0)+1;
tab_poziomowo={};
end;
end;
end;
local prefix_poziom_artykulu=poziom_artykulu;
local b=0;
local tab_artykul_w_bazie=mw.text.split(artykul,"/");
if(tab_poprzedni_artykul_w_bazie)then
if(poprzedni_poziom_artykulu)then
if(poprzedni_poziom_artykulu==poziom_artykulu)then
for c=1,#tab_artykul_w_bazie,1 do
local podstrona_artykul=tab_artykul_w_bazie[c];
local podstrona_nazwy_artykulu=tab_poprzedni_artykul_w_bazie[c];
if(podstrona_artykul==podstrona_nazwy_artykulu)then
b=b+1;
end;
end;
else
b=0;
end;
end;
if(poziom_znakowy_rozdzialu<0)then
if(#tab_numer~=0)then
if(poziom_artykulu<=(poziom_pierwszego_ujemnego_naglowka or 0))then
tab_poziomowo=tab_numer_4;
tab_numer={};
HNumerArtykulu=HNumerPoziomow_4;
elseif((poziom_poprzedni_artykulu)and(poziom_artykulu>(poziom_pierwszego_ujemnego_naglowka or 0))and(poziom_poprzedni_artykulu>(poziom_pierwszego_ujemnego_spisu_tresci or 0))and(poziom_artykulu<=(poziom_pierwszego_ujemnego_spisu_tresci or 0)))then
HNumerArtykulu=stronicowyparser_potrzebne_modul.LiczonyHNumer();
for i=#tab_poziomowo,numer_poziomu+1,-1 do
table.remove(tab_numer,i);
end;
tab_numer[#tab_numer]=(tab_numer[#tab_numer] or 0 ) + 1;
tab_poziomowo=tab_numer;
tab_numer={};
elseif((poziom_naglowka>=poziom_artykulu)or((poziom_rozdzialu==poziom_czysty_artykulu)
and((numer_poziomu<numer_rozdzialu)
or((numer_poziomu==numer_rozdzialu)
and(poziom_poczatku_rozdzialu==poziom_poczatku_artykulu)
))
))then
local tab_numer2={};
for i=1,(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka,1 do
tab_numer2[i]=tab_numer[i];
end;
local tab_poziomowo2={};
for i=(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka+1,#tab_numer,1 do
tab_poziomowo2[i-(HNumerPoziomowNaglowkow(0) or 0)-poziom_zerowego_naglowka]=tab_numer[i];
end;
local indeks=(((HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka+1>#tab_numer) and 0 or (#tab_numer-(HNumerPoziomowNaglowkow(0) or 0)-poziom_zerowego_naglowka));
for i=1,numer_poziomu,1 do
tab_poziomowo2[i+indeks]=tab_poziomowo[i];
end;
tab_numer=tab_numer2;
tab_poziomowo=tab_poziomowo2;
--[[tab_poziomowo=tab_numer;
tab_numer={};]]
HNumerArtykulu=stronicowyparser_potrzebne_modul.LiczonyHNumer();
--local numer_poziomu=HNumerPoziomow(poziom_artykulu+(ostatni_rozdzial_dodatni or 0),#tab_poziomowo+1);
end;
end;
end;
elseif(#tab_numer>numer_poziomu)then
tab_poziomowo={};
tab_poziomowo[1]=tab_numer[numer_poziomu];
for i=#tab_numer,numer_poziomu,-1 do
table.remove(tab_numer,i);
end;
elseif((#tab_numer<=numer_rozdzialu)and(numer_rozdzialu>=numer_poziomu))then
local numer_rozdzialu_dodatniego=(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka;
if((numer_rozdzialu_dodatniego>0)or((numer_rozdzialu==numer_poziomu)and(poziom_poczatku_rozdzialu==poziom_poczatku_artykulu)))then
if(#tab_numer>=numer_rozdzialu_dodatniego)then
local tab_numer2={};
for i=1,numer_rozdzialu_dodatniego,1 do
tab_numer2[i]=tab_numer[i];
end;
tab_poziomowo={};
for i=numer_rozdzialu_dodatniego+1,#tab_numer,1 do
tab_poziomowo[i-numer_rozdzialu_dodatniego]=tab_numer[i];
end;
tab_numer=tab_numer2;
end;
end;
end;
poprzedni_poziom_artykulu=poziom_artykulu;
local czy_z_rozdzialem=(tab_artykul_w_bazie[1]==rozdzial);
if((p==1)and(czy_z_rozdzialem))then b=1;end;
czy_tytul_rozdzial=((p==1)and true or czy_tytul_rozdzial) and (czy_z_rozdzialem);
local dodatek=b-((czy_tytul_rozdzial)and 0 or 1);
dodatek=((dodatek>0)and dodatek or 0);
if((poziomowo)and(poziom_znakowy_rozdzialu<0))then
if(poziom_naglowka>=poziom_artykulu)then
local numer_poziomu=HNumerPoziomu(poziom_naglowka,numer_rozdzialu-(HNumerPoziomowNaglowkow(0) or 0));
end;
end;
local stala=poziom_artykulu;
local numer_poziomu=HNumerPoziomu(stala);
poziom_artykulu=stala+dodatek;
local numer=HNumerArtykulu(poziom_artykulu);
local roznica=numer_poziomu-numer;
if(roznica>0)then
numer=HNumerArtykulu(poziom_artykulu,numer_poziomu);
end;
if(#tab_poziomowo<numer)then
for i=#tab_poziomowo+1,numer,1 do
table.insert(tab_poziomowo,1);
end;
else
if(#tab_poziomowo>numer)then
for i=#tab_poziomowo,numer+1,-1 do
table.remove(tab_poziomowo,i);
end;
end;
tab_poziomowo[#tab_poziomowo]=(tab_poziomowo[#tab_poziomowo] or 0)+1;
end;
tab_poprzedni_artykul_w_bazie=tab_artykul_w_bazie;
poziom_poprzedni_artykulu=poziom_artykulu;
end;
local wartosc=__FUNKCJA(poziomowo,i,ktory,pierwszy_parametr_szablonu,rozdzial,artykul,tab_numer,tab_poziomowo);
if(poziomowo)then
if(tab_lista[2][p+1])then
local numer_nastepny=tonumber(tab_lista[2][p+1][2][1]) or 1;
local id_nastepny=tab_lista[2][p+1][4];
local numer=tonumber(tab_lista[2][p][2][1]) or 1;
local id=tab_lista[2][p][4];
if((numer_nastepny==0)and(not id_nastepny)and(not id)and(numer>0))then
tab_poziomowo={tab_numer[(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka+1],};
for i=#tab_numer,(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka+1,-1 do
table.remove(tab_numer,i);
end;
end;
end;
poprzedni_tab_poziomowo=tab_poziomowo;
end;
if(wartosc)then return wartosc;end;
if(not poziomowo)then
i=i+1;
end;
end;
end;
if(not czy_ma_elementy)then
poprzedni_tab_poziomowo=nil;
if(zbieraj_dane)then local wartosc=__FUNKCJA(poziomowo,i,ktory,pierwszy_parametr_szablonu,rozdzial,"",tab_numer,{}); end;
end;
else
poprzedni_tab_poziomowo=nil;
if(zbieraj_dane)then local wartosc=__FUNKCJA(poziomowo,i,ktory,pierwszy_parametr_szablonu,rozdzial,"",tab_numer,{}); end;
end;
end;
return;
end;
p["PobierzNazwęArtykułu"]=function(frame,tabela_listy_danych_analizy_ksiazki)
local s=1;
local function __FUNKCJA(poziomowo,i,ktory,numer,rozdzial,artykul,tab_numer,tab_poziomowo)
if((not poziomowo)and(i==numer))then
if(s==ktory)then
return artykul;
else
s=s+1;
end;
elseif(poziomowo)then
if((table.concat(tab_numer,".")
..((#tab_numer>0) and "." or "")
..table.concat(tab_poziomowo,"."))==numer)then
if(s==ktory)then
return artykul;
else
s=s+1;
end;
end;
end;
end;
return PobierzNumerLubNazweArtykulu(frame,tabela_listy_danych_analizy_ksiazki,__FUNKCJA,true);
end;
p["PobierzNumerArtykułu"]=function(frame,tabela_listy_danych_analizy_ksiazki)
local s=1;
local function __FUNKCJA(poziomowo,i,ktory,nazwa_artykulu,rozdzial,artykul,tab_numer,tab_poziomowo)
if(nazwa_artykulu==artykul)then
if(s==ktory)then
if(poziomowo)then
return (table.concat(tab_numer,".")..((#tab_numer>0) and ((#tab_poziomowo>0) and "." or "") or "")..table.concat(tab_poziomowo,"."));
else
return i;
end;
end;
s=s+1;
end;
end;
return PobierzNumerLubNazweArtykulu(frame,tabela_listy_danych_analizy_ksiazki,__FUNKCJA,false);
end;
p["PobierzDaneKsiążki"]=function(frame,tabela_listy_danych_analizy_ksiazki,kodowanie_nie_json)
local tab_dane_ksiazki=nil;
local s=1;
local function __FUNKCJA(poziomowo,i,ktory,nazwa_artykulu,rozdzial,artykul,tab_numer,tab_poziomowo)
if(not tab_dane_ksiazki)then tab_dane_ksiazki={};end;
if(not tab_dane_ksiazki[rozdzial])then tab_dane_ksiazki[rozdzial]={};end;
local numer_rozdzialu=tab_numer and table.concat(tab_numer,".") or "";
repeat
numer_rozdzialu=mw.ustring.gsub(numer_rozdzialu,"%.0$","")
until not mw.ustring.match(numer_rozdzialu,"%.0$");
if(not tab_dane_ksiazki[rozdzial][numer_rozdzialu])then
tab_dane_ksiazki[rozdzial][numer_rozdzialu]={};
end;
if(not tab_dane_ksiazki[rozdzial][numer_rozdzialu][artykul])then
tab_dane_ksiazki[rozdzial][numer_rozdzialu][artykul]={};
end;
local numer_artykulu=tab_poziomowo and table.concat(tab_poziomowo,".") or "";
if(not tab_dane_ksiazki[rozdzial][numer_rozdzialu][artykul][numer_artykulu])then
tab_dane_ksiazki[rozdzial][numer_rozdzialu][artykul][numer_artykulu]={};
end;
table.insert(tab_dane_ksiazki[rozdzial][numer_rozdzialu][artykul][numer_artykulu],s);
s=s+1;
return false;
end;
PobierzNumerLubNazweArtykulu(frame,tabela_listy_danych_analizy_ksiazki,__FUNKCJA,false,true);
return (not kodowanie_nie_json) and mw.text.jsonEncode(tab_dane_ksiazki,mw.text.JSON_PRESERVE_KEYS) or tab_dane_ksiazki;
end;
p["SubNazwaNadArtykułu"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local numer=tonumber(args[1]) or 0;
local krok=tonumber(args[2])or 1;
local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame);
return stronicowyparser_potrzebne_modul.SubNazwaNadStrony(nazwa_artykulu,numer,krok);
end;
p["NazwaNadArtykułu"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local numer=tonumber(args[1]) or 1;
local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame);
return stronicowyparser_potrzebne_modul.SubNazwaNadStrony(nazwa_artykulu,1,numer);
end;
p["NazwaLinkuArtykułu"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame);
local ostatni_artykul;
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
if(tab_lista[2])then
for _,artykul_w_bazie in ipairs(tab_lista[2])do
if(type(artykul_w_bazie[1])~="table")then
if(artykul_w_bazie[1]==nazwa_artykulu)then
return artykul_w_bazie[1];
end;
elseif(artykul_w_bazie[1][1]==nazwa_artykulu)then
return artykul_w_bazie[1][2];
end;
end;
end;
end;
return "(błąd)";
end;
p["LiczbaArtykułówKsiążki"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local parametry_modul=require("Module:Parametry");
local args=stronicowyparser_potrzebne_modul:Args();
local naglowek=parametry_modul.CzyTak(args["nagłówek"]);
local tab_artykul=(not naglowek) and {} or nil;
local i=0;
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
if(tab_lista[2])then
for _,artykul_w_bazie in ipairs(tab_lista[2])do
local nazwa_artykulu=artykul_w_bazie[1][1] or artykul_w_bazie[1];
local artykul=(not naglowek) and mw.ustring.gsub(nazwa_artykulu,"^([^#]*)#(.*)$","%1") or nazwa_artykulu;
if(naglowek or not tab_artykul[artykul])then
if(not naglowek)then
tab_artykul[artykul]=true;
end;
i=i+1;
end;
end;
end;
end;
return i;
end;
p["LiniaArtykułuKsiążki"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame);
local parametry_modul=require("Module:Parametry");
local args=stronicowyparser_potrzebne_modul:Args();
local czy_analiza=parametry_modul.CzyTak(args["analiza"]);
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
if(tab_lista[2])then
for _,artykul_w_bazie in ipairs(tab_lista[2])do
local artykul_ksiazki=artykul_w_bazie[1][1] or artykul_w_bazie[1];
if(artykul_ksiazki==nazwa_artykulu)then
if(not czy_analiza)then
return artykul_w_bazie[3];
else
local function AnalizaLiniiArtykolow()
local czy_spis_tresci=mw.ustring.match(artykul_w_bazie[3],"({{%s*[Ss]pisTreści%s*|[^{}]*}})");
if(czy_spis_tresci)then
local techniczne_modul=require("Module:Techniczne");
local parametry_szablony=techniczne_modul["ParsujWywołanieSzablonu"](czy_spis_tresci);
local nazwa_artykulu=parametry_szablony[1];
------
local nazwa_ksiazki=stronicowyparser_potrzebne_modul:PelnaNazwaKsiazki(frame);
local pelna_nazwa_strony=(nazwa_artykulu=="")and nazwa_ksiazki or nazwa_ksiazki.."/"..nazwa_artykulu;
local link= "[["..pelna_nazwa_strony.."|"..nazwa_artykulu.."]]";
local linia2,_=mw.ustring.gsub(artykul_w_bazie[3],"({{%s*[Ss]pisTreści%s*|[^{}]*}})",link);
return linia2;
else
local czy_spis_tresci=mw.ustring.match(artykul_w_bazie[3],"({{%s*[Ss]ekcja[%s_]+referencyjna%s*|[^{}]*}})");
if(czy_spis_tresci)then
local linia2,_=mw.ustring.gsub(artykul_w_bazie[3],"({{%s*[Ss]ekcja[%s_]+referencyjna%s*|)","%1astandardowo=tak|");
return linia2;
else
local nazwa_ksiazki=stronicowyparser_potrzebne_modul:PelnaNazwaKsiazki(frame);
local function adresuj_linki(a,b)
return "[["..nazwa_ksiazki.."/"..a..(b or "").."]]";
end;
local artykul=mw.ustring.gsub(artykul_w_bazie[3],"%[%[%s*/([^%[%]|]-)/*%s*(|.*)%]%]",adresuj_linki);
artykul=mw.ustring.gsub(artykul,"%[%[%s*/([^%[%]|]-)/*%s*%]%]",adresuj_linki);
return artykul;
end;
end;
end;
return AnalizaLiniiArtykolow();
end
end;
end;
end;
end;
local uzupelniaj_sekcje_artykulow=parametry_modul.CzyTak(args["uzupełniaj sekcje artykułów"]);
if(uzupelniaj_sekcje_artykulow)then
if(mw.ustring.match(nazwa_artykulu,"^[^#]*#(.+)$"))then
local naglowek=mw.ustring.match(nazwa_artykulu,"^[^#]*#(.+)$");
if(parametry_modul["CzyTakCiąg"](naglowek))then
local pelna_nazwa_ksiazki=stronicowyparser_potrzebne_modul:PelnaNazwaKsiazki(frame)
return "[["..pelna_nazwa_ksiazki..((nazwa_artykulu~="")and("/"..nazwa_artykulu) or "").."|"..naglowek.."]]";
end;
end;
end;
end;
p["AktualnaKsiążka"]=function(frame,__error)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
return stronicowyparser_potrzebne_modul:PelnaNazwaKsiazki(frame) or ((not __error)and "(błąd)" or nil);
end;
p["NazwaAktualnyArtykuł"]=function(frame,__error)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
return stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame) or ((not __error)and "(błąd)" or nil);
end;
p["ListaNagłówkówKsiążki"] = function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local stronicowyparser_obiekty=mw.loadData("Module:StronicowyParser/obiekty");
local tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek;
local tab_rozdzialow_glownych_spisow_tresci_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_glownych_spisow_tresci_ksiazek;
local czy_sa_rozdzialy=nil;
local pelna_nazwa_ksiazki=stronicowyparser_potrzebne_modul:PelnaNazwaKsiazki(frame);
local args=stronicowyparser_potrzebne_modul:Args();
local wikikod="";
local linki_modul=require("Module:Linki");
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
local rozdzial=tab_lista[1][1];
local numer_rozdzialu=tab_lista[1][2][1];
if(numer_rozdzialu>0)then
if(not tab_rozdzialow_glownych_spisow_tresci_ksiazek[rozdzial])then
wikikod=((wikikod~="")and (wikikod.." — ") or "")
..linki_modul["Link wewnętrzny"]{
["strona"]=pelna_nazwa_ksiazki,
["nagłówek"]=rozdzial,
["nazwa"]=rozdzial,
["bez znaczników"]=args["bez znaczników"],
["bez przetwarzania"]=args["bez przetwarzania"],
};
end;
czy_sa_rozdzialy=true;
end;
end;
if(not czy_sa_rozdzialy)then return "(błąd: brak rozdziałów)";end;
return wikikod;
end;
p["ArtykułSubst"] = function(frame)
local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_ksiazkowych;
local nazwa_przestrzeni;local nazwa_ksiazki;local nazwa_artykulu;
if(not tabela_listy_danych_analizy_ksiazki.zastepczy)then
nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki;
nazwa_artykulu=tabela_listy_danych_analizy_ksiazki.nazwa_artykulu;
else
nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.normalna_nazwa_przestrzeni;
nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.normalna_nazwa_ksiazki;
nazwa_artykulu=tabela_listy_danych_analizy_ksiazki.normalna_nazwa_artykulu;
end;
local parametry_modul=require("Module:Parametry");
local PobierzParametr=parametry_modul.PobierzParametr(frame);
local pobierz_nazwa_artykulu=PobierzParametr("pobierz pełną nazwę artykułu");
local pobierz_adres_ksiazki=PobierzParametr("pobierz pełną nazwę książki");
local czy_pobierz_pelna_nazwa_artykulu=parametry_modul.CzyTak(pobierz_nazwa_artykulu);
local czy_pobierz_pelna_nazwa_ksiazki=parametry_modul.CzyTak(pobierz_adres_ksiazki);
if(czy_pobierz_pelna_nazwa_artykulu and not czy_pobierz_pelna_nazwa_ksiazki)then
return ((nazwa_przestrzeni~="")and(nazwa_przestrzeni..":") or "")..nazwa_ksiazki..((nazwa_artykulu~="") and "/" or "")..nazwa_artykulu;
elseif(not czy_pobierz_pelna_nazwa_artykulu and czy_pobierz_pelna_nazwa_ksiazki)then
return ((nazwa_przestrzeni~="")and(nazwa_przestrzeni..":") or "")..nazwa_ksiazki;
elseif(czy_pobierz_pelna_nazwa_artykulu and czy_pobierz_pelna_nazwa_ksiazki)then
return "(błąd)";
end;
local nazwa_strony=((nazwa_przestrzeni~="")and(nazwa_przestrzeni..":") or "")..nazwa_ksiazki..((nazwa_artykulu~="") and "/" or "")..nazwa_artykulu;
local techniczne_modul=require("Module:Techniczne");
local szablon=techniczne_modul.NazwaSzablonu(nazwa_strony);
return frame:expandTemplate{title=szablon,args={},};
end;
p["KsiążkaSubst"] = function(frame)
local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_ksiazkowych;
local str=tabela_listy_danych_analizy_ksiazki["KsiążkaSubst"];
return str;
end;
p["StronaSubst"] = function(frame)
local parametry_modul=require("Module:Parametry");
local args=frame and ((frame.getParent and ((parametry_modul.CzyTak(frame.args["wyspecjalizowana"]))and frame or frame:getParent()) or frame).args or frame) or {};
local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_ksiazkowych;
local tab_stronasubst=tabela_listy_danych_analizy_ksiazki["StronaSubst"];
if(not tab_stronasubst)then return;end;
local pierwszy,_=mw.ustring.gsub(args[1],"[%s_]+"," ");
local tab_strona=tab_stronasubst[pierwszy];
if(not tab_strona)then return;end;
local link=args["link"];
local czy_link=parametry_modul.CzyTak(link);
local stronasubst=tab_strona[(czy_link and "tak" or "")];
return stronasubst;
end;
p["CzyStronęNumerować"] = function(frame)
local strona=frame.args[1];
local nazwy_modul=require("Module:Nazwy");
strona=nazwy_modul["PEŁNANAZWASTRONY"](strona);
local pudelko_modul=require("Module:Pudełko");
if(strona==pudelko_modul["Strona główna tego projektu"](frame))then
return;
end;
if(strona==pudelko_modul["Strona główna dla dzieci tego projektu"](frame))then
return;
end;
if(mw.ustring.match(strona,"^Szablon:SG/"))then
return;
end;
local zbiory={
["Szablon:Nowe podręczniki miesiąca/Zwycięzca"]=true,
["Wikibooks:Polecane książki"]=true,
["Szablon:Wyróżnienia książek miesiąca/Wyróżniony"]=true,
}
if(zbiory[strona])then
return;
end;
if(mw.ustring.match(strona,"^Szablon:Polecane książki/")
or(mw.ustring.match(strona,"^Szablon:Nowe podręczniki miesiąca/"))
or(mw.ustring.match(strona,"^Szablon:Wyróżnienia książek miesiąca/"))
)then
return;
end;
return "tak";
end;
function p.HNumer(frame)
local p=frame.args["wyspecjalizowana"] and frame or frame:getParent();
if((not p) or (not p.args[1]))then
local blad_module=require("Module:Błąd");
local frame2=p:newChild{args={[1]="Podano złe parametry w szablonie: [[Szablon:HLiczba]].",["tag"]="span",},}
blad_module.error(frame2);
return;
end;
local stronicowyparser_rozdzialy_modul=require("Module:StronicowyParser/Rozdziały");
local naglowek,licznik=stronicowyparser_rozdzialy_modul.PodajRozdzial(p.args[1]);
local id2,_=mw.ustring.gsub(naglowek,"^[%s_]","");
id2,_=mw.ustring.gsub(id2,"[%s_]$","");
id2,_=mw.ustring.gsub(id2,"[%s_]","_");
local id3,_=mw.ustring.gsub(mw.uri.encode(mw.text.encode(id2),"WIKI"),"(%%)",".");
if(licznik>6)then
local id=p.args["id"];
local styl=p.args["styl"];
local klasa=p.args["klasa"];
local atrybuty=p.args["atrybuty"];
local parametry_modul=require("Module:Parametry");
return "<h6"..(parametry_modul.CzyTak(id)and " id=\""..id.."\"" or "")
..(parametry_modul.CzyTak(styl)and " style=\""..styl.."\"" or "")
.." class=\"mw-hnumber mw-hnumber-"..licznik..((parametry_modul.CzyTak(klasa)) and (" "..klasa) or "").."\""
..(parametry_modul.CzyTak(atrybuty)and " "..atrybuty or "")
..">"..((id2~=id3) and ("<span id=\""..id3.."\"></span>") or "").."<span id=\""..id2.."\" class=\"mw-headline\">"..naglowek.."</span></h6>";
elseif(licznik<1)then
local blad_module=require("Module:Błąd");
local frame2=pf:newChild{args={[1]="Nie podano nagłówka w szablonie: [[Szablon:HLiczba]].",["tag"]="span",},}
blad_module.error(frame2);
else
local id=p.args["id"];
local styl=p.args["styl"];
local klasa=p.args["klasa"];
local atrybuty=p.args["atrybuty"];
local parametry_modul=require("Module:Parametry");
return "<h"..licznik..(parametry_modul.CzyTak(id)and " id=\""..id.."\"" or "")
..(parametry_modul.CzyTak(styl)and " style=\""..styl.."\"" or "")
.." class=\""..((parametry_modul.CzyTak(klasa)) and klasa or "").."\""
..(parametry_modul.CzyTak(atrybuty)and " "..atrybuty or "")..">"..((id2~=id3) and ("<span id=\""..id3.."\"></span>") or "").."<span id=\""..id2.."\" class=\"mw-headline\">"..naglowek.."</span></h"..licznik..">";
end;
end;
function p.TOC(frame,czy_rozciagnij,gdy_pusty_spis_tresci)
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych;
local nazwy_modul=require("Module:Nazwy");
local parametry_modul=require("Module:Parametry");
local ksiazkowe_modul=require("Module:Książkowe");
local args=(frame)and (parametry_modul.CzyTak(frame.args["wyspecjalizowana"])and frame.args or frame:getParent().args) or {};
local nazwa_przestrzeni=args[2] and nazwy_modul["NAZWAPRZESTRZENI"](args[2]) or tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
local nazwa_ksiazki=args[2] and ksiazkowe_modul["NazwaKsiążki"](args[2]) or tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki;
local nazwa_artykulu=args[1] and args[1] or tabela_listy_danych_analizy_ksiazki.nazwa_artykulu;
local czy_nie_aktualny=(
(nazwa_przestrzeni~=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni)
or(nazwa_ksiazki~=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki)
or (nazwa_artykulu~=tabela_listy_danych_analizy_ksiazki.nazwa_artykulu)
);
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
if ((tabela_listy_danych_analizy_ksiazki.TOC_StronaZbiorcza)or(tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu and tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni] and tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki] and tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki].lista_artykolow[nazwa_artykulu] and tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki].lista_artykolow[nazwa_artykulu].TOC)) then
mw.log(tabela_listy_danych_analizy_ksiazki.TOC_StronaZbiorcza,"Strona ziorcza");
local spis_tresci_artykulu=stronicowyparser_potrzebne_modul.TOC(frame,tabela_listy_danych_analizy_ksiazki.TOC_StronaZbiorcza or tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki].lista_artykolow[nazwa_artykulu].TOC,czy_nie_aktualny,czy_rozciagnij);
return spis_tresci_artykulu;
elseif(not gdy_pusty_spis_tresci)then
local spis_tresci_artykulu=stronicowyparser_potrzebne_modul.TOC(frame,nil,czy_nie_aktualny,czy_rozciagnij);
return spis_tresci_artykulu;
end;
end;
function p.WykazModolow(frame,czy_rozciagnij)
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych;
local nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki;
local nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
local lista_ksiazek_w_przestrzeni_nazw=tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni];
if(not lista_ksiazek_w_przestrzeni_nazw)then return nil;end;
local tab_lista_artykulow_w_ksiazce_w_ksiazce=lista_ksiazek_w_przestrzeni_nazw[nazwa_ksiazki];
if(not tab_lista_artykulow_w_ksiazce_w_ksiazce)then return nil;end;
local spis=tab_lista_artykulow_w_ksiazce_w_ksiazce.spis;
if(not spis)then return nil;end;
local parametry_modul=require("Module:Parametry");
local spis_ksiazkowy=parametry_modul.CzyTak(frame.args["spis książkowy"]);
local spis_rzeczy=parametry_modul.CzyTak(frame.args["spis rzeczy"]);
local tylko_naglowki=parametry_modul.CzyTak(frame.args["nagłówki"]);
local wysokosc=frame.args["wysokość"];
local wykaz_modolow_w_liscie="";
local i=1;
for _,tab_artykul in ipairs(spis)do
if(tab_artykul[2])then
for _,tab_pozycja in ipairs(tab_artykul[2])do
if(type(tab_pozycja[1])~="table")then
sformatowana_nazwa_artykulu,_=mw.ustring.gsub(tab_pozycja[1],"_"," ");
else
sformatowana_nazwa_artykulu,_=mw.ustring.gsub(tab_pozycja[1][1],"_"," ");
end;
local id=tab_pozycja[4]
if(not tylko_naglowki or id)then
if(not spis_ksiazkowy)then
wykaz_modolow_w_liscie=((wykaz_modolow_w_liscie~="") and (wykaz_modolow_w_liscie.."\n") or "")..'<li>[['..((not spis_rzeczy or not id)and (((nazwa_przestrzeni=="")and nazwa_ksiazki or nazwa_przestrzeni..":"..nazwa_ksiazki).."/") or "#")..sformatowana_nazwa_artykulu.."|<span class=\"tocnumber\">"..i.."</span><span class=\"toctext\">"..sformatowana_nazwa_artykulu..'</span>]]</li>';
else
wykaz_modolow_w_liscie=((wykaz_modolow_w_liscie~="") and (wykaz_modolow_w_liscie.."\n") or "")..'{{SpisZw||[['..((not spis_rzeczy or not id)and (((nazwa_przestrzeni=="")and nazwa_ksiazki or nazwa_przestrzeni..":"..nazwa_ksiazki).."/") or "#")..sformatowana_nazwa_artykulu.."|"..sformatowana_nazwa_artykulu.."]]|"..i.."|100%}}";
end;
i=i+1;
end;
end;
end;
end;
if(wykaz_modolow_w_liscie=="")then return nil;end;
if(not spis_ksiazkowy)then
wykaz_modolow_w_liscie="<ul>"..wykaz_modolow_w_liscie.."</ul>";
wykaz_modolow_w_liscie='<div class="toc_ogólnie_spis toc_wykaz" style="width:100%;max-height:400px;overflow:auto;">'..wykaz_modolow_w_liscie.."</div>";
wykaz_modolow_w_liscie='{{Tabela nawigacyjna|styl=width:'..(czy_rozciagnij and "100%" or "auto")..';font-size:14px;line-height:1.2em;background-color:white;|tytuł=<div style="font-size:14px;line-height:1.2em;background-color:white;text-align:left;white-space:nowrap;">Wykaz modułów w książce</div>|spis='..wykaz_modolow_w_liscie..'|funkcja=UkrytaWikitabelowaListaMenu}}';
else
wykaz_modolow_w_liscie="<div class=\"toc_wykaz mw-overflow-y\" style=\""..(wysokosc and ("max-height:"..wysokosc..";overflow:auto;") or "").."border:solid #aaa 1px;padding:10px;width:auto;box-sizing:border-box;background-color:white;\">"..wykaz_modolow_w_liscie.."</div>";
end;
local rozwiniety_wikikod=frame:preprocess(wykaz_modolow_w_liscie);
return rozwiniety_wikikod;
end;
function p.NazwaModolu()
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych;
local nazwy_np_modul=mw.loadData('Moduł:Nazwy/Np');
local nazwa_artykulu=tabela_listy_danych_analizy_ksiazki.nazwa_artykulu;
if(nazwa_artykulu==nil)then
return "[["..nazwy_np_modul.Category..": Nie można wygenerować nazwy strony]]";
else
return nazwa_artykulu;
end;
end;
function p.Wstep_do_licencji(frame)
local element_licencji_1='<strong>Autor:</strong> '..frame.args[1]..'<BR>';
local element_licencji_2;
if((frame.args[2]~='')and(frame.args[2]~=nil))then
element_licencji_2=frame.args[2]..'<BR>';
end;
local element_licencji_3;
if((frame.args[3]~='')and(frame.args[3]~=nil))then
element_licencji_3='<strong>Email:</strong> '..frame.args[3]..'<BR>';
end;
local element_licencji_4;
if((frame.args[4]~='')and(frame.args[4]~=nil))then
element_licencji_4='<strong>Dotyczy:</strong> '..frame.args[4].."<BR>";
else
element_licencji_4='<strong>Dotyczy:</strong> książki, do której należy ta strona, oraz w niej zawartych stron i w nich podstron, a także w nich kolumn, wraz z zawartościami.<BR>';
end;
if((frame.args[5]~='')and(frame.args[5]~=nil))then
element_licencji_5=frame.args[5].."<BR>";
else
element_licencji_5='Użytkownika książki, do której należy ta strona, oraz w niej zawartych stron i w nich podstron, a także w nich kolumn, wraz z zawartościami nie zwalnia z odpowiedzialności prawnoautorskiej nieprzeczytanie warunków licencjonowania.<BR>';
end;
local element_licencji_6;
if((frame.args[6]~='')and(frame.args[6]~=nil))then
element_licencji_6='<strong>Umowa prawna:</strong> '..frame.args[6]..'<BR>';
else
element_licencji_6='<strong>Umowa prawna:</strong> [http://creativecommons.org/licenses/by-sa/3.0/deed.pl Creative Commons: uznanie autorstwa oraz miejsca pochodzenia książki i jej jakikolwiek części, a także treści, teksty, tabele, wykresy, rysunki, wzory i inne elementy oraz ich części zawarte w książce, i tą książkę, nawet w postaci przerobionej nie można umieszczać w jakikolwiek formie na czasopismach naukowych, archiwach prac, itp.]<BR>';
end;
if((frame.args[7]~='')and(frame.args[7]~=nil))then
element_licencji_7=frame.args[7].."<BR>";
else
element_licencji_7='Autor tej książki dołożył wszelką staranność, aby informacje zawarte w książce były poprawne i najwyższej jakości, jednakże nie udzielana jest żadna gwarancja, czy też rękojma. Autor nie jest odpowiedzialny za wykorzystanie informacji zawarte w książce nawet jeśli wywołaby jakąś szkodę, straty w zyskach, zastoju w prowadzeniu firmy, przedsiębiorstwa lub spółki bądź utraty informacji niezależnie, czy autor (a nawet [https://pl.wikibooks.org Wikibooks]) został powiadomiony o możliwości wystąpienie szkód. Informacje zawarte w książce mogą być wykorzystane tylko na własną odpowiedzialność.<BR>';
end;
local licencja=element_licencji_1..((element_licencji_2)and element_licencji_2 or "")..((element_licencji_3)and element_licencji_3 or "")
..element_licencji_4..element_licencji_5..element_licencji_6..element_licencji_7;
return licencja;
end;
function p.Licencja(frame,czy_rozciagnij)
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych;
local menu_z_licencja;
local nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
local nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki;
local licencja=tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki].licencja;
if(licencja)then
if(licencja[1])then
local frame={};
frame.args={licencja[1],licencja[2],licencja[3],licencja[4],licencja[5],licencja[6],licencja[7]};
local ramka_z_licencja='<div style="margin-left:0px;padding:3px;width:100%;height:auto;box-sizing:border-box;">'..p.Wstep_do_licencji(frame)..'</div>';
menu_z_licencja='{{Tabela nawigacyjna|styl=width:'..(czy_rozciagnij and "100%" or "auto")..';font-size:14px;line-height:1.2em;background-color:white;|tytuł=<div style="font-size:14px;line-height:1.2em;background-color:white;text-align:left;white-space:nowrap;">Licencja</div>|spis='..ramka_z_licencja..'|funkcja=StatycznaWikitabelowaListaMenu}}';
else
return nil;
end;
local frame=mw.getCurrentFrame();
local rozwiniety_wikikod=frame:preprocess(menu_z_licencja);
return rozwiniety_wikikod;
else
return nil;
end;
end;
function p.Autor(frame)
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych;
local nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
local nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki;
local licencja=tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki].licencja;
if(tabela_listy_danych_analizy_ksiazki.licencja)then
return licencja[1];
end;
end;
function p.PierwszaStrona(frame)
local prawe_menu="";
local parametry_modul=require("Module:Parametry");
local czy_rozciagnij=parametry_modul.CzyTak(frame.args["rozciągnij"])
if(parametry_modul.CzyTak(frame.args[1]))then
prawe_menu='<div style="margin-top:5px;font-size:1.9em;line-height:25px;text-align:left;">'..p.NazwaModolu()..'</div><hr style=\"margin:5px 0\"/>';
end;
if(parametry_modul.CzyTak(frame.args[2]))then
local licencja=p.Licencja(frame,czy_rozciagnij);
if(licencja~=nil)then
prawe_menu=prawe_menu..licencja;
else
local obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty");
local uchwyt_strony=mw.title.getCurrentTitle();
local nazwy_np_modul=mw.loadData("Module:Nazwy/Np");
local nazwa_przestrzeni_nazw_strony=require("Module:Nazwy")["NAZWAPRZESTRZENI"]();
local element_zdania_kategorii=(nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Main)and "na stronach głównych, książek"
or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikijunior)and "na stronach głównych, książek dla dzieci"
or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.User)and "na stronach głównych, książek użytkowników"
or((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikibooks)and "na stronach głównych, książek brudnopisu projektu"
or "na stronach głównych, publikacji")));
local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_ksiazkowych;
local kategoria_braku_licencji=(not tabela_listy_danych_analizy_ksiazki.korzystane_strona_glowna_nie_istnieje)and"[["..nazwy_np_modul.Category..": Brak licencji, "..element_zdania_kategorii.."]]" or "";
prawe_menu=prawe_menu..kategoria_braku_licencji;
end;
end;
if(parametry_modul.CzyTak(frame.args[3]))then
local wykaz_artykulow=p.WykazModolow(frame,czy_rozciagnij);
if(wykaz_artykulow~=nil)then
prawe_menu=prawe_menu.."<hr style=\"margin:5px 0\"/>"..wykaz_artykulow;
end;
end;
if(parametry_modul.CzyTak(frame.args[4]))then
local spis_tresci=p.TOC(frame,czy_rozciagnij,true);
if(spis_tresci~=nil)then
prawe_menu=prawe_menu.."<hr style=\"margin:5px 0\"/>"..spis_tresci;
end;
end;
local wysokosc=frame.args["wysokość"];
return "<div style=\"padding:10px;border: solid #aaa 1px;background-color:white;box-sizing:border-box;width:700px;\"><div class=\"pierwsza_strona mw-overflow-y\" style=\"max-height:"..(wysokosc or "100%")..";overflow:auto;height:100%;box-sizing:border-box;\"><div style=\"display:flex;flex-direction:column;width:auto;height:auto;box-sizing:border-box;\">"..prawe_menu.."</div></div></div>";
end;
function p.SpisTresci(frame)
local parametry_modul=require("Module:Parametry");
local args=parametry_modul.PobierzArgsParametry(frame);
local nazwa_artykulu=args["artykuł"] or args[1];
local nazwa_ksiazki=args["książka"] or args[2];
if(not parametry_modul.CzyTak(nazwa_ksiazki))then
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych;
local uzyskana_nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
local uzyskana_nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki;
nazwa_ksiazki=((uzyskana_nazwa_przestrzeni~=nil) and (uzyskana_nazwa_przestrzeni..":") or "")..uzyskana_nazwa_ksiazki;
end;
local brak=(nazwa_artykulu and mw.ustring.match(nazwa_artykulu,"[|<>{}%[%]]") or nil) or (nazwa_ksiazki and mw.ustring.match(nazwa_ksiazki,"[|<>{}%[%]]") or nil);
if(brak~=nil)then
local nazwy_np_modul=mw.loadData("Module:Nazwy/Np");
local nazwa_przestrzeni_nazw_strony=require("Module:Nazwy")["NAZWAPRZESTRZENI"]();
local element_zdania_kategorii=(nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Main)and "artykułów,"
or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikijunior)and "artykułów dla dzieci,"
or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.User)and "stron użytkowników,"
or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikibooks)and "stron brudnopisu projektu,"
or "stron,")));
return "[["..nazwy_np_modul.Category..":Nazwy "..element_zdania_kategorii.." w spisach treści, zawierają niedozwolone znaki]]";
end;
local html_modul=require("Module:Html");
local nazwy_modul=require("Module:Nazwy");
local ksiazkowe_modul=require("Module:Książkowe");
local nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](nazwa_ksiazki);
local nazwa_ksiazki=ksiazkowe_modul["NazwaKsiążki"](nazwa_ksiazki);
nazwa_ksiazki=html_modul.TransformacjaKlasyZnakowej(nazwa_ksiazki);
local nazwa_artykulu=html_modul.TransformacjaKlasyZnakowej(nazwa_artykulu);
local nazwa_strony=(nazwa_artykulu=="")and nazwa_ksiazki or nazwa_ksiazki.."/"..nazwa_artykulu;
local pelna_nazwa_strony=(nazwa_przestrzeni=="")and nazwa_strony or nazwa_przestrzeni..":"..nazwa_strony;
local tekst_artykulu=p.SpreparowanyWikikodStrony(pelna_nazwa_strony);
local nazwa=args["nazwa"] or args[3];
local nazwa_strony_artykulu=parametry_modul.CzyTak(nazwa) and nazwa or mw.ustring.gsub(mw.ustring.match(nazwa_artykulu,"[^/]*$"),"_"," ");
local dodatek=args["dodatek"] or args[4];
if(not tekst_artykulu)then
if(nazwa_artykulu~="")then
return "\n"..mw.ustring.rep("=",6).."<span style=\"color:red\">[["..pelna_nazwa_strony.."|"..nazwa_strony_artykulu.."]]</span>"..mw.ustring.rep("=",6).."\n";
else
return frame:getParent():preprocess("{{Błąd|Wywołano szablon z argumentem pierwszym pustym.}}");
end;
else
local twor_spisu_tresci="[["..pelna_nazwa_strony.."|"..nazwa_strony_artykulu.."]]"..(((dodatek)and(dodatek~="")) and (" "..dodatek) or "");
twor_spisu_tresci=mw.ustring.rep("=",6)..twor_spisu_tresci..mw.ustring.rep("=",6).."\n";
local stronicowyparser_dalszefunkcje_modul=require("Module:StronicowyParser/DalszeFunkcje");
local ulozenia_w_menu_spisu_tresci=stronicowyparser_dalszefunkcje_modul:SpisTresciWstep(tekst_artykulu, pelna_nazwa_strony);
local atrybuty="style=\"margin-left:20px\"";
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
local toc=stronicowyparser_potrzebne_modul.TOCSilnik(ulozenia_w_menu_spisu_tresci, atrybuty);
local limit=args["limit"];
local czy_limit=parametry_modul.CzyTak(limit);
return '<div class="toc_ogólnie_spis toc_artykuł toclimit '..(czy_limit and ("toclimit-"..limit) or "")..'">\n'..twor_spisu_tresci..(toc and toc or "")..'</div>';
end;
end;
function IteratorFunkcja()
local obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty");
local tabela_wypowiedzi=obiekty_modul.tablica_obiektow;
local licznik=1;
return function()
local tabela_obiektu=tabela_wypowiedzi[licznik];
if(not tabela_obiektu)then return nil;end;
local wartosc1=mw.ustring.gsub(tabela_obiektu[1],"%d+$","");
local wartosc2=tabela_obiektu[4];
licznik=licznik+1;
return wartosc1,wartosc2;
end;
end;
local iterator=IteratorFunkcja();
for nazwa_obiektu,czesc_nazwy_funkcji in iterator do
p["Numer"..czesc_nazwy_funkcji] = function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
return stronicowyparser_potrzebne_modul.NumerObiektu(frame,nazwa_obiektu);
end;
end;
p["AnalizujSzablonemStronicowymArtykuł"]=function(frame)
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych;
return "";
end;
function p.formatowanie()
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych;
return tabela_listy_danych_analizy_ksiazki.formatowanie;
end;
function p.WstawKategorie(frame)
local stronicowyparser_kategorie_modul=require("Module:StronicowyParser/Kategorie");
return stronicowyparser_kategorie_modul.WstawKategorie(frame);
end;
function p.CzyStronaSubst(frame,pelnanazwastrony,czy_wymusic)
if(czy_wymusic)then
local nazwy_modul=require("Module:Nazwy");
local pelnanazwastronyaktualnej=nazwy_modul["PEŁNANAZWASTRONY"]();
if(pelnanazwastrony~=pelnanazwastronyaktualnej)then
local stronicowyparser_stronasubst_modul=require("Module:StronicowyParser/StronaSubst");
local TakFun=function(frame) return "tak";end;local NieFun=function(frame) return "";end;
return stronicowyparser_stronasubst_modul.AnalizaStronaSubst(nil,pelnanazwastrony,TakFun,NieFun,nil);
end;
end;
local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_ksiazkowych;
if(tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then
return "tak";
end;
return "";
end;
return p;
6dt89uf2a0enpw9ia71or1feevbwxci
437871
437870
2022-08-16T13:58:40Z
Persino
2851
Scribunto
text/plain
local p = {}
function p.SpreparowanyWikikodStrony(nazwa_modolu,dokumentacja)
local stronicowyparser_dalszefunkcje=require("Module:StronicowyParser/DalszeFunkcje")
return stronicowyparser_dalszefunkcje.SpreparowanyWikikodStrony(nil,nazwa_modolu,dokumentacja);
end;
function p.PrzekierowanieDoStrony(frame)
local parametry_modul=require("Module:Parametry");
local PobierzParametr=parametry_modul.PobierzParametr(frame);
local nazwa_modulu=PobierzParametr(1);
local latki_modul=require("Module:Łatki");
return latki_modul.contentMatch{args={
[1]="^%s*#REDIRECT%s+%[%[(.+)%]%]%s*",
[2]="^%s*#PATRZ%s+%[%[(.+)%]%]%s*",
[3]="^%s*#TAM%s+%[%[(.+)%]%]%s*",
namespace="",
pagename=nazwa_modulu,
},
};
end;
p["TekstRozdziałuStrony"]=function(frame)
local stronicowyparser_rozdzialy=require("Module:StronicowyParser/Rozdziały");
return stronicowyparser_rozdzialy.TekstRozdzialuStrony(frame);
end;
p["KtóraSekcjaStrony"]=function(frame)
local stronicowyparser_rozdzialy=require("Module:StronicowyParser/Rozdziały");
return stronicowyparser_rozdzialy.KtoraSekcjaStrony(frame);
end;
p["ZwróćSekcjęNagłówkaStrony"]=function(frame)
local stronicowyparser_rozdzialy=require("Module:StronicowyParser/Rozdziały");
return stronicowyparser_rozdzialy.ZwrocSekcjeNaglowkaStrony(frame);
end;
p["NastępnyArtykuł"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local parametry_modul=require("Module:Parametry");
local nazwa=parametry_modul.CzyTak(args["nazwa"]);
local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame);
local numer=tonumber(args[1]) or 0;
local naglowek=parametry_modul.CzyTak(args["nagłówek"]);
local nazwa_artykulu_z_naglowkiem_match=mw.ustring.match(nazwa_artykulu,"^([^#]*)#.*$");
local nazwa_artykulu_z_opcja_naglowek=(not naglowek) and nazwa_artykulu_z_naglowkiem_match or nazwa_artykulu;
local nadstrona_artykulu=(numer>0) and stronicowyparser_potrzebne_modul.NazwaNadStrony(nazwa_artykulu,numer) or nil;
local i=0;
local tab_artykul={};
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
if(tab_lista[2])then
for _,artykul_w_bazie_element in ipairs(tab_lista[2])do
local artykul_w_bazie;local artykul_bez_naglowka_w_bazie;local artykul_z_naglowkiem_w_bazie;
local czy_table=parametry_modul.TypeTable(artykul_w_bazie_element[1]);
if(czy_table)then
artykul_w_bazie=artykul_w_bazie_element[1][1];
else
artykul_w_bazie=artykul_w_bazie_element[1];
end;
local artykul_z_naglowkiem_w_bazie_match=mw.ustring.match(artykul_w_bazie,"^([^#]*)#.*$");
artykul_bez_naglowka_w_bazie=artykul_z_naglowkiem_w_bazie_match or artykul_w_bazie;
if(naglowek or not tab_artykul[artykul_bez_naglowka_w_bazie])then
if(not naglowek)then
tab_artykul[artykul_bez_naglowka_w_bazie]=true;
end
if(not naglowek)then
artykul_z_naglowkiem_w_bazie=artykul_bez_naglowka_w_bazie;
else
artykul_z_naglowkiem_w_bazie=artykul_w_bazie;
end;
local numer_artykulu_w_bazie;
if(numer>0)then
numer_artykulu_w_bazie=stronicowyparser_potrzebne_modul.PoziomAdresu(artykul_bez_naglowka_w_bazie);
end;
local function Nastepny()
if(not nazwa)then
return artykul_z_naglowkiem_w_bazie;
end;
if(czy_table)then
return artykul_w_bazie[1][2];
else
return artykul_z_naglowkiem_w_bazie;
end;
end;
if(i==1)then
if(numer>0)then
local nadstrona_artykulu_w_bazie=stronicowyparser_potrzebne_modul.NazwaNadStrony(artykul_bez_naglowka,numer);
if((numer==numer_artykulu_w_bazie)and(nadstrona_artykulu==nadstrona_artykulu_w_bazie))then
return Nastepny();
end;
else
return Nastepny();
end;
else
if((not naglowek)and(artykul_bez_naglowka_w_bazie==nazwa_artykulu_z_opcja_naglowek)
or(((naglowek) and ((nazwa_artykulu_z_naglowkiem_match and artykul_z_naglowkiem_w_bazie_match)or(not nazwa_artykulu_z_naglowkiem_match and not artykul_z_naglowkiem_w_bazie_match)))
and (artykul_z_naglowkiem_w_bazie==nazwa_artykulu)
))then
i=1;
end;
end;
end;
end;
end;
end;
if(i==1)then
return "";
end;
return "(błąd)";
end;
p["PoprzedniArtykuł"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local parametry_modul=require("Module:Parametry");
local nazwa=parametry_modul.CzyTak(args["nazwa"]);
local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame);
local numer=tonumber(args[1]) or 0;
local naglowek=parametry_modul.CzyTak(args["nagłówek"]);
local nazwa_artykulu_z_naglowkiem_match=mw.ustring.match(nazwa_artykulu,"^([^#]*)#.*$")
local nazwa_artykulu_z_opcja_naglowek=(not naglowek) and nazwa_artykulu_z_naglowkiem_match or nazwa_artykulu;
local nadstrona_artykulu=(numer>0) and stronicowyparser_potrzebne_modul.NazwaNadStrony(nazwa_artykulu,numer) or nil;
local artykul;
local tab_artykul={};
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
if(tab_lista[2])then
for _,artykul_w_bazie in ipairs(tab_lista[2])do
local artykul_z_naglowkiem_w_bazie;local artykul_bez_naglowka_w_bazie;
local czy_table=parametry_modul.TypeTable(artykul_w_bazie[1]);
if(czy_table)then
artykul_z_naglowkiem_w_bazie=artykul_w_bazie[1][1];
else
artykul_z_naglowkiem_w_bazie=artykul_w_bazie[1];
end;
local artykul_z_naglowkiem_w_bazie_match=mw.ustring.match(artykul_z_naglowkiem_w_bazie,"^([^#]*)#.*$")
artykul_bez_naglowka_w_bazie=artykul_z_naglowkiem_w_bazie_match or artykul_z_naglowkiem_w_bazie;
if(naglowek or not tab_artykul[artykul_bez_naglowka_w_bazie])then
if(not naglowek)then
tab_artykul[artykul_bez_naglowka_w_bazie]=true;
end;
if((not naglowek)and(artykul_bez_naglowka_w_bazie==nazwa_artykulu_z_opcja_naglowek)
or(((naglowek) and ((nazwa_artykulu_z_naglowkiem_match and artykul_z_naglowkiem_w_bazie_match)or(not nazwa_artykulu_z_naglowkiem_match and not artykul_z_naglowkiem_w_bazie_match)))and(artykul_z_naglowkiem_w_bazie==nazwa_artykulu)))then
if(not artykul)then return "";end;
local czy_table_artykul=parametry_modul.TypeTable(artykul);
if(czy_table_artykul)then
if(not nazwa)then
if(naglowek)then
return artykul[1];
end;
artykul,_=mw.ustring.gsub(artykul[1],"^([^#]+)#(.*)$","%1");
return artykul;
else
return artykul[2];
end;
else
if(naglowek)then
return artykul;
end;
artykul,_=mw.ustring.gsub(artykul,"^([^#]+)#(.*)$","%1");
return artykul;
end;
end
if(numer>0)then
local numer_artykulu_poprzedni=stronicowyparser_potrzebne_modul.PoziomAdresu(artykul_bez_naglowka_w_bazie);
local nadstrona_artykulu_w_bazie=stronicowyparser_potrzebne_modul.NazwaNadStrony(artykul_bez_naglowka_w_bazie,numer);
if((numer==numer_artykulu_poprzedni)and(nadstrona_artykulu==nadstrona_artykulu_w_bazie))then
artykul=artykul_w_bazie[1];
end;
else
artykul=artykul_w_bazie[1];
end;
end;
end;
end;
end;
return "(błąd)";
end;
p["PoziomNazwyArtykułu"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local parametry_modul=require("Module:Parametry");
local nazwa=parametry_modul.CzyTak(args["nazwa"]);
local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame);
return stronicowyparser_potrzebne_modul.PoziomAdresu(nazwa_artykulu);
end;
p["PierwszyArtykuł"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local parametry_modul=require("Module:Parametry");
local nazwa=parametry_modul.CzyTak(args["nazwa"]);
local naglowek=parametry_modul.CzyTak(args["nagłówek"]);
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
if(tab_lista[2])then
for _,artykul_w_bazie in ipairs(tab_lista[2])do
if(not nazwa)then
local artykul=parametry_modul.TypeTable(artykul_w_bazie[1]) and artykul_w_bazie[1][1] or artykul_w_bazie[1];
return (not naglowek) and mw.ustring.gsub(artykul,"^([^#]*)#(.*)$","%1") or artykul;
else
return parametry_modul.TypeTable(artykul_w_bazie[1])
and artykul_w_bazie[1][2]
or ((not naglowek) and mw.ustring.gsub(artykul_w_bazie[1],"^([^#]*)#(.*)$","%1") or artykul_w_bazie[1]);
end;
end;
end;
end;
end;
p["OstatniArtykuł"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local parametry_modul=require("Module:Parametry");
local nazwa=parametry_modul.CzyTak(args["nazwa"]);
local naglowek=parametry_modul.CzyTak(args["nagłówek"]);
local ostatni_artykul;
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
if(tab_lista[2])then
for _,artykul_w_bazie in ipairs(tab_lista[2])do
if(not nazwa)then
ostatni_artykul=parametry_modul.TypeTable(artykul_w_bazie[1]) and artykul_w_bazie[1][1] or artykul_w_bazie[1];
else
ostatni_artykul=parametry_modul.TypeTable(artykul_w_bazie[1]) and artykul_w_bazie[1][2] or artykul_w_bazie[1];
end;
end;
end;
end;
if(ostatni_artykul)then
return (not naglowek) and mw.ustring.gsub(ostatni_artykul,"^([^#]*)#(.*)$","%1") or ostatni_artykul;
end;
return "(błąd)";
end;
p["PomiędzyArtykuł"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
local val=stronicowyparser_potrzebne_modul:ObliczeniaInformacje(frame);
if(not val)then return "(błąd)";end;
local element=stronicowyparser_potrzebne_modul:PomiedzyArtykul(frame) or nil;
if(not element)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local parametry_modul=require("Module:Parametry");
local nazwa=parametry_modul.CzyTak(args["nazwa"]);
local czy_table=parametry_modul.TypeTable(element);
local element=czy_table and element[1] or element;
if(not nazwa)then return (not naglowek) and mw.ustring.gsub(element,"^([^#]*)#(.*)$","%1") or element;end;
return czy_table and element[2] or ((not naglowek) and mw.ustring.gsub(element,"^([^#]*)#(.*)$","%1") or element);
end;
p["LosowyArtykuł"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
local val=stronicowyparser_potrzebne_modul:ObliczeniaInformacje(frame);
if(not val)then return "(błąd)";end;
local element=stronicowyparser_potrzebne_modul:LosowyArtykul(frame);
if(not element)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local parametry_modul=require("Module:Parametry");
local nazwa=parametry_modul.CzyTak(args["nazwa"]);
local czy_table=parametry_modul.TypeTable(element);
local element=czy_table and element[1] or element;
if(not nazwa)then return mw.ustring.gsub(element,"^([^#]*)#(.*)$","%1") or element;end;
return czy_table and element[2] or mw.ustring.gsub(element,"^([^#]*)#(.*)$","%1") or element;
end;
local function PobiezNumerLubNazweNaglowka(frame,__FUNKCJA,typ)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local parametry_modul=require("Module:Parametry");
local poziomowo=parametry_modul.CzyTak(args["poziomowo"]);
local ktory=(tonumber(args["który"]) or 1);
local parametr_pierwszy_szablonu=typ and ((not poziomowo) and (tonumber(args[1]) or 1) or args[1]) or args[1];
if(not typ)then
parametr_pierwszy_szablonu,_=mw.ustring.gsub(parametr_pierwszy_szablonu,"^[%s_]+","");
parametr_pierwszy_szablonu,_=mw.ustring.gsub(parametr_pierwszy_szablonu,"[%s_]+$","");
parametr_pierwszy_szablonu,_=mw.ustring.gsub(parametr_pierwszy_szablonu,"[%s_]+"," ");
end;
local HNumer=stronicowyparser_potrzebne_modul.LiczonyHNumer();
local HNumer_2=nil;
local tab_numer_2=nil;
local tab_numer={};
local i=(not poziomowo) and 0 or nil;
local i_2=nil;
local juz_nie_rozwazaj_spisu_tresci=nil;
local juz_nie_rozwazaj_rozdzialu_spisu_tresci=nil;
local stronicowyparser_obiekty=mw.loadData("Module:StronicowyParser/obiekty");
local tab_rozdzialow_glownych_spisow_tresci_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_glownych_spisow_tresci_ksiazek;
local tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek;
local poziom_spisu_tresci=nil;
local pierwszy_dodatni_spis_tresci=nil;
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
local rozdzial=tab_lista[1][1];
local poziom_rozdzialu=tab_lista[1][2][1] or 0;
if(poziom_rozdzialu>0)then
local czy_nie_ten_rozdzial=nil;
local czy_jest_teraz_spis_tresci=tab_rozdzialow_glownych_spisow_tresci_ksiazek[rozdzial];local czy_nie_ten_rozdzial;
if((not juz_nie_rozwazaj_spisu_tresci)and(not juz_nie_rozwazaj_rozdzialu_spisu_tresci)and(czy_jest_teraz_spis_tresci))then
poziom_spisu_tresci=poziom_rozdzialu;
juz_nie_rozwazaj_rozdzialu_spisu_tresci=true;
czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial];
elseif((not juz_nie_rozwazaj_spisu_tresci)and(juz_nie_rozwazaj_rozdzialu_spisu_tresci))then
if((poziom_spisu_tresci<poziom_rozdzialu))then
czy_nie_ten_rozdzial=false;
else
juz_nie_rozwazaj_spisu_tresci=true;
czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial];
end;
else
local juz_nie_rozwazaj_spisu_tresci=nil;
local juz_nie_rozwazaj_rozdzialu_spisu_tresci=nil;
czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial];
end;
if(not czy_nie_ten_rozdzial)then
if(poziomowo)then
local hnumer=HNumer(poziom_rozdzialu);
if(#tab_numer<hnumer)then
for i=#tab_numer+1,hnumer,1 do
table.insert(tab_numer,1);
end;
elseif(#tab_numer>hnumer)then
for i=#tab_numer, hnumer+1,-1 do
table.remove(tab_numer,i);
end;
tab_numer[#tab_numer]=tab_numer[#tab_numer]+1;
else
tab_numer[#tab_numer]=tab_numer[#tab_numer]+1;
end;
----
local wartosc=__FUNKCJA(poziomowo,i,tab_numer,ktory,parametr_pierwszy_szablonu,rozdzial);
----
if(wartosc)then return wartosc;end;
----
if((czy_jest_teraz_spis_tresci)and(not pierwszy_dodatni_spis_tresci))then
HNumer_2=HNumer;
HNumer=stronicowyparser_potrzebne_modul.LiczonyHNumer();
tab_numer_2=tab_numer;
tab_numer={};
pierwszy_dodatni_spis_tresci=true;
elseif((pierwszy_dodatni_spis_tresci)and(poziom_spisu_tresci>=poziom_rozdzialu))then
HNumer=HNumer_2;
HNumer_2=nil;
tab_numer=tab_numer_2;
tab_numer_2=nil;
pierwszy_dodatni_spis_tresci=false;
end;
else
i=i+1;
----
local wartosc=__FUNKCJA(poziomowo,i,tab_numer,ktory,parametr_pierwszy_szablonu,rozdzial);
---
if(wartosc)then return wartosc;end;
---
if((czy_jest_teraz_spis_tresci)and(not pierwszy_dodatni_spis_tresci))then
i_2=i;
i=0;
pierwszy_dodatni_spis_tresci=true;
elseif((pierwszy_dodatni_spis_tresci)and(poziom_spisu_tresci>=poziom_rozdzialu))then
i=i_2;
i_2=nil;
pierwszy_dodatni_spis_tresci=false;
end;
end;
end;
end;
end;
end;
p["PobierzNumerNagłówka"]=function(frame)
local s=1;
local function __FUNKCJA(poziomowo,i,tab_numer,ktory,naglowek,rozdzial)
if(naglowek==rozdzial)then
if(s==ktory)then
if(poziomowo)then
if(#tab_numer==0)then return;end;
return table.concat(tab_numer,".");
else
return i;
end;
end;
s=s+1;
end;
end;
return PobiezNumerLubNazweNaglowka(frame,__FUNKCJA,false);
end;
p["PobierzNazwęNagłówka"]=function(frame)
local s=1;
local function __FUNKCJA(poziomowo,i,tab_numer,ktory,numer,rozdzial)
if(poziomowo)then
if(#tab_numer==0)then return;end;
if(numer==table.concat(tab_numer,"."))then
if(s==ktory)then
return rozdzial;
else
s=s+1;
end;
end;
elseif(numer==i)then
if(s==ktory)then
return rozdzial;
else
s=s+1;
end;
end
end;
return PobiezNumerLubNazweNaglowka(frame,__FUNKCJA,true);
end;
local function PobierzNumerLubNazweArtykulu(frame,tabela_listy_danych_analizy_ksiazki,__FUNKCJA,typ,zbieraj_dane)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame,tabela_listy_danych_analizy_ksiazki);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame,tabela_listy_danych_analizy_ksiazki);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local parametry_modul=require("Module:Parametry");
local naglowek=parametry_modul.CzyTak(args["nagłówek"]);
local tab_artykul=(not naglowek)and {} or nil;
local poziomowo=parametry_modul.CzyTak(args["poziomowo"]);
local tab_poziomowo={};
local tab_poziomowo_1={};
local tab_poziomowo_2={};
local html_modul=require("Module:Html");
local pierwszy_parametr_szablonu=args[1] and (typ and ((not poziomowo) and (tonumber(args[1]) or 1) or args[1])
or ((not naglowek) and mw.ustring.gsub(html_modul["PoprawAdresNagłówkaStronyAdresu"](html_modul["TransformacjaKoduZnakuDoZnakuŁancucha"](args[1])),"^([^#]*)#(.*)$","%1") or html_modul["PoprawAdresNagłówkaStronyAdresu"](html_modul["TransformacjaKoduZnakuDoZnakuŁancucha"](args[1])))
)
or (typ and 1 or "Przykładowy artykuł");
local ktory=(tonumber(args["ktory"]) or 1);
local i=(not poziomowo) and 1 or nil;
local stronicowyparser_obiekty=mw.loadData("Module:StronicowyParser/obiekty");
local tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek;
local tab_rozdzialow_glownych_spisow_tresci_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_glownych_spisow_tresci_ksiazek;
--local HNumer=poziomowo and stronicowyparser_potrzebne_modul.LiczonyHNumer() or nil;
local HNumerPoziomow_4=nil--poziomowo and stronicowyparser_potrzebne_modul.LiczonyHNumer() or nil;
local HNumerPoziomow_3=nil
local HNumerPoziomow_2=nil;
local HNumerPoziomow_1=nil;
local HNumerPoziomow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
local HNumerPoziomowNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
local HNumerPoziomowNaglowkow_1=nil;
local HNumerPoziomowNaglowkow_2=nil;
--local HNumerPoziomowInnychNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
local tab_numer=poziomowo and {} or nil;
tab_numer_1=nil;
tab_numer_3=nil
tab_numer_4=nil;--poziomowo and {} or nil;
local spis=false;
local czy_poziom_spisu_tresci=nil;
local pierwszy_dodatni_naglowek=nil;
local pierwszy_ujemny_naglowek=nil;
local juz_nie_rozwazaj_spisu_tresci=nil;
local juz_nie_rozwazaj_rozdzialu_spisu_tresci=nil;
local poprzedni_poziom_znakowy_rozdzialu=nil;
local poprzedni_tab_poziomowo=nil;
local poziom_pierwszego_dodatniego_naglowka=0;
local poziom_pierwszego_ujemnego_naglowka=0;
local poziom_zerowego_naglowka=0;
local poziom_spisu_tresci_naglowka=0;
local numer_poziomu=nil;
local ostatni_rozdzial_dodatni=nil;
local pierwszy_rozdzial_dodatni=nil;
local glowny_dodatni_rozdzial=nil;
local glowny_ujemny_rozdzial=nil;
local spis_tresci=nil;
local poziom_pierwszego_ujemnego_spisu_tresci=nil;
local ostatni_poczatek_artykulu=nil;
local pierwszy_rowny_rozdzial=nil;
local prawdziwy_poziom_rozdzialu=nil;
local artykuly_w_rozdziale=nil;
local spis_tresci_zerowy;
local poziom_zerowy;
local rozdzial;
local czy_pierwszy_nilowy=nil;
for m,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
local tab_poprzedni_artykul_w_bazie=nil;
local poziom_rozdzialu;
local poziom_poczatku_rozdzialu=nil;
local poziom_znakowy_rozdzialu=nil;
local poziom_naglowka=nil;
if(poziomowo)then
local czy_nienilowy_rozdzial=tab_lista[1][2][1];
czy_pierwszy_nilowy=(m==1)and (czy_nienilowy_rozdzial==nil) or czy_pierwszy_nilowy;
poziom_rozdzialu=czy_nienilowy_rozdzial or 0;
prawdziwy_poziom_rozdzialu=poziom_rozdzialu;
poziom_poczatku_rozdzialu=tab_lista[1][2][2];
--if(m>1)then
rozdzial=tab_lista[1][1];
rozdzial,_=mw.ustring.gsub(rozdzial,"'+","");
--end;
tab_poziomowo={};
--[[local czy_jest_teraz_spis_tresci=((m>1)and(not spis_tresci_zerowy or not poziom_zerowy)or((m==1)and(spis_tresci_zerowy)))
and ((m==1) and true or tab_rozdzialow_glownych_spisow_tresci_ksiazek[rozdzial])]]
local czy_jest_teraz_spis_tresci=(not juz_nie_rozwazaj_rozdzialu_spisu_tresci)
and((m==1)and (czy_nienilowy_rozdzial and tab_rozdzialow_glownych_spisow_tresci_ksiazek[rozdzial] or ((not czy_nienilowy_rozdzial)and true or false))
or ((m>1)and tab_rozdzialow_glownych_spisow_tresci_ksiazek[rozdzial]
or false));
if((m>1)and(czy_pierwszy_nilowy))then
czy_jest_teraz_spis_tresci=tab_rozdzialow_glownych_spisow_tresci_ksiazek[rozdzial];
if(czy_jest_teraz_spis_tresci)then
juz_nie_rozwazaj_rozdzialu_spisu_tresci=nil;
juz_nie_rozwazaj_spisu_tresci=nil;
czy_pierwszy_nilowy=nil;
pierwszy_ujemny_spis_tresci=nil;
end;
end;
local czy_nie_ten_rozdzial;
if((not juz_nie_rozwazaj_spisu_tresci)and(not juz_nie_rozwazaj_rozdzialu_spisu_tresci)and(czy_jest_teraz_spis_tresci))then
poziom_spisu_tresci=poziom_rozdzialu;
juz_nie_rozwazaj_rozdzialu_spisu_tresci=true;
czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial];
elseif((not juz_nie_rozwazaj_spisu_tresci)and(juz_nie_rozwazaj_rozdzialu_spisu_tresci))then
if((poziom_spisu_tresci<poziom_rozdzialu))then
czy_nie_ten_rozdzial=false;
else
juz_nie_rozwazaj_spisu_tresci=true;
czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial];
end;
else
czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial];
end;
--if(not czy_nie_ten_rozdzial)then
poprzedni_poziom_znakowy_rozdzialu=poziom_znakowy_rozdzialu;
poziom_znakowy_rozdzialu=poziom_rozdzialu;
poziom_rozdzialu=math.abs(poziom_rozdzialu);
artykuly_w_rozdziale=nil;
if(poziom_znakowy_rozdzialu>0)then
poziom_naglowka=poziom_rozdzialu;
poziom_pierwszego_ujemnego_spisu_tresci=nil;
poprzedni_tab_poziomowo=nil;
poziom_zerowego_naglowka=0;
if(glowny_ujemny_rozdzial)then
HNumerPoziomow=HNumerPoziomow_4;
HNumerPoziomow_4=nil;
tab_numer=tab_numer_4;
poziom_pierwszego_ujemnego_naglowka=nil;
glowny_ujemny_rozdzial=nil;
end;
if(pierwszy_ujemny_spis_tresci)then
HNumerPoziomow=HNumerPoziomow_2;
HNumerPoziomow_2=nil;
tab_numer=tab_numer_2;
tab_numer_2=nil;
pierwszy_ujemny_spis_tresci=nil;
czy_poziom_ujemny_spisu_tresci=nil;
end;
if(not glowny_dodatni_rozdzial)then
if((juz_nie_rozwazaj_rozdzialu_spisu_tresci)and(not juz_nie_rozwazaj_spisu_tresci)and(not czy_jest_teraz_spis_tresci)and(not spis_tresci))then
numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu,1);
spis_tresci=true;
else
if(not pierwszy_rozdzial_dodatni)then
pierwszy_rozdzial_dodatni=1;
numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu,1);
else
numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu);
end;
end;
else
numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu,1);
glowny_dodatni_rozdzial=false;
end;
ostatni_rozdzial_dodatni=poziom_rozdzialu;
elseif(poziom_znakowy_rozdzialu<0)then
if(not pierwszy_rowny_rozdzial)then
if((ostatni_poczatek_artykulu)
and(#ostatni_poczatek_artykulu==#poziom_poczatku_rozdzialu)
and(ostatni_poczatek_artykulu~=poziom_poczatku_rozdzialu)
and(mw.ustring.match(ostatni_poczatek_artykulu,"^*"))
and(mw.ustring.match(poziom_poczatku_rozdzialu,"^:"))
)then
poziom_rozdzialu=poziom_rozdzialu+1;
poziom_znakowy_rozdzialu=-poziom_rozdzialu;
pierwszy_rowny_rozdzial=1;
poziom_naglowka=poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka;
else
poziom_naglowka=poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka;
end;
else
if((#ostatni_poczatek_artykulu==#poziom_poczatku_rozdzialu)
and(ostatni_poczatek_artykulu==poziom_poczatku_rozdzialu)
)then pierwszy_rowny_rozdzial=0;end;
poziom_rozdzialu=poziom_rozdzialu+pierwszy_rowny_rozdzial;
poziom_znakowy_rozdzialu=-poziom_rozdzialu;
poziom_naglowka=poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka;
end;
if(not glowny_ujemny_rozdzial)then
--if((juz_nie_rozwazaj_rozdzialu_spisu_tresci)and(not juz_nie_rozwazaj_spisu_tresci)and(not spis_tresci))then
-- numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu,1);
-- spis_tresci=true;
--else
numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka);
--end;
local numer_rozdzialu_dodatniego=HNumerPoziomowNaglowkow(0) or 0;
if(numer_rozdzialu_dodatniego>=numer_rozdzialu)then
numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka,numer_rozdzialu_dodatniego+1);
end;
else
numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka,(HNumerPoziomowNaglowkow(0) or 0)+1);
glowny_ujemny_rozdzial=false;
end;
else
if((m>1)or((m==1)and((not czy_pierwszy_nilowy)or(not czy_jest_teraz_spis_tresci))))then
poziom_zerowego_naglowka=1;
numer_rozdzialu=HNumerPoziomow( 1 + (ostatni_rozdzial_dodatni or 0) + 0);
poziom_znakowy_rozdzialu=-1;
poziom_rozdzialu=1;
poziom_naglowka= 1 + (ostatni_rozdzial_dodatni or 0) + 0;
else
poziom_zerowego_naglowka=0;
numer_rozdzialu=0;
poziom_naglowka=(ostatni_rozdzial_dodatni or 0) + 0;
end;
end;
local numer;
if(poziom_znakowy_rozdzialu>0)then
local numer=HNumerPoziomowNaglowkow(poziom_znakowy_rozdzialu);
--HNumerPoziomowInnychNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
elseif(poziom_znakowy_rozdzialu<0)then
--local numer=HNumerPoziomowInnychNaglowkow(-poziom_znakowy_rozdzialu);
end;
if((m>1)
and(tab_lista_artykulow_w_ksiazce[m-1])
and(tab_lista_artykulow_w_ksiazce[m-1][2])
and(#tab_lista_artykulow_w_ksiazce[m-1][2][1]>0)
and(tab_lista_artykulow_w_ksiazce[m-1][2][#tab_lista_artykulow_w_ksiazce[m-1][2]][2][1]==0)
)then
local lens_tab_numer=#tab_numer;
local roznica=math.min(#poprzedni_tab_poziomowo+#tab_numer,numer_rozdzialu)-#tab_numer;
roznica=((roznica>0) and roznica or 0);
for i=1,roznica,1 do
tab_numer[i+lens_tab_numer]=poprzedni_tab_poziomowo[i];
end;
end;
if((czy_jest_teraz_spis_tresci)and(juz_nie_rozwazaj_rozdzialu_spisu_tresci))then
if(poziom_znakowy_rozdzialu>0)then
poziom_spisu_tresci_naglowka=poziom_rozdzialu;
else
poziom_pierwszego_ujemnego_spisu_tresci=poziom_rozdzialu;
end;
end;
if(poziom_rozdzialu>0)then
if((((czy_poziom_dodatni_spisu_tresci)and(poziom_znakowy_rozdzialu>0))or((czy_poziom_ujemny_spisu_tresci)and(poziom_znakowy_rozdzialu<0)))
and(poziom_spisu_tresci)and(poziom_spisu_tresci>=poziom_rozdzialu)
)then
if(poziom_znakowy_rozdzialu>0)then
tab_numer=tab_numer_1;
tab_poziomowo={};
poziom_spisu_tresci=nil;
HNumerPoziomow=HNumerPoziomow_1;
HNumerPoziomowNaglowkow=HNumerPoziomowNaglowkow_1;
czy_poziom_dodatni_spisu_tresci=false;
elseif(poziom_znakowy_rozdzialu<0)then
tab_numer=tab_numer_2;
tab_poziomowo={};
poziom_spisu_tresci=nil;
HNumerPoziomow=HNumerPoziomow_2;
--HNumerPoziomowNaglowkow=HNumerPoziomowNaglowkow_2;
czy_poziom_ujemny_spisu_tresci=false;
pierwszy_ujemny_spis_tresci=nil;
end;
end;
local hnumer=numer_rozdzialu;
if(poprzedni_tab_poziomowo)then
local lens=math.min(#poprzedni_tab_poziomowo,hnumer-#tab_numer);
local len_tab_numer=#tab_numer;
for i=1,lens,1 do
tab_numer[len_tab_numer+i]=poprzedni_tab_poziomowo[i];
end;
for i=lens+1,#tab_numer do
tab_numer[len_tab_numer+i]=nil;
end;
end;
if(#tab_numer<hnumer)then
for i=#tab_numer+1,hnumer,1 do
table.insert(tab_numer,1);
end;
elseif(#tab_numer>hnumer)then
for i=#tab_numer, hnumer+1,-1 do
table.remove(tab_numer,i);
end;
tab_numer[#tab_numer]=(tab_numer[#tab_numer] or 0) + 1;
else
tab_numer[#tab_numer]=(tab_numer[#tab_numer] or 0) + 1;
end;
else
--[[if(poziom_rozdzialu==0)then
if(tab_lista_artykulow_w_ksiazce[m+1])then
if(tab_lista_artykulow_w_ksiazce[m+1][1][2]>0)then
tab_numer={0,};
elseif(tab_lista_artykulow_w_ksiazce[m+1][1][2]<0)then
tab_numer={};
end;
else
tab_numer={};
end;
end;]]
end;
--end;
if((czy_jest_teraz_spis_tresci)and(((not pierwszy_dodatni_spis_tresci)and(poziom_znakowy_rozdzialu>0))or((not pierwszy_ujemny_spis_tresci)and(poziom_znakowy_rozdzialu<0))))then
function Poziom_dodatni()
for s,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
if(s>m)then
if((tab_lista[1][2][1] or 0)>0)then
if(math.abs(tab_lista[1][2][1] or 0)>poziom_rozdzialu)then
return true;
else
return false;
end;
end;
end;
end;
return false;
end;
local function czy_inaczej_numeruj_rozdzial_dodatni()
if(tab_lista_artykulow_w_ksiazce[m][2])then
for p,artykul_w_bazie in ipairs(tab_lista_artykulow_w_ksiazce[m][2])do
return true;
end;
end;
end;
local function czy_inaczej_numeruj_rozdzial_ujemny()
if(tab_lista_artykulow_w_ksiazce[m][2])then
for p,artykul_w_bazie in ipairs(tab_lista_artykulow_w_ksiazce[m][2])do
local poziom_artykulu=artykul_w_bazie[2][1];
if(prawdziwy_poziom_rozdzialu~=0)then
if(poziom_artykulu>poziom_rozdzialu)then
return true;
end;
else
return true;
end;
end;
end;
return false;
end;
if((poziom_znakowy_rozdzialu>0)and((czy_inaczej_numeruj_rozdzial_dodatni())or(Poziom_dodatni())))then
tab_poziomowo_1=tab_poziomowo;
tab_poziomowo={};
czy_poziom_dodatni_spisu_tresci=true;
HNumerPoziomow_1=HNumerPoziomow;
HNumerPoziomow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
HNumerPoziomowNaglowkow_1=HNumerPoziomowNaglowkow;
HNumerPoziomowNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
tab_numer_1=tab_numer;
tab_numer={};
pierwszy_dodatni_spis_tresci=true;
elseif((poziom_znakowy_rozdzialu<0)
and((czy_inaczej_numeruj_rozdzial_ujemny())or((tab_lista_artykulow_w_ksiazce[m+1])
and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)<0)
and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>poziom_rozdzialu))))then
tab_poziomowo_2=tab_poziomowo;
tab_poziomowo={};
czy_poziom_ujemny_spisu_tresci=true;
HNumerPoziomow_2=HNumerPoziomow;
HNumerPoziomow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
--HNumerPoziomowNaglowkow_2=HNumerPoziomowNaglowkow;
--HNumerPoziomowNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
tab_numer_2=tab_numer;
tab_numer={};
pierwszy_ujemny_spis_tresci=true;
end;
end;
local function OTakimSamymLubMniejszymPoziomie(m)
if(poziom_rozdzialu==0)then return true;end;
local lens=parametry_modul["LiczbaElementówNumerowanychTablicy"](tab_lista_artykulow_w_ksiazce);
if(m==lens)then return true;end;
if(poziom_znakowy_rozdzialu>0)then
for k=m+1,lens,1 do
if(tab_lista_artykulow_w_ksiazce[k])then
if((tab_lista_artykulow_w_ksiazce[k][1][2][1] or 0)>0)then
if(math.abs(tab_lista_artykulow_w_ksiazce[k][1][2][1] or 0)<=poziom_rozdzialu)then
return true;
end;
end;
end;
end;
elseif(((m==1)or((tab_lista_artykulow_w_ksiazce[m-1])and((tab_lista_artykulow_w_ksiazce[m-1][1][2][1] or 0)>0)))and(poziom_znakowy_rozdzialu<0))then
if(tab_lista[2])then
for p,artykul_w_bazie in ipairs(tab_lista[2])do
local poziom_artykulu=artykul_w_bazie[2][1];
if(poziom_artykulu<=-prawdziwy_poziom_rozdzialu)then
return true;
end;
end;
end;
local poziom_zerowego_naglowka_innego=0;
for k=m+1,lens,1 do
if(tab_lista_artykulow_w_ksiazce[k])then
if((tab_lista_artykulow_w_ksiazce[k][1][2][1] or 0)<=0)then
local ile=tab_lista_artykulow_w_ksiazce[k][1][2][1] or 0;
if(ile==0)then
if((czy_jest_teraz_spis_tresci)and(m==1))then
poziom_zerowego_naglowka_innego=poziom_zerowego_naglowka;
else
poziom_zerowego_naglowka_innego=1;
end;
end;
if(math.abs(tab_lista_artykulow_w_ksiazce[k][1][2][1] or 0)+poziom_zerowego_naglowka_innego<=poziom_rozdzialu)then
return true;
end;
else
break;
end;
end;
end;
else
return true;
end;
end;
-- if(not czy_nie_ten_rozdzial)then
if((tab_lista[2])
and(tab_lista[2][1])
and(tab_lista[2][1][2][1]==0)
and(not tab_lista[2][1][4])
and(tab_lista_artykulow_w_ksiazce[m+1])
and(((poziom_znakowy_rozdzialu>0)
and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>0)
and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>poziom_rozdzialu)
)or(
((poziom_znakowy_rozdzialu<0)
and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)<0)
and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)+poziom_zerowego_naglowka>poziom_rozdzialu)
)
)or(
(poziom_znakowy_rozdzialu==0)and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)~=0)
))
)then
if(m==1)then
tab_numer={0,}
else
table.insert(tab_numer,0);
end;
elseif((m==1)and(not tab_lista_artykulow_w_ksiazce[m+1]))then
tab_numer={};
elseif((poziomowo)and(m==1)and(czy_pierwszy_nilowy)and(poziom_znakowy_rozdzialu==0)and(tab_lista_artykulow_w_ksiazce[m+1])and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)<0))then
tab_numer={};
elseif((poziomowo)and(m==1)and(czy_pierwszy_nilowy)and(poziom_znakowy_rozdzialu==0)and(tab_lista_artykulow_w_ksiazce[m+1])and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>0))then
tab_numer={0,}
elseif((poziomowo)and(m==2)and(czy_pierwszy_nilowy)and(poziom_znakowy_rozdzialu<0)and(tab_lista_artykulow_w_ksiazce[m-1])and((tab_lista_artykulow_w_ksiazce[m-1][1][2][1] or 0)==0))then
if(poprzedni_tab_poziomowo)then
local min=math.min(math.abs(numer_rozdzialu),#poprzedni_tab_poziomowo);
for i=#poprzedni_tab_poziomowo,min+1,-1 do
table.remove(poprzedni_tab_poziomowo,i)
end;
tab_numer=poprzedni_tab_poziomowo;
tab_numer[#tab_numer]=(tab_numer[#tab_numer] or 0)+1;
end;
elseif((not czy_jest_teraz_spis_tresci)and(((not pierwszy_dodatni_naglowek)and(poziom_znakowy_rozdzialu>0))or((not pierwszy_ujemny_naglowek)and(poziom_znakowy_rozdzialu<0))))then
if(poziom_rozdzialu>0)then
if(not OTakimSamymLubMniejszymPoziomie(m))then
if(poziom_znakowy_rozdzialu>0)then
HNumerPoziomowNaglowkow_2=HNumerPoziomowNaglowkow;
HNumerPoziomowNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
tab_numer_3=tab_numer;
tab_numer={0,};
HNumerPoziomow_3=HNumerPoziomow;
HNumerPoziomow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
pierwszy_dodatni_naglowek=true;
poziom_pierwszego_dodatniego_naglowka=poziom_rozdzialu;
glowny_dodatni_rozdzial=true;
else
tab_numer_4=tab_numer;
tab_numer=parametry_modul["KopiujTabelęElementów"](tab_numer);
tab_numer[#tab_numer]=nil;
HNumerPoziomow_4=HNumerPoziomow;
HNumerPoziomow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
if(poziom_naglowka or 0>0)then
HNumerPoziomow(poziom_naglowka,#tab_numer);
end;
pierwszy_ujemny_naglowek=true;
poziom_pierwszego_ujemnego_naglowka=poziom_rozdzialu;
glowny_ujemny_rozdzial=true;
end;
else
if(poziom_znakowy_rozdzialu>0)then pierwszy_dodatni_naglowek=true;else pierwszy_ujemny_naglowek=true;end;
end;
end;
elseif((czy_jest_teraz_spis_tresci)and(not czy_nie_ten_rozdzial))then
if((not spis)and(poziom_rozdzialu>0)
and(tab_lista_artykulow_w_ksiazce[m+1])
and((
(poziom_znakowy_rozdzialu>0)
and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>0)
and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>poziom_rozdzialu)
)or(
(poziom_znakowy_rozdzialu<0)
and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)<0)
and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>poziom_rozdzialu)
))
)then
tab_numer={0,};
spis=true;
end
elseif((tab_lista_artykulow_w_ksiazce[m+1])
and((
(poziom_znakowy_rozdzialu>0)
and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>0)
and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>poziom_rozdzialu)
)--[[or(
(poziom_znakowy_rozdzialu<0)
and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)<0)
and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>poziom_rozdzialu)
)]])
)then
table.insert(tab_numer,0);
end;
-- end;
end;
if(tab_lista[2])then
local HNumerArtykulu=stronicowyparser_potrzebne_modul.LiczonyHNumer();
local HNumerPoziomu=stronicowyparser_potrzebne_modul.LiczonyHNumer();
local czy_tytul_rozdzial=nil;local poprzedni_b=nil;local ile_odjac=0;
local HNumerB=nil;
local poprzedni_poziom_artykulu=nil;
local czy_ma_elementy=nil;
local poziom_poprzedni_artykulu=nil;
for p,artykul_w_bazie in ipairs(tab_lista[2])do
local artykul=artykul_w_bazie[1][1] or artykul_w_bazie[1];
artykul=(not naglowek)and mw.ustring.gsub(artykul,"^([^#]*)#(.*)$","%1") or artykul;
if(naglowek or not tab_artykul[artykul])then
pierwszy_rowny_rozdzial=nil;
czy_ma_elementy=true;
if(not naglowek)then
tab_artykul[artykul]=true;
end;
local tab_artykul_w_bazie;
if(poziomowo)then
local poziom_artykulu=artykul_w_bazie[2][1];
local poziom_poczatku_artykulu=artykul_w_bazie[2][2];
local w_rozdziale=artykul_w_bazie[2][4];
if(w_rozdziale)then
if((w_rozdziale)and(not tab_lista[2][p+1]))then
local wartosc=__FUNKCJA(poziomowo,i,ktory,pierwszy_parametr_szablonu,rozdzial,artykul,tab_numer,{});
if(wartosc)then return wartosc;end;
end;
function Dalej()
for s,artykul_w_bazie in ipairs(tab_lista[2])do
if(s>p)then
if((tab_lista[2][s])and(not tab_lista[2][s][2][4]))then
return true;
end;
end;
end;
return false;
end;
if(Dalej())then
tab_numer[#tab_numer+1]=0;
artykuly_w_rozdziale=true;
end;
elseif(artykuly_w_rozdziale)then
artykuly_w_rozdziale=nil;
table.remove(tab_numer,#tab_numer);
tab_poziomowo={};
end;
ostatni_poczatek_artykulu=poziom_poczatku_artykulu;
local function ToNumberPoziomArtykulu(poziom_artykulu)
local numer=tonumber(poziom_artykulu) or 1;
if(numer<1)then numer=1;end;
return numer;
end;
poziom_artykulu=ToNumberPoziomArtykulu(poziom_artykulu);
local poziom_czysty_artykulu=poziom_artykulu;
poziom_artykulu=poziom_artykulu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka;
if((poziom_poczatku_artykulu)and(poziom_poczatku_rozdzialu)
and(#poziom_poczatku_artykulu==#poziom_poczatku_rozdzialu)
and(poziom_poczatku_artykulu~=poziom_poczatku_rozdzialu)
and(mw.ustring.match(poziom_poczatku_rozdzialu,"^*"))
and((mw.ustring.match(poziom_poczatku_artykulu,"^:"))
or (mw.ustring.match(poziom_poczatku_artykulu,"^#"))
)
)then
poziom_artykulu=poziom_artykulu+1;
poziom_czysty_artykulu=poziom_czysty_artykulu+1;
end;
local numer_poziomu=HNumerPoziomow(poziom_artykulu);
if(p>1)then
local numer_poprzedni=tonumber(tab_lista[2][p-1][2][1]) or 1;
local id_poprzednie=tab_lista[2][p-1][4];
local numer=tonumber(tab_lista[2][p][2][1]) or 1;
local id=tab_lista[2][p][4];
if((numer_poprzedni==0)and(not id_poprzednie)and(not id)and(numer>0))then
if(#tab_numer>(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka)then
tab_numer[#tab_numer]=(tab_numer[#tab_numer] or 0)+1;
tab_poziomowo={};
end;
end;
end;
local prefix_poziom_artykulu=poziom_artykulu;
local b=0;
local tab_artykul_w_bazie=mw.text.split(artykul,"/");
if(tab_poprzedni_artykul_w_bazie)then
if(poprzedni_poziom_artykulu)then
if(poprzedni_poziom_artykulu==poziom_artykulu)then
for c=1,#tab_artykul_w_bazie,1 do
local podstrona_artykul=tab_artykul_w_bazie[c];
local podstrona_nazwy_artykulu=tab_poprzedni_artykul_w_bazie[c];
if(podstrona_artykul==podstrona_nazwy_artykulu)then
b=b+1;
end;
end;
else
b=0;
end;
end;
if(poziom_znakowy_rozdzialu<0)then
if(#tab_numer~=0)then
if(poziom_artykulu<=(poziom_pierwszego_ujemnego_naglowka or 0))then
tab_poziomowo=tab_numer_4;
tab_numer={};
HNumerArtykulu=HNumerPoziomow_4;
elseif((poziom_poprzedni_artykulu)and(poziom_artykulu>(poziom_pierwszego_ujemnego_naglowka or 0))and(poziom_poprzedni_artykulu>(poziom_pierwszego_ujemnego_spisu_tresci or 0))and(poziom_artykulu<=(poziom_pierwszego_ujemnego_spisu_tresci or 0)))then
HNumerArtykulu=stronicowyparser_potrzebne_modul.LiczonyHNumer();
for i=#tab_poziomowo,numer_poziomu+1,-1 do
table.remove(tab_numer,i);
end;
tab_numer[#tab_numer]=(tab_numer[#tab_numer] or 0 ) + 1;
tab_poziomowo=tab_numer;
tab_numer={};
elseif((poziom_naglowka>=poziom_artykulu)or((poziom_rozdzialu==poziom_czysty_artykulu)
and((numer_poziomu<numer_rozdzialu)
or((numer_poziomu==numer_rozdzialu)
and(poziom_poczatku_rozdzialu==poziom_poczatku_artykulu)
))
))then
local tab_numer2={};
for i=1,(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka,1 do
tab_numer2[i]=tab_numer[i];
end;
local tab_poziomowo2={};
for i=(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka+1,#tab_numer,1 do
tab_poziomowo2[i-(HNumerPoziomowNaglowkow(0) or 0)-poziom_zerowego_naglowka]=tab_numer[i];
end;
local indeks=(((HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka+1>#tab_numer) and 0 or (#tab_numer-(HNumerPoziomowNaglowkow(0) or 0)-poziom_zerowego_naglowka));
for i=1,numer_poziomu,1 do
tab_poziomowo2[i+indeks]=tab_poziomowo[i];
end;
tab_numer=tab_numer2;
tab_poziomowo=tab_poziomowo2;
--[[tab_poziomowo=tab_numer;
tab_numer={};]]
HNumerArtykulu=stronicowyparser_potrzebne_modul.LiczonyHNumer();
--local numer_poziomu=HNumerPoziomow(poziom_artykulu+(ostatni_rozdzial_dodatni or 0),#tab_poziomowo+1);
end;
end;
end;
elseif(#tab_numer>numer_poziomu)then
tab_poziomowo={};
tab_poziomowo[1]=tab_numer[numer_poziomu];
for i=#tab_numer,numer_poziomu,-1 do
table.remove(tab_numer,i);
end;
elseif((#tab_numer<=numer_rozdzialu)and(numer_rozdzialu>=numer_poziomu))then
local numer_rozdzialu_dodatniego=(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka;
if((numer_rozdzialu_dodatniego>0)or((numer_rozdzialu==numer_poziomu)and(poziom_poczatku_rozdzialu==poziom_poczatku_artykulu)))then
if(#tab_numer>=numer_rozdzialu_dodatniego)then
local tab_numer2={};
for i=1,numer_rozdzialu_dodatniego,1 do
tab_numer2[i]=tab_numer[i];
end;
tab_poziomowo={};
for i=numer_rozdzialu_dodatniego+1,#tab_numer,1 do
tab_poziomowo[i-numer_rozdzialu_dodatniego]=tab_numer[i];
end;
tab_numer=tab_numer2;
end;
end;
end;
poprzedni_poziom_artykulu=poziom_artykulu;
local czy_z_rozdzialem=(tab_artykul_w_bazie[1]==rozdzial);
if((p==1)and(czy_z_rozdzialem))then b=1;end;
czy_tytul_rozdzial=((p==1)and true or czy_tytul_rozdzial) and (czy_z_rozdzialem);
local dodatek=b-((czy_tytul_rozdzial)and 0 or 1);
dodatek=((dodatek>0)and dodatek or 0);
if((poziomowo)and(poziom_znakowy_rozdzialu<0))then
if(poziom_naglowka>=poziom_artykulu)then
local numer_poziomu=HNumerPoziomu(poziom_naglowka,numer_rozdzialu-(HNumerPoziomowNaglowkow(0) or 0));
end;
end;
local stala=poziom_artykulu;
local numer_poziomu=HNumerPoziomu(stala);
poziom_artykulu=stala+dodatek;
local numer=HNumerArtykulu(poziom_artykulu);
local roznica=numer_poziomu-numer;
if(roznica>0)then
numer=HNumerArtykulu(poziom_artykulu,numer_poziomu);
end;
if(#tab_poziomowo<numer)then
for i=#tab_poziomowo+1,numer,1 do
table.insert(tab_poziomowo,1);
end;
else
if(#tab_poziomowo>numer)then
for i=#tab_poziomowo,numer+1,-1 do
table.remove(tab_poziomowo,i);
end;
end;
tab_poziomowo[#tab_poziomowo]=(tab_poziomowo[#tab_poziomowo] or 0)+1;
end;
tab_poprzedni_artykul_w_bazie=tab_artykul_w_bazie;
poziom_poprzedni_artykulu=poziom_artykulu;
end;
local wartosc=__FUNKCJA(poziomowo,i,ktory,pierwszy_parametr_szablonu,rozdzial,artykul,tab_numer,tab_poziomowo);
if(poziomowo)then
if(tab_lista[2][p+1])then
local numer_nastepny=tonumber(tab_lista[2][p+1][2][1]) or 1;
local id_nastepny=tab_lista[2][p+1][4];
local numer=tonumber(tab_lista[2][p][2][1]) or 1;
local id=tab_lista[2][p][4];
if((numer_nastepny==0)and(not id_nastepny)and(not id)and(numer>0))then
tab_poziomowo={tab_numer[(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka+1],};
for i=#tab_numer,(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka+1,-1 do
table.remove(tab_numer,i);
end;
end;
end;
poprzedni_tab_poziomowo=tab_poziomowo;
end;
if(wartosc)then return wartosc;end;
if(not poziomowo)then
i=i+1;
end;
end;
end;
if(not czy_ma_elementy)then
poprzedni_tab_poziomowo=nil;
if(zbieraj_dane)then local wartosc=__FUNKCJA(poziomowo,i,ktory,pierwszy_parametr_szablonu,rozdzial,"",tab_numer,{}); end;
end;
else
poprzedni_tab_poziomowo=nil;
if(zbieraj_dane)then local wartosc=__FUNKCJA(poziomowo,i,ktory,pierwszy_parametr_szablonu,rozdzial,"",tab_numer,{}); end;
end;
end;
return;
end;
p["PobierzNazwęArtykułu"]=function(frame,tabela_listy_danych_analizy_ksiazki)
local s=1;
local function __FUNKCJA(poziomowo,i,ktory,numer,rozdzial,artykul,tab_numer,tab_poziomowo)
if((not poziomowo)and(i==numer))then
if(s==ktory)then
return artykul;
else
s=s+1;
end;
elseif(poziomowo)then
if((table.concat(tab_numer,".")
..((#tab_numer>0) and "." or "")
..table.concat(tab_poziomowo,"."))==numer)then
if(s==ktory)then
return artykul;
else
s=s+1;
end;
end;
end;
end;
return PobierzNumerLubNazweArtykulu(frame,tabela_listy_danych_analizy_ksiazki,__FUNKCJA,true);
end;
p["PobierzNumerArtykułu"]=function(frame,tabela_listy_danych_analizy_ksiazki)
local s=1;
local function __FUNKCJA(poziomowo,i,ktory,nazwa_artykulu,rozdzial,artykul,tab_numer,tab_poziomowo)
if(nazwa_artykulu==artykul)then
if(s==ktory)then
if(poziomowo)then
return (table.concat(tab_numer,".")..((#tab_numer>0) and ((#tab_poziomowo>0) and "." or "") or "")..table.concat(tab_poziomowo,"."));
else
return i;
end;
end;
s=s+1;
end;
end;
return PobierzNumerLubNazweArtykulu(frame,tabela_listy_danych_analizy_ksiazki,__FUNKCJA,false);
end;
p["PobierzDaneKsiążki"]=function(frame,tabela_listy_danych_analizy_ksiazki,kodowanie_nie_json)
local tab_dane_ksiazki=nil;
local s=1;
local function __FUNKCJA(poziomowo,i,ktory,nazwa_artykulu,rozdzial,artykul,tab_numer,tab_poziomowo)
if(not tab_dane_ksiazki)then tab_dane_ksiazki={};end;
if(not tab_dane_ksiazki[rozdzial])then tab_dane_ksiazki[rozdzial]={};end;
local numer_rozdzialu=tab_numer and table.concat(tab_numer,".") or "";
repeat
numer_rozdzialu=mw.ustring.gsub(numer_rozdzialu,"%.0$","")
until not mw.ustring.match(numer_rozdzialu,"%.0$");
if(not tab_dane_ksiazki[rozdzial][numer_rozdzialu])then
tab_dane_ksiazki[rozdzial][numer_rozdzialu]={};
end;
if(not tab_dane_ksiazki[rozdzial][numer_rozdzialu][artykul])then
tab_dane_ksiazki[rozdzial][numer_rozdzialu][artykul]={};
end;
local numer_artykulu=tab_poziomowo and table.concat(tab_poziomowo,".") or "";
if(not tab_dane_ksiazki[rozdzial][numer_rozdzialu][artykul][numer_artykulu])then
tab_dane_ksiazki[rozdzial][numer_rozdzialu][artykul][numer_artykulu]={};
end;
table.insert(tab_dane_ksiazki[rozdzial][numer_rozdzialu][artykul][numer_artykulu],s);
s=s+1;
return false;
end;
PobierzNumerLubNazweArtykulu(frame,tabela_listy_danych_analizy_ksiazki,__FUNKCJA,false,true);
return (not kodowanie_nie_json) and mw.text.jsonEncode(tab_dane_ksiazki,mw.text.JSON_PRESERVE_KEYS) or tab_dane_ksiazki;
end;
p["SubNazwaNadArtykułu"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local numer=tonumber(args[1]) or 0;
local krok=tonumber(args[2])or 1;
local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame);
return stronicowyparser_potrzebne_modul.SubNazwaNadStrony(nazwa_artykulu,numer,krok);
end;
p["NazwaNadArtykułu"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local numer=tonumber(args[1]) or 1;
local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame);
return stronicowyparser_potrzebne_modul.SubNazwaNadStrony(nazwa_artykulu,1,numer);
end;
p["NazwaLinkuArtykułu"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame);
local ostatni_artykul;
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
if(tab_lista[2])then
for _,artykul_w_bazie in ipairs(tab_lista[2])do
if(type(artykul_w_bazie[1])~="table")then
if(artykul_w_bazie[1]==nazwa_artykulu)then
return artykul_w_bazie[1];
end;
elseif(artykul_w_bazie[1][1]==nazwa_artykulu)then
return artykul_w_bazie[1][2];
end;
end;
end;
end;
return "(błąd)";
end;
p["LiczbaArtykułówKsiążki"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local parametry_modul=require("Module:Parametry");
local args=stronicowyparser_potrzebne_modul:Args();
local naglowek=parametry_modul.CzyTak(args["nagłówek"]);
local tab_artykul=(not naglowek) and {} or nil;
local i=0;
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
if(tab_lista[2])then
for _,artykul_w_bazie in ipairs(tab_lista[2])do
local nazwa_artykulu=artykul_w_bazie[1][1] or artykul_w_bazie[1];
local artykul=(not naglowek) and mw.ustring.gsub(nazwa_artykulu,"^([^#]*)#(.*)$","%1") or nazwa_artykulu;
if(naglowek or not tab_artykul[artykul])then
if(not naglowek)then
tab_artykul[artykul]=true;
end;
i=i+1;
end;
end;
end;
end;
return i;
end;
p["LiniaArtykułuKsiążki"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame);
local parametry_modul=require("Module:Parametry");
local args=stronicowyparser_potrzebne_modul:Args();
local czy_analiza=parametry_modul.CzyTak(args["analiza"]);
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
if(tab_lista[2])then
for _,artykul_w_bazie in ipairs(tab_lista[2])do
local artykul_ksiazki=artykul_w_bazie[1][1] or artykul_w_bazie[1];
if(artykul_ksiazki==nazwa_artykulu)then
if(not czy_analiza)then
return artykul_w_bazie[3];
else
local function AnalizaLiniiArtykolow()
local czy_spis_tresci=mw.ustring.match(artykul_w_bazie[3],"({{%s*[Ss]pisTreści%s*|[^{}]*}})");
if(czy_spis_tresci)then
local techniczne_modul=require("Module:Techniczne");
local parametry_szablony=techniczne_modul["ParsujWywołanieSzablonu"](czy_spis_tresci);
local nazwa_artykulu=parametry_szablony[1];
------
local nazwa_ksiazki=stronicowyparser_potrzebne_modul:PelnaNazwaKsiazki(frame);
local pelna_nazwa_strony=(nazwa_artykulu=="")and nazwa_ksiazki or nazwa_ksiazki.."/"..nazwa_artykulu;
local link= "[["..pelna_nazwa_strony.."|"..nazwa_artykulu.."]]";
local linia2,_=mw.ustring.gsub(artykul_w_bazie[3],"({{%s*[Ss]pisTreści%s*|[^{}]*}})",link);
return linia2;
else
local czy_spis_tresci=mw.ustring.match(artykul_w_bazie[3],"({{%s*[Ss]ekcja[%s_]+referencyjna%s*|[^{}]*}})");
if(czy_spis_tresci)then
local linia2,_=mw.ustring.gsub(artykul_w_bazie[3],"({{%s*[Ss]ekcja[%s_]+referencyjna%s*|)","%1astandardowo=tak|");
return linia2;
else
local nazwa_ksiazki=stronicowyparser_potrzebne_modul:PelnaNazwaKsiazki(frame);
local function adresuj_linki(a,b)
return "[["..nazwa_ksiazki.."/"..a..(b or "").."]]";
end;
local artykul=mw.ustring.gsub(artykul_w_bazie[3],"%[%[%s*/([^%[%]|]-)/*%s*(|.*)%]%]",adresuj_linki);
artykul=mw.ustring.gsub(artykul,"%[%[%s*/([^%[%]|]-)/*%s*%]%]",adresuj_linki);
return artykul;
end;
end;
end;
return AnalizaLiniiArtykolow();
end
end;
end;
end;
end;
local uzupelniaj_sekcje_artykulow=parametry_modul.CzyTak(args["uzupełniaj sekcje artykułów"]);
if(uzupelniaj_sekcje_artykulow)then
if(mw.ustring.match(nazwa_artykulu,"^[^#]*#(.+)$"))then
local naglowek=mw.ustring.match(nazwa_artykulu,"^[^#]*#(.+)$");
if(parametry_modul["CzyTakCiąg"](naglowek))then
local pelna_nazwa_ksiazki=stronicowyparser_potrzebne_modul:PelnaNazwaKsiazki(frame)
return "[["..pelna_nazwa_ksiazki..((nazwa_artykulu~="")and("/"..nazwa_artykulu) or "").."|"..naglowek.."]]";
end;
end;
end;
end;
p["AktualnaKsiążka"]=function(frame,__error)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
return stronicowyparser_potrzebne_modul:PelnaNazwaKsiazki(frame) or ((not __error)and "(błąd)" or nil);
end;
p["NazwaAktualnyArtykuł"]=function(frame,__error)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
return stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame) or ((not __error)and "(błąd)" or nil);
end;
p["ListaNagłówkówKsiążki"] = function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local stronicowyparser_obiekty=mw.loadData("Module:StronicowyParser/obiekty");
local tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek;
local tab_rozdzialow_glownych_spisow_tresci_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_glownych_spisow_tresci_ksiazek;
local czy_sa_rozdzialy=nil;
local pelna_nazwa_ksiazki=stronicowyparser_potrzebne_modul:PelnaNazwaKsiazki(frame);
local args=stronicowyparser_potrzebne_modul:Args();
local wikikod="";
local linki_modul=require("Module:Linki");
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
local rozdzial=tab_lista[1][1];
local numer_rozdzialu=tab_lista[1][2][1];
if(numer_rozdzialu>0)then
if(not tab_rozdzialow_glownych_spisow_tresci_ksiazek[rozdzial])then
wikikod=((wikikod~="")and (wikikod.." — ") or "")
..linki_modul["Link wewnętrzny"]{
["strona"]=pelna_nazwa_ksiazki,
["nagłówek"]=rozdzial,
["nazwa"]=rozdzial,
["bez znaczników"]=args["bez znaczników"],
["bez przetwarzania"]=args["bez przetwarzania"],
};
end;
czy_sa_rozdzialy=true;
end;
end;
if(not czy_sa_rozdzialy)then return "(błąd: brak rozdziałów)";end;
return wikikod;
end;
p["ArtykułSubst"] = function(frame)
local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_ksiazkowych;
local nazwa_przestrzeni;local nazwa_ksiazki;local nazwa_artykulu;
if(not tabela_listy_danych_analizy_ksiazki.zastepczy)then
nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki;
nazwa_artykulu=tabela_listy_danych_analizy_ksiazki.nazwa_artykulu;
else
nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.normalna_nazwa_przestrzeni;
nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.normalna_nazwa_ksiazki;
nazwa_artykulu=tabela_listy_danych_analizy_ksiazki.normalna_nazwa_artykulu;
end;
local parametry_modul=require("Module:Parametry");
local PobierzParametr=parametry_modul.PobierzParametr(frame);
local pobierz_nazwa_artykulu=PobierzParametr("pobierz pełną nazwę artykułu");
local pobierz_adres_ksiazki=PobierzParametr("pobierz pełną nazwę książki");
local czy_pobierz_pelna_nazwa_artykulu=parametry_modul.CzyTak(pobierz_nazwa_artykulu);
local czy_pobierz_pelna_nazwa_ksiazki=parametry_modul.CzyTak(pobierz_adres_ksiazki);
if(czy_pobierz_pelna_nazwa_artykulu and not czy_pobierz_pelna_nazwa_ksiazki)then
return ((nazwa_przestrzeni~="")and(nazwa_przestrzeni..":") or "")..nazwa_ksiazki..((nazwa_artykulu~="") and "/" or "")..nazwa_artykulu;
elseif(not czy_pobierz_pelna_nazwa_artykulu and czy_pobierz_pelna_nazwa_ksiazki)then
return ((nazwa_przestrzeni~="")and(nazwa_przestrzeni..":") or "")..nazwa_ksiazki;
elseif(czy_pobierz_pelna_nazwa_artykulu and czy_pobierz_pelna_nazwa_ksiazki)then
return "(błąd)";
end;
local nazwa_strony=((nazwa_przestrzeni~="")and(nazwa_przestrzeni..":") or "")..nazwa_ksiazki..((nazwa_artykulu~="") and "/" or "")..nazwa_artykulu;
local techniczne_modul=require("Module:Techniczne");
local szablon=techniczne_modul.NazwaSzablonu(nazwa_strony);
return frame:expandTemplate{title=szablon,args={},};
end;
p["KsiążkaSubst"] = function(frame)
local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_ksiazkowych;
local str=tabela_listy_danych_analizy_ksiazki["KsiążkaSubst"];
return str;
end;
p["StronaSubst"] = function(frame)
local parametry_modul=require("Module:Parametry");
local args=frame and ((frame.getParent and ((parametry_modul.CzyTak(frame.args["wyspecjalizowana"]))and frame or frame:getParent()) or frame).args or frame) or {};
local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_ksiazkowych;
local tab_stronasubst=tabela_listy_danych_analizy_ksiazki["StronaSubst"];
if(not tab_stronasubst)then return;end;
local pierwszy,_=mw.ustring.gsub(args[1],"[%s_]+"," ");
local tab_strona=tab_stronasubst[pierwszy];
if(not tab_strona)then return;end;
local link=args["link"];
local czy_link=parametry_modul.CzyTak(link);
local stronasubst=tab_strona[(czy_link and "tak" or "")];
return stronasubst;
end;
p["CzyStronęNumerować"] = function(frame)
local strona=frame.args[1];
local nazwy_modul=require("Module:Nazwy");
strona=nazwy_modul["PEŁNANAZWASTRONY"](strona);
local pudelko_modul=require("Module:Pudełko");
if(strona==pudelko_modul["Strona główna tego projektu"](frame))then
return;
end;
if(strona==pudelko_modul["Strona główna dla dzieci tego projektu"](frame))then
return;
end;
if(mw.ustring.match(strona,"^Szablon:SG/"))then
return;
end;
local zbiory={
["Szablon:Nowe podręczniki miesiąca/Zwycięzca"]=true,
["Wikibooks:Polecane książki"]=true,
["Szablon:Wyróżnienia książek miesiąca/Wyróżniony"]=true,
}
if(zbiory[strona])then
return;
end;
if(mw.ustring.match(strona,"^Szablon:Polecane książki/")
or(mw.ustring.match(strona,"^Szablon:Nowe podręczniki miesiąca/"))
or(mw.ustring.match(strona,"^Szablon:Wyróżnienia książek miesiąca/"))
)then
return;
end;
return "tak";
end;
function p.HNumer(frame)
local p=frame.args["wyspecjalizowana"] and frame or frame:getParent();
if((not p) or (not p.args[1]))then
local blad_module=require("Module:Błąd");
local frame2=p:newChild{args={[1]="Podano złe parametry w szablonie: [[Szablon:HLiczba]].",["tag"]="span",},}
blad_module.error(frame2);
return;
end;
local stronicowyparser_rozdzialy_modul=require("Module:StronicowyParser/Rozdziały");
local naglowek,licznik=stronicowyparser_rozdzialy_modul.PodajRozdzial(p.args[1]);
local id2,_=mw.ustring.gsub(naglowek,"^[%s_]","");
id2,_=mw.ustring.gsub(id2,"[%s_]$","");
id2,_=mw.ustring.gsub(id2,"[%s_]","_");
local id3,_=mw.ustring.gsub(mw.uri.encode(mw.text.encode(id2),"WIKI"),"(%%)",".");
if(licznik>6)then
local id=p.args["id"];
local styl=p.args["styl"];
local klasa=p.args["klasa"];
local atrybuty=p.args["atrybuty"];
local parametry_modul=require("Module:Parametry");
return "<h6"..(parametry_modul.CzyTak(id)and " id=\""..id.."\"" or "")
..(parametry_modul.CzyTak(styl)and " style=\""..styl.."\"" or "")
.." class=\"mw-hnumber mw-hnumber-"..licznik..((parametry_modul.CzyTak(klasa)) and (" "..klasa) or "").."\""
..(parametry_modul.CzyTak(atrybuty)and " "..atrybuty or "")
..">"..((id2~=id3) and ("<span id=\""..id3.."\"></span>") or "").."<span id=\""..id2.."\" class=\"mw-headline\">"..naglowek.."</span></h6>";
elseif(licznik<1)then
local blad_module=require("Module:Błąd");
local frame2=pf:newChild{args={[1]="Nie podano nagłówka w szablonie: [[Szablon:HLiczba]].",["tag"]="span",},}
blad_module.error(frame2);
else
local id=p.args["id"];
local styl=p.args["styl"];
local klasa=p.args["klasa"];
local atrybuty=p.args["atrybuty"];
local parametry_modul=require("Module:Parametry");
return "<h"..licznik..(parametry_modul.CzyTak(id)and " id=\""..id.."\"" or "")
..(parametry_modul.CzyTak(styl)and " style=\""..styl.."\"" or "")
.." class=\""..((parametry_modul.CzyTak(klasa)) and klasa or "").."\""
..(parametry_modul.CzyTak(atrybuty)and " "..atrybuty or "")..">"..((id2~=id3) and ("<span id=\""..id3.."\"></span>") or "").."<span id=\""..id2.."\" class=\"mw-headline\">"..naglowek.."</span></h"..licznik..">";
end;
end;
function p.TOC(frame,czy_rozciagnij,gdy_pusty_spis_tresci)
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych;
local nazwy_modul=require("Module:Nazwy");
local parametry_modul=require("Module:Parametry");
local ksiazkowe_modul=require("Module:Książkowe");
local args=(frame)and (parametry_modul.CzyTak(frame.args["wyspecjalizowana"])and frame.args or frame:getParent().args) or {};
local nazwa_przestrzeni=args[2] and nazwy_modul["NAZWAPRZESTRZENI"](args[2]) or tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
local nazwa_ksiazki=args[2] and ksiazkowe_modul["NazwaKsiążki"](args[2]) or tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki;
local nazwa_artykulu=args[1] and args[1] or tabela_listy_danych_analizy_ksiazki.nazwa_artykulu;
local czy_nie_aktualny=(
(nazwa_przestrzeni~=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni)
or(nazwa_ksiazki~=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki)
or (nazwa_artykulu~=tabela_listy_danych_analizy_ksiazki.nazwa_artykulu)
);
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
if ((tabela_listy_danych_analizy_ksiazki.TOC_StronaZbiorcza)or(tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu and tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni] and tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki] and tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki].lista_artykolow[nazwa_artykulu] and tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki].lista_artykolow[nazwa_artykulu].TOC)) then
mw.log(tabela_listy_danych_analizy_ksiazki.TOC_StronaZbiorcza,"Strona ziorcza");
local spis_tresci_artykulu=stronicowyparser_potrzebne_modul.TOC(frame,tabela_listy_danych_analizy_ksiazki.TOC_StronaZbiorcza or tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki].lista_artykolow[nazwa_artykulu].TOC,czy_nie_aktualny,czy_rozciagnij);
return spis_tresci_artykulu;
elseif(not gdy_pusty_spis_tresci)then
local spis_tresci_artykulu=stronicowyparser_potrzebne_modul.TOC(frame,nil,czy_nie_aktualny,czy_rozciagnij);
return spis_tresci_artykulu;
end;
end;
function p.WykazModolow(frame,czy_rozciagnij)
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych;
local nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki;
local nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
local lista_ksiazek_w_przestrzeni_nazw=tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni];
if(not lista_ksiazek_w_przestrzeni_nazw)then return nil;end;
local tab_lista_artykulow_w_ksiazce_w_ksiazce=lista_ksiazek_w_przestrzeni_nazw[nazwa_ksiazki];
if(not tab_lista_artykulow_w_ksiazce_w_ksiazce)then return nil;end;
local spis=tab_lista_artykulow_w_ksiazce_w_ksiazce.spis;
if(not spis)then return nil;end;
local parametry_modul=require("Module:Parametry");
local spis_ksiazkowy=parametry_modul.CzyTak(frame.args["spis książkowy"]);
local spis_rzeczy=parametry_modul.CzyTak(frame.args["spis rzeczy"]);
local tylko_naglowki=parametry_modul.CzyTak(frame.args["nagłówki"]);
local wysokosc=frame.args["wysokość"];
local wykaz_modolow_w_liscie="";
local i=1;
for _,tab_artykul in ipairs(spis)do
if(tab_artykul[2])then
for _,tab_pozycja in ipairs(tab_artykul[2])do
if(type(tab_pozycja[1])~="table")then
sformatowana_nazwa_artykulu,_=mw.ustring.gsub(tab_pozycja[1],"_"," ");
else
sformatowana_nazwa_artykulu,_=mw.ustring.gsub(tab_pozycja[1][1],"_"," ");
end;
local id=tab_pozycja[4]
if(not tylko_naglowki or id)then
if(not spis_ksiazkowy)then
wykaz_modolow_w_liscie=((wykaz_modolow_w_liscie~="") and (wykaz_modolow_w_liscie.."\n") or "")..'<li>[['..((not spis_rzeczy or not id)and (((nazwa_przestrzeni=="")and nazwa_ksiazki or nazwa_przestrzeni..":"..nazwa_ksiazki).."/") or "#")..sformatowana_nazwa_artykulu.."|<span class=\"tocnumber\">"..i.."</span><span class=\"toctext\">"..sformatowana_nazwa_artykulu..'</span>]]</li>';
else
wykaz_modolow_w_liscie=((wykaz_modolow_w_liscie~="") and (wykaz_modolow_w_liscie.."\n") or "")..'{{SpisZw||[['..((not spis_rzeczy or not id)and (((nazwa_przestrzeni=="")and nazwa_ksiazki or nazwa_przestrzeni..":"..nazwa_ksiazki).."/") or "#")..sformatowana_nazwa_artykulu.."|"..sformatowana_nazwa_artykulu.."]]|"..i.."|100%}}";
end;
i=i+1;
end;
end;
end;
end;
if(wykaz_modolow_w_liscie=="")then return nil;end;
if(not spis_ksiazkowy)then
wykaz_modolow_w_liscie="<ul>"..wykaz_modolow_w_liscie.."</ul>";
wykaz_modolow_w_liscie='<div class="toc_ogólnie_spis toc_wykaz" style="width:100%;max-height:400px;overflow:auto;">'..wykaz_modolow_w_liscie.."</div>";
wykaz_modolow_w_liscie='{{Tabela nawigacyjna|styl=width:'..(czy_rozciagnij and "100%" or "auto")..';font-size:14px;line-height:1.2em;background-color:white;|tytuł=<div style="font-size:14px;line-height:1.2em;background-color:white;text-align:left;white-space:nowrap;">Wykaz modułów w książce</div>|spis='..wykaz_modolow_w_liscie..'|funkcja=UkrytaWikitabelowaListaMenu}}';
else
wykaz_modolow_w_liscie="<div class=\"toc_wykaz mw-overflow-y\" style=\""..(wysokosc and ("max-height:"..wysokosc..";overflow:auto;") or "").."border:solid #aaa 1px;padding:10px;width:auto;box-sizing:border-box;background-color:white;\">"..wykaz_modolow_w_liscie.."</div>";
end;
local rozwiniety_wikikod=frame:preprocess(wykaz_modolow_w_liscie);
return rozwiniety_wikikod;
end;
function p.NazwaModolu()
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych;
local nazwy_np_modul=mw.loadData('Moduł:Nazwy/Np');
local nazwa_artykulu=tabela_listy_danych_analizy_ksiazki.nazwa_artykulu;
if(nazwa_artykulu==nil)then
return "[["..nazwy_np_modul.Category..": Nie można wygenerować nazwy strony]]";
else
return nazwa_artykulu;
end;
end;
function p.Wstep_do_licencji(frame)
local element_licencji_1='<strong>Autor:</strong> '..frame.args[1]..'<BR>';
local element_licencji_2;
if((frame.args[2]~='')and(frame.args[2]~=nil))then
element_licencji_2=frame.args[2]..'<BR>';
end;
local element_licencji_3;
if((frame.args[3]~='')and(frame.args[3]~=nil))then
element_licencji_3='<strong>Email:</strong> '..frame.args[3]..'<BR>';
end;
local element_licencji_4;
if((frame.args[4]~='')and(frame.args[4]~=nil))then
element_licencji_4='<strong>Dotyczy:</strong> '..frame.args[4].."<BR>";
else
element_licencji_4='<strong>Dotyczy:</strong> książki, do której należy ta strona, oraz w niej zawartych stron i w nich podstron, a także w nich kolumn, wraz z zawartościami.<BR>';
end;
if((frame.args[5]~='')and(frame.args[5]~=nil))then
element_licencji_5=frame.args[5].."<BR>";
else
element_licencji_5='Użytkownika książki, do której należy ta strona, oraz w niej zawartych stron i w nich podstron, a także w nich kolumn, wraz z zawartościami nie zwalnia z odpowiedzialności prawnoautorskiej nieprzeczytanie warunków licencjonowania.<BR>';
end;
local element_licencji_6;
if((frame.args[6]~='')and(frame.args[6]~=nil))then
element_licencji_6='<strong>Umowa prawna:</strong> '..frame.args[6]..'<BR>';
else
element_licencji_6='<strong>Umowa prawna:</strong> [http://creativecommons.org/licenses/by-sa/3.0/deed.pl Creative Commons: uznanie autorstwa oraz miejsca pochodzenia książki i jej jakikolwiek części, a także treści, teksty, tabele, wykresy, rysunki, wzory i inne elementy oraz ich części zawarte w książce, i tą książkę, nawet w postaci przerobionej nie można umieszczać w jakikolwiek formie na czasopismach naukowych, archiwach prac, itp.]<BR>';
end;
if((frame.args[7]~='')and(frame.args[7]~=nil))then
element_licencji_7=frame.args[7].."<BR>";
else
element_licencji_7='Autor tej książki dołożył wszelką staranność, aby informacje zawarte w książce były poprawne i najwyższej jakości, jednakże nie udzielana jest żadna gwarancja, czy też rękojma. Autor nie jest odpowiedzialny za wykorzystanie informacji zawarte w książce nawet jeśli wywołaby jakąś szkodę, straty w zyskach, zastoju w prowadzeniu firmy, przedsiębiorstwa lub spółki bądź utraty informacji niezależnie, czy autor (a nawet [https://pl.wikibooks.org Wikibooks]) został powiadomiony o możliwości wystąpienie szkód. Informacje zawarte w książce mogą być wykorzystane tylko na własną odpowiedzialność.<BR>';
end;
local licencja=element_licencji_1..((element_licencji_2)and element_licencji_2 or "")..((element_licencji_3)and element_licencji_3 or "")
..element_licencji_4..element_licencji_5..element_licencji_6..element_licencji_7;
return licencja;
end;
function p.Licencja(frame,czy_rozciagnij)
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych;
local menu_z_licencja;
local nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
local nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki;
local licencja=tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki].licencja;
if(licencja)then
if(licencja[1])then
local frame={};
frame.args={licencja[1],licencja[2],licencja[3],licencja[4],licencja[5],licencja[6],licencja[7]};
local ramka_z_licencja='<div style="margin-left:0px;padding:3px;width:100%;height:auto;box-sizing:border-box;">'..p.Wstep_do_licencji(frame)..'</div>';
menu_z_licencja='{{Tabela nawigacyjna|styl=width:'..(czy_rozciagnij and "100%" or "auto")..';font-size:14px;line-height:1.2em;background-color:white;|tytuł=<div style="font-size:14px;line-height:1.2em;background-color:white;text-align:left;white-space:nowrap;">Licencja</div>|spis='..ramka_z_licencja..'|funkcja=StatycznaWikitabelowaListaMenu}}';
else
return nil;
end;
local frame=mw.getCurrentFrame();
local rozwiniety_wikikod=frame:preprocess(menu_z_licencja);
return rozwiniety_wikikod;
else
return nil;
end;
end;
function p.Autor(frame)
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych;
local nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
local nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki;
local licencja=tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki].licencja;
if(tabela_listy_danych_analizy_ksiazki.licencja)then
return licencja[1];
end;
end;
function p.PierwszaStrona(frame)
local prawe_menu="";
local parametry_modul=require("Module:Parametry");
local czy_rozciagnij=parametry_modul.CzyTak(frame.args["rozciągnij"])
if(parametry_modul.CzyTak(frame.args[1]))then
prawe_menu='<div style="margin-top:5px;font-size:1.9em;line-height:25px;text-align:left;">'..p.NazwaModolu()..'</div><hr style=\"margin:5px 0\"/>';
end;
if(parametry_modul.CzyTak(frame.args[2]))then
local licencja=p.Licencja(frame,czy_rozciagnij);
if(licencja~=nil)then
prawe_menu=prawe_menu..licencja;
else
local obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty");
local uchwyt_strony=mw.title.getCurrentTitle();
local nazwy_np_modul=mw.loadData("Module:Nazwy/Np");
local nazwa_przestrzeni_nazw_strony=require("Module:Nazwy")["NAZWAPRZESTRZENI"]();
local element_zdania_kategorii=(nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Main)and "na stronach głównych, książek"
or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikijunior)and "na stronach głównych, książek dla dzieci"
or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.User)and "na stronach głównych, książek użytkowników"
or((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikibooks)and "na stronach głównych, książek brudnopisu projektu"
or "na stronach głównych, publikacji")));
local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_ksiazkowych;
local kategoria_braku_licencji=(not tabela_listy_danych_analizy_ksiazki.korzystane_strona_glowna_nie_istnieje)and"[["..nazwy_np_modul.Category..": Brak licencji, "..element_zdania_kategorii.."]]" or "";
prawe_menu=prawe_menu..kategoria_braku_licencji;
end;
end;
if(parametry_modul.CzyTak(frame.args[3]))then
local wykaz_artykulow=p.WykazModolow(frame,czy_rozciagnij);
if(wykaz_artykulow~=nil)then
prawe_menu=prawe_menu.."<hr style=\"margin:5px 0\"/>"..wykaz_artykulow;
end;
end;
if(parametry_modul.CzyTak(frame.args[4]))then
local spis_tresci=p.TOC(frame,czy_rozciagnij,true);
if(spis_tresci~=nil)then
prawe_menu=prawe_menu.."<hr style=\"margin:5px 0\"/>"..spis_tresci;
end;
end;
local wysokosc=frame.args["wysokość"];
return "<div style=\"padding:10px;border: solid #aaa 1px;background-color:white;box-sizing:border-box;width:700px;\"><div class=\"pierwsza_strona mw-overflow-y\" style=\"max-height:"..(wysokosc or "100%")..";overflow:auto;height:100%;box-sizing:border-box;\"><div style=\"display:flex;flex-direction:column;width:auto;height:auto;box-sizing:border-box;\">"..prawe_menu.."</div></div></div>";
end;
function p.SpisTresci(frame)
local parametry_modul=require("Module:Parametry");
local args=parametry_modul.PobierzArgsParametry(frame);
local nazwa_artykulu=args["artykuł"] or args[1];
local nazwa_ksiazki=args["książka"] or args[2];
if(not parametry_modul.CzyTak(nazwa_ksiazki))then
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych;
local uzyskana_nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
local uzyskana_nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki;
nazwa_ksiazki=((uzyskana_nazwa_przestrzeni~=nil) and (uzyskana_nazwa_przestrzeni..":") or "")..uzyskana_nazwa_ksiazki;
end;
local brak=(nazwa_artykulu and mw.ustring.match(nazwa_artykulu,"[|<>{}%[%]]") or nil) or (nazwa_ksiazki and mw.ustring.match(nazwa_ksiazki,"[|<>{}%[%]]") or nil);
if(brak~=nil)then
local nazwy_np_modul=mw.loadData("Module:Nazwy/Np");
local nazwa_przestrzeni_nazw_strony=require("Module:Nazwy")["NAZWAPRZESTRZENI"]();
local element_zdania_kategorii=(nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Main)and "artykułów,"
or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikijunior)and "artykułów dla dzieci,"
or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.User)and "stron użytkowników,"
or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikibooks)and "stron brudnopisu projektu,"
or "stron,")));
return "[["..nazwy_np_modul.Category..":Nazwy "..element_zdania_kategorii.." w spisach treści, zawierają niedozwolone znaki]]";
end;
local html_modul=require("Module:Html");
local nazwy_modul=require("Module:Nazwy");
local ksiazkowe_modul=require("Module:Książkowe");
local nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](nazwa_ksiazki);
local nazwa_ksiazki=ksiazkowe_modul["NazwaKsiążki"](nazwa_ksiazki);
nazwa_ksiazki=html_modul.TransformacjaKlasyZnakowej(nazwa_ksiazki);
local nazwa_artykulu=html_modul.TransformacjaKlasyZnakowej(nazwa_artykulu);
local nazwa_strony=(nazwa_artykulu=="")and nazwa_ksiazki or nazwa_ksiazki.."/"..nazwa_artykulu;
local pelna_nazwa_strony=(nazwa_przestrzeni=="")and nazwa_strony or nazwa_przestrzeni..":"..nazwa_strony;
local tekst_artykulu=p.SpreparowanyWikikodStrony(pelna_nazwa_strony);
local nazwa=args["nazwa"] or args[3];
local nazwa_strony_artykulu=parametry_modul.CzyTak(nazwa) and nazwa or mw.ustring.gsub(mw.ustring.match(nazwa_artykulu,"[^/]*$"),"_"," ");
local dodatek=args["dodatek"] or args[4];
if(not tekst_artykulu)then
if(nazwa_artykulu~="")then
return "\n"..mw.ustring.rep("=",6).."<span style=\"color:red\">[["..pelna_nazwa_strony.."|"..nazwa_strony_artykulu.."]]</span>"..mw.ustring.rep("=",6).."\n";
else
return frame:getParent():preprocess("{{Błąd|Wywołano szablon z argumentem pierwszym pustym.}}");
end;
else
local twor_spisu_tresci="[["..pelna_nazwa_strony.."|"..nazwa_strony_artykulu.."]]"..(((dodatek)and(dodatek~="")) and (" "..dodatek) or "");
twor_spisu_tresci=mw.ustring.rep("=",6)..twor_spisu_tresci..mw.ustring.rep("=",6).."\n";
local stronicowyparser_dalszefunkcje_modul=require("Module:StronicowyParser/DalszeFunkcje");
local ulozenia_w_menu_spisu_tresci=stronicowyparser_dalszefunkcje_modul:SpisTresciWstep(tekst_artykulu, pelna_nazwa_strony);
local atrybuty="style=\"margin-left:20px\"";
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
local toc=stronicowyparser_potrzebne_modul.TOCSilnik(ulozenia_w_menu_spisu_tresci, atrybuty);
local limit=args["limit"];
local czy_limit=parametry_modul.CzyTak(limit);
return '<div class="toc_ogólnie_spis toc_artykuł toclimit '..(czy_limit and ("toclimit-"..limit) or "")..'">\n'..twor_spisu_tresci..(toc and toc or "")..'</div>';
end;
end;
function IteratorFunkcja()
local obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty");
local tabela_wypowiedzi=obiekty_modul.tablica_obiektow;
local licznik=1;
return function()
local tabela_obiektu=tabela_wypowiedzi[licznik];
if(not tabela_obiektu)then return nil;end;
local wartosc1=mw.ustring.gsub(tabela_obiektu[1],"%d+$","");
local wartosc2=tabela_obiektu[4];
licznik=licznik+1;
return wartosc1,wartosc2;
end;
end;
local iterator=IteratorFunkcja();
for nazwa_obiektu,czesc_nazwy_funkcji in iterator do
p["Numer"..czesc_nazwy_funkcji] = function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
return stronicowyparser_potrzebne_modul.NumerObiektu(frame,nazwa_obiektu);
end;
end;
p["AnalizujSzablonemStronicowymArtykuł"]=function(frame)
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych;
return "";
end;
function p.formatowanie()
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych;
return tabela_listy_danych_analizy_ksiazki.formatowanie;
end;
function p.WstawKategorie(frame)
local stronicowyparser_kategorie_modul=require("Module:StronicowyParser/Kategorie");
return stronicowyparser_kategorie_modul.WstawKategorie(frame);
end;
function p.CzyStronaSubst(frame,pelnanazwastrony,czy_wymusic)
if(czy_wymusic)then
local nazwy_modul=require("Module:Nazwy");
local pelnanazwastronyaktualnej=nazwy_modul["PEŁNANAZWASTRONY"]();
if(pelnanazwastrony~=pelnanazwastronyaktualnej)then
local stronicowyparser_stronasubst_modul=require("Module:StronicowyParser/StronaSubst");
local TakFun=function(frame) return "tak";end;local NieFun=function(frame) return "";end;
return stronicowyparser_stronasubst_modul.AnalizaStronaSubst(nil,pelnanazwastrony,TakFun,NieFun,nil);
end;
end;
local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_ksiazkowych;
if(tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then
return "tak";
end;
return "";
end;
return p;
l6ok4qj4hym2o0q3n85u3mtk6nbjve1
437873
437871
2022-08-16T14:29:51Z
Persino
2851
Scribunto
text/plain
local p = {}
function p.SpreparowanyWikikodStrony(nazwa_modolu,dokumentacja)
local stronicowyparser_dalszefunkcje=require("Module:StronicowyParser/DalszeFunkcje")
return stronicowyparser_dalszefunkcje.SpreparowanyWikikodStrony(nil,nazwa_modolu,dokumentacja);
end;
function p.PrzekierowanieDoStrony(frame)
local parametry_modul=require("Module:Parametry");
local PobierzParametr=parametry_modul.PobierzParametr(frame);
local nazwa_modulu=PobierzParametr(1);
local latki_modul=require("Module:Łatki");
return latki_modul.contentMatch{args={
[1]="^%s*#REDIRECT%s+%[%[(.+)%]%]%s*",
[2]="^%s*#PATRZ%s+%[%[(.+)%]%]%s*",
[3]="^%s*#TAM%s+%[%[(.+)%]%]%s*",
namespace="",
pagename=nazwa_modulu,
},
};
end;
p["TekstRozdziałuStrony"]=function(frame)
local stronicowyparser_rozdzialy=require("Module:StronicowyParser/Rozdziały");
return stronicowyparser_rozdzialy.TekstRozdzialuStrony(frame);
end;
p["KtóraSekcjaStrony"]=function(frame)
local stronicowyparser_rozdzialy=require("Module:StronicowyParser/Rozdziały");
return stronicowyparser_rozdzialy.KtoraSekcjaStrony(frame);
end;
p["ZwróćSekcjęNagłówkaStrony"]=function(frame)
local stronicowyparser_rozdzialy=require("Module:StronicowyParser/Rozdziały");
return stronicowyparser_rozdzialy.ZwrocSekcjeNaglowkaStrony(frame);
end;
p["NastępnyArtykuł"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local parametry_modul=require("Module:Parametry");
local nazwa=parametry_modul.CzyTak(args["nazwa"]);
local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame);
local numer=tonumber(args[1]) or 0;
local naglowek=parametry_modul.CzyTak(args["nagłówek"]);
local nazwa_artykulu_z_naglowkiem_match=mw.ustring.match(nazwa_artykulu,"^([^#]*)#.*$");
local nazwa_artykulu_z_opcja_naglowek=(not naglowek) and nazwa_artykulu_z_naglowkiem_match or nazwa_artykulu;
local nadstrona_artykulu=(numer>0) and stronicowyparser_potrzebne_modul.NazwaNadStrony(nazwa_artykulu,numer) or nil;
local i=0;
local tab_artykul={};
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
if(tab_lista[2])then
for _,artykul_w_bazie_element in ipairs(tab_lista[2])do
local artykul_w_bazie;local artykul_bez_naglowka_w_bazie;local artykul_z_naglowkiem_w_bazie;
local czy_table=parametry_modul.TypeTable(artykul_w_bazie_element[1]);
if(czy_table)then
artykul_w_bazie=artykul_w_bazie_element[1][1];
else
artykul_w_bazie=artykul_w_bazie_element[1];
end;
local artykul_z_naglowkiem_w_bazie_match=mw.ustring.match(artykul_w_bazie,"^([^#]*)#.*$");
artykul_bez_naglowka_w_bazie=artykul_z_naglowkiem_w_bazie_match or artykul_w_bazie;
if(naglowek or not tab_artykul[artykul_bez_naglowka_w_bazie])then
if(not naglowek)then
tab_artykul[artykul_bez_naglowka_w_bazie]=true;
end
if(not naglowek)then
artykul_z_naglowkiem_w_bazie=artykul_bez_naglowka_w_bazie;
else
artykul_z_naglowkiem_w_bazie=artykul_w_bazie;
end;
local numer_artykulu_w_bazie;
if(numer>0)then
numer_artykulu_w_bazie=stronicowyparser_potrzebne_modul.PoziomAdresu(artykul_bez_naglowka_w_bazie);
end;
local function Nastepny()
if(not nazwa)then
return artykul_z_naglowkiem_w_bazie;
end;
if(czy_table)then
return artykul_w_bazie[1][2];
else
return artykul_z_naglowkiem_w_bazie;
end;
end;
if(i==1)then
if(numer>0)then
local nadstrona_artykulu_w_bazie=stronicowyparser_potrzebne_modul.NazwaNadStrony(artykul_bez_naglowka,numer);
if((numer==numer_artykulu_w_bazie)and(nadstrona_artykulu==nadstrona_artykulu_w_bazie))then
return Nastepny();
end;
else
return Nastepny();
end;
else
if((not naglowek)and(artykul_bez_naglowka_w_bazie==nazwa_artykulu_z_opcja_naglowek)
or(((naglowek) and ((nazwa_artykulu_z_naglowkiem_match and artykul_z_naglowkiem_w_bazie_match)or(not nazwa_artykulu_z_naglowkiem_match and not artykul_z_naglowkiem_w_bazie_match)))
and (artykul_z_naglowkiem_w_bazie==nazwa_artykulu)
))then
i=1;
end;
end;
end;
end;
end;
end;
if(i==1)then
return "";
end;
return "(błąd)";
end;
p["PoprzedniArtykuł"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local parametry_modul=require("Module:Parametry");
local nazwa=parametry_modul.CzyTak(args["nazwa"]);
local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame);
local numer=tonumber(args[1]) or 0;
local naglowek=parametry_modul.CzyTak(args["nagłówek"]);
local nazwa_artykulu_z_naglowkiem_match=mw.ustring.match(nazwa_artykulu,"^([^#]*)#.*$")
local nazwa_artykulu_z_opcja_naglowek=(not naglowek) and nazwa_artykulu_z_naglowkiem_match or nazwa_artykulu;
local nadstrona_artykulu=(numer>0) and stronicowyparser_potrzebne_modul.NazwaNadStrony(nazwa_artykulu,numer) or nil;
local artykul;
local tab_artykul={};
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
if(tab_lista[2])then
for _,artykul_w_bazie in ipairs(tab_lista[2])do
local artykul_z_naglowkiem_w_bazie;local artykul_bez_naglowka_w_bazie;
local czy_table=parametry_modul.TypeTable(artykul_w_bazie[1]);
if(czy_table)then
artykul_z_naglowkiem_w_bazie=artykul_w_bazie[1][1];
else
artykul_z_naglowkiem_w_bazie=artykul_w_bazie[1];
end;
local artykul_z_naglowkiem_w_bazie_match=mw.ustring.match(artykul_z_naglowkiem_w_bazie,"^([^#]*)#.*$")
artykul_bez_naglowka_w_bazie=artykul_z_naglowkiem_w_bazie_match or artykul_z_naglowkiem_w_bazie;
if(naglowek or not tab_artykul[artykul_bez_naglowka_w_bazie])then
if(not naglowek)then
tab_artykul[artykul_bez_naglowka_w_bazie]=true;
end;
if((not naglowek)and(artykul_bez_naglowka_w_bazie==nazwa_artykulu_z_opcja_naglowek)
or(((naglowek) and ((nazwa_artykulu_z_naglowkiem_match and artykul_z_naglowkiem_w_bazie_match)or(not nazwa_artykulu_z_naglowkiem_match and not artykul_z_naglowkiem_w_bazie_match)))and(artykul_z_naglowkiem_w_bazie==nazwa_artykulu)))then
if(not artykul)then return "";end;
local czy_table_artykul=parametry_modul.TypeTable(artykul);
if(czy_table_artykul)then
if(not nazwa)then
if(naglowek)then
return artykul[1];
end;
artykul,_=mw.ustring.gsub(artykul[1],"^([^#]+)#(.*)$","%1");
return artykul;
else
return artykul[2];
end;
else
if(naglowek)then
return artykul;
end;
artykul,_=mw.ustring.gsub(artykul,"^([^#]+)#(.*)$","%1");
return artykul;
end;
end
if(numer>0)then
local numer_artykulu_poprzedni=stronicowyparser_potrzebne_modul.PoziomAdresu(artykul_bez_naglowka_w_bazie);
local nadstrona_artykulu_w_bazie=stronicowyparser_potrzebne_modul.NazwaNadStrony(artykul_bez_naglowka_w_bazie,numer);
if((numer==numer_artykulu_poprzedni)and(nadstrona_artykulu==nadstrona_artykulu_w_bazie))then
artykul=artykul_w_bazie[1];
end;
else
artykul=artykul_w_bazie[1];
end;
end;
end;
end;
end;
return "(błąd)";
end;
p["PoziomNazwyArtykułu"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local parametry_modul=require("Module:Parametry");
local nazwa=parametry_modul.CzyTak(args["nazwa"]);
local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame);
return stronicowyparser_potrzebne_modul.PoziomAdresu(nazwa_artykulu);
end;
p["PierwszyArtykuł"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local parametry_modul=require("Module:Parametry");
local nazwa=parametry_modul.CzyTak(args["nazwa"]);
local naglowek=parametry_modul.CzyTak(args["nagłówek"]);
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
if(tab_lista[2])then
for _,artykul_w_bazie in ipairs(tab_lista[2])do
if(not nazwa)then
local artykul=parametry_modul.TypeTable(artykul_w_bazie[1]) and artykul_w_bazie[1][1] or artykul_w_bazie[1];
return (not naglowek) and mw.ustring.gsub(artykul,"^([^#]*)#(.*)$","%1") or artykul;
else
return parametry_modul.TypeTable(artykul_w_bazie[1])
and artykul_w_bazie[1][2]
or ((not naglowek) and mw.ustring.gsub(artykul_w_bazie[1],"^([^#]*)#(.*)$","%1") or artykul_w_bazie[1]);
end;
end;
end;
end;
end;
p["OstatniArtykuł"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local parametry_modul=require("Module:Parametry");
local nazwa=parametry_modul.CzyTak(args["nazwa"]);
local naglowek=parametry_modul.CzyTak(args["nagłówek"]);
local ostatni_artykul;
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
if(tab_lista[2])then
for _,artykul_w_bazie in ipairs(tab_lista[2])do
if(not nazwa)then
ostatni_artykul=parametry_modul.TypeTable(artykul_w_bazie[1]) and artykul_w_bazie[1][1] or artykul_w_bazie[1];
else
ostatni_artykul=parametry_modul.TypeTable(artykul_w_bazie[1]) and artykul_w_bazie[1][2] or artykul_w_bazie[1];
end;
end;
end;
end;
if(ostatni_artykul)then
return (not naglowek) and mw.ustring.gsub(ostatni_artykul,"^([^#]*)#(.*)$","%1") or ostatni_artykul;
end;
return "(błąd)";
end;
p["PomiędzyArtykuł"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
local val=stronicowyparser_potrzebne_modul:ObliczeniaInformacje(frame);
if(not val)then return "(błąd)";end;
local element=stronicowyparser_potrzebne_modul:PomiedzyArtykul(frame) or nil;
if(not element)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local parametry_modul=require("Module:Parametry");
local nazwa=parametry_modul.CzyTak(args["nazwa"]);
local czy_table=parametry_modul.TypeTable(element);
local element=czy_table and element[1] or element;
if(not nazwa)then return (not naglowek) and mw.ustring.gsub(element,"^([^#]*)#(.*)$","%1") or element;end;
return czy_table and element[2] or ((not naglowek) and mw.ustring.gsub(element,"^([^#]*)#(.*)$","%1") or element);
end;
p["LosowyArtykuł"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
local val=stronicowyparser_potrzebne_modul:ObliczeniaInformacje(frame);
if(not val)then return "(błąd)";end;
local element=stronicowyparser_potrzebne_modul:LosowyArtykul(frame);
if(not element)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local parametry_modul=require("Module:Parametry");
local nazwa=parametry_modul.CzyTak(args["nazwa"]);
local czy_table=parametry_modul.TypeTable(element);
local element=czy_table and element[1] or element;
if(not nazwa)then return mw.ustring.gsub(element,"^([^#]*)#(.*)$","%1") or element;end;
return czy_table and element[2] or mw.ustring.gsub(element,"^([^#]*)#(.*)$","%1") or element;
end;
local function PobiezNumerLubNazweNaglowka(frame,__FUNKCJA,typ)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local parametry_modul=require("Module:Parametry");
local poziomowo=parametry_modul.CzyTak(args["poziomowo"]);
local ktory=(tonumber(args["który"]) or 1);
local parametr_pierwszy_szablonu=typ and ((not poziomowo) and (tonumber(args[1]) or 1) or args[1]) or args[1];
if(not typ)then
parametr_pierwszy_szablonu,_=mw.ustring.gsub(parametr_pierwszy_szablonu,"^[%s_]+","");
parametr_pierwszy_szablonu,_=mw.ustring.gsub(parametr_pierwszy_szablonu,"[%s_]+$","");
parametr_pierwszy_szablonu,_=mw.ustring.gsub(parametr_pierwszy_szablonu,"[%s_]+"," ");
end;
local HNumer=stronicowyparser_potrzebne_modul.LiczonyHNumer();
local HNumer_2=nil;
local tab_numer_2=nil;
local tab_numer={};
local i=(not poziomowo) and 0 or nil;
local i_2=nil;
local juz_nie_rozwazaj_spisu_tresci=nil;
local juz_nie_rozwazaj_rozdzialu_spisu_tresci=nil;
local stronicowyparser_obiekty=mw.loadData("Module:StronicowyParser/obiekty");
local tab_rozdzialow_glownych_spisow_tresci_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_glownych_spisow_tresci_ksiazek;
local tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek;
local poziom_spisu_tresci=nil;
local pierwszy_dodatni_spis_tresci=nil;
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
local rozdzial=tab_lista[1][1];
local poziom_rozdzialu=tab_lista[1][2][1] or 0;
if(poziom_rozdzialu>0)then
local czy_nie_ten_rozdzial=nil;
local czy_jest_teraz_spis_tresci=tab_rozdzialow_glownych_spisow_tresci_ksiazek[rozdzial];local czy_nie_ten_rozdzial;
if((not juz_nie_rozwazaj_spisu_tresci)and(not juz_nie_rozwazaj_rozdzialu_spisu_tresci)and(czy_jest_teraz_spis_tresci))then
poziom_spisu_tresci=poziom_rozdzialu;
juz_nie_rozwazaj_rozdzialu_spisu_tresci=true;
czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial];
elseif((not juz_nie_rozwazaj_spisu_tresci)and(juz_nie_rozwazaj_rozdzialu_spisu_tresci))then
if((poziom_spisu_tresci<poziom_rozdzialu))then
czy_nie_ten_rozdzial=false;
else
juz_nie_rozwazaj_spisu_tresci=true;
czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial];
end;
else
local juz_nie_rozwazaj_spisu_tresci=nil;
local juz_nie_rozwazaj_rozdzialu_spisu_tresci=nil;
czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial];
end;
if(not czy_nie_ten_rozdzial)then
if(poziomowo)then
local hnumer=HNumer(poziom_rozdzialu);
if(#tab_numer<hnumer)then
for i=#tab_numer+1,hnumer,1 do
table.insert(tab_numer,1);
end;
elseif(#tab_numer>hnumer)then
for i=#tab_numer, hnumer+1,-1 do
table.remove(tab_numer,i);
end;
tab_numer[#tab_numer]=tab_numer[#tab_numer]+1;
else
tab_numer[#tab_numer]=tab_numer[#tab_numer]+1;
end;
----
local wartosc=__FUNKCJA(poziomowo,i,tab_numer,ktory,parametr_pierwszy_szablonu,rozdzial);
----
if(wartosc)then return wartosc;end;
----
if((czy_jest_teraz_spis_tresci)and(not pierwszy_dodatni_spis_tresci))then
HNumer_2=HNumer;
HNumer=stronicowyparser_potrzebne_modul.LiczonyHNumer();
tab_numer_2=tab_numer;
tab_numer={};
pierwszy_dodatni_spis_tresci=true;
elseif((pierwszy_dodatni_spis_tresci)and(poziom_spisu_tresci>=poziom_rozdzialu))then
HNumer=HNumer_2;
HNumer_2=nil;
tab_numer=tab_numer_2;
tab_numer_2=nil;
pierwszy_dodatni_spis_tresci=false;
end;
else
i=i+1;
----
local wartosc=__FUNKCJA(poziomowo,i,tab_numer,ktory,parametr_pierwszy_szablonu,rozdzial);
---
if(wartosc)then return wartosc;end;
---
if((czy_jest_teraz_spis_tresci)and(not pierwszy_dodatni_spis_tresci))then
i_2=i;
i=0;
pierwszy_dodatni_spis_tresci=true;
elseif((pierwszy_dodatni_spis_tresci)and(poziom_spisu_tresci>=poziom_rozdzialu))then
i=i_2;
i_2=nil;
pierwszy_dodatni_spis_tresci=false;
end;
end;
end;
end;
end;
end;
p["PobierzNumerNagłówka"]=function(frame)
local s=1;
local function __FUNKCJA(poziomowo,i,tab_numer,ktory,naglowek,rozdzial)
if(naglowek==rozdzial)then
if(s==ktory)then
if(poziomowo)then
if(#tab_numer==0)then return;end;
return table.concat(tab_numer,".");
else
return i;
end;
end;
s=s+1;
end;
end;
return PobiezNumerLubNazweNaglowka(frame,__FUNKCJA,false);
end;
p["PobierzNazwęNagłówka"]=function(frame)
local s=1;
local function __FUNKCJA(poziomowo,i,tab_numer,ktory,numer,rozdzial)
if(poziomowo)then
if(#tab_numer==0)then return;end;
if(numer==table.concat(tab_numer,"."))then
if(s==ktory)then
return rozdzial;
else
s=s+1;
end;
end;
elseif(numer==i)then
if(s==ktory)then
return rozdzial;
else
s=s+1;
end;
end
end;
return PobiezNumerLubNazweNaglowka(frame,__FUNKCJA,true);
end;
local function PobierzNumerLubNazweArtykulu(frame,tabela_listy_danych_analizy_ksiazki,__FUNKCJA,typ,zbieraj_dane)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame,tabela_listy_danych_analizy_ksiazki);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame,tabela_listy_danych_analizy_ksiazki);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local parametry_modul=require("Module:Parametry");
local naglowek=parametry_modul.CzyTak(args["nagłówek"]);
local tab_artykul=(not naglowek)and {} or nil;
local poziomowo=parametry_modul.CzyTak(args["poziomowo"]);
local tab_poziomowo={};
local tab_poziomowo_1={};
local tab_poziomowo_2={};
local html_modul=require("Module:Html");
local pierwszy_parametr_szablonu=args[1] and (typ and ((not poziomowo) and (tonumber(args[1]) or 1) or args[1])
or ((not naglowek) and mw.ustring.gsub(html_modul["PoprawAdresNagłówkaStronyAdresu"](html_modul["TransformacjaKoduZnakuDoZnakuŁancucha"](args[1])),"^([^#]*)#(.*)$","%1") or html_modul["PoprawAdresNagłówkaStronyAdresu"](html_modul["TransformacjaKoduZnakuDoZnakuŁancucha"](args[1])))
)
or (typ and 1 or "Przykładowy artykuł");
local ktory=(tonumber(args["ktory"]) or 1);
local i=(not poziomowo) and 1 or nil;
local stronicowyparser_obiekty=mw.loadData("Module:StronicowyParser/obiekty");
local tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek;
local tab_rozdzialow_glownych_spisow_tresci_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_glownych_spisow_tresci_ksiazek;
--local HNumer=poziomowo and stronicowyparser_potrzebne_modul.LiczonyHNumer() or nil;
local HNumerPoziomow_4=nil--poziomowo and stronicowyparser_potrzebne_modul.LiczonyHNumer() or nil;
local HNumerPoziomow_3=nil
local HNumerPoziomow_2=nil;
local HNumerPoziomow_1=nil;
local HNumerPoziomow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
local HNumerPoziomowNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
local HNumerPoziomowNaglowkow_1=nil;
local HNumerPoziomowNaglowkow_2=nil;
--local HNumerPoziomowInnychNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
local tab_numer=poziomowo and {} or nil;
tab_numer_1=nil;
tab_numer_3=nil
tab_numer_4=nil;--poziomowo and {} or nil;
local spis=false;
local czy_poziom_spisu_tresci=nil;
local pierwszy_dodatni_naglowek=nil;
local pierwszy_ujemny_naglowek=nil;
local juz_nie_rozwazaj_spisu_tresci=nil;
local juz_nie_rozwazaj_rozdzialu_spisu_tresci=nil;
local poprzedni_poziom_znakowy_rozdzialu=nil;
local poprzedni_tab_poziomowo=nil;
local poziom_pierwszego_dodatniego_naglowka=0;
local poziom_pierwszego_ujemnego_naglowka=0;
local poziom_zerowego_naglowka=0;
local poziom_spisu_tresci_naglowka=0;
local numer_poziomu=nil;
local ostatni_rozdzial_dodatni=nil;
local pierwszy_rozdzial_dodatni=nil;
local glowny_dodatni_rozdzial=nil;
local glowny_ujemny_rozdzial=nil;
local spis_tresci=nil;
local poziom_pierwszego_ujemnego_spisu_tresci=nil;
local ostatni_poczatek_artykulu=nil;
local pierwszy_rowny_rozdzial=nil;
local prawdziwy_poziom_rozdzialu=nil;
local artykuly_w_rozdziale=nil;
local spis_tresci_zerowy;
local poziom_zerowy;
local rozdzial;
local czy_pierwszy_nilowy=nil;
for m,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
local tab_poprzedni_artykul_w_bazie=nil;
local poziom_rozdzialu;
local poziom_poczatku_rozdzialu=nil;
local poziom_znakowy_rozdzialu=nil;
local poziom_naglowka=nil;
if(poziomowo)then
local czy_nienilowy_rozdzial=tab_lista[1][2][1];
czy_pierwszy_nilowy=(m==1)and (czy_nienilowy_rozdzial==nil) or czy_pierwszy_nilowy;
poziom_rozdzialu=czy_nienilowy_rozdzial or 0;
prawdziwy_poziom_rozdzialu=poziom_rozdzialu;
poziom_poczatku_rozdzialu=tab_lista[1][2][2];
--if(m>1)then
rozdzial=tab_lista[1][1];
rozdzial,_=mw.ustring.gsub(rozdzial,"'+","");
--end;
tab_poziomowo={};
--[[local czy_jest_teraz_spis_tresci=((m>1)and(not spis_tresci_zerowy or not poziom_zerowy)or((m==1)and(spis_tresci_zerowy)))
and ((m==1) and true or tab_rozdzialow_glownych_spisow_tresci_ksiazek[rozdzial])]]
local czy_jest_teraz_spis_tresci=(not juz_nie_rozwazaj_rozdzialu_spisu_tresci)
and((m==1)and (czy_nienilowy_rozdzial and tab_rozdzialow_glownych_spisow_tresci_ksiazek[rozdzial] or ((not czy_nienilowy_rozdzial)and true or false))
or ((m>1)and tab_rozdzialow_glownych_spisow_tresci_ksiazek[rozdzial]
or false));
if((m>1)and(czy_pierwszy_nilowy))then
czy_jest_teraz_spis_tresci=tab_rozdzialow_glownych_spisow_tresci_ksiazek[rozdzial];
if(czy_jest_teraz_spis_tresci)then
juz_nie_rozwazaj_rozdzialu_spisu_tresci=nil;
juz_nie_rozwazaj_spisu_tresci=nil;
czy_pierwszy_nilowy=nil;
pierwszy_ujemny_spis_tresci=nil;
end;
end;
local czy_nie_ten_rozdzial;
if((not juz_nie_rozwazaj_spisu_tresci)and(not juz_nie_rozwazaj_rozdzialu_spisu_tresci)and(czy_jest_teraz_spis_tresci))then
poziom_spisu_tresci=poziom_rozdzialu;
juz_nie_rozwazaj_rozdzialu_spisu_tresci=true;
czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial];
elseif((not juz_nie_rozwazaj_spisu_tresci)and(juz_nie_rozwazaj_rozdzialu_spisu_tresci))then
if((poziom_spisu_tresci<poziom_rozdzialu))then
czy_nie_ten_rozdzial=false;
else
juz_nie_rozwazaj_spisu_tresci=true;
czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial];
end;
else
czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial];
end;
--if(not czy_nie_ten_rozdzial)then
poprzedni_poziom_znakowy_rozdzialu=poziom_znakowy_rozdzialu;
poziom_znakowy_rozdzialu=poziom_rozdzialu;
poziom_rozdzialu=math.abs(poziom_rozdzialu);
artykuly_w_rozdziale=nil;
if(poziom_znakowy_rozdzialu>0)then
poziom_naglowka=poziom_rozdzialu;
poziom_pierwszego_ujemnego_spisu_tresci=nil;
poprzedni_tab_poziomowo=nil;
poziom_zerowego_naglowka=0;
if(glowny_ujemny_rozdzial)then
HNumerPoziomow=HNumerPoziomow_4;
HNumerPoziomow_4=nil;
tab_numer=tab_numer_4;
poziom_pierwszego_ujemnego_naglowka=nil;
glowny_ujemny_rozdzial=nil;
end;
if(pierwszy_ujemny_spis_tresci)then
HNumerPoziomow=HNumerPoziomow_2;
HNumerPoziomow_2=nil;
tab_numer=tab_numer_2;
tab_numer_2=nil;
pierwszy_ujemny_spis_tresci=nil;
czy_poziom_ujemny_spisu_tresci=nil;
end;
if(not glowny_dodatni_rozdzial)then
if((juz_nie_rozwazaj_rozdzialu_spisu_tresci)and(not juz_nie_rozwazaj_spisu_tresci)and(not czy_jest_teraz_spis_tresci)and(not spis_tresci))then
numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu,1);
spis_tresci=true;
else
if(not pierwszy_rozdzial_dodatni)then
pierwszy_rozdzial_dodatni=1;
numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu,1);
else
numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu);
end;
end;
else
numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu,1);
glowny_dodatni_rozdzial=false;
end;
ostatni_rozdzial_dodatni=poziom_rozdzialu;
elseif(poziom_znakowy_rozdzialu<0)then
if(not pierwszy_rowny_rozdzial)then
if((ostatni_poczatek_artykulu)
and(#ostatni_poczatek_artykulu==#poziom_poczatku_rozdzialu)
and(ostatni_poczatek_artykulu~=poziom_poczatku_rozdzialu)
and(mw.ustring.match(ostatni_poczatek_artykulu,"^*"))
and(mw.ustring.match(poziom_poczatku_rozdzialu,"^:"))
)then
poziom_rozdzialu=poziom_rozdzialu+1;
poziom_znakowy_rozdzialu=-poziom_rozdzialu;
pierwszy_rowny_rozdzial=1;
poziom_naglowka=poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka;
else
poziom_naglowka=poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka;
end;
else
if((#ostatni_poczatek_artykulu==#poziom_poczatku_rozdzialu)
and(ostatni_poczatek_artykulu==poziom_poczatku_rozdzialu)
)then pierwszy_rowny_rozdzial=0;end;
poziom_rozdzialu=poziom_rozdzialu+pierwszy_rowny_rozdzial;
poziom_znakowy_rozdzialu=-poziom_rozdzialu;
poziom_naglowka=poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka;
end;
if(not glowny_ujemny_rozdzial)then
--if((juz_nie_rozwazaj_rozdzialu_spisu_tresci)and(not juz_nie_rozwazaj_spisu_tresci)and(not spis_tresci))then
-- numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu,1);
-- spis_tresci=true;
--else
numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka);
--end;
local numer_rozdzialu_dodatniego=HNumerPoziomowNaglowkow(0) or 0;
if(numer_rozdzialu_dodatniego>=numer_rozdzialu)then
numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka,numer_rozdzialu_dodatniego+1);
end;
else
numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka,(HNumerPoziomowNaglowkow(0) or 0)+1);
glowny_ujemny_rozdzial=false;
end;
else
if((m>1)or((m==1)and((not czy_pierwszy_nilowy)or(not czy_jest_teraz_spis_tresci))))then
poziom_zerowego_naglowka=1;
numer_rozdzialu=HNumerPoziomow( 1 + (ostatni_rozdzial_dodatni or 0) + 0);
poziom_znakowy_rozdzialu=-1;
poziom_rozdzialu=1;
poziom_naglowka= 1 + (ostatni_rozdzial_dodatni or 0) + 0;
else
poziom_zerowego_naglowka=0;
numer_rozdzialu=0;
poziom_naglowka=(ostatni_rozdzial_dodatni or 0) + 0;
end;
end;
local numer;
if(poziom_znakowy_rozdzialu>0)then
local numer=HNumerPoziomowNaglowkow(poziom_znakowy_rozdzialu);
--HNumerPoziomowInnychNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
elseif(poziom_znakowy_rozdzialu<0)then
--local numer=HNumerPoziomowInnychNaglowkow(-poziom_znakowy_rozdzialu);
end;
if((m>1)
and(tab_lista_artykulow_w_ksiazce[m-1])
and(tab_lista_artykulow_w_ksiazce[m-1][2])
and(#tab_lista_artykulow_w_ksiazce[m-1][2][1]>0)
and(tab_lista_artykulow_w_ksiazce[m-1][2][#tab_lista_artykulow_w_ksiazce[m-1][2]][2][1]==0)
)then
local lens_tab_numer=#tab_numer;
local roznica=math.min(#poprzedni_tab_poziomowo+#tab_numer,numer_rozdzialu)-#tab_numer;
roznica=((roznica>0) and roznica or 0);
for i=1,roznica,1 do
tab_numer[i+lens_tab_numer]=poprzedni_tab_poziomowo[i];
end;
end;
if((czy_jest_teraz_spis_tresci)and(juz_nie_rozwazaj_rozdzialu_spisu_tresci))then
if(poziom_znakowy_rozdzialu>0)then
poziom_spisu_tresci_naglowka=poziom_rozdzialu;
else
poziom_pierwszego_ujemnego_spisu_tresci=poziom_rozdzialu;
end;
end;
if(poziom_rozdzialu>0)then
if((((czy_poziom_dodatni_spisu_tresci)and(poziom_znakowy_rozdzialu>0))or((czy_poziom_ujemny_spisu_tresci)and(poziom_znakowy_rozdzialu<0)))
and(poziom_spisu_tresci)and(poziom_spisu_tresci>=poziom_rozdzialu)
)then
if(poziom_znakowy_rozdzialu>0)then
tab_numer=tab_numer_1;
tab_poziomowo={};
poziom_spisu_tresci=nil;
HNumerPoziomow=HNumerPoziomow_1;
HNumerPoziomowNaglowkow=HNumerPoziomowNaglowkow_1;
czy_poziom_dodatni_spisu_tresci=false;
elseif(poziom_znakowy_rozdzialu<0)then
tab_numer=tab_numer_2;
tab_poziomowo={};
poziom_spisu_tresci=nil;
HNumerPoziomow=HNumerPoziomow_2;
--HNumerPoziomowNaglowkow=HNumerPoziomowNaglowkow_2;
czy_poziom_ujemny_spisu_tresci=false;
pierwszy_ujemny_spis_tresci=nil;
end;
end;
local hnumer=numer_rozdzialu;
if(poprzedni_tab_poziomowo)then
local lens=math.min(#poprzedni_tab_poziomowo,hnumer-#tab_numer);
local len_tab_numer=#tab_numer;
for i=1,lens,1 do
tab_numer[len_tab_numer+i]=poprzedni_tab_poziomowo[i];
end;
for i=lens+1,#tab_numer do
tab_numer[len_tab_numer+i]=nil;
end;
end;
if(#tab_numer<hnumer)then
for i=#tab_numer+1,hnumer,1 do
table.insert(tab_numer,1);
end;
elseif(#tab_numer>hnumer)then
for i=#tab_numer, hnumer+1,-1 do
table.remove(tab_numer,i);
end;
tab_numer[#tab_numer]=(tab_numer[#tab_numer] or 0) + 1;
else
tab_numer[#tab_numer]=(tab_numer[#tab_numer] or 0) + 1;
end;
else
--[[if(poziom_rozdzialu==0)then
if(tab_lista_artykulow_w_ksiazce[m+1])then
if(tab_lista_artykulow_w_ksiazce[m+1][1][2]>0)then
tab_numer={0,};
elseif(tab_lista_artykulow_w_ksiazce[m+1][1][2]<0)then
tab_numer={};
end;
else
tab_numer={};
end;
end;]]
end;
--end;
if((czy_jest_teraz_spis_tresci)and(((not pierwszy_dodatni_spis_tresci)and(poziom_znakowy_rozdzialu>0))or((not pierwszy_ujemny_spis_tresci)and(poziom_znakowy_rozdzialu<0))))then
function Poziom_dodatni()
for s,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
if(s>m)then
if((tab_lista[1][2][1] or 0)>0)then
if(math.abs(tab_lista[1][2][1] or 0)>poziom_rozdzialu)then
return true;
else
return false;
end;
end;
end;
end;
return false;
end;
local function czy_inaczej_numeruj_rozdzial_dodatni()
if(tab_lista_artykulow_w_ksiazce[m][2])then
for p,artykul_w_bazie in ipairs(tab_lista_artykulow_w_ksiazce[m][2])do
return true;
end;
end;
end;
local function czy_inaczej_numeruj_rozdzial_ujemny()
if(tab_lista_artykulow_w_ksiazce[m][2])then
for p,artykul_w_bazie in ipairs(tab_lista_artykulow_w_ksiazce[m][2])do
local poziom_artykulu=artykul_w_bazie[2][1];
if(prawdziwy_poziom_rozdzialu~=0)then
if(poziom_artykulu>poziom_rozdzialu)then
return true;
end;
else
return true;
end;
end;
end;
return false;
end;
if((poziom_znakowy_rozdzialu>0)and((czy_inaczej_numeruj_rozdzial_dodatni())or(Poziom_dodatni())))then
tab_poziomowo_1=tab_poziomowo;
tab_poziomowo={};
czy_poziom_dodatni_spisu_tresci=true;
HNumerPoziomow_1=HNumerPoziomow;
HNumerPoziomow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
HNumerPoziomowNaglowkow_1=HNumerPoziomowNaglowkow;
HNumerPoziomowNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
tab_numer_1=tab_numer;
tab_numer={};
pierwszy_dodatni_spis_tresci=true;
elseif((poziom_znakowy_rozdzialu<0)
and((czy_inaczej_numeruj_rozdzial_ujemny())or((tab_lista_artykulow_w_ksiazce[m+1])
and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)<0)
and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>poziom_rozdzialu))))then
tab_poziomowo_2=tab_poziomowo;
tab_poziomowo={};
czy_poziom_ujemny_spisu_tresci=true;
HNumerPoziomow_2=HNumerPoziomow;
HNumerPoziomow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
--HNumerPoziomowNaglowkow_2=HNumerPoziomowNaglowkow;
--HNumerPoziomowNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
tab_numer_2=tab_numer;
tab_numer={};
pierwszy_ujemny_spis_tresci=true;
end;
end;
local function OTakimSamymLubMniejszymPoziomie(m)
if(poziom_rozdzialu==0)then return true;end;
local lens=parametry_modul["LiczbaElementówNumerowanychTablicy"](tab_lista_artykulow_w_ksiazce);
if(m==lens)then return true;end;
if(poziom_znakowy_rozdzialu>0)then
for k=m+1,lens,1 do
if(tab_lista_artykulow_w_ksiazce[k])then
if((tab_lista_artykulow_w_ksiazce[k][1][2][1] or 0)>0)then
if(math.abs(tab_lista_artykulow_w_ksiazce[k][1][2][1] or 0)<=poziom_rozdzialu)then
return true;
end;
end;
end;
end;
elseif(((m==1)or((tab_lista_artykulow_w_ksiazce[m-1])and((tab_lista_artykulow_w_ksiazce[m-1][1][2][1] or 0)>0)))and(poziom_znakowy_rozdzialu<0))then
if(tab_lista[2])then
for p,artykul_w_bazie in ipairs(tab_lista[2])do
local poziom_artykulu=artykul_w_bazie[2][1];
if(poziom_artykulu<=-prawdziwy_poziom_rozdzialu)then
return true;
end;
end;
end;
local poziom_zerowego_naglowka_innego=0;
for k=m+1,lens,1 do
if(tab_lista_artykulow_w_ksiazce[k])then
if((tab_lista_artykulow_w_ksiazce[k][1][2][1] or 0)<=0)then
local ile=tab_lista_artykulow_w_ksiazce[k][1][2][1] or 0;
if(ile==0)then
if((czy_jest_teraz_spis_tresci)and(m==1))then
poziom_zerowego_naglowka_innego=poziom_zerowego_naglowka;
else
poziom_zerowego_naglowka_innego=1;
end;
end;
if(math.abs(tab_lista_artykulow_w_ksiazce[k][1][2][1] or 0)+poziom_zerowego_naglowka_innego<=poziom_rozdzialu)then
return true;
end;
else
break;
end;
end;
end;
else
return true;
end;
end;
-- if(not czy_nie_ten_rozdzial)then
if((tab_lista[2])
and(tab_lista[2][1])
and(tab_lista[2][1][2][1]==0)
and(not tab_lista[2][1][4])
and(tab_lista_artykulow_w_ksiazce[m+1])
and(((poziom_znakowy_rozdzialu>0)
and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>0)
and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>poziom_rozdzialu)
)or(
((poziom_znakowy_rozdzialu<0)
and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)<0)
and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)+poziom_zerowego_naglowka>poziom_rozdzialu)
)
)or(
(poziom_znakowy_rozdzialu==0)and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)~=0)
))
)then
if(m==1)then
tab_numer={0,}
else
table.insert(tab_numer,0);
end;
elseif((m==1)and(not tab_lista_artykulow_w_ksiazce[m+1]))then
tab_numer={};
elseif((poziomowo)and(m==1)and(czy_pierwszy_nilowy)and(poziom_znakowy_rozdzialu==0)and(tab_lista_artykulow_w_ksiazce[m+1])and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)<0))then
tab_numer={};
elseif((poziomowo)and(m==1)and(czy_pierwszy_nilowy)and(poziom_znakowy_rozdzialu==0)and(tab_lista_artykulow_w_ksiazce[m+1])and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>0))then
tab_numer={0,}
elseif((poziomowo)and(m==2)and(czy_pierwszy_nilowy)and(poziom_znakowy_rozdzialu<0)and(tab_lista_artykulow_w_ksiazce[m-1])and((tab_lista_artykulow_w_ksiazce[m-1][1][2][1] or 0)==0))then
if(poprzedni_tab_poziomowo)then
local min=math.min(math.abs(numer_rozdzialu),#poprzedni_tab_poziomowo);
for i=#poprzedni_tab_poziomowo,min+1,-1 do
table.remove(poprzedni_tab_poziomowo,i)
end;
tab_numer=poprzedni_tab_poziomowo;
tab_numer[#tab_numer]=(tab_numer[#tab_numer] or 0)+1;
end;
elseif((not czy_jest_teraz_spis_tresci)and(((not pierwszy_dodatni_naglowek)and(poziom_znakowy_rozdzialu>0))or((not pierwszy_ujemny_naglowek)and(poziom_znakowy_rozdzialu<0))))then
if(poziom_rozdzialu>0)then
if(not OTakimSamymLubMniejszymPoziomie(m))then
if(poziom_znakowy_rozdzialu>0)then
HNumerPoziomowNaglowkow_2=HNumerPoziomowNaglowkow;
HNumerPoziomowNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
tab_numer_3=tab_numer;
tab_numer={0,};
HNumerPoziomow_3=HNumerPoziomow;
HNumerPoziomow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
pierwszy_dodatni_naglowek=true;
poziom_pierwszego_dodatniego_naglowka=poziom_rozdzialu;
glowny_dodatni_rozdzial=true;
else
tab_numer_4=tab_numer;
tab_numer=parametry_modul["KopiujTabelęElementów"](tab_numer);
tab_numer[#tab_numer]=nil;
HNumerPoziomow_4=HNumerPoziomow;
HNumerPoziomow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
if(poziom_naglowka or 0>0)then
HNumerPoziomow(poziom_naglowka,#tab_numer);
end;
pierwszy_ujemny_naglowek=true;
poziom_pierwszego_ujemnego_naglowka=poziom_rozdzialu;
glowny_ujemny_rozdzial=true;
end;
else
if(poziom_znakowy_rozdzialu>0)then pierwszy_dodatni_naglowek=true;else pierwszy_ujemny_naglowek=true;end;
end;
end;
elseif((czy_jest_teraz_spis_tresci)and(not czy_nie_ten_rozdzial))then
if((not spis)and(poziom_rozdzialu>0)
and(tab_lista_artykulow_w_ksiazce[m+1])
and((
(poziom_znakowy_rozdzialu>0)
and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>0)
and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>poziom_rozdzialu)
)or(
(poziom_znakowy_rozdzialu<0)
and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)<0)
and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>poziom_rozdzialu)
))
)then
tab_numer={0,};
spis=true;
end
elseif((tab_lista_artykulow_w_ksiazce[m+1])
and((
(poziom_znakowy_rozdzialu>0)
and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>0)
and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>poziom_rozdzialu)
)--[[or(
(poziom_znakowy_rozdzialu<0)
and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)<0)
and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>poziom_rozdzialu)
)]])
)then
table.insert(tab_numer,0);
end;
-- end;
end;
if(tab_lista[2])then
local HNumerArtykulu=stronicowyparser_potrzebne_modul.LiczonyHNumer();
local HNumerPoziomu=stronicowyparser_potrzebne_modul.LiczonyHNumer();
local czy_tytul_rozdzial=nil;local poprzedni_b=nil;local ile_odjac=0;
local HNumerB=nil;
local poprzedni_poziom_artykulu=nil;
local czy_ma_elementy=nil;
local poziom_poprzedni_artykulu=nil;
for p,artykul_w_bazie in ipairs(tab_lista[2])do
local artykul=artykul_w_bazie[1][1] or artykul_w_bazie[1];
artykul=(not naglowek)and mw.ustring.gsub(artykul,"^([^#]*)#(.*)$","%1") or artykul;
if(naglowek or not tab_artykul[artykul])then
pierwszy_rowny_rozdzial=nil;
czy_ma_elementy=true;
if(not naglowek)then
tab_artykul[artykul]=true;
end;
local tab_artykul_w_bazie;
if(poziomowo)then
local poziom_artykulu=artykul_w_bazie[2][1];
local poziom_poczatku_artykulu=artykul_w_bazie[2][2];
local w_rozdziale=artykul_w_bazie[2][4];
if(w_rozdziale)then
--if((w_rozdziale)and(not tab_lista[2][p+1]))then
-- local wartosc=__FUNKCJA(poziomowo,i,ktory,pierwszy_parametr_szablonu,rozdzial,artykul,tab_numer,{});
-- if(wartosc)then return wartosc;end;
--end;
function CzyRozdzialMaArtykulyWewnetrzne()
for s,artykul_w_bazie in ipairs(tab_lista[2])do
if(s>p)then
if((tab_lista[2][s])and(not tab_lista[2][s][2][4]))then
return true;
end;
end;
end;
return false;
end;
function CzyRozdzialMaRozdzialyWewnetrzne()
for s,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
if(s>m)then
local poziom_rozdzialu=tab_lista[1][2][1] or 0;
if(poziom_rozdzialu<0)then
return true;
end;
end;
end;
return false;
end;
if((not artykuly_w_rozdziale)and((CzyRozdzialMaArtykulyWewnetrzne())or(CzyRozdzialMaRozdzialyWewnetrzne())))then
tab_numer[#tab_numer+1]=0;
artykuly_w_rozdziale=true;
end;
elseif(artykuly_w_rozdziale)then
artykuly_w_rozdziale=nil;
table.remove(tab_numer,#tab_numer);
tab_poziomowo={};
end;
ostatni_poczatek_artykulu=poziom_poczatku_artykulu;
local function ToNumberPoziomArtykulu(poziom_artykulu)
local numer=tonumber(poziom_artykulu) or 1;
if(numer<1)then numer=1;end;
return numer;
end;
poziom_artykulu=ToNumberPoziomArtykulu(poziom_artykulu);
local poziom_czysty_artykulu=poziom_artykulu;
poziom_artykulu=poziom_artykulu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka;
if((poziom_poczatku_artykulu)and(poziom_poczatku_rozdzialu)
and(#poziom_poczatku_artykulu==#poziom_poczatku_rozdzialu)
and(poziom_poczatku_artykulu~=poziom_poczatku_rozdzialu)
and(mw.ustring.match(poziom_poczatku_rozdzialu,"^*"))
and((mw.ustring.match(poziom_poczatku_artykulu,"^:"))
or (mw.ustring.match(poziom_poczatku_artykulu,"^#"))
)
)then
poziom_artykulu=poziom_artykulu+1;
poziom_czysty_artykulu=poziom_czysty_artykulu+1;
end;
local numer_poziomu=HNumerPoziomow(poziom_artykulu);
if(p>1)then
local numer_poprzedni=tonumber(tab_lista[2][p-1][2][1]) or 1;
local id_poprzednie=tab_lista[2][p-1][4];
local numer=tonumber(tab_lista[2][p][2][1]) or 1;
local id=tab_lista[2][p][4];
if((numer_poprzedni==0)and(not id_poprzednie)and(not id)and(numer>0))then
if(#tab_numer>(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka)then
tab_numer[#tab_numer]=(tab_numer[#tab_numer] or 0)+1;
tab_poziomowo={};
end;
end;
end;
local prefix_poziom_artykulu=poziom_artykulu;
local b=0;
local tab_artykul_w_bazie=mw.text.split(artykul,"/");
if(tab_poprzedni_artykul_w_bazie)then
if(poprzedni_poziom_artykulu)then
if(poprzedni_poziom_artykulu==poziom_artykulu)then
for c=1,#tab_artykul_w_bazie,1 do
local podstrona_artykul=tab_artykul_w_bazie[c];
local podstrona_nazwy_artykulu=tab_poprzedni_artykul_w_bazie[c];
if(podstrona_artykul==podstrona_nazwy_artykulu)then
b=b+1;
end;
end;
else
b=0;
end;
end;
if(poziom_znakowy_rozdzialu<0)then
if(#tab_numer~=0)then
if(poziom_artykulu<=(poziom_pierwszego_ujemnego_naglowka or 0))then
tab_poziomowo=tab_numer_4;
tab_numer={};
HNumerArtykulu=HNumerPoziomow_4;
elseif((poziom_poprzedni_artykulu)and(poziom_artykulu>(poziom_pierwszego_ujemnego_naglowka or 0))and(poziom_poprzedni_artykulu>(poziom_pierwszego_ujemnego_spisu_tresci or 0))and(poziom_artykulu<=(poziom_pierwszego_ujemnego_spisu_tresci or 0)))then
HNumerArtykulu=stronicowyparser_potrzebne_modul.LiczonyHNumer();
for i=#tab_poziomowo,numer_poziomu+1,-1 do
table.remove(tab_numer,i);
end;
tab_numer[#tab_numer]=(tab_numer[#tab_numer] or 0 ) + 1;
tab_poziomowo=tab_numer;
tab_numer={};
elseif((poziom_naglowka>=poziom_artykulu)or((poziom_rozdzialu==poziom_czysty_artykulu)
and((numer_poziomu<numer_rozdzialu)
or((numer_poziomu==numer_rozdzialu)
and(poziom_poczatku_rozdzialu==poziom_poczatku_artykulu)
))
))then
local tab_numer2={};
for i=1,(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka,1 do
tab_numer2[i]=tab_numer[i];
end;
local tab_poziomowo2={};
for i=(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka+1,#tab_numer,1 do
tab_poziomowo2[i-(HNumerPoziomowNaglowkow(0) or 0)-poziom_zerowego_naglowka]=tab_numer[i];
end;
local indeks=(((HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka+1>#tab_numer) and 0 or (#tab_numer-(HNumerPoziomowNaglowkow(0) or 0)-poziom_zerowego_naglowka));
for i=1,numer_poziomu,1 do
tab_poziomowo2[i+indeks]=tab_poziomowo[i];
end;
tab_numer=tab_numer2;
tab_poziomowo=tab_poziomowo2;
--[[tab_poziomowo=tab_numer;
tab_numer={};]]
HNumerArtykulu=stronicowyparser_potrzebne_modul.LiczonyHNumer();
--local numer_poziomu=HNumerPoziomow(poziom_artykulu+(ostatni_rozdzial_dodatni or 0),#tab_poziomowo+1);
end;
end;
end;
elseif(#tab_numer>numer_poziomu)then
tab_poziomowo={};
tab_poziomowo[1]=tab_numer[numer_poziomu];
for i=#tab_numer,numer_poziomu,-1 do
table.remove(tab_numer,i);
end;
elseif((#tab_numer<=numer_rozdzialu)and(numer_rozdzialu>=numer_poziomu))then
local numer_rozdzialu_dodatniego=(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka;
if((numer_rozdzialu_dodatniego>0)or((numer_rozdzialu==numer_poziomu)and(poziom_poczatku_rozdzialu==poziom_poczatku_artykulu)))then
if(#tab_numer>=numer_rozdzialu_dodatniego)then
local tab_numer2={};
for i=1,numer_rozdzialu_dodatniego,1 do
tab_numer2[i]=tab_numer[i];
end;
tab_poziomowo={};
for i=numer_rozdzialu_dodatniego+1,#tab_numer,1 do
tab_poziomowo[i-numer_rozdzialu_dodatniego]=tab_numer[i];
end;
tab_numer=tab_numer2;
end;
end;
end;
poprzedni_poziom_artykulu=poziom_artykulu;
local czy_z_rozdzialem=(tab_artykul_w_bazie[1]==rozdzial);
if((p==1)and(czy_z_rozdzialem))then b=1;end;
czy_tytul_rozdzial=((p==1)and true or czy_tytul_rozdzial) and (czy_z_rozdzialem);
local dodatek=b-((czy_tytul_rozdzial)and 0 or 1);
dodatek=((dodatek>0)and dodatek or 0);
if((poziomowo)and(poziom_znakowy_rozdzialu<0))then
if(poziom_naglowka>=poziom_artykulu)then
local numer_poziomu=HNumerPoziomu(poziom_naglowka,numer_rozdzialu-(HNumerPoziomowNaglowkow(0) or 0));
end;
end;
local stala=poziom_artykulu;
local numer_poziomu=HNumerPoziomu(stala);
poziom_artykulu=stala+dodatek;
local numer=HNumerArtykulu(poziom_artykulu);
local roznica=numer_poziomu-numer;
if(roznica>0)then
numer=HNumerArtykulu(poziom_artykulu,numer_poziomu);
end;
if(#tab_poziomowo<numer)then
for i=#tab_poziomowo+1,numer,1 do
table.insert(tab_poziomowo,1);
end;
else
if(#tab_poziomowo>numer)then
for i=#tab_poziomowo,numer+1,-1 do
table.remove(tab_poziomowo,i);
end;
end;
tab_poziomowo[#tab_poziomowo]=(tab_poziomowo[#tab_poziomowo] or 0)+1;
end;
tab_poprzedni_artykul_w_bazie=tab_artykul_w_bazie;
poziom_poprzedni_artykulu=poziom_artykulu;
end;
local wartosc=__FUNKCJA(poziomowo,i,ktory,pierwszy_parametr_szablonu,rozdzial,artykul,tab_numer,tab_poziomowo);
if(poziomowo)then
if(tab_lista[2][p+1])then
local numer_nastepny=tonumber(tab_lista[2][p+1][2][1]) or 1;
local id_nastepny=tab_lista[2][p+1][4];
local numer=tonumber(tab_lista[2][p][2][1]) or 1;
local id=tab_lista[2][p][4];
if((numer_nastepny==0)and(not id_nastepny)and(not id)and(numer>0))then
tab_poziomowo={tab_numer[(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka+1],};
for i=#tab_numer,(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka+1,-1 do
table.remove(tab_numer,i);
end;
end;
end;
poprzedni_tab_poziomowo=tab_poziomowo;
end;
if(wartosc)then return wartosc;end;
if(not poziomowo)then
i=i+1;
end;
end;
end;
if(not czy_ma_elementy)then
poprzedni_tab_poziomowo=nil;
if(zbieraj_dane)then local wartosc=__FUNKCJA(poziomowo,i,ktory,pierwszy_parametr_szablonu,rozdzial,"",tab_numer,{}); end;
end;
else
poprzedni_tab_poziomowo=nil;
if(zbieraj_dane)then local wartosc=__FUNKCJA(poziomowo,i,ktory,pierwszy_parametr_szablonu,rozdzial,"",tab_numer,{}); end;
end;
end;
return;
end;
p["PobierzNazwęArtykułu"]=function(frame,tabela_listy_danych_analizy_ksiazki)
local s=1;
local function __FUNKCJA(poziomowo,i,ktory,numer,rozdzial,artykul,tab_numer,tab_poziomowo)
if((not poziomowo)and(i==numer))then
if(s==ktory)then
return artykul;
else
s=s+1;
end;
elseif(poziomowo)then
if((table.concat(tab_numer,".")
..((#tab_numer>0) and "." or "")
..table.concat(tab_poziomowo,"."))==numer)then
if(s==ktory)then
return artykul;
else
s=s+1;
end;
end;
end;
end;
return PobierzNumerLubNazweArtykulu(frame,tabela_listy_danych_analizy_ksiazki,__FUNKCJA,true);
end;
p["PobierzNumerArtykułu"]=function(frame,tabela_listy_danych_analizy_ksiazki)
local s=1;
local function __FUNKCJA(poziomowo,i,ktory,nazwa_artykulu,rozdzial,artykul,tab_numer,tab_poziomowo)
if(nazwa_artykulu==artykul)then
if(s==ktory)then
if(poziomowo)then
return (table.concat(tab_numer,".")..((#tab_numer>0) and ((#tab_poziomowo>0) and "." or "") or "")..table.concat(tab_poziomowo,"."));
else
return i;
end;
end;
s=s+1;
end;
end;
return PobierzNumerLubNazweArtykulu(frame,tabela_listy_danych_analizy_ksiazki,__FUNKCJA,false);
end;
p["PobierzDaneKsiążki"]=function(frame,tabela_listy_danych_analizy_ksiazki,kodowanie_nie_json)
local tab_dane_ksiazki=nil;
local s=1;
local function __FUNKCJA(poziomowo,i,ktory,nazwa_artykulu,rozdzial,artykul,tab_numer,tab_poziomowo)
if(not tab_dane_ksiazki)then tab_dane_ksiazki={};end;
if(not tab_dane_ksiazki[rozdzial])then tab_dane_ksiazki[rozdzial]={};end;
local numer_rozdzialu=tab_numer and table.concat(tab_numer,".") or "";
repeat
numer_rozdzialu=mw.ustring.gsub(numer_rozdzialu,"%.0$","")
until not mw.ustring.match(numer_rozdzialu,"%.0$");
if(not tab_dane_ksiazki[rozdzial][numer_rozdzialu])then
tab_dane_ksiazki[rozdzial][numer_rozdzialu]={};
end;
if(not tab_dane_ksiazki[rozdzial][numer_rozdzialu][artykul])then
tab_dane_ksiazki[rozdzial][numer_rozdzialu][artykul]={};
end;
local numer_artykulu=tab_poziomowo and table.concat(tab_poziomowo,".") or "";
if(not tab_dane_ksiazki[rozdzial][numer_rozdzialu][artykul][numer_artykulu])then
tab_dane_ksiazki[rozdzial][numer_rozdzialu][artykul][numer_artykulu]={};
end;
table.insert(tab_dane_ksiazki[rozdzial][numer_rozdzialu][artykul][numer_artykulu],s);
s=s+1;
return false;
end;
PobierzNumerLubNazweArtykulu(frame,tabela_listy_danych_analizy_ksiazki,__FUNKCJA,false,true);
return (not kodowanie_nie_json) and mw.text.jsonEncode(tab_dane_ksiazki,mw.text.JSON_PRESERVE_KEYS) or tab_dane_ksiazki;
end;
p["SubNazwaNadArtykułu"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local numer=tonumber(args[1]) or 0;
local krok=tonumber(args[2])or 1;
local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame);
return stronicowyparser_potrzebne_modul.SubNazwaNadStrony(nazwa_artykulu,numer,krok);
end;
p["NazwaNadArtykułu"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local numer=tonumber(args[1]) or 1;
local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame);
return stronicowyparser_potrzebne_modul.SubNazwaNadStrony(nazwa_artykulu,1,numer);
end;
p["NazwaLinkuArtykułu"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame);
local ostatni_artykul;
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
if(tab_lista[2])then
for _,artykul_w_bazie in ipairs(tab_lista[2])do
if(type(artykul_w_bazie[1])~="table")then
if(artykul_w_bazie[1]==nazwa_artykulu)then
return artykul_w_bazie[1];
end;
elseif(artykul_w_bazie[1][1]==nazwa_artykulu)then
return artykul_w_bazie[1][2];
end;
end;
end;
end;
return "(błąd)";
end;
p["LiczbaArtykułówKsiążki"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local parametry_modul=require("Module:Parametry");
local args=stronicowyparser_potrzebne_modul:Args();
local naglowek=parametry_modul.CzyTak(args["nagłówek"]);
local tab_artykul=(not naglowek) and {} or nil;
local i=0;
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
if(tab_lista[2])then
for _,artykul_w_bazie in ipairs(tab_lista[2])do
local nazwa_artykulu=artykul_w_bazie[1][1] or artykul_w_bazie[1];
local artykul=(not naglowek) and mw.ustring.gsub(nazwa_artykulu,"^([^#]*)#(.*)$","%1") or nazwa_artykulu;
if(naglowek or not tab_artykul[artykul])then
if(not naglowek)then
tab_artykul[artykul]=true;
end;
i=i+1;
end;
end;
end;
end;
return i;
end;
p["LiniaArtykułuKsiążki"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame);
local parametry_modul=require("Module:Parametry");
local args=stronicowyparser_potrzebne_modul:Args();
local czy_analiza=parametry_modul.CzyTak(args["analiza"]);
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
if(tab_lista[2])then
for _,artykul_w_bazie in ipairs(tab_lista[2])do
local artykul_ksiazki=artykul_w_bazie[1][1] or artykul_w_bazie[1];
if(artykul_ksiazki==nazwa_artykulu)then
if(not czy_analiza)then
return artykul_w_bazie[3];
else
local function AnalizaLiniiArtykolow()
local czy_spis_tresci=mw.ustring.match(artykul_w_bazie[3],"({{%s*[Ss]pisTreści%s*|[^{}]*}})");
if(czy_spis_tresci)then
local techniczne_modul=require("Module:Techniczne");
local parametry_szablony=techniczne_modul["ParsujWywołanieSzablonu"](czy_spis_tresci);
local nazwa_artykulu=parametry_szablony[1];
------
local nazwa_ksiazki=stronicowyparser_potrzebne_modul:PelnaNazwaKsiazki(frame);
local pelna_nazwa_strony=(nazwa_artykulu=="")and nazwa_ksiazki or nazwa_ksiazki.."/"..nazwa_artykulu;
local link= "[["..pelna_nazwa_strony.."|"..nazwa_artykulu.."]]";
local linia2,_=mw.ustring.gsub(artykul_w_bazie[3],"({{%s*[Ss]pisTreści%s*|[^{}]*}})",link);
return linia2;
else
local czy_spis_tresci=mw.ustring.match(artykul_w_bazie[3],"({{%s*[Ss]ekcja[%s_]+referencyjna%s*|[^{}]*}})");
if(czy_spis_tresci)then
local linia2,_=mw.ustring.gsub(artykul_w_bazie[3],"({{%s*[Ss]ekcja[%s_]+referencyjna%s*|)","%1astandardowo=tak|");
return linia2;
else
local nazwa_ksiazki=stronicowyparser_potrzebne_modul:PelnaNazwaKsiazki(frame);
local function adresuj_linki(a,b)
return "[["..nazwa_ksiazki.."/"..a..(b or "").."]]";
end;
local artykul=mw.ustring.gsub(artykul_w_bazie[3],"%[%[%s*/([^%[%]|]-)/*%s*(|.*)%]%]",adresuj_linki);
artykul=mw.ustring.gsub(artykul,"%[%[%s*/([^%[%]|]-)/*%s*%]%]",adresuj_linki);
return artykul;
end;
end;
end;
return AnalizaLiniiArtykolow();
end
end;
end;
end;
end;
local uzupelniaj_sekcje_artykulow=parametry_modul.CzyTak(args["uzupełniaj sekcje artykułów"]);
if(uzupelniaj_sekcje_artykulow)then
if(mw.ustring.match(nazwa_artykulu,"^[^#]*#(.+)$"))then
local naglowek=mw.ustring.match(nazwa_artykulu,"^[^#]*#(.+)$");
if(parametry_modul["CzyTakCiąg"](naglowek))then
local pelna_nazwa_ksiazki=stronicowyparser_potrzebne_modul:PelnaNazwaKsiazki(frame)
return "[["..pelna_nazwa_ksiazki..((nazwa_artykulu~="")and("/"..nazwa_artykulu) or "").."|"..naglowek.."]]";
end;
end;
end;
end;
p["AktualnaKsiążka"]=function(frame,__error)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
return stronicowyparser_potrzebne_modul:PelnaNazwaKsiazki(frame) or ((not __error)and "(błąd)" or nil);
end;
p["NazwaAktualnyArtykuł"]=function(frame,__error)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
return stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame) or ((not __error)and "(błąd)" or nil);
end;
p["ListaNagłówkówKsiążki"] = function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local stronicowyparser_obiekty=mw.loadData("Module:StronicowyParser/obiekty");
local tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek;
local tab_rozdzialow_glownych_spisow_tresci_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_glownych_spisow_tresci_ksiazek;
local czy_sa_rozdzialy=nil;
local pelna_nazwa_ksiazki=stronicowyparser_potrzebne_modul:PelnaNazwaKsiazki(frame);
local args=stronicowyparser_potrzebne_modul:Args();
local wikikod="";
local linki_modul=require("Module:Linki");
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
local rozdzial=tab_lista[1][1];
local numer_rozdzialu=tab_lista[1][2][1];
if(numer_rozdzialu>0)then
if(not tab_rozdzialow_glownych_spisow_tresci_ksiazek[rozdzial])then
wikikod=((wikikod~="")and (wikikod.." — ") or "")
..linki_modul["Link wewnętrzny"]{
["strona"]=pelna_nazwa_ksiazki,
["nagłówek"]=rozdzial,
["nazwa"]=rozdzial,
["bez znaczników"]=args["bez znaczników"],
["bez przetwarzania"]=args["bez przetwarzania"],
};
end;
czy_sa_rozdzialy=true;
end;
end;
if(not czy_sa_rozdzialy)then return "(błąd: brak rozdziałów)";end;
return wikikod;
end;
p["ArtykułSubst"] = function(frame)
local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_ksiazkowych;
local nazwa_przestrzeni;local nazwa_ksiazki;local nazwa_artykulu;
if(not tabela_listy_danych_analizy_ksiazki.zastepczy)then
nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki;
nazwa_artykulu=tabela_listy_danych_analizy_ksiazki.nazwa_artykulu;
else
nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.normalna_nazwa_przestrzeni;
nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.normalna_nazwa_ksiazki;
nazwa_artykulu=tabela_listy_danych_analizy_ksiazki.normalna_nazwa_artykulu;
end;
local parametry_modul=require("Module:Parametry");
local PobierzParametr=parametry_modul.PobierzParametr(frame);
local pobierz_nazwa_artykulu=PobierzParametr("pobierz pełną nazwę artykułu");
local pobierz_adres_ksiazki=PobierzParametr("pobierz pełną nazwę książki");
local czy_pobierz_pelna_nazwa_artykulu=parametry_modul.CzyTak(pobierz_nazwa_artykulu);
local czy_pobierz_pelna_nazwa_ksiazki=parametry_modul.CzyTak(pobierz_adres_ksiazki);
if(czy_pobierz_pelna_nazwa_artykulu and not czy_pobierz_pelna_nazwa_ksiazki)then
return ((nazwa_przestrzeni~="")and(nazwa_przestrzeni..":") or "")..nazwa_ksiazki..((nazwa_artykulu~="") and "/" or "")..nazwa_artykulu;
elseif(not czy_pobierz_pelna_nazwa_artykulu and czy_pobierz_pelna_nazwa_ksiazki)then
return ((nazwa_przestrzeni~="")and(nazwa_przestrzeni..":") or "")..nazwa_ksiazki;
elseif(czy_pobierz_pelna_nazwa_artykulu and czy_pobierz_pelna_nazwa_ksiazki)then
return "(błąd)";
end;
local nazwa_strony=((nazwa_przestrzeni~="")and(nazwa_przestrzeni..":") or "")..nazwa_ksiazki..((nazwa_artykulu~="") and "/" or "")..nazwa_artykulu;
local techniczne_modul=require("Module:Techniczne");
local szablon=techniczne_modul.NazwaSzablonu(nazwa_strony);
return frame:expandTemplate{title=szablon,args={},};
end;
p["KsiążkaSubst"] = function(frame)
local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_ksiazkowych;
local str=tabela_listy_danych_analizy_ksiazki["KsiążkaSubst"];
return str;
end;
p["StronaSubst"] = function(frame)
local parametry_modul=require("Module:Parametry");
local args=frame and ((frame.getParent and ((parametry_modul.CzyTak(frame.args["wyspecjalizowana"]))and frame or frame:getParent()) or frame).args or frame) or {};
local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_ksiazkowych;
local tab_stronasubst=tabela_listy_danych_analizy_ksiazki["StronaSubst"];
if(not tab_stronasubst)then return;end;
local pierwszy,_=mw.ustring.gsub(args[1],"[%s_]+"," ");
local tab_strona=tab_stronasubst[pierwszy];
if(not tab_strona)then return;end;
local link=args["link"];
local czy_link=parametry_modul.CzyTak(link);
local stronasubst=tab_strona[(czy_link and "tak" or "")];
return stronasubst;
end;
p["CzyStronęNumerować"] = function(frame)
local strona=frame.args[1];
local nazwy_modul=require("Module:Nazwy");
strona=nazwy_modul["PEŁNANAZWASTRONY"](strona);
local pudelko_modul=require("Module:Pudełko");
if(strona==pudelko_modul["Strona główna tego projektu"](frame))then
return;
end;
if(strona==pudelko_modul["Strona główna dla dzieci tego projektu"](frame))then
return;
end;
if(mw.ustring.match(strona,"^Szablon:SG/"))then
return;
end;
local zbiory={
["Szablon:Nowe podręczniki miesiąca/Zwycięzca"]=true,
["Wikibooks:Polecane książki"]=true,
["Szablon:Wyróżnienia książek miesiąca/Wyróżniony"]=true,
}
if(zbiory[strona])then
return;
end;
if(mw.ustring.match(strona,"^Szablon:Polecane książki/")
or(mw.ustring.match(strona,"^Szablon:Nowe podręczniki miesiąca/"))
or(mw.ustring.match(strona,"^Szablon:Wyróżnienia książek miesiąca/"))
)then
return;
end;
return "tak";
end;
function p.HNumer(frame)
local p=frame.args["wyspecjalizowana"] and frame or frame:getParent();
if((not p) or (not p.args[1]))then
local blad_module=require("Module:Błąd");
local frame2=p:newChild{args={[1]="Podano złe parametry w szablonie: [[Szablon:HLiczba]].",["tag"]="span",},}
blad_module.error(frame2);
return;
end;
local stronicowyparser_rozdzialy_modul=require("Module:StronicowyParser/Rozdziały");
local naglowek,licznik=stronicowyparser_rozdzialy_modul.PodajRozdzial(p.args[1]);
local id2,_=mw.ustring.gsub(naglowek,"^[%s_]","");
id2,_=mw.ustring.gsub(id2,"[%s_]$","");
id2,_=mw.ustring.gsub(id2,"[%s_]","_");
local id3,_=mw.ustring.gsub(mw.uri.encode(mw.text.encode(id2),"WIKI"),"(%%)",".");
if(licznik>6)then
local id=p.args["id"];
local styl=p.args["styl"];
local klasa=p.args["klasa"];
local atrybuty=p.args["atrybuty"];
local parametry_modul=require("Module:Parametry");
return "<h6"..(parametry_modul.CzyTak(id)and " id=\""..id.."\"" or "")
..(parametry_modul.CzyTak(styl)and " style=\""..styl.."\"" or "")
.." class=\"mw-hnumber mw-hnumber-"..licznik..((parametry_modul.CzyTak(klasa)) and (" "..klasa) or "").."\""
..(parametry_modul.CzyTak(atrybuty)and " "..atrybuty or "")
..">"..((id2~=id3) and ("<span id=\""..id3.."\"></span>") or "").."<span id=\""..id2.."\" class=\"mw-headline\">"..naglowek.."</span></h6>";
elseif(licznik<1)then
local blad_module=require("Module:Błąd");
local frame2=pf:newChild{args={[1]="Nie podano nagłówka w szablonie: [[Szablon:HLiczba]].",["tag"]="span",},}
blad_module.error(frame2);
else
local id=p.args["id"];
local styl=p.args["styl"];
local klasa=p.args["klasa"];
local atrybuty=p.args["atrybuty"];
local parametry_modul=require("Module:Parametry");
return "<h"..licznik..(parametry_modul.CzyTak(id)and " id=\""..id.."\"" or "")
..(parametry_modul.CzyTak(styl)and " style=\""..styl.."\"" or "")
.." class=\""..((parametry_modul.CzyTak(klasa)) and klasa or "").."\""
..(parametry_modul.CzyTak(atrybuty)and " "..atrybuty or "")..">"..((id2~=id3) and ("<span id=\""..id3.."\"></span>") or "").."<span id=\""..id2.."\" class=\"mw-headline\">"..naglowek.."</span></h"..licznik..">";
end;
end;
function p.TOC(frame,czy_rozciagnij,gdy_pusty_spis_tresci)
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych;
local nazwy_modul=require("Module:Nazwy");
local parametry_modul=require("Module:Parametry");
local ksiazkowe_modul=require("Module:Książkowe");
local args=(frame)and (parametry_modul.CzyTak(frame.args["wyspecjalizowana"])and frame.args or frame:getParent().args) or {};
local nazwa_przestrzeni=args[2] and nazwy_modul["NAZWAPRZESTRZENI"](args[2]) or tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
local nazwa_ksiazki=args[2] and ksiazkowe_modul["NazwaKsiążki"](args[2]) or tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki;
local nazwa_artykulu=args[1] and args[1] or tabela_listy_danych_analizy_ksiazki.nazwa_artykulu;
local czy_nie_aktualny=(
(nazwa_przestrzeni~=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni)
or(nazwa_ksiazki~=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki)
or (nazwa_artykulu~=tabela_listy_danych_analizy_ksiazki.nazwa_artykulu)
);
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
if ((tabela_listy_danych_analizy_ksiazki.TOC_StronaZbiorcza)or(tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu and tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni] and tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki] and tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki].lista_artykolow[nazwa_artykulu] and tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki].lista_artykolow[nazwa_artykulu].TOC)) then
mw.log(tabela_listy_danych_analizy_ksiazki.TOC_StronaZbiorcza,"Strona ziorcza");
local spis_tresci_artykulu=stronicowyparser_potrzebne_modul.TOC(frame,tabela_listy_danych_analizy_ksiazki.TOC_StronaZbiorcza or tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki].lista_artykolow[nazwa_artykulu].TOC,czy_nie_aktualny,czy_rozciagnij);
return spis_tresci_artykulu;
elseif(not gdy_pusty_spis_tresci)then
local spis_tresci_artykulu=stronicowyparser_potrzebne_modul.TOC(frame,nil,czy_nie_aktualny,czy_rozciagnij);
return spis_tresci_artykulu;
end;
end;
function p.WykazModolow(frame,czy_rozciagnij)
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych;
local nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki;
local nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
local lista_ksiazek_w_przestrzeni_nazw=tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni];
if(not lista_ksiazek_w_przestrzeni_nazw)then return nil;end;
local tab_lista_artykulow_w_ksiazce_w_ksiazce=lista_ksiazek_w_przestrzeni_nazw[nazwa_ksiazki];
if(not tab_lista_artykulow_w_ksiazce_w_ksiazce)then return nil;end;
local spis=tab_lista_artykulow_w_ksiazce_w_ksiazce.spis;
if(not spis)then return nil;end;
local parametry_modul=require("Module:Parametry");
local spis_ksiazkowy=parametry_modul.CzyTak(frame.args["spis książkowy"]);
local spis_rzeczy=parametry_modul.CzyTak(frame.args["spis rzeczy"]);
local tylko_naglowki=parametry_modul.CzyTak(frame.args["nagłówki"]);
local wysokosc=frame.args["wysokość"];
local wykaz_modolow_w_liscie="";
local i=1;
for _,tab_artykul in ipairs(spis)do
if(tab_artykul[2])then
for _,tab_pozycja in ipairs(tab_artykul[2])do
if(type(tab_pozycja[1])~="table")then
sformatowana_nazwa_artykulu,_=mw.ustring.gsub(tab_pozycja[1],"_"," ");
else
sformatowana_nazwa_artykulu,_=mw.ustring.gsub(tab_pozycja[1][1],"_"," ");
end;
local id=tab_pozycja[4]
if(not tylko_naglowki or id)then
if(not spis_ksiazkowy)then
wykaz_modolow_w_liscie=((wykaz_modolow_w_liscie~="") and (wykaz_modolow_w_liscie.."\n") or "")..'<li>[['..((not spis_rzeczy or not id)and (((nazwa_przestrzeni=="")and nazwa_ksiazki or nazwa_przestrzeni..":"..nazwa_ksiazki).."/") or "#")..sformatowana_nazwa_artykulu.."|<span class=\"tocnumber\">"..i.."</span><span class=\"toctext\">"..sformatowana_nazwa_artykulu..'</span>]]</li>';
else
wykaz_modolow_w_liscie=((wykaz_modolow_w_liscie~="") and (wykaz_modolow_w_liscie.."\n") or "")..'{{SpisZw||[['..((not spis_rzeczy or not id)and (((nazwa_przestrzeni=="")and nazwa_ksiazki or nazwa_przestrzeni..":"..nazwa_ksiazki).."/") or "#")..sformatowana_nazwa_artykulu.."|"..sformatowana_nazwa_artykulu.."]]|"..i.."|100%}}";
end;
i=i+1;
end;
end;
end;
end;
if(wykaz_modolow_w_liscie=="")then return nil;end;
if(not spis_ksiazkowy)then
wykaz_modolow_w_liscie="<ul>"..wykaz_modolow_w_liscie.."</ul>";
wykaz_modolow_w_liscie='<div class="toc_ogólnie_spis toc_wykaz" style="width:100%;max-height:400px;overflow:auto;">'..wykaz_modolow_w_liscie.."</div>";
wykaz_modolow_w_liscie='{{Tabela nawigacyjna|styl=width:'..(czy_rozciagnij and "100%" or "auto")..';font-size:14px;line-height:1.2em;background-color:white;|tytuł=<div style="font-size:14px;line-height:1.2em;background-color:white;text-align:left;white-space:nowrap;">Wykaz modułów w książce</div>|spis='..wykaz_modolow_w_liscie..'|funkcja=UkrytaWikitabelowaListaMenu}}';
else
wykaz_modolow_w_liscie="<div class=\"toc_wykaz mw-overflow-y\" style=\""..(wysokosc and ("max-height:"..wysokosc..";overflow:auto;") or "").."border:solid #aaa 1px;padding:10px;width:auto;box-sizing:border-box;background-color:white;\">"..wykaz_modolow_w_liscie.."</div>";
end;
local rozwiniety_wikikod=frame:preprocess(wykaz_modolow_w_liscie);
return rozwiniety_wikikod;
end;
function p.NazwaModolu()
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych;
local nazwy_np_modul=mw.loadData('Moduł:Nazwy/Np');
local nazwa_artykulu=tabela_listy_danych_analizy_ksiazki.nazwa_artykulu;
if(nazwa_artykulu==nil)then
return "[["..nazwy_np_modul.Category..": Nie można wygenerować nazwy strony]]";
else
return nazwa_artykulu;
end;
end;
function p.Wstep_do_licencji(frame)
local element_licencji_1='<strong>Autor:</strong> '..frame.args[1]..'<BR>';
local element_licencji_2;
if((frame.args[2]~='')and(frame.args[2]~=nil))then
element_licencji_2=frame.args[2]..'<BR>';
end;
local element_licencji_3;
if((frame.args[3]~='')and(frame.args[3]~=nil))then
element_licencji_3='<strong>Email:</strong> '..frame.args[3]..'<BR>';
end;
local element_licencji_4;
if((frame.args[4]~='')and(frame.args[4]~=nil))then
element_licencji_4='<strong>Dotyczy:</strong> '..frame.args[4].."<BR>";
else
element_licencji_4='<strong>Dotyczy:</strong> książki, do której należy ta strona, oraz w niej zawartych stron i w nich podstron, a także w nich kolumn, wraz z zawartościami.<BR>';
end;
if((frame.args[5]~='')and(frame.args[5]~=nil))then
element_licencji_5=frame.args[5].."<BR>";
else
element_licencji_5='Użytkownika książki, do której należy ta strona, oraz w niej zawartych stron i w nich podstron, a także w nich kolumn, wraz z zawartościami nie zwalnia z odpowiedzialności prawnoautorskiej nieprzeczytanie warunków licencjonowania.<BR>';
end;
local element_licencji_6;
if((frame.args[6]~='')and(frame.args[6]~=nil))then
element_licencji_6='<strong>Umowa prawna:</strong> '..frame.args[6]..'<BR>';
else
element_licencji_6='<strong>Umowa prawna:</strong> [http://creativecommons.org/licenses/by-sa/3.0/deed.pl Creative Commons: uznanie autorstwa oraz miejsca pochodzenia książki i jej jakikolwiek części, a także treści, teksty, tabele, wykresy, rysunki, wzory i inne elementy oraz ich części zawarte w książce, i tą książkę, nawet w postaci przerobionej nie można umieszczać w jakikolwiek formie na czasopismach naukowych, archiwach prac, itp.]<BR>';
end;
if((frame.args[7]~='')and(frame.args[7]~=nil))then
element_licencji_7=frame.args[7].."<BR>";
else
element_licencji_7='Autor tej książki dołożył wszelką staranność, aby informacje zawarte w książce były poprawne i najwyższej jakości, jednakże nie udzielana jest żadna gwarancja, czy też rękojma. Autor nie jest odpowiedzialny za wykorzystanie informacji zawarte w książce nawet jeśli wywołaby jakąś szkodę, straty w zyskach, zastoju w prowadzeniu firmy, przedsiębiorstwa lub spółki bądź utraty informacji niezależnie, czy autor (a nawet [https://pl.wikibooks.org Wikibooks]) został powiadomiony o możliwości wystąpienie szkód. Informacje zawarte w książce mogą być wykorzystane tylko na własną odpowiedzialność.<BR>';
end;
local licencja=element_licencji_1..((element_licencji_2)and element_licencji_2 or "")..((element_licencji_3)and element_licencji_3 or "")
..element_licencji_4..element_licencji_5..element_licencji_6..element_licencji_7;
return licencja;
end;
function p.Licencja(frame,czy_rozciagnij)
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych;
local menu_z_licencja;
local nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
local nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki;
local licencja=tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki].licencja;
if(licencja)then
if(licencja[1])then
local frame={};
frame.args={licencja[1],licencja[2],licencja[3],licencja[4],licencja[5],licencja[6],licencja[7]};
local ramka_z_licencja='<div style="margin-left:0px;padding:3px;width:100%;height:auto;box-sizing:border-box;">'..p.Wstep_do_licencji(frame)..'</div>';
menu_z_licencja='{{Tabela nawigacyjna|styl=width:'..(czy_rozciagnij and "100%" or "auto")..';font-size:14px;line-height:1.2em;background-color:white;|tytuł=<div style="font-size:14px;line-height:1.2em;background-color:white;text-align:left;white-space:nowrap;">Licencja</div>|spis='..ramka_z_licencja..'|funkcja=StatycznaWikitabelowaListaMenu}}';
else
return nil;
end;
local frame=mw.getCurrentFrame();
local rozwiniety_wikikod=frame:preprocess(menu_z_licencja);
return rozwiniety_wikikod;
else
return nil;
end;
end;
function p.Autor(frame)
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych;
local nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
local nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki;
local licencja=tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki].licencja;
if(tabela_listy_danych_analizy_ksiazki.licencja)then
return licencja[1];
end;
end;
function p.PierwszaStrona(frame)
local prawe_menu="";
local parametry_modul=require("Module:Parametry");
local czy_rozciagnij=parametry_modul.CzyTak(frame.args["rozciągnij"])
if(parametry_modul.CzyTak(frame.args[1]))then
prawe_menu='<div style="margin-top:5px;font-size:1.9em;line-height:25px;text-align:left;">'..p.NazwaModolu()..'</div><hr style=\"margin:5px 0\"/>';
end;
if(parametry_modul.CzyTak(frame.args[2]))then
local licencja=p.Licencja(frame,czy_rozciagnij);
if(licencja~=nil)then
prawe_menu=prawe_menu..licencja;
else
local obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty");
local uchwyt_strony=mw.title.getCurrentTitle();
local nazwy_np_modul=mw.loadData("Module:Nazwy/Np");
local nazwa_przestrzeni_nazw_strony=require("Module:Nazwy")["NAZWAPRZESTRZENI"]();
local element_zdania_kategorii=(nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Main)and "na stronach głównych, książek"
or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikijunior)and "na stronach głównych, książek dla dzieci"
or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.User)and "na stronach głównych, książek użytkowników"
or((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikibooks)and "na stronach głównych, książek brudnopisu projektu"
or "na stronach głównych, publikacji")));
local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_ksiazkowych;
local kategoria_braku_licencji=(not tabela_listy_danych_analizy_ksiazki.korzystane_strona_glowna_nie_istnieje)and"[["..nazwy_np_modul.Category..": Brak licencji, "..element_zdania_kategorii.."]]" or "";
prawe_menu=prawe_menu..kategoria_braku_licencji;
end;
end;
if(parametry_modul.CzyTak(frame.args[3]))then
local wykaz_artykulow=p.WykazModolow(frame,czy_rozciagnij);
if(wykaz_artykulow~=nil)then
prawe_menu=prawe_menu.."<hr style=\"margin:5px 0\"/>"..wykaz_artykulow;
end;
end;
if(parametry_modul.CzyTak(frame.args[4]))then
local spis_tresci=p.TOC(frame,czy_rozciagnij,true);
if(spis_tresci~=nil)then
prawe_menu=prawe_menu.."<hr style=\"margin:5px 0\"/>"..spis_tresci;
end;
end;
local wysokosc=frame.args["wysokość"];
return "<div style=\"padding:10px;border: solid #aaa 1px;background-color:white;box-sizing:border-box;width:700px;\"><div class=\"pierwsza_strona mw-overflow-y\" style=\"max-height:"..(wysokosc or "100%")..";overflow:auto;height:100%;box-sizing:border-box;\"><div style=\"display:flex;flex-direction:column;width:auto;height:auto;box-sizing:border-box;\">"..prawe_menu.."</div></div></div>";
end;
function p.SpisTresci(frame)
local parametry_modul=require("Module:Parametry");
local args=parametry_modul.PobierzArgsParametry(frame);
local nazwa_artykulu=args["artykuł"] or args[1];
local nazwa_ksiazki=args["książka"] or args[2];
if(not parametry_modul.CzyTak(nazwa_ksiazki))then
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych;
local uzyskana_nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
local uzyskana_nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki;
nazwa_ksiazki=((uzyskana_nazwa_przestrzeni~=nil) and (uzyskana_nazwa_przestrzeni..":") or "")..uzyskana_nazwa_ksiazki;
end;
local brak=(nazwa_artykulu and mw.ustring.match(nazwa_artykulu,"[|<>{}%[%]]") or nil) or (nazwa_ksiazki and mw.ustring.match(nazwa_ksiazki,"[|<>{}%[%]]") or nil);
if(brak~=nil)then
local nazwy_np_modul=mw.loadData("Module:Nazwy/Np");
local nazwa_przestrzeni_nazw_strony=require("Module:Nazwy")["NAZWAPRZESTRZENI"]();
local element_zdania_kategorii=(nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Main)and "artykułów,"
or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikijunior)and "artykułów dla dzieci,"
or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.User)and "stron użytkowników,"
or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikibooks)and "stron brudnopisu projektu,"
or "stron,")));
return "[["..nazwy_np_modul.Category..":Nazwy "..element_zdania_kategorii.." w spisach treści, zawierają niedozwolone znaki]]";
end;
local html_modul=require("Module:Html");
local nazwy_modul=require("Module:Nazwy");
local ksiazkowe_modul=require("Module:Książkowe");
local nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](nazwa_ksiazki);
local nazwa_ksiazki=ksiazkowe_modul["NazwaKsiążki"](nazwa_ksiazki);
nazwa_ksiazki=html_modul.TransformacjaKlasyZnakowej(nazwa_ksiazki);
local nazwa_artykulu=html_modul.TransformacjaKlasyZnakowej(nazwa_artykulu);
local nazwa_strony=(nazwa_artykulu=="")and nazwa_ksiazki or nazwa_ksiazki.."/"..nazwa_artykulu;
local pelna_nazwa_strony=(nazwa_przestrzeni=="")and nazwa_strony or nazwa_przestrzeni..":"..nazwa_strony;
local tekst_artykulu=p.SpreparowanyWikikodStrony(pelna_nazwa_strony);
local nazwa=args["nazwa"] or args[3];
local nazwa_strony_artykulu=parametry_modul.CzyTak(nazwa) and nazwa or mw.ustring.gsub(mw.ustring.match(nazwa_artykulu,"[^/]*$"),"_"," ");
local dodatek=args["dodatek"] or args[4];
if(not tekst_artykulu)then
if(nazwa_artykulu~="")then
return "\n"..mw.ustring.rep("=",6).."<span style=\"color:red\">[["..pelna_nazwa_strony.."|"..nazwa_strony_artykulu.."]]</span>"..mw.ustring.rep("=",6).."\n";
else
return frame:getParent():preprocess("{{Błąd|Wywołano szablon z argumentem pierwszym pustym.}}");
end;
else
local twor_spisu_tresci="[["..pelna_nazwa_strony.."|"..nazwa_strony_artykulu.."]]"..(((dodatek)and(dodatek~="")) and (" "..dodatek) or "");
twor_spisu_tresci=mw.ustring.rep("=",6)..twor_spisu_tresci..mw.ustring.rep("=",6).."\n";
local stronicowyparser_dalszefunkcje_modul=require("Module:StronicowyParser/DalszeFunkcje");
local ulozenia_w_menu_spisu_tresci=stronicowyparser_dalszefunkcje_modul:SpisTresciWstep(tekst_artykulu, pelna_nazwa_strony);
local atrybuty="style=\"margin-left:20px\"";
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
local toc=stronicowyparser_potrzebne_modul.TOCSilnik(ulozenia_w_menu_spisu_tresci, atrybuty);
local limit=args["limit"];
local czy_limit=parametry_modul.CzyTak(limit);
return '<div class="toc_ogólnie_spis toc_artykuł toclimit '..(czy_limit and ("toclimit-"..limit) or "")..'">\n'..twor_spisu_tresci..(toc and toc or "")..'</div>';
end;
end;
function IteratorFunkcja()
local obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty");
local tabela_wypowiedzi=obiekty_modul.tablica_obiektow;
local licznik=1;
return function()
local tabela_obiektu=tabela_wypowiedzi[licznik];
if(not tabela_obiektu)then return nil;end;
local wartosc1=mw.ustring.gsub(tabela_obiektu[1],"%d+$","");
local wartosc2=tabela_obiektu[4];
licznik=licznik+1;
return wartosc1,wartosc2;
end;
end;
local iterator=IteratorFunkcja();
for nazwa_obiektu,czesc_nazwy_funkcji in iterator do
p["Numer"..czesc_nazwy_funkcji] = function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
return stronicowyparser_potrzebne_modul.NumerObiektu(frame,nazwa_obiektu);
end;
end;
p["AnalizujSzablonemStronicowymArtykuł"]=function(frame)
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych;
return "";
end;
function p.formatowanie()
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych;
return tabela_listy_danych_analizy_ksiazki.formatowanie;
end;
function p.WstawKategorie(frame)
local stronicowyparser_kategorie_modul=require("Module:StronicowyParser/Kategorie");
return stronicowyparser_kategorie_modul.WstawKategorie(frame);
end;
function p.CzyStronaSubst(frame,pelnanazwastrony,czy_wymusic)
if(czy_wymusic)then
local nazwy_modul=require("Module:Nazwy");
local pelnanazwastronyaktualnej=nazwy_modul["PEŁNANAZWASTRONY"]();
if(pelnanazwastrony~=pelnanazwastronyaktualnej)then
local stronicowyparser_stronasubst_modul=require("Module:StronicowyParser/StronaSubst");
local TakFun=function(frame) return "tak";end;local NieFun=function(frame) return "";end;
return stronicowyparser_stronasubst_modul.AnalizaStronaSubst(nil,pelnanazwastrony,TakFun,NieFun,nil);
end;
end;
local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_ksiazkowych;
if(tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then
return "tak";
end;
return "";
end;
return p;
5hwxf46xvav5lxv929ugqax2mmtfgry
437875
437873
2022-08-16T14:40:22Z
Persino
2851
Scribunto
text/plain
local p = {}
function p.SpreparowanyWikikodStrony(nazwa_modolu,dokumentacja)
local stronicowyparser_dalszefunkcje=require("Module:StronicowyParser/DalszeFunkcje")
return stronicowyparser_dalszefunkcje.SpreparowanyWikikodStrony(nil,nazwa_modolu,dokumentacja);
end;
function p.PrzekierowanieDoStrony(frame)
local parametry_modul=require("Module:Parametry");
local PobierzParametr=parametry_modul.PobierzParametr(frame);
local nazwa_modulu=PobierzParametr(1);
local latki_modul=require("Module:Łatki");
return latki_modul.contentMatch{args={
[1]="^%s*#REDIRECT%s+%[%[(.+)%]%]%s*",
[2]="^%s*#PATRZ%s+%[%[(.+)%]%]%s*",
[3]="^%s*#TAM%s+%[%[(.+)%]%]%s*",
namespace="",
pagename=nazwa_modulu,
},
};
end;
p["TekstRozdziałuStrony"]=function(frame)
local stronicowyparser_rozdzialy=require("Module:StronicowyParser/Rozdziały");
return stronicowyparser_rozdzialy.TekstRozdzialuStrony(frame);
end;
p["KtóraSekcjaStrony"]=function(frame)
local stronicowyparser_rozdzialy=require("Module:StronicowyParser/Rozdziały");
return stronicowyparser_rozdzialy.KtoraSekcjaStrony(frame);
end;
p["ZwróćSekcjęNagłówkaStrony"]=function(frame)
local stronicowyparser_rozdzialy=require("Module:StronicowyParser/Rozdziały");
return stronicowyparser_rozdzialy.ZwrocSekcjeNaglowkaStrony(frame);
end;
p["NastępnyArtykuł"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local parametry_modul=require("Module:Parametry");
local nazwa=parametry_modul.CzyTak(args["nazwa"]);
local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame);
local numer=tonumber(args[1]) or 0;
local naglowek=parametry_modul.CzyTak(args["nagłówek"]);
local nazwa_artykulu_z_naglowkiem_match=mw.ustring.match(nazwa_artykulu,"^([^#]*)#.*$");
local nazwa_artykulu_z_opcja_naglowek=(not naglowek) and nazwa_artykulu_z_naglowkiem_match or nazwa_artykulu;
local nadstrona_artykulu=(numer>0) and stronicowyparser_potrzebne_modul.NazwaNadStrony(nazwa_artykulu,numer) or nil;
local i=0;
local tab_artykul={};
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
if(tab_lista[2])then
for _,artykul_w_bazie_element in ipairs(tab_lista[2])do
local artykul_w_bazie;local artykul_bez_naglowka_w_bazie;local artykul_z_naglowkiem_w_bazie;
local czy_table=parametry_modul.TypeTable(artykul_w_bazie_element[1]);
if(czy_table)then
artykul_w_bazie=artykul_w_bazie_element[1][1];
else
artykul_w_bazie=artykul_w_bazie_element[1];
end;
local artykul_z_naglowkiem_w_bazie_match=mw.ustring.match(artykul_w_bazie,"^([^#]*)#.*$");
artykul_bez_naglowka_w_bazie=artykul_z_naglowkiem_w_bazie_match or artykul_w_bazie;
if(naglowek or not tab_artykul[artykul_bez_naglowka_w_bazie])then
if(not naglowek)then
tab_artykul[artykul_bez_naglowka_w_bazie]=true;
end
if(not naglowek)then
artykul_z_naglowkiem_w_bazie=artykul_bez_naglowka_w_bazie;
else
artykul_z_naglowkiem_w_bazie=artykul_w_bazie;
end;
local numer_artykulu_w_bazie;
if(numer>0)then
numer_artykulu_w_bazie=stronicowyparser_potrzebne_modul.PoziomAdresu(artykul_bez_naglowka_w_bazie);
end;
local function Nastepny()
if(not nazwa)then
return artykul_z_naglowkiem_w_bazie;
end;
if(czy_table)then
return artykul_w_bazie[1][2];
else
return artykul_z_naglowkiem_w_bazie;
end;
end;
if(i==1)then
if(numer>0)then
local nadstrona_artykulu_w_bazie=stronicowyparser_potrzebne_modul.NazwaNadStrony(artykul_bez_naglowka,numer);
if((numer==numer_artykulu_w_bazie)and(nadstrona_artykulu==nadstrona_artykulu_w_bazie))then
return Nastepny();
end;
else
return Nastepny();
end;
else
if((not naglowek)and(artykul_bez_naglowka_w_bazie==nazwa_artykulu_z_opcja_naglowek)
or(((naglowek) and ((nazwa_artykulu_z_naglowkiem_match and artykul_z_naglowkiem_w_bazie_match)or(not nazwa_artykulu_z_naglowkiem_match and not artykul_z_naglowkiem_w_bazie_match)))
and (artykul_z_naglowkiem_w_bazie==nazwa_artykulu)
))then
i=1;
end;
end;
end;
end;
end;
end;
if(i==1)then
return "";
end;
return "(błąd)";
end;
p["PoprzedniArtykuł"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local parametry_modul=require("Module:Parametry");
local nazwa=parametry_modul.CzyTak(args["nazwa"]);
local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame);
local numer=tonumber(args[1]) or 0;
local naglowek=parametry_modul.CzyTak(args["nagłówek"]);
local nazwa_artykulu_z_naglowkiem_match=mw.ustring.match(nazwa_artykulu,"^([^#]*)#.*$")
local nazwa_artykulu_z_opcja_naglowek=(not naglowek) and nazwa_artykulu_z_naglowkiem_match or nazwa_artykulu;
local nadstrona_artykulu=(numer>0) and stronicowyparser_potrzebne_modul.NazwaNadStrony(nazwa_artykulu,numer) or nil;
local artykul;
local tab_artykul={};
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
if(tab_lista[2])then
for _,artykul_w_bazie in ipairs(tab_lista[2])do
local artykul_z_naglowkiem_w_bazie;local artykul_bez_naglowka_w_bazie;
local czy_table=parametry_modul.TypeTable(artykul_w_bazie[1]);
if(czy_table)then
artykul_z_naglowkiem_w_bazie=artykul_w_bazie[1][1];
else
artykul_z_naglowkiem_w_bazie=artykul_w_bazie[1];
end;
local artykul_z_naglowkiem_w_bazie_match=mw.ustring.match(artykul_z_naglowkiem_w_bazie,"^([^#]*)#.*$")
artykul_bez_naglowka_w_bazie=artykul_z_naglowkiem_w_bazie_match or artykul_z_naglowkiem_w_bazie;
if(naglowek or not tab_artykul[artykul_bez_naglowka_w_bazie])then
if(not naglowek)then
tab_artykul[artykul_bez_naglowka_w_bazie]=true;
end;
if((not naglowek)and(artykul_bez_naglowka_w_bazie==nazwa_artykulu_z_opcja_naglowek)
or(((naglowek) and ((nazwa_artykulu_z_naglowkiem_match and artykul_z_naglowkiem_w_bazie_match)or(not nazwa_artykulu_z_naglowkiem_match and not artykul_z_naglowkiem_w_bazie_match)))and(artykul_z_naglowkiem_w_bazie==nazwa_artykulu)))then
if(not artykul)then return "";end;
local czy_table_artykul=parametry_modul.TypeTable(artykul);
if(czy_table_artykul)then
if(not nazwa)then
if(naglowek)then
return artykul[1];
end;
artykul,_=mw.ustring.gsub(artykul[1],"^([^#]+)#(.*)$","%1");
return artykul;
else
return artykul[2];
end;
else
if(naglowek)then
return artykul;
end;
artykul,_=mw.ustring.gsub(artykul,"^([^#]+)#(.*)$","%1");
return artykul;
end;
end
if(numer>0)then
local numer_artykulu_poprzedni=stronicowyparser_potrzebne_modul.PoziomAdresu(artykul_bez_naglowka_w_bazie);
local nadstrona_artykulu_w_bazie=stronicowyparser_potrzebne_modul.NazwaNadStrony(artykul_bez_naglowka_w_bazie,numer);
if((numer==numer_artykulu_poprzedni)and(nadstrona_artykulu==nadstrona_artykulu_w_bazie))then
artykul=artykul_w_bazie[1];
end;
else
artykul=artykul_w_bazie[1];
end;
end;
end;
end;
end;
return "(błąd)";
end;
p["PoziomNazwyArtykułu"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local parametry_modul=require("Module:Parametry");
local nazwa=parametry_modul.CzyTak(args["nazwa"]);
local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame);
return stronicowyparser_potrzebne_modul.PoziomAdresu(nazwa_artykulu);
end;
p["PierwszyArtykuł"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local parametry_modul=require("Module:Parametry");
local nazwa=parametry_modul.CzyTak(args["nazwa"]);
local naglowek=parametry_modul.CzyTak(args["nagłówek"]);
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
if(tab_lista[2])then
for _,artykul_w_bazie in ipairs(tab_lista[2])do
if(not nazwa)then
local artykul=parametry_modul.TypeTable(artykul_w_bazie[1]) and artykul_w_bazie[1][1] or artykul_w_bazie[1];
return (not naglowek) and mw.ustring.gsub(artykul,"^([^#]*)#(.*)$","%1") or artykul;
else
return parametry_modul.TypeTable(artykul_w_bazie[1])
and artykul_w_bazie[1][2]
or ((not naglowek) and mw.ustring.gsub(artykul_w_bazie[1],"^([^#]*)#(.*)$","%1") or artykul_w_bazie[1]);
end;
end;
end;
end;
end;
p["OstatniArtykuł"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local parametry_modul=require("Module:Parametry");
local nazwa=parametry_modul.CzyTak(args["nazwa"]);
local naglowek=parametry_modul.CzyTak(args["nagłówek"]);
local ostatni_artykul;
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
if(tab_lista[2])then
for _,artykul_w_bazie in ipairs(tab_lista[2])do
if(not nazwa)then
ostatni_artykul=parametry_modul.TypeTable(artykul_w_bazie[1]) and artykul_w_bazie[1][1] or artykul_w_bazie[1];
else
ostatni_artykul=parametry_modul.TypeTable(artykul_w_bazie[1]) and artykul_w_bazie[1][2] or artykul_w_bazie[1];
end;
end;
end;
end;
if(ostatni_artykul)then
return (not naglowek) and mw.ustring.gsub(ostatni_artykul,"^([^#]*)#(.*)$","%1") or ostatni_artykul;
end;
return "(błąd)";
end;
p["PomiędzyArtykuł"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
local val=stronicowyparser_potrzebne_modul:ObliczeniaInformacje(frame);
if(not val)then return "(błąd)";end;
local element=stronicowyparser_potrzebne_modul:PomiedzyArtykul(frame) or nil;
if(not element)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local parametry_modul=require("Module:Parametry");
local nazwa=parametry_modul.CzyTak(args["nazwa"]);
local czy_table=parametry_modul.TypeTable(element);
local element=czy_table and element[1] or element;
if(not nazwa)then return (not naglowek) and mw.ustring.gsub(element,"^([^#]*)#(.*)$","%1") or element;end;
return czy_table and element[2] or ((not naglowek) and mw.ustring.gsub(element,"^([^#]*)#(.*)$","%1") or element);
end;
p["LosowyArtykuł"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
local val=stronicowyparser_potrzebne_modul:ObliczeniaInformacje(frame);
if(not val)then return "(błąd)";end;
local element=stronicowyparser_potrzebne_modul:LosowyArtykul(frame);
if(not element)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local parametry_modul=require("Module:Parametry");
local nazwa=parametry_modul.CzyTak(args["nazwa"]);
local czy_table=parametry_modul.TypeTable(element);
local element=czy_table and element[1] or element;
if(not nazwa)then return mw.ustring.gsub(element,"^([^#]*)#(.*)$","%1") or element;end;
return czy_table and element[2] or mw.ustring.gsub(element,"^([^#]*)#(.*)$","%1") or element;
end;
local function PobiezNumerLubNazweNaglowka(frame,__FUNKCJA,typ)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local parametry_modul=require("Module:Parametry");
local poziomowo=parametry_modul.CzyTak(args["poziomowo"]);
local ktory=(tonumber(args["który"]) or 1);
local parametr_pierwszy_szablonu=typ and ((not poziomowo) and (tonumber(args[1]) or 1) or args[1]) or args[1];
if(not typ)then
parametr_pierwszy_szablonu,_=mw.ustring.gsub(parametr_pierwszy_szablonu,"^[%s_]+","");
parametr_pierwszy_szablonu,_=mw.ustring.gsub(parametr_pierwszy_szablonu,"[%s_]+$","");
parametr_pierwszy_szablonu,_=mw.ustring.gsub(parametr_pierwszy_szablonu,"[%s_]+"," ");
end;
local HNumer=stronicowyparser_potrzebne_modul.LiczonyHNumer();
local HNumer_2=nil;
local tab_numer_2=nil;
local tab_numer={};
local i=(not poziomowo) and 0 or nil;
local i_2=nil;
local juz_nie_rozwazaj_spisu_tresci=nil;
local juz_nie_rozwazaj_rozdzialu_spisu_tresci=nil;
local stronicowyparser_obiekty=mw.loadData("Module:StronicowyParser/obiekty");
local tab_rozdzialow_glownych_spisow_tresci_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_glownych_spisow_tresci_ksiazek;
local tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek;
local poziom_spisu_tresci=nil;
local pierwszy_dodatni_spis_tresci=nil;
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
local rozdzial=tab_lista[1][1];
local poziom_rozdzialu=tab_lista[1][2][1] or 0;
if(poziom_rozdzialu>0)then
local czy_nie_ten_rozdzial=nil;
local czy_jest_teraz_spis_tresci=tab_rozdzialow_glownych_spisow_tresci_ksiazek[rozdzial];local czy_nie_ten_rozdzial;
if((not juz_nie_rozwazaj_spisu_tresci)and(not juz_nie_rozwazaj_rozdzialu_spisu_tresci)and(czy_jest_teraz_spis_tresci))then
poziom_spisu_tresci=poziom_rozdzialu;
juz_nie_rozwazaj_rozdzialu_spisu_tresci=true;
czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial];
elseif((not juz_nie_rozwazaj_spisu_tresci)and(juz_nie_rozwazaj_rozdzialu_spisu_tresci))then
if((poziom_spisu_tresci<poziom_rozdzialu))then
czy_nie_ten_rozdzial=false;
else
juz_nie_rozwazaj_spisu_tresci=true;
czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial];
end;
else
local juz_nie_rozwazaj_spisu_tresci=nil;
local juz_nie_rozwazaj_rozdzialu_spisu_tresci=nil;
czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial];
end;
if(not czy_nie_ten_rozdzial)then
if(poziomowo)then
local hnumer=HNumer(poziom_rozdzialu);
if(#tab_numer<hnumer)then
for i=#tab_numer+1,hnumer,1 do
table.insert(tab_numer,1);
end;
elseif(#tab_numer>hnumer)then
for i=#tab_numer, hnumer+1,-1 do
table.remove(tab_numer,i);
end;
tab_numer[#tab_numer]=tab_numer[#tab_numer]+1;
else
tab_numer[#tab_numer]=tab_numer[#tab_numer]+1;
end;
----
local wartosc=__FUNKCJA(poziomowo,i,tab_numer,ktory,parametr_pierwszy_szablonu,rozdzial);
----
if(wartosc)then return wartosc;end;
----
if((czy_jest_teraz_spis_tresci)and(not pierwszy_dodatni_spis_tresci))then
HNumer_2=HNumer;
HNumer=stronicowyparser_potrzebne_modul.LiczonyHNumer();
tab_numer_2=tab_numer;
tab_numer={};
pierwszy_dodatni_spis_tresci=true;
elseif((pierwszy_dodatni_spis_tresci)and(poziom_spisu_tresci>=poziom_rozdzialu))then
HNumer=HNumer_2;
HNumer_2=nil;
tab_numer=tab_numer_2;
tab_numer_2=nil;
pierwszy_dodatni_spis_tresci=false;
end;
else
i=i+1;
----
local wartosc=__FUNKCJA(poziomowo,i,tab_numer,ktory,parametr_pierwszy_szablonu,rozdzial);
---
if(wartosc)then return wartosc;end;
---
if((czy_jest_teraz_spis_tresci)and(not pierwszy_dodatni_spis_tresci))then
i_2=i;
i=0;
pierwszy_dodatni_spis_tresci=true;
elseif((pierwszy_dodatni_spis_tresci)and(poziom_spisu_tresci>=poziom_rozdzialu))then
i=i_2;
i_2=nil;
pierwszy_dodatni_spis_tresci=false;
end;
end;
end;
end;
end;
end;
p["PobierzNumerNagłówka"]=function(frame)
local s=1;
local function __FUNKCJA(poziomowo,i,tab_numer,ktory,naglowek,rozdzial)
if(naglowek==rozdzial)then
if(s==ktory)then
if(poziomowo)then
if(#tab_numer==0)then return;end;
return table.concat(tab_numer,".");
else
return i;
end;
end;
s=s+1;
end;
end;
return PobiezNumerLubNazweNaglowka(frame,__FUNKCJA,false);
end;
p["PobierzNazwęNagłówka"]=function(frame)
local s=1;
local function __FUNKCJA(poziomowo,i,tab_numer,ktory,numer,rozdzial)
if(poziomowo)then
if(#tab_numer==0)then return;end;
if(numer==table.concat(tab_numer,"."))then
if(s==ktory)then
return rozdzial;
else
s=s+1;
end;
end;
elseif(numer==i)then
if(s==ktory)then
return rozdzial;
else
s=s+1;
end;
end
end;
return PobiezNumerLubNazweNaglowka(frame,__FUNKCJA,true);
end;
local function PobierzNumerLubNazweArtykulu(frame,tabela_listy_danych_analizy_ksiazki,__FUNKCJA,typ,zbieraj_dane)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame,tabela_listy_danych_analizy_ksiazki);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame,tabela_listy_danych_analizy_ksiazki);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local parametry_modul=require("Module:Parametry");
local naglowek=parametry_modul.CzyTak(args["nagłówek"]);
local tab_artykul=(not naglowek)and {} or nil;
local poziomowo=parametry_modul.CzyTak(args["poziomowo"]);
local tab_poziomowo={};
local tab_poziomowo_1={};
local tab_poziomowo_2={};
local html_modul=require("Module:Html");
local pierwszy_parametr_szablonu=args[1] and (typ and ((not poziomowo) and (tonumber(args[1]) or 1) or args[1])
or ((not naglowek) and mw.ustring.gsub(html_modul["PoprawAdresNagłówkaStronyAdresu"](html_modul["TransformacjaKoduZnakuDoZnakuŁancucha"](args[1])),"^([^#]*)#(.*)$","%1") or html_modul["PoprawAdresNagłówkaStronyAdresu"](html_modul["TransformacjaKoduZnakuDoZnakuŁancucha"](args[1])))
)
or (typ and 1 or "Przykładowy artykuł");
local ktory=(tonumber(args["ktory"]) or 1);
local i=(not poziomowo) and 1 or nil;
local stronicowyparser_obiekty=mw.loadData("Module:StronicowyParser/obiekty");
local tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek;
local tab_rozdzialow_glownych_spisow_tresci_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_glownych_spisow_tresci_ksiazek;
--local HNumer=poziomowo and stronicowyparser_potrzebne_modul.LiczonyHNumer() or nil;
local HNumerPoziomow_4=nil--poziomowo and stronicowyparser_potrzebne_modul.LiczonyHNumer() or nil;
local HNumerPoziomow_3=nil
local HNumerPoziomow_2=nil;
local HNumerPoziomow_1=nil;
local HNumerPoziomow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
local HNumerPoziomowNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
local HNumerPoziomowNaglowkow_1=nil;
local HNumerPoziomowNaglowkow_2=nil;
--local HNumerPoziomowInnychNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
local tab_numer=poziomowo and {} or nil;
tab_numer_1=nil;
tab_numer_3=nil
tab_numer_4=nil;--poziomowo and {} or nil;
local spis=false;
local czy_poziom_spisu_tresci=nil;
local pierwszy_dodatni_naglowek=nil;
local pierwszy_ujemny_naglowek=nil;
local juz_nie_rozwazaj_spisu_tresci=nil;
local juz_nie_rozwazaj_rozdzialu_spisu_tresci=nil;
local poprzedni_poziom_znakowy_rozdzialu=nil;
local poprzedni_tab_poziomowo=nil;
local poziom_pierwszego_dodatniego_naglowka=0;
local poziom_pierwszego_ujemnego_naglowka=0;
local poziom_zerowego_naglowka=0;
local poziom_spisu_tresci_naglowka=0;
local numer_poziomu=nil;
local ostatni_rozdzial_dodatni=nil;
local pierwszy_rozdzial_dodatni=nil;
local glowny_dodatni_rozdzial=nil;
local glowny_ujemny_rozdzial=nil;
local spis_tresci=nil;
local poziom_pierwszego_ujemnego_spisu_tresci=nil;
local ostatni_poczatek_artykulu=nil;
local pierwszy_rowny_rozdzial=nil;
local prawdziwy_poziom_rozdzialu=nil;
local artykuly_w_rozdziale=nil;
local spis_tresci_zerowy;
local poziom_zerowy;
local rozdzial;
local czy_pierwszy_nilowy=nil;
for m,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
local tab_poprzedni_artykul_w_bazie=nil;
local poziom_rozdzialu;
local poziom_poczatku_rozdzialu=nil;
local poziom_znakowy_rozdzialu=nil;
local poziom_naglowka=nil;
if(poziomowo)then
local czy_nienilowy_rozdzial=tab_lista[1][2][1];
czy_pierwszy_nilowy=(m==1)and (czy_nienilowy_rozdzial==nil) or czy_pierwszy_nilowy;
poziom_rozdzialu=czy_nienilowy_rozdzial or 0;
prawdziwy_poziom_rozdzialu=poziom_rozdzialu;
poziom_poczatku_rozdzialu=tab_lista[1][2][2];
--if(m>1)then
rozdzial=tab_lista[1][1];
rozdzial,_=mw.ustring.gsub(rozdzial,"'+","");
--end;
tab_poziomowo={};
--[[local czy_jest_teraz_spis_tresci=((m>1)and(not spis_tresci_zerowy or not poziom_zerowy)or((m==1)and(spis_tresci_zerowy)))
and ((m==1) and true or tab_rozdzialow_glownych_spisow_tresci_ksiazek[rozdzial])]]
local czy_jest_teraz_spis_tresci=(not juz_nie_rozwazaj_rozdzialu_spisu_tresci)
and((m==1)and (czy_nienilowy_rozdzial and tab_rozdzialow_glownych_spisow_tresci_ksiazek[rozdzial] or ((not czy_nienilowy_rozdzial)and true or false))
or ((m>1)and tab_rozdzialow_glownych_spisow_tresci_ksiazek[rozdzial]
or false));
if((m>1)and(czy_pierwszy_nilowy))then
czy_jest_teraz_spis_tresci=tab_rozdzialow_glownych_spisow_tresci_ksiazek[rozdzial];
if(czy_jest_teraz_spis_tresci)then
juz_nie_rozwazaj_rozdzialu_spisu_tresci=nil;
juz_nie_rozwazaj_spisu_tresci=nil;
czy_pierwszy_nilowy=nil;
pierwszy_ujemny_spis_tresci=nil;
end;
end;
local czy_nie_ten_rozdzial;
if((not juz_nie_rozwazaj_spisu_tresci)and(not juz_nie_rozwazaj_rozdzialu_spisu_tresci)and(czy_jest_teraz_spis_tresci))then
poziom_spisu_tresci=poziom_rozdzialu;
juz_nie_rozwazaj_rozdzialu_spisu_tresci=true;
czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial];
elseif((not juz_nie_rozwazaj_spisu_tresci)and(juz_nie_rozwazaj_rozdzialu_spisu_tresci))then
if((poziom_spisu_tresci<poziom_rozdzialu))then
czy_nie_ten_rozdzial=false;
else
juz_nie_rozwazaj_spisu_tresci=true;
czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial];
end;
else
czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial];
end;
--if(not czy_nie_ten_rozdzial)then
poprzedni_poziom_znakowy_rozdzialu=poziom_znakowy_rozdzialu;
poziom_znakowy_rozdzialu=poziom_rozdzialu;
poziom_rozdzialu=math.abs(poziom_rozdzialu);
artykuly_w_rozdziale=nil;
if(poziom_znakowy_rozdzialu>0)then
poziom_naglowka=poziom_rozdzialu;
poziom_pierwszego_ujemnego_spisu_tresci=nil;
poprzedni_tab_poziomowo=nil;
poziom_zerowego_naglowka=0;
if(glowny_ujemny_rozdzial)then
HNumerPoziomow=HNumerPoziomow_4;
HNumerPoziomow_4=nil;
tab_numer=tab_numer_4;
poziom_pierwszego_ujemnego_naglowka=nil;
glowny_ujemny_rozdzial=nil;
end;
if(pierwszy_ujemny_spis_tresci)then
HNumerPoziomow=HNumerPoziomow_2;
HNumerPoziomow_2=nil;
tab_numer=tab_numer_2;
tab_numer_2=nil;
pierwszy_ujemny_spis_tresci=nil;
czy_poziom_ujemny_spisu_tresci=nil;
end;
if(not glowny_dodatni_rozdzial)then
if((juz_nie_rozwazaj_rozdzialu_spisu_tresci)and(not juz_nie_rozwazaj_spisu_tresci)and(not czy_jest_teraz_spis_tresci)and(not spis_tresci))then
numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu,1);
spis_tresci=true;
else
if(not pierwszy_rozdzial_dodatni)then
pierwszy_rozdzial_dodatni=1;
numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu,1);
else
numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu);
end;
end;
else
numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu,1);
glowny_dodatni_rozdzial=false;
end;
ostatni_rozdzial_dodatni=poziom_rozdzialu;
elseif(poziom_znakowy_rozdzialu<0)then
if(not pierwszy_rowny_rozdzial)then
if((ostatni_poczatek_artykulu)
and(#ostatni_poczatek_artykulu==#poziom_poczatku_rozdzialu)
and(ostatni_poczatek_artykulu~=poziom_poczatku_rozdzialu)
and(mw.ustring.match(ostatni_poczatek_artykulu,"^*"))
and(mw.ustring.match(poziom_poczatku_rozdzialu,"^:"))
)then
poziom_rozdzialu=poziom_rozdzialu+1;
poziom_znakowy_rozdzialu=-poziom_rozdzialu;
pierwszy_rowny_rozdzial=1;
poziom_naglowka=poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka;
else
poziom_naglowka=poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka;
end;
else
if((#ostatni_poczatek_artykulu==#poziom_poczatku_rozdzialu)
and(ostatni_poczatek_artykulu==poziom_poczatku_rozdzialu)
)then pierwszy_rowny_rozdzial=0;end;
poziom_rozdzialu=poziom_rozdzialu+pierwszy_rowny_rozdzial;
poziom_znakowy_rozdzialu=-poziom_rozdzialu;
poziom_naglowka=poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka;
end;
if(not glowny_ujemny_rozdzial)then
--if((juz_nie_rozwazaj_rozdzialu_spisu_tresci)and(not juz_nie_rozwazaj_spisu_tresci)and(not spis_tresci))then
-- numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu,1);
-- spis_tresci=true;
--else
numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka);
--end;
local numer_rozdzialu_dodatniego=HNumerPoziomowNaglowkow(0) or 0;
if(numer_rozdzialu_dodatniego>=numer_rozdzialu)then
numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka,numer_rozdzialu_dodatniego+1);
end;
else
numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka,(HNumerPoziomowNaglowkow(0) or 0)+1);
glowny_ujemny_rozdzial=false;
end;
else
if((m>1)or((m==1)and((not czy_pierwszy_nilowy)or(not czy_jest_teraz_spis_tresci))))then
poziom_zerowego_naglowka=1;
numer_rozdzialu=HNumerPoziomow( 1 + (ostatni_rozdzial_dodatni or 0) + 0);
poziom_znakowy_rozdzialu=-1;
poziom_rozdzialu=1;
poziom_naglowka= 1 + (ostatni_rozdzial_dodatni or 0) + 0;
else
poziom_zerowego_naglowka=0;
numer_rozdzialu=0;
poziom_naglowka=(ostatni_rozdzial_dodatni or 0) + 0;
end;
end;
local numer;
if(poziom_znakowy_rozdzialu>0)then
local numer=HNumerPoziomowNaglowkow(poziom_znakowy_rozdzialu);
--HNumerPoziomowInnychNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
elseif(poziom_znakowy_rozdzialu<0)then
--local numer=HNumerPoziomowInnychNaglowkow(-poziom_znakowy_rozdzialu);
end;
if((m>1)
and(tab_lista_artykulow_w_ksiazce[m-1])
and(tab_lista_artykulow_w_ksiazce[m-1][2])
and(#tab_lista_artykulow_w_ksiazce[m-1][2][1]>0)
and(tab_lista_artykulow_w_ksiazce[m-1][2][#tab_lista_artykulow_w_ksiazce[m-1][2]][2][1]==0)
)then
local lens_tab_numer=#tab_numer;
local roznica=math.min(#poprzedni_tab_poziomowo+#tab_numer,numer_rozdzialu)-#tab_numer;
roznica=((roznica>0) and roznica or 0);
for i=1,roznica,1 do
tab_numer[i+lens_tab_numer]=poprzedni_tab_poziomowo[i];
end;
end;
if((czy_jest_teraz_spis_tresci)and(juz_nie_rozwazaj_rozdzialu_spisu_tresci))then
if(poziom_znakowy_rozdzialu>0)then
poziom_spisu_tresci_naglowka=poziom_rozdzialu;
else
poziom_pierwszego_ujemnego_spisu_tresci=poziom_rozdzialu;
end;
end;
if(poziom_rozdzialu>0)then
if((((czy_poziom_dodatni_spisu_tresci)and(poziom_znakowy_rozdzialu>0))or((czy_poziom_ujemny_spisu_tresci)and(poziom_znakowy_rozdzialu<0)))
and(poziom_spisu_tresci)and(poziom_spisu_tresci>=poziom_rozdzialu)
)then
if(poziom_znakowy_rozdzialu>0)then
tab_numer=tab_numer_1;
tab_poziomowo={};
poziom_spisu_tresci=nil;
HNumerPoziomow=HNumerPoziomow_1;
HNumerPoziomowNaglowkow=HNumerPoziomowNaglowkow_1;
czy_poziom_dodatni_spisu_tresci=false;
elseif(poziom_znakowy_rozdzialu<0)then
tab_numer=tab_numer_2;
tab_poziomowo={};
poziom_spisu_tresci=nil;
HNumerPoziomow=HNumerPoziomow_2;
--HNumerPoziomowNaglowkow=HNumerPoziomowNaglowkow_2;
czy_poziom_ujemny_spisu_tresci=false;
pierwszy_ujemny_spis_tresci=nil;
end;
end;
local hnumer=numer_rozdzialu;
if(poprzedni_tab_poziomowo)then
local lens=math.min(#poprzedni_tab_poziomowo,hnumer-#tab_numer);
local len_tab_numer=#tab_numer;
for i=1,lens,1 do
tab_numer[len_tab_numer+i]=poprzedni_tab_poziomowo[i];
end;
for i=lens+1,#tab_numer do
tab_numer[len_tab_numer+i]=nil;
end;
end;
if(#tab_numer<hnumer)then
for i=#tab_numer+1,hnumer,1 do
table.insert(tab_numer,1);
end;
elseif(#tab_numer>hnumer)then
for i=#tab_numer, hnumer+1,-1 do
table.remove(tab_numer,i);
end;
tab_numer[#tab_numer]=(tab_numer[#tab_numer] or 0) + 1;
else
tab_numer[#tab_numer]=(tab_numer[#tab_numer] or 0) + 1;
end;
else
--[[if(poziom_rozdzialu==0)then
if(tab_lista_artykulow_w_ksiazce[m+1])then
if(tab_lista_artykulow_w_ksiazce[m+1][1][2]>0)then
tab_numer={0,};
elseif(tab_lista_artykulow_w_ksiazce[m+1][1][2]<0)then
tab_numer={};
end;
else
tab_numer={};
end;
end;]]
end;
--end;
if((czy_jest_teraz_spis_tresci)and(((not pierwszy_dodatni_spis_tresci)and(poziom_znakowy_rozdzialu>0))or((not pierwszy_ujemny_spis_tresci)and(poziom_znakowy_rozdzialu<0))))then
function Poziom_dodatni()
for s,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
if(s>m)then
if((tab_lista[1][2][1] or 0)>0)then
if(math.abs(tab_lista[1][2][1] or 0)>poziom_rozdzialu)then
return true;
else
return false;
end;
end;
end;
end;
return false;
end;
local function czy_inaczej_numeruj_rozdzial_dodatni()
if(tab_lista_artykulow_w_ksiazce[m][2])then
for p,artykul_w_bazie in ipairs(tab_lista_artykulow_w_ksiazce[m][2])do
return true;
end;
end;
end;
local function czy_inaczej_numeruj_rozdzial_ujemny()
if(tab_lista_artykulow_w_ksiazce[m][2])then
for p,artykul_w_bazie in ipairs(tab_lista_artykulow_w_ksiazce[m][2])do
local poziom_artykulu=artykul_w_bazie[2][1];
if(prawdziwy_poziom_rozdzialu~=0)then
if(poziom_artykulu>poziom_rozdzialu)then
return true;
end;
else
return true;
end;
end;
end;
return false;
end;
if((poziom_znakowy_rozdzialu>0)and((czy_inaczej_numeruj_rozdzial_dodatni())or(Poziom_dodatni())))then
tab_poziomowo_1=tab_poziomowo;
tab_poziomowo={};
czy_poziom_dodatni_spisu_tresci=true;
HNumerPoziomow_1=HNumerPoziomow;
HNumerPoziomow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
HNumerPoziomowNaglowkow_1=HNumerPoziomowNaglowkow;
HNumerPoziomowNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
tab_numer_1=tab_numer;
tab_numer={};
pierwszy_dodatni_spis_tresci=true;
elseif((poziom_znakowy_rozdzialu<0)
and((czy_inaczej_numeruj_rozdzial_ujemny())or((tab_lista_artykulow_w_ksiazce[m+1])
and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)<0)
and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>poziom_rozdzialu))))then
tab_poziomowo_2=tab_poziomowo;
tab_poziomowo={};
czy_poziom_ujemny_spisu_tresci=true;
HNumerPoziomow_2=HNumerPoziomow;
HNumerPoziomow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
--HNumerPoziomowNaglowkow_2=HNumerPoziomowNaglowkow;
--HNumerPoziomowNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
tab_numer_2=tab_numer;
tab_numer={};
pierwszy_ujemny_spis_tresci=true;
end;
end;
local function OTakimSamymLubMniejszymPoziomie(m)
if(poziom_rozdzialu==0)then return true;end;
local lens=parametry_modul["LiczbaElementówNumerowanychTablicy"](tab_lista_artykulow_w_ksiazce);
if(m==lens)then return true;end;
if(poziom_znakowy_rozdzialu>0)then
for k=m+1,lens,1 do
if(tab_lista_artykulow_w_ksiazce[k])then
if((tab_lista_artykulow_w_ksiazce[k][1][2][1] or 0)>0)then
if(math.abs(tab_lista_artykulow_w_ksiazce[k][1][2][1] or 0)<=poziom_rozdzialu)then
return true;
end;
end;
end;
end;
elseif(((m==1)or((tab_lista_artykulow_w_ksiazce[m-1])and((tab_lista_artykulow_w_ksiazce[m-1][1][2][1] or 0)>0)))and(poziom_znakowy_rozdzialu<0))then
if(tab_lista[2])then
for p,artykul_w_bazie in ipairs(tab_lista[2])do
local poziom_artykulu=artykul_w_bazie[2][1];
if(poziom_artykulu<=-prawdziwy_poziom_rozdzialu)then
return true;
end;
end;
end;
local poziom_zerowego_naglowka_innego=0;
for k=m+1,lens,1 do
if(tab_lista_artykulow_w_ksiazce[k])then
if((tab_lista_artykulow_w_ksiazce[k][1][2][1] or 0)<=0)then
local ile=tab_lista_artykulow_w_ksiazce[k][1][2][1] or 0;
if(ile==0)then
if((czy_jest_teraz_spis_tresci)and(m==1))then
poziom_zerowego_naglowka_innego=poziom_zerowego_naglowka;
else
poziom_zerowego_naglowka_innego=1;
end;
end;
if(math.abs(tab_lista_artykulow_w_ksiazce[k][1][2][1] or 0)+poziom_zerowego_naglowka_innego<=poziom_rozdzialu)then
return true;
end;
else
break;
end;
end;
end;
else
return true;
end;
end;
-- if(not czy_nie_ten_rozdzial)then
if((tab_lista[2])
and(tab_lista[2][1])
and(tab_lista[2][1][2][1]==0)
and(not tab_lista[2][1][4])
and(tab_lista_artykulow_w_ksiazce[m+1])
and(((poziom_znakowy_rozdzialu>0)
and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>0)
and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>poziom_rozdzialu)
)or(
((poziom_znakowy_rozdzialu<0)
and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)<0)
and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)+poziom_zerowego_naglowka>poziom_rozdzialu)
)
)or(
(poziom_znakowy_rozdzialu==0)and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)~=0)
))
)then
if(m==1)then
tab_numer={0,}
else
table.insert(tab_numer,0);
end;
elseif((m==1)and(not tab_lista_artykulow_w_ksiazce[m+1]))then
tab_numer={};
elseif((poziomowo)and(m==1)and(czy_pierwszy_nilowy)and(poziom_znakowy_rozdzialu==0)and(tab_lista_artykulow_w_ksiazce[m+1])and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)<0))then
tab_numer={};
elseif((poziomowo)and(m==1)and(czy_pierwszy_nilowy)and(poziom_znakowy_rozdzialu==0)and(tab_lista_artykulow_w_ksiazce[m+1])and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>0))then
tab_numer={0,}
elseif((poziomowo)and(m==2)and(czy_pierwszy_nilowy)and(poziom_znakowy_rozdzialu<0)and(tab_lista_artykulow_w_ksiazce[m-1])and((tab_lista_artykulow_w_ksiazce[m-1][1][2][1] or 0)==0))then
if(poprzedni_tab_poziomowo)then
local min=math.min(math.abs(numer_rozdzialu),#poprzedni_tab_poziomowo);
for i=#poprzedni_tab_poziomowo,min+1,-1 do
table.remove(poprzedni_tab_poziomowo,i)
end;
tab_numer=poprzedni_tab_poziomowo;
tab_numer[#tab_numer]=(tab_numer[#tab_numer] or 0)+1;
end;
elseif((not czy_jest_teraz_spis_tresci)and(((not pierwszy_dodatni_naglowek)and(poziom_znakowy_rozdzialu>0))or((not pierwszy_ujemny_naglowek)and(poziom_znakowy_rozdzialu<0))))then
if(poziom_rozdzialu>0)then
if(not OTakimSamymLubMniejszymPoziomie(m))then
if(poziom_znakowy_rozdzialu>0)then
HNumerPoziomowNaglowkow_2=HNumerPoziomowNaglowkow;
HNumerPoziomowNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
tab_numer_3=tab_numer;
tab_numer={0,};
HNumerPoziomow_3=HNumerPoziomow;
HNumerPoziomow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
pierwszy_dodatni_naglowek=true;
poziom_pierwszego_dodatniego_naglowka=poziom_rozdzialu;
glowny_dodatni_rozdzial=true;
else
tab_numer_4=tab_numer;
tab_numer=parametry_modul["KopiujTabelęElementów"](tab_numer);
tab_numer[#tab_numer]=nil;
HNumerPoziomow_4=HNumerPoziomow;
HNumerPoziomow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
if(poziom_naglowka or 0>0)then
HNumerPoziomow(poziom_naglowka,#tab_numer);
end;
pierwszy_ujemny_naglowek=true;
poziom_pierwszego_ujemnego_naglowka=poziom_rozdzialu;
glowny_ujemny_rozdzial=true;
end;
else
if(poziom_znakowy_rozdzialu>0)then pierwszy_dodatni_naglowek=true;else pierwszy_ujemny_naglowek=true;end;
end;
end;
elseif((czy_jest_teraz_spis_tresci)and(not czy_nie_ten_rozdzial))then
if((not spis)and(poziom_rozdzialu>0)
and(tab_lista_artykulow_w_ksiazce[m+1])
and((
(poziom_znakowy_rozdzialu>0)
and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>0)
and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>poziom_rozdzialu)
)or(
(poziom_znakowy_rozdzialu<0)
and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)<0)
and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>poziom_rozdzialu)
))
)then
tab_numer={0,};
spis=true;
end
elseif((tab_lista_artykulow_w_ksiazce[m+1])
and((
(poziom_znakowy_rozdzialu>0)
and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>0)
and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>poziom_rozdzialu)
)--[[or(
(poziom_znakowy_rozdzialu<0)
and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)<0)
and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>poziom_rozdzialu)
)]])
)then
table.insert(tab_numer,0);
end;
-- end;
end;
if(tab_lista[2])then
local HNumerArtykulu=stronicowyparser_potrzebne_modul.LiczonyHNumer();
local HNumerPoziomu=stronicowyparser_potrzebne_modul.LiczonyHNumer();
local czy_tytul_rozdzial=nil;local poprzedni_b=nil;local ile_odjac=0;
local HNumerB=nil;
local poprzedni_poziom_artykulu=nil;
local czy_ma_elementy=nil;
local poziom_poprzedni_artykulu=nil;
for p,artykul_w_bazie in ipairs(tab_lista[2])do
local artykul=artykul_w_bazie[1][1] or artykul_w_bazie[1];
artykul=(not naglowek)and mw.ustring.gsub(artykul,"^([^#]*)#(.*)$","%1") or artykul;
if(naglowek or not tab_artykul[artykul])then
pierwszy_rowny_rozdzial=nil;
czy_ma_elementy=true;
if(not naglowek)then
tab_artykul[artykul]=true;
end;
local tab_artykul_w_bazie;
if(poziomowo)then
local poziom_artykulu=artykul_w_bazie[2][1];
local poziom_poczatku_artykulu=artykul_w_bazie[2][2];
local w_rozdziale=artykul_w_bazie[2][4];
if(w_rozdziale)then
function CzyRozdzialMaArtykulyNieWewnetrzne()
for s,artykul_w_bazie in ipairs(tab_lista[2])do
if(s>p)then
if((tab_lista[2][s])and(not tab_lista[2][s][2][4]))then
return true;
end;
end;
end;
return false;
end;
function CzyRozdzialMaRozdzialyNieWewnetrzne()
for s,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
if(s>m)then
local poziom_rozdzialu=tab_lista[1][2][1] or 0;
if(poziom_rozdzialu<0)then
return true;
end;
end;
end;
return false;
end;
if((not artykuly_w_rozdziale)and((CzyRozdzialMaArtykulyNieWewnetrzne())or(CzyRozdzialMaRozdzialyNieWewnetrzne())))then
tab_numer[#tab_numer+1]=0;
artykuly_w_rozdziale=true;
else
if(not tab_lista[2][p+1])then
local wartosc=__FUNKCJA(poziomowo,i,ktory,pierwszy_parametr_szablonu,rozdzial,artykul,tab_numer,{});
if(wartosc)then return wartosc;end;
end;
end;
elseif(artykuly_w_rozdziale)then
artykuly_w_rozdziale=nil;
table.remove(tab_numer,#tab_numer);
tab_poziomowo={};
end;
ostatni_poczatek_artykulu=poziom_poczatku_artykulu;
local function ToNumberPoziomArtykulu(poziom_artykulu)
local numer=tonumber(poziom_artykulu) or 1;
if(numer<1)then numer=1;end;
return numer;
end;
poziom_artykulu=ToNumberPoziomArtykulu(poziom_artykulu);
local poziom_czysty_artykulu=poziom_artykulu;
poziom_artykulu=poziom_artykulu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka;
if((poziom_poczatku_artykulu)and(poziom_poczatku_rozdzialu)
and(#poziom_poczatku_artykulu==#poziom_poczatku_rozdzialu)
and(poziom_poczatku_artykulu~=poziom_poczatku_rozdzialu)
and(mw.ustring.match(poziom_poczatku_rozdzialu,"^*"))
and((mw.ustring.match(poziom_poczatku_artykulu,"^:"))
or (mw.ustring.match(poziom_poczatku_artykulu,"^#"))
)
)then
poziom_artykulu=poziom_artykulu+1;
poziom_czysty_artykulu=poziom_czysty_artykulu+1;
end;
local numer_poziomu=HNumerPoziomow(poziom_artykulu);
if(p>1)then
local numer_poprzedni=tonumber(tab_lista[2][p-1][2][1]) or 1;
local id_poprzednie=tab_lista[2][p-1][4];
local numer=tonumber(tab_lista[2][p][2][1]) or 1;
local id=tab_lista[2][p][4];
if((numer_poprzedni==0)and(not id_poprzednie)and(not id)and(numer>0))then
if(#tab_numer>(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka)then
tab_numer[#tab_numer]=(tab_numer[#tab_numer] or 0)+1;
tab_poziomowo={};
end;
end;
end;
local prefix_poziom_artykulu=poziom_artykulu;
local b=0;
local tab_artykul_w_bazie=mw.text.split(artykul,"/");
if(tab_poprzedni_artykul_w_bazie)then
if(poprzedni_poziom_artykulu)then
if(poprzedni_poziom_artykulu==poziom_artykulu)then
for c=1,#tab_artykul_w_bazie,1 do
local podstrona_artykul=tab_artykul_w_bazie[c];
local podstrona_nazwy_artykulu=tab_poprzedni_artykul_w_bazie[c];
if(podstrona_artykul==podstrona_nazwy_artykulu)then
b=b+1;
end;
end;
else
b=0;
end;
end;
if(poziom_znakowy_rozdzialu<0)then
if(#tab_numer~=0)then
if(poziom_artykulu<=(poziom_pierwszego_ujemnego_naglowka or 0))then
tab_poziomowo=tab_numer_4;
tab_numer={};
HNumerArtykulu=HNumerPoziomow_4;
elseif((poziom_poprzedni_artykulu)and(poziom_artykulu>(poziom_pierwszego_ujemnego_naglowka or 0))and(poziom_poprzedni_artykulu>(poziom_pierwszego_ujemnego_spisu_tresci or 0))and(poziom_artykulu<=(poziom_pierwszego_ujemnego_spisu_tresci or 0)))then
HNumerArtykulu=stronicowyparser_potrzebne_modul.LiczonyHNumer();
for i=#tab_poziomowo,numer_poziomu+1,-1 do
table.remove(tab_numer,i);
end;
tab_numer[#tab_numer]=(tab_numer[#tab_numer] or 0 ) + 1;
tab_poziomowo=tab_numer;
tab_numer={};
elseif((poziom_naglowka>=poziom_artykulu)or((poziom_rozdzialu==poziom_czysty_artykulu)
and((numer_poziomu<numer_rozdzialu)
or((numer_poziomu==numer_rozdzialu)
and(poziom_poczatku_rozdzialu==poziom_poczatku_artykulu)
))
))then
local tab_numer2={};
for i=1,(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka,1 do
tab_numer2[i]=tab_numer[i];
end;
local tab_poziomowo2={};
for i=(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka+1,#tab_numer,1 do
tab_poziomowo2[i-(HNumerPoziomowNaglowkow(0) or 0)-poziom_zerowego_naglowka]=tab_numer[i];
end;
local indeks=(((HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka+1>#tab_numer) and 0 or (#tab_numer-(HNumerPoziomowNaglowkow(0) or 0)-poziom_zerowego_naglowka));
for i=1,numer_poziomu,1 do
tab_poziomowo2[i+indeks]=tab_poziomowo[i];
end;
tab_numer=tab_numer2;
tab_poziomowo=tab_poziomowo2;
--[[tab_poziomowo=tab_numer;
tab_numer={};]]
HNumerArtykulu=stronicowyparser_potrzebne_modul.LiczonyHNumer();
--local numer_poziomu=HNumerPoziomow(poziom_artykulu+(ostatni_rozdzial_dodatni or 0),#tab_poziomowo+1);
end;
end;
end;
elseif(#tab_numer>numer_poziomu)then
tab_poziomowo={};
tab_poziomowo[1]=tab_numer[numer_poziomu];
for i=#tab_numer,numer_poziomu,-1 do
table.remove(tab_numer,i);
end;
elseif((#tab_numer<=numer_rozdzialu)and(numer_rozdzialu>=numer_poziomu))then
local numer_rozdzialu_dodatniego=(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka;
if((numer_rozdzialu_dodatniego>0)or((numer_rozdzialu==numer_poziomu)and(poziom_poczatku_rozdzialu==poziom_poczatku_artykulu)))then
if(#tab_numer>=numer_rozdzialu_dodatniego)then
local tab_numer2={};
for i=1,numer_rozdzialu_dodatniego,1 do
tab_numer2[i]=tab_numer[i];
end;
tab_poziomowo={};
for i=numer_rozdzialu_dodatniego+1,#tab_numer,1 do
tab_poziomowo[i-numer_rozdzialu_dodatniego]=tab_numer[i];
end;
tab_numer=tab_numer2;
end;
end;
end;
poprzedni_poziom_artykulu=poziom_artykulu;
local czy_z_rozdzialem=(tab_artykul_w_bazie[1]==rozdzial);
if((p==1)and(czy_z_rozdzialem))then b=1;end;
czy_tytul_rozdzial=((p==1)and true or czy_tytul_rozdzial) and (czy_z_rozdzialem);
local dodatek=b-((czy_tytul_rozdzial)and 0 or 1);
dodatek=((dodatek>0)and dodatek or 0);
if((poziomowo)and(poziom_znakowy_rozdzialu<0))then
if(poziom_naglowka>=poziom_artykulu)then
local numer_poziomu=HNumerPoziomu(poziom_naglowka,numer_rozdzialu-(HNumerPoziomowNaglowkow(0) or 0));
end;
end;
local stala=poziom_artykulu;
local numer_poziomu=HNumerPoziomu(stala);
poziom_artykulu=stala+dodatek;
local numer=HNumerArtykulu(poziom_artykulu);
local roznica=numer_poziomu-numer;
if(roznica>0)then
numer=HNumerArtykulu(poziom_artykulu,numer_poziomu);
end;
if(#tab_poziomowo<numer)then
for i=#tab_poziomowo+1,numer,1 do
table.insert(tab_poziomowo,1);
end;
else
if(#tab_poziomowo>numer)then
for i=#tab_poziomowo,numer+1,-1 do
table.remove(tab_poziomowo,i);
end;
end;
tab_poziomowo[#tab_poziomowo]=(tab_poziomowo[#tab_poziomowo] or 0)+1;
end;
tab_poprzedni_artykul_w_bazie=tab_artykul_w_bazie;
poziom_poprzedni_artykulu=poziom_artykulu;
end;
local wartosc=__FUNKCJA(poziomowo,i,ktory,pierwszy_parametr_szablonu,rozdzial,artykul,tab_numer,tab_poziomowo);
if(poziomowo)then
if(tab_lista[2][p+1])then
local numer_nastepny=tonumber(tab_lista[2][p+1][2][1]) or 1;
local id_nastepny=tab_lista[2][p+1][4];
local numer=tonumber(tab_lista[2][p][2][1]) or 1;
local id=tab_lista[2][p][4];
if((numer_nastepny==0)and(not id_nastepny)and(not id)and(numer>0))then
tab_poziomowo={tab_numer[(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka+1],};
for i=#tab_numer,(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka+1,-1 do
table.remove(tab_numer,i);
end;
end;
end;
poprzedni_tab_poziomowo=tab_poziomowo;
end;
if(wartosc)then return wartosc;end;
if(not poziomowo)then
i=i+1;
end;
end;
end;
if(not czy_ma_elementy)then
poprzedni_tab_poziomowo=nil;
if(zbieraj_dane)then local wartosc=__FUNKCJA(poziomowo,i,ktory,pierwszy_parametr_szablonu,rozdzial,"",tab_numer,{}); end;
end;
else
poprzedni_tab_poziomowo=nil;
if(zbieraj_dane)then local wartosc=__FUNKCJA(poziomowo,i,ktory,pierwszy_parametr_szablonu,rozdzial,"",tab_numer,{}); end;
end;
end;
return;
end;
p["PobierzNazwęArtykułu"]=function(frame,tabela_listy_danych_analizy_ksiazki)
local s=1;
local function __FUNKCJA(poziomowo,i,ktory,numer,rozdzial,artykul,tab_numer,tab_poziomowo)
if((not poziomowo)and(i==numer))then
if(s==ktory)then
return artykul;
else
s=s+1;
end;
elseif(poziomowo)then
if((table.concat(tab_numer,".")
..((#tab_numer>0) and "." or "")
..table.concat(tab_poziomowo,"."))==numer)then
if(s==ktory)then
return artykul;
else
s=s+1;
end;
end;
end;
end;
return PobierzNumerLubNazweArtykulu(frame,tabela_listy_danych_analizy_ksiazki,__FUNKCJA,true);
end;
p["PobierzNumerArtykułu"]=function(frame,tabela_listy_danych_analizy_ksiazki)
local s=1;
local function __FUNKCJA(poziomowo,i,ktory,nazwa_artykulu,rozdzial,artykul,tab_numer,tab_poziomowo)
if(nazwa_artykulu==artykul)then
if(s==ktory)then
if(poziomowo)then
return (table.concat(tab_numer,".")..((#tab_numer>0) and ((#tab_poziomowo>0) and "." or "") or "")..table.concat(tab_poziomowo,"."));
else
return i;
end;
end;
s=s+1;
end;
end;
return PobierzNumerLubNazweArtykulu(frame,tabela_listy_danych_analizy_ksiazki,__FUNKCJA,false);
end;
p["PobierzDaneKsiążki"]=function(frame,tabela_listy_danych_analizy_ksiazki,kodowanie_nie_json)
local tab_dane_ksiazki=nil;
local s=1;
local function __FUNKCJA(poziomowo,i,ktory,nazwa_artykulu,rozdzial,artykul,tab_numer,tab_poziomowo)
if(not tab_dane_ksiazki)then tab_dane_ksiazki={};end;
if(not tab_dane_ksiazki[rozdzial])then tab_dane_ksiazki[rozdzial]={};end;
local numer_rozdzialu=tab_numer and table.concat(tab_numer,".") or "";
repeat
numer_rozdzialu=mw.ustring.gsub(numer_rozdzialu,"%.0$","")
until not mw.ustring.match(numer_rozdzialu,"%.0$");
if(not tab_dane_ksiazki[rozdzial][numer_rozdzialu])then
tab_dane_ksiazki[rozdzial][numer_rozdzialu]={};
end;
if(not tab_dane_ksiazki[rozdzial][numer_rozdzialu][artykul])then
tab_dane_ksiazki[rozdzial][numer_rozdzialu][artykul]={};
end;
local numer_artykulu=tab_poziomowo and table.concat(tab_poziomowo,".") or "";
if(not tab_dane_ksiazki[rozdzial][numer_rozdzialu][artykul][numer_artykulu])then
tab_dane_ksiazki[rozdzial][numer_rozdzialu][artykul][numer_artykulu]={};
end;
table.insert(tab_dane_ksiazki[rozdzial][numer_rozdzialu][artykul][numer_artykulu],s);
s=s+1;
return false;
end;
PobierzNumerLubNazweArtykulu(frame,tabela_listy_danych_analizy_ksiazki,__FUNKCJA,false,true);
return (not kodowanie_nie_json) and mw.text.jsonEncode(tab_dane_ksiazki,mw.text.JSON_PRESERVE_KEYS) or tab_dane_ksiazki;
end;
p["SubNazwaNadArtykułu"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local numer=tonumber(args[1]) or 0;
local krok=tonumber(args[2])or 1;
local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame);
return stronicowyparser_potrzebne_modul.SubNazwaNadStrony(nazwa_artykulu,numer,krok);
end;
p["NazwaNadArtykułu"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local numer=tonumber(args[1]) or 1;
local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame);
return stronicowyparser_potrzebne_modul.SubNazwaNadStrony(nazwa_artykulu,1,numer);
end;
p["NazwaLinkuArtykułu"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame);
local ostatni_artykul;
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
if(tab_lista[2])then
for _,artykul_w_bazie in ipairs(tab_lista[2])do
if(type(artykul_w_bazie[1])~="table")then
if(artykul_w_bazie[1]==nazwa_artykulu)then
return artykul_w_bazie[1];
end;
elseif(artykul_w_bazie[1][1]==nazwa_artykulu)then
return artykul_w_bazie[1][2];
end;
end;
end;
end;
return "(błąd)";
end;
p["LiczbaArtykułówKsiążki"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local parametry_modul=require("Module:Parametry");
local args=stronicowyparser_potrzebne_modul:Args();
local naglowek=parametry_modul.CzyTak(args["nagłówek"]);
local tab_artykul=(not naglowek) and {} or nil;
local i=0;
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
if(tab_lista[2])then
for _,artykul_w_bazie in ipairs(tab_lista[2])do
local nazwa_artykulu=artykul_w_bazie[1][1] or artykul_w_bazie[1];
local artykul=(not naglowek) and mw.ustring.gsub(nazwa_artykulu,"^([^#]*)#(.*)$","%1") or nazwa_artykulu;
if(naglowek or not tab_artykul[artykul])then
if(not naglowek)then
tab_artykul[artykul]=true;
end;
i=i+1;
end;
end;
end;
end;
return i;
end;
p["LiniaArtykułuKsiążki"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame);
local parametry_modul=require("Module:Parametry");
local args=stronicowyparser_potrzebne_modul:Args();
local czy_analiza=parametry_modul.CzyTak(args["analiza"]);
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
if(tab_lista[2])then
for _,artykul_w_bazie in ipairs(tab_lista[2])do
local artykul_ksiazki=artykul_w_bazie[1][1] or artykul_w_bazie[1];
if(artykul_ksiazki==nazwa_artykulu)then
if(not czy_analiza)then
return artykul_w_bazie[3];
else
local function AnalizaLiniiArtykolow()
local czy_spis_tresci=mw.ustring.match(artykul_w_bazie[3],"({{%s*[Ss]pisTreści%s*|[^{}]*}})");
if(czy_spis_tresci)then
local techniczne_modul=require("Module:Techniczne");
local parametry_szablony=techniczne_modul["ParsujWywołanieSzablonu"](czy_spis_tresci);
local nazwa_artykulu=parametry_szablony[1];
------
local nazwa_ksiazki=stronicowyparser_potrzebne_modul:PelnaNazwaKsiazki(frame);
local pelna_nazwa_strony=(nazwa_artykulu=="")and nazwa_ksiazki or nazwa_ksiazki.."/"..nazwa_artykulu;
local link= "[["..pelna_nazwa_strony.."|"..nazwa_artykulu.."]]";
local linia2,_=mw.ustring.gsub(artykul_w_bazie[3],"({{%s*[Ss]pisTreści%s*|[^{}]*}})",link);
return linia2;
else
local czy_spis_tresci=mw.ustring.match(artykul_w_bazie[3],"({{%s*[Ss]ekcja[%s_]+referencyjna%s*|[^{}]*}})");
if(czy_spis_tresci)then
local linia2,_=mw.ustring.gsub(artykul_w_bazie[3],"({{%s*[Ss]ekcja[%s_]+referencyjna%s*|)","%1astandardowo=tak|");
return linia2;
else
local nazwa_ksiazki=stronicowyparser_potrzebne_modul:PelnaNazwaKsiazki(frame);
local function adresuj_linki(a,b)
return "[["..nazwa_ksiazki.."/"..a..(b or "").."]]";
end;
local artykul=mw.ustring.gsub(artykul_w_bazie[3],"%[%[%s*/([^%[%]|]-)/*%s*(|.*)%]%]",adresuj_linki);
artykul=mw.ustring.gsub(artykul,"%[%[%s*/([^%[%]|]-)/*%s*%]%]",adresuj_linki);
return artykul;
end;
end;
end;
return AnalizaLiniiArtykolow();
end
end;
end;
end;
end;
local uzupelniaj_sekcje_artykulow=parametry_modul.CzyTak(args["uzupełniaj sekcje artykułów"]);
if(uzupelniaj_sekcje_artykulow)then
if(mw.ustring.match(nazwa_artykulu,"^[^#]*#(.+)$"))then
local naglowek=mw.ustring.match(nazwa_artykulu,"^[^#]*#(.+)$");
if(parametry_modul["CzyTakCiąg"](naglowek))then
local pelna_nazwa_ksiazki=stronicowyparser_potrzebne_modul:PelnaNazwaKsiazki(frame)
return "[["..pelna_nazwa_ksiazki..((nazwa_artykulu~="")and("/"..nazwa_artykulu) or "").."|"..naglowek.."]]";
end;
end;
end;
end;
p["AktualnaKsiążka"]=function(frame,__error)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
return stronicowyparser_potrzebne_modul:PelnaNazwaKsiazki(frame) or ((not __error)and "(błąd)" or nil);
end;
p["NazwaAktualnyArtykuł"]=function(frame,__error)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
return stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame) or ((not __error)and "(błąd)" or nil);
end;
p["ListaNagłówkówKsiążki"] = function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local stronicowyparser_obiekty=mw.loadData("Module:StronicowyParser/obiekty");
local tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek;
local tab_rozdzialow_glownych_spisow_tresci_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_glownych_spisow_tresci_ksiazek;
local czy_sa_rozdzialy=nil;
local pelna_nazwa_ksiazki=stronicowyparser_potrzebne_modul:PelnaNazwaKsiazki(frame);
local args=stronicowyparser_potrzebne_modul:Args();
local wikikod="";
local linki_modul=require("Module:Linki");
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
local rozdzial=tab_lista[1][1];
local numer_rozdzialu=tab_lista[1][2][1];
if(numer_rozdzialu>0)then
if(not tab_rozdzialow_glownych_spisow_tresci_ksiazek[rozdzial])then
wikikod=((wikikod~="")and (wikikod.." — ") or "")
..linki_modul["Link wewnętrzny"]{
["strona"]=pelna_nazwa_ksiazki,
["nagłówek"]=rozdzial,
["nazwa"]=rozdzial,
["bez znaczników"]=args["bez znaczników"],
["bez przetwarzania"]=args["bez przetwarzania"],
};
end;
czy_sa_rozdzialy=true;
end;
end;
if(not czy_sa_rozdzialy)then return "(błąd: brak rozdziałów)";end;
return wikikod;
end;
p["ArtykułSubst"] = function(frame)
local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_ksiazkowych;
local nazwa_przestrzeni;local nazwa_ksiazki;local nazwa_artykulu;
if(not tabela_listy_danych_analizy_ksiazki.zastepczy)then
nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki;
nazwa_artykulu=tabela_listy_danych_analizy_ksiazki.nazwa_artykulu;
else
nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.normalna_nazwa_przestrzeni;
nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.normalna_nazwa_ksiazki;
nazwa_artykulu=tabela_listy_danych_analizy_ksiazki.normalna_nazwa_artykulu;
end;
local parametry_modul=require("Module:Parametry");
local PobierzParametr=parametry_modul.PobierzParametr(frame);
local pobierz_nazwa_artykulu=PobierzParametr("pobierz pełną nazwę artykułu");
local pobierz_adres_ksiazki=PobierzParametr("pobierz pełną nazwę książki");
local czy_pobierz_pelna_nazwa_artykulu=parametry_modul.CzyTak(pobierz_nazwa_artykulu);
local czy_pobierz_pelna_nazwa_ksiazki=parametry_modul.CzyTak(pobierz_adres_ksiazki);
if(czy_pobierz_pelna_nazwa_artykulu and not czy_pobierz_pelna_nazwa_ksiazki)then
return ((nazwa_przestrzeni~="")and(nazwa_przestrzeni..":") or "")..nazwa_ksiazki..((nazwa_artykulu~="") and "/" or "")..nazwa_artykulu;
elseif(not czy_pobierz_pelna_nazwa_artykulu and czy_pobierz_pelna_nazwa_ksiazki)then
return ((nazwa_przestrzeni~="")and(nazwa_przestrzeni..":") or "")..nazwa_ksiazki;
elseif(czy_pobierz_pelna_nazwa_artykulu and czy_pobierz_pelna_nazwa_ksiazki)then
return "(błąd)";
end;
local nazwa_strony=((nazwa_przestrzeni~="")and(nazwa_przestrzeni..":") or "")..nazwa_ksiazki..((nazwa_artykulu~="") and "/" or "")..nazwa_artykulu;
local techniczne_modul=require("Module:Techniczne");
local szablon=techniczne_modul.NazwaSzablonu(nazwa_strony);
return frame:expandTemplate{title=szablon,args={},};
end;
p["KsiążkaSubst"] = function(frame)
local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_ksiazkowych;
local str=tabela_listy_danych_analizy_ksiazki["KsiążkaSubst"];
return str;
end;
p["StronaSubst"] = function(frame)
local parametry_modul=require("Module:Parametry");
local args=frame and ((frame.getParent and ((parametry_modul.CzyTak(frame.args["wyspecjalizowana"]))and frame or frame:getParent()) or frame).args or frame) or {};
local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_ksiazkowych;
local tab_stronasubst=tabela_listy_danych_analizy_ksiazki["StronaSubst"];
if(not tab_stronasubst)then return;end;
local pierwszy,_=mw.ustring.gsub(args[1],"[%s_]+"," ");
local tab_strona=tab_stronasubst[pierwszy];
if(not tab_strona)then return;end;
local link=args["link"];
local czy_link=parametry_modul.CzyTak(link);
local stronasubst=tab_strona[(czy_link and "tak" or "")];
return stronasubst;
end;
p["CzyStronęNumerować"] = function(frame)
local strona=frame.args[1];
local nazwy_modul=require("Module:Nazwy");
strona=nazwy_modul["PEŁNANAZWASTRONY"](strona);
local pudelko_modul=require("Module:Pudełko");
if(strona==pudelko_modul["Strona główna tego projektu"](frame))then
return;
end;
if(strona==pudelko_modul["Strona główna dla dzieci tego projektu"](frame))then
return;
end;
if(mw.ustring.match(strona,"^Szablon:SG/"))then
return;
end;
local zbiory={
["Szablon:Nowe podręczniki miesiąca/Zwycięzca"]=true,
["Wikibooks:Polecane książki"]=true,
["Szablon:Wyróżnienia książek miesiąca/Wyróżniony"]=true,
}
if(zbiory[strona])then
return;
end;
if(mw.ustring.match(strona,"^Szablon:Polecane książki/")
or(mw.ustring.match(strona,"^Szablon:Nowe podręczniki miesiąca/"))
or(mw.ustring.match(strona,"^Szablon:Wyróżnienia książek miesiąca/"))
)then
return;
end;
return "tak";
end;
function p.HNumer(frame)
local p=frame.args["wyspecjalizowana"] and frame or frame:getParent();
if((not p) or (not p.args[1]))then
local blad_module=require("Module:Błąd");
local frame2=p:newChild{args={[1]="Podano złe parametry w szablonie: [[Szablon:HLiczba]].",["tag"]="span",},}
blad_module.error(frame2);
return;
end;
local stronicowyparser_rozdzialy_modul=require("Module:StronicowyParser/Rozdziały");
local naglowek,licznik=stronicowyparser_rozdzialy_modul.PodajRozdzial(p.args[1]);
local id2,_=mw.ustring.gsub(naglowek,"^[%s_]","");
id2,_=mw.ustring.gsub(id2,"[%s_]$","");
id2,_=mw.ustring.gsub(id2,"[%s_]","_");
local id3,_=mw.ustring.gsub(mw.uri.encode(mw.text.encode(id2),"WIKI"),"(%%)",".");
if(licznik>6)then
local id=p.args["id"];
local styl=p.args["styl"];
local klasa=p.args["klasa"];
local atrybuty=p.args["atrybuty"];
local parametry_modul=require("Module:Parametry");
return "<h6"..(parametry_modul.CzyTak(id)and " id=\""..id.."\"" or "")
..(parametry_modul.CzyTak(styl)and " style=\""..styl.."\"" or "")
.." class=\"mw-hnumber mw-hnumber-"..licznik..((parametry_modul.CzyTak(klasa)) and (" "..klasa) or "").."\""
..(parametry_modul.CzyTak(atrybuty)and " "..atrybuty or "")
..">"..((id2~=id3) and ("<span id=\""..id3.."\"></span>") or "").."<span id=\""..id2.."\" class=\"mw-headline\">"..naglowek.."</span></h6>";
elseif(licznik<1)then
local blad_module=require("Module:Błąd");
local frame2=pf:newChild{args={[1]="Nie podano nagłówka w szablonie: [[Szablon:HLiczba]].",["tag"]="span",},}
blad_module.error(frame2);
else
local id=p.args["id"];
local styl=p.args["styl"];
local klasa=p.args["klasa"];
local atrybuty=p.args["atrybuty"];
local parametry_modul=require("Module:Parametry");
return "<h"..licznik..(parametry_modul.CzyTak(id)and " id=\""..id.."\"" or "")
..(parametry_modul.CzyTak(styl)and " style=\""..styl.."\"" or "")
.." class=\""..((parametry_modul.CzyTak(klasa)) and klasa or "").."\""
..(parametry_modul.CzyTak(atrybuty)and " "..atrybuty or "")..">"..((id2~=id3) and ("<span id=\""..id3.."\"></span>") or "").."<span id=\""..id2.."\" class=\"mw-headline\">"..naglowek.."</span></h"..licznik..">";
end;
end;
function p.TOC(frame,czy_rozciagnij,gdy_pusty_spis_tresci)
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych;
local nazwy_modul=require("Module:Nazwy");
local parametry_modul=require("Module:Parametry");
local ksiazkowe_modul=require("Module:Książkowe");
local args=(frame)and (parametry_modul.CzyTak(frame.args["wyspecjalizowana"])and frame.args or frame:getParent().args) or {};
local nazwa_przestrzeni=args[2] and nazwy_modul["NAZWAPRZESTRZENI"](args[2]) or tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
local nazwa_ksiazki=args[2] and ksiazkowe_modul["NazwaKsiążki"](args[2]) or tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki;
local nazwa_artykulu=args[1] and args[1] or tabela_listy_danych_analizy_ksiazki.nazwa_artykulu;
local czy_nie_aktualny=(
(nazwa_przestrzeni~=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni)
or(nazwa_ksiazki~=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki)
or (nazwa_artykulu~=tabela_listy_danych_analizy_ksiazki.nazwa_artykulu)
);
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
if ((tabela_listy_danych_analizy_ksiazki.TOC_StronaZbiorcza)or(tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu and tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni] and tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki] and tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki].lista_artykolow[nazwa_artykulu] and tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki].lista_artykolow[nazwa_artykulu].TOC)) then
mw.log(tabela_listy_danych_analizy_ksiazki.TOC_StronaZbiorcza,"Strona ziorcza");
local spis_tresci_artykulu=stronicowyparser_potrzebne_modul.TOC(frame,tabela_listy_danych_analizy_ksiazki.TOC_StronaZbiorcza or tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki].lista_artykolow[nazwa_artykulu].TOC,czy_nie_aktualny,czy_rozciagnij);
return spis_tresci_artykulu;
elseif(not gdy_pusty_spis_tresci)then
local spis_tresci_artykulu=stronicowyparser_potrzebne_modul.TOC(frame,nil,czy_nie_aktualny,czy_rozciagnij);
return spis_tresci_artykulu;
end;
end;
function p.WykazModolow(frame,czy_rozciagnij)
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych;
local nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki;
local nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
local lista_ksiazek_w_przestrzeni_nazw=tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni];
if(not lista_ksiazek_w_przestrzeni_nazw)then return nil;end;
local tab_lista_artykulow_w_ksiazce_w_ksiazce=lista_ksiazek_w_przestrzeni_nazw[nazwa_ksiazki];
if(not tab_lista_artykulow_w_ksiazce_w_ksiazce)then return nil;end;
local spis=tab_lista_artykulow_w_ksiazce_w_ksiazce.spis;
if(not spis)then return nil;end;
local parametry_modul=require("Module:Parametry");
local spis_ksiazkowy=parametry_modul.CzyTak(frame.args["spis książkowy"]);
local spis_rzeczy=parametry_modul.CzyTak(frame.args["spis rzeczy"]);
local tylko_naglowki=parametry_modul.CzyTak(frame.args["nagłówki"]);
local wysokosc=frame.args["wysokość"];
local wykaz_modolow_w_liscie="";
local i=1;
for _,tab_artykul in ipairs(spis)do
if(tab_artykul[2])then
for _,tab_pozycja in ipairs(tab_artykul[2])do
if(type(tab_pozycja[1])~="table")then
sformatowana_nazwa_artykulu,_=mw.ustring.gsub(tab_pozycja[1],"_"," ");
else
sformatowana_nazwa_artykulu,_=mw.ustring.gsub(tab_pozycja[1][1],"_"," ");
end;
local id=tab_pozycja[4]
if(not tylko_naglowki or id)then
if(not spis_ksiazkowy)then
wykaz_modolow_w_liscie=((wykaz_modolow_w_liscie~="") and (wykaz_modolow_w_liscie.."\n") or "")..'<li>[['..((not spis_rzeczy or not id)and (((nazwa_przestrzeni=="")and nazwa_ksiazki or nazwa_przestrzeni..":"..nazwa_ksiazki).."/") or "#")..sformatowana_nazwa_artykulu.."|<span class=\"tocnumber\">"..i.."</span><span class=\"toctext\">"..sformatowana_nazwa_artykulu..'</span>]]</li>';
else
wykaz_modolow_w_liscie=((wykaz_modolow_w_liscie~="") and (wykaz_modolow_w_liscie.."\n") or "")..'{{SpisZw||[['..((not spis_rzeczy or not id)and (((nazwa_przestrzeni=="")and nazwa_ksiazki or nazwa_przestrzeni..":"..nazwa_ksiazki).."/") or "#")..sformatowana_nazwa_artykulu.."|"..sformatowana_nazwa_artykulu.."]]|"..i.."|100%}}";
end;
i=i+1;
end;
end;
end;
end;
if(wykaz_modolow_w_liscie=="")then return nil;end;
if(not spis_ksiazkowy)then
wykaz_modolow_w_liscie="<ul>"..wykaz_modolow_w_liscie.."</ul>";
wykaz_modolow_w_liscie='<div class="toc_ogólnie_spis toc_wykaz" style="width:100%;max-height:400px;overflow:auto;">'..wykaz_modolow_w_liscie.."</div>";
wykaz_modolow_w_liscie='{{Tabela nawigacyjna|styl=width:'..(czy_rozciagnij and "100%" or "auto")..';font-size:14px;line-height:1.2em;background-color:white;|tytuł=<div style="font-size:14px;line-height:1.2em;background-color:white;text-align:left;white-space:nowrap;">Wykaz modułów w książce</div>|spis='..wykaz_modolow_w_liscie..'|funkcja=UkrytaWikitabelowaListaMenu}}';
else
wykaz_modolow_w_liscie="<div class=\"toc_wykaz mw-overflow-y\" style=\""..(wysokosc and ("max-height:"..wysokosc..";overflow:auto;") or "").."border:solid #aaa 1px;padding:10px;width:auto;box-sizing:border-box;background-color:white;\">"..wykaz_modolow_w_liscie.."</div>";
end;
local rozwiniety_wikikod=frame:preprocess(wykaz_modolow_w_liscie);
return rozwiniety_wikikod;
end;
function p.NazwaModolu()
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych;
local nazwy_np_modul=mw.loadData('Moduł:Nazwy/Np');
local nazwa_artykulu=tabela_listy_danych_analizy_ksiazki.nazwa_artykulu;
if(nazwa_artykulu==nil)then
return "[["..nazwy_np_modul.Category..": Nie można wygenerować nazwy strony]]";
else
return nazwa_artykulu;
end;
end;
function p.Wstep_do_licencji(frame)
local element_licencji_1='<strong>Autor:</strong> '..frame.args[1]..'<BR>';
local element_licencji_2;
if((frame.args[2]~='')and(frame.args[2]~=nil))then
element_licencji_2=frame.args[2]..'<BR>';
end;
local element_licencji_3;
if((frame.args[3]~='')and(frame.args[3]~=nil))then
element_licencji_3='<strong>Email:</strong> '..frame.args[3]..'<BR>';
end;
local element_licencji_4;
if((frame.args[4]~='')and(frame.args[4]~=nil))then
element_licencji_4='<strong>Dotyczy:</strong> '..frame.args[4].."<BR>";
else
element_licencji_4='<strong>Dotyczy:</strong> książki, do której należy ta strona, oraz w niej zawartych stron i w nich podstron, a także w nich kolumn, wraz z zawartościami.<BR>';
end;
if((frame.args[5]~='')and(frame.args[5]~=nil))then
element_licencji_5=frame.args[5].."<BR>";
else
element_licencji_5='Użytkownika książki, do której należy ta strona, oraz w niej zawartych stron i w nich podstron, a także w nich kolumn, wraz z zawartościami nie zwalnia z odpowiedzialności prawnoautorskiej nieprzeczytanie warunków licencjonowania.<BR>';
end;
local element_licencji_6;
if((frame.args[6]~='')and(frame.args[6]~=nil))then
element_licencji_6='<strong>Umowa prawna:</strong> '..frame.args[6]..'<BR>';
else
element_licencji_6='<strong>Umowa prawna:</strong> [http://creativecommons.org/licenses/by-sa/3.0/deed.pl Creative Commons: uznanie autorstwa oraz miejsca pochodzenia książki i jej jakikolwiek części, a także treści, teksty, tabele, wykresy, rysunki, wzory i inne elementy oraz ich części zawarte w książce, i tą książkę, nawet w postaci przerobionej nie można umieszczać w jakikolwiek formie na czasopismach naukowych, archiwach prac, itp.]<BR>';
end;
if((frame.args[7]~='')and(frame.args[7]~=nil))then
element_licencji_7=frame.args[7].."<BR>";
else
element_licencji_7='Autor tej książki dołożył wszelką staranność, aby informacje zawarte w książce były poprawne i najwyższej jakości, jednakże nie udzielana jest żadna gwarancja, czy też rękojma. Autor nie jest odpowiedzialny za wykorzystanie informacji zawarte w książce nawet jeśli wywołaby jakąś szkodę, straty w zyskach, zastoju w prowadzeniu firmy, przedsiębiorstwa lub spółki bądź utraty informacji niezależnie, czy autor (a nawet [https://pl.wikibooks.org Wikibooks]) został powiadomiony o możliwości wystąpienie szkód. Informacje zawarte w książce mogą być wykorzystane tylko na własną odpowiedzialność.<BR>';
end;
local licencja=element_licencji_1..((element_licencji_2)and element_licencji_2 or "")..((element_licencji_3)and element_licencji_3 or "")
..element_licencji_4..element_licencji_5..element_licencji_6..element_licencji_7;
return licencja;
end;
function p.Licencja(frame,czy_rozciagnij)
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych;
local menu_z_licencja;
local nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
local nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki;
local licencja=tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki].licencja;
if(licencja)then
if(licencja[1])then
local frame={};
frame.args={licencja[1],licencja[2],licencja[3],licencja[4],licencja[5],licencja[6],licencja[7]};
local ramka_z_licencja='<div style="margin-left:0px;padding:3px;width:100%;height:auto;box-sizing:border-box;">'..p.Wstep_do_licencji(frame)..'</div>';
menu_z_licencja='{{Tabela nawigacyjna|styl=width:'..(czy_rozciagnij and "100%" or "auto")..';font-size:14px;line-height:1.2em;background-color:white;|tytuł=<div style="font-size:14px;line-height:1.2em;background-color:white;text-align:left;white-space:nowrap;">Licencja</div>|spis='..ramka_z_licencja..'|funkcja=StatycznaWikitabelowaListaMenu}}';
else
return nil;
end;
local frame=mw.getCurrentFrame();
local rozwiniety_wikikod=frame:preprocess(menu_z_licencja);
return rozwiniety_wikikod;
else
return nil;
end;
end;
function p.Autor(frame)
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych;
local nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
local nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki;
local licencja=tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki].licencja;
if(tabela_listy_danych_analizy_ksiazki.licencja)then
return licencja[1];
end;
end;
function p.PierwszaStrona(frame)
local prawe_menu="";
local parametry_modul=require("Module:Parametry");
local czy_rozciagnij=parametry_modul.CzyTak(frame.args["rozciągnij"])
if(parametry_modul.CzyTak(frame.args[1]))then
prawe_menu='<div style="margin-top:5px;font-size:1.9em;line-height:25px;text-align:left;">'..p.NazwaModolu()..'</div><hr style=\"margin:5px 0\"/>';
end;
if(parametry_modul.CzyTak(frame.args[2]))then
local licencja=p.Licencja(frame,czy_rozciagnij);
if(licencja~=nil)then
prawe_menu=prawe_menu..licencja;
else
local obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty");
local uchwyt_strony=mw.title.getCurrentTitle();
local nazwy_np_modul=mw.loadData("Module:Nazwy/Np");
local nazwa_przestrzeni_nazw_strony=require("Module:Nazwy")["NAZWAPRZESTRZENI"]();
local element_zdania_kategorii=(nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Main)and "na stronach głównych, książek"
or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikijunior)and "na stronach głównych, książek dla dzieci"
or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.User)and "na stronach głównych, książek użytkowników"
or((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikibooks)and "na stronach głównych, książek brudnopisu projektu"
or "na stronach głównych, publikacji")));
local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_ksiazkowych;
local kategoria_braku_licencji=(not tabela_listy_danych_analizy_ksiazki.korzystane_strona_glowna_nie_istnieje)and"[["..nazwy_np_modul.Category..": Brak licencji, "..element_zdania_kategorii.."]]" or "";
prawe_menu=prawe_menu..kategoria_braku_licencji;
end;
end;
if(parametry_modul.CzyTak(frame.args[3]))then
local wykaz_artykulow=p.WykazModolow(frame,czy_rozciagnij);
if(wykaz_artykulow~=nil)then
prawe_menu=prawe_menu.."<hr style=\"margin:5px 0\"/>"..wykaz_artykulow;
end;
end;
if(parametry_modul.CzyTak(frame.args[4]))then
local spis_tresci=p.TOC(frame,czy_rozciagnij,true);
if(spis_tresci~=nil)then
prawe_menu=prawe_menu.."<hr style=\"margin:5px 0\"/>"..spis_tresci;
end;
end;
local wysokosc=frame.args["wysokość"];
return "<div style=\"padding:10px;border: solid #aaa 1px;background-color:white;box-sizing:border-box;width:700px;\"><div class=\"pierwsza_strona mw-overflow-y\" style=\"max-height:"..(wysokosc or "100%")..";overflow:auto;height:100%;box-sizing:border-box;\"><div style=\"display:flex;flex-direction:column;width:auto;height:auto;box-sizing:border-box;\">"..prawe_menu.."</div></div></div>";
end;
function p.SpisTresci(frame)
local parametry_modul=require("Module:Parametry");
local args=parametry_modul.PobierzArgsParametry(frame);
local nazwa_artykulu=args["artykuł"] or args[1];
local nazwa_ksiazki=args["książka"] or args[2];
if(not parametry_modul.CzyTak(nazwa_ksiazki))then
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych;
local uzyskana_nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
local uzyskana_nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki;
nazwa_ksiazki=((uzyskana_nazwa_przestrzeni~=nil) and (uzyskana_nazwa_przestrzeni..":") or "")..uzyskana_nazwa_ksiazki;
end;
local brak=(nazwa_artykulu and mw.ustring.match(nazwa_artykulu,"[|<>{}%[%]]") or nil) or (nazwa_ksiazki and mw.ustring.match(nazwa_ksiazki,"[|<>{}%[%]]") or nil);
if(brak~=nil)then
local nazwy_np_modul=mw.loadData("Module:Nazwy/Np");
local nazwa_przestrzeni_nazw_strony=require("Module:Nazwy")["NAZWAPRZESTRZENI"]();
local element_zdania_kategorii=(nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Main)and "artykułów,"
or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikijunior)and "artykułów dla dzieci,"
or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.User)and "stron użytkowników,"
or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikibooks)and "stron brudnopisu projektu,"
or "stron,")));
return "[["..nazwy_np_modul.Category..":Nazwy "..element_zdania_kategorii.." w spisach treści, zawierają niedozwolone znaki]]";
end;
local html_modul=require("Module:Html");
local nazwy_modul=require("Module:Nazwy");
local ksiazkowe_modul=require("Module:Książkowe");
local nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](nazwa_ksiazki);
local nazwa_ksiazki=ksiazkowe_modul["NazwaKsiążki"](nazwa_ksiazki);
nazwa_ksiazki=html_modul.TransformacjaKlasyZnakowej(nazwa_ksiazki);
local nazwa_artykulu=html_modul.TransformacjaKlasyZnakowej(nazwa_artykulu);
local nazwa_strony=(nazwa_artykulu=="")and nazwa_ksiazki or nazwa_ksiazki.."/"..nazwa_artykulu;
local pelna_nazwa_strony=(nazwa_przestrzeni=="")and nazwa_strony or nazwa_przestrzeni..":"..nazwa_strony;
local tekst_artykulu=p.SpreparowanyWikikodStrony(pelna_nazwa_strony);
local nazwa=args["nazwa"] or args[3];
local nazwa_strony_artykulu=parametry_modul.CzyTak(nazwa) and nazwa or mw.ustring.gsub(mw.ustring.match(nazwa_artykulu,"[^/]*$"),"_"," ");
local dodatek=args["dodatek"] or args[4];
if(not tekst_artykulu)then
if(nazwa_artykulu~="")then
return "\n"..mw.ustring.rep("=",6).."<span style=\"color:red\">[["..pelna_nazwa_strony.."|"..nazwa_strony_artykulu.."]]</span>"..mw.ustring.rep("=",6).."\n";
else
return frame:getParent():preprocess("{{Błąd|Wywołano szablon z argumentem pierwszym pustym.}}");
end;
else
local twor_spisu_tresci="[["..pelna_nazwa_strony.."|"..nazwa_strony_artykulu.."]]"..(((dodatek)and(dodatek~="")) and (" "..dodatek) or "");
twor_spisu_tresci=mw.ustring.rep("=",6)..twor_spisu_tresci..mw.ustring.rep("=",6).."\n";
local stronicowyparser_dalszefunkcje_modul=require("Module:StronicowyParser/DalszeFunkcje");
local ulozenia_w_menu_spisu_tresci=stronicowyparser_dalszefunkcje_modul:SpisTresciWstep(tekst_artykulu, pelna_nazwa_strony);
local atrybuty="style=\"margin-left:20px\"";
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
local toc=stronicowyparser_potrzebne_modul.TOCSilnik(ulozenia_w_menu_spisu_tresci, atrybuty);
local limit=args["limit"];
local czy_limit=parametry_modul.CzyTak(limit);
return '<div class="toc_ogólnie_spis toc_artykuł toclimit '..(czy_limit and ("toclimit-"..limit) or "")..'">\n'..twor_spisu_tresci..(toc and toc or "")..'</div>';
end;
end;
function IteratorFunkcja()
local obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty");
local tabela_wypowiedzi=obiekty_modul.tablica_obiektow;
local licznik=1;
return function()
local tabela_obiektu=tabela_wypowiedzi[licznik];
if(not tabela_obiektu)then return nil;end;
local wartosc1=mw.ustring.gsub(tabela_obiektu[1],"%d+$","");
local wartosc2=tabela_obiektu[4];
licznik=licznik+1;
return wartosc1,wartosc2;
end;
end;
local iterator=IteratorFunkcja();
for nazwa_obiektu,czesc_nazwy_funkcji in iterator do
p["Numer"..czesc_nazwy_funkcji] = function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
return stronicowyparser_potrzebne_modul.NumerObiektu(frame,nazwa_obiektu);
end;
end;
p["AnalizujSzablonemStronicowymArtykuł"]=function(frame)
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych;
return "";
end;
function p.formatowanie()
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych;
return tabela_listy_danych_analizy_ksiazki.formatowanie;
end;
function p.WstawKategorie(frame)
local stronicowyparser_kategorie_modul=require("Module:StronicowyParser/Kategorie");
return stronicowyparser_kategorie_modul.WstawKategorie(frame);
end;
function p.CzyStronaSubst(frame,pelnanazwastrony,czy_wymusic)
if(czy_wymusic)then
local nazwy_modul=require("Module:Nazwy");
local pelnanazwastronyaktualnej=nazwy_modul["PEŁNANAZWASTRONY"]();
if(pelnanazwastrony~=pelnanazwastronyaktualnej)then
local stronicowyparser_stronasubst_modul=require("Module:StronicowyParser/StronaSubst");
local TakFun=function(frame) return "tak";end;local NieFun=function(frame) return "";end;
return stronicowyparser_stronasubst_modul.AnalizaStronaSubst(nil,pelnanazwastrony,TakFun,NieFun,nil);
end;
end;
local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_ksiazkowych;
if(tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then
return "tak";
end;
return "";
end;
return p;
s3bpea6ng8i7b8ekerznqz58vttlrfp
437950
437875
2022-08-17T05:44:07Z
Persino
2851
Scribunto
text/plain
local p = {}
function p.SpreparowanyWikikodStrony(nazwa_modolu,dokumentacja)
local stronicowyparser_dalszefunkcje=require("Module:StronicowyParser/DalszeFunkcje")
return stronicowyparser_dalszefunkcje.SpreparowanyWikikodStrony(nil,nazwa_modolu,dokumentacja);
end;
function p.PrzekierowanieDoStrony(frame)
local parametry_modul=require("Module:Parametry");
local PobierzParametr=parametry_modul.PobierzParametr(frame);
local nazwa_modulu=PobierzParametr(1);
local latki_modul=require("Module:Łatki");
return latki_modul.contentMatch{args={
[1]="^%s*#REDIRECT%s+%[%[(.+)%]%]%s*",
[2]="^%s*#PATRZ%s+%[%[(.+)%]%]%s*",
[3]="^%s*#TAM%s+%[%[(.+)%]%]%s*",
namespace="",
pagename=nazwa_modulu,
},
};
end;
p["TekstRozdziałuStrony"]=function(frame)
local stronicowyparser_rozdzialy=require("Module:StronicowyParser/Rozdziały");
return stronicowyparser_rozdzialy.TekstRozdzialuStrony(frame);
end;
p["KtóraSekcjaStrony"]=function(frame)
local stronicowyparser_rozdzialy=require("Module:StronicowyParser/Rozdziały");
return stronicowyparser_rozdzialy.KtoraSekcjaStrony(frame);
end;
p["ZwróćSekcjęNagłówkaStrony"]=function(frame)
local stronicowyparser_rozdzialy=require("Module:StronicowyParser/Rozdziały");
return stronicowyparser_rozdzialy.ZwrocSekcjeNaglowkaStrony(frame);
end;
p["NastępnyArtykuł"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local parametry_modul=require("Module:Parametry");
local nazwa=parametry_modul.CzyTak(args["nazwa"]);
local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame);
local numer=tonumber(args[1]) or 0;
local naglowek=parametry_modul.CzyTak(args["nagłówek"]);
local nazwa_artykulu_z_naglowkiem_match=mw.ustring.match(nazwa_artykulu,"^([^#]*)#.*$");
local nazwa_artykulu_z_opcja_naglowek=(not naglowek) and nazwa_artykulu_z_naglowkiem_match or nazwa_artykulu;
local nadstrona_artykulu=(numer>0) and stronicowyparser_potrzebne_modul.NazwaNadStrony(nazwa_artykulu,numer) or nil;
local i=0;
local tab_artykul={};
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
if(tab_lista[2])then
for _,artykul_w_bazie_element in ipairs(tab_lista[2])do
local artykul_w_bazie;local artykul_bez_naglowka_w_bazie;local artykul_z_naglowkiem_w_bazie;
local czy_table=parametry_modul.TypeTable(artykul_w_bazie_element[1]);
if(czy_table)then
artykul_w_bazie=artykul_w_bazie_element[1][1];
else
artykul_w_bazie=artykul_w_bazie_element[1];
end;
local artykul_z_naglowkiem_w_bazie_match=mw.ustring.match(artykul_w_bazie,"^([^#]*)#.*$");
artykul_bez_naglowka_w_bazie=artykul_z_naglowkiem_w_bazie_match or artykul_w_bazie;
if(naglowek or not tab_artykul[artykul_bez_naglowka_w_bazie])then
if(not naglowek)then
tab_artykul[artykul_bez_naglowka_w_bazie]=true;
end
if(not naglowek)then
artykul_z_naglowkiem_w_bazie=artykul_bez_naglowka_w_bazie;
else
artykul_z_naglowkiem_w_bazie=artykul_w_bazie;
end;
local numer_artykulu_w_bazie;
if(numer>0)then
numer_artykulu_w_bazie=stronicowyparser_potrzebne_modul.PoziomAdresu(artykul_bez_naglowka_w_bazie);
end;
local function Nastepny()
if(not nazwa)then
return artykul_z_naglowkiem_w_bazie;
end;
if(czy_table)then
return artykul_w_bazie[1][2];
else
return artykul_z_naglowkiem_w_bazie;
end;
end;
if(i==1)then
if(numer>0)then
local nadstrona_artykulu_w_bazie=stronicowyparser_potrzebne_modul.NazwaNadStrony(artykul_bez_naglowka,numer);
if((numer==numer_artykulu_w_bazie)and(nadstrona_artykulu==nadstrona_artykulu_w_bazie))then
return Nastepny();
end;
else
return Nastepny();
end;
else
if((not naglowek)and(artykul_bez_naglowka_w_bazie==nazwa_artykulu_z_opcja_naglowek)
or(((naglowek) and ((nazwa_artykulu_z_naglowkiem_match and artykul_z_naglowkiem_w_bazie_match)or(not nazwa_artykulu_z_naglowkiem_match and not artykul_z_naglowkiem_w_bazie_match)))
and (artykul_z_naglowkiem_w_bazie==nazwa_artykulu)
))then
i=1;
end;
end;
end;
end;
end;
end;
if(i==1)then
return "";
end;
return "(błąd)";
end;
p["PoprzedniArtykuł"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local parametry_modul=require("Module:Parametry");
local nazwa=parametry_modul.CzyTak(args["nazwa"]);
local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame);
local numer=tonumber(args[1]) or 0;
local naglowek=parametry_modul.CzyTak(args["nagłówek"]);
local nazwa_artykulu_z_naglowkiem_match=mw.ustring.match(nazwa_artykulu,"^([^#]*)#.*$")
local nazwa_artykulu_z_opcja_naglowek=(not naglowek) and nazwa_artykulu_z_naglowkiem_match or nazwa_artykulu;
local nadstrona_artykulu=(numer>0) and stronicowyparser_potrzebne_modul.NazwaNadStrony(nazwa_artykulu,numer) or nil;
local artykul;
local tab_artykul={};
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
if(tab_lista[2])then
for _,artykul_w_bazie in ipairs(tab_lista[2])do
local artykul_z_naglowkiem_w_bazie;local artykul_bez_naglowka_w_bazie;
local czy_table=parametry_modul.TypeTable(artykul_w_bazie[1]);
if(czy_table)then
artykul_z_naglowkiem_w_bazie=artykul_w_bazie[1][1];
else
artykul_z_naglowkiem_w_bazie=artykul_w_bazie[1];
end;
local artykul_z_naglowkiem_w_bazie_match=mw.ustring.match(artykul_z_naglowkiem_w_bazie,"^([^#]*)#.*$")
artykul_bez_naglowka_w_bazie=artykul_z_naglowkiem_w_bazie_match or artykul_z_naglowkiem_w_bazie;
if(naglowek or not tab_artykul[artykul_bez_naglowka_w_bazie])then
if(not naglowek)then
tab_artykul[artykul_bez_naglowka_w_bazie]=true;
end;
if((not naglowek)and(artykul_bez_naglowka_w_bazie==nazwa_artykulu_z_opcja_naglowek)
or(((naglowek) and ((nazwa_artykulu_z_naglowkiem_match and artykul_z_naglowkiem_w_bazie_match)or(not nazwa_artykulu_z_naglowkiem_match and not artykul_z_naglowkiem_w_bazie_match)))and(artykul_z_naglowkiem_w_bazie==nazwa_artykulu)))then
if(not artykul)then return "";end;
local czy_table_artykul=parametry_modul.TypeTable(artykul);
if(czy_table_artykul)then
if(not nazwa)then
if(naglowek)then
return artykul[1];
end;
artykul,_=mw.ustring.gsub(artykul[1],"^([^#]+)#(.*)$","%1");
return artykul;
else
return artykul[2];
end;
else
if(naglowek)then
return artykul;
end;
artykul,_=mw.ustring.gsub(artykul,"^([^#]+)#(.*)$","%1");
return artykul;
end;
end
if(numer>0)then
local numer_artykulu_poprzedni=stronicowyparser_potrzebne_modul.PoziomAdresu(artykul_bez_naglowka_w_bazie);
local nadstrona_artykulu_w_bazie=stronicowyparser_potrzebne_modul.NazwaNadStrony(artykul_bez_naglowka_w_bazie,numer);
if((numer==numer_artykulu_poprzedni)and(nadstrona_artykulu==nadstrona_artykulu_w_bazie))then
artykul=artykul_w_bazie[1];
end;
else
artykul=artykul_w_bazie[1];
end;
end;
end;
end;
end;
return "(błąd)";
end;
p["PoziomNazwyArtykułu"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local parametry_modul=require("Module:Parametry");
local nazwa=parametry_modul.CzyTak(args["nazwa"]);
local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame);
return stronicowyparser_potrzebne_modul.PoziomAdresu(nazwa_artykulu);
end;
p["PierwszyArtykuł"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local parametry_modul=require("Module:Parametry");
local nazwa=parametry_modul.CzyTak(args["nazwa"]);
local naglowek=parametry_modul.CzyTak(args["nagłówek"]);
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
if(tab_lista[2])then
for _,artykul_w_bazie in ipairs(tab_lista[2])do
if(not nazwa)then
local artykul=parametry_modul.TypeTable(artykul_w_bazie[1]) and artykul_w_bazie[1][1] or artykul_w_bazie[1];
return (not naglowek) and mw.ustring.gsub(artykul,"^([^#]*)#(.*)$","%1") or artykul;
else
return parametry_modul.TypeTable(artykul_w_bazie[1])
and artykul_w_bazie[1][2]
or ((not naglowek) and mw.ustring.gsub(artykul_w_bazie[1],"^([^#]*)#(.*)$","%1") or artykul_w_bazie[1]);
end;
end;
end;
end;
end;
p["OstatniArtykuł"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local parametry_modul=require("Module:Parametry");
local nazwa=parametry_modul.CzyTak(args["nazwa"]);
local naglowek=parametry_modul.CzyTak(args["nagłówek"]);
local ostatni_artykul;
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
if(tab_lista[2])then
for _,artykul_w_bazie in ipairs(tab_lista[2])do
if(not nazwa)then
ostatni_artykul=parametry_modul.TypeTable(artykul_w_bazie[1]) and artykul_w_bazie[1][1] or artykul_w_bazie[1];
else
ostatni_artykul=parametry_modul.TypeTable(artykul_w_bazie[1]) and artykul_w_bazie[1][2] or artykul_w_bazie[1];
end;
end;
end;
end;
if(ostatni_artykul)then
return (not naglowek) and mw.ustring.gsub(ostatni_artykul,"^([^#]*)#(.*)$","%1") or ostatni_artykul;
end;
return "(błąd)";
end;
p["PomiędzyArtykuł"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
local val=stronicowyparser_potrzebne_modul:ObliczeniaInformacje(frame);
if(not val)then return "(błąd)";end;
local element=stronicowyparser_potrzebne_modul:PomiedzyArtykul(frame) or nil;
if(not element)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local parametry_modul=require("Module:Parametry");
local nazwa=parametry_modul.CzyTak(args["nazwa"]);
local czy_table=parametry_modul.TypeTable(element);
local element=czy_table and element[1] or element;
if(not nazwa)then return (not naglowek) and mw.ustring.gsub(element,"^([^#]*)#(.*)$","%1") or element;end;
return czy_table and element[2] or ((not naglowek) and mw.ustring.gsub(element,"^([^#]*)#(.*)$","%1") or element);
end;
p["LosowyArtykuł"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
local val=stronicowyparser_potrzebne_modul:ObliczeniaInformacje(frame);
if(not val)then return "(błąd)";end;
local element=stronicowyparser_potrzebne_modul:LosowyArtykul(frame);
if(not element)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local parametry_modul=require("Module:Parametry");
local nazwa=parametry_modul.CzyTak(args["nazwa"]);
local czy_table=parametry_modul.TypeTable(element);
local element=czy_table and element[1] or element;
if(not nazwa)then return mw.ustring.gsub(element,"^([^#]*)#(.*)$","%1") or element;end;
return czy_table and element[2] or mw.ustring.gsub(element,"^([^#]*)#(.*)$","%1") or element;
end;
local function PobiezNumerLubNazweNaglowka(frame,__FUNKCJA,typ)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local parametry_modul=require("Module:Parametry");
local poziomowo=parametry_modul.CzyTak(args["poziomowo"]);
local ktory=(tonumber(args["który"]) or 1);
local parametr_pierwszy_szablonu=typ and ((not poziomowo) and (tonumber(args[1]) or 1) or args[1]) or args[1];
if(not typ)then
parametr_pierwszy_szablonu,_=mw.ustring.gsub(parametr_pierwszy_szablonu,"^[%s_]+","");
parametr_pierwszy_szablonu,_=mw.ustring.gsub(parametr_pierwszy_szablonu,"[%s_]+$","");
parametr_pierwszy_szablonu,_=mw.ustring.gsub(parametr_pierwszy_szablonu,"[%s_]+"," ");
end;
local HNumer=stronicowyparser_potrzebne_modul.LiczonyHNumer();
local HNumer_2=nil;
local tab_numer_2=nil;
local tab_numer={};
local i=(not poziomowo) and 0 or nil;
local i_2=nil;
local juz_nie_rozwazaj_spisu_tresci=nil;
local juz_nie_rozwazaj_rozdzialu_spisu_tresci=nil;
local stronicowyparser_obiekty=mw.loadData("Module:StronicowyParser/obiekty");
local tab_rozdzialow_glownych_spisow_tresci_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_glownych_spisow_tresci_ksiazek;
local tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek;
local poziom_spisu_tresci=nil;
local pierwszy_dodatni_spis_tresci=nil;
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
local rozdzial=tab_lista[1][1];
local poziom_rozdzialu=tab_lista[1][2][1] or 0;
if(poziom_rozdzialu>0)then
local czy_nie_ten_rozdzial=nil;
local czy_jest_teraz_spis_tresci=tab_rozdzialow_glownych_spisow_tresci_ksiazek[rozdzial];local czy_nie_ten_rozdzial;
if((not juz_nie_rozwazaj_spisu_tresci)and(not juz_nie_rozwazaj_rozdzialu_spisu_tresci)and(czy_jest_teraz_spis_tresci))then
poziom_spisu_tresci=poziom_rozdzialu;
juz_nie_rozwazaj_rozdzialu_spisu_tresci=true;
czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial];
elseif((not juz_nie_rozwazaj_spisu_tresci)and(juz_nie_rozwazaj_rozdzialu_spisu_tresci))then
if((poziom_spisu_tresci<poziom_rozdzialu))then
czy_nie_ten_rozdzial=false;
else
juz_nie_rozwazaj_spisu_tresci=true;
czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial];
end;
else
local juz_nie_rozwazaj_spisu_tresci=nil;
local juz_nie_rozwazaj_rozdzialu_spisu_tresci=nil;
czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial];
end;
if(not czy_nie_ten_rozdzial)then
if(poziomowo)then
local hnumer=HNumer(poziom_rozdzialu);
if(#tab_numer<hnumer)then
for i=#tab_numer+1,hnumer,1 do
table.insert(tab_numer,1);
end;
elseif(#tab_numer>hnumer)then
for i=#tab_numer, hnumer+1,-1 do
table.remove(tab_numer,i);
end;
tab_numer[#tab_numer]=tab_numer[#tab_numer]+1;
else
tab_numer[#tab_numer]=tab_numer[#tab_numer]+1;
end;
----
local wartosc=__FUNKCJA(poziomowo,i,tab_numer,ktory,parametr_pierwszy_szablonu,rozdzial);
----
if(wartosc)then return wartosc;end;
----
if((czy_jest_teraz_spis_tresci)and(not pierwszy_dodatni_spis_tresci))then
HNumer_2=HNumer;
HNumer=stronicowyparser_potrzebne_modul.LiczonyHNumer();
tab_numer_2=tab_numer;
tab_numer={};
pierwszy_dodatni_spis_tresci=true;
elseif((pierwszy_dodatni_spis_tresci)and(poziom_spisu_tresci>=poziom_rozdzialu))then
HNumer=HNumer_2;
HNumer_2=nil;
tab_numer=tab_numer_2;
tab_numer_2=nil;
pierwszy_dodatni_spis_tresci=false;
end;
else
i=i+1;
----
local wartosc=__FUNKCJA(poziomowo,i,tab_numer,ktory,parametr_pierwszy_szablonu,rozdzial);
---
if(wartosc)then return wartosc;end;
---
if((czy_jest_teraz_spis_tresci)and(not pierwszy_dodatni_spis_tresci))then
i_2=i;
i=0;
pierwszy_dodatni_spis_tresci=true;
elseif((pierwszy_dodatni_spis_tresci)and(poziom_spisu_tresci>=poziom_rozdzialu))then
i=i_2;
i_2=nil;
pierwszy_dodatni_spis_tresci=false;
end;
end;
end;
end;
end;
end;
p["PobierzNumerNagłówka"]=function(frame)
local s=1;
local function __FUNKCJA(poziomowo,i,tab_numer,ktory,naglowek,rozdzial)
if(naglowek==rozdzial)then
if(s==ktory)then
if(poziomowo)then
if(#tab_numer==0)then return;end;
return table.concat(tab_numer,".");
else
return i;
end;
end;
s=s+1;
end;
end;
return PobiezNumerLubNazweNaglowka(frame,__FUNKCJA,false);
end;
p["PobierzNazwęNagłówka"]=function(frame)
local s=1;
local function __FUNKCJA(poziomowo,i,tab_numer,ktory,numer,rozdzial)
if(poziomowo)then
if(#tab_numer==0)then return;end;
if(numer==table.concat(tab_numer,"."))then
if(s==ktory)then
return rozdzial;
else
s=s+1;
end;
end;
elseif(numer==i)then
if(s==ktory)then
return rozdzial;
else
s=s+1;
end;
end
end;
return PobiezNumerLubNazweNaglowka(frame,__FUNKCJA,true);
end;
local function PobierzNumerLubNazweArtykulu(frame,tabela_listy_danych_analizy_ksiazki,__FUNKCJA,typ,zbieraj_dane)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame,tabela_listy_danych_analizy_ksiazki);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame,tabela_listy_danych_analizy_ksiazki);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local parametry_modul=require("Module:Parametry");
local naglowek=parametry_modul.CzyTak(args["nagłówek"]);
local tab_artykul=(not naglowek)and {} or nil;
local poziomowo=parametry_modul.CzyTak(args["poziomowo"]);
local tab_poziomowo={};
local tab_poziomowo_1={};
local tab_poziomowo_2={};
local html_modul=require("Module:Html");
local pierwszy_parametr_szablonu=args[1] and (typ and ((not poziomowo) and (tonumber(args[1]) or 1) or args[1])
or ((not naglowek) and mw.ustring.gsub(html_modul["PoprawAdresNagłówkaStronyAdresu"](html_modul["TransformacjaKoduZnakuDoZnakuŁancucha"](args[1])),"^([^#]*)#(.*)$","%1") or html_modul["PoprawAdresNagłówkaStronyAdresu"](html_modul["TransformacjaKoduZnakuDoZnakuŁancucha"](args[1])))
)
or (typ and 1 or "Przykładowy artykuł");
local ktory=(tonumber(args["ktory"]) or 1);
local i=(not poziomowo) and 1 or nil;
local stronicowyparser_obiekty=mw.loadData("Module:StronicowyParser/obiekty");
local tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek;
local tab_rozdzialow_glownych_spisow_tresci_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_glownych_spisow_tresci_ksiazek;
--local HNumer=poziomowo and stronicowyparser_potrzebne_modul.LiczonyHNumer() or nil;
local HNumerPoziomow_4=nil--poziomowo and stronicowyparser_potrzebne_modul.LiczonyHNumer() or nil;
local HNumerPoziomow_3=nil
local HNumerPoziomow_2=nil;
local HNumerPoziomow_1=nil;
local HNumerPoziomow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
local HNumerPoziomowNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
local HNumerPoziomowNaglowkow_1=nil;
local HNumerPoziomowNaglowkow_2=nil;
--local HNumerPoziomowInnychNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
local tab_numer=poziomowo and {} or nil;
tab_numer_1=nil;
tab_numer_3=nil
tab_numer_4=nil;--poziomowo and {} or nil;
local spis=false;
local czy_poziom_spisu_tresci=nil;
local pierwszy_dodatni_naglowek=nil;
local pierwszy_ujemny_naglowek=nil;
local juz_nie_rozwazaj_spisu_tresci=nil;
local juz_nie_rozwazaj_rozdzialu_spisu_tresci=nil;
local poprzedni_poziom_znakowy_rozdzialu=nil;
local poprzedni_tab_poziomowo=nil;
local poziom_pierwszego_dodatniego_naglowka=0;
local poziom_pierwszego_ujemnego_naglowka=0;
local poziom_zerowego_naglowka=0;
local poziom_spisu_tresci_naglowka=0;
local numer_poziomu=nil;
local ostatni_rozdzial_dodatni=nil;
local pierwszy_rozdzial_dodatni=nil;
local glowny_dodatni_rozdzial=nil;
local glowny_ujemny_rozdzial=nil;
local spis_tresci=nil;
local poziom_pierwszego_ujemnego_spisu_tresci=nil;
local ostatni_poczatek_artykulu=nil;
local pierwszy_rowny_rozdzial=nil;
local prawdziwy_poziom_rozdzialu=nil;
local artykuly_w_rozdziale=nil;
local spis_tresci_zerowy;
local poziom_zerowy;
local rozdzial;
local czy_pierwszy_nilowy=nil;
for m,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
local tab_poprzedni_artykul_w_bazie=nil;
local poziom_rozdzialu;
local poziom_poczatku_rozdzialu=nil;
local poziom_znakowy_rozdzialu=nil;
local poziom_naglowka=nil;
if(poziomowo)then
local czy_nienilowy_rozdzial=tab_lista[1][2][1];
czy_pierwszy_nilowy=(m==1)and (czy_nienilowy_rozdzial==nil) or czy_pierwszy_nilowy;
poziom_rozdzialu=czy_nienilowy_rozdzial or 0;
prawdziwy_poziom_rozdzialu=poziom_rozdzialu;
poziom_poczatku_rozdzialu=tab_lista[1][2][2];
--if(m>1)then
rozdzial=tab_lista[1][1];
rozdzial,_=mw.ustring.gsub(rozdzial,"'+","");
--end;
tab_poziomowo={};
--[[local czy_jest_teraz_spis_tresci=((m>1)and(not spis_tresci_zerowy or not poziom_zerowy)or((m==1)and(spis_tresci_zerowy)))
and ((m==1) and true or tab_rozdzialow_glownych_spisow_tresci_ksiazek[rozdzial])]]
local czy_jest_teraz_spis_tresci=(not juz_nie_rozwazaj_rozdzialu_spisu_tresci)
and((m==1)and (czy_nienilowy_rozdzial and tab_rozdzialow_glownych_spisow_tresci_ksiazek[rozdzial] or ((not czy_nienilowy_rozdzial)and true or false))
or ((m>1)and tab_rozdzialow_glownych_spisow_tresci_ksiazek[rozdzial]
or false));
if((m>1)and(czy_pierwszy_nilowy))then
czy_jest_teraz_spis_tresci=tab_rozdzialow_glownych_spisow_tresci_ksiazek[rozdzial];
if(czy_jest_teraz_spis_tresci)then
juz_nie_rozwazaj_rozdzialu_spisu_tresci=nil;
juz_nie_rozwazaj_spisu_tresci=nil;
czy_pierwszy_nilowy=nil;
pierwszy_ujemny_spis_tresci=nil;
end;
end;
local czy_nie_ten_rozdzial;
if((not juz_nie_rozwazaj_spisu_tresci)and(not juz_nie_rozwazaj_rozdzialu_spisu_tresci)and(czy_jest_teraz_spis_tresci))then
poziom_spisu_tresci=poziom_rozdzialu;
juz_nie_rozwazaj_rozdzialu_spisu_tresci=true;
czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial];
elseif((not juz_nie_rozwazaj_spisu_tresci)and(juz_nie_rozwazaj_rozdzialu_spisu_tresci))then
if((poziom_spisu_tresci<poziom_rozdzialu))then
czy_nie_ten_rozdzial=false;
else
juz_nie_rozwazaj_spisu_tresci=true;
czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial];
end;
else
czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial];
end;
--if(not czy_nie_ten_rozdzial)then
poprzedni_poziom_znakowy_rozdzialu=poziom_znakowy_rozdzialu;
poziom_znakowy_rozdzialu=poziom_rozdzialu;
poziom_rozdzialu=math.abs(poziom_rozdzialu);
artykuly_w_rozdziale=nil;
if(poziom_znakowy_rozdzialu>0)then
poziom_naglowka=poziom_rozdzialu;
poziom_pierwszego_ujemnego_spisu_tresci=nil;
poprzedni_tab_poziomowo=nil;
poziom_zerowego_naglowka=0;
if(glowny_ujemny_rozdzial)then
HNumerPoziomow=HNumerPoziomow_4;
HNumerPoziomow_4=nil;
tab_numer=tab_numer_4;
poziom_pierwszego_ujemnego_naglowka=nil;
glowny_ujemny_rozdzial=nil;
end;
if(pierwszy_ujemny_spis_tresci)then
HNumerPoziomow=HNumerPoziomow_2;
HNumerPoziomow_2=nil;
tab_numer=tab_numer_2;
tab_numer_2=nil;
pierwszy_ujemny_spis_tresci=nil;
czy_poziom_ujemny_spisu_tresci=nil;
end;
if(not glowny_dodatni_rozdzial)then
if((juz_nie_rozwazaj_rozdzialu_spisu_tresci)and(not juz_nie_rozwazaj_spisu_tresci)and(not czy_jest_teraz_spis_tresci)and(not spis_tresci))then
numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu,1);
spis_tresci=true;
else
if(not pierwszy_rozdzial_dodatni)then
pierwszy_rozdzial_dodatni=1;
numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu,1);
else
numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu);
end;
end;
else
numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu,1);
glowny_dodatni_rozdzial=false;
end;
ostatni_rozdzial_dodatni=poziom_rozdzialu;
elseif(poziom_znakowy_rozdzialu<0)then
if(not pierwszy_rowny_rozdzial)then
if((ostatni_poczatek_artykulu)
and(#ostatni_poczatek_artykulu==#poziom_poczatku_rozdzialu)
and(ostatni_poczatek_artykulu~=poziom_poczatku_rozdzialu)
and(mw.ustring.match(ostatni_poczatek_artykulu,"^*"))
and(mw.ustring.match(poziom_poczatku_rozdzialu,"^:"))
)then
poziom_rozdzialu=poziom_rozdzialu+1;
poziom_znakowy_rozdzialu=-poziom_rozdzialu;
pierwszy_rowny_rozdzial=1;
poziom_naglowka=poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka;
else
poziom_naglowka=poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka;
end;
else
if((#ostatni_poczatek_artykulu==#poziom_poczatku_rozdzialu)
and(ostatni_poczatek_artykulu==poziom_poczatku_rozdzialu)
)then pierwszy_rowny_rozdzial=0;end;
poziom_rozdzialu=poziom_rozdzialu+pierwszy_rowny_rozdzial;
poziom_znakowy_rozdzialu=-poziom_rozdzialu;
poziom_naglowka=poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka;
end;
if(not glowny_ujemny_rozdzial)then
--if((juz_nie_rozwazaj_rozdzialu_spisu_tresci)and(not juz_nie_rozwazaj_spisu_tresci)and(not spis_tresci))then
-- numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu,1);
-- spis_tresci=true;
--else
numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka);
--end;
local numer_rozdzialu_dodatniego=HNumerPoziomowNaglowkow(0) or 0;
if(numer_rozdzialu_dodatniego>=numer_rozdzialu)then
numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka,numer_rozdzialu_dodatniego+1);
end;
else
numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka,(HNumerPoziomowNaglowkow(0) or 0)+1);
glowny_ujemny_rozdzial=false;
end;
else
if((m>1)or((m==1)and((not czy_pierwszy_nilowy)or(not czy_jest_teraz_spis_tresci))))then
poziom_zerowego_naglowka=1;
numer_rozdzialu=HNumerPoziomow( 1 + (ostatni_rozdzial_dodatni or 0) + 0);
poziom_znakowy_rozdzialu=-1;
poziom_rozdzialu=1;
poziom_naglowka= 1 + (ostatni_rozdzial_dodatni or 0) + 0;
else
poziom_zerowego_naglowka=0;
numer_rozdzialu=0;
poziom_naglowka=(ostatni_rozdzial_dodatni or 0) + 0;
end;
end;
local numer;
if(poziom_znakowy_rozdzialu>0)then
local numer=HNumerPoziomowNaglowkow(poziom_znakowy_rozdzialu);
--HNumerPoziomowInnychNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
elseif(poziom_znakowy_rozdzialu<0)then
--local numer=HNumerPoziomowInnychNaglowkow(-poziom_znakowy_rozdzialu);
end;
if((m>1)
and(tab_lista_artykulow_w_ksiazce[m-1])
and(tab_lista_artykulow_w_ksiazce[m-1][2])
and(#tab_lista_artykulow_w_ksiazce[m-1][2][1]>0)
and(tab_lista_artykulow_w_ksiazce[m-1][2][#tab_lista_artykulow_w_ksiazce[m-1][2]][2][1]==0)
)then
local lens_tab_numer=#tab_numer;
local roznica=math.min(#poprzedni_tab_poziomowo+#tab_numer,numer_rozdzialu)-#tab_numer;
roznica=((roznica>0) and roznica or 0);
for i=1,roznica,1 do
tab_numer[i+lens_tab_numer]=poprzedni_tab_poziomowo[i];
end;
end;
if((czy_jest_teraz_spis_tresci)and(juz_nie_rozwazaj_rozdzialu_spisu_tresci))then
if(poziom_znakowy_rozdzialu>0)then
poziom_spisu_tresci_naglowka=poziom_rozdzialu;
else
poziom_pierwszego_ujemnego_spisu_tresci=poziom_rozdzialu;
end;
end;
if(poziom_rozdzialu>0)then
if((((czy_poziom_dodatni_spisu_tresci)and(poziom_znakowy_rozdzialu>0))or((czy_poziom_ujemny_spisu_tresci)and(poziom_znakowy_rozdzialu<0)))
and(poziom_spisu_tresci)and(poziom_spisu_tresci>=poziom_rozdzialu)
)then
if(poziom_znakowy_rozdzialu>0)then
tab_numer=tab_numer_1;
tab_poziomowo={};
poziom_spisu_tresci=nil;
HNumerPoziomow=HNumerPoziomow_1;
HNumerPoziomowNaglowkow=HNumerPoziomowNaglowkow_1;
czy_poziom_dodatni_spisu_tresci=false;
elseif(poziom_znakowy_rozdzialu<0)then
tab_numer=tab_numer_2;
tab_poziomowo={};
poziom_spisu_tresci=nil;
HNumerPoziomow=HNumerPoziomow_2;
--HNumerPoziomowNaglowkow=HNumerPoziomowNaglowkow_2;
czy_poziom_ujemny_spisu_tresci=false;
pierwszy_ujemny_spis_tresci=nil;
end;
end;
local hnumer=numer_rozdzialu;
if(poprzedni_tab_poziomowo)then
local lens=math.min(#poprzedni_tab_poziomowo,hnumer-#tab_numer);
local len_tab_numer=#tab_numer;
for i=1,lens,1 do
tab_numer[len_tab_numer+i]=poprzedni_tab_poziomowo[i];
end;
for i=lens+1,#tab_numer do
tab_numer[len_tab_numer+i]=nil;
end;
end;
if(#tab_numer<hnumer)then
for i=#tab_numer+1,hnumer,1 do
table.insert(tab_numer,1);
end;
elseif(#tab_numer>hnumer)then
for i=#tab_numer, hnumer+1,-1 do
table.remove(tab_numer,i);
end;
tab_numer[#tab_numer]=(tab_numer[#tab_numer] or 0) + 1;
else
tab_numer[#tab_numer]=(tab_numer[#tab_numer] or 0) + 1;
end;
else
--[[if(poziom_rozdzialu==0)then
if(tab_lista_artykulow_w_ksiazce[m+1])then
if(tab_lista_artykulow_w_ksiazce[m+1][1][2]>0)then
tab_numer={0,};
elseif(tab_lista_artykulow_w_ksiazce[m+1][1][2]<0)then
tab_numer={};
end;
else
tab_numer={};
end;
end;]]
end;
--end;
if((czy_jest_teraz_spis_tresci)and(((not pierwszy_dodatni_spis_tresci)and(poziom_znakowy_rozdzialu>0))or((not pierwszy_ujemny_spis_tresci)and(poziom_znakowy_rozdzialu<0))))then
function Poziom_dodatni()
for s,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
if(s>m)then
if((tab_lista[1][2][1] or 0)>0)then
if(math.abs(tab_lista[1][2][1] or 0)>poziom_rozdzialu)then
return true;
else
return false;
end;
end;
end;
end;
return false;
end;
local function czy_inaczej_numeruj_rozdzial_dodatni()
if(tab_lista_artykulow_w_ksiazce[m][2])then
for p,artykul_w_bazie in ipairs(tab_lista_artykulow_w_ksiazce[m][2])do
return true;
end;
end;
end;
local function czy_inaczej_numeruj_rozdzial_ujemny()
if(tab_lista_artykulow_w_ksiazce[m][2])then
for p,artykul_w_bazie in ipairs(tab_lista_artykulow_w_ksiazce[m][2])do
local poziom_artykulu=artykul_w_bazie[2][1];
if(prawdziwy_poziom_rozdzialu~=0)then
if(poziom_artykulu>poziom_rozdzialu)then
return true;
end;
else
return true;
end;
end;
end;
return false;
end;
if((poziom_znakowy_rozdzialu>0)and((czy_inaczej_numeruj_rozdzial_dodatni())or(Poziom_dodatni())))then
tab_poziomowo_1=tab_poziomowo;
tab_poziomowo={};
czy_poziom_dodatni_spisu_tresci=true;
HNumerPoziomow_1=HNumerPoziomow;
HNumerPoziomow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
HNumerPoziomowNaglowkow_1=HNumerPoziomowNaglowkow;
HNumerPoziomowNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
tab_numer_1=tab_numer;
tab_numer={};
pierwszy_dodatni_spis_tresci=true;
elseif((poziom_znakowy_rozdzialu<0)
and((czy_inaczej_numeruj_rozdzial_ujemny())or((tab_lista_artykulow_w_ksiazce[m+1])
and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)<0)
and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>poziom_rozdzialu))))then
tab_poziomowo_2=tab_poziomowo;
tab_poziomowo={};
czy_poziom_ujemny_spisu_tresci=true;
HNumerPoziomow_2=HNumerPoziomow;
HNumerPoziomow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
--HNumerPoziomowNaglowkow_2=HNumerPoziomowNaglowkow;
--HNumerPoziomowNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
tab_numer_2=tab_numer;
tab_numer={};
pierwszy_ujemny_spis_tresci=true;
end;
end;
local function OTakimSamymLubMniejszymPoziomie(m)
if(poziom_rozdzialu==0)then return true;end;
local lens=parametry_modul["LiczbaElementówNumerowanychTablicy"](tab_lista_artykulow_w_ksiazce);
if(m==lens)then return true;end;
if(poziom_znakowy_rozdzialu>0)then
for k=m+1,lens,1 do
if(tab_lista_artykulow_w_ksiazce[k])then
if((tab_lista_artykulow_w_ksiazce[k][1][2][1] or 0)>0)then
if(math.abs(tab_lista_artykulow_w_ksiazce[k][1][2][1] or 0)<=poziom_rozdzialu)then
return true;
end;
end;
end;
end;
elseif(((m==1)or((tab_lista_artykulow_w_ksiazce[m-1])and((tab_lista_artykulow_w_ksiazce[m-1][1][2][1] or 0)>0)))and(poziom_znakowy_rozdzialu<0))then
if(tab_lista[2])then
for p,artykul_w_bazie in ipairs(tab_lista[2])do
local poziom_artykulu=artykul_w_bazie[2][1];
if(poziom_artykulu<=-prawdziwy_poziom_rozdzialu)then
return true;
end;
end;
end;
local poziom_zerowego_naglowka_innego=0;
for k=m+1,lens,1 do
if(tab_lista_artykulow_w_ksiazce[k])then
if((tab_lista_artykulow_w_ksiazce[k][1][2][1] or 0)<=0)then
local ile=tab_lista_artykulow_w_ksiazce[k][1][2][1] or 0;
if(ile==0)then
if((czy_jest_teraz_spis_tresci)and(m==1))then
poziom_zerowego_naglowka_innego=poziom_zerowego_naglowka;
else
poziom_zerowego_naglowka_innego=1;
end;
end;
if(math.abs(tab_lista_artykulow_w_ksiazce[k][1][2][1] or 0)+poziom_zerowego_naglowka_innego<=poziom_rozdzialu)then
return true;
end;
else
break;
end;
end;
end;
else
return true;
end;
end;
-- if(not czy_nie_ten_rozdzial)then
if((tab_lista[2])
and(tab_lista[2][1])
and(tab_lista[2][1][2][1]==0)
and(not tab_lista[2][1][4])
and(tab_lista_artykulow_w_ksiazce[m+1])
and(((poziom_znakowy_rozdzialu>0)
and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>0)
and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>poziom_rozdzialu)
)or(
((poziom_znakowy_rozdzialu<0)
and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)<0)
and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)+poziom_zerowego_naglowka>poziom_rozdzialu)
)
)or(
(poziom_znakowy_rozdzialu==0)and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)~=0)
))
)then
if(m==1)then
tab_numer={0,}
else
table.insert(tab_numer,0);
end;
elseif((m==1)and(not tab_lista_artykulow_w_ksiazce[m+1]))then
tab_numer={};
elseif((poziomowo)and(m==1)and(czy_pierwszy_nilowy)and(poziom_znakowy_rozdzialu==0)and(tab_lista_artykulow_w_ksiazce[m+1])and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)<0))then
tab_numer={};
elseif((poziomowo)and(m==1)and(czy_pierwszy_nilowy)and(poziom_znakowy_rozdzialu==0)and(tab_lista_artykulow_w_ksiazce[m+1])and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>0))then
tab_numer={0,}
elseif((poziomowo)and(m==2)and(czy_pierwszy_nilowy)and(poziom_znakowy_rozdzialu<0)and(tab_lista_artykulow_w_ksiazce[m-1])and((tab_lista_artykulow_w_ksiazce[m-1][1][2][1] or 0)==0))then
if(poprzedni_tab_poziomowo)then
local min=math.min(math.abs(numer_rozdzialu),#poprzedni_tab_poziomowo);
for i=#poprzedni_tab_poziomowo,min+1,-1 do
table.remove(poprzedni_tab_poziomowo,i)
end;
tab_numer=poprzedni_tab_poziomowo;
tab_numer[#tab_numer]=(tab_numer[#tab_numer] or 0)+1;
end;
elseif((not czy_jest_teraz_spis_tresci)and(((not pierwszy_dodatni_naglowek)and(poziom_znakowy_rozdzialu>0))or((not pierwszy_ujemny_naglowek)and(poziom_znakowy_rozdzialu<0))))then
if(poziom_rozdzialu>0)then
if(not OTakimSamymLubMniejszymPoziomie(m))then
if(poziom_znakowy_rozdzialu>0)then
HNumerPoziomowNaglowkow_2=HNumerPoziomowNaglowkow;
HNumerPoziomowNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
tab_numer_3=tab_numer;
tab_numer={0,};
HNumerPoziomow_3=HNumerPoziomow;
HNumerPoziomow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
pierwszy_dodatni_naglowek=true;
poziom_pierwszego_dodatniego_naglowka=poziom_rozdzialu;
glowny_dodatni_rozdzial=true;
else
tab_numer_4=tab_numer;
tab_numer=parametry_modul["KopiujTabelęElementów"](tab_numer);
tab_numer[#tab_numer]=nil;
HNumerPoziomow_4=HNumerPoziomow;
HNumerPoziomow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
if(poziom_naglowka or 0>0)then
HNumerPoziomow(poziom_naglowka,#tab_numer);
end;
pierwszy_ujemny_naglowek=true;
poziom_pierwszego_ujemnego_naglowka=poziom_rozdzialu;
glowny_ujemny_rozdzial=true;
end;
else
if(poziom_znakowy_rozdzialu>0)then pierwszy_dodatni_naglowek=true;else pierwszy_ujemny_naglowek=true;end;
end;
end;
elseif((czy_jest_teraz_spis_tresci)and(not czy_nie_ten_rozdzial))then
if((not spis)and(poziom_rozdzialu>0)
and(tab_lista_artykulow_w_ksiazce[m+1])
and((
(poziom_znakowy_rozdzialu>0)
and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>0)
and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>poziom_rozdzialu)
)or(
(poziom_znakowy_rozdzialu<0)
and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)<0)
and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>poziom_rozdzialu)
))
)then
tab_numer={0,};
spis=true;
end
elseif((tab_lista_artykulow_w_ksiazce[m+1])
and((
(poziom_znakowy_rozdzialu>0)
and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>0)
and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>poziom_rozdzialu)
)--[[or(
(poziom_znakowy_rozdzialu<0)
and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)<0)
and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>poziom_rozdzialu)
)]])
)then
table.insert(tab_numer,0);
end;
-- end;
end;
if(tab_lista[2])then
local HNumerArtykulu=stronicowyparser_potrzebne_modul.LiczonyHNumer();
local HNumerPoziomu=stronicowyparser_potrzebne_modul.LiczonyHNumer();
local czy_tytul_rozdzial=nil;local poprzedni_b=nil;local ile_odjac=0;
local HNumerB=nil;
local poprzedni_poziom_artykulu=nil;
local czy_ma_elementy=nil;
local poziom_poprzedni_artykulu=nil;
for p,artykul_w_bazie in ipairs(tab_lista[2])do
local artykul=artykul_w_bazie[1][1] or artykul_w_bazie[1];
artykul=(not naglowek)and mw.ustring.gsub(artykul,"^([^#]*)#(.*)$","%1") or artykul;
if(naglowek or not tab_artykul[artykul])then
pierwszy_rowny_rozdzial=nil;
czy_ma_elementy=true;
if(not naglowek)then
tab_artykul[artykul]=true;
end;
local tab_artykul_w_bazie;
if(poziomowo)then
local poziom_artykulu=artykul_w_bazie[2][1];
local poziom_poczatku_artykulu=artykul_w_bazie[2][2];
local w_rozdziale=artykul_w_bazie[2][4];
if(w_rozdziale)then
function CzyRozdzialMaArtykulyNieWewnetrzne()
for s,artykul_w_bazie in ipairs(tab_lista[2])do
if(s>p)then
if((tab_lista[2][s])and(not tab_lista[2][s][2][4]))then
return true;
end;
end;
end;
return false;
end;
function CzyRozdzialMaRozdzialyNieWewnetrzne()
for s,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
if(s>m)then
local poziom_rozdzialu=tab_lista[1][2][1] or 0;
if(poziom_rozdzialu<0)then
return true;
end;
end;
end;
return false;
end;
if((not artykuly_w_rozdziale)and((CzyRozdzialMaArtykulyNieWewnetrzne())or(CzyRozdzialMaRozdzialyNieWewnetrzne())))then
tab_numer[#tab_numer+1]=0;
artykuly_w_rozdziale=true;
else
if(not tab_lista[2][p+1])then
local wartosc=__FUNKCJA(poziomowo,i,ktory,pierwszy_parametr_szablonu,rozdzial,artykul,tab_numer,{});
if(wartosc)then return wartosc;end;
end;
end;
elseif(artykuly_w_rozdziale)then
artykuly_w_rozdziale=nil;
table.remove(tab_numer,#tab_numer);
tab_poziomowo={};
end;
ostatni_poczatek_artykulu=poziom_poczatku_artykulu;
local function ToNumberPoziomArtykulu(poziom_artykulu)
local numer=tonumber(poziom_artykulu) or 1;
if(numer<1)then numer=1;end;
return numer;
end;
poziom_artykulu=ToNumberPoziomArtykulu(poziom_artykulu);
local poziom_czysty_artykulu=poziom_artykulu;
poziom_artykulu=poziom_artykulu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka;
if((poziom_poczatku_artykulu)and(poziom_poczatku_rozdzialu)
and(#poziom_poczatku_artykulu==#poziom_poczatku_rozdzialu)
and(poziom_poczatku_artykulu~=poziom_poczatku_rozdzialu)
and(mw.ustring.match(poziom_poczatku_rozdzialu,"^*"))
and((mw.ustring.match(poziom_poczatku_artykulu,"^:"))
or (mw.ustring.match(poziom_poczatku_artykulu,"^#"))
)
)then
poziom_artykulu=poziom_artykulu+1;
poziom_czysty_artykulu=poziom_czysty_artykulu+1;
end;
local numer_poziomu=HNumerPoziomow(poziom_artykulu);
if(p>1)then
local numer_poprzedni=tonumber(tab_lista[2][p-1][2][1]) or 1;
local id_poprzednie=tab_lista[2][p-1][4];
local numer=tonumber(tab_lista[2][p][2][1]) or 1;
local id=tab_lista[2][p][4];
if((numer_poprzedni==0)and(not id_poprzednie)and(not id)and(numer>0))then
if(#tab_numer>(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka)then
tab_numer[#tab_numer]=(tab_numer[#tab_numer] or 0)+1;
tab_poziomowo={};
end;
end;
end;
local prefix_poziom_artykulu=poziom_artykulu;
local b=0;
local tab_artykul_w_bazie=mw.text.split(artykul,"/");
if(tab_poprzedni_artykul_w_bazie)then
if(poprzedni_poziom_artykulu)then
if(poprzedni_poziom_artykulu==poziom_artykulu)then
for c=1,#tab_artykul_w_bazie,1 do
local podstrona_artykul=tab_artykul_w_bazie[c];
local podstrona_nazwy_artykulu=tab_poprzedni_artykul_w_bazie[c];
if(podstrona_artykul==podstrona_nazwy_artykulu)then
b=b+1;
end;
end;
else
b=0;
end;
end;
if(poziom_znakowy_rozdzialu<0)then
if(#tab_numer~=0)then
if(poziom_artykulu<=(poziom_pierwszego_ujemnego_naglowka or 0))then
tab_poziomowo=tab_numer_4;
tab_numer={};
HNumerArtykulu=HNumerPoziomow_4;
elseif((poziom_poprzedni_artykulu)and(poziom_artykulu>(poziom_pierwszego_ujemnego_naglowka or 0))and(poziom_poprzedni_artykulu>(poziom_pierwszego_ujemnego_spisu_tresci or 0))and(poziom_artykulu<=(poziom_pierwszego_ujemnego_spisu_tresci or 0)))then
HNumerArtykulu=stronicowyparser_potrzebne_modul.LiczonyHNumer();
for i=#tab_poziomowo,numer_poziomu+1,-1 do
table.remove(tab_numer,i);
end;
tab_numer[#tab_numer]=(tab_numer[#tab_numer] or 0 ) + 1;
tab_poziomowo=tab_numer;
tab_numer={};
elseif((poziom_naglowka>=poziom_artykulu)or((poziom_rozdzialu==poziom_czysty_artykulu)
and((numer_poziomu<numer_rozdzialu)
or((numer_poziomu==numer_rozdzialu)
and(poziom_poczatku_rozdzialu==poziom_poczatku_artykulu)
))
))then
local tab_numer2={};
for i=1,(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka,1 do
tab_numer2[i]=tab_numer[i];
end;
local tab_poziomowo2={};
for i=(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka+1,#tab_numer,1 do
tab_poziomowo2[i-(HNumerPoziomowNaglowkow(0) or 0)-poziom_zerowego_naglowka]=tab_numer[i];
end;
local indeks=(((HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka+1>#tab_numer) and 0 or (#tab_numer-(HNumerPoziomowNaglowkow(0) or 0)-poziom_zerowego_naglowka));
for i=1,numer_poziomu,1 do
tab_poziomowo2[i+indeks]=tab_poziomowo[i];
end;
tab_numer=tab_numer2;
tab_poziomowo=tab_poziomowo2;
--[[tab_poziomowo=tab_numer;
tab_numer={};]]
HNumerArtykulu=stronicowyparser_potrzebne_modul.LiczonyHNumer();
--local numer_poziomu=HNumerPoziomow(poziom_artykulu+(ostatni_rozdzial_dodatni or 0),#tab_poziomowo+1);
end;
end;
end;
elseif(#tab_numer>numer_poziomu)then
tab_poziomowo={};
tab_poziomowo[1]=tab_numer[numer_poziomu];
for i=#tab_numer,numer_poziomu,-1 do
table.remove(tab_numer,i);
end;
elseif((#tab_numer<=numer_rozdzialu)and(numer_rozdzialu>=numer_poziomu))then
local numer_rozdzialu_dodatniego=(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka;
if((numer_rozdzialu_dodatniego>0)or((numer_rozdzialu==numer_poziomu)and(poziom_poczatku_rozdzialu==poziom_poczatku_artykulu)))then
if(#tab_numer>=numer_rozdzialu_dodatniego)then
local tab_numer2={};
for i=1,numer_rozdzialu_dodatniego,1 do
tab_numer2[i]=tab_numer[i];
end;
tab_poziomowo={};
for i=numer_rozdzialu_dodatniego+1,#tab_numer,1 do
tab_poziomowo[i-numer_rozdzialu_dodatniego]=tab_numer[i];
end;
tab_numer=tab_numer2;
end;
end;
end;
poprzedni_poziom_artykulu=poziom_artykulu;
local czy_z_rozdzialem=(tab_artykul_w_bazie[1]==rozdzial);
if((p==1)and(czy_z_rozdzialem))then b=1;end;
czy_tytul_rozdzial=((p==1)and true or czy_tytul_rozdzial) and (czy_z_rozdzialem);
local dodatek=b-((czy_tytul_rozdzial)and 0 or 1);
dodatek=((dodatek>0)and dodatek or 0);
if((poziomowo)and(poziom_znakowy_rozdzialu<0))then
if(poziom_naglowka>=poziom_artykulu)then
local numer_poziomu=HNumerPoziomu(poziom_naglowka,numer_rozdzialu-(HNumerPoziomowNaglowkow(0) or 0));
end;
end;
local stala=poziom_artykulu;
local numer_poziomu=HNumerPoziomu(stala);
poziom_artykulu=stala+dodatek;
local numer=HNumerArtykulu(poziom_artykulu);
local roznica=numer_poziomu-numer;
if(roznica>0)then
numer=HNumerArtykulu(poziom_artykulu,numer_poziomu);
end;
if(#tab_poziomowo<numer)then
for i=#tab_poziomowo+1,numer,1 do
table.insert(tab_poziomowo,1);
end;
else
if(#tab_poziomowo>numer)then
for i=#tab_poziomowo,numer+1,-1 do
table.remove(tab_poziomowo,i);
end;
end;
tab_poziomowo[#tab_poziomowo]=(tab_poziomowo[#tab_poziomowo] or 0)+1;
end;
tab_poprzedni_artykul_w_bazie=tab_artykul_w_bazie;
poziom_poprzedni_artykulu=poziom_artykulu;
end;
local wartosc=__FUNKCJA(poziomowo,i,ktory,pierwszy_parametr_szablonu,rozdzial,artykul,tab_numer,tab_poziomowo);
if(poziomowo)then
if(tab_lista[2][p+1])then
local numer_nastepny=tonumber(tab_lista[2][p+1][2][1]) or 1;
local id_nastepny=tab_lista[2][p+1][4];
local numer=tonumber(tab_lista[2][p][2][1]) or 1;
local id=tab_lista[2][p][4];
if((numer_nastepny==0)and(not id_nastepny)and(not id)and(numer>0))then
tab_poziomowo={tab_numer[(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka+1],};
for i=#tab_numer,(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka+1,-1 do
table.remove(tab_numer,i);
end;
end;
end;
poprzedni_tab_poziomowo=tab_poziomowo;
end;
if(wartosc)then return wartosc;end;
if(not poziomowo)then
i=i+1;
end;
end;
end;
if(not czy_ma_elementy)then
poprzedni_tab_poziomowo=nil;
if(zbieraj_dane)then local wartosc=__FUNKCJA(poziomowo,i,ktory,pierwszy_parametr_szablonu,rozdzial,"",tab_numer,{}); end;
end;
else
poprzedni_tab_poziomowo=nil;
if(zbieraj_dane)then local wartosc=__FUNKCJA(poziomowo,i,ktory,pierwszy_parametr_szablonu,rozdzial,"",tab_numer,{}); end;
end;
end;
return;
end;
p["PobierzNazwęArtykułu"]=function(frame,tabela_listy_danych_analizy_ksiazki)
local s=1;
local function __FUNKCJA(poziomowo,i,ktory,numer,rozdzial,artykul,tab_numer,tab_poziomowo)
if((not poziomowo)and(i==numer))then
if(s==ktory)then
return artykul;
else
s=s+1;
end;
elseif(poziomowo)then
if((table.concat(tab_numer,".")
..((#tab_numer>0) and "." or "")
..table.concat(tab_poziomowo,"."))==numer)then
if(s==ktory)then
return artykul;
else
s=s+1;
end;
end;
end;
end;
return PobierzNumerLubNazweArtykulu(frame,tabela_listy_danych_analizy_ksiazki,__FUNKCJA,true);
end;
p["PobierzNumerArtykułu"]=function(frame,tabela_listy_danych_analizy_ksiazki)
local s=1;
local function __FUNKCJA(poziomowo,i,ktory,nazwa_artykulu,rozdzial,artykul,tab_numer,tab_poziomowo)
if(nazwa_artykulu==artykul)then
if(s==ktory)then
if(poziomowo)then
return (table.concat(tab_numer,".")..((#tab_numer>0) and ((#tab_poziomowo>0) and "." or "") or "")..table.concat(tab_poziomowo,"."));
else
return i;
end;
end;
s=s+1;
end;
end;
return PobierzNumerLubNazweArtykulu(frame,tabela_listy_danych_analizy_ksiazki,__FUNKCJA,false);
end;
p["PobierzDaneKsiążki"]=function(frame,tabela_listy_danych_analizy_ksiazki,kodowanie_nie_json)
local tab_dane_ksiazki=nil;
local s=1;
local function __FUNKCJA(poziomowo,i,ktory,nazwa_artykulu,rozdzial,artykul,tab_numer,tab_poziomowo)
if(not tab_dane_ksiazki)then tab_dane_ksiazki={};end;
if(not tab_dane_ksiazki[rozdzial])then tab_dane_ksiazki[rozdzial]={};end;
local numer_rozdzialu=tab_numer and table.concat(tab_numer,".") or "";
repeat
numer_rozdzialu=mw.ustring.gsub(numer_rozdzialu,"%.0$","")
until not mw.ustring.match(numer_rozdzialu,"%.0$");
if(not tab_dane_ksiazki[rozdzial][numer_rozdzialu])then
tab_dane_ksiazki[rozdzial][numer_rozdzialu]={};
end;
if(not tab_dane_ksiazki[rozdzial][numer_rozdzialu][artykul])then
tab_dane_ksiazki[rozdzial][numer_rozdzialu][artykul]={};
end;
local numer_artykulu=tab_poziomowo and table.concat(tab_poziomowo,".") or "";
if(not tab_dane_ksiazki[rozdzial][numer_rozdzialu][artykul][numer_artykulu])then
tab_dane_ksiazki[rozdzial][numer_rozdzialu][artykul][numer_artykulu]={};
end;
table.insert(tab_dane_ksiazki[rozdzial][numer_rozdzialu][artykul][numer_artykulu],s);
s=s+1;
return false;
end;
PobierzNumerLubNazweArtykulu(frame,tabela_listy_danych_analizy_ksiazki,__FUNKCJA,false,true);
return (not kodowanie_nie_json) and mw.text.jsonEncode(tab_dane_ksiazki,mw.text.JSON_PRESERVE_KEYS) or tab_dane_ksiazki;
end;
p["SubNazwaNadArtykułu"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local numer=tonumber(args[1]) or 0;
local krok=tonumber(args[2])or 1;
local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame);
return stronicowyparser_potrzebne_modul.SubNazwaNadStrony(nazwa_artykulu,numer,krok);
end;
p["NazwaNadArtykułu"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local numer=tonumber(args[1]) or 1;
local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame);
return stronicowyparser_potrzebne_modul.SubNazwaNadStrony(nazwa_artykulu,1,numer);
end;
p["NazwaLinkuArtykułu"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame);
local ostatni_artykul;
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
if(tab_lista[2])then
for _,artykul_w_bazie in ipairs(tab_lista[2])do
if(type(artykul_w_bazie[1])~="table")then
if(artykul_w_bazie[1]==nazwa_artykulu)then
return artykul_w_bazie[1];
end;
elseif(artykul_w_bazie[1][1]==nazwa_artykulu)then
return artykul_w_bazie[1][2];
end;
end;
end;
end;
return "(błąd)";
end;
p["LiczbaArtykułówKsiążki"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local parametry_modul=require("Module:Parametry");
local args=stronicowyparser_potrzebne_modul:Args();
local naglowek=parametry_modul.CzyTak(args["nagłówek"]);
local tab_artykul=(not naglowek) and {} or nil;
local i=0;
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
if(tab_lista[2])then
for _,artykul_w_bazie in ipairs(tab_lista[2])do
local nazwa_artykulu=artykul_w_bazie[1][1] or artykul_w_bazie[1];
local artykul=(not naglowek) and mw.ustring.gsub(nazwa_artykulu,"^([^#]*)#(.*)$","%1") or nazwa_artykulu;
if(naglowek or not tab_artykul[artykul])then
if(not naglowek)then
tab_artykul[artykul]=true;
end;
i=i+1;
end;
end;
end;
end;
return i;
end;
p["LiniaArtykułuKsiążki"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame);
local parametry_modul=require("Module:Parametry");
local args=stronicowyparser_potrzebne_modul:Args();
local czy_analiza=parametry_modul.CzyTak(args["analiza"]);
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
if(tab_lista[2])then
for _,artykul_w_bazie in ipairs(tab_lista[2])do
local artykul_ksiazki=artykul_w_bazie[1][1] or artykul_w_bazie[1];
if(artykul_ksiazki==nazwa_artykulu)then
if(not czy_analiza)then
return artykul_w_bazie[3];
else
local function AnalizaLiniiArtykolow()
local czy_spis_tresci=mw.ustring.match(artykul_w_bazie[3],"({{%s*[Ss]pisTreści%s*|[^{}]*}})");
if(czy_spis_tresci)then
local techniczne_modul=require("Module:Techniczne");
local parametry_szablony=techniczne_modul["ParsujWywołanieSzablonu"](czy_spis_tresci);
local nazwa_artykulu=parametry_szablony[1];
------
local nazwa_ksiazki=stronicowyparser_potrzebne_modul:PelnaNazwaKsiazki(frame);
local pelna_nazwa_strony=(nazwa_artykulu=="")and nazwa_ksiazki or nazwa_ksiazki.."/"..nazwa_artykulu;
local link= "[["..pelna_nazwa_strony.."|"..nazwa_artykulu.."]]";
local linia2,_=mw.ustring.gsub(artykul_w_bazie[3],"({{%s*[Ss]pisTreści%s*|[^{}]*}})",link);
return linia2;
else
local czy_spis_tresci=mw.ustring.match(artykul_w_bazie[3],"({{%s*[Ss]ekcja[%s_]+referencyjna%s*|[^{}]*}})");
if(czy_spis_tresci)then
local linia2,_=mw.ustring.gsub(artykul_w_bazie[3],"({{%s*[Ss]ekcja[%s_]+referencyjna%s*|)","%1astandardowo=tak|");
return linia2;
else
local nazwa_ksiazki=stronicowyparser_potrzebne_modul:PelnaNazwaKsiazki(frame);
local function adresuj_linki(a,b)
return "[["..nazwa_ksiazki.."/"..a..(b or "").."]]";
end;
local artykul=mw.ustring.gsub(artykul_w_bazie[3],"%[%[%s*/([^%[%]|]-)/*%s*(|.*)%]%]",adresuj_linki);
artykul=mw.ustring.gsub(artykul,"%[%[%s*/([^%[%]|]-)/*%s*%]%]",adresuj_linki);
return artykul;
end;
end;
end;
return AnalizaLiniiArtykolow();
end
end;
end;
end;
end;
local uzupelniaj_sekcje_artykulow=parametry_modul.CzyTak(args["uzupełniaj sekcje artykułów"]);
if(uzupelniaj_sekcje_artykulow)then
if(mw.ustring.match(nazwa_artykulu,"^[^#]*#(.+)$"))then
local naglowek=mw.ustring.match(nazwa_artykulu,"^[^#]*#(.+)$");
if(parametry_modul["CzyTakCiąg"](naglowek))then
local pelna_nazwa_ksiazki=stronicowyparser_potrzebne_modul:PelnaNazwaKsiazki(frame)
return "[["..pelna_nazwa_ksiazki..((nazwa_artykulu~="")and("/"..nazwa_artykulu) or "").."|"..naglowek.."]]";
end;
end;
end;
end;
p["AktualnaKsiążka"]=function(frame,__error)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
return stronicowyparser_potrzebne_modul:PelnaNazwaKsiazki(frame) or ((not __error)and "(błąd)" or nil);
end;
p["NazwaAktualnyArtykuł"]=function(frame,__error)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
return stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame) or ((not __error)and "(błąd)" or nil);
end;
p["ListaNagłówkówKsiążki"] = function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local stronicowyparser_obiekty=mw.loadData("Module:StronicowyParser/obiekty");
local tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek;
local tab_rozdzialow_glownych_spisow_tresci_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_glownych_spisow_tresci_ksiazek;
local czy_sa_rozdzialy=nil;
local pelna_nazwa_ksiazki=stronicowyparser_potrzebne_modul:PelnaNazwaKsiazki(frame);
local args=stronicowyparser_potrzebne_modul:Args();
local wikikod="";
local linki_modul=require("Module:Linki");
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
local rozdzial=tab_lista[1][1];
local numer_rozdzialu=tab_lista[1][2][1];
if(numer_rozdzialu>0)then
if(not tab_rozdzialow_glownych_spisow_tresci_ksiazek[rozdzial])then
wikikod=((wikikod~="")and (wikikod.." — ") or "")
..linki_modul["Link wewnętrzny"]{
["strona"]=pelna_nazwa_ksiazki,
["nagłówek"]=rozdzial,
["nazwa"]=rozdzial,
["bez znaczników"]=args["bez znaczników"],
["bez przetwarzania"]=args["bez przetwarzania"],
};
end;
czy_sa_rozdzialy=true;
end;
end;
if(not czy_sa_rozdzialy)then return "(błąd: brak rozdziałów)";end;
return wikikod;
end;
p["ArtykułSubst"] = function(frame)
local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_ksiazkowych;
local nazwa_przestrzeni;local nazwa_ksiazki;local nazwa_artykulu;
if(not tabela_listy_danych_analizy_ksiazki.zastepczy)then
nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki;
nazwa_artykulu=tabela_listy_danych_analizy_ksiazki.nazwa_artykulu;
else
nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.normalna_nazwa_przestrzeni;
nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.normalna_nazwa_ksiazki;
nazwa_artykulu=tabela_listy_danych_analizy_ksiazki.normalna_nazwa_artykulu;
end;
local parametry_modul=require("Module:Parametry");
local PobierzParametr=parametry_modul.PobierzParametr(frame);
local pobierz_nazwa_artykulu=PobierzParametr("pobierz pełną nazwę artykułu");
local pobierz_adres_ksiazki=PobierzParametr("pobierz pełną nazwę książki");
local czy_pobierz_pelna_nazwa_artykulu=parametry_modul.CzyTak(pobierz_nazwa_artykulu);
local czy_pobierz_pelna_nazwa_ksiazki=parametry_modul.CzyTak(pobierz_adres_ksiazki);
if(czy_pobierz_pelna_nazwa_artykulu and not czy_pobierz_pelna_nazwa_ksiazki)then
return ((nazwa_przestrzeni~="")and(nazwa_przestrzeni..":") or "")..nazwa_ksiazki..((nazwa_artykulu~="") and "/" or "")..nazwa_artykulu;
elseif(not czy_pobierz_pelna_nazwa_artykulu and czy_pobierz_pelna_nazwa_ksiazki)then
return ((nazwa_przestrzeni~="")and(nazwa_przestrzeni..":") or "")..nazwa_ksiazki;
elseif(czy_pobierz_pelna_nazwa_artykulu and czy_pobierz_pelna_nazwa_ksiazki)then
return "(błąd)";
end;
local nazwa_strony=((nazwa_przestrzeni~="")and(nazwa_przestrzeni..":") or "")..nazwa_ksiazki..((nazwa_artykulu~="") and "/" or "")..nazwa_artykulu;
local nazwy_modul=require("Module:Nazwy");
if(nazwa_strony==nazwy_modul["PEŁNANAZWASTRONY"]())then
local blad_modul=require("Module:Błąd");
local frame2=frame:getParent():newChild{args={[1]="Próbowano załadować jeszcze raz aktualną stronę."},}
return blad_modul.error(frame2);
end;
local techniczne_modul=require("Module:Techniczne");
local szablon=techniczne_modul.NazwaSzablonu(nazwa_strony);
return frame:expandTemplate{title=szablon,args={},};
end;
p["KsiążkaSubst"] = function(frame)
local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_ksiazkowych;
local str=tabela_listy_danych_analizy_ksiazki["KsiążkaSubst"];
return str;
end;
p["StronaSubst"] = function(frame)
local parametry_modul=require("Module:Parametry");
local args=frame and ((frame.getParent and ((parametry_modul.CzyTak(frame.args["wyspecjalizowana"]))and frame or frame:getParent()) or frame).args or frame) or {};
local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_ksiazkowych;
local tab_stronasubst=tabela_listy_danych_analizy_ksiazki["StronaSubst"];
if(not tab_stronasubst)then return;end;
local pierwszy,_=mw.ustring.gsub(args[1],"[%s_]+"," ");
local tab_strona=tab_stronasubst[pierwszy];
if(not tab_strona)then return;end;
local link=args["link"];
local czy_link=parametry_modul.CzyTak(link);
local stronasubst=tab_strona[(czy_link and "tak" or "")];
return stronasubst;
end;
p["CzyStronęNumerować"] = function(frame)
local strona=frame.args[1];
local nazwy_modul=require("Module:Nazwy");
strona=nazwy_modul["PEŁNANAZWASTRONY"](strona);
local pudelko_modul=require("Module:Pudełko");
if(strona==pudelko_modul["Strona główna tego projektu"](frame))then
return;
end;
if(strona==pudelko_modul["Strona główna dla dzieci tego projektu"](frame))then
return;
end;
if(mw.ustring.match(strona,"^Szablon:SG/"))then
return;
end;
local zbiory={
["Szablon:Nowe podręczniki miesiąca/Zwycięzca"]=true,
["Wikibooks:Polecane książki"]=true,
["Szablon:Wyróżnienia książek miesiąca/Wyróżniony"]=true,
}
if(zbiory[strona])then
return;
end;
if(mw.ustring.match(strona,"^Szablon:Polecane książki/")
or(mw.ustring.match(strona,"^Szablon:Nowe podręczniki miesiąca/"))
or(mw.ustring.match(strona,"^Szablon:Wyróżnienia książek miesiąca/"))
)then
return;
end;
return "tak";
end;
function p.HNumer(frame)
local p=frame.args["wyspecjalizowana"] and frame or frame:getParent();
if((not p) or (not p.args[1]))then
local blad_module=require("Module:Błąd");
local frame2=p:newChild{args={[1]="Podano złe parametry w szablonie: [[Szablon:HLiczba]].",["tag"]="span",},}
blad_module.error(frame2);
return;
end;
local stronicowyparser_rozdzialy_modul=require("Module:StronicowyParser/Rozdziały");
local naglowek,licznik=stronicowyparser_rozdzialy_modul.PodajRozdzial(p.args[1]);
local id2,_=mw.ustring.gsub(naglowek,"^[%s_]","");
id2,_=mw.ustring.gsub(id2,"[%s_]$","");
id2,_=mw.ustring.gsub(id2,"[%s_]","_");
local id3,_=mw.ustring.gsub(mw.uri.encode(mw.text.encode(id2),"WIKI"),"(%%)",".");
if(licznik>6)then
local id=p.args["id"];
local styl=p.args["styl"];
local klasa=p.args["klasa"];
local atrybuty=p.args["atrybuty"];
local parametry_modul=require("Module:Parametry");
return "<h6"..(parametry_modul.CzyTak(id)and " id=\""..id.."\"" or "")
..(parametry_modul.CzyTak(styl)and " style=\""..styl.."\"" or "")
.." class=\"mw-hnumber mw-hnumber-"..licznik..((parametry_modul.CzyTak(klasa)) and (" "..klasa) or "").."\""
..(parametry_modul.CzyTak(atrybuty)and " "..atrybuty or "")
..">"..((id2~=id3) and ("<span id=\""..id3.."\"></span>") or "").."<span id=\""..id2.."\" class=\"mw-headline\">"..naglowek.."</span></h6>";
elseif(licznik<1)then
local blad_module=require("Module:Błąd");
local frame2=pf:newChild{args={[1]="Nie podano nagłówka w szablonie: [[Szablon:HLiczba]].",["tag"]="span",},}
blad_module.error(frame2);
else
local id=p.args["id"];
local styl=p.args["styl"];
local klasa=p.args["klasa"];
local atrybuty=p.args["atrybuty"];
local parametry_modul=require("Module:Parametry");
return "<h"..licznik..(parametry_modul.CzyTak(id)and " id=\""..id.."\"" or "")
..(parametry_modul.CzyTak(styl)and " style=\""..styl.."\"" or "")
.." class=\""..((parametry_modul.CzyTak(klasa)) and klasa or "").."\""
..(parametry_modul.CzyTak(atrybuty)and " "..atrybuty or "")..">"..((id2~=id3) and ("<span id=\""..id3.."\"></span>") or "").."<span id=\""..id2.."\" class=\"mw-headline\">"..naglowek.."</span></h"..licznik..">";
end;
end;
function p.TOC(frame,czy_rozciagnij,gdy_pusty_spis_tresci)
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych;
local nazwy_modul=require("Module:Nazwy");
local parametry_modul=require("Module:Parametry");
local ksiazkowe_modul=require("Module:Książkowe");
local args=(frame)and (parametry_modul.CzyTak(frame.args["wyspecjalizowana"])and frame.args or frame:getParent().args) or {};
local nazwa_przestrzeni=args[2] and nazwy_modul["NAZWAPRZESTRZENI"](args[2]) or tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
local nazwa_ksiazki=args[2] and ksiazkowe_modul["NazwaKsiążki"](args[2]) or tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki;
local nazwa_artykulu=args[1] and args[1] or tabela_listy_danych_analizy_ksiazki.nazwa_artykulu;
local czy_nie_aktualny=(
(nazwa_przestrzeni~=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni)
or(nazwa_ksiazki~=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki)
or (nazwa_artykulu~=tabela_listy_danych_analizy_ksiazki.nazwa_artykulu)
);
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
if ((tabela_listy_danych_analizy_ksiazki.TOC_StronaZbiorcza)or(tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu and tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni] and tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki] and tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki].lista_artykolow[nazwa_artykulu] and tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki].lista_artykolow[nazwa_artykulu].TOC)) then
mw.log(tabela_listy_danych_analizy_ksiazki.TOC_StronaZbiorcza,"Strona ziorcza");
local spis_tresci_artykulu=stronicowyparser_potrzebne_modul.TOC(frame,tabela_listy_danych_analizy_ksiazki.TOC_StronaZbiorcza or tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki].lista_artykolow[nazwa_artykulu].TOC,czy_nie_aktualny,czy_rozciagnij);
return spis_tresci_artykulu;
elseif(not gdy_pusty_spis_tresci)then
local spis_tresci_artykulu=stronicowyparser_potrzebne_modul.TOC(frame,nil,czy_nie_aktualny,czy_rozciagnij);
return spis_tresci_artykulu;
end;
end;
function p.WykazModolow(frame,czy_rozciagnij)
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych;
local nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki;
local nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
local lista_ksiazek_w_przestrzeni_nazw=tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni];
if(not lista_ksiazek_w_przestrzeni_nazw)then return nil;end;
local tab_lista_artykulow_w_ksiazce_w_ksiazce=lista_ksiazek_w_przestrzeni_nazw[nazwa_ksiazki];
if(not tab_lista_artykulow_w_ksiazce_w_ksiazce)then return nil;end;
local spis=tab_lista_artykulow_w_ksiazce_w_ksiazce.spis;
if(not spis)then return nil;end;
local parametry_modul=require("Module:Parametry");
local spis_ksiazkowy=parametry_modul.CzyTak(frame.args["spis książkowy"]);
local spis_rzeczy=parametry_modul.CzyTak(frame.args["spis rzeczy"]);
local tylko_naglowki=parametry_modul.CzyTak(frame.args["nagłówki"]);
local wysokosc=frame.args["wysokość"];
local wykaz_modolow_w_liscie="";
local i=1;
for _,tab_artykul in ipairs(spis)do
if(tab_artykul[2])then
for _,tab_pozycja in ipairs(tab_artykul[2])do
if(type(tab_pozycja[1])~="table")then
sformatowana_nazwa_artykulu,_=mw.ustring.gsub(tab_pozycja[1],"_"," ");
else
sformatowana_nazwa_artykulu,_=mw.ustring.gsub(tab_pozycja[1][1],"_"," ");
end;
local id=tab_pozycja[4]
if(not tylko_naglowki or id)then
if(not spis_ksiazkowy)then
wykaz_modolow_w_liscie=((wykaz_modolow_w_liscie~="") and (wykaz_modolow_w_liscie.."\n") or "")..'<li>[['..((not spis_rzeczy or not id)and (((nazwa_przestrzeni=="")and nazwa_ksiazki or nazwa_przestrzeni..":"..nazwa_ksiazki).."/") or "#")..sformatowana_nazwa_artykulu.."|<span class=\"tocnumber\">"..i.."</span><span class=\"toctext\">"..sformatowana_nazwa_artykulu..'</span>]]</li>';
else
wykaz_modolow_w_liscie=((wykaz_modolow_w_liscie~="") and (wykaz_modolow_w_liscie.."\n") or "")..'{{SpisZw||[['..((not spis_rzeczy or not id)and (((nazwa_przestrzeni=="")and nazwa_ksiazki or nazwa_przestrzeni..":"..nazwa_ksiazki).."/") or "#")..sformatowana_nazwa_artykulu.."|"..sformatowana_nazwa_artykulu.."]]|"..i.."|100%}}";
end;
i=i+1;
end;
end;
end;
end;
if(wykaz_modolow_w_liscie=="")then return nil;end;
if(not spis_ksiazkowy)then
wykaz_modolow_w_liscie="<ul>"..wykaz_modolow_w_liscie.."</ul>";
wykaz_modolow_w_liscie='<div class="toc_ogólnie_spis toc_wykaz" style="width:100%;max-height:400px;overflow:auto;">'..wykaz_modolow_w_liscie.."</div>";
wykaz_modolow_w_liscie='{{Tabela nawigacyjna|styl=width:'..(czy_rozciagnij and "100%" or "auto")..';font-size:14px;line-height:1.2em;background-color:white;|tytuł=<div style="font-size:14px;line-height:1.2em;background-color:white;text-align:left;white-space:nowrap;">Wykaz modułów w książce</div>|spis='..wykaz_modolow_w_liscie..'|funkcja=UkrytaWikitabelowaListaMenu}}';
else
wykaz_modolow_w_liscie="<div class=\"toc_wykaz mw-overflow-y\" style=\""..(wysokosc and ("max-height:"..wysokosc..";overflow:auto;") or "").."border:solid #aaa 1px;padding:10px;width:auto;box-sizing:border-box;background-color:white;\">"..wykaz_modolow_w_liscie.."</div>";
end;
local rozwiniety_wikikod=frame:preprocess(wykaz_modolow_w_liscie);
return rozwiniety_wikikod;
end;
function p.NazwaModolu()
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych;
local nazwy_np_modul=mw.loadData('Moduł:Nazwy/Np');
local nazwa_artykulu=tabela_listy_danych_analizy_ksiazki.nazwa_artykulu;
if(nazwa_artykulu==nil)then
return "[["..nazwy_np_modul.Category..": Nie można wygenerować nazwy strony]]";
else
return nazwa_artykulu;
end;
end;
function p.Wstep_do_licencji(frame)
local element_licencji_1='<strong>Autor:</strong> '..frame.args[1]..'<BR>';
local element_licencji_2;
if((frame.args[2]~='')and(frame.args[2]~=nil))then
element_licencji_2=frame.args[2]..'<BR>';
end;
local element_licencji_3;
if((frame.args[3]~='')and(frame.args[3]~=nil))then
element_licencji_3='<strong>Email:</strong> '..frame.args[3]..'<BR>';
end;
local element_licencji_4;
if((frame.args[4]~='')and(frame.args[4]~=nil))then
element_licencji_4='<strong>Dotyczy:</strong> '..frame.args[4].."<BR>";
else
element_licencji_4='<strong>Dotyczy:</strong> książki, do której należy ta strona, oraz w niej zawartych stron i w nich podstron, a także w nich kolumn, wraz z zawartościami.<BR>';
end;
if((frame.args[5]~='')and(frame.args[5]~=nil))then
element_licencji_5=frame.args[5].."<BR>";
else
element_licencji_5='Użytkownika książki, do której należy ta strona, oraz w niej zawartych stron i w nich podstron, a także w nich kolumn, wraz z zawartościami nie zwalnia z odpowiedzialności prawnoautorskiej nieprzeczytanie warunków licencjonowania.<BR>';
end;
local element_licencji_6;
if((frame.args[6]~='')and(frame.args[6]~=nil))then
element_licencji_6='<strong>Umowa prawna:</strong> '..frame.args[6]..'<BR>';
else
element_licencji_6='<strong>Umowa prawna:</strong> [http://creativecommons.org/licenses/by-sa/3.0/deed.pl Creative Commons: uznanie autorstwa oraz miejsca pochodzenia książki i jej jakikolwiek części, a także treści, teksty, tabele, wykresy, rysunki, wzory i inne elementy oraz ich części zawarte w książce, i tą książkę, nawet w postaci przerobionej nie można umieszczać w jakikolwiek formie na czasopismach naukowych, archiwach prac, itp.]<BR>';
end;
if((frame.args[7]~='')and(frame.args[7]~=nil))then
element_licencji_7=frame.args[7].."<BR>";
else
element_licencji_7='Autor tej książki dołożył wszelką staranność, aby informacje zawarte w książce były poprawne i najwyższej jakości, jednakże nie udzielana jest żadna gwarancja, czy też rękojma. Autor nie jest odpowiedzialny za wykorzystanie informacji zawarte w książce nawet jeśli wywołaby jakąś szkodę, straty w zyskach, zastoju w prowadzeniu firmy, przedsiębiorstwa lub spółki bądź utraty informacji niezależnie, czy autor (a nawet [https://pl.wikibooks.org Wikibooks]) został powiadomiony o możliwości wystąpienie szkód. Informacje zawarte w książce mogą być wykorzystane tylko na własną odpowiedzialność.<BR>';
end;
local licencja=element_licencji_1..((element_licencji_2)and element_licencji_2 or "")..((element_licencji_3)and element_licencji_3 or "")
..element_licencji_4..element_licencji_5..element_licencji_6..element_licencji_7;
return licencja;
end;
function p.Licencja(frame,czy_rozciagnij)
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych;
local menu_z_licencja;
local nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
local nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki;
local licencja=tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki].licencja;
if(licencja)then
if(licencja[1])then
local frame={};
frame.args={licencja[1],licencja[2],licencja[3],licencja[4],licencja[5],licencja[6],licencja[7]};
local ramka_z_licencja='<div style="margin-left:0px;padding:3px;width:100%;height:auto;box-sizing:border-box;">'..p.Wstep_do_licencji(frame)..'</div>';
menu_z_licencja='{{Tabela nawigacyjna|styl=width:'..(czy_rozciagnij and "100%" or "auto")..';font-size:14px;line-height:1.2em;background-color:white;|tytuł=<div style="font-size:14px;line-height:1.2em;background-color:white;text-align:left;white-space:nowrap;">Licencja</div>|spis='..ramka_z_licencja..'|funkcja=StatycznaWikitabelowaListaMenu}}';
else
return nil;
end;
local frame=mw.getCurrentFrame();
local rozwiniety_wikikod=frame:preprocess(menu_z_licencja);
return rozwiniety_wikikod;
else
return nil;
end;
end;
function p.Autor(frame)
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych;
local nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
local nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki;
local licencja=tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki].licencja;
if(tabela_listy_danych_analizy_ksiazki.licencja)then
return licencja[1];
end;
end;
function p.PierwszaStrona(frame)
local prawe_menu="";
local parametry_modul=require("Module:Parametry");
local czy_rozciagnij=parametry_modul.CzyTak(frame.args["rozciągnij"])
if(parametry_modul.CzyTak(frame.args[1]))then
prawe_menu='<div style="margin-top:5px;font-size:1.9em;line-height:25px;text-align:left;">'..p.NazwaModolu()..'</div><hr style=\"margin:5px 0\"/>';
end;
if(parametry_modul.CzyTak(frame.args[2]))then
local licencja=p.Licencja(frame,czy_rozciagnij);
if(licencja~=nil)then
prawe_menu=prawe_menu..licencja;
else
local obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty");
local uchwyt_strony=mw.title.getCurrentTitle();
local nazwy_np_modul=mw.loadData("Module:Nazwy/Np");
local nazwa_przestrzeni_nazw_strony=require("Module:Nazwy")["NAZWAPRZESTRZENI"]();
local element_zdania_kategorii=(nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Main)and "na stronach głównych, książek"
or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikijunior)and "na stronach głównych, książek dla dzieci"
or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.User)and "na stronach głównych, książek użytkowników"
or((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikibooks)and "na stronach głównych, książek brudnopisu projektu"
or "na stronach głównych, publikacji")));
local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_ksiazkowych;
local kategoria_braku_licencji=(not tabela_listy_danych_analizy_ksiazki.korzystane_strona_glowna_nie_istnieje)and"[["..nazwy_np_modul.Category..": Brak licencji, "..element_zdania_kategorii.."]]" or "";
prawe_menu=prawe_menu..kategoria_braku_licencji;
end;
end;
if(parametry_modul.CzyTak(frame.args[3]))then
local wykaz_artykulow=p.WykazModolow(frame,czy_rozciagnij);
if(wykaz_artykulow~=nil)then
prawe_menu=prawe_menu.."<hr style=\"margin:5px 0\"/>"..wykaz_artykulow;
end;
end;
if(parametry_modul.CzyTak(frame.args[4]))then
local spis_tresci=p.TOC(frame,czy_rozciagnij,true);
if(spis_tresci~=nil)then
prawe_menu=prawe_menu.."<hr style=\"margin:5px 0\"/>"..spis_tresci;
end;
end;
local wysokosc=frame.args["wysokość"];
return "<div style=\"padding:10px;border: solid #aaa 1px;background-color:white;box-sizing:border-box;width:700px;\"><div class=\"pierwsza_strona mw-overflow-y\" style=\"max-height:"..(wysokosc or "100%")..";overflow:auto;height:100%;box-sizing:border-box;\"><div style=\"display:flex;flex-direction:column;width:auto;height:auto;box-sizing:border-box;\">"..prawe_menu.."</div></div></div>";
end;
function p.SpisTresci(frame)
local parametry_modul=require("Module:Parametry");
local args=parametry_modul.PobierzArgsParametry(frame);
local nazwa_artykulu=args["artykuł"] or args[1];
local nazwa_ksiazki=args["książka"] or args[2];
if(not parametry_modul.CzyTak(nazwa_ksiazki))then
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych;
local uzyskana_nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
local uzyskana_nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki;
nazwa_ksiazki=((uzyskana_nazwa_przestrzeni~=nil) and (uzyskana_nazwa_przestrzeni..":") or "")..uzyskana_nazwa_ksiazki;
end;
local brak=(nazwa_artykulu and mw.ustring.match(nazwa_artykulu,"[|<>{}%[%]]") or nil) or (nazwa_ksiazki and mw.ustring.match(nazwa_ksiazki,"[|<>{}%[%]]") or nil);
if(brak~=nil)then
local nazwy_np_modul=mw.loadData("Module:Nazwy/Np");
local nazwa_przestrzeni_nazw_strony=require("Module:Nazwy")["NAZWAPRZESTRZENI"]();
local element_zdania_kategorii=(nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Main)and "artykułów,"
or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikijunior)and "artykułów dla dzieci,"
or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.User)and "stron użytkowników,"
or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikibooks)and "stron brudnopisu projektu,"
or "stron,")));
return "[["..nazwy_np_modul.Category..":Nazwy "..element_zdania_kategorii.." w spisach treści, zawierają niedozwolone znaki]]";
end;
local html_modul=require("Module:Html");
local nazwy_modul=require("Module:Nazwy");
local ksiazkowe_modul=require("Module:Książkowe");
local nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](nazwa_ksiazki);
local nazwa_ksiazki=ksiazkowe_modul["NazwaKsiążki"](nazwa_ksiazki);
nazwa_ksiazki=html_modul.TransformacjaKlasyZnakowej(nazwa_ksiazki);
local nazwa_artykulu=html_modul.TransformacjaKlasyZnakowej(nazwa_artykulu);
local nazwa_strony=(nazwa_artykulu=="")and nazwa_ksiazki or nazwa_ksiazki.."/"..nazwa_artykulu;
local pelna_nazwa_strony=(nazwa_przestrzeni=="")and nazwa_strony or nazwa_przestrzeni..":"..nazwa_strony;
local tekst_artykulu=p.SpreparowanyWikikodStrony(pelna_nazwa_strony);
local nazwa=args["nazwa"] or args[3];
local nazwa_strony_artykulu=parametry_modul.CzyTak(nazwa) and nazwa or mw.ustring.gsub(mw.ustring.match(nazwa_artykulu,"[^/]*$"),"_"," ");
local dodatek=args["dodatek"] or args[4];
if(not tekst_artykulu)then
if(nazwa_artykulu~="")then
return "\n"..mw.ustring.rep("=",6).."<span style=\"color:red\">[["..pelna_nazwa_strony.."|"..nazwa_strony_artykulu.."]]</span>"..mw.ustring.rep("=",6).."\n";
else
return frame:getParent():preprocess("{{Błąd|Wywołano szablon z argumentem pierwszym pustym.}}");
end;
else
local twor_spisu_tresci="[["..pelna_nazwa_strony.."|"..nazwa_strony_artykulu.."]]"..(((dodatek)and(dodatek~="")) and (" "..dodatek) or "");
twor_spisu_tresci=mw.ustring.rep("=",6)..twor_spisu_tresci..mw.ustring.rep("=",6).."\n";
local stronicowyparser_dalszefunkcje_modul=require("Module:StronicowyParser/DalszeFunkcje");
local ulozenia_w_menu_spisu_tresci=stronicowyparser_dalszefunkcje_modul:SpisTresciWstep(tekst_artykulu, pelna_nazwa_strony);
local atrybuty="style=\"margin-left:20px\"";
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
local toc=stronicowyparser_potrzebne_modul.TOCSilnik(ulozenia_w_menu_spisu_tresci, atrybuty);
local limit=args["limit"];
local czy_limit=parametry_modul.CzyTak(limit);
return '<div class="toc_ogólnie_spis toc_artykuł toclimit '..(czy_limit and ("toclimit-"..limit) or "")..'">\n'..twor_spisu_tresci..(toc and toc or "")..'</div>';
end;
end;
function IteratorFunkcja()
local obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty");
local tabela_wypowiedzi=obiekty_modul.tablica_obiektow;
local licznik=1;
return function()
local tabela_obiektu=tabela_wypowiedzi[licznik];
if(not tabela_obiektu)then return nil;end;
local wartosc1=mw.ustring.gsub(tabela_obiektu[1],"%d+$","");
local wartosc2=tabela_obiektu[4];
licznik=licznik+1;
return wartosc1,wartosc2;
end;
end;
local iterator=IteratorFunkcja();
for nazwa_obiektu,czesc_nazwy_funkcji in iterator do
p["Numer"..czesc_nazwy_funkcji] = function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
return stronicowyparser_potrzebne_modul.NumerObiektu(frame,nazwa_obiektu);
end;
end;
p["AnalizujSzablonemStronicowymArtykuł"]=function(frame)
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych;
return "";
end;
function p.formatowanie()
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych;
return tabela_listy_danych_analizy_ksiazki.formatowanie;
end;
function p.WstawKategorie(frame)
local stronicowyparser_kategorie_modul=require("Module:StronicowyParser/Kategorie");
return stronicowyparser_kategorie_modul.WstawKategorie(frame);
end;
function p.CzyStronaSubst(frame,pelnanazwastrony,czy_wymusic)
if(czy_wymusic)then
local nazwy_modul=require("Module:Nazwy");
local pelnanazwastronyaktualnej=nazwy_modul["PEŁNANAZWASTRONY"]();
if(pelnanazwastrony~=pelnanazwastronyaktualnej)then
local stronicowyparser_stronasubst_modul=require("Module:StronicowyParser/StronaSubst");
local TakFun=function(frame) return "tak";end;local NieFun=function(frame) return "";end;
return stronicowyparser_stronasubst_modul.AnalizaStronaSubst(nil,pelnanazwastrony,TakFun,NieFun,nil);
end;
end;
local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_ksiazkowych;
if(tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then
return "tak";
end;
return "";
end;
return p;
bl9jdoy1qffyeh9wq1q233m7n65zlun
437952
437950
2022-08-17T06:11:04Z
Persino
2851
Scribunto
text/plain
local p = {}
function p.SpreparowanyWikikodStrony(nazwa_modolu,dokumentacja)
local stronicowyparser_dalszefunkcje=require("Module:StronicowyParser/DalszeFunkcje")
return stronicowyparser_dalszefunkcje.SpreparowanyWikikodStrony(nil,nazwa_modolu,dokumentacja);
end;
function p.PrzekierowanieDoStrony(frame)
local parametry_modul=require("Module:Parametry");
local PobierzParametr=parametry_modul.PobierzParametr(frame);
local nazwa_modulu=PobierzParametr(1);
local latki_modul=require("Module:Łatki");
return latki_modul.contentMatch{args={
[1]="^%s*#REDIRECT%s+%[%[(.+)%]%]%s*",
[2]="^%s*#PATRZ%s+%[%[(.+)%]%]%s*",
[3]="^%s*#TAM%s+%[%[(.+)%]%]%s*",
namespace="",
pagename=nazwa_modulu,
},
};
end;
p["TekstRozdziałuStrony"]=function(frame)
local stronicowyparser_rozdzialy=require("Module:StronicowyParser/Rozdziały");
return stronicowyparser_rozdzialy.TekstRozdzialuStrony(frame);
end;
p["KtóraSekcjaStrony"]=function(frame)
local stronicowyparser_rozdzialy=require("Module:StronicowyParser/Rozdziały");
return stronicowyparser_rozdzialy.KtoraSekcjaStrony(frame);
end;
p["ZwróćSekcjęNagłówkaStrony"]=function(frame)
local stronicowyparser_rozdzialy=require("Module:StronicowyParser/Rozdziały");
return stronicowyparser_rozdzialy.ZwrocSekcjeNaglowkaStrony(frame);
end;
p["NastępnyArtykuł"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local parametry_modul=require("Module:Parametry");
local nazwa=parametry_modul.CzyTak(args["nazwa"]);
local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame);
local numer=tonumber(args[1]) or 0;
local naglowek=parametry_modul.CzyTak(args["nagłówek"]);
local nazwa_artykulu_z_naglowkiem_match=mw.ustring.match(nazwa_artykulu,"^([^#]*)#.*$");
local nazwa_artykulu_z_opcja_naglowek=(not naglowek) and nazwa_artykulu_z_naglowkiem_match or nazwa_artykulu;
local nadstrona_artykulu=(numer>0) and stronicowyparser_potrzebne_modul.NazwaNadStrony(nazwa_artykulu,numer) or nil;
local i=0;
local tab_artykul={};
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
if(tab_lista[2])then
for _,artykul_w_bazie_element in ipairs(tab_lista[2])do
local artykul_w_bazie;local artykul_bez_naglowka_w_bazie;local artykul_z_naglowkiem_w_bazie;
local czy_table=parametry_modul.TypeTable(artykul_w_bazie_element[1]);
if(czy_table)then
artykul_w_bazie=artykul_w_bazie_element[1][1];
else
artykul_w_bazie=artykul_w_bazie_element[1];
end;
local artykul_z_naglowkiem_w_bazie_match=mw.ustring.match(artykul_w_bazie,"^([^#]*)#.*$");
artykul_bez_naglowka_w_bazie=artykul_z_naglowkiem_w_bazie_match or artykul_w_bazie;
if(naglowek or not tab_artykul[artykul_bez_naglowka_w_bazie])then
if(not naglowek)then
tab_artykul[artykul_bez_naglowka_w_bazie]=true;
end
if(not naglowek)then
artykul_z_naglowkiem_w_bazie=artykul_bez_naglowka_w_bazie;
else
artykul_z_naglowkiem_w_bazie=artykul_w_bazie;
end;
local numer_artykulu_w_bazie;
if(numer>0)then
numer_artykulu_w_bazie=stronicowyparser_potrzebne_modul.PoziomAdresu(artykul_bez_naglowka_w_bazie);
end;
local function Nastepny()
if(not nazwa)then
return artykul_z_naglowkiem_w_bazie;
end;
if(czy_table)then
return artykul_w_bazie[1][2];
else
return artykul_z_naglowkiem_w_bazie;
end;
end;
if(i==1)then
if(numer>0)then
local nadstrona_artykulu_w_bazie=stronicowyparser_potrzebne_modul.NazwaNadStrony(artykul_bez_naglowka,numer);
if((numer==numer_artykulu_w_bazie)and(nadstrona_artykulu==nadstrona_artykulu_w_bazie))then
return Nastepny();
end;
else
return Nastepny();
end;
else
if((not naglowek)and(artykul_bez_naglowka_w_bazie==nazwa_artykulu_z_opcja_naglowek)
or(((naglowek) and ((nazwa_artykulu_z_naglowkiem_match and artykul_z_naglowkiem_w_bazie_match)or(not nazwa_artykulu_z_naglowkiem_match and not artykul_z_naglowkiem_w_bazie_match)))
and (artykul_z_naglowkiem_w_bazie==nazwa_artykulu)
))then
i=1;
end;
end;
end;
end;
end;
end;
if(i==1)then
return "";
end;
return "(błąd)";
end;
p["PoprzedniArtykuł"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local parametry_modul=require("Module:Parametry");
local nazwa=parametry_modul.CzyTak(args["nazwa"]);
local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame);
local numer=tonumber(args[1]) or 0;
local naglowek=parametry_modul.CzyTak(args["nagłówek"]);
local nazwa_artykulu_z_naglowkiem_match=mw.ustring.match(nazwa_artykulu,"^([^#]*)#.*$")
local nazwa_artykulu_z_opcja_naglowek=(not naglowek) and nazwa_artykulu_z_naglowkiem_match or nazwa_artykulu;
local nadstrona_artykulu=(numer>0) and stronicowyparser_potrzebne_modul.NazwaNadStrony(nazwa_artykulu,numer) or nil;
local artykul;
local tab_artykul={};
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
if(tab_lista[2])then
for _,artykul_w_bazie in ipairs(tab_lista[2])do
local artykul_z_naglowkiem_w_bazie;local artykul_bez_naglowka_w_bazie;
local czy_table=parametry_modul.TypeTable(artykul_w_bazie[1]);
if(czy_table)then
artykul_z_naglowkiem_w_bazie=artykul_w_bazie[1][1];
else
artykul_z_naglowkiem_w_bazie=artykul_w_bazie[1];
end;
local artykul_z_naglowkiem_w_bazie_match=mw.ustring.match(artykul_z_naglowkiem_w_bazie,"^([^#]*)#.*$")
artykul_bez_naglowka_w_bazie=artykul_z_naglowkiem_w_bazie_match or artykul_z_naglowkiem_w_bazie;
if(naglowek or not tab_artykul[artykul_bez_naglowka_w_bazie])then
if(not naglowek)then
tab_artykul[artykul_bez_naglowka_w_bazie]=true;
end;
if((not naglowek)and(artykul_bez_naglowka_w_bazie==nazwa_artykulu_z_opcja_naglowek)
or(((naglowek) and ((nazwa_artykulu_z_naglowkiem_match and artykul_z_naglowkiem_w_bazie_match)or(not nazwa_artykulu_z_naglowkiem_match and not artykul_z_naglowkiem_w_bazie_match)))and(artykul_z_naglowkiem_w_bazie==nazwa_artykulu)))then
if(not artykul)then return "";end;
local czy_table_artykul=parametry_modul.TypeTable(artykul);
if(czy_table_artykul)then
if(not nazwa)then
if(naglowek)then
return artykul[1];
end;
artykul,_=mw.ustring.gsub(artykul[1],"^([^#]+)#(.*)$","%1");
return artykul;
else
return artykul[2];
end;
else
if(naglowek)then
return artykul;
end;
artykul,_=mw.ustring.gsub(artykul,"^([^#]+)#(.*)$","%1");
return artykul;
end;
end
if(numer>0)then
local numer_artykulu_poprzedni=stronicowyparser_potrzebne_modul.PoziomAdresu(artykul_bez_naglowka_w_bazie);
local nadstrona_artykulu_w_bazie=stronicowyparser_potrzebne_modul.NazwaNadStrony(artykul_bez_naglowka_w_bazie,numer);
if((numer==numer_artykulu_poprzedni)and(nadstrona_artykulu==nadstrona_artykulu_w_bazie))then
artykul=artykul_w_bazie[1];
end;
else
artykul=artykul_w_bazie[1];
end;
end;
end;
end;
end;
return "(błąd)";
end;
p["PoziomNazwyArtykułu"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local parametry_modul=require("Module:Parametry");
local nazwa=parametry_modul.CzyTak(args["nazwa"]);
local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame);
return stronicowyparser_potrzebne_modul.PoziomAdresu(nazwa_artykulu);
end;
p["PierwszyArtykuł"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local parametry_modul=require("Module:Parametry");
local nazwa=parametry_modul.CzyTak(args["nazwa"]);
local naglowek=parametry_modul.CzyTak(args["nagłówek"]);
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
if(tab_lista[2])then
for _,artykul_w_bazie in ipairs(tab_lista[2])do
if(not nazwa)then
local artykul=parametry_modul.TypeTable(artykul_w_bazie[1]) and artykul_w_bazie[1][1] or artykul_w_bazie[1];
return (not naglowek) and mw.ustring.gsub(artykul,"^([^#]*)#(.*)$","%1") or artykul;
else
return parametry_modul.TypeTable(artykul_w_bazie[1])
and artykul_w_bazie[1][2]
or ((not naglowek) and mw.ustring.gsub(artykul_w_bazie[1],"^([^#]*)#(.*)$","%1") or artykul_w_bazie[1]);
end;
end;
end;
end;
end;
p["OstatniArtykuł"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local parametry_modul=require("Module:Parametry");
local nazwa=parametry_modul.CzyTak(args["nazwa"]);
local naglowek=parametry_modul.CzyTak(args["nagłówek"]);
local ostatni_artykul;
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
if(tab_lista[2])then
for _,artykul_w_bazie in ipairs(tab_lista[2])do
if(not nazwa)then
ostatni_artykul=parametry_modul.TypeTable(artykul_w_bazie[1]) and artykul_w_bazie[1][1] or artykul_w_bazie[1];
else
ostatni_artykul=parametry_modul.TypeTable(artykul_w_bazie[1]) and artykul_w_bazie[1][2] or artykul_w_bazie[1];
end;
end;
end;
end;
if(ostatni_artykul)then
return (not naglowek) and mw.ustring.gsub(ostatni_artykul,"^([^#]*)#(.*)$","%1") or ostatni_artykul;
end;
return "(błąd)";
end;
p["PomiędzyArtykuł"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
local val=stronicowyparser_potrzebne_modul:ObliczeniaInformacje(frame);
if(not val)then return "(błąd)";end;
local element=stronicowyparser_potrzebne_modul:PomiedzyArtykul(frame) or nil;
if(not element)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local parametry_modul=require("Module:Parametry");
local nazwa=parametry_modul.CzyTak(args["nazwa"]);
local czy_table=parametry_modul.TypeTable(element);
local element=czy_table and element[1] or element;
if(not nazwa)then return (not naglowek) and mw.ustring.gsub(element,"^([^#]*)#(.*)$","%1") or element;end;
return czy_table and element[2] or ((not naglowek) and mw.ustring.gsub(element,"^([^#]*)#(.*)$","%1") or element);
end;
p["LosowyArtykuł"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
local val=stronicowyparser_potrzebne_modul:ObliczeniaInformacje(frame);
if(not val)then return "(błąd)";end;
local element=stronicowyparser_potrzebne_modul:LosowyArtykul(frame);
if(not element)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local parametry_modul=require("Module:Parametry");
local nazwa=parametry_modul.CzyTak(args["nazwa"]);
local czy_table=parametry_modul.TypeTable(element);
local element=czy_table and element[1] or element;
if(not nazwa)then return mw.ustring.gsub(element,"^([^#]*)#(.*)$","%1") or element;end;
return czy_table and element[2] or mw.ustring.gsub(element,"^([^#]*)#(.*)$","%1") or element;
end;
local function PobiezNumerLubNazweNaglowka(frame,__FUNKCJA,typ)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local parametry_modul=require("Module:Parametry");
local poziomowo=parametry_modul.CzyTak(args["poziomowo"]);
local ktory=(tonumber(args["który"]) or 1);
local parametr_pierwszy_szablonu=typ and ((not poziomowo) and (tonumber(args[1]) or 1) or args[1]) or args[1];
if(not typ)then
parametr_pierwszy_szablonu,_=mw.ustring.gsub(parametr_pierwszy_szablonu,"^[%s_]+","");
parametr_pierwszy_szablonu,_=mw.ustring.gsub(parametr_pierwszy_szablonu,"[%s_]+$","");
parametr_pierwszy_szablonu,_=mw.ustring.gsub(parametr_pierwszy_szablonu,"[%s_]+"," ");
end;
local HNumer=stronicowyparser_potrzebne_modul.LiczonyHNumer();
local HNumer_2=nil;
local tab_numer_2=nil;
local tab_numer={};
local i=(not poziomowo) and 0 or nil;
local i_2=nil;
local juz_nie_rozwazaj_spisu_tresci=nil;
local juz_nie_rozwazaj_rozdzialu_spisu_tresci=nil;
local stronicowyparser_obiekty=mw.loadData("Module:StronicowyParser/obiekty");
local tab_rozdzialow_glownych_spisow_tresci_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_glownych_spisow_tresci_ksiazek;
local tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek;
local poziom_spisu_tresci=nil;
local pierwszy_dodatni_spis_tresci=nil;
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
local rozdzial=tab_lista[1][1];
local poziom_rozdzialu=tab_lista[1][2][1] or 0;
if(poziom_rozdzialu>0)then
local czy_nie_ten_rozdzial=nil;
local czy_jest_teraz_spis_tresci=tab_rozdzialow_glownych_spisow_tresci_ksiazek[rozdzial];local czy_nie_ten_rozdzial;
if((not juz_nie_rozwazaj_spisu_tresci)and(not juz_nie_rozwazaj_rozdzialu_spisu_tresci)and(czy_jest_teraz_spis_tresci))then
poziom_spisu_tresci=poziom_rozdzialu;
juz_nie_rozwazaj_rozdzialu_spisu_tresci=true;
czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial];
elseif((not juz_nie_rozwazaj_spisu_tresci)and(juz_nie_rozwazaj_rozdzialu_spisu_tresci))then
if((poziom_spisu_tresci<poziom_rozdzialu))then
czy_nie_ten_rozdzial=false;
else
juz_nie_rozwazaj_spisu_tresci=true;
czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial];
end;
else
local juz_nie_rozwazaj_spisu_tresci=nil;
local juz_nie_rozwazaj_rozdzialu_spisu_tresci=nil;
czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial];
end;
if(not czy_nie_ten_rozdzial)then
if(poziomowo)then
local hnumer=HNumer(poziom_rozdzialu);
if(#tab_numer<hnumer)then
for i=#tab_numer+1,hnumer,1 do
table.insert(tab_numer,1);
end;
elseif(#tab_numer>hnumer)then
for i=#tab_numer, hnumer+1,-1 do
table.remove(tab_numer,i);
end;
tab_numer[#tab_numer]=tab_numer[#tab_numer]+1;
else
tab_numer[#tab_numer]=tab_numer[#tab_numer]+1;
end;
----
local wartosc=__FUNKCJA(poziomowo,i,tab_numer,ktory,parametr_pierwszy_szablonu,rozdzial);
----
if(wartosc)then return wartosc;end;
----
if((czy_jest_teraz_spis_tresci)and(not pierwszy_dodatni_spis_tresci))then
HNumer_2=HNumer;
HNumer=stronicowyparser_potrzebne_modul.LiczonyHNumer();
tab_numer_2=tab_numer;
tab_numer={};
pierwszy_dodatni_spis_tresci=true;
elseif((pierwszy_dodatni_spis_tresci)and(poziom_spisu_tresci>=poziom_rozdzialu))then
HNumer=HNumer_2;
HNumer_2=nil;
tab_numer=tab_numer_2;
tab_numer_2=nil;
pierwszy_dodatni_spis_tresci=false;
end;
else
i=i+1;
----
local wartosc=__FUNKCJA(poziomowo,i,tab_numer,ktory,parametr_pierwszy_szablonu,rozdzial);
---
if(wartosc)then return wartosc;end;
---
if((czy_jest_teraz_spis_tresci)and(not pierwszy_dodatni_spis_tresci))then
i_2=i;
i=0;
pierwszy_dodatni_spis_tresci=true;
elseif((pierwszy_dodatni_spis_tresci)and(poziom_spisu_tresci>=poziom_rozdzialu))then
i=i_2;
i_2=nil;
pierwszy_dodatni_spis_tresci=false;
end;
end;
end;
end;
end;
end;
p["PobierzNumerNagłówka"]=function(frame)
local s=1;
local function __FUNKCJA(poziomowo,i,tab_numer,ktory,naglowek,rozdzial)
if(naglowek==rozdzial)then
if(s==ktory)then
if(poziomowo)then
if(#tab_numer==0)then return;end;
return table.concat(tab_numer,".");
else
return i;
end;
end;
s=s+1;
end;
end;
return PobiezNumerLubNazweNaglowka(frame,__FUNKCJA,false);
end;
p["PobierzNazwęNagłówka"]=function(frame)
local s=1;
local function __FUNKCJA(poziomowo,i,tab_numer,ktory,numer,rozdzial)
if(poziomowo)then
if(#tab_numer==0)then return;end;
if(numer==table.concat(tab_numer,"."))then
if(s==ktory)then
return rozdzial;
else
s=s+1;
end;
end;
elseif(numer==i)then
if(s==ktory)then
return rozdzial;
else
s=s+1;
end;
end
end;
return PobiezNumerLubNazweNaglowka(frame,__FUNKCJA,true);
end;
local function PobierzNumerLubNazweArtykulu(frame,tabela_listy_danych_analizy_ksiazki,__FUNKCJA,typ,zbieraj_dane)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame,tabela_listy_danych_analizy_ksiazki);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame,tabela_listy_danych_analizy_ksiazki);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local parametry_modul=require("Module:Parametry");
local naglowek=parametry_modul.CzyTak(args["nagłówek"]);
local tab_artykul=(not naglowek)and {} or nil;
local poziomowo=parametry_modul.CzyTak(args["poziomowo"]);
local tab_poziomowo={};
local tab_poziomowo_1={};
local tab_poziomowo_2={};
local html_modul=require("Module:Html");
local pierwszy_parametr_szablonu=args[1] and (typ and ((not poziomowo) and (tonumber(args[1]) or 1) or args[1])
or ((not naglowek) and mw.ustring.gsub(html_modul["PoprawAdresNagłówkaStronyAdresu"](html_modul["TransformacjaKoduZnakuDoZnakuŁancucha"](args[1])),"^([^#]*)#(.*)$","%1") or html_modul["PoprawAdresNagłówkaStronyAdresu"](html_modul["TransformacjaKoduZnakuDoZnakuŁancucha"](args[1])))
)
or (typ and 1 or "Przykładowy artykuł");
local ktory=(tonumber(args["ktory"]) or 1);
local i=(not poziomowo) and 1 or nil;
local stronicowyparser_obiekty=mw.loadData("Module:StronicowyParser/obiekty");
local tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek;
local tab_rozdzialow_glownych_spisow_tresci_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_glownych_spisow_tresci_ksiazek;
--local HNumer=poziomowo and stronicowyparser_potrzebne_modul.LiczonyHNumer() or nil;
local HNumerPoziomow_4=nil--poziomowo and stronicowyparser_potrzebne_modul.LiczonyHNumer() or nil;
local HNumerPoziomow_3=nil
local HNumerPoziomow_2=nil;
local HNumerPoziomow_1=nil;
local HNumerPoziomow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
local HNumerPoziomowNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
local HNumerPoziomowNaglowkow_1=nil;
local HNumerPoziomowNaglowkow_2=nil;
--local HNumerPoziomowInnychNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
local tab_numer=poziomowo and {} or nil;
tab_numer_1=nil;
tab_numer_3=nil
tab_numer_4=nil;--poziomowo and {} or nil;
local spis=false;
local czy_poziom_spisu_tresci=nil;
local pierwszy_dodatni_naglowek=nil;
local pierwszy_ujemny_naglowek=nil;
local juz_nie_rozwazaj_spisu_tresci=nil;
local juz_nie_rozwazaj_rozdzialu_spisu_tresci=nil;
local poprzedni_poziom_znakowy_rozdzialu=nil;
local poprzedni_tab_poziomowo=nil;
local poziom_pierwszego_dodatniego_naglowka=0;
local poziom_pierwszego_ujemnego_naglowka=0;
local poziom_zerowego_naglowka=0;
local poziom_spisu_tresci_naglowka=0;
local numer_poziomu=nil;
local ostatni_rozdzial_dodatni=nil;
local pierwszy_rozdzial_dodatni=nil;
local glowny_dodatni_rozdzial=nil;
local glowny_ujemny_rozdzial=nil;
local spis_tresci=nil;
local poziom_pierwszego_ujemnego_spisu_tresci=nil;
local ostatni_poczatek_artykulu=nil;
local pierwszy_rowny_rozdzial=nil;
local prawdziwy_poziom_rozdzialu=nil;
local artykuly_w_rozdziale=nil;
local spis_tresci_zerowy;
local poziom_zerowy;
local rozdzial;
local czy_pierwszy_nilowy=nil;
for m,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
local tab_poprzedni_artykul_w_bazie=nil;
local poziom_rozdzialu;
local poziom_poczatku_rozdzialu=nil;
local poziom_znakowy_rozdzialu=nil;
local poziom_naglowka=nil;
if(poziomowo)then
local czy_nienilowy_rozdzial=tab_lista[1][2][1];
czy_pierwszy_nilowy=(m==1)and (czy_nienilowy_rozdzial==nil) or czy_pierwszy_nilowy;
poziom_rozdzialu=czy_nienilowy_rozdzial or 0;
prawdziwy_poziom_rozdzialu=poziom_rozdzialu;
poziom_poczatku_rozdzialu=tab_lista[1][2][2];
--if(m>1)then
rozdzial=tab_lista[1][1];
rozdzial,_=mw.ustring.gsub(rozdzial,"'+","");
--end;
tab_poziomowo={};
--[[local czy_jest_teraz_spis_tresci=((m>1)and(not spis_tresci_zerowy or not poziom_zerowy)or((m==1)and(spis_tresci_zerowy)))
and ((m==1) and true or tab_rozdzialow_glownych_spisow_tresci_ksiazek[rozdzial])]]
local czy_jest_teraz_spis_tresci=(not juz_nie_rozwazaj_rozdzialu_spisu_tresci)
and((m==1)and (czy_nienilowy_rozdzial and tab_rozdzialow_glownych_spisow_tresci_ksiazek[rozdzial] or ((not czy_nienilowy_rozdzial)and true or false))
or ((m>1)and tab_rozdzialow_glownych_spisow_tresci_ksiazek[rozdzial]
or false));
if((m>1)and(czy_pierwszy_nilowy))then
czy_jest_teraz_spis_tresci=tab_rozdzialow_glownych_spisow_tresci_ksiazek[rozdzial];
if(czy_jest_teraz_spis_tresci)then
juz_nie_rozwazaj_rozdzialu_spisu_tresci=nil;
juz_nie_rozwazaj_spisu_tresci=nil;
czy_pierwszy_nilowy=nil;
pierwszy_ujemny_spis_tresci=nil;
end;
end;
local czy_nie_ten_rozdzial;
if((not juz_nie_rozwazaj_spisu_tresci)and(not juz_nie_rozwazaj_rozdzialu_spisu_tresci)and(czy_jest_teraz_spis_tresci))then
poziom_spisu_tresci=poziom_rozdzialu;
juz_nie_rozwazaj_rozdzialu_spisu_tresci=true;
czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial];
elseif((not juz_nie_rozwazaj_spisu_tresci)and(juz_nie_rozwazaj_rozdzialu_spisu_tresci))then
if((poziom_spisu_tresci<poziom_rozdzialu))then
czy_nie_ten_rozdzial=false;
else
juz_nie_rozwazaj_spisu_tresci=true;
czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial];
end;
else
czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial];
end;
--if(not czy_nie_ten_rozdzial)then
poprzedni_poziom_znakowy_rozdzialu=poziom_znakowy_rozdzialu;
poziom_znakowy_rozdzialu=poziom_rozdzialu;
poziom_rozdzialu=math.abs(poziom_rozdzialu);
artykuly_w_rozdziale=nil;
if(poziom_znakowy_rozdzialu>0)then
poziom_naglowka=poziom_rozdzialu;
poziom_pierwszego_ujemnego_spisu_tresci=nil;
poprzedni_tab_poziomowo=nil;
poziom_zerowego_naglowka=0;
if(glowny_ujemny_rozdzial)then
HNumerPoziomow=HNumerPoziomow_4;
HNumerPoziomow_4=nil;
tab_numer=tab_numer_4;
poziom_pierwszego_ujemnego_naglowka=nil;
glowny_ujemny_rozdzial=nil;
end;
if(pierwszy_ujemny_spis_tresci)then
HNumerPoziomow=HNumerPoziomow_2;
HNumerPoziomow_2=nil;
tab_numer=tab_numer_2;
tab_numer_2=nil;
pierwszy_ujemny_spis_tresci=nil;
czy_poziom_ujemny_spisu_tresci=nil;
end;
if(not glowny_dodatni_rozdzial)then
if((juz_nie_rozwazaj_rozdzialu_spisu_tresci)and(not juz_nie_rozwazaj_spisu_tresci)and(not czy_jest_teraz_spis_tresci)and(not spis_tresci))then
numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu,1);
spis_tresci=true;
else
if(not pierwszy_rozdzial_dodatni)then
pierwszy_rozdzial_dodatni=1;
numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu,1);
else
numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu);
end;
end;
else
numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu,1);
glowny_dodatni_rozdzial=false;
end;
ostatni_rozdzial_dodatni=poziom_rozdzialu;
elseif(poziom_znakowy_rozdzialu<0)then
if(not pierwszy_rowny_rozdzial)then
if((ostatni_poczatek_artykulu)
and(#ostatni_poczatek_artykulu==#poziom_poczatku_rozdzialu)
and(ostatni_poczatek_artykulu~=poziom_poczatku_rozdzialu)
and(mw.ustring.match(ostatni_poczatek_artykulu,"^*"))
and(mw.ustring.match(poziom_poczatku_rozdzialu,"^:"))
)then
poziom_rozdzialu=poziom_rozdzialu+1;
poziom_znakowy_rozdzialu=-poziom_rozdzialu;
pierwszy_rowny_rozdzial=1;
poziom_naglowka=poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka;
else
poziom_naglowka=poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka;
end;
else
if((#ostatni_poczatek_artykulu==#poziom_poczatku_rozdzialu)
and(ostatni_poczatek_artykulu==poziom_poczatku_rozdzialu)
)then pierwszy_rowny_rozdzial=0;end;
poziom_rozdzialu=poziom_rozdzialu+pierwszy_rowny_rozdzial;
poziom_znakowy_rozdzialu=-poziom_rozdzialu;
poziom_naglowka=poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka;
end;
if(not glowny_ujemny_rozdzial)then
--if((juz_nie_rozwazaj_rozdzialu_spisu_tresci)and(not juz_nie_rozwazaj_spisu_tresci)and(not spis_tresci))then
-- numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu,1);
-- spis_tresci=true;
--else
numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka);
--end;
local numer_rozdzialu_dodatniego=HNumerPoziomowNaglowkow(0) or 0;
if(numer_rozdzialu_dodatniego>=numer_rozdzialu)then
numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka,numer_rozdzialu_dodatniego+1);
end;
else
numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka,(HNumerPoziomowNaglowkow(0) or 0)+1);
glowny_ujemny_rozdzial=false;
end;
else
if((m>1)or((m==1)and((not czy_pierwszy_nilowy)or(not czy_jest_teraz_spis_tresci))))then
poziom_zerowego_naglowka=1;
numer_rozdzialu=HNumerPoziomow( 1 + (ostatni_rozdzial_dodatni or 0) + 0);
poziom_znakowy_rozdzialu=-1;
poziom_rozdzialu=1;
poziom_naglowka= 1 + (ostatni_rozdzial_dodatni or 0) + 0;
else
poziom_zerowego_naglowka=0;
numer_rozdzialu=0;
poziom_naglowka=(ostatni_rozdzial_dodatni or 0) + 0;
end;
end;
local numer;
if(poziom_znakowy_rozdzialu>0)then
local numer=HNumerPoziomowNaglowkow(poziom_znakowy_rozdzialu);
--HNumerPoziomowInnychNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
elseif(poziom_znakowy_rozdzialu<0)then
--local numer=HNumerPoziomowInnychNaglowkow(-poziom_znakowy_rozdzialu);
end;
if((m>1)
and(tab_lista_artykulow_w_ksiazce[m-1])
and(tab_lista_artykulow_w_ksiazce[m-1][2])
and(#tab_lista_artykulow_w_ksiazce[m-1][2][1]>0)
and(tab_lista_artykulow_w_ksiazce[m-1][2][#tab_lista_artykulow_w_ksiazce[m-1][2]][2][1]==0)
)then
local lens_tab_numer=#tab_numer;
local roznica=math.min(#poprzedni_tab_poziomowo+#tab_numer,numer_rozdzialu)-#tab_numer;
roznica=((roznica>0) and roznica or 0);
for i=1,roznica,1 do
tab_numer[i+lens_tab_numer]=poprzedni_tab_poziomowo[i];
end;
end;
if((czy_jest_teraz_spis_tresci)and(juz_nie_rozwazaj_rozdzialu_spisu_tresci))then
if(poziom_znakowy_rozdzialu>0)then
poziom_spisu_tresci_naglowka=poziom_rozdzialu;
else
poziom_pierwszego_ujemnego_spisu_tresci=poziom_rozdzialu;
end;
end;
if(poziom_rozdzialu>0)then
if((((czy_poziom_dodatni_spisu_tresci)and(poziom_znakowy_rozdzialu>0))or((czy_poziom_ujemny_spisu_tresci)and(poziom_znakowy_rozdzialu<0)))
and(poziom_spisu_tresci)and(poziom_spisu_tresci>=poziom_rozdzialu)
)then
if(poziom_znakowy_rozdzialu>0)then
tab_numer=tab_numer_1;
tab_poziomowo={};
poziom_spisu_tresci=nil;
HNumerPoziomow=HNumerPoziomow_1;
HNumerPoziomowNaglowkow=HNumerPoziomowNaglowkow_1;
czy_poziom_dodatni_spisu_tresci=false;
elseif(poziom_znakowy_rozdzialu<0)then
tab_numer=tab_numer_2;
tab_poziomowo={};
poziom_spisu_tresci=nil;
HNumerPoziomow=HNumerPoziomow_2;
--HNumerPoziomowNaglowkow=HNumerPoziomowNaglowkow_2;
czy_poziom_ujemny_spisu_tresci=false;
pierwszy_ujemny_spis_tresci=nil;
end;
end;
local hnumer=numer_rozdzialu;
if(poprzedni_tab_poziomowo)then
local lens=math.min(#poprzedni_tab_poziomowo,hnumer-#tab_numer);
local len_tab_numer=#tab_numer;
for i=1,lens,1 do
tab_numer[len_tab_numer+i]=poprzedni_tab_poziomowo[i];
end;
for i=lens+1,#tab_numer do
tab_numer[len_tab_numer+i]=nil;
end;
end;
if(#tab_numer<hnumer)then
for i=#tab_numer+1,hnumer,1 do
table.insert(tab_numer,1);
end;
elseif(#tab_numer>hnumer)then
for i=#tab_numer, hnumer+1,-1 do
table.remove(tab_numer,i);
end;
tab_numer[#tab_numer]=(tab_numer[#tab_numer] or 0) + 1;
else
tab_numer[#tab_numer]=(tab_numer[#tab_numer] or 0) + 1;
end;
else
--[[if(poziom_rozdzialu==0)then
if(tab_lista_artykulow_w_ksiazce[m+1])then
if(tab_lista_artykulow_w_ksiazce[m+1][1][2]>0)then
tab_numer={0,};
elseif(tab_lista_artykulow_w_ksiazce[m+1][1][2]<0)then
tab_numer={};
end;
else
tab_numer={};
end;
end;]]
end;
--end;
if((czy_jest_teraz_spis_tresci)and(((not pierwszy_dodatni_spis_tresci)and(poziom_znakowy_rozdzialu>0))or((not pierwszy_ujemny_spis_tresci)and(poziom_znakowy_rozdzialu<0))))then
function Poziom_dodatni()
for s,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
if(s>m)then
if((tab_lista[1][2][1] or 0)>0)then
if(math.abs(tab_lista[1][2][1] or 0)>poziom_rozdzialu)then
return true;
else
return false;
end;
end;
end;
end;
return false;
end;
local function czy_inaczej_numeruj_rozdzial_dodatni()
if(tab_lista_artykulow_w_ksiazce[m][2])then
for p,artykul_w_bazie in ipairs(tab_lista_artykulow_w_ksiazce[m][2])do
return true;
end;
end;
end;
local function czy_inaczej_numeruj_rozdzial_ujemny()
if(tab_lista_artykulow_w_ksiazce[m][2])then
for p,artykul_w_bazie in ipairs(tab_lista_artykulow_w_ksiazce[m][2])do
local poziom_artykulu=artykul_w_bazie[2][1];
if(prawdziwy_poziom_rozdzialu~=0)then
if(poziom_artykulu>poziom_rozdzialu)then
return true;
end;
else
return true;
end;
end;
end;
return false;
end;
if((poziom_znakowy_rozdzialu>0)and((czy_inaczej_numeruj_rozdzial_dodatni())or(Poziom_dodatni())))then
tab_poziomowo_1=tab_poziomowo;
tab_poziomowo={};
czy_poziom_dodatni_spisu_tresci=true;
HNumerPoziomow_1=HNumerPoziomow;
HNumerPoziomow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
HNumerPoziomowNaglowkow_1=HNumerPoziomowNaglowkow;
HNumerPoziomowNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
tab_numer_1=tab_numer;
tab_numer={};
pierwszy_dodatni_spis_tresci=true;
elseif((poziom_znakowy_rozdzialu<0)
and((czy_inaczej_numeruj_rozdzial_ujemny())or((tab_lista_artykulow_w_ksiazce[m+1])
and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)<0)
and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>poziom_rozdzialu))))then
tab_poziomowo_2=tab_poziomowo;
tab_poziomowo={};
czy_poziom_ujemny_spisu_tresci=true;
HNumerPoziomow_2=HNumerPoziomow;
HNumerPoziomow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
--HNumerPoziomowNaglowkow_2=HNumerPoziomowNaglowkow;
--HNumerPoziomowNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
tab_numer_2=tab_numer;
tab_numer={};
pierwszy_ujemny_spis_tresci=true;
end;
end;
local function OTakimSamymLubMniejszymPoziomie(m)
if(poziom_rozdzialu==0)then return true;end;
local lens=parametry_modul["LiczbaElementówNumerowanychTablicy"](tab_lista_artykulow_w_ksiazce);
if(m==lens)then return true;end;
if(poziom_znakowy_rozdzialu>0)then
for k=m+1,lens,1 do
if(tab_lista_artykulow_w_ksiazce[k])then
if((tab_lista_artykulow_w_ksiazce[k][1][2][1] or 0)>0)then
if(math.abs(tab_lista_artykulow_w_ksiazce[k][1][2][1] or 0)<=poziom_rozdzialu)then
return true;
end;
end;
end;
end;
elseif(((m==1)or((tab_lista_artykulow_w_ksiazce[m-1])and((tab_lista_artykulow_w_ksiazce[m-1][1][2][1] or 0)>0)))and(poziom_znakowy_rozdzialu<0))then
if(tab_lista[2])then
for p,artykul_w_bazie in ipairs(tab_lista[2])do
local poziom_artykulu=artykul_w_bazie[2][1];
if(poziom_artykulu<=-prawdziwy_poziom_rozdzialu)then
return true;
end;
end;
end;
local poziom_zerowego_naglowka_innego=0;
for k=m+1,lens,1 do
if(tab_lista_artykulow_w_ksiazce[k])then
if((tab_lista_artykulow_w_ksiazce[k][1][2][1] or 0)<=0)then
local ile=tab_lista_artykulow_w_ksiazce[k][1][2][1] or 0;
if(ile==0)then
if((czy_jest_teraz_spis_tresci)and(m==1))then
poziom_zerowego_naglowka_innego=poziom_zerowego_naglowka;
else
poziom_zerowego_naglowka_innego=1;
end;
end;
if(math.abs(tab_lista_artykulow_w_ksiazce[k][1][2][1] or 0)+poziom_zerowego_naglowka_innego<=poziom_rozdzialu)then
return true;
end;
else
break;
end;
end;
end;
else
return true;
end;
end;
-- if(not czy_nie_ten_rozdzial)then
if((tab_lista[2])
and(tab_lista[2][1])
and(tab_lista[2][1][2][1]==0)
and(not tab_lista[2][1][4])
and(tab_lista_artykulow_w_ksiazce[m+1])
and(((poziom_znakowy_rozdzialu>0)
and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>0)
and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>poziom_rozdzialu)
)or(
((poziom_znakowy_rozdzialu<0)
and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)<0)
and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)+poziom_zerowego_naglowka>poziom_rozdzialu)
)
)or(
(poziom_znakowy_rozdzialu==0)and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)~=0)
))
)then
if(m==1)then
tab_numer={0,}
else
table.insert(tab_numer,0);
end;
elseif((m==1)and(not tab_lista_artykulow_w_ksiazce[m+1]))then
tab_numer={};
elseif((poziomowo)and(m==1)and(czy_pierwszy_nilowy)and(poziom_znakowy_rozdzialu==0)and(tab_lista_artykulow_w_ksiazce[m+1])and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)<0))then
tab_numer={};
elseif((poziomowo)and(m==1)and(czy_pierwszy_nilowy)and(poziom_znakowy_rozdzialu==0)and(tab_lista_artykulow_w_ksiazce[m+1])and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>0))then
tab_numer={0,}
elseif((poziomowo)and(m==2)and(czy_pierwszy_nilowy)and(poziom_znakowy_rozdzialu<0)and(tab_lista_artykulow_w_ksiazce[m-1])and((tab_lista_artykulow_w_ksiazce[m-1][1][2][1] or 0)==0))then
if(poprzedni_tab_poziomowo)then
local min=math.min(math.abs(numer_rozdzialu),#poprzedni_tab_poziomowo);
for i=#poprzedni_tab_poziomowo,min+1,-1 do
table.remove(poprzedni_tab_poziomowo,i)
end;
tab_numer=poprzedni_tab_poziomowo;
tab_numer[#tab_numer]=(tab_numer[#tab_numer] or 0)+1;
end;
elseif((not czy_jest_teraz_spis_tresci)and(((not pierwszy_dodatni_naglowek)and(poziom_znakowy_rozdzialu>0))or((not pierwszy_ujemny_naglowek)and(poziom_znakowy_rozdzialu<0))))then
if(poziom_rozdzialu>0)then
if(not OTakimSamymLubMniejszymPoziomie(m))then
if(poziom_znakowy_rozdzialu>0)then
HNumerPoziomowNaglowkow_2=HNumerPoziomowNaglowkow;
HNumerPoziomowNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
tab_numer_3=tab_numer;
tab_numer={0,};
HNumerPoziomow_3=HNumerPoziomow;
HNumerPoziomow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
pierwszy_dodatni_naglowek=true;
poziom_pierwszego_dodatniego_naglowka=poziom_rozdzialu;
glowny_dodatni_rozdzial=true;
else
tab_numer_4=tab_numer;
tab_numer=parametry_modul["KopiujTabelęElementów"](tab_numer);
tab_numer[#tab_numer]=nil;
HNumerPoziomow_4=HNumerPoziomow;
HNumerPoziomow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
if(poziom_naglowka or 0>0)then
HNumerPoziomow(poziom_naglowka,#tab_numer);
end;
pierwszy_ujemny_naglowek=true;
poziom_pierwszego_ujemnego_naglowka=poziom_rozdzialu;
glowny_ujemny_rozdzial=true;
end;
else
if(poziom_znakowy_rozdzialu>0)then pierwszy_dodatni_naglowek=true;else pierwszy_ujemny_naglowek=true;end;
end;
end;
elseif((czy_jest_teraz_spis_tresci)and(not czy_nie_ten_rozdzial))then
if((not spis)and(poziom_rozdzialu>0)
and(tab_lista_artykulow_w_ksiazce[m+1])
and((
(poziom_znakowy_rozdzialu>0)
and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>0)
and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>poziom_rozdzialu)
)or(
(poziom_znakowy_rozdzialu<0)
and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)<0)
and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>poziom_rozdzialu)
))
)then
tab_numer={0,};
spis=true;
end
elseif((tab_lista_artykulow_w_ksiazce[m+1])
and((
(poziom_znakowy_rozdzialu>0)
and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>0)
and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>poziom_rozdzialu)
)--[[or(
(poziom_znakowy_rozdzialu<0)
and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)<0)
and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>poziom_rozdzialu)
)]])
)then
table.insert(tab_numer,0);
end;
-- end;
end;
if(tab_lista[2])then
local HNumerArtykulu=stronicowyparser_potrzebne_modul.LiczonyHNumer();
local HNumerPoziomu=stronicowyparser_potrzebne_modul.LiczonyHNumer();
local czy_tytul_rozdzial=nil;local poprzedni_b=nil;local ile_odjac=0;
local HNumerB=nil;
local poprzedni_poziom_artykulu=nil;
local czy_ma_elementy=nil;
local poziom_poprzedni_artykulu=nil;
for p,artykul_w_bazie in ipairs(tab_lista[2])do
local artykul=artykul_w_bazie[1][1] or artykul_w_bazie[1];
artykul=(not naglowek)and mw.ustring.gsub(artykul,"^([^#]*)#(.*)$","%1") or artykul;
if(naglowek or not tab_artykul[artykul])then
pierwszy_rowny_rozdzial=nil;
czy_ma_elementy=true;
if(not naglowek)then
tab_artykul[artykul]=true;
end;
local tab_artykul_w_bazie;
if(poziomowo)then
local poziom_artykulu=artykul_w_bazie[2][1];
local poziom_poczatku_artykulu=artykul_w_bazie[2][2];
local w_rozdziale=artykul_w_bazie[2][4];
if(w_rozdziale)then
function CzyRozdzialMaArtykulyNieWewnetrzne()
for s,artykul_w_bazie in ipairs(tab_lista[2])do
if(s>p)then
if((tab_lista[2][s])and(not tab_lista[2][s][2][4]))then
return true;
end;
end;
end;
return false;
end;
function CzyRozdzialMaRozdzialyNieWewnetrzne()
for s,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
if(s>m)then
local poziom_rozdzialu=tab_lista[1][2][1] or 0;
if(poziom_rozdzialu<0)then
return true;
end;
end;
end;
return false;
end;
if((not artykuly_w_rozdziale)and((CzyRozdzialMaArtykulyNieWewnetrzne())or(CzyRozdzialMaRozdzialyNieWewnetrzne())))then
tab_numer[#tab_numer+1]=0;
artykuly_w_rozdziale=true;
else
if(not tab_lista[2][p+1])then
local wartosc=__FUNKCJA(poziomowo,i,ktory,pierwszy_parametr_szablonu,rozdzial,artykul,tab_numer,{});
if(wartosc)then return wartosc;end;
end;
end;
elseif(artykuly_w_rozdziale)then
artykuly_w_rozdziale=nil;
table.remove(tab_numer,#tab_numer);
tab_poziomowo={};
end;
ostatni_poczatek_artykulu=poziom_poczatku_artykulu;
local function ToNumberPoziomArtykulu(poziom_artykulu)
local numer=tonumber(poziom_artykulu) or 1;
if(numer<1)then numer=1;end;
return numer;
end;
poziom_artykulu=ToNumberPoziomArtykulu(poziom_artykulu);
local poziom_czysty_artykulu=poziom_artykulu;
poziom_artykulu=poziom_artykulu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka;
if((poziom_poczatku_artykulu)and(poziom_poczatku_rozdzialu)
and(#poziom_poczatku_artykulu==#poziom_poczatku_rozdzialu)
and(poziom_poczatku_artykulu~=poziom_poczatku_rozdzialu)
and(mw.ustring.match(poziom_poczatku_rozdzialu,"^*"))
and((mw.ustring.match(poziom_poczatku_artykulu,"^:"))
or (mw.ustring.match(poziom_poczatku_artykulu,"^#"))
)
)then
poziom_artykulu=poziom_artykulu+1;
poziom_czysty_artykulu=poziom_czysty_artykulu+1;
end;
local numer_poziomu=HNumerPoziomow(poziom_artykulu);
if(p>1)then
local numer_poprzedni=tonumber(tab_lista[2][p-1][2][1]) or 1;
local id_poprzednie=tab_lista[2][p-1][4];
local numer=tonumber(tab_lista[2][p][2][1]) or 1;
local id=tab_lista[2][p][4];
if((numer_poprzedni==0)and(not id_poprzednie)and(not id)and(numer>0))then
if(#tab_numer>(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka)then
tab_numer[#tab_numer]=(tab_numer[#tab_numer] or 0)+1;
tab_poziomowo={};
end;
end;
end;
local prefix_poziom_artykulu=poziom_artykulu;
local b=0;
local tab_artykul_w_bazie=mw.text.split(artykul,"/");
if(tab_poprzedni_artykul_w_bazie)then
if(poprzedni_poziom_artykulu)then
if(poprzedni_poziom_artykulu==poziom_artykulu)then
for c=1,#tab_artykul_w_bazie,1 do
local podstrona_artykul=tab_artykul_w_bazie[c];
local podstrona_nazwy_artykulu=tab_poprzedni_artykul_w_bazie[c];
if(podstrona_artykul==podstrona_nazwy_artykulu)then
b=b+1;
end;
end;
else
b=0;
end;
end;
if(poziom_znakowy_rozdzialu<0)then
if(#tab_numer~=0)then
if(poziom_artykulu<=(poziom_pierwszego_ujemnego_naglowka or 0))then
tab_poziomowo=tab_numer_4;
tab_numer={};
HNumerArtykulu=HNumerPoziomow_4;
elseif((poziom_poprzedni_artykulu)and(poziom_artykulu>(poziom_pierwszego_ujemnego_naglowka or 0))and(poziom_poprzedni_artykulu>(poziom_pierwszego_ujemnego_spisu_tresci or 0))and(poziom_artykulu<=(poziom_pierwszego_ujemnego_spisu_tresci or 0)))then
HNumerArtykulu=stronicowyparser_potrzebne_modul.LiczonyHNumer();
for i=#tab_poziomowo,numer_poziomu+1,-1 do
table.remove(tab_numer,i);
end;
tab_numer[#tab_numer]=(tab_numer[#tab_numer] or 0 ) + 1;
tab_poziomowo=tab_numer;
tab_numer={};
elseif((poziom_naglowka>=poziom_artykulu)or((poziom_rozdzialu==poziom_czysty_artykulu)
and((numer_poziomu<numer_rozdzialu)
or((numer_poziomu==numer_rozdzialu)
and(poziom_poczatku_rozdzialu==poziom_poczatku_artykulu)
))
))then
local tab_numer2={};
for i=1,(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka,1 do
tab_numer2[i]=tab_numer[i];
end;
local tab_poziomowo2={};
for i=(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka+1,#tab_numer,1 do
tab_poziomowo2[i-(HNumerPoziomowNaglowkow(0) or 0)-poziom_zerowego_naglowka]=tab_numer[i];
end;
local indeks=(((HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka+1>#tab_numer) and 0 or (#tab_numer-(HNumerPoziomowNaglowkow(0) or 0)-poziom_zerowego_naglowka));
for i=1,numer_poziomu,1 do
tab_poziomowo2[i+indeks]=tab_poziomowo[i];
end;
tab_numer=tab_numer2;
tab_poziomowo=tab_poziomowo2;
--[[tab_poziomowo=tab_numer;
tab_numer={};]]
HNumerArtykulu=stronicowyparser_potrzebne_modul.LiczonyHNumer();
--local numer_poziomu=HNumerPoziomow(poziom_artykulu+(ostatni_rozdzial_dodatni or 0),#tab_poziomowo+1);
end;
end;
end;
elseif(#tab_numer>numer_poziomu)then
tab_poziomowo={};
tab_poziomowo[1]=tab_numer[numer_poziomu];
for i=#tab_numer,numer_poziomu,-1 do
table.remove(tab_numer,i);
end;
elseif((#tab_numer<=numer_rozdzialu)and(numer_rozdzialu>=numer_poziomu))then
local numer_rozdzialu_dodatniego=(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka;
if((numer_rozdzialu_dodatniego>0)or((numer_rozdzialu==numer_poziomu)and(poziom_poczatku_rozdzialu==poziom_poczatku_artykulu)))then
if(#tab_numer>=numer_rozdzialu_dodatniego)then
local tab_numer2={};
for i=1,numer_rozdzialu_dodatniego,1 do
tab_numer2[i]=tab_numer[i];
end;
tab_poziomowo={};
for i=numer_rozdzialu_dodatniego+1,#tab_numer,1 do
tab_poziomowo[i-numer_rozdzialu_dodatniego]=tab_numer[i];
end;
tab_numer=tab_numer2;
end;
end;
end;
poprzedni_poziom_artykulu=poziom_artykulu;
local czy_z_rozdzialem=(tab_artykul_w_bazie[1]==rozdzial);
if((p==1)and(czy_z_rozdzialem))then b=1;end;
czy_tytul_rozdzial=((p==1)and true or czy_tytul_rozdzial) and (czy_z_rozdzialem);
local dodatek=b-((czy_tytul_rozdzial)and 0 or 1);
dodatek=((dodatek>0)and dodatek or 0);
if((poziomowo)and(poziom_znakowy_rozdzialu<0))then
if(poziom_naglowka>=poziom_artykulu)then
local numer_poziomu=HNumerPoziomu(poziom_naglowka,numer_rozdzialu-(HNumerPoziomowNaglowkow(0) or 0));
end;
end;
local stala=poziom_artykulu;
local numer_poziomu=HNumerPoziomu(stala);
poziom_artykulu=stala+dodatek;
local numer=HNumerArtykulu(poziom_artykulu);
local roznica=numer_poziomu-numer;
if(roznica>0)then
numer=HNumerArtykulu(poziom_artykulu,numer_poziomu);
end;
if(#tab_poziomowo<numer)then
for i=#tab_poziomowo+1,numer,1 do
table.insert(tab_poziomowo,1);
end;
else
if(#tab_poziomowo>numer)then
for i=#tab_poziomowo,numer+1,-1 do
table.remove(tab_poziomowo,i);
end;
end;
tab_poziomowo[#tab_poziomowo]=(tab_poziomowo[#tab_poziomowo] or 0)+1;
end;
tab_poprzedni_artykul_w_bazie=tab_artykul_w_bazie;
poziom_poprzedni_artykulu=poziom_artykulu;
end;
local wartosc=__FUNKCJA(poziomowo,i,ktory,pierwszy_parametr_szablonu,rozdzial,artykul,tab_numer,tab_poziomowo);
if(poziomowo)then
if(tab_lista[2][p+1])then
local numer_nastepny=tonumber(tab_lista[2][p+1][2][1]) or 1;
local id_nastepny=tab_lista[2][p+1][4];
local numer=tonumber(tab_lista[2][p][2][1]) or 1;
local id=tab_lista[2][p][4];
if((numer_nastepny==0)and(not id_nastepny)and(not id)and(numer>0))then
tab_poziomowo={tab_numer[(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka+1],};
for i=#tab_numer,(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka+1,-1 do
table.remove(tab_numer,i);
end;
end;
end;
poprzedni_tab_poziomowo=tab_poziomowo;
end;
if(wartosc)then return wartosc;end;
if(not poziomowo)then
i=i+1;
end;
end;
end;
if(not czy_ma_elementy)then
poprzedni_tab_poziomowo=nil;
if(zbieraj_dane)then local wartosc=__FUNKCJA(poziomowo,i,ktory,pierwszy_parametr_szablonu,rozdzial,"",tab_numer,{}); end;
end;
else
poprzedni_tab_poziomowo=nil;
if(zbieraj_dane)then local wartosc=__FUNKCJA(poziomowo,i,ktory,pierwszy_parametr_szablonu,rozdzial,"",tab_numer,{}); end;
end;
end;
return;
end;
p["PobierzNazwęArtykułu"]=function(frame,tabela_listy_danych_analizy_ksiazki)
local s=1;
local function __FUNKCJA(poziomowo,i,ktory,numer,rozdzial,artykul,tab_numer,tab_poziomowo)
if((not poziomowo)and(i==numer))then
if(s==ktory)then
return artykul;
else
s=s+1;
end;
elseif(poziomowo)then
if((table.concat(tab_numer,".")
..((#tab_numer>0) and "." or "")
..table.concat(tab_poziomowo,"."))==numer)then
if(s==ktory)then
return artykul;
else
s=s+1;
end;
end;
end;
end;
return PobierzNumerLubNazweArtykulu(frame,tabela_listy_danych_analizy_ksiazki,__FUNKCJA,true);
end;
p["PobierzNumerArtykułu"]=function(frame,tabela_listy_danych_analizy_ksiazki)
local s=1;
local function __FUNKCJA(poziomowo,i,ktory,nazwa_artykulu,rozdzial,artykul,tab_numer,tab_poziomowo)
if(nazwa_artykulu==artykul)then
if(s==ktory)then
if(poziomowo)then
return (table.concat(tab_numer,".")..((#tab_numer>0) and ((#tab_poziomowo>0) and "." or "") or "")..table.concat(tab_poziomowo,"."));
else
return i;
end;
end;
s=s+1;
end;
end;
return PobierzNumerLubNazweArtykulu(frame,tabela_listy_danych_analizy_ksiazki,__FUNKCJA,false);
end;
p["PobierzDaneKsiążki"]=function(frame,tabela_listy_danych_analizy_ksiazki,kodowanie_nie_json)
local tab_dane_ksiazki=nil;
local s=1;
local function __FUNKCJA(poziomowo,i,ktory,nazwa_artykulu,rozdzial,artykul,tab_numer,tab_poziomowo)
if(not tab_dane_ksiazki)then tab_dane_ksiazki={};end;
if(not tab_dane_ksiazki[rozdzial])then tab_dane_ksiazki[rozdzial]={};end;
local numer_rozdzialu=tab_numer and table.concat(tab_numer,".") or "";
repeat
numer_rozdzialu=mw.ustring.gsub(numer_rozdzialu,"%.0$","")
until not mw.ustring.match(numer_rozdzialu,"%.0$");
if(not tab_dane_ksiazki[rozdzial][numer_rozdzialu])then
tab_dane_ksiazki[rozdzial][numer_rozdzialu]={};
end;
if(not tab_dane_ksiazki[rozdzial][numer_rozdzialu][artykul])then
tab_dane_ksiazki[rozdzial][numer_rozdzialu][artykul]={};
end;
local numer_artykulu=tab_poziomowo and table.concat(tab_poziomowo,".") or "";
if(not tab_dane_ksiazki[rozdzial][numer_rozdzialu][artykul][numer_artykulu])then
tab_dane_ksiazki[rozdzial][numer_rozdzialu][artykul][numer_artykulu]={};
end;
table.insert(tab_dane_ksiazki[rozdzial][numer_rozdzialu][artykul][numer_artykulu],s);
s=s+1;
return false;
end;
PobierzNumerLubNazweArtykulu(frame,tabela_listy_danych_analizy_ksiazki,__FUNKCJA,false,true);
return (not kodowanie_nie_json) and mw.text.jsonEncode(tab_dane_ksiazki,mw.text.JSON_PRESERVE_KEYS) or tab_dane_ksiazki;
end;
p["SubNazwaNadArtykułu"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local numer=tonumber(args[1]) or 0;
local krok=tonumber(args[2])or 1;
local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame);
return stronicowyparser_potrzebne_modul.SubNazwaNadStrony(nazwa_artykulu,numer,krok);
end;
p["NazwaNadArtykułu"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local numer=tonumber(args[1]) or 1;
local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame);
return stronicowyparser_potrzebne_modul.SubNazwaNadStrony(nazwa_artykulu,1,numer);
end;
p["NazwaLinkuArtykułu"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame);
local ostatni_artykul;
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
if(tab_lista[2])then
for _,artykul_w_bazie in ipairs(tab_lista[2])do
if(type(artykul_w_bazie[1])~="table")then
if(artykul_w_bazie[1]==nazwa_artykulu)then
return artykul_w_bazie[1];
end;
elseif(artykul_w_bazie[1][1]==nazwa_artykulu)then
return artykul_w_bazie[1][2];
end;
end;
end;
end;
return "(błąd)";
end;
p["LiczbaArtykułówKsiążki"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local parametry_modul=require("Module:Parametry");
local args=stronicowyparser_potrzebne_modul:Args();
local naglowek=parametry_modul.CzyTak(args["nagłówek"]);
local tab_artykul=(not naglowek) and {} or nil;
local i=0;
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
if(tab_lista[2])then
for _,artykul_w_bazie in ipairs(tab_lista[2])do
local nazwa_artykulu=artykul_w_bazie[1][1] or artykul_w_bazie[1];
local artykul=(not naglowek) and mw.ustring.gsub(nazwa_artykulu,"^([^#]*)#(.*)$","%1") or nazwa_artykulu;
if(naglowek or not tab_artykul[artykul])then
if(not naglowek)then
tab_artykul[artykul]=true;
end;
i=i+1;
end;
end;
end;
end;
return i;
end;
p["LiniaArtykułuKsiążki"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame);
local parametry_modul=require("Module:Parametry");
local args=stronicowyparser_potrzebne_modul:Args();
local czy_analiza=parametry_modul.CzyTak(args["analiza"]);
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
if(tab_lista[2])then
for _,artykul_w_bazie in ipairs(tab_lista[2])do
local artykul_ksiazki=artykul_w_bazie[1][1] or artykul_w_bazie[1];
if(artykul_ksiazki==nazwa_artykulu)then
if(not czy_analiza)then
return artykul_w_bazie[3];
else
local function AnalizaLiniiArtykolow()
local czy_spis_tresci=mw.ustring.match(artykul_w_bazie[3],"({{%s*[Ss]pisTreści%s*|[^{}]*}})");
if(czy_spis_tresci)then
local techniczne_modul=require("Module:Techniczne");
local parametry_szablony=techniczne_modul["ParsujWywołanieSzablonu"](czy_spis_tresci);
local nazwa_artykulu=parametry_szablony[1];
------
local nazwa_ksiazki=stronicowyparser_potrzebne_modul:PelnaNazwaKsiazki(frame);
local pelna_nazwa_strony=(nazwa_artykulu=="")and nazwa_ksiazki or nazwa_ksiazki.."/"..nazwa_artykulu;
local link= "[["..pelna_nazwa_strony.."|"..nazwa_artykulu.."]]";
local linia2,_=mw.ustring.gsub(artykul_w_bazie[3],"({{%s*[Ss]pisTreści%s*|[^{}]*}})",link);
return linia2;
else
local czy_spis_tresci=mw.ustring.match(artykul_w_bazie[3],"({{%s*[Ss]ekcja[%s_]+referencyjna%s*|[^{}]*}})");
if(czy_spis_tresci)then
local linia2,_=mw.ustring.gsub(artykul_w_bazie[3],"({{%s*[Ss]ekcja[%s_]+referencyjna%s*|)","%1astandardowo=tak|");
return linia2;
else
local nazwa_ksiazki=stronicowyparser_potrzebne_modul:PelnaNazwaKsiazki(frame);
local function adresuj_linki(a,b)
return "[["..nazwa_ksiazki.."/"..a..(b or "").."]]";
end;
local artykul=mw.ustring.gsub(artykul_w_bazie[3],"%[%[%s*/([^%[%]|]-)/*%s*(|.*)%]%]",adresuj_linki);
artykul=mw.ustring.gsub(artykul,"%[%[%s*/([^%[%]|]-)/*%s*%]%]",adresuj_linki);
return artykul;
end;
end;
end;
return AnalizaLiniiArtykolow();
end
end;
end;
end;
end;
local uzupelniaj_sekcje_artykulow=parametry_modul.CzyTak(args["uzupełniaj sekcje artykułów"]);
if(uzupelniaj_sekcje_artykulow)then
if(mw.ustring.match(nazwa_artykulu,"^[^#]*#(.+)$"))then
local naglowek=mw.ustring.match(nazwa_artykulu,"^[^#]*#(.+)$");
if(parametry_modul["CzyTakCiąg"](naglowek))then
local pelna_nazwa_ksiazki=stronicowyparser_potrzebne_modul:PelnaNazwaKsiazki(frame)
return "[["..pelna_nazwa_ksiazki..((nazwa_artykulu~="")and("/"..nazwa_artykulu) or "").."|"..naglowek.."]]";
end;
end;
end;
end;
p["AktualnaKsiążka"]=function(frame,__error)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
return stronicowyparser_potrzebne_modul:PelnaNazwaKsiazki(frame) or ((not __error)and "(błąd)" or nil);
end;
p["NazwaAktualnyArtykuł"]=function(frame,__error)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
return stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame) or ((not __error)and "(błąd)" or nil);
end;
p["ListaNagłówkówKsiążki"] = function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local stronicowyparser_obiekty=mw.loadData("Module:StronicowyParser/obiekty");
local tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek;
local tab_rozdzialow_glownych_spisow_tresci_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_glownych_spisow_tresci_ksiazek;
local czy_sa_rozdzialy=nil;
local pelna_nazwa_ksiazki=stronicowyparser_potrzebne_modul:PelnaNazwaKsiazki(frame);
local args=stronicowyparser_potrzebne_modul:Args();
local wikikod="";
local linki_modul=require("Module:Linki");
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
local rozdzial=tab_lista[1][1];
local numer_rozdzialu=tab_lista[1][2][1];
if(numer_rozdzialu>0)then
if(not tab_rozdzialow_glownych_spisow_tresci_ksiazek[rozdzial])then
wikikod=((wikikod~="")and (wikikod.." — ") or "")
..linki_modul["Link wewnętrzny"]{
["strona"]=pelna_nazwa_ksiazki,
["nagłówek"]=rozdzial,
["nazwa"]=rozdzial,
["bez znaczników"]=args["bez znaczników"],
["bez przetwarzania"]=args["bez przetwarzania"],
};
end;
czy_sa_rozdzialy=true;
end;
end;
if(not czy_sa_rozdzialy)then return "(błąd: brak rozdziałów)";end;
return wikikod;
end;
p["ArtykułSubst"] = function(frame)
local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_ksiazkowych;
local nazwa_przestrzeni;local nazwa_ksiazki;local nazwa_artykulu;
if(not tabela_listy_danych_analizy_ksiazki.zastepczy)then
nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki;
nazwa_artykulu=tabela_listy_danych_analizy_ksiazki.nazwa_artykulu;
else
nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.normalna_nazwa_przestrzeni;
nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.normalna_nazwa_ksiazki;
nazwa_artykulu=tabela_listy_danych_analizy_ksiazki.normalna_nazwa_artykulu;
end;
local parametry_modul=require("Module:Parametry");
local PobierzParametr=parametry_modul.PobierzParametr(frame);
local pobierz_nazwa_artykulu=PobierzParametr("pobierz pełną nazwę artykułu");
local pobierz_adres_ksiazki=PobierzParametr("pobierz pełną nazwę książki");
local czy_pobierz_pelna_nazwa_artykulu=parametry_modul.CzyTak(pobierz_nazwa_artykulu);
local czy_pobierz_pelna_nazwa_ksiazki=parametry_modul.CzyTak(pobierz_adres_ksiazki);
if(czy_pobierz_pelna_nazwa_artykulu and not czy_pobierz_pelna_nazwa_ksiazki)then
return ((nazwa_przestrzeni~="")and(nazwa_przestrzeni..":") or "")..nazwa_ksiazki..((nazwa_artykulu~="") and "/" or "")..nazwa_artykulu;
elseif(not czy_pobierz_pelna_nazwa_artykulu and czy_pobierz_pelna_nazwa_ksiazki)then
return ((nazwa_przestrzeni~="")and(nazwa_przestrzeni..":") or "")..nazwa_ksiazki;
elseif(czy_pobierz_pelna_nazwa_artykulu and czy_pobierz_pelna_nazwa_ksiazki)then
return "(błąd)";
end;
local nazwa_strony=((nazwa_przestrzeni~="")and(nazwa_przestrzeni..":") or "")..nazwa_ksiazki..((nazwa_artykulu~="") and "/" or "")..nazwa_artykulu;
local nazwy_modul=require("Module:Nazwy");
if(nazwa_strony==nazwy_modul["PEŁNANAZWASTRONY"]())then
local blad_modul=require("Module:Błąd");
local frame2=frame:getParent():newChild{args={[1]="Próbowano załadować jeszcze raz aktualną stronę."},}
return blad_modul.error(frame2);
end;
local techniczne_modul=require("Module:Techniczne");
local szablon=techniczne_modul.NazwaSzablonu(nazwa_strony);
return frame:expandTemplate{title=szablon,args={},};
end;
p["KsiążkaSubst"] = function(frame)
local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_ksiazkowych;
local str=tabela_listy_danych_analizy_ksiazki["KsiążkaSubst"];
return str;
end;
p["StronaSubst"] = function(frame)
local parametry_modul=require("Module:Parametry");
local args=parametry_modul.PobierzArgsParametry(frame,true);
local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_ksiazkowych;
local tab_stronasubst=tabela_listy_danych_analizy_ksiazki["StronaSubst"];
if(not tab_stronasubst)then return;end;
local pierwszy,_=mw.ustring.gsub(args[1],"[%s_]+"," ");
local tab_strona=tab_stronasubst[pierwszy];
if(not tab_strona)then return;end;
local link=args["link"];
local czy_link=parametry_modul.CzyTak(link);
local stronasubst=tab_strona[(czy_link and "tak" or "")];
return stronasubst;
end;
p["CzyStronęNumerować"] = function(frame)
local strona=frame.args[1];
local nazwy_modul=require("Module:Nazwy");
strona=nazwy_modul["PEŁNANAZWASTRONY"](strona);
local pudelko_modul=require("Module:Pudełko");
if(strona==pudelko_modul["Strona główna tego projektu"](frame))then
return;
end;
if(strona==pudelko_modul["Strona główna dla dzieci tego projektu"](frame))then
return;
end;
if(mw.ustring.match(strona,"^Szablon:SG/"))then
return;
end;
local zbiory={
["Szablon:Nowe podręczniki miesiąca/Zwycięzca"]=true,
["Wikibooks:Polecane książki"]=true,
["Szablon:Wyróżnienia książek miesiąca/Wyróżniony"]=true,
}
if(zbiory[strona])then
return;
end;
if(mw.ustring.match(strona,"^Szablon:Polecane książki/")
or(mw.ustring.match(strona,"^Szablon:Nowe podręczniki miesiąca/"))
or(mw.ustring.match(strona,"^Szablon:Wyróżnienia książek miesiąca/"))
)then
return;
end;
return "tak";
end;
function p.HNumer(frame)
local p=frame.args["wyspecjalizowana"] and frame or frame:getParent();
if((not p) or (not p.args[1]))then
local blad_module=require("Module:Błąd");
local frame2=p:newChild{args={[1]="Podano złe parametry w szablonie: [[Szablon:HLiczba]].",["tag"]="span",},}
blad_module.error(frame2);
return;
end;
local stronicowyparser_rozdzialy_modul=require("Module:StronicowyParser/Rozdziały");
local naglowek,licznik=stronicowyparser_rozdzialy_modul.PodajRozdzial(p.args[1]);
local id2,_=mw.ustring.gsub(naglowek,"^[%s_]","");
id2,_=mw.ustring.gsub(id2,"[%s_]$","");
id2,_=mw.ustring.gsub(id2,"[%s_]","_");
local id3,_=mw.ustring.gsub(mw.uri.encode(mw.text.encode(id2),"WIKI"),"(%%)",".");
if(licznik>6)then
local id=p.args["id"];
local styl=p.args["styl"];
local klasa=p.args["klasa"];
local atrybuty=p.args["atrybuty"];
local parametry_modul=require("Module:Parametry");
return "<h6"..(parametry_modul.CzyTak(id)and " id=\""..id.."\"" or "")
..(parametry_modul.CzyTak(styl)and " style=\""..styl.."\"" or "")
.." class=\"mw-hnumber mw-hnumber-"..licznik..((parametry_modul.CzyTak(klasa)) and (" "..klasa) or "").."\""
..(parametry_modul.CzyTak(atrybuty)and " "..atrybuty or "")
..">"..((id2~=id3) and ("<span id=\""..id3.."\"></span>") or "").."<span id=\""..id2.."\" class=\"mw-headline\">"..naglowek.."</span></h6>";
elseif(licznik<1)then
local blad_module=require("Module:Błąd");
local frame2=pf:newChild{args={[1]="Nie podano nagłówka w szablonie: [[Szablon:HLiczba]].",["tag"]="span",},}
blad_module.error(frame2);
else
local id=p.args["id"];
local styl=p.args["styl"];
local klasa=p.args["klasa"];
local atrybuty=p.args["atrybuty"];
local parametry_modul=require("Module:Parametry");
return "<h"..licznik..(parametry_modul.CzyTak(id)and " id=\""..id.."\"" or "")
..(parametry_modul.CzyTak(styl)and " style=\""..styl.."\"" or "")
.." class=\""..((parametry_modul.CzyTak(klasa)) and klasa or "").."\""
..(parametry_modul.CzyTak(atrybuty)and " "..atrybuty or "")..">"..((id2~=id3) and ("<span id=\""..id3.."\"></span>") or "").."<span id=\""..id2.."\" class=\"mw-headline\">"..naglowek.."</span></h"..licznik..">";
end;
end;
function p.TOC(frame,czy_rozciagnij,gdy_pusty_spis_tresci)
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych;
local nazwy_modul=require("Module:Nazwy");
local parametry_modul=require("Module:Parametry");
local ksiazkowe_modul=require("Module:Książkowe");
local args=(frame)and (parametry_modul.CzyTak(frame.args["wyspecjalizowana"])and frame.args or frame:getParent().args) or {};
local nazwa_przestrzeni=args[2] and nazwy_modul["NAZWAPRZESTRZENI"](args[2]) or tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
local nazwa_ksiazki=args[2] and ksiazkowe_modul["NazwaKsiążki"](args[2]) or tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki;
local nazwa_artykulu=args[1] and args[1] or tabela_listy_danych_analizy_ksiazki.nazwa_artykulu;
local czy_nie_aktualny=(
(nazwa_przestrzeni~=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni)
or(nazwa_ksiazki~=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki)
or (nazwa_artykulu~=tabela_listy_danych_analizy_ksiazki.nazwa_artykulu)
);
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
if ((tabela_listy_danych_analizy_ksiazki.TOC_StronaZbiorcza)or(tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu and tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni] and tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki] and tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki].lista_artykolow[nazwa_artykulu] and tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki].lista_artykolow[nazwa_artykulu].TOC)) then
mw.log(tabela_listy_danych_analizy_ksiazki.TOC_StronaZbiorcza,"Strona ziorcza");
local spis_tresci_artykulu=stronicowyparser_potrzebne_modul.TOC(frame,tabela_listy_danych_analizy_ksiazki.TOC_StronaZbiorcza or tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki].lista_artykolow[nazwa_artykulu].TOC,czy_nie_aktualny,czy_rozciagnij);
return spis_tresci_artykulu;
elseif(not gdy_pusty_spis_tresci)then
local spis_tresci_artykulu=stronicowyparser_potrzebne_modul.TOC(frame,nil,czy_nie_aktualny,czy_rozciagnij);
return spis_tresci_artykulu;
end;
end;
function p.WykazModolow(frame,czy_rozciagnij)
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych;
local nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki;
local nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
local lista_ksiazek_w_przestrzeni_nazw=tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni];
if(not lista_ksiazek_w_przestrzeni_nazw)then return nil;end;
local tab_lista_artykulow_w_ksiazce_w_ksiazce=lista_ksiazek_w_przestrzeni_nazw[nazwa_ksiazki];
if(not tab_lista_artykulow_w_ksiazce_w_ksiazce)then return nil;end;
local spis=tab_lista_artykulow_w_ksiazce_w_ksiazce.spis;
if(not spis)then return nil;end;
local parametry_modul=require("Module:Parametry");
local spis_ksiazkowy=parametry_modul.CzyTak(frame.args["spis książkowy"]);
local spis_rzeczy=parametry_modul.CzyTak(frame.args["spis rzeczy"]);
local tylko_naglowki=parametry_modul.CzyTak(frame.args["nagłówki"]);
local wysokosc=frame.args["wysokość"];
local wykaz_modolow_w_liscie="";
local i=1;
for _,tab_artykul in ipairs(spis)do
if(tab_artykul[2])then
for _,tab_pozycja in ipairs(tab_artykul[2])do
if(type(tab_pozycja[1])~="table")then
sformatowana_nazwa_artykulu,_=mw.ustring.gsub(tab_pozycja[1],"_"," ");
else
sformatowana_nazwa_artykulu,_=mw.ustring.gsub(tab_pozycja[1][1],"_"," ");
end;
local id=tab_pozycja[4]
if(not tylko_naglowki or id)then
if(not spis_ksiazkowy)then
wykaz_modolow_w_liscie=((wykaz_modolow_w_liscie~="") and (wykaz_modolow_w_liscie.."\n") or "")..'<li>[['..((not spis_rzeczy or not id)and (((nazwa_przestrzeni=="")and nazwa_ksiazki or nazwa_przestrzeni..":"..nazwa_ksiazki).."/") or "#")..sformatowana_nazwa_artykulu.."|<span class=\"tocnumber\">"..i.."</span><span class=\"toctext\">"..sformatowana_nazwa_artykulu..'</span>]]</li>';
else
wykaz_modolow_w_liscie=((wykaz_modolow_w_liscie~="") and (wykaz_modolow_w_liscie.."\n") or "")..'{{SpisZw||[['..((not spis_rzeczy or not id)and (((nazwa_przestrzeni=="")and nazwa_ksiazki or nazwa_przestrzeni..":"..nazwa_ksiazki).."/") or "#")..sformatowana_nazwa_artykulu.."|"..sformatowana_nazwa_artykulu.."]]|"..i.."|100%}}";
end;
i=i+1;
end;
end;
end;
end;
if(wykaz_modolow_w_liscie=="")then return nil;end;
if(not spis_ksiazkowy)then
wykaz_modolow_w_liscie="<ul>"..wykaz_modolow_w_liscie.."</ul>";
wykaz_modolow_w_liscie='<div class="toc_ogólnie_spis toc_wykaz" style="width:100%;max-height:400px;overflow:auto;">'..wykaz_modolow_w_liscie.."</div>";
wykaz_modolow_w_liscie='{{Tabela nawigacyjna|styl=width:'..(czy_rozciagnij and "100%" or "auto")..';font-size:14px;line-height:1.2em;background-color:white;|tytuł=<div style="font-size:14px;line-height:1.2em;background-color:white;text-align:left;white-space:nowrap;">Wykaz modułów w książce</div>|spis='..wykaz_modolow_w_liscie..'|funkcja=UkrytaWikitabelowaListaMenu}}';
else
wykaz_modolow_w_liscie="<div class=\"toc_wykaz mw-overflow-y\" style=\""..(wysokosc and ("max-height:"..wysokosc..";overflow:auto;") or "").."border:solid #aaa 1px;padding:10px;width:auto;box-sizing:border-box;background-color:white;\">"..wykaz_modolow_w_liscie.."</div>";
end;
local rozwiniety_wikikod=frame:preprocess(wykaz_modolow_w_liscie);
return rozwiniety_wikikod;
end;
function p.NazwaModolu()
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych;
local nazwy_np_modul=mw.loadData('Moduł:Nazwy/Np');
local nazwa_artykulu=tabela_listy_danych_analizy_ksiazki.nazwa_artykulu;
if(nazwa_artykulu==nil)then
return "[["..nazwy_np_modul.Category..": Nie można wygenerować nazwy strony]]";
else
return nazwa_artykulu;
end;
end;
function p.Wstep_do_licencji(frame)
local element_licencji_1='<strong>Autor:</strong> '..frame.args[1]..'<BR>';
local element_licencji_2;
if((frame.args[2]~='')and(frame.args[2]~=nil))then
element_licencji_2=frame.args[2]..'<BR>';
end;
local element_licencji_3;
if((frame.args[3]~='')and(frame.args[3]~=nil))then
element_licencji_3='<strong>Email:</strong> '..frame.args[3]..'<BR>';
end;
local element_licencji_4;
if((frame.args[4]~='')and(frame.args[4]~=nil))then
element_licencji_4='<strong>Dotyczy:</strong> '..frame.args[4].."<BR>";
else
element_licencji_4='<strong>Dotyczy:</strong> książki, do której należy ta strona, oraz w niej zawartych stron i w nich podstron, a także w nich kolumn, wraz z zawartościami.<BR>';
end;
if((frame.args[5]~='')and(frame.args[5]~=nil))then
element_licencji_5=frame.args[5].."<BR>";
else
element_licencji_5='Użytkownika książki, do której należy ta strona, oraz w niej zawartych stron i w nich podstron, a także w nich kolumn, wraz z zawartościami nie zwalnia z odpowiedzialności prawnoautorskiej nieprzeczytanie warunków licencjonowania.<BR>';
end;
local element_licencji_6;
if((frame.args[6]~='')and(frame.args[6]~=nil))then
element_licencji_6='<strong>Umowa prawna:</strong> '..frame.args[6]..'<BR>';
else
element_licencji_6='<strong>Umowa prawna:</strong> [http://creativecommons.org/licenses/by-sa/3.0/deed.pl Creative Commons: uznanie autorstwa oraz miejsca pochodzenia książki i jej jakikolwiek części, a także treści, teksty, tabele, wykresy, rysunki, wzory i inne elementy oraz ich części zawarte w książce, i tą książkę, nawet w postaci przerobionej nie można umieszczać w jakikolwiek formie na czasopismach naukowych, archiwach prac, itp.]<BR>';
end;
if((frame.args[7]~='')and(frame.args[7]~=nil))then
element_licencji_7=frame.args[7].."<BR>";
else
element_licencji_7='Autor tej książki dołożył wszelką staranność, aby informacje zawarte w książce były poprawne i najwyższej jakości, jednakże nie udzielana jest żadna gwarancja, czy też rękojma. Autor nie jest odpowiedzialny za wykorzystanie informacji zawarte w książce nawet jeśli wywołaby jakąś szkodę, straty w zyskach, zastoju w prowadzeniu firmy, przedsiębiorstwa lub spółki bądź utraty informacji niezależnie, czy autor (a nawet [https://pl.wikibooks.org Wikibooks]) został powiadomiony o możliwości wystąpienie szkód. Informacje zawarte w książce mogą być wykorzystane tylko na własną odpowiedzialność.<BR>';
end;
local licencja=element_licencji_1..((element_licencji_2)and element_licencji_2 or "")..((element_licencji_3)and element_licencji_3 or "")
..element_licencji_4..element_licencji_5..element_licencji_6..element_licencji_7;
return licencja;
end;
function p.Licencja(frame,czy_rozciagnij)
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych;
local menu_z_licencja;
local nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
local nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki;
local licencja=tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki].licencja;
if(licencja)then
if(licencja[1])then
local frame={};
frame.args={licencja[1],licencja[2],licencja[3],licencja[4],licencja[5],licencja[6],licencja[7]};
local ramka_z_licencja='<div style="margin-left:0px;padding:3px;width:100%;height:auto;box-sizing:border-box;">'..p.Wstep_do_licencji(frame)..'</div>';
menu_z_licencja='{{Tabela nawigacyjna|styl=width:'..(czy_rozciagnij and "100%" or "auto")..';font-size:14px;line-height:1.2em;background-color:white;|tytuł=<div style="font-size:14px;line-height:1.2em;background-color:white;text-align:left;white-space:nowrap;">Licencja</div>|spis='..ramka_z_licencja..'|funkcja=StatycznaWikitabelowaListaMenu}}';
else
return nil;
end;
local frame=mw.getCurrentFrame();
local rozwiniety_wikikod=frame:preprocess(menu_z_licencja);
return rozwiniety_wikikod;
else
return nil;
end;
end;
function p.Autor(frame)
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych;
local nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
local nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki;
local licencja=tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki].licencja;
if(tabela_listy_danych_analizy_ksiazki.licencja)then
return licencja[1];
end;
end;
function p.PierwszaStrona(frame)
local prawe_menu="";
local parametry_modul=require("Module:Parametry");
local czy_rozciagnij=parametry_modul.CzyTak(frame.args["rozciągnij"])
if(parametry_modul.CzyTak(frame.args[1]))then
prawe_menu='<div style="margin-top:5px;font-size:1.9em;line-height:25px;text-align:left;">'..p.NazwaModolu()..'</div><hr style=\"margin:5px 0\"/>';
end;
if(parametry_modul.CzyTak(frame.args[2]))then
local licencja=p.Licencja(frame,czy_rozciagnij);
if(licencja~=nil)then
prawe_menu=prawe_menu..licencja;
else
local obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty");
local uchwyt_strony=mw.title.getCurrentTitle();
local nazwy_np_modul=mw.loadData("Module:Nazwy/Np");
local nazwa_przestrzeni_nazw_strony=require("Module:Nazwy")["NAZWAPRZESTRZENI"]();
local element_zdania_kategorii=(nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Main)and "na stronach głównych, książek"
or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikijunior)and "na stronach głównych, książek dla dzieci"
or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.User)and "na stronach głównych, książek użytkowników"
or((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikibooks)and "na stronach głównych, książek brudnopisu projektu"
or "na stronach głównych, publikacji")));
local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_ksiazkowych;
local kategoria_braku_licencji=(not tabela_listy_danych_analizy_ksiazki.korzystane_strona_glowna_nie_istnieje)and"[["..nazwy_np_modul.Category..": Brak licencji, "..element_zdania_kategorii.."]]" or "";
prawe_menu=prawe_menu..kategoria_braku_licencji;
end;
end;
if(parametry_modul.CzyTak(frame.args[3]))then
local wykaz_artykulow=p.WykazModolow(frame,czy_rozciagnij);
if(wykaz_artykulow~=nil)then
prawe_menu=prawe_menu.."<hr style=\"margin:5px 0\"/>"..wykaz_artykulow;
end;
end;
if(parametry_modul.CzyTak(frame.args[4]))then
local spis_tresci=p.TOC(frame,czy_rozciagnij,true);
if(spis_tresci~=nil)then
prawe_menu=prawe_menu.."<hr style=\"margin:5px 0\"/>"..spis_tresci;
end;
end;
local wysokosc=frame.args["wysokość"];
return "<div style=\"padding:10px;border: solid #aaa 1px;background-color:white;box-sizing:border-box;width:700px;\"><div class=\"pierwsza_strona mw-overflow-y\" style=\"max-height:"..(wysokosc or "100%")..";overflow:auto;height:100%;box-sizing:border-box;\"><div style=\"display:flex;flex-direction:column;width:auto;height:auto;box-sizing:border-box;\">"..prawe_menu.."</div></div></div>";
end;
function p.SpisTresci(frame)
local parametry_modul=require("Module:Parametry");
local args=parametry_modul.PobierzArgsParametry(frame);
local nazwa_artykulu=args["artykuł"] or args[1];
local nazwa_ksiazki=args["książka"] or args[2];
if(not parametry_modul.CzyTak(nazwa_ksiazki))then
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych;
local uzyskana_nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
local uzyskana_nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki;
nazwa_ksiazki=((uzyskana_nazwa_przestrzeni~=nil) and (uzyskana_nazwa_przestrzeni..":") or "")..uzyskana_nazwa_ksiazki;
end;
local brak=(nazwa_artykulu and mw.ustring.match(nazwa_artykulu,"[|<>{}%[%]]") or nil) or (nazwa_ksiazki and mw.ustring.match(nazwa_ksiazki,"[|<>{}%[%]]") or nil);
if(brak~=nil)then
local nazwy_np_modul=mw.loadData("Module:Nazwy/Np");
local nazwa_przestrzeni_nazw_strony=require("Module:Nazwy")["NAZWAPRZESTRZENI"]();
local element_zdania_kategorii=(nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Main)and "artykułów,"
or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikijunior)and "artykułów dla dzieci,"
or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.User)and "stron użytkowników,"
or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikibooks)and "stron brudnopisu projektu,"
or "stron,")));
return "[["..nazwy_np_modul.Category..":Nazwy "..element_zdania_kategorii.." w spisach treści, zawierają niedozwolone znaki]]";
end;
local html_modul=require("Module:Html");
local nazwy_modul=require("Module:Nazwy");
local ksiazkowe_modul=require("Module:Książkowe");
local nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](nazwa_ksiazki);
local nazwa_ksiazki=ksiazkowe_modul["NazwaKsiążki"](nazwa_ksiazki);
nazwa_ksiazki=html_modul.TransformacjaKlasyZnakowej(nazwa_ksiazki);
local nazwa_artykulu=html_modul.TransformacjaKlasyZnakowej(nazwa_artykulu);
local nazwa_strony=(nazwa_artykulu=="")and nazwa_ksiazki or nazwa_ksiazki.."/"..nazwa_artykulu;
local pelna_nazwa_strony=(nazwa_przestrzeni=="")and nazwa_strony or nazwa_przestrzeni..":"..nazwa_strony;
local tekst_artykulu=p.SpreparowanyWikikodStrony(pelna_nazwa_strony);
local nazwa=args["nazwa"] or args[3];
local nazwa_strony_artykulu=parametry_modul.CzyTak(nazwa) and nazwa or mw.ustring.gsub(mw.ustring.match(nazwa_artykulu,"[^/]*$"),"_"," ");
local dodatek=args["dodatek"] or args[4];
if(not tekst_artykulu)then
if(nazwa_artykulu~="")then
return "\n"..mw.ustring.rep("=",6).."<span style=\"color:red\">[["..pelna_nazwa_strony.."|"..nazwa_strony_artykulu.."]]</span>"..mw.ustring.rep("=",6).."\n";
else
return frame:getParent():preprocess("{{Błąd|Wywołano szablon z argumentem pierwszym pustym.}}");
end;
else
local twor_spisu_tresci="[["..pelna_nazwa_strony.."|"..nazwa_strony_artykulu.."]]"..(((dodatek)and(dodatek~="")) and (" "..dodatek) or "");
twor_spisu_tresci=mw.ustring.rep("=",6)..twor_spisu_tresci..mw.ustring.rep("=",6).."\n";
local stronicowyparser_dalszefunkcje_modul=require("Module:StronicowyParser/DalszeFunkcje");
local ulozenia_w_menu_spisu_tresci=stronicowyparser_dalszefunkcje_modul:SpisTresciWstep(tekst_artykulu, pelna_nazwa_strony);
local atrybuty="style=\"margin-left:20px\"";
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
local toc=stronicowyparser_potrzebne_modul.TOCSilnik(ulozenia_w_menu_spisu_tresci, atrybuty);
local limit=args["limit"];
local czy_limit=parametry_modul.CzyTak(limit);
return '<div class="toc_ogólnie_spis toc_artykuł toclimit '..(czy_limit and ("toclimit-"..limit) or "")..'">\n'..twor_spisu_tresci..(toc and toc or "")..'</div>';
end;
end;
function IteratorFunkcja()
local obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty");
local tabela_wypowiedzi=obiekty_modul.tablica_obiektow;
local licznik=1;
return function()
local tabela_obiektu=tabela_wypowiedzi[licznik];
if(not tabela_obiektu)then return nil;end;
local wartosc1=mw.ustring.gsub(tabela_obiektu[1],"%d+$","");
local wartosc2=tabela_obiektu[4];
licznik=licznik+1;
return wartosc1,wartosc2;
end;
end;
local iterator=IteratorFunkcja();
for nazwa_obiektu,czesc_nazwy_funkcji in iterator do
p["Numer"..czesc_nazwy_funkcji] = function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
return stronicowyparser_potrzebne_modul.NumerObiektu(frame,nazwa_obiektu);
end;
end;
p["AnalizujSzablonemStronicowymArtykuł"]=function(frame)
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych;
return "";
end;
function p.formatowanie()
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych;
return tabela_listy_danych_analizy_ksiazki.formatowanie;
end;
function p.WstawKategorie(frame)
local stronicowyparser_kategorie_modul=require("Module:StronicowyParser/Kategorie");
return stronicowyparser_kategorie_modul.WstawKategorie(frame);
end;
function p.CzyStronaSubst(frame,pelnanazwastrony,czy_wymusic)
if(czy_wymusic)then
local nazwy_modul=require("Module:Nazwy");
local pelnanazwastronyaktualnej=nazwy_modul["PEŁNANAZWASTRONY"]();
if(pelnanazwastrony~=pelnanazwastronyaktualnej)then
local stronicowyparser_stronasubst_modul=require("Module:StronicowyParser/StronaSubst");
local TakFun=function(frame) return "tak";end;local NieFun=function(frame) return "";end;
return stronicowyparser_stronasubst_modul.AnalizaStronaSubst(nil,pelnanazwastrony,TakFun,NieFun,nil);
end;
end;
local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_ksiazkowych;
if(tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then
return "tak";
end;
return "";
end;
return p;
sabn5m68asi6sww42soyxsy7mkdi4e3
437954
437952
2022-08-17T08:30:22Z
Persino
2851
Scribunto
text/plain
local p = {}
function p.SpreparowanyWikikodStrony(nazwa_modolu,dokumentacja)
local stronicowyparser_dalszefunkcje=require("Module:StronicowyParser/DalszeFunkcje")
return stronicowyparser_dalszefunkcje.SpreparowanyWikikodStrony(nil,nazwa_modolu,dokumentacja);
end;
function p.PrzekierowanieDoStrony(frame)
local parametry_modul=require("Module:Parametry");
local PobierzParametr=parametry_modul.PobierzParametr(frame);
local nazwa_modulu=PobierzParametr(1);
local latki_modul=require("Module:Łatki");
return latki_modul.contentMatch{args={
[1]="^%s*#REDIRECT%s+%[%[(.+)%]%]%s*",
[2]="^%s*#PATRZ%s+%[%[(.+)%]%]%s*",
[3]="^%s*#TAM%s+%[%[(.+)%]%]%s*",
namespace="",
pagename=nazwa_modulu,
},
};
end;
p["TekstRozdziałuStrony"]=function(frame)
local stronicowyparser_rozdzialy=require("Module:StronicowyParser/Rozdziały");
return stronicowyparser_rozdzialy.TekstRozdzialuStrony(frame);
end;
p["KtóraSekcjaStrony"]=function(frame)
local stronicowyparser_rozdzialy=require("Module:StronicowyParser/Rozdziały");
return stronicowyparser_rozdzialy.KtoraSekcjaStrony(frame);
end;
p["ZwróćSekcjęNagłówkaStrony"]=function(frame)
local stronicowyparser_rozdzialy=require("Module:StronicowyParser/Rozdziały");
return stronicowyparser_rozdzialy.ZwrocSekcjeNaglowkaStrony(frame);
end;
p["NastępnyArtykuł"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local parametry_modul=require("Module:Parametry");
local nazwa=parametry_modul.CzyTak(args["nazwa"]);
local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame);
local numer=tonumber(args[1]) or 0;
local naglowek=parametry_modul.CzyTak(args["nagłówek"]);
local nazwa_artykulu_z_naglowkiem_match=mw.ustring.match(nazwa_artykulu,"^([^#]*)#.*$");
local nazwa_artykulu_z_opcja_naglowek=(not naglowek) and nazwa_artykulu_z_naglowkiem_match or nazwa_artykulu;
local nadstrona_artykulu=(numer>0) and stronicowyparser_potrzebne_modul.NazwaNadStrony(nazwa_artykulu,numer) or nil;
local i=0;
local tab_artykul={};
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
if(tab_lista[2])then
for _,artykul_w_bazie_element in ipairs(tab_lista[2])do
local artykul_w_bazie;local artykul_bez_naglowka_w_bazie;local artykul_z_naglowkiem_w_bazie;
local czy_table=parametry_modul.TypeTable(artykul_w_bazie_element[1]);
if(czy_table)then
artykul_w_bazie=artykul_w_bazie_element[1][1];
else
artykul_w_bazie=artykul_w_bazie_element[1];
end;
local artykul_z_naglowkiem_w_bazie_match=mw.ustring.match(artykul_w_bazie,"^([^#]*)#.*$");
artykul_bez_naglowka_w_bazie=artykul_z_naglowkiem_w_bazie_match or artykul_w_bazie;
if(naglowek or not tab_artykul[artykul_bez_naglowka_w_bazie])then
if(not naglowek)then
tab_artykul[artykul_bez_naglowka_w_bazie]=true;
end
if(not naglowek)then
artykul_z_naglowkiem_w_bazie=artykul_bez_naglowka_w_bazie;
else
artykul_z_naglowkiem_w_bazie=artykul_w_bazie;
end;
local numer_artykulu_w_bazie;
if(numer>0)then
numer_artykulu_w_bazie=stronicowyparser_potrzebne_modul.PoziomAdresu(artykul_bez_naglowka_w_bazie);
end;
local function Nastepny()
if(not nazwa)then
return artykul_z_naglowkiem_w_bazie;
end;
if(czy_table)then
return artykul_w_bazie[1][2];
else
return artykul_z_naglowkiem_w_bazie;
end;
end;
if(i==1)then
if(numer>0)then
local nadstrona_artykulu_w_bazie=stronicowyparser_potrzebne_modul.NazwaNadStrony(artykul_bez_naglowka,numer);
if((numer==numer_artykulu_w_bazie)and(nadstrona_artykulu==nadstrona_artykulu_w_bazie))then
return Nastepny();
end;
else
return Nastepny();
end;
else
if((not naglowek)and(artykul_bez_naglowka_w_bazie==nazwa_artykulu_z_opcja_naglowek)
or(((naglowek) and ((nazwa_artykulu_z_naglowkiem_match and artykul_z_naglowkiem_w_bazie_match)or(not nazwa_artykulu_z_naglowkiem_match and not artykul_z_naglowkiem_w_bazie_match)))
and (artykul_z_naglowkiem_w_bazie==nazwa_artykulu)
))then
i=1;
end;
end;
end;
end;
end;
end;
if(i==1)then
return "";
end;
return "(błąd)";
end;
p["PoprzedniArtykuł"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local parametry_modul=require("Module:Parametry");
local nazwa=parametry_modul.CzyTak(args["nazwa"]);
local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame);
local numer=tonumber(args[1]) or 0;
local naglowek=parametry_modul.CzyTak(args["nagłówek"]);
local nazwa_artykulu_z_naglowkiem_match=mw.ustring.match(nazwa_artykulu,"^([^#]*)#.*$")
local nazwa_artykulu_z_opcja_naglowek=(not naglowek) and nazwa_artykulu_z_naglowkiem_match or nazwa_artykulu;
local nadstrona_artykulu=(numer>0) and stronicowyparser_potrzebne_modul.NazwaNadStrony(nazwa_artykulu,numer) or nil;
local artykul;
local tab_artykul={};
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
if(tab_lista[2])then
for _,artykul_w_bazie in ipairs(tab_lista[2])do
local artykul_z_naglowkiem_w_bazie;local artykul_bez_naglowka_w_bazie;
local czy_table=parametry_modul.TypeTable(artykul_w_bazie[1]);
if(czy_table)then
artykul_z_naglowkiem_w_bazie=artykul_w_bazie[1][1];
else
artykul_z_naglowkiem_w_bazie=artykul_w_bazie[1];
end;
local artykul_z_naglowkiem_w_bazie_match=mw.ustring.match(artykul_z_naglowkiem_w_bazie,"^([^#]*)#.*$")
artykul_bez_naglowka_w_bazie=artykul_z_naglowkiem_w_bazie_match or artykul_z_naglowkiem_w_bazie;
if(naglowek or not tab_artykul[artykul_bez_naglowka_w_bazie])then
if(not naglowek)then
tab_artykul[artykul_bez_naglowka_w_bazie]=true;
end;
if((not naglowek)and(artykul_bez_naglowka_w_bazie==nazwa_artykulu_z_opcja_naglowek)
or(((naglowek) and ((nazwa_artykulu_z_naglowkiem_match and artykul_z_naglowkiem_w_bazie_match)or(not nazwa_artykulu_z_naglowkiem_match and not artykul_z_naglowkiem_w_bazie_match)))and(artykul_z_naglowkiem_w_bazie==nazwa_artykulu)))then
if(not artykul)then return "";end;
local czy_table_artykul=parametry_modul.TypeTable(artykul);
if(czy_table_artykul)then
if(not nazwa)then
if(naglowek)then
return artykul[1];
end;
artykul,_=mw.ustring.gsub(artykul[1],"^([^#]+)#(.*)$","%1");
return artykul;
else
return artykul[2];
end;
else
if(naglowek)then
return artykul;
end;
artykul,_=mw.ustring.gsub(artykul,"^([^#]+)#(.*)$","%1");
return artykul;
end;
end
if(numer>0)then
local numer_artykulu_poprzedni=stronicowyparser_potrzebne_modul.PoziomAdresu(artykul_bez_naglowka_w_bazie);
local nadstrona_artykulu_w_bazie=stronicowyparser_potrzebne_modul.NazwaNadStrony(artykul_bez_naglowka_w_bazie,numer);
if((numer==numer_artykulu_poprzedni)and(nadstrona_artykulu==nadstrona_artykulu_w_bazie))then
artykul=artykul_w_bazie[1];
end;
else
artykul=artykul_w_bazie[1];
end;
end;
end;
end;
end;
return "(błąd)";
end;
p["PoziomNazwyArtykułu"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local parametry_modul=require("Module:Parametry");
local nazwa=parametry_modul.CzyTak(args["nazwa"]);
local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame);
return stronicowyparser_potrzebne_modul.PoziomAdresu(nazwa_artykulu);
end;
p["PierwszyArtykuł"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local parametry_modul=require("Module:Parametry");
local nazwa=parametry_modul.CzyTak(args["nazwa"]);
local naglowek=parametry_modul.CzyTak(args["nagłówek"]);
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
if(tab_lista[2])then
for _,artykul_w_bazie in ipairs(tab_lista[2])do
if(not nazwa)then
local artykul=parametry_modul.TypeTable(artykul_w_bazie[1]) and artykul_w_bazie[1][1] or artykul_w_bazie[1];
return (not naglowek) and mw.ustring.gsub(artykul,"^([^#]*)#(.*)$","%1") or artykul;
else
return parametry_modul.TypeTable(artykul_w_bazie[1])
and artykul_w_bazie[1][2]
or ((not naglowek) and mw.ustring.gsub(artykul_w_bazie[1],"^([^#]*)#(.*)$","%1") or artykul_w_bazie[1]);
end;
end;
end;
end;
end;
p["OstatniArtykuł"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local parametry_modul=require("Module:Parametry");
local nazwa=parametry_modul.CzyTak(args["nazwa"]);
local naglowek=parametry_modul.CzyTak(args["nagłówek"]);
local ostatni_artykul;
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
if(tab_lista[2])then
for _,artykul_w_bazie in ipairs(tab_lista[2])do
if(not nazwa)then
ostatni_artykul=parametry_modul.TypeTable(artykul_w_bazie[1]) and artykul_w_bazie[1][1] or artykul_w_bazie[1];
else
ostatni_artykul=parametry_modul.TypeTable(artykul_w_bazie[1]) and artykul_w_bazie[1][2] or artykul_w_bazie[1];
end;
end;
end;
end;
if(ostatni_artykul)then
return (not naglowek) and mw.ustring.gsub(ostatni_artykul,"^([^#]*)#(.*)$","%1") or ostatni_artykul;
end;
return "(błąd)";
end;
p["PomiędzyArtykuł"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
local val=stronicowyparser_potrzebne_modul:ObliczeniaInformacje(frame);
if(not val)then return "(błąd)";end;
local element=stronicowyparser_potrzebne_modul:PomiedzyArtykul(frame) or nil;
if(not element)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local parametry_modul=require("Module:Parametry");
local nazwa=parametry_modul.CzyTak(args["nazwa"]);
local czy_table=parametry_modul.TypeTable(element);
local element=czy_table and element[1] or element;
if(not nazwa)then return (not naglowek) and mw.ustring.gsub(element,"^([^#]*)#(.*)$","%1") or element;end;
return czy_table and element[2] or ((not naglowek) and mw.ustring.gsub(element,"^([^#]*)#(.*)$","%1") or element);
end;
p["LosowyArtykuł"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
local val=stronicowyparser_potrzebne_modul:ObliczeniaInformacje(frame);
if(not val)then return "(błąd)";end;
local element=stronicowyparser_potrzebne_modul:LosowyArtykul(frame);
if(not element)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local parametry_modul=require("Module:Parametry");
local nazwa=parametry_modul.CzyTak(args["nazwa"]);
local czy_table=parametry_modul.TypeTable(element);
local element=czy_table and element[1] or element;
if(not nazwa)then return mw.ustring.gsub(element,"^([^#]*)#(.*)$","%1") or element;end;
return czy_table and element[2] or mw.ustring.gsub(element,"^([^#]*)#(.*)$","%1") or element;
end;
local function PobiezNumerLubNazweNaglowka(frame,__FUNKCJA,typ)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local parametry_modul=require("Module:Parametry");
local poziomowo=parametry_modul.CzyTak(args["poziomowo"]);
local ktory=(tonumber(args["który"]) or 1);
local parametr_pierwszy_szablonu=typ and ((not poziomowo) and (tonumber(args[1]) or 1) or args[1]) or args[1];
if(not typ)then
parametr_pierwszy_szablonu,_=mw.ustring.gsub(parametr_pierwszy_szablonu,"^[%s_]+","");
parametr_pierwszy_szablonu,_=mw.ustring.gsub(parametr_pierwszy_szablonu,"[%s_]+$","");
parametr_pierwszy_szablonu,_=mw.ustring.gsub(parametr_pierwszy_szablonu,"[%s_]+"," ");
end;
local HNumer=stronicowyparser_potrzebne_modul.LiczonyHNumer();
local HNumer_2=nil;
local tab_numer_2=nil;
local tab_numer={};
local i=(not poziomowo) and 0 or nil;
local i_2=nil;
local juz_nie_rozwazaj_spisu_tresci=nil;
local juz_nie_rozwazaj_rozdzialu_spisu_tresci=nil;
local stronicowyparser_obiekty=mw.loadData("Module:StronicowyParser/obiekty");
local tab_rozdzialow_glownych_spisow_tresci_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_glownych_spisow_tresci_ksiazek;
local tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek;
local poziom_spisu_tresci=nil;
local pierwszy_dodatni_spis_tresci=nil;
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
local rozdzial=tab_lista[1][1];
local poziom_rozdzialu=tab_lista[1][2][1] or 0;
if(poziom_rozdzialu>0)then
local czy_nie_ten_rozdzial=nil;
local czy_jest_teraz_spis_tresci=tab_rozdzialow_glownych_spisow_tresci_ksiazek[rozdzial];local czy_nie_ten_rozdzial;
if((not juz_nie_rozwazaj_spisu_tresci)and(not juz_nie_rozwazaj_rozdzialu_spisu_tresci)and(czy_jest_teraz_spis_tresci))then
poziom_spisu_tresci=poziom_rozdzialu;
juz_nie_rozwazaj_rozdzialu_spisu_tresci=true;
czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial];
elseif((not juz_nie_rozwazaj_spisu_tresci)and(juz_nie_rozwazaj_rozdzialu_spisu_tresci))then
if((poziom_spisu_tresci<poziom_rozdzialu))then
czy_nie_ten_rozdzial=false;
else
juz_nie_rozwazaj_spisu_tresci=true;
czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial];
end;
else
local juz_nie_rozwazaj_spisu_tresci=nil;
local juz_nie_rozwazaj_rozdzialu_spisu_tresci=nil;
czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial];
end;
if(not czy_nie_ten_rozdzial)then
if(poziomowo)then
local hnumer=HNumer(poziom_rozdzialu);
if(#tab_numer<hnumer)then
for i=#tab_numer+1,hnumer,1 do
table.insert(tab_numer,1);
end;
elseif(#tab_numer>hnumer)then
for i=#tab_numer, hnumer+1,-1 do
table.remove(tab_numer,i);
end;
tab_numer[#tab_numer]=tab_numer[#tab_numer]+1;
else
tab_numer[#tab_numer]=tab_numer[#tab_numer]+1;
end;
----
local wartosc=__FUNKCJA(poziomowo,i,tab_numer,ktory,parametr_pierwszy_szablonu,rozdzial);
----
if(wartosc)then return wartosc;end;
----
if((czy_jest_teraz_spis_tresci)and(not pierwszy_dodatni_spis_tresci))then
HNumer_2=HNumer;
HNumer=stronicowyparser_potrzebne_modul.LiczonyHNumer();
tab_numer_2=tab_numer;
tab_numer={};
pierwszy_dodatni_spis_tresci=true;
elseif((pierwszy_dodatni_spis_tresci)and(poziom_spisu_tresci>=poziom_rozdzialu))then
HNumer=HNumer_2;
HNumer_2=nil;
tab_numer=tab_numer_2;
tab_numer_2=nil;
pierwszy_dodatni_spis_tresci=false;
end;
else
i=i+1;
----
local wartosc=__FUNKCJA(poziomowo,i,tab_numer,ktory,parametr_pierwszy_szablonu,rozdzial);
---
if(wartosc)then return wartosc;end;
---
if((czy_jest_teraz_spis_tresci)and(not pierwszy_dodatni_spis_tresci))then
i_2=i;
i=0;
pierwszy_dodatni_spis_tresci=true;
elseif((pierwszy_dodatni_spis_tresci)and(poziom_spisu_tresci>=poziom_rozdzialu))then
i=i_2;
i_2=nil;
pierwszy_dodatni_spis_tresci=false;
end;
end;
end;
end;
end;
end;
p["PobierzNumerNagłówka"]=function(frame)
local s=1;
local function __FUNKCJA(poziomowo,i,tab_numer,ktory,naglowek,rozdzial)
if(naglowek==rozdzial)then
if(s==ktory)then
if(poziomowo)then
if(#tab_numer==0)then return;end;
return table.concat(tab_numer,".");
else
return i;
end;
end;
s=s+1;
end;
end;
return PobiezNumerLubNazweNaglowka(frame,__FUNKCJA,false);
end;
p["PobierzNazwęNagłówka"]=function(frame)
local s=1;
local function __FUNKCJA(poziomowo,i,tab_numer,ktory,numer,rozdzial)
if(poziomowo)then
if(#tab_numer==0)then return;end;
if(numer==table.concat(tab_numer,"."))then
if(s==ktory)then
return rozdzial;
else
s=s+1;
end;
end;
elseif(numer==i)then
if(s==ktory)then
return rozdzial;
else
s=s+1;
end;
end
end;
return PobiezNumerLubNazweNaglowka(frame,__FUNKCJA,true);
end;
local function PobierzNumerLubNazweArtykulu(frame,tabela_listy_danych_analizy_ksiazki,__FUNKCJA,typ,zbieraj_dane)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame,tabela_listy_danych_analizy_ksiazki);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame,tabela_listy_danych_analizy_ksiazki);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local parametry_modul=require("Module:Parametry");
local naglowek=parametry_modul.CzyTak(args["nagłówek"]);
local tab_artykul=(not naglowek)and {} or nil;
local poziomowo=parametry_modul.CzyTak(args["poziomowo"]);
local tab_poziomowo={};
local tab_poziomowo_1={};
local tab_poziomowo_2={};
local html_modul=require("Module:Html");
local pierwszy_parametr_szablonu=args[1] and (typ and ((not poziomowo) and (tonumber(args[1]) or 1) or args[1])
or ((not naglowek) and mw.ustring.gsub(html_modul["PoprawAdresNagłówkaStronyAdresu"](html_modul["TransformacjaKoduZnakuDoZnakuŁancucha"](args[1])),"^([^#]*)#(.*)$","%1") or html_modul["PoprawAdresNagłówkaStronyAdresu"](html_modul["TransformacjaKoduZnakuDoZnakuŁancucha"](args[1])))
)
or (typ and 1 or "Przykładowy artykuł");
local ktory=(tonumber(args["ktory"]) or 1);
local i=(not poziomowo) and 1 or nil;
local stronicowyparser_obiekty=mw.loadData("Module:StronicowyParser/obiekty");
local tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek;
local tab_rozdzialow_glownych_spisow_tresci_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_glownych_spisow_tresci_ksiazek;
--local HNumer=poziomowo and stronicowyparser_potrzebne_modul.LiczonyHNumer() or nil;
local HNumerPoziomow_4=nil--poziomowo and stronicowyparser_potrzebne_modul.LiczonyHNumer() or nil;
local HNumerPoziomow_3=nil
local HNumerPoziomow_2=nil;
local HNumerPoziomow_1=nil;
local HNumerPoziomow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
local HNumerPoziomowNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
local HNumerPoziomowNaglowkow_1=nil;
local HNumerPoziomowNaglowkow_2=nil;
--local HNumerPoziomowInnychNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
local tab_numer=poziomowo and {} or nil;
tab_numer_1=nil;
tab_numer_3=nil
tab_numer_4=nil;--poziomowo and {} or nil;
local spis=false;
local czy_poziom_spisu_tresci=nil;
local pierwszy_dodatni_naglowek=nil;
local pierwszy_ujemny_naglowek=nil;
local juz_nie_rozwazaj_spisu_tresci=nil;
local juz_nie_rozwazaj_rozdzialu_spisu_tresci=nil;
local poprzedni_poziom_znakowy_rozdzialu=nil;
local poprzedni_tab_poziomowo=nil;
local poziom_pierwszego_dodatniego_naglowka=0;
local poziom_pierwszego_ujemnego_naglowka=0;
local poziom_zerowego_naglowka=0;
local poziom_spisu_tresci_naglowka=0;
local numer_poziomu=nil;
local ostatni_rozdzial_dodatni=nil;
local pierwszy_rozdzial_dodatni=nil;
local glowny_dodatni_rozdzial=nil;
local glowny_ujemny_rozdzial=nil;
local spis_tresci=nil;
local poziom_pierwszego_ujemnego_spisu_tresci=nil;
local ostatni_poczatek_artykulu=nil;
local pierwszy_rowny_rozdzial=nil;
local prawdziwy_poziom_rozdzialu=nil;
local artykuly_w_rozdziale=nil;
local spis_tresci_zerowy;
local poziom_zerowy;
local rozdzial;
local czy_pierwszy_nilowy=nil;
for m,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
local tab_poprzedni_artykul_w_bazie=nil;
local poziom_rozdzialu;
local poziom_poczatku_rozdzialu=nil;
local poziom_znakowy_rozdzialu=nil;
local poziom_naglowka=nil;
if(poziomowo)then
local czy_nienilowy_rozdzial=tab_lista[1][2][1];
czy_pierwszy_nilowy=(m==1)and (czy_nienilowy_rozdzial==nil) or czy_pierwszy_nilowy;
poziom_rozdzialu=czy_nienilowy_rozdzial or 0;
prawdziwy_poziom_rozdzialu=poziom_rozdzialu;
poziom_poczatku_rozdzialu=tab_lista[1][2][2];
--if(m>1)then
rozdzial=tab_lista[1][1];
rozdzial,_=mw.ustring.gsub(rozdzial,"'+","");
--end;
tab_poziomowo={};
--[[local czy_jest_teraz_spis_tresci=((m>1)and(not spis_tresci_zerowy or not poziom_zerowy)or((m==1)and(spis_tresci_zerowy)))
and ((m==1) and true or tab_rozdzialow_glownych_spisow_tresci_ksiazek[rozdzial])]]
local czy_jest_teraz_spis_tresci=(not juz_nie_rozwazaj_rozdzialu_spisu_tresci)
and((m==1)and (czy_nienilowy_rozdzial and tab_rozdzialow_glownych_spisow_tresci_ksiazek[rozdzial] or ((not czy_nienilowy_rozdzial)and true or false))
or ((m>1)and tab_rozdzialow_glownych_spisow_tresci_ksiazek[rozdzial]
or false));
if((m>1)and(czy_pierwszy_nilowy))then
czy_jest_teraz_spis_tresci=tab_rozdzialow_glownych_spisow_tresci_ksiazek[rozdzial];
if(czy_jest_teraz_spis_tresci)then
juz_nie_rozwazaj_rozdzialu_spisu_tresci=nil;
juz_nie_rozwazaj_spisu_tresci=nil;
czy_pierwszy_nilowy=nil;
pierwszy_ujemny_spis_tresci=nil;
end;
end;
local czy_nie_ten_rozdzial;
if((not juz_nie_rozwazaj_spisu_tresci)and(not juz_nie_rozwazaj_rozdzialu_spisu_tresci)and(czy_jest_teraz_spis_tresci))then
poziom_spisu_tresci=poziom_rozdzialu;
juz_nie_rozwazaj_rozdzialu_spisu_tresci=true;
czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial];
elseif((not juz_nie_rozwazaj_spisu_tresci)and(juz_nie_rozwazaj_rozdzialu_spisu_tresci))then
if((poziom_spisu_tresci<poziom_rozdzialu))then
czy_nie_ten_rozdzial=false;
else
juz_nie_rozwazaj_spisu_tresci=true;
czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial];
end;
else
czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial];
end;
--if(not czy_nie_ten_rozdzial)then
poprzedni_poziom_znakowy_rozdzialu=poziom_znakowy_rozdzialu;
poziom_znakowy_rozdzialu=poziom_rozdzialu;
poziom_rozdzialu=math.abs(poziom_rozdzialu);
artykuly_w_rozdziale=nil;
if(poziom_znakowy_rozdzialu>0)then
poziom_naglowka=poziom_rozdzialu;
poziom_pierwszego_ujemnego_spisu_tresci=nil;
poprzedni_tab_poziomowo=nil;
poziom_zerowego_naglowka=0;
if(glowny_ujemny_rozdzial)then
HNumerPoziomow=HNumerPoziomow_4;
HNumerPoziomow_4=nil;
tab_numer=tab_numer_4;
poziom_pierwszego_ujemnego_naglowka=nil;
glowny_ujemny_rozdzial=nil;
end;
if(pierwszy_ujemny_spis_tresci)then
HNumerPoziomow=HNumerPoziomow_2;
HNumerPoziomow_2=nil;
tab_numer=tab_numer_2;
tab_numer_2=nil;
pierwszy_ujemny_spis_tresci=nil;
czy_poziom_ujemny_spisu_tresci=nil;
end;
if(not glowny_dodatni_rozdzial)then
if((juz_nie_rozwazaj_rozdzialu_spisu_tresci)and(not juz_nie_rozwazaj_spisu_tresci)and(not czy_jest_teraz_spis_tresci)and(not spis_tresci))then
numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu,1);
spis_tresci=true;
else
if(not pierwszy_rozdzial_dodatni)then
pierwszy_rozdzial_dodatni=1;
numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu,1);
else
numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu);
end;
end;
else
numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu,1);
glowny_dodatni_rozdzial=false;
end;
ostatni_rozdzial_dodatni=poziom_rozdzialu;
elseif(poziom_znakowy_rozdzialu<0)then
if(not pierwszy_rowny_rozdzial)then
if((ostatni_poczatek_artykulu)
and(#ostatni_poczatek_artykulu==#poziom_poczatku_rozdzialu)
and(ostatni_poczatek_artykulu~=poziom_poczatku_rozdzialu)
and(mw.ustring.match(ostatni_poczatek_artykulu,"^*"))
and(mw.ustring.match(poziom_poczatku_rozdzialu,"^:"))
)then
poziom_rozdzialu=poziom_rozdzialu+1;
poziom_znakowy_rozdzialu=-poziom_rozdzialu;
pierwszy_rowny_rozdzial=1;
poziom_naglowka=poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka;
else
poziom_naglowka=poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka;
end;
else
if((#ostatni_poczatek_artykulu==#poziom_poczatku_rozdzialu)
and(ostatni_poczatek_artykulu==poziom_poczatku_rozdzialu)
)then pierwszy_rowny_rozdzial=0;end;
poziom_rozdzialu=poziom_rozdzialu+pierwszy_rowny_rozdzial;
poziom_znakowy_rozdzialu=-poziom_rozdzialu;
poziom_naglowka=poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka;
end;
if(not glowny_ujemny_rozdzial)then
--if((juz_nie_rozwazaj_rozdzialu_spisu_tresci)and(not juz_nie_rozwazaj_spisu_tresci)and(not spis_tresci))then
-- numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu,1);
-- spis_tresci=true;
--else
numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka);
--end;
local numer_rozdzialu_dodatniego=HNumerPoziomowNaglowkow(0) or 0;
if(numer_rozdzialu_dodatniego>=numer_rozdzialu)then
numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka,numer_rozdzialu_dodatniego+1);
end;
else
numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka,(HNumerPoziomowNaglowkow(0) or 0)+1);
glowny_ujemny_rozdzial=false;
end;
else
if((m>1)or((m==1)and((not czy_pierwszy_nilowy)or(not czy_jest_teraz_spis_tresci))))then
poziom_zerowego_naglowka=1;
numer_rozdzialu=HNumerPoziomow( 1 + (ostatni_rozdzial_dodatni or 0) + 0);
poziom_znakowy_rozdzialu=-1;
poziom_rozdzialu=1;
poziom_naglowka= 1 + (ostatni_rozdzial_dodatni or 0) + 0;
else
poziom_zerowego_naglowka=0;
numer_rozdzialu=0;
poziom_naglowka=(ostatni_rozdzial_dodatni or 0) + 0;
end;
end;
local numer;
if(poziom_znakowy_rozdzialu>0)then
local numer=HNumerPoziomowNaglowkow(poziom_znakowy_rozdzialu);
--HNumerPoziomowInnychNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
elseif(poziom_znakowy_rozdzialu<0)then
--local numer=HNumerPoziomowInnychNaglowkow(-poziom_znakowy_rozdzialu);
end;
if((m>1)
and(tab_lista_artykulow_w_ksiazce[m-1])
and(tab_lista_artykulow_w_ksiazce[m-1][2])
and(#tab_lista_artykulow_w_ksiazce[m-1][2][1]>0)
and(tab_lista_artykulow_w_ksiazce[m-1][2][#tab_lista_artykulow_w_ksiazce[m-1][2]][2][1]==0)
)then
local lens_tab_numer=#tab_numer;
local roznica=math.min(#poprzedni_tab_poziomowo+#tab_numer,numer_rozdzialu)-#tab_numer;
roznica=((roznica>0) and roznica or 0);
for i=1,roznica,1 do
tab_numer[i+lens_tab_numer]=poprzedni_tab_poziomowo[i];
end;
end;
if((czy_jest_teraz_spis_tresci)and(juz_nie_rozwazaj_rozdzialu_spisu_tresci))then
if(poziom_znakowy_rozdzialu>0)then
poziom_spisu_tresci_naglowka=poziom_rozdzialu;
else
poziom_pierwszego_ujemnego_spisu_tresci=poziom_rozdzialu;
end;
end;
if(poziom_rozdzialu>0)then
if((((czy_poziom_dodatni_spisu_tresci)and(poziom_znakowy_rozdzialu>0))or((czy_poziom_ujemny_spisu_tresci)and(poziom_znakowy_rozdzialu<0)))
and(poziom_spisu_tresci)and(poziom_spisu_tresci>=poziom_rozdzialu)
)then
if(poziom_znakowy_rozdzialu>0)then
tab_numer=tab_numer_1;
tab_poziomowo={};
poziom_spisu_tresci=nil;
HNumerPoziomow=HNumerPoziomow_1;
HNumerPoziomowNaglowkow=HNumerPoziomowNaglowkow_1;
czy_poziom_dodatni_spisu_tresci=false;
elseif(poziom_znakowy_rozdzialu<0)then
tab_numer=tab_numer_2;
tab_poziomowo={};
poziom_spisu_tresci=nil;
HNumerPoziomow=HNumerPoziomow_2;
--HNumerPoziomowNaglowkow=HNumerPoziomowNaglowkow_2;
czy_poziom_ujemny_spisu_tresci=false;
pierwszy_ujemny_spis_tresci=nil;
end;
end;
local hnumer=numer_rozdzialu;
if(poprzedni_tab_poziomowo)then
local lens=math.min(#poprzedni_tab_poziomowo,hnumer-#tab_numer);
local len_tab_numer=#tab_numer;
for i=1,lens,1 do
tab_numer[len_tab_numer+i]=poprzedni_tab_poziomowo[i];
end;
for i=lens+1,#tab_numer do
tab_numer[len_tab_numer+i]=nil;
end;
end;
if(#tab_numer<hnumer)then
for i=#tab_numer+1,hnumer,1 do
table.insert(tab_numer,1);
end;
elseif(#tab_numer>hnumer)then
for i=#tab_numer, hnumer+1,-1 do
table.remove(tab_numer,i);
end;
tab_numer[#tab_numer]=(tab_numer[#tab_numer] or 0) + 1;
else
tab_numer[#tab_numer]=(tab_numer[#tab_numer] or 0) + 1;
end;
else
--[[if(poziom_rozdzialu==0)then
if(tab_lista_artykulow_w_ksiazce[m+1])then
if(tab_lista_artykulow_w_ksiazce[m+1][1][2]>0)then
tab_numer={0,};
elseif(tab_lista_artykulow_w_ksiazce[m+1][1][2]<0)then
tab_numer={};
end;
else
tab_numer={};
end;
end;]]
end;
--end;
if((czy_jest_teraz_spis_tresci)and(((not pierwszy_dodatni_spis_tresci)and(poziom_znakowy_rozdzialu>0))or((not pierwszy_ujemny_spis_tresci)and(poziom_znakowy_rozdzialu<0))))then
function Poziom_dodatni()
for s,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
if(s>m)then
if((tab_lista[1][2][1] or 0)>0)then
if(math.abs(tab_lista[1][2][1] or 0)>poziom_rozdzialu)then
return true;
else
return false;
end;
end;
end;
end;
return false;
end;
local function czy_inaczej_numeruj_rozdzial_dodatni()
if(tab_lista_artykulow_w_ksiazce[m][2])then
for p,artykul_w_bazie in ipairs(tab_lista_artykulow_w_ksiazce[m][2])do
return true;
end;
end;
end;
local function czy_inaczej_numeruj_rozdzial_ujemny()
if(tab_lista_artykulow_w_ksiazce[m][2])then
for p,artykul_w_bazie in ipairs(tab_lista_artykulow_w_ksiazce[m][2])do
local poziom_artykulu=artykul_w_bazie[2][1];
if(prawdziwy_poziom_rozdzialu~=0)then
if(poziom_artykulu>poziom_rozdzialu)then
return true;
end;
else
return true;
end;
end;
end;
return false;
end;
if((poziom_znakowy_rozdzialu>0)and((czy_inaczej_numeruj_rozdzial_dodatni())or(Poziom_dodatni())))then
tab_poziomowo_1=tab_poziomowo;
tab_poziomowo={};
czy_poziom_dodatni_spisu_tresci=true;
HNumerPoziomow_1=HNumerPoziomow;
HNumerPoziomow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
HNumerPoziomowNaglowkow_1=HNumerPoziomowNaglowkow;
HNumerPoziomowNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
tab_numer_1=tab_numer;
tab_numer={};
pierwszy_dodatni_spis_tresci=true;
elseif((poziom_znakowy_rozdzialu<0)
and((czy_inaczej_numeruj_rozdzial_ujemny())or((tab_lista_artykulow_w_ksiazce[m+1])
and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)<0)
and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>poziom_rozdzialu))))then
tab_poziomowo_2=tab_poziomowo;
tab_poziomowo={};
czy_poziom_ujemny_spisu_tresci=true;
HNumerPoziomow_2=HNumerPoziomow;
HNumerPoziomow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
--HNumerPoziomowNaglowkow_2=HNumerPoziomowNaglowkow;
--HNumerPoziomowNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
tab_numer_2=tab_numer;
tab_numer={};
pierwszy_ujemny_spis_tresci=true;
end;
end;
local function OTakimSamymLubMniejszymPoziomie(m)
if(poziom_rozdzialu==0)then return true;end;
local lens=parametry_modul["LiczbaElementówNumerowanychTablicy"](tab_lista_artykulow_w_ksiazce);
if(m==lens)then return true;end;
if(poziom_znakowy_rozdzialu>0)then
for k=m+1,lens,1 do
if(tab_lista_artykulow_w_ksiazce[k])then
if((tab_lista_artykulow_w_ksiazce[k][1][2][1] or 0)>0)then
if(math.abs(tab_lista_artykulow_w_ksiazce[k][1][2][1] or 0)<=poziom_rozdzialu)then
return true;
end;
end;
end;
end;
elseif(((m==1)or((tab_lista_artykulow_w_ksiazce[m-1])and((tab_lista_artykulow_w_ksiazce[m-1][1][2][1] or 0)>0)))and(poziom_znakowy_rozdzialu<0))then
if(tab_lista[2])then
for p,artykul_w_bazie in ipairs(tab_lista[2])do
local poziom_artykulu=artykul_w_bazie[2][1];
if(poziom_artykulu<=-prawdziwy_poziom_rozdzialu)then
return true;
end;
end;
end;
local poziom_zerowego_naglowka_innego=0;
for k=m+1,lens,1 do
if(tab_lista_artykulow_w_ksiazce[k])then
if((tab_lista_artykulow_w_ksiazce[k][1][2][1] or 0)<=0)then
local ile=tab_lista_artykulow_w_ksiazce[k][1][2][1] or 0;
if(ile==0)then
if((czy_jest_teraz_spis_tresci)and(m==1))then
poziom_zerowego_naglowka_innego=poziom_zerowego_naglowka;
else
poziom_zerowego_naglowka_innego=1;
end;
end;
if(math.abs(tab_lista_artykulow_w_ksiazce[k][1][2][1] or 0)+poziom_zerowego_naglowka_innego<=poziom_rozdzialu)then
return true;
end;
else
break;
end;
end;
end;
else
return true;
end;
end;
-- if(not czy_nie_ten_rozdzial)then
if((tab_lista[2])
and(tab_lista[2][1])
and(tab_lista[2][1][2][1]==0)
and(not tab_lista[2][1][4])
and(tab_lista_artykulow_w_ksiazce[m+1])
and(((poziom_znakowy_rozdzialu>0)
and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>0)
and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>poziom_rozdzialu)
)or(
((poziom_znakowy_rozdzialu<0)
and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)<0)
and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)+poziom_zerowego_naglowka>poziom_rozdzialu)
)
)or(
(poziom_znakowy_rozdzialu==0)and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)~=0)
))
)then
if(m==1)then
tab_numer={0,}
else
table.insert(tab_numer,0);
end;
elseif((m==1)and(not tab_lista_artykulow_w_ksiazce[m+1]))then
tab_numer={};
elseif((poziomowo)and(m==1)and(czy_pierwszy_nilowy)and(poziom_znakowy_rozdzialu==0)and(tab_lista_artykulow_w_ksiazce[m+1])and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)<0))then
tab_numer={};
elseif((poziomowo)and(m==1)and(czy_pierwszy_nilowy)and(poziom_znakowy_rozdzialu==0)and(tab_lista_artykulow_w_ksiazce[m+1])and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>0))then
tab_numer={0,}
elseif((poziomowo)and(m==2)and(czy_pierwszy_nilowy)and(poziom_znakowy_rozdzialu<0)and(tab_lista_artykulow_w_ksiazce[m-1])and((tab_lista_artykulow_w_ksiazce[m-1][1][2][1] or 0)==0))then
if(poprzedni_tab_poziomowo)then
local min=math.min(math.abs(numer_rozdzialu),#poprzedni_tab_poziomowo);
for i=#poprzedni_tab_poziomowo,min+1,-1 do
table.remove(poprzedni_tab_poziomowo,i)
end;
tab_numer=poprzedni_tab_poziomowo;
tab_numer[#tab_numer]=(tab_numer[#tab_numer] or 0)+1;
end;
elseif((not czy_jest_teraz_spis_tresci)and(((not pierwszy_dodatni_naglowek)and(poziom_znakowy_rozdzialu>0))or((not pierwszy_ujemny_naglowek)and(poziom_znakowy_rozdzialu<0))))then
if(poziom_rozdzialu>0)then
if(not OTakimSamymLubMniejszymPoziomie(m))then
if(poziom_znakowy_rozdzialu>0)then
HNumerPoziomowNaglowkow_2=HNumerPoziomowNaglowkow;
HNumerPoziomowNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
tab_numer_3=tab_numer;
tab_numer={0,};
HNumerPoziomow_3=HNumerPoziomow;
HNumerPoziomow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
pierwszy_dodatni_naglowek=true;
poziom_pierwszego_dodatniego_naglowka=poziom_rozdzialu;
glowny_dodatni_rozdzial=true;
else
tab_numer_4=tab_numer;
tab_numer=parametry_modul["KopiujTabelęElementów"](tab_numer);
tab_numer[#tab_numer]=nil;
HNumerPoziomow_4=HNumerPoziomow;
HNumerPoziomow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
if(poziom_naglowka or 0>0)then
HNumerPoziomow(poziom_naglowka,#tab_numer);
end;
pierwszy_ujemny_naglowek=true;
poziom_pierwszego_ujemnego_naglowka=poziom_rozdzialu;
glowny_ujemny_rozdzial=true;
end;
else
if(poziom_znakowy_rozdzialu>0)then pierwszy_dodatni_naglowek=true;else pierwszy_ujemny_naglowek=true;end;
end;
end;
elseif((czy_jest_teraz_spis_tresci)and(not czy_nie_ten_rozdzial))then
if((not spis)and(poziom_rozdzialu>0)
and(tab_lista_artykulow_w_ksiazce[m+1])
and((
(poziom_znakowy_rozdzialu>0)
and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>0)
and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>poziom_rozdzialu)
)or(
(poziom_znakowy_rozdzialu<0)
and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)<0)
and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>poziom_rozdzialu)
))
)then
tab_numer={0,};
spis=true;
end
elseif((tab_lista_artykulow_w_ksiazce[m+1])
and((
(poziom_znakowy_rozdzialu>0)
and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>0)
and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>poziom_rozdzialu)
)--[[or(
(poziom_znakowy_rozdzialu<0)
and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)<0)
and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>poziom_rozdzialu)
)]])
)then
table.insert(tab_numer,0);
end;
-- end;
end;
if(tab_lista[2])then
local HNumerArtykulu=stronicowyparser_potrzebne_modul.LiczonyHNumer();
local HNumerPoziomu=stronicowyparser_potrzebne_modul.LiczonyHNumer();
local czy_tytul_rozdzial=nil;local poprzedni_b=nil;local ile_odjac=0;
local HNumerB=nil;
local poprzedni_poziom_artykulu=nil;
local czy_ma_elementy=nil;
local poziom_poprzedni_artykulu=nil;
for p,artykul_w_bazie in ipairs(tab_lista[2])do
local artykul=artykul_w_bazie[1][1] or artykul_w_bazie[1];
artykul=(not naglowek)and mw.ustring.gsub(artykul,"^([^#]*)#(.*)$","%1") or artykul;
if(naglowek or not tab_artykul[artykul])then
pierwszy_rowny_rozdzial=nil;
czy_ma_elementy=true;
if(not naglowek)then
tab_artykul[artykul]=true;
end;
local tab_artykul_w_bazie;
if(poziomowo)then
local poziom_artykulu=artykul_w_bazie[2][1];
local poziom_poczatku_artykulu=artykul_w_bazie[2][2];
local w_rozdziale=artykul_w_bazie[2][4];
if(w_rozdziale)then
function CzyRozdzialMaArtykulyNieWewnetrzne()
for s,artykul_w_bazie in ipairs(tab_lista[2])do
if(s>p)then
if((tab_lista[2][s])and(not tab_lista[2][s][2][4]))then
return true;
end;
end;
end;
return false;
end;
function CzyRozdzialMaRozdzialyNieWewnetrzne()
for s,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
if(s>m)then
local poziom_rozdzialu=tab_lista[1][2][1] or 0;
if(poziom_rozdzialu<0)then
return true;
end;
end;
end;
return false;
end;
if((not artykuly_w_rozdziale)and((CzyRozdzialMaArtykulyNieWewnetrzne())or(CzyRozdzialMaRozdzialyNieWewnetrzne())))then
tab_numer[#tab_numer+1]=0;
artykuly_w_rozdziale=true;
else
if(not tab_lista[2][p+1])then
local wartosc=__FUNKCJA(poziomowo,i,ktory,pierwszy_parametr_szablonu,rozdzial,artykul,tab_numer,{});
if(wartosc)then return wartosc;end;
end;
end;
elseif(artykuly_w_rozdziale)then
artykuly_w_rozdziale=nil;
table.remove(tab_numer,#tab_numer);
tab_poziomowo={};
end;
ostatni_poczatek_artykulu=poziom_poczatku_artykulu;
local function ToNumberPoziomArtykulu(poziom_artykulu)
local numer=tonumber(poziom_artykulu) or 1;
if(numer<1)then numer=1;end;
return numer;
end;
poziom_artykulu=ToNumberPoziomArtykulu(poziom_artykulu);
local poziom_czysty_artykulu=poziom_artykulu;
poziom_artykulu=poziom_artykulu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka;
if((poziom_poczatku_artykulu)and(poziom_poczatku_rozdzialu)
and(#poziom_poczatku_artykulu==#poziom_poczatku_rozdzialu)
and(poziom_poczatku_artykulu~=poziom_poczatku_rozdzialu)
and(mw.ustring.match(poziom_poczatku_rozdzialu,"^*"))
and((mw.ustring.match(poziom_poczatku_artykulu,"^:"))
or (mw.ustring.match(poziom_poczatku_artykulu,"^#"))
)
)then
poziom_artykulu=poziom_artykulu+1;
poziom_czysty_artykulu=poziom_czysty_artykulu+1;
end;
local numer_poziomu=HNumerPoziomow(poziom_artykulu);
if(p>1)then
local numer_poprzedni=tonumber(tab_lista[2][p-1][2][1]) or 1;
local id_poprzednie=tab_lista[2][p-1][4];
local numer=tonumber(tab_lista[2][p][2][1]) or 1;
local id=tab_lista[2][p][4];
if((numer_poprzedni==0)and(not id_poprzednie)and(not id)and(numer>0))then
if(#tab_numer>(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka)then
tab_numer[#tab_numer]=(tab_numer[#tab_numer] or 0)+1;
tab_poziomowo={};
end;
end;
end;
local prefix_poziom_artykulu=poziom_artykulu;
local b=0;
local tab_artykul_w_bazie=mw.text.split(artykul,"/");
if(tab_poprzedni_artykul_w_bazie)then
if(poprzedni_poziom_artykulu)then
if(poprzedni_poziom_artykulu==poziom_artykulu)then
for c=1,#tab_artykul_w_bazie,1 do
local podstrona_artykul=tab_artykul_w_bazie[c];
local podstrona_nazwy_artykulu=tab_poprzedni_artykul_w_bazie[c];
if(podstrona_artykul==podstrona_nazwy_artykulu)then
b=b+1;
end;
end;
else
b=0;
end;
end;
if(poziom_znakowy_rozdzialu<0)then
if(#tab_numer~=0)then
if(poziom_artykulu<=(poziom_pierwszego_ujemnego_naglowka or 0))then
tab_poziomowo=tab_numer_4;
tab_numer={};
HNumerArtykulu=HNumerPoziomow_4;
elseif((poziom_poprzedni_artykulu)and(poziom_artykulu>(poziom_pierwszego_ujemnego_naglowka or 0))and(poziom_poprzedni_artykulu>(poziom_pierwszego_ujemnego_spisu_tresci or 0))and(poziom_artykulu<=(poziom_pierwszego_ujemnego_spisu_tresci or 0)))then
HNumerArtykulu=stronicowyparser_potrzebne_modul.LiczonyHNumer();
for i=#tab_poziomowo,numer_poziomu+1,-1 do
table.remove(tab_numer,i);
end;
tab_numer[#tab_numer]=(tab_numer[#tab_numer] or 0 ) + 1;
tab_poziomowo=tab_numer;
tab_numer={};
elseif((poziom_naglowka>=poziom_artykulu)or((poziom_rozdzialu==poziom_czysty_artykulu)
and((numer_poziomu<numer_rozdzialu)
or((numer_poziomu==numer_rozdzialu)
and(poziom_poczatku_rozdzialu==poziom_poczatku_artykulu)
))
))then
local tab_numer2={};
for i=1,(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka,1 do
tab_numer2[i]=tab_numer[i];
end;
local tab_poziomowo2={};
for i=(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka+1,#tab_numer,1 do
tab_poziomowo2[i-(HNumerPoziomowNaglowkow(0) or 0)-poziom_zerowego_naglowka]=tab_numer[i];
end;
local indeks=(((HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka+1>#tab_numer) and 0 or (#tab_numer-(HNumerPoziomowNaglowkow(0) or 0)-poziom_zerowego_naglowka));
for i=1,numer_poziomu,1 do
tab_poziomowo2[i+indeks]=tab_poziomowo[i];
end;
tab_numer=tab_numer2;
tab_poziomowo=tab_poziomowo2;
--[[tab_poziomowo=tab_numer;
tab_numer={};]]
HNumerArtykulu=stronicowyparser_potrzebne_modul.LiczonyHNumer();
--local numer_poziomu=HNumerPoziomow(poziom_artykulu+(ostatni_rozdzial_dodatni or 0),#tab_poziomowo+1);
end;
end;
end;
elseif(#tab_numer>numer_poziomu)then
tab_poziomowo={};
tab_poziomowo[1]=tab_numer[numer_poziomu];
for i=#tab_numer,numer_poziomu,-1 do
table.remove(tab_numer,i);
end;
elseif((#tab_numer<=numer_rozdzialu)and(numer_rozdzialu>=numer_poziomu))then
local numer_rozdzialu_dodatniego=(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka;
if((numer_rozdzialu_dodatniego>0)or((numer_rozdzialu==numer_poziomu)and(poziom_poczatku_rozdzialu==poziom_poczatku_artykulu)))then
if(#tab_numer>=numer_rozdzialu_dodatniego)then
local tab_numer2={};
for i=1,numer_rozdzialu_dodatniego,1 do
tab_numer2[i]=tab_numer[i];
end;
tab_poziomowo={};
for i=numer_rozdzialu_dodatniego+1,#tab_numer,1 do
tab_poziomowo[i-numer_rozdzialu_dodatniego]=tab_numer[i];
end;
tab_numer=tab_numer2;
end;
end;
end;
poprzedni_poziom_artykulu=poziom_artykulu;
local czy_z_rozdzialem=(tab_artykul_w_bazie[1]==rozdzial);
if((p==1)and(czy_z_rozdzialem))then b=1;end;
czy_tytul_rozdzial=((p==1)and true or czy_tytul_rozdzial) and (czy_z_rozdzialem);
local dodatek=b-((czy_tytul_rozdzial)and 0 or 1);
dodatek=((dodatek>0)and dodatek or 0);
if((poziomowo)and(poziom_znakowy_rozdzialu<0))then
if(poziom_naglowka>=poziom_artykulu)then
local numer_poziomu=HNumerPoziomu(poziom_naglowka,numer_rozdzialu-(HNumerPoziomowNaglowkow(0) or 0));
end;
end;
local stala=poziom_artykulu;
local numer_poziomu=HNumerPoziomu(stala);
poziom_artykulu=stala+dodatek;
local numer=HNumerArtykulu(poziom_artykulu);
local roznica=numer_poziomu-numer;
if(roznica>0)then
numer=HNumerArtykulu(poziom_artykulu,numer_poziomu);
end;
if(#tab_poziomowo<numer)then
for i=#tab_poziomowo+1,numer,1 do
table.insert(tab_poziomowo,1);
end;
else
if(#tab_poziomowo>numer)then
for i=#tab_poziomowo,numer+1,-1 do
table.remove(tab_poziomowo,i);
end;
end;
tab_poziomowo[#tab_poziomowo]=(tab_poziomowo[#tab_poziomowo] or 0)+1;
end;
tab_poprzedni_artykul_w_bazie=tab_artykul_w_bazie;
poziom_poprzedni_artykulu=poziom_artykulu;
end;
local wartosc=__FUNKCJA(poziomowo,i,ktory,pierwszy_parametr_szablonu,rozdzial,artykul,tab_numer,tab_poziomowo);
if(poziomowo)then
if(tab_lista[2][p+1])then
local numer_nastepny=tonumber(tab_lista[2][p+1][2][1]) or 1;
local id_nastepny=tab_lista[2][p+1][4];
local numer=tonumber(tab_lista[2][p][2][1]) or 1;
local id=tab_lista[2][p][4];
if((numer_nastepny==0)and(not id_nastepny)and(not id)and(numer>0))then
tab_poziomowo={tab_numer[(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka+1],};
for i=#tab_numer,(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka+1,-1 do
table.remove(tab_numer,i);
end;
end;
end;
poprzedni_tab_poziomowo=tab_poziomowo;
end;
if(wartosc)then return wartosc;end;
if(not poziomowo)then
i=i+1;
end;
end;
end;
if(not czy_ma_elementy)then
poprzedni_tab_poziomowo=nil;
if(zbieraj_dane)then local wartosc=__FUNKCJA(poziomowo,i,ktory,pierwszy_parametr_szablonu,rozdzial,"",tab_numer,{}); end;
end;
else
poprzedni_tab_poziomowo=nil;
if(zbieraj_dane)then local wartosc=__FUNKCJA(poziomowo,i,ktory,pierwszy_parametr_szablonu,rozdzial,"",tab_numer,{}); end;
end;
end;
return;
end;
p["PobierzNazwęArtykułu"]=function(frame,tabela_listy_danych_analizy_ksiazki)
local s=1;
local function __FUNKCJA(poziomowo,i,ktory,numer,rozdzial,artykul,tab_numer,tab_poziomowo)
if((not poziomowo)and(i==numer))then
if(s==ktory)then
return artykul;
else
s=s+1;
end;
elseif(poziomowo)then
if((table.concat(tab_numer,".")
..((#tab_numer>0) and "." or "")
..table.concat(tab_poziomowo,"."))==numer)then
if(s==ktory)then
return artykul;
else
s=s+1;
end;
end;
end;
end;
return PobierzNumerLubNazweArtykulu(frame,tabela_listy_danych_analizy_ksiazki,__FUNKCJA,true);
end;
p["PobierzNumerArtykułu"]=function(frame,tabela_listy_danych_analizy_ksiazki)
local s=1;
local function __FUNKCJA(poziomowo,i,ktory,nazwa_artykulu,rozdzial,artykul,tab_numer,tab_poziomowo)
if(nazwa_artykulu==artykul)then
if(s==ktory)then
if(poziomowo)then
return (table.concat(tab_numer,".")..((#tab_numer>0) and ((#tab_poziomowo>0) and "." or "") or "")..table.concat(tab_poziomowo,"."));
else
return i;
end;
end;
s=s+1;
end;
end;
return PobierzNumerLubNazweArtykulu(frame,tabela_listy_danych_analizy_ksiazki,__FUNKCJA,false);
end;
p["PobierzDaneKsiążki"]=function(frame,tabela_listy_danych_analizy_ksiazki,kodowanie_nie_json)
local tab_dane_ksiazki=nil;
local s=1;
local function __FUNKCJA(poziomowo,i,ktory,nazwa_artykulu,rozdzial,artykul,tab_numer,tab_poziomowo)
if(not tab_dane_ksiazki)then tab_dane_ksiazki={};end;
if(not tab_dane_ksiazki[rozdzial])then tab_dane_ksiazki[rozdzial]={};end;
local numer_rozdzialu=tab_numer and table.concat(tab_numer,".") or "";
repeat
numer_rozdzialu=mw.ustring.gsub(numer_rozdzialu,"%.0$","")
until not mw.ustring.match(numer_rozdzialu,"%.0$");
if(not tab_dane_ksiazki[rozdzial][numer_rozdzialu])then
tab_dane_ksiazki[rozdzial][numer_rozdzialu]={};
end;
if(not tab_dane_ksiazki[rozdzial][numer_rozdzialu][artykul])then
tab_dane_ksiazki[rozdzial][numer_rozdzialu][artykul]={};
end;
local numer_artykulu=tab_poziomowo and table.concat(tab_poziomowo,".") or "";
if(not tab_dane_ksiazki[rozdzial][numer_rozdzialu][artykul][numer_artykulu])then
tab_dane_ksiazki[rozdzial][numer_rozdzialu][artykul][numer_artykulu]={};
end;
table.insert(tab_dane_ksiazki[rozdzial][numer_rozdzialu][artykul][numer_artykulu],s);
s=s+1;
return false;
end;
PobierzNumerLubNazweArtykulu(frame,tabela_listy_danych_analizy_ksiazki,__FUNKCJA,false,true);
return (not kodowanie_nie_json) and mw.text.jsonEncode(tab_dane_ksiazki,mw.text.JSON_PRESERVE_KEYS) or tab_dane_ksiazki;
end;
p["SubNazwaNadArtykułu"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local numer=tonumber(args[1]) or 0;
local krok=tonumber(args[2])or 1;
local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame);
return stronicowyparser_potrzebne_modul.SubNazwaNadStrony(nazwa_artykulu,numer,krok);
end;
p["NazwaNadArtykułu"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local numer=tonumber(args[1]) or 1;
local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame);
return stronicowyparser_potrzebne_modul.SubNazwaNadStrony(nazwa_artykulu,1,numer);
end;
p["NazwaLinkuArtykułu"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame);
local ostatni_artykul;
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
if(tab_lista[2])then
for _,artykul_w_bazie in ipairs(tab_lista[2])do
if(type(artykul_w_bazie[1])~="table")then
if(artykul_w_bazie[1]==nazwa_artykulu)then
return artykul_w_bazie[1];
end;
elseif(artykul_w_bazie[1][1]==nazwa_artykulu)then
return artykul_w_bazie[1][2];
end;
end;
end;
end;
return "(błąd)";
end;
p["LiczbaArtykułówKsiążki"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local parametry_modul=require("Module:Parametry");
local args=stronicowyparser_potrzebne_modul:Args();
local naglowek=parametry_modul.CzyTak(args["nagłówek"]);
local tab_artykul=(not naglowek) and {} or nil;
local i=0;
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
if(tab_lista[2])then
for _,artykul_w_bazie in ipairs(tab_lista[2])do
local nazwa_artykulu=artykul_w_bazie[1][1] or artykul_w_bazie[1];
local artykul=(not naglowek) and mw.ustring.gsub(nazwa_artykulu,"^([^#]*)#(.*)$","%1") or nazwa_artykulu;
if(naglowek or not tab_artykul[artykul])then
if(not naglowek)then
tab_artykul[artykul]=true;
end;
i=i+1;
end;
end;
end;
end;
return i;
end;
p["LiniaArtykułuKsiążki"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame);
local parametry_modul=require("Module:Parametry");
local args=stronicowyparser_potrzebne_modul:Args();
local czy_analiza=parametry_modul.CzyTak(args["analiza"]);
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
if(tab_lista[2])then
for _,artykul_w_bazie in ipairs(tab_lista[2])do
local artykul_ksiazki=artykul_w_bazie[1][1] or artykul_w_bazie[1];
if(artykul_ksiazki==nazwa_artykulu)then
if(not czy_analiza)then
return artykul_w_bazie[3];
else
local function AnalizaLiniiArtykolow()
local czy_spis_tresci=mw.ustring.match(artykul_w_bazie[3],"({{%s*[Ss]pisTreści%s*|[^{}]*}})");
if(czy_spis_tresci)then
local techniczne_modul=require("Module:Techniczne");
local parametry_szablony=techniczne_modul["ParsujWywołanieSzablonu"](czy_spis_tresci);
local nazwa_artykulu=parametry_szablony[1];
------
local nazwa_ksiazki=stronicowyparser_potrzebne_modul:PelnaNazwaKsiazki(frame);
local pelna_nazwa_strony=(nazwa_artykulu=="")and nazwa_ksiazki or nazwa_ksiazki.."/"..nazwa_artykulu;
local link= "[["..pelna_nazwa_strony.."|"..nazwa_artykulu.."]]";
local linia2,_=mw.ustring.gsub(artykul_w_bazie[3],"({{%s*[Ss]pisTreści%s*|[^{}]*}})",link);
return linia2;
else
local czy_spis_tresci=mw.ustring.match(artykul_w_bazie[3],"({{%s*[Ss]ekcja[%s_]+referencyjna%s*|[^{}]*}})");
if(czy_spis_tresci)then
local linia2,_=mw.ustring.gsub(artykul_w_bazie[3],"({{%s*[Ss]ekcja[%s_]+referencyjna%s*|)","%1astandardowo=tak|");
return linia2;
else
local nazwa_ksiazki=stronicowyparser_potrzebne_modul:PelnaNazwaKsiazki(frame);
local function adresuj_linki(a,b)
return "[["..nazwa_ksiazki.."/"..a..(b or "").."]]";
end;
local artykul=mw.ustring.gsub(artykul_w_bazie[3],"%[%[%s*/([^%[%]|]-)/*%s*(|.*)%]%]",adresuj_linki);
artykul=mw.ustring.gsub(artykul,"%[%[%s*/([^%[%]|]-)/*%s*%]%]",adresuj_linki);
return artykul;
end;
end;
end;
return AnalizaLiniiArtykolow();
end
end;
end;
end;
end;
local uzupelniaj_sekcje_artykulow=parametry_modul.CzyTak(args["uzupełniaj sekcje artykułów"]);
if(uzupelniaj_sekcje_artykulow)then
if(mw.ustring.match(nazwa_artykulu,"^[^#]*#(.+)$"))then
local naglowek=mw.ustring.match(nazwa_artykulu,"^[^#]*#(.+)$");
if(parametry_modul["CzyTakCiąg"](naglowek))then
local pelna_nazwa_ksiazki=stronicowyparser_potrzebne_modul:PelnaNazwaKsiazki(frame)
return "[["..pelna_nazwa_ksiazki..((nazwa_artykulu~="")and("/"..nazwa_artykulu) or "").."|"..naglowek.."]]";
end;
end;
end;
end;
p["AktualnaKsiążka"]=function(frame,__error)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
return stronicowyparser_potrzebne_modul:PelnaNazwaKsiazki(frame) or ((not __error)and "(błąd)" or nil);
end;
p["NazwaAktualnyArtykuł"]=function(frame,__error)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
return stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame) or ((not __error)and "(błąd)" or nil);
end;
p["ListaNagłówkówKsiążki"] = function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local stronicowyparser_obiekty=mw.loadData("Module:StronicowyParser/obiekty");
local tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek;
local tab_rozdzialow_glownych_spisow_tresci_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_glownych_spisow_tresci_ksiazek;
local czy_sa_rozdzialy=nil;
local pelna_nazwa_ksiazki=stronicowyparser_potrzebne_modul:PelnaNazwaKsiazki(frame);
local args=stronicowyparser_potrzebne_modul:Args();
local wikikod="";
local linki_modul=require("Module:Linki");
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
local rozdzial=tab_lista[1][1];
local numer_rozdzialu=tab_lista[1][2][1];
if(numer_rozdzialu>0)then
if(not tab_rozdzialow_glownych_spisow_tresci_ksiazek[rozdzial])then
wikikod=((wikikod~="")and (wikikod.." — ") or "")
..linki_modul["Link wewnętrzny"]{
["strona"]=pelna_nazwa_ksiazki,
["nagłówek"]=rozdzial,
["nazwa"]=rozdzial,
["bez znaczników"]=args["bez znaczników"],
["bez przetwarzania"]=args["bez przetwarzania"],
};
end;
czy_sa_rozdzialy=true;
end;
end;
if(not czy_sa_rozdzialy)then return "(błąd: brak rozdziałów)";end;
return wikikod;
end;
p["ArtykułSubst"] = function(frame)
local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_ksiazkowych;
local nazwa_przestrzeni;local nazwa_ksiazki;local nazwa_artykulu;
if(not tabela_listy_danych_analizy_ksiazki.zastepczy)then
nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki;
nazwa_artykulu=tabela_listy_danych_analizy_ksiazki.nazwa_artykulu;
else
nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.normalna_nazwa_przestrzeni;
nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.normalna_nazwa_ksiazki;
nazwa_artykulu=tabela_listy_danych_analizy_ksiazki.normalna_nazwa_artykulu;
end;
local parametry_modul=require("Module:Parametry");
local PobierzParametr=parametry_modul.PobierzParametr(frame);
local pobierz_nazwa_artykulu=PobierzParametr("pobierz pełną nazwę artykułu");
local pobierz_adres_ksiazki=PobierzParametr("pobierz pełną nazwę książki");
local czy_pobierz_pelna_nazwa_artykulu=parametry_modul.CzyTak(pobierz_nazwa_artykulu);
local czy_pobierz_pelna_nazwa_ksiazki=parametry_modul.CzyTak(pobierz_adres_ksiazki);
if(czy_pobierz_pelna_nazwa_artykulu and not czy_pobierz_pelna_nazwa_ksiazki)then
return ((nazwa_przestrzeni~="")and(nazwa_przestrzeni..":") or "")..nazwa_ksiazki..((nazwa_artykulu~="") and "/" or "")..nazwa_artykulu;
elseif(not czy_pobierz_pelna_nazwa_artykulu and czy_pobierz_pelna_nazwa_ksiazki)then
return ((nazwa_przestrzeni~="")and(nazwa_przestrzeni..":") or "")..nazwa_ksiazki;
elseif(czy_pobierz_pelna_nazwa_artykulu and czy_pobierz_pelna_nazwa_ksiazki)then
return "(błąd)";
end;
local nazwa_strony=((nazwa_przestrzeni~="")and(nazwa_przestrzeni..":") or "")..nazwa_ksiazki..((nazwa_artykulu~="") and "/" or "")..nazwa_artykulu;
local nazwy_modul=require("Module:Nazwy");
if(nazwa_strony==nazwy_modul["PEŁNANAZWASTRONY"]())then
local blad_modul=require("Module:Błąd");
return blad_modul.error{args={[1]="Próbowano załadować jeszcze raz aktualną stronę.",},};
end;
local techniczne_modul=require("Module:Techniczne");
local szablon=techniczne_modul.NazwaSzablonu(nazwa_strony);
return frame:expandTemplate{title=szablon,args={},};
end;
p["KsiążkaSubst"] = function(frame)
local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_ksiazkowych;
local str=tabela_listy_danych_analizy_ksiazki["KsiążkaSubst"];
return str;
end;
p["StronaSubst"] = function(frame)
local parametry_modul=require("Module:Parametry");
local args=parametry_modul.PobierzArgsParametry(frame,true);
local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_ksiazkowych;
local tab_stronasubst=tabela_listy_danych_analizy_ksiazki["StronaSubst"];
if(not tab_stronasubst)then return;end;
local pierwszy,_=mw.ustring.gsub(args[1],"[%s_]+"," ");
local tab_strona=tab_stronasubst[pierwszy];
if(not tab_strona)then return;end;
local link=args["link"];
local czy_link=parametry_modul.CzyTak(link);
local stronasubst=tab_strona[(czy_link and "tak" or "")];
return stronasubst;
end;
p["CzyStronęNumerować"] = function(frame)
local strona=frame.args[1];
local nazwy_modul=require("Module:Nazwy");
strona=nazwy_modul["PEŁNANAZWASTRONY"](strona);
local pudelko_modul=require("Module:Pudełko");
if(strona==pudelko_modul["Strona główna tego projektu"](frame))then
return;
end;
if(strona==pudelko_modul["Strona główna dla dzieci tego projektu"](frame))then
return;
end;
if(mw.ustring.match(strona,"^Szablon:SG/"))then
return;
end;
local zbiory={
["Szablon:Nowe podręczniki miesiąca/Zwycięzca"]=true,
["Wikibooks:Polecane książki"]=true,
["Szablon:Wyróżnienia książek miesiąca/Wyróżniony"]=true,
}
if(zbiory[strona])then
return;
end;
if(mw.ustring.match(strona,"^Szablon:Polecane książki/")
or(mw.ustring.match(strona,"^Szablon:Nowe podręczniki miesiąca/"))
or(mw.ustring.match(strona,"^Szablon:Wyróżnienia książek miesiąca/"))
)then
return;
end;
return "tak";
end;
function p.HNumer(frame)
local p=frame.args["wyspecjalizowana"] and frame or frame:getParent();
if((not p) or (not p.args[1]))then
local blad_module=require("Module:Błąd");
local frame2=p:newChild{args={[1]="Podano złe parametry w szablonie: [[Szablon:HLiczba]].",["tag"]="span",},}
blad_module.error(frame2);
return;
end;
local stronicowyparser_rozdzialy_modul=require("Module:StronicowyParser/Rozdziały");
local naglowek,licznik=stronicowyparser_rozdzialy_modul.PodajRozdzial(p.args[1]);
local id2,_=mw.ustring.gsub(naglowek,"^[%s_]","");
id2,_=mw.ustring.gsub(id2,"[%s_]$","");
id2,_=mw.ustring.gsub(id2,"[%s_]","_");
local id3,_=mw.ustring.gsub(mw.uri.encode(mw.text.encode(id2),"WIKI"),"(%%)",".");
if(licznik>6)then
local id=p.args["id"];
local styl=p.args["styl"];
local klasa=p.args["klasa"];
local atrybuty=p.args["atrybuty"];
local parametry_modul=require("Module:Parametry");
return "<h6"..(parametry_modul.CzyTak(id)and " id=\""..id.."\"" or "")
..(parametry_modul.CzyTak(styl)and " style=\""..styl.."\"" or "")
.." class=\"mw-hnumber mw-hnumber-"..licznik..((parametry_modul.CzyTak(klasa)) and (" "..klasa) or "").."\""
..(parametry_modul.CzyTak(atrybuty)and " "..atrybuty or "")
..">"..((id2~=id3) and ("<span id=\""..id3.."\"></span>") or "").."<span id=\""..id2.."\" class=\"mw-headline\">"..naglowek.."</span></h6>";
elseif(licznik<1)then
local blad_module=require("Module:Błąd");
local frame2=pf:newChild{args={[1]="Nie podano nagłówka w szablonie: [[Szablon:HLiczba]].",["tag"]="span",},}
blad_module.error(frame2);
else
local id=p.args["id"];
local styl=p.args["styl"];
local klasa=p.args["klasa"];
local atrybuty=p.args["atrybuty"];
local parametry_modul=require("Module:Parametry");
return "<h"..licznik..(parametry_modul.CzyTak(id)and " id=\""..id.."\"" or "")
..(parametry_modul.CzyTak(styl)and " style=\""..styl.."\"" or "")
.." class=\""..((parametry_modul.CzyTak(klasa)) and klasa or "").."\""
..(parametry_modul.CzyTak(atrybuty)and " "..atrybuty or "")..">"..((id2~=id3) and ("<span id=\""..id3.."\"></span>") or "").."<span id=\""..id2.."\" class=\"mw-headline\">"..naglowek.."</span></h"..licznik..">";
end;
end;
function p.TOC(frame,czy_rozciagnij,gdy_pusty_spis_tresci)
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych;
local nazwy_modul=require("Module:Nazwy");
local parametry_modul=require("Module:Parametry");
local ksiazkowe_modul=require("Module:Książkowe");
local args=(frame)and (parametry_modul.CzyTak(frame.args["wyspecjalizowana"])and frame.args or frame:getParent().args) or {};
local nazwa_przestrzeni=args[2] and nazwy_modul["NAZWAPRZESTRZENI"](args[2]) or tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
local nazwa_ksiazki=args[2] and ksiazkowe_modul["NazwaKsiążki"](args[2]) or tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki;
local nazwa_artykulu=args[1] and args[1] or tabela_listy_danych_analizy_ksiazki.nazwa_artykulu;
local czy_nie_aktualny=(
(nazwa_przestrzeni~=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni)
or(nazwa_ksiazki~=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki)
or (nazwa_artykulu~=tabela_listy_danych_analizy_ksiazki.nazwa_artykulu)
);
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
if ((tabela_listy_danych_analizy_ksiazki.TOC_StronaZbiorcza)or(tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu and tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni] and tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki] and tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki].lista_artykolow[nazwa_artykulu] and tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki].lista_artykolow[nazwa_artykulu].TOC)) then
mw.log(tabela_listy_danych_analizy_ksiazki.TOC_StronaZbiorcza,"Strona ziorcza");
local spis_tresci_artykulu=stronicowyparser_potrzebne_modul.TOC(frame,tabela_listy_danych_analizy_ksiazki.TOC_StronaZbiorcza or tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki].lista_artykolow[nazwa_artykulu].TOC,czy_nie_aktualny,czy_rozciagnij);
return spis_tresci_artykulu;
elseif(not gdy_pusty_spis_tresci)then
local spis_tresci_artykulu=stronicowyparser_potrzebne_modul.TOC(frame,nil,czy_nie_aktualny,czy_rozciagnij);
return spis_tresci_artykulu;
end;
end;
function p.WykazModolow(frame,czy_rozciagnij)
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych;
local nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki;
local nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
local lista_ksiazek_w_przestrzeni_nazw=tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni];
if(not lista_ksiazek_w_przestrzeni_nazw)then return nil;end;
local tab_lista_artykulow_w_ksiazce_w_ksiazce=lista_ksiazek_w_przestrzeni_nazw[nazwa_ksiazki];
if(not tab_lista_artykulow_w_ksiazce_w_ksiazce)then return nil;end;
local spis=tab_lista_artykulow_w_ksiazce_w_ksiazce.spis;
if(not spis)then return nil;end;
local parametry_modul=require("Module:Parametry");
local spis_ksiazkowy=parametry_modul.CzyTak(frame.args["spis książkowy"]);
local spis_rzeczy=parametry_modul.CzyTak(frame.args["spis rzeczy"]);
local tylko_naglowki=parametry_modul.CzyTak(frame.args["nagłówki"]);
local wysokosc=frame.args["wysokość"];
local wykaz_modolow_w_liscie="";
local i=1;
for _,tab_artykul in ipairs(spis)do
if(tab_artykul[2])then
for _,tab_pozycja in ipairs(tab_artykul[2])do
if(type(tab_pozycja[1])~="table")then
sformatowana_nazwa_artykulu,_=mw.ustring.gsub(tab_pozycja[1],"_"," ");
else
sformatowana_nazwa_artykulu,_=mw.ustring.gsub(tab_pozycja[1][1],"_"," ");
end;
local id=tab_pozycja[4]
if(not tylko_naglowki or id)then
if(not spis_ksiazkowy)then
wykaz_modolow_w_liscie=((wykaz_modolow_w_liscie~="") and (wykaz_modolow_w_liscie.."\n") or "")..'<li>[['..((not spis_rzeczy or not id)and (((nazwa_przestrzeni=="")and nazwa_ksiazki or nazwa_przestrzeni..":"..nazwa_ksiazki).."/") or "#")..sformatowana_nazwa_artykulu.."|<span class=\"tocnumber\">"..i.."</span><span class=\"toctext\">"..sformatowana_nazwa_artykulu..'</span>]]</li>';
else
wykaz_modolow_w_liscie=((wykaz_modolow_w_liscie~="") and (wykaz_modolow_w_liscie.."\n") or "")..'{{SpisZw||[['..((not spis_rzeczy or not id)and (((nazwa_przestrzeni=="")and nazwa_ksiazki or nazwa_przestrzeni..":"..nazwa_ksiazki).."/") or "#")..sformatowana_nazwa_artykulu.."|"..sformatowana_nazwa_artykulu.."]]|"..i.."|100%}}";
end;
i=i+1;
end;
end;
end;
end;
if(wykaz_modolow_w_liscie=="")then return nil;end;
if(not spis_ksiazkowy)then
wykaz_modolow_w_liscie="<ul>"..wykaz_modolow_w_liscie.."</ul>";
wykaz_modolow_w_liscie='<div class="toc_ogólnie_spis toc_wykaz" style="width:100%;max-height:400px;overflow:auto;">'..wykaz_modolow_w_liscie.."</div>";
wykaz_modolow_w_liscie='{{Tabela nawigacyjna|styl=width:'..(czy_rozciagnij and "100%" or "auto")..';font-size:14px;line-height:1.2em;background-color:white;|tytuł=<div style="font-size:14px;line-height:1.2em;background-color:white;text-align:left;white-space:nowrap;">Wykaz modułów w książce</div>|spis='..wykaz_modolow_w_liscie..'|funkcja=UkrytaWikitabelowaListaMenu}}';
else
wykaz_modolow_w_liscie="<div class=\"toc_wykaz mw-overflow-y\" style=\""..(wysokosc and ("max-height:"..wysokosc..";overflow:auto;") or "").."border:solid #aaa 1px;padding:10px;width:auto;box-sizing:border-box;background-color:white;\">"..wykaz_modolow_w_liscie.."</div>";
end;
local rozwiniety_wikikod=frame:preprocess(wykaz_modolow_w_liscie);
return rozwiniety_wikikod;
end;
function p.NazwaModolu()
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych;
local nazwy_np_modul=mw.loadData('Moduł:Nazwy/Np');
local nazwa_artykulu=tabela_listy_danych_analizy_ksiazki.nazwa_artykulu;
if(nazwa_artykulu==nil)then
return "[["..nazwy_np_modul.Category..": Nie można wygenerować nazwy strony]]";
else
return nazwa_artykulu;
end;
end;
function p.Wstep_do_licencji(frame)
local element_licencji_1='<strong>Autor:</strong> '..frame.args[1]..'<BR>';
local element_licencji_2;
if((frame.args[2]~='')and(frame.args[2]~=nil))then
element_licencji_2=frame.args[2]..'<BR>';
end;
local element_licencji_3;
if((frame.args[3]~='')and(frame.args[3]~=nil))then
element_licencji_3='<strong>Email:</strong> '..frame.args[3]..'<BR>';
end;
local element_licencji_4;
if((frame.args[4]~='')and(frame.args[4]~=nil))then
element_licencji_4='<strong>Dotyczy:</strong> '..frame.args[4].."<BR>";
else
element_licencji_4='<strong>Dotyczy:</strong> książki, do której należy ta strona, oraz w niej zawartych stron i w nich podstron, a także w nich kolumn, wraz z zawartościami.<BR>';
end;
if((frame.args[5]~='')and(frame.args[5]~=nil))then
element_licencji_5=frame.args[5].."<BR>";
else
element_licencji_5='Użytkownika książki, do której należy ta strona, oraz w niej zawartych stron i w nich podstron, a także w nich kolumn, wraz z zawartościami nie zwalnia z odpowiedzialności prawnoautorskiej nieprzeczytanie warunków licencjonowania.<BR>';
end;
local element_licencji_6;
if((frame.args[6]~='')and(frame.args[6]~=nil))then
element_licencji_6='<strong>Umowa prawna:</strong> '..frame.args[6]..'<BR>';
else
element_licencji_6='<strong>Umowa prawna:</strong> [http://creativecommons.org/licenses/by-sa/3.0/deed.pl Creative Commons: uznanie autorstwa oraz miejsca pochodzenia książki i jej jakikolwiek części, a także treści, teksty, tabele, wykresy, rysunki, wzory i inne elementy oraz ich części zawarte w książce, i tą książkę, nawet w postaci przerobionej nie można umieszczać w jakikolwiek formie na czasopismach naukowych, archiwach prac, itp.]<BR>';
end;
if((frame.args[7]~='')and(frame.args[7]~=nil))then
element_licencji_7=frame.args[7].."<BR>";
else
element_licencji_7='Autor tej książki dołożył wszelką staranność, aby informacje zawarte w książce były poprawne i najwyższej jakości, jednakże nie udzielana jest żadna gwarancja, czy też rękojma. Autor nie jest odpowiedzialny za wykorzystanie informacji zawarte w książce nawet jeśli wywołaby jakąś szkodę, straty w zyskach, zastoju w prowadzeniu firmy, przedsiębiorstwa lub spółki bądź utraty informacji niezależnie, czy autor (a nawet [https://pl.wikibooks.org Wikibooks]) został powiadomiony o możliwości wystąpienie szkód. Informacje zawarte w książce mogą być wykorzystane tylko na własną odpowiedzialność.<BR>';
end;
local licencja=element_licencji_1..((element_licencji_2)and element_licencji_2 or "")..((element_licencji_3)and element_licencji_3 or "")
..element_licencji_4..element_licencji_5..element_licencji_6..element_licencji_7;
return licencja;
end;
function p.Licencja(frame,czy_rozciagnij)
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych;
local menu_z_licencja;
local nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
local nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki;
local licencja=tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki].licencja;
if(licencja)then
if(licencja[1])then
local frame={};
frame.args={licencja[1],licencja[2],licencja[3],licencja[4],licencja[5],licencja[6],licencja[7]};
local ramka_z_licencja='<div style="margin-left:0px;padding:3px;width:100%;height:auto;box-sizing:border-box;">'..p.Wstep_do_licencji(frame)..'</div>';
menu_z_licencja='{{Tabela nawigacyjna|styl=width:'..(czy_rozciagnij and "100%" or "auto")..';font-size:14px;line-height:1.2em;background-color:white;|tytuł=<div style="font-size:14px;line-height:1.2em;background-color:white;text-align:left;white-space:nowrap;">Licencja</div>|spis='..ramka_z_licencja..'|funkcja=StatycznaWikitabelowaListaMenu}}';
else
return nil;
end;
local frame=mw.getCurrentFrame();
local rozwiniety_wikikod=frame:preprocess(menu_z_licencja);
return rozwiniety_wikikod;
else
return nil;
end;
end;
function p.Autor(frame)
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych;
local nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
local nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki;
local licencja=tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki].licencja;
if(tabela_listy_danych_analizy_ksiazki.licencja)then
return licencja[1];
end;
end;
function p.PierwszaStrona(frame)
local prawe_menu="";
local parametry_modul=require("Module:Parametry");
local czy_rozciagnij=parametry_modul.CzyTak(frame.args["rozciągnij"])
if(parametry_modul.CzyTak(frame.args[1]))then
prawe_menu='<div style="margin-top:5px;font-size:1.9em;line-height:25px;text-align:left;">'..p.NazwaModolu()..'</div><hr style=\"margin:5px 0\"/>';
end;
if(parametry_modul.CzyTak(frame.args[2]))then
local licencja=p.Licencja(frame,czy_rozciagnij);
if(licencja~=nil)then
prawe_menu=prawe_menu..licencja;
else
local obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty");
local uchwyt_strony=mw.title.getCurrentTitle();
local nazwy_np_modul=mw.loadData("Module:Nazwy/Np");
local nazwa_przestrzeni_nazw_strony=require("Module:Nazwy")["NAZWAPRZESTRZENI"]();
local element_zdania_kategorii=(nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Main)and "na stronach głównych, książek"
or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikijunior)and "na stronach głównych, książek dla dzieci"
or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.User)and "na stronach głównych, książek użytkowników"
or((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikibooks)and "na stronach głównych, książek brudnopisu projektu"
or "na stronach głównych, publikacji")));
local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_ksiazkowych;
local kategoria_braku_licencji=(not tabela_listy_danych_analizy_ksiazki.korzystane_strona_glowna_nie_istnieje)and"[["..nazwy_np_modul.Category..": Brak licencji, "..element_zdania_kategorii.."]]" or "";
prawe_menu=prawe_menu..kategoria_braku_licencji;
end;
end;
if(parametry_modul.CzyTak(frame.args[3]))then
local wykaz_artykulow=p.WykazModolow(frame,czy_rozciagnij);
if(wykaz_artykulow~=nil)then
prawe_menu=prawe_menu.."<hr style=\"margin:5px 0\"/>"..wykaz_artykulow;
end;
end;
if(parametry_modul.CzyTak(frame.args[4]))then
local spis_tresci=p.TOC(frame,czy_rozciagnij,true);
if(spis_tresci~=nil)then
prawe_menu=prawe_menu.."<hr style=\"margin:5px 0\"/>"..spis_tresci;
end;
end;
local wysokosc=frame.args["wysokość"];
return "<div style=\"padding:10px;border: solid #aaa 1px;background-color:white;box-sizing:border-box;width:700px;\"><div class=\"pierwsza_strona mw-overflow-y\" style=\"max-height:"..(wysokosc or "100%")..";overflow:auto;height:100%;box-sizing:border-box;\"><div style=\"display:flex;flex-direction:column;width:auto;height:auto;box-sizing:border-box;\">"..prawe_menu.."</div></div></div>";
end;
function p.SpisTresci(frame)
local parametry_modul=require("Module:Parametry");
local args=parametry_modul.PobierzArgsParametry(frame);
local nazwa_artykulu=args["artykuł"] or args[1];
local nazwa_ksiazki=args["książka"] or args[2];
if(not parametry_modul.CzyTak(nazwa_ksiazki))then
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych;
local uzyskana_nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
local uzyskana_nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki;
nazwa_ksiazki=((uzyskana_nazwa_przestrzeni~=nil) and (uzyskana_nazwa_przestrzeni..":") or "")..uzyskana_nazwa_ksiazki;
end;
local brak=(nazwa_artykulu and mw.ustring.match(nazwa_artykulu,"[|<>{}%[%]]") or nil) or (nazwa_ksiazki and mw.ustring.match(nazwa_ksiazki,"[|<>{}%[%]]") or nil);
if(brak~=nil)then
local nazwy_np_modul=mw.loadData("Module:Nazwy/Np");
local nazwa_przestrzeni_nazw_strony=require("Module:Nazwy")["NAZWAPRZESTRZENI"]();
local element_zdania_kategorii=(nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Main)and "artykułów,"
or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikijunior)and "artykułów dla dzieci,"
or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.User)and "stron użytkowników,"
or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikibooks)and "stron brudnopisu projektu,"
or "stron,")));
return "[["..nazwy_np_modul.Category..":Nazwy "..element_zdania_kategorii.." w spisach treści, zawierają niedozwolone znaki]]";
end;
local html_modul=require("Module:Html");
local nazwy_modul=require("Module:Nazwy");
local ksiazkowe_modul=require("Module:Książkowe");
local nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](nazwa_ksiazki);
local nazwa_ksiazki=ksiazkowe_modul["NazwaKsiążki"](nazwa_ksiazki);
nazwa_ksiazki=html_modul.TransformacjaKlasyZnakowej(nazwa_ksiazki);
local nazwa_artykulu=html_modul.TransformacjaKlasyZnakowej(nazwa_artykulu);
local nazwa_strony=(nazwa_artykulu=="")and nazwa_ksiazki or nazwa_ksiazki.."/"..nazwa_artykulu;
local pelna_nazwa_strony=(nazwa_przestrzeni=="")and nazwa_strony or nazwa_przestrzeni..":"..nazwa_strony;
local tekst_artykulu=p.SpreparowanyWikikodStrony(pelna_nazwa_strony);
local nazwa=args["nazwa"] or args[3];
local nazwa_strony_artykulu=parametry_modul.CzyTak(nazwa) and nazwa or mw.ustring.gsub(mw.ustring.match(nazwa_artykulu,"[^/]*$"),"_"," ");
local dodatek=args["dodatek"] or args[4];
if(not tekst_artykulu)then
if(nazwa_artykulu~="")then
return "\n"..mw.ustring.rep("=",6).."<span style=\"color:red\">[["..pelna_nazwa_strony.."|"..nazwa_strony_artykulu.."]]</span>"..mw.ustring.rep("=",6).."\n";
else
return frame:getParent():preprocess("{{Błąd|Wywołano szablon z argumentem pierwszym pustym.}}");
end;
else
local twor_spisu_tresci="[["..pelna_nazwa_strony.."|"..nazwa_strony_artykulu.."]]"..(((dodatek)and(dodatek~="")) and (" "..dodatek) or "");
twor_spisu_tresci=mw.ustring.rep("=",6)..twor_spisu_tresci..mw.ustring.rep("=",6).."\n";
local stronicowyparser_dalszefunkcje_modul=require("Module:StronicowyParser/DalszeFunkcje");
local ulozenia_w_menu_spisu_tresci=stronicowyparser_dalszefunkcje_modul:SpisTresciWstep(tekst_artykulu, pelna_nazwa_strony);
local atrybuty="style=\"margin-left:20px\"";
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
local toc=stronicowyparser_potrzebne_modul.TOCSilnik(ulozenia_w_menu_spisu_tresci, atrybuty);
local limit=args["limit"];
local czy_limit=parametry_modul.CzyTak(limit);
return '<div class="toc_ogólnie_spis toc_artykuł toclimit '..(czy_limit and ("toclimit-"..limit) or "")..'">\n'..twor_spisu_tresci..(toc and toc or "")..'</div>';
end;
end;
function IteratorFunkcja()
local obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty");
local tabela_wypowiedzi=obiekty_modul.tablica_obiektow;
local licznik=1;
return function()
local tabela_obiektu=tabela_wypowiedzi[licznik];
if(not tabela_obiektu)then return nil;end;
local wartosc1=mw.ustring.gsub(tabela_obiektu[1],"%d+$","");
local wartosc2=tabela_obiektu[4];
licznik=licznik+1;
return wartosc1,wartosc2;
end;
end;
local iterator=IteratorFunkcja();
for nazwa_obiektu,czesc_nazwy_funkcji in iterator do
p["Numer"..czesc_nazwy_funkcji] = function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
return stronicowyparser_potrzebne_modul.NumerObiektu(frame,nazwa_obiektu);
end;
end;
p["AnalizujSzablonemStronicowymArtykuł"]=function(frame)
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych;
return "";
end;
function p.formatowanie()
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych;
return tabela_listy_danych_analizy_ksiazki.formatowanie;
end;
function p.WstawKategorie(frame)
local stronicowyparser_kategorie_modul=require("Module:StronicowyParser/Kategorie");
return stronicowyparser_kategorie_modul.WstawKategorie(frame);
end;
function p.CzyStronaSubst(frame,pelnanazwastrony,czy_wymusic)
if(czy_wymusic)then
local nazwy_modul=require("Module:Nazwy");
local pelnanazwastronyaktualnej=nazwy_modul["PEŁNANAZWASTRONY"]();
if(pelnanazwastrony~=pelnanazwastronyaktualnej)then
local stronicowyparser_stronasubst_modul=require("Module:StronicowyParser/StronaSubst");
local TakFun=function(frame) return "tak";end;local NieFun=function(frame) return "";end;
return stronicowyparser_stronasubst_modul.AnalizaStronaSubst(nil,pelnanazwastrony,TakFun,NieFun,nil);
end;
end;
local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_ksiazkowych;
if(tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then
return "tak";
end;
return "";
end;
return p;
c4ulf6hiz48ex3cciie8ttnf6kglo4b
437956
437954
2022-08-17T08:33:23Z
Persino
2851
Scribunto
text/plain
local p = {}
function p.SpreparowanyWikikodStrony(nazwa_modolu,dokumentacja)
local stronicowyparser_dalszefunkcje=require("Module:StronicowyParser/DalszeFunkcje")
return stronicowyparser_dalszefunkcje.SpreparowanyWikikodStrony(nil,nazwa_modolu,dokumentacja);
end;
function p.PrzekierowanieDoStrony(frame)
local parametry_modul=require("Module:Parametry");
local PobierzParametr=parametry_modul.PobierzParametr(frame);
local nazwa_modulu=PobierzParametr(1);
local latki_modul=require("Module:Łatki");
return latki_modul.contentMatch{args={
[1]="^%s*#REDIRECT%s+%[%[(.+)%]%]%s*",
[2]="^%s*#PATRZ%s+%[%[(.+)%]%]%s*",
[3]="^%s*#TAM%s+%[%[(.+)%]%]%s*",
namespace="",
pagename=nazwa_modulu,
},
};
end;
p["TekstRozdziałuStrony"]=function(frame)
local stronicowyparser_rozdzialy=require("Module:StronicowyParser/Rozdziały");
return stronicowyparser_rozdzialy.TekstRozdzialuStrony(frame);
end;
p["KtóraSekcjaStrony"]=function(frame)
local stronicowyparser_rozdzialy=require("Module:StronicowyParser/Rozdziały");
return stronicowyparser_rozdzialy.KtoraSekcjaStrony(frame);
end;
p["ZwróćSekcjęNagłówkaStrony"]=function(frame)
local stronicowyparser_rozdzialy=require("Module:StronicowyParser/Rozdziały");
return stronicowyparser_rozdzialy.ZwrocSekcjeNaglowkaStrony(frame);
end;
p["NastępnyArtykuł"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local parametry_modul=require("Module:Parametry");
local nazwa=parametry_modul.CzyTak(args["nazwa"]);
local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame);
local numer=tonumber(args[1]) or 0;
local naglowek=parametry_modul.CzyTak(args["nagłówek"]);
local nazwa_artykulu_z_naglowkiem_match=mw.ustring.match(nazwa_artykulu,"^([^#]*)#.*$");
local nazwa_artykulu_z_opcja_naglowek=(not naglowek) and nazwa_artykulu_z_naglowkiem_match or nazwa_artykulu;
local nadstrona_artykulu=(numer>0) and stronicowyparser_potrzebne_modul.NazwaNadStrony(nazwa_artykulu,numer) or nil;
local i=0;
local tab_artykul={};
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
if(tab_lista[2])then
for _,artykul_w_bazie_element in ipairs(tab_lista[2])do
local artykul_w_bazie;local artykul_bez_naglowka_w_bazie;local artykul_z_naglowkiem_w_bazie;
local czy_table=parametry_modul.TypeTable(artykul_w_bazie_element[1]);
if(czy_table)then
artykul_w_bazie=artykul_w_bazie_element[1][1];
else
artykul_w_bazie=artykul_w_bazie_element[1];
end;
local artykul_z_naglowkiem_w_bazie_match=mw.ustring.match(artykul_w_bazie,"^([^#]*)#.*$");
artykul_bez_naglowka_w_bazie=artykul_z_naglowkiem_w_bazie_match or artykul_w_bazie;
if(naglowek or not tab_artykul[artykul_bez_naglowka_w_bazie])then
if(not naglowek)then
tab_artykul[artykul_bez_naglowka_w_bazie]=true;
end
if(not naglowek)then
artykul_z_naglowkiem_w_bazie=artykul_bez_naglowka_w_bazie;
else
artykul_z_naglowkiem_w_bazie=artykul_w_bazie;
end;
local numer_artykulu_w_bazie;
if(numer>0)then
numer_artykulu_w_bazie=stronicowyparser_potrzebne_modul.PoziomAdresu(artykul_bez_naglowka_w_bazie);
end;
local function Nastepny()
if(not nazwa)then
return artykul_z_naglowkiem_w_bazie;
end;
if(czy_table)then
return artykul_w_bazie[1][2];
else
return artykul_z_naglowkiem_w_bazie;
end;
end;
if(i==1)then
if(numer>0)then
local nadstrona_artykulu_w_bazie=stronicowyparser_potrzebne_modul.NazwaNadStrony(artykul_bez_naglowka,numer);
if((numer==numer_artykulu_w_bazie)and(nadstrona_artykulu==nadstrona_artykulu_w_bazie))then
return Nastepny();
end;
else
return Nastepny();
end;
else
if((not naglowek)and(artykul_bez_naglowka_w_bazie==nazwa_artykulu_z_opcja_naglowek)
or(((naglowek) and ((nazwa_artykulu_z_naglowkiem_match and artykul_z_naglowkiem_w_bazie_match)or(not nazwa_artykulu_z_naglowkiem_match and not artykul_z_naglowkiem_w_bazie_match)))
and (artykul_z_naglowkiem_w_bazie==nazwa_artykulu)
))then
i=1;
end;
end;
end;
end;
end;
end;
if(i==1)then
return "";
end;
return "(błąd)";
end;
p["PoprzedniArtykuł"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local parametry_modul=require("Module:Parametry");
local nazwa=parametry_modul.CzyTak(args["nazwa"]);
local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame);
local numer=tonumber(args[1]) or 0;
local naglowek=parametry_modul.CzyTak(args["nagłówek"]);
local nazwa_artykulu_z_naglowkiem_match=mw.ustring.match(nazwa_artykulu,"^([^#]*)#.*$")
local nazwa_artykulu_z_opcja_naglowek=(not naglowek) and nazwa_artykulu_z_naglowkiem_match or nazwa_artykulu;
local nadstrona_artykulu=(numer>0) and stronicowyparser_potrzebne_modul.NazwaNadStrony(nazwa_artykulu,numer) or nil;
local artykul;
local tab_artykul={};
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
if(tab_lista[2])then
for _,artykul_w_bazie in ipairs(tab_lista[2])do
local artykul_z_naglowkiem_w_bazie;local artykul_bez_naglowka_w_bazie;
local czy_table=parametry_modul.TypeTable(artykul_w_bazie[1]);
if(czy_table)then
artykul_z_naglowkiem_w_bazie=artykul_w_bazie[1][1];
else
artykul_z_naglowkiem_w_bazie=artykul_w_bazie[1];
end;
local artykul_z_naglowkiem_w_bazie_match=mw.ustring.match(artykul_z_naglowkiem_w_bazie,"^([^#]*)#.*$")
artykul_bez_naglowka_w_bazie=artykul_z_naglowkiem_w_bazie_match or artykul_z_naglowkiem_w_bazie;
if(naglowek or not tab_artykul[artykul_bez_naglowka_w_bazie])then
if(not naglowek)then
tab_artykul[artykul_bez_naglowka_w_bazie]=true;
end;
if((not naglowek)and(artykul_bez_naglowka_w_bazie==nazwa_artykulu_z_opcja_naglowek)
or(((naglowek) and ((nazwa_artykulu_z_naglowkiem_match and artykul_z_naglowkiem_w_bazie_match)or(not nazwa_artykulu_z_naglowkiem_match and not artykul_z_naglowkiem_w_bazie_match)))and(artykul_z_naglowkiem_w_bazie==nazwa_artykulu)))then
if(not artykul)then return "";end;
local czy_table_artykul=parametry_modul.TypeTable(artykul);
if(czy_table_artykul)then
if(not nazwa)then
if(naglowek)then
return artykul[1];
end;
artykul,_=mw.ustring.gsub(artykul[1],"^([^#]+)#(.*)$","%1");
return artykul;
else
return artykul[2];
end;
else
if(naglowek)then
return artykul;
end;
artykul,_=mw.ustring.gsub(artykul,"^([^#]+)#(.*)$","%1");
return artykul;
end;
end
if(numer>0)then
local numer_artykulu_poprzedni=stronicowyparser_potrzebne_modul.PoziomAdresu(artykul_bez_naglowka_w_bazie);
local nadstrona_artykulu_w_bazie=stronicowyparser_potrzebne_modul.NazwaNadStrony(artykul_bez_naglowka_w_bazie,numer);
if((numer==numer_artykulu_poprzedni)and(nadstrona_artykulu==nadstrona_artykulu_w_bazie))then
artykul=artykul_w_bazie[1];
end;
else
artykul=artykul_w_bazie[1];
end;
end;
end;
end;
end;
return "(błąd)";
end;
p["PoziomNazwyArtykułu"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local parametry_modul=require("Module:Parametry");
local nazwa=parametry_modul.CzyTak(args["nazwa"]);
local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame);
return stronicowyparser_potrzebne_modul.PoziomAdresu(nazwa_artykulu);
end;
p["PierwszyArtykuł"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local parametry_modul=require("Module:Parametry");
local nazwa=parametry_modul.CzyTak(args["nazwa"]);
local naglowek=parametry_modul.CzyTak(args["nagłówek"]);
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
if(tab_lista[2])then
for _,artykul_w_bazie in ipairs(tab_lista[2])do
if(not nazwa)then
local artykul=parametry_modul.TypeTable(artykul_w_bazie[1]) and artykul_w_bazie[1][1] or artykul_w_bazie[1];
return (not naglowek) and mw.ustring.gsub(artykul,"^([^#]*)#(.*)$","%1") or artykul;
else
return parametry_modul.TypeTable(artykul_w_bazie[1])
and artykul_w_bazie[1][2]
or ((not naglowek) and mw.ustring.gsub(artykul_w_bazie[1],"^([^#]*)#(.*)$","%1") or artykul_w_bazie[1]);
end;
end;
end;
end;
end;
p["OstatniArtykuł"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local parametry_modul=require("Module:Parametry");
local nazwa=parametry_modul.CzyTak(args["nazwa"]);
local naglowek=parametry_modul.CzyTak(args["nagłówek"]);
local ostatni_artykul;
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
if(tab_lista[2])then
for _,artykul_w_bazie in ipairs(tab_lista[2])do
if(not nazwa)then
ostatni_artykul=parametry_modul.TypeTable(artykul_w_bazie[1]) and artykul_w_bazie[1][1] or artykul_w_bazie[1];
else
ostatni_artykul=parametry_modul.TypeTable(artykul_w_bazie[1]) and artykul_w_bazie[1][2] or artykul_w_bazie[1];
end;
end;
end;
end;
if(ostatni_artykul)then
return (not naglowek) and mw.ustring.gsub(ostatni_artykul,"^([^#]*)#(.*)$","%1") or ostatni_artykul;
end;
return "(błąd)";
end;
p["PomiędzyArtykuł"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
local val=stronicowyparser_potrzebne_modul:ObliczeniaInformacje(frame);
if(not val)then return "(błąd)";end;
local element=stronicowyparser_potrzebne_modul:PomiedzyArtykul(frame) or nil;
if(not element)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local parametry_modul=require("Module:Parametry");
local nazwa=parametry_modul.CzyTak(args["nazwa"]);
local czy_table=parametry_modul.TypeTable(element);
local element=czy_table and element[1] or element;
if(not nazwa)then return (not naglowek) and mw.ustring.gsub(element,"^([^#]*)#(.*)$","%1") or element;end;
return czy_table and element[2] or ((not naglowek) and mw.ustring.gsub(element,"^([^#]*)#(.*)$","%1") or element);
end;
p["LosowyArtykuł"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
local val=stronicowyparser_potrzebne_modul:ObliczeniaInformacje(frame);
if(not val)then return "(błąd)";end;
local element=stronicowyparser_potrzebne_modul:LosowyArtykul(frame);
if(not element)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local parametry_modul=require("Module:Parametry");
local nazwa=parametry_modul.CzyTak(args["nazwa"]);
local czy_table=parametry_modul.TypeTable(element);
local element=czy_table and element[1] or element;
if(not nazwa)then return mw.ustring.gsub(element,"^([^#]*)#(.*)$","%1") or element;end;
return czy_table and element[2] or mw.ustring.gsub(element,"^([^#]*)#(.*)$","%1") or element;
end;
local function PobiezNumerLubNazweNaglowka(frame,__FUNKCJA,typ)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local parametry_modul=require("Module:Parametry");
local poziomowo=parametry_modul.CzyTak(args["poziomowo"]);
local ktory=(tonumber(args["który"]) or 1);
local parametr_pierwszy_szablonu=typ and ((not poziomowo) and (tonumber(args[1]) or 1) or args[1]) or args[1];
if(not typ)then
parametr_pierwszy_szablonu,_=mw.ustring.gsub(parametr_pierwszy_szablonu,"^[%s_]+","");
parametr_pierwszy_szablonu,_=mw.ustring.gsub(parametr_pierwszy_szablonu,"[%s_]+$","");
parametr_pierwszy_szablonu,_=mw.ustring.gsub(parametr_pierwszy_szablonu,"[%s_]+"," ");
end;
local HNumer=stronicowyparser_potrzebne_modul.LiczonyHNumer();
local HNumer_2=nil;
local tab_numer_2=nil;
local tab_numer={};
local i=(not poziomowo) and 0 or nil;
local i_2=nil;
local juz_nie_rozwazaj_spisu_tresci=nil;
local juz_nie_rozwazaj_rozdzialu_spisu_tresci=nil;
local stronicowyparser_obiekty=mw.loadData("Module:StronicowyParser/obiekty");
local tab_rozdzialow_glownych_spisow_tresci_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_glownych_spisow_tresci_ksiazek;
local tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek;
local poziom_spisu_tresci=nil;
local pierwszy_dodatni_spis_tresci=nil;
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
local rozdzial=tab_lista[1][1];
local poziom_rozdzialu=tab_lista[1][2][1] or 0;
if(poziom_rozdzialu>0)then
local czy_nie_ten_rozdzial=nil;
local czy_jest_teraz_spis_tresci=tab_rozdzialow_glownych_spisow_tresci_ksiazek[rozdzial];local czy_nie_ten_rozdzial;
if((not juz_nie_rozwazaj_spisu_tresci)and(not juz_nie_rozwazaj_rozdzialu_spisu_tresci)and(czy_jest_teraz_spis_tresci))then
poziom_spisu_tresci=poziom_rozdzialu;
juz_nie_rozwazaj_rozdzialu_spisu_tresci=true;
czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial];
elseif((not juz_nie_rozwazaj_spisu_tresci)and(juz_nie_rozwazaj_rozdzialu_spisu_tresci))then
if((poziom_spisu_tresci<poziom_rozdzialu))then
czy_nie_ten_rozdzial=false;
else
juz_nie_rozwazaj_spisu_tresci=true;
czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial];
end;
else
local juz_nie_rozwazaj_spisu_tresci=nil;
local juz_nie_rozwazaj_rozdzialu_spisu_tresci=nil;
czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial];
end;
if(not czy_nie_ten_rozdzial)then
if(poziomowo)then
local hnumer=HNumer(poziom_rozdzialu);
if(#tab_numer<hnumer)then
for i=#tab_numer+1,hnumer,1 do
table.insert(tab_numer,1);
end;
elseif(#tab_numer>hnumer)then
for i=#tab_numer, hnumer+1,-1 do
table.remove(tab_numer,i);
end;
tab_numer[#tab_numer]=tab_numer[#tab_numer]+1;
else
tab_numer[#tab_numer]=tab_numer[#tab_numer]+1;
end;
----
local wartosc=__FUNKCJA(poziomowo,i,tab_numer,ktory,parametr_pierwszy_szablonu,rozdzial);
----
if(wartosc)then return wartosc;end;
----
if((czy_jest_teraz_spis_tresci)and(not pierwszy_dodatni_spis_tresci))then
HNumer_2=HNumer;
HNumer=stronicowyparser_potrzebne_modul.LiczonyHNumer();
tab_numer_2=tab_numer;
tab_numer={};
pierwszy_dodatni_spis_tresci=true;
elseif((pierwszy_dodatni_spis_tresci)and(poziom_spisu_tresci>=poziom_rozdzialu))then
HNumer=HNumer_2;
HNumer_2=nil;
tab_numer=tab_numer_2;
tab_numer_2=nil;
pierwszy_dodatni_spis_tresci=false;
end;
else
i=i+1;
----
local wartosc=__FUNKCJA(poziomowo,i,tab_numer,ktory,parametr_pierwszy_szablonu,rozdzial);
---
if(wartosc)then return wartosc;end;
---
if((czy_jest_teraz_spis_tresci)and(not pierwszy_dodatni_spis_tresci))then
i_2=i;
i=0;
pierwszy_dodatni_spis_tresci=true;
elseif((pierwszy_dodatni_spis_tresci)and(poziom_spisu_tresci>=poziom_rozdzialu))then
i=i_2;
i_2=nil;
pierwszy_dodatni_spis_tresci=false;
end;
end;
end;
end;
end;
end;
p["PobierzNumerNagłówka"]=function(frame)
local s=1;
local function __FUNKCJA(poziomowo,i,tab_numer,ktory,naglowek,rozdzial)
if(naglowek==rozdzial)then
if(s==ktory)then
if(poziomowo)then
if(#tab_numer==0)then return;end;
return table.concat(tab_numer,".");
else
return i;
end;
end;
s=s+1;
end;
end;
return PobiezNumerLubNazweNaglowka(frame,__FUNKCJA,false);
end;
p["PobierzNazwęNagłówka"]=function(frame)
local s=1;
local function __FUNKCJA(poziomowo,i,tab_numer,ktory,numer,rozdzial)
if(poziomowo)then
if(#tab_numer==0)then return;end;
if(numer==table.concat(tab_numer,"."))then
if(s==ktory)then
return rozdzial;
else
s=s+1;
end;
end;
elseif(numer==i)then
if(s==ktory)then
return rozdzial;
else
s=s+1;
end;
end
end;
return PobiezNumerLubNazweNaglowka(frame,__FUNKCJA,true);
end;
local function PobierzNumerLubNazweArtykulu(frame,tabela_listy_danych_analizy_ksiazki,__FUNKCJA,typ,zbieraj_dane)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame,tabela_listy_danych_analizy_ksiazki);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame,tabela_listy_danych_analizy_ksiazki);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local parametry_modul=require("Module:Parametry");
local naglowek=parametry_modul.CzyTak(args["nagłówek"]);
local tab_artykul=(not naglowek)and {} or nil;
local poziomowo=parametry_modul.CzyTak(args["poziomowo"]);
local tab_poziomowo={};
local tab_poziomowo_1={};
local tab_poziomowo_2={};
local html_modul=require("Module:Html");
local pierwszy_parametr_szablonu=args[1] and (typ and ((not poziomowo) and (tonumber(args[1]) or 1) or args[1])
or ((not naglowek) and mw.ustring.gsub(html_modul["PoprawAdresNagłówkaStronyAdresu"](html_modul["TransformacjaKoduZnakuDoZnakuŁancucha"](args[1])),"^([^#]*)#(.*)$","%1") or html_modul["PoprawAdresNagłówkaStronyAdresu"](html_modul["TransformacjaKoduZnakuDoZnakuŁancucha"](args[1])))
)
or (typ and 1 or "Przykładowy artykuł");
local ktory=(tonumber(args["ktory"]) or 1);
local i=(not poziomowo) and 1 or nil;
local stronicowyparser_obiekty=mw.loadData("Module:StronicowyParser/obiekty");
local tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek;
local tab_rozdzialow_glownych_spisow_tresci_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_glownych_spisow_tresci_ksiazek;
--local HNumer=poziomowo and stronicowyparser_potrzebne_modul.LiczonyHNumer() or nil;
local HNumerPoziomow_4=nil--poziomowo and stronicowyparser_potrzebne_modul.LiczonyHNumer() or nil;
local HNumerPoziomow_3=nil
local HNumerPoziomow_2=nil;
local HNumerPoziomow_1=nil;
local HNumerPoziomow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
local HNumerPoziomowNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
local HNumerPoziomowNaglowkow_1=nil;
local HNumerPoziomowNaglowkow_2=nil;
--local HNumerPoziomowInnychNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
local tab_numer=poziomowo and {} or nil;
tab_numer_1=nil;
tab_numer_3=nil
tab_numer_4=nil;--poziomowo and {} or nil;
local spis=false;
local czy_poziom_spisu_tresci=nil;
local pierwszy_dodatni_naglowek=nil;
local pierwszy_ujemny_naglowek=nil;
local juz_nie_rozwazaj_spisu_tresci=nil;
local juz_nie_rozwazaj_rozdzialu_spisu_tresci=nil;
local poprzedni_poziom_znakowy_rozdzialu=nil;
local poprzedni_tab_poziomowo=nil;
local poziom_pierwszego_dodatniego_naglowka=0;
local poziom_pierwszego_ujemnego_naglowka=0;
local poziom_zerowego_naglowka=0;
local poziom_spisu_tresci_naglowka=0;
local numer_poziomu=nil;
local ostatni_rozdzial_dodatni=nil;
local pierwszy_rozdzial_dodatni=nil;
local glowny_dodatni_rozdzial=nil;
local glowny_ujemny_rozdzial=nil;
local spis_tresci=nil;
local poziom_pierwszego_ujemnego_spisu_tresci=nil;
local ostatni_poczatek_artykulu=nil;
local pierwszy_rowny_rozdzial=nil;
local prawdziwy_poziom_rozdzialu=nil;
local artykuly_w_rozdziale=nil;
local spis_tresci_zerowy;
local poziom_zerowy;
local rozdzial;
local czy_pierwszy_nilowy=nil;
for m,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
local tab_poprzedni_artykul_w_bazie=nil;
local poziom_rozdzialu;
local poziom_poczatku_rozdzialu=nil;
local poziom_znakowy_rozdzialu=nil;
local poziom_naglowka=nil;
if(poziomowo)then
local czy_nienilowy_rozdzial=tab_lista[1][2][1];
czy_pierwszy_nilowy=(m==1)and (czy_nienilowy_rozdzial==nil) or czy_pierwszy_nilowy;
poziom_rozdzialu=czy_nienilowy_rozdzial or 0;
prawdziwy_poziom_rozdzialu=poziom_rozdzialu;
poziom_poczatku_rozdzialu=tab_lista[1][2][2];
--if(m>1)then
rozdzial=tab_lista[1][1];
rozdzial,_=mw.ustring.gsub(rozdzial,"'+","");
--end;
tab_poziomowo={};
--[[local czy_jest_teraz_spis_tresci=((m>1)and(not spis_tresci_zerowy or not poziom_zerowy)or((m==1)and(spis_tresci_zerowy)))
and ((m==1) and true or tab_rozdzialow_glownych_spisow_tresci_ksiazek[rozdzial])]]
local czy_jest_teraz_spis_tresci=(not juz_nie_rozwazaj_rozdzialu_spisu_tresci)
and((m==1)and (czy_nienilowy_rozdzial and tab_rozdzialow_glownych_spisow_tresci_ksiazek[rozdzial] or ((not czy_nienilowy_rozdzial)and true or false))
or ((m>1)and tab_rozdzialow_glownych_spisow_tresci_ksiazek[rozdzial]
or false));
if((m>1)and(czy_pierwszy_nilowy))then
czy_jest_teraz_spis_tresci=tab_rozdzialow_glownych_spisow_tresci_ksiazek[rozdzial];
if(czy_jest_teraz_spis_tresci)then
juz_nie_rozwazaj_rozdzialu_spisu_tresci=nil;
juz_nie_rozwazaj_spisu_tresci=nil;
czy_pierwszy_nilowy=nil;
pierwszy_ujemny_spis_tresci=nil;
end;
end;
local czy_nie_ten_rozdzial;
if((not juz_nie_rozwazaj_spisu_tresci)and(not juz_nie_rozwazaj_rozdzialu_spisu_tresci)and(czy_jest_teraz_spis_tresci))then
poziom_spisu_tresci=poziom_rozdzialu;
juz_nie_rozwazaj_rozdzialu_spisu_tresci=true;
czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial];
elseif((not juz_nie_rozwazaj_spisu_tresci)and(juz_nie_rozwazaj_rozdzialu_spisu_tresci))then
if((poziom_spisu_tresci<poziom_rozdzialu))then
czy_nie_ten_rozdzial=false;
else
juz_nie_rozwazaj_spisu_tresci=true;
czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial];
end;
else
czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial];
end;
--if(not czy_nie_ten_rozdzial)then
poprzedni_poziom_znakowy_rozdzialu=poziom_znakowy_rozdzialu;
poziom_znakowy_rozdzialu=poziom_rozdzialu;
poziom_rozdzialu=math.abs(poziom_rozdzialu);
artykuly_w_rozdziale=nil;
if(poziom_znakowy_rozdzialu>0)then
poziom_naglowka=poziom_rozdzialu;
poziom_pierwszego_ujemnego_spisu_tresci=nil;
poprzedni_tab_poziomowo=nil;
poziom_zerowego_naglowka=0;
if(glowny_ujemny_rozdzial)then
HNumerPoziomow=HNumerPoziomow_4;
HNumerPoziomow_4=nil;
tab_numer=tab_numer_4;
poziom_pierwszego_ujemnego_naglowka=nil;
glowny_ujemny_rozdzial=nil;
end;
if(pierwszy_ujemny_spis_tresci)then
HNumerPoziomow=HNumerPoziomow_2;
HNumerPoziomow_2=nil;
tab_numer=tab_numer_2;
tab_numer_2=nil;
pierwszy_ujemny_spis_tresci=nil;
czy_poziom_ujemny_spisu_tresci=nil;
end;
if(not glowny_dodatni_rozdzial)then
if((juz_nie_rozwazaj_rozdzialu_spisu_tresci)and(not juz_nie_rozwazaj_spisu_tresci)and(not czy_jest_teraz_spis_tresci)and(not spis_tresci))then
numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu,1);
spis_tresci=true;
else
if(not pierwszy_rozdzial_dodatni)then
pierwszy_rozdzial_dodatni=1;
numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu,1);
else
numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu);
end;
end;
else
numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu,1);
glowny_dodatni_rozdzial=false;
end;
ostatni_rozdzial_dodatni=poziom_rozdzialu;
elseif(poziom_znakowy_rozdzialu<0)then
if(not pierwszy_rowny_rozdzial)then
if((ostatni_poczatek_artykulu)
and(#ostatni_poczatek_artykulu==#poziom_poczatku_rozdzialu)
and(ostatni_poczatek_artykulu~=poziom_poczatku_rozdzialu)
and(mw.ustring.match(ostatni_poczatek_artykulu,"^*"))
and(mw.ustring.match(poziom_poczatku_rozdzialu,"^:"))
)then
poziom_rozdzialu=poziom_rozdzialu+1;
poziom_znakowy_rozdzialu=-poziom_rozdzialu;
pierwszy_rowny_rozdzial=1;
poziom_naglowka=poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka;
else
poziom_naglowka=poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka;
end;
else
if((#ostatni_poczatek_artykulu==#poziom_poczatku_rozdzialu)
and(ostatni_poczatek_artykulu==poziom_poczatku_rozdzialu)
)then pierwszy_rowny_rozdzial=0;end;
poziom_rozdzialu=poziom_rozdzialu+pierwszy_rowny_rozdzial;
poziom_znakowy_rozdzialu=-poziom_rozdzialu;
poziom_naglowka=poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka;
end;
if(not glowny_ujemny_rozdzial)then
--if((juz_nie_rozwazaj_rozdzialu_spisu_tresci)and(not juz_nie_rozwazaj_spisu_tresci)and(not spis_tresci))then
-- numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu,1);
-- spis_tresci=true;
--else
numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka);
--end;
local numer_rozdzialu_dodatniego=HNumerPoziomowNaglowkow(0) or 0;
if(numer_rozdzialu_dodatniego>=numer_rozdzialu)then
numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka,numer_rozdzialu_dodatniego+1);
end;
else
numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka,(HNumerPoziomowNaglowkow(0) or 0)+1);
glowny_ujemny_rozdzial=false;
end;
else
if((m>1)or((m==1)and((not czy_pierwszy_nilowy)or(not czy_jest_teraz_spis_tresci))))then
poziom_zerowego_naglowka=1;
numer_rozdzialu=HNumerPoziomow( 1 + (ostatni_rozdzial_dodatni or 0) + 0);
poziom_znakowy_rozdzialu=-1;
poziom_rozdzialu=1;
poziom_naglowka= 1 + (ostatni_rozdzial_dodatni or 0) + 0;
else
poziom_zerowego_naglowka=0;
numer_rozdzialu=0;
poziom_naglowka=(ostatni_rozdzial_dodatni or 0) + 0;
end;
end;
local numer;
if(poziom_znakowy_rozdzialu>0)then
local numer=HNumerPoziomowNaglowkow(poziom_znakowy_rozdzialu);
--HNumerPoziomowInnychNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
elseif(poziom_znakowy_rozdzialu<0)then
--local numer=HNumerPoziomowInnychNaglowkow(-poziom_znakowy_rozdzialu);
end;
if((m>1)
and(tab_lista_artykulow_w_ksiazce[m-1])
and(tab_lista_artykulow_w_ksiazce[m-1][2])
and(#tab_lista_artykulow_w_ksiazce[m-1][2][1]>0)
and(tab_lista_artykulow_w_ksiazce[m-1][2][#tab_lista_artykulow_w_ksiazce[m-1][2]][2][1]==0)
)then
local lens_tab_numer=#tab_numer;
local roznica=math.min(#poprzedni_tab_poziomowo+#tab_numer,numer_rozdzialu)-#tab_numer;
roznica=((roznica>0) and roznica or 0);
for i=1,roznica,1 do
tab_numer[i+lens_tab_numer]=poprzedni_tab_poziomowo[i];
end;
end;
if((czy_jest_teraz_spis_tresci)and(juz_nie_rozwazaj_rozdzialu_spisu_tresci))then
if(poziom_znakowy_rozdzialu>0)then
poziom_spisu_tresci_naglowka=poziom_rozdzialu;
else
poziom_pierwszego_ujemnego_spisu_tresci=poziom_rozdzialu;
end;
end;
if(poziom_rozdzialu>0)then
if((((czy_poziom_dodatni_spisu_tresci)and(poziom_znakowy_rozdzialu>0))or((czy_poziom_ujemny_spisu_tresci)and(poziom_znakowy_rozdzialu<0)))
and(poziom_spisu_tresci)and(poziom_spisu_tresci>=poziom_rozdzialu)
)then
if(poziom_znakowy_rozdzialu>0)then
tab_numer=tab_numer_1;
tab_poziomowo={};
poziom_spisu_tresci=nil;
HNumerPoziomow=HNumerPoziomow_1;
HNumerPoziomowNaglowkow=HNumerPoziomowNaglowkow_1;
czy_poziom_dodatni_spisu_tresci=false;
elseif(poziom_znakowy_rozdzialu<0)then
tab_numer=tab_numer_2;
tab_poziomowo={};
poziom_spisu_tresci=nil;
HNumerPoziomow=HNumerPoziomow_2;
--HNumerPoziomowNaglowkow=HNumerPoziomowNaglowkow_2;
czy_poziom_ujemny_spisu_tresci=false;
pierwszy_ujemny_spis_tresci=nil;
end;
end;
local hnumer=numer_rozdzialu;
if(poprzedni_tab_poziomowo)then
local lens=math.min(#poprzedni_tab_poziomowo,hnumer-#tab_numer);
local len_tab_numer=#tab_numer;
for i=1,lens,1 do
tab_numer[len_tab_numer+i]=poprzedni_tab_poziomowo[i];
end;
for i=lens+1,#tab_numer do
tab_numer[len_tab_numer+i]=nil;
end;
end;
if(#tab_numer<hnumer)then
for i=#tab_numer+1,hnumer,1 do
table.insert(tab_numer,1);
end;
elseif(#tab_numer>hnumer)then
for i=#tab_numer, hnumer+1,-1 do
table.remove(tab_numer,i);
end;
tab_numer[#tab_numer]=(tab_numer[#tab_numer] or 0) + 1;
else
tab_numer[#tab_numer]=(tab_numer[#tab_numer] or 0) + 1;
end;
else
--[[if(poziom_rozdzialu==0)then
if(tab_lista_artykulow_w_ksiazce[m+1])then
if(tab_lista_artykulow_w_ksiazce[m+1][1][2]>0)then
tab_numer={0,};
elseif(tab_lista_artykulow_w_ksiazce[m+1][1][2]<0)then
tab_numer={};
end;
else
tab_numer={};
end;
end;]]
end;
--end;
if((czy_jest_teraz_spis_tresci)and(((not pierwszy_dodatni_spis_tresci)and(poziom_znakowy_rozdzialu>0))or((not pierwszy_ujemny_spis_tresci)and(poziom_znakowy_rozdzialu<0))))then
function Poziom_dodatni()
for s,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
if(s>m)then
if((tab_lista[1][2][1] or 0)>0)then
if(math.abs(tab_lista[1][2][1] or 0)>poziom_rozdzialu)then
return true;
else
return false;
end;
end;
end;
end;
return false;
end;
local function czy_inaczej_numeruj_rozdzial_dodatni()
if(tab_lista_artykulow_w_ksiazce[m][2])then
for p,artykul_w_bazie in ipairs(tab_lista_artykulow_w_ksiazce[m][2])do
return true;
end;
end;
end;
local function czy_inaczej_numeruj_rozdzial_ujemny()
if(tab_lista_artykulow_w_ksiazce[m][2])then
for p,artykul_w_bazie in ipairs(tab_lista_artykulow_w_ksiazce[m][2])do
local poziom_artykulu=artykul_w_bazie[2][1];
if(prawdziwy_poziom_rozdzialu~=0)then
if(poziom_artykulu>poziom_rozdzialu)then
return true;
end;
else
return true;
end;
end;
end;
return false;
end;
if((poziom_znakowy_rozdzialu>0)and((czy_inaczej_numeruj_rozdzial_dodatni())or(Poziom_dodatni())))then
tab_poziomowo_1=tab_poziomowo;
tab_poziomowo={};
czy_poziom_dodatni_spisu_tresci=true;
HNumerPoziomow_1=HNumerPoziomow;
HNumerPoziomow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
HNumerPoziomowNaglowkow_1=HNumerPoziomowNaglowkow;
HNumerPoziomowNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
tab_numer_1=tab_numer;
tab_numer={};
pierwszy_dodatni_spis_tresci=true;
elseif((poziom_znakowy_rozdzialu<0)
and((czy_inaczej_numeruj_rozdzial_ujemny())or((tab_lista_artykulow_w_ksiazce[m+1])
and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)<0)
and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>poziom_rozdzialu))))then
tab_poziomowo_2=tab_poziomowo;
tab_poziomowo={};
czy_poziom_ujemny_spisu_tresci=true;
HNumerPoziomow_2=HNumerPoziomow;
HNumerPoziomow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
--HNumerPoziomowNaglowkow_2=HNumerPoziomowNaglowkow;
--HNumerPoziomowNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
tab_numer_2=tab_numer;
tab_numer={};
pierwszy_ujemny_spis_tresci=true;
end;
end;
local function OTakimSamymLubMniejszymPoziomie(m)
if(poziom_rozdzialu==0)then return true;end;
local lens=parametry_modul["LiczbaElementówNumerowanychTablicy"](tab_lista_artykulow_w_ksiazce);
if(m==lens)then return true;end;
if(poziom_znakowy_rozdzialu>0)then
for k=m+1,lens,1 do
if(tab_lista_artykulow_w_ksiazce[k])then
if((tab_lista_artykulow_w_ksiazce[k][1][2][1] or 0)>0)then
if(math.abs(tab_lista_artykulow_w_ksiazce[k][1][2][1] or 0)<=poziom_rozdzialu)then
return true;
end;
end;
end;
end;
elseif(((m==1)or((tab_lista_artykulow_w_ksiazce[m-1])and((tab_lista_artykulow_w_ksiazce[m-1][1][2][1] or 0)>0)))and(poziom_znakowy_rozdzialu<0))then
if(tab_lista[2])then
for p,artykul_w_bazie in ipairs(tab_lista[2])do
local poziom_artykulu=artykul_w_bazie[2][1];
if(poziom_artykulu<=-prawdziwy_poziom_rozdzialu)then
return true;
end;
end;
end;
local poziom_zerowego_naglowka_innego=0;
for k=m+1,lens,1 do
if(tab_lista_artykulow_w_ksiazce[k])then
if((tab_lista_artykulow_w_ksiazce[k][1][2][1] or 0)<=0)then
local ile=tab_lista_artykulow_w_ksiazce[k][1][2][1] or 0;
if(ile==0)then
if((czy_jest_teraz_spis_tresci)and(m==1))then
poziom_zerowego_naglowka_innego=poziom_zerowego_naglowka;
else
poziom_zerowego_naglowka_innego=1;
end;
end;
if(math.abs(tab_lista_artykulow_w_ksiazce[k][1][2][1] or 0)+poziom_zerowego_naglowka_innego<=poziom_rozdzialu)then
return true;
end;
else
break;
end;
end;
end;
else
return true;
end;
end;
-- if(not czy_nie_ten_rozdzial)then
if((tab_lista[2])
and(tab_lista[2][1])
and(tab_lista[2][1][2][1]==0)
and(not tab_lista[2][1][4])
and(tab_lista_artykulow_w_ksiazce[m+1])
and(((poziom_znakowy_rozdzialu>0)
and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>0)
and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>poziom_rozdzialu)
)or(
((poziom_znakowy_rozdzialu<0)
and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)<0)
and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)+poziom_zerowego_naglowka>poziom_rozdzialu)
)
)or(
(poziom_znakowy_rozdzialu==0)and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)~=0)
))
)then
if(m==1)then
tab_numer={0,}
else
table.insert(tab_numer,0);
end;
elseif((m==1)and(not tab_lista_artykulow_w_ksiazce[m+1]))then
tab_numer={};
elseif((poziomowo)and(m==1)and(czy_pierwszy_nilowy)and(poziom_znakowy_rozdzialu==0)and(tab_lista_artykulow_w_ksiazce[m+1])and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)<0))then
tab_numer={};
elseif((poziomowo)and(m==1)and(czy_pierwszy_nilowy)and(poziom_znakowy_rozdzialu==0)and(tab_lista_artykulow_w_ksiazce[m+1])and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>0))then
tab_numer={0,}
elseif((poziomowo)and(m==2)and(czy_pierwszy_nilowy)and(poziom_znakowy_rozdzialu<0)and(tab_lista_artykulow_w_ksiazce[m-1])and((tab_lista_artykulow_w_ksiazce[m-1][1][2][1] or 0)==0))then
if(poprzedni_tab_poziomowo)then
local min=math.min(math.abs(numer_rozdzialu),#poprzedni_tab_poziomowo);
for i=#poprzedni_tab_poziomowo,min+1,-1 do
table.remove(poprzedni_tab_poziomowo,i)
end;
tab_numer=poprzedni_tab_poziomowo;
tab_numer[#tab_numer]=(tab_numer[#tab_numer] or 0)+1;
end;
elseif((not czy_jest_teraz_spis_tresci)and(((not pierwszy_dodatni_naglowek)and(poziom_znakowy_rozdzialu>0))or((not pierwszy_ujemny_naglowek)and(poziom_znakowy_rozdzialu<0))))then
if(poziom_rozdzialu>0)then
if(not OTakimSamymLubMniejszymPoziomie(m))then
if(poziom_znakowy_rozdzialu>0)then
HNumerPoziomowNaglowkow_2=HNumerPoziomowNaglowkow;
HNumerPoziomowNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
tab_numer_3=tab_numer;
tab_numer={0,};
HNumerPoziomow_3=HNumerPoziomow;
HNumerPoziomow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
pierwszy_dodatni_naglowek=true;
poziom_pierwszego_dodatniego_naglowka=poziom_rozdzialu;
glowny_dodatni_rozdzial=true;
else
tab_numer_4=tab_numer;
tab_numer=parametry_modul["KopiujTabelęElementów"](tab_numer);
tab_numer[#tab_numer]=nil;
HNumerPoziomow_4=HNumerPoziomow;
HNumerPoziomow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
if(poziom_naglowka or 0>0)then
HNumerPoziomow(poziom_naglowka,#tab_numer);
end;
pierwszy_ujemny_naglowek=true;
poziom_pierwszego_ujemnego_naglowka=poziom_rozdzialu;
glowny_ujemny_rozdzial=true;
end;
else
if(poziom_znakowy_rozdzialu>0)then pierwszy_dodatni_naglowek=true;else pierwszy_ujemny_naglowek=true;end;
end;
end;
elseif((czy_jest_teraz_spis_tresci)and(not czy_nie_ten_rozdzial))then
if((not spis)and(poziom_rozdzialu>0)
and(tab_lista_artykulow_w_ksiazce[m+1])
and((
(poziom_znakowy_rozdzialu>0)
and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>0)
and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>poziom_rozdzialu)
)or(
(poziom_znakowy_rozdzialu<0)
and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)<0)
and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>poziom_rozdzialu)
))
)then
tab_numer={0,};
spis=true;
end
elseif((tab_lista_artykulow_w_ksiazce[m+1])
and((
(poziom_znakowy_rozdzialu>0)
and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>0)
and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>poziom_rozdzialu)
)--[[or(
(poziom_znakowy_rozdzialu<0)
and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)<0)
and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>poziom_rozdzialu)
)]])
)then
table.insert(tab_numer,0);
end;
-- end;
end;
if(tab_lista[2])then
local HNumerArtykulu=stronicowyparser_potrzebne_modul.LiczonyHNumer();
local HNumerPoziomu=stronicowyparser_potrzebne_modul.LiczonyHNumer();
local czy_tytul_rozdzial=nil;local poprzedni_b=nil;local ile_odjac=0;
local HNumerB=nil;
local poprzedni_poziom_artykulu=nil;
local czy_ma_elementy=nil;
local poziom_poprzedni_artykulu=nil;
for p,artykul_w_bazie in ipairs(tab_lista[2])do
local artykul=artykul_w_bazie[1][1] or artykul_w_bazie[1];
artykul=(not naglowek)and mw.ustring.gsub(artykul,"^([^#]*)#(.*)$","%1") or artykul;
if(naglowek or not tab_artykul[artykul])then
pierwszy_rowny_rozdzial=nil;
czy_ma_elementy=true;
if(not naglowek)then
tab_artykul[artykul]=true;
end;
local tab_artykul_w_bazie;
if(poziomowo)then
local poziom_artykulu=artykul_w_bazie[2][1];
local poziom_poczatku_artykulu=artykul_w_bazie[2][2];
local w_rozdziale=artykul_w_bazie[2][4];
if(w_rozdziale)then
function CzyRozdzialMaArtykulyNieWewnetrzne()
for s,artykul_w_bazie in ipairs(tab_lista[2])do
if(s>p)then
if((tab_lista[2][s])and(not tab_lista[2][s][2][4]))then
return true;
end;
end;
end;
return false;
end;
function CzyRozdzialMaRozdzialyNieWewnetrzne()
for s,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
if(s>m)then
local poziom_rozdzialu=tab_lista[1][2][1] or 0;
if(poziom_rozdzialu<0)then
return true;
end;
end;
end;
return false;
end;
if((not artykuly_w_rozdziale)and((CzyRozdzialMaArtykulyNieWewnetrzne())or(CzyRozdzialMaRozdzialyNieWewnetrzne())))then
tab_numer[#tab_numer+1]=0;
artykuly_w_rozdziale=true;
else
if(not tab_lista[2][p+1])then
local wartosc=__FUNKCJA(poziomowo,i,ktory,pierwszy_parametr_szablonu,rozdzial,artykul,tab_numer,{});
if(wartosc)then return wartosc;end;
end;
end;
elseif(artykuly_w_rozdziale)then
artykuly_w_rozdziale=nil;
table.remove(tab_numer,#tab_numer);
tab_poziomowo={};
end;
ostatni_poczatek_artykulu=poziom_poczatku_artykulu;
local function ToNumberPoziomArtykulu(poziom_artykulu)
local numer=tonumber(poziom_artykulu) or 1;
if(numer<1)then numer=1;end;
return numer;
end;
poziom_artykulu=ToNumberPoziomArtykulu(poziom_artykulu);
local poziom_czysty_artykulu=poziom_artykulu;
poziom_artykulu=poziom_artykulu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka;
if((poziom_poczatku_artykulu)and(poziom_poczatku_rozdzialu)
and(#poziom_poczatku_artykulu==#poziom_poczatku_rozdzialu)
and(poziom_poczatku_artykulu~=poziom_poczatku_rozdzialu)
and(mw.ustring.match(poziom_poczatku_rozdzialu,"^*"))
and((mw.ustring.match(poziom_poczatku_artykulu,"^:"))
or (mw.ustring.match(poziom_poczatku_artykulu,"^#"))
)
)then
poziom_artykulu=poziom_artykulu+1;
poziom_czysty_artykulu=poziom_czysty_artykulu+1;
end;
local numer_poziomu=HNumerPoziomow(poziom_artykulu);
if(p>1)then
local numer_poprzedni=tonumber(tab_lista[2][p-1][2][1]) or 1;
local id_poprzednie=tab_lista[2][p-1][4];
local numer=tonumber(tab_lista[2][p][2][1]) or 1;
local id=tab_lista[2][p][4];
if((numer_poprzedni==0)and(not id_poprzednie)and(not id)and(numer>0))then
if(#tab_numer>(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka)then
tab_numer[#tab_numer]=(tab_numer[#tab_numer] or 0)+1;
tab_poziomowo={};
end;
end;
end;
local prefix_poziom_artykulu=poziom_artykulu;
local b=0;
local tab_artykul_w_bazie=mw.text.split(artykul,"/");
if(tab_poprzedni_artykul_w_bazie)then
if(poprzedni_poziom_artykulu)then
if(poprzedni_poziom_artykulu==poziom_artykulu)then
for c=1,#tab_artykul_w_bazie,1 do
local podstrona_artykul=tab_artykul_w_bazie[c];
local podstrona_nazwy_artykulu=tab_poprzedni_artykul_w_bazie[c];
if(podstrona_artykul==podstrona_nazwy_artykulu)then
b=b+1;
end;
end;
else
b=0;
end;
end;
if(poziom_znakowy_rozdzialu<0)then
if(#tab_numer~=0)then
if(poziom_artykulu<=(poziom_pierwszego_ujemnego_naglowka or 0))then
tab_poziomowo=tab_numer_4;
tab_numer={};
HNumerArtykulu=HNumerPoziomow_4;
elseif((poziom_poprzedni_artykulu)and(poziom_artykulu>(poziom_pierwszego_ujemnego_naglowka or 0))and(poziom_poprzedni_artykulu>(poziom_pierwszego_ujemnego_spisu_tresci or 0))and(poziom_artykulu<=(poziom_pierwszego_ujemnego_spisu_tresci or 0)))then
HNumerArtykulu=stronicowyparser_potrzebne_modul.LiczonyHNumer();
for i=#tab_poziomowo,numer_poziomu+1,-1 do
table.remove(tab_numer,i);
end;
tab_numer[#tab_numer]=(tab_numer[#tab_numer] or 0 ) + 1;
tab_poziomowo=tab_numer;
tab_numer={};
elseif((poziom_naglowka>=poziom_artykulu)or((poziom_rozdzialu==poziom_czysty_artykulu)
and((numer_poziomu<numer_rozdzialu)
or((numer_poziomu==numer_rozdzialu)
and(poziom_poczatku_rozdzialu==poziom_poczatku_artykulu)
))
))then
local tab_numer2={};
for i=1,(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka,1 do
tab_numer2[i]=tab_numer[i];
end;
local tab_poziomowo2={};
for i=(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka+1,#tab_numer,1 do
tab_poziomowo2[i-(HNumerPoziomowNaglowkow(0) or 0)-poziom_zerowego_naglowka]=tab_numer[i];
end;
local indeks=(((HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka+1>#tab_numer) and 0 or (#tab_numer-(HNumerPoziomowNaglowkow(0) or 0)-poziom_zerowego_naglowka));
for i=1,numer_poziomu,1 do
tab_poziomowo2[i+indeks]=tab_poziomowo[i];
end;
tab_numer=tab_numer2;
tab_poziomowo=tab_poziomowo2;
--[[tab_poziomowo=tab_numer;
tab_numer={};]]
HNumerArtykulu=stronicowyparser_potrzebne_modul.LiczonyHNumer();
--local numer_poziomu=HNumerPoziomow(poziom_artykulu+(ostatni_rozdzial_dodatni or 0),#tab_poziomowo+1);
end;
end;
end;
elseif(#tab_numer>numer_poziomu)then
tab_poziomowo={};
tab_poziomowo[1]=tab_numer[numer_poziomu];
for i=#tab_numer,numer_poziomu,-1 do
table.remove(tab_numer,i);
end;
elseif((#tab_numer<=numer_rozdzialu)and(numer_rozdzialu>=numer_poziomu))then
local numer_rozdzialu_dodatniego=(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka;
if((numer_rozdzialu_dodatniego>0)or((numer_rozdzialu==numer_poziomu)and(poziom_poczatku_rozdzialu==poziom_poczatku_artykulu)))then
if(#tab_numer>=numer_rozdzialu_dodatniego)then
local tab_numer2={};
for i=1,numer_rozdzialu_dodatniego,1 do
tab_numer2[i]=tab_numer[i];
end;
tab_poziomowo={};
for i=numer_rozdzialu_dodatniego+1,#tab_numer,1 do
tab_poziomowo[i-numer_rozdzialu_dodatniego]=tab_numer[i];
end;
tab_numer=tab_numer2;
end;
end;
end;
poprzedni_poziom_artykulu=poziom_artykulu;
local czy_z_rozdzialem=(tab_artykul_w_bazie[1]==rozdzial);
if((p==1)and(czy_z_rozdzialem))then b=1;end;
czy_tytul_rozdzial=((p==1)and true or czy_tytul_rozdzial) and (czy_z_rozdzialem);
local dodatek=b-((czy_tytul_rozdzial)and 0 or 1);
dodatek=((dodatek>0)and dodatek or 0);
if((poziomowo)and(poziom_znakowy_rozdzialu<0))then
if(poziom_naglowka>=poziom_artykulu)then
local numer_poziomu=HNumerPoziomu(poziom_naglowka,numer_rozdzialu-(HNumerPoziomowNaglowkow(0) or 0));
end;
end;
local stala=poziom_artykulu;
local numer_poziomu=HNumerPoziomu(stala);
poziom_artykulu=stala+dodatek;
local numer=HNumerArtykulu(poziom_artykulu);
local roznica=numer_poziomu-numer;
if(roznica>0)then
numer=HNumerArtykulu(poziom_artykulu,numer_poziomu);
end;
if(#tab_poziomowo<numer)then
for i=#tab_poziomowo+1,numer,1 do
table.insert(tab_poziomowo,1);
end;
else
if(#tab_poziomowo>numer)then
for i=#tab_poziomowo,numer+1,-1 do
table.remove(tab_poziomowo,i);
end;
end;
tab_poziomowo[#tab_poziomowo]=(tab_poziomowo[#tab_poziomowo] or 0)+1;
end;
tab_poprzedni_artykul_w_bazie=tab_artykul_w_bazie;
poziom_poprzedni_artykulu=poziom_artykulu;
end;
local wartosc=__FUNKCJA(poziomowo,i,ktory,pierwszy_parametr_szablonu,rozdzial,artykul,tab_numer,tab_poziomowo);
if(poziomowo)then
if(tab_lista[2][p+1])then
local numer_nastepny=tonumber(tab_lista[2][p+1][2][1]) or 1;
local id_nastepny=tab_lista[2][p+1][4];
local numer=tonumber(tab_lista[2][p][2][1]) or 1;
local id=tab_lista[2][p][4];
if((numer_nastepny==0)and(not id_nastepny)and(not id)and(numer>0))then
tab_poziomowo={tab_numer[(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka+1],};
for i=#tab_numer,(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka+1,-1 do
table.remove(tab_numer,i);
end;
end;
end;
poprzedni_tab_poziomowo=tab_poziomowo;
end;
if(wartosc)then return wartosc;end;
if(not poziomowo)then
i=i+1;
end;
end;
end;
if(not czy_ma_elementy)then
poprzedni_tab_poziomowo=nil;
if(zbieraj_dane)then local wartosc=__FUNKCJA(poziomowo,i,ktory,pierwszy_parametr_szablonu,rozdzial,"",tab_numer,{}); end;
end;
else
poprzedni_tab_poziomowo=nil;
if(zbieraj_dane)then local wartosc=__FUNKCJA(poziomowo,i,ktory,pierwszy_parametr_szablonu,rozdzial,"",tab_numer,{}); end;
end;
end;
return;
end;
p["PobierzNazwęArtykułu"]=function(frame,tabela_listy_danych_analizy_ksiazki)
local s=1;
local function __FUNKCJA(poziomowo,i,ktory,numer,rozdzial,artykul,tab_numer,tab_poziomowo)
if((not poziomowo)and(i==numer))then
if(s==ktory)then
return artykul;
else
s=s+1;
end;
elseif(poziomowo)then
if((table.concat(tab_numer,".")
..((#tab_numer>0) and "." or "")
..table.concat(tab_poziomowo,"."))==numer)then
if(s==ktory)then
return artykul;
else
s=s+1;
end;
end;
end;
end;
return PobierzNumerLubNazweArtykulu(frame,tabela_listy_danych_analizy_ksiazki,__FUNKCJA,true);
end;
p["PobierzNumerArtykułu"]=function(frame,tabela_listy_danych_analizy_ksiazki)
local s=1;
local function __FUNKCJA(poziomowo,i,ktory,nazwa_artykulu,rozdzial,artykul,tab_numer,tab_poziomowo)
if(nazwa_artykulu==artykul)then
if(s==ktory)then
if(poziomowo)then
return (table.concat(tab_numer,".")..((#tab_numer>0) and ((#tab_poziomowo>0) and "." or "") or "")..table.concat(tab_poziomowo,"."));
else
return i;
end;
end;
s=s+1;
end;
end;
return PobierzNumerLubNazweArtykulu(frame,tabela_listy_danych_analizy_ksiazki,__FUNKCJA,false);
end;
p["PobierzDaneKsiążki"]=function(frame,tabela_listy_danych_analizy_ksiazki,kodowanie_nie_json)
local tab_dane_ksiazki=nil;
local s=1;
local function __FUNKCJA(poziomowo,i,ktory,nazwa_artykulu,rozdzial,artykul,tab_numer,tab_poziomowo)
if(not tab_dane_ksiazki)then tab_dane_ksiazki={};end;
if(not tab_dane_ksiazki[rozdzial])then tab_dane_ksiazki[rozdzial]={};end;
local numer_rozdzialu=tab_numer and table.concat(tab_numer,".") or "";
repeat
numer_rozdzialu=mw.ustring.gsub(numer_rozdzialu,"%.0$","")
until not mw.ustring.match(numer_rozdzialu,"%.0$");
if(not tab_dane_ksiazki[rozdzial][numer_rozdzialu])then
tab_dane_ksiazki[rozdzial][numer_rozdzialu]={};
end;
if(not tab_dane_ksiazki[rozdzial][numer_rozdzialu][artykul])then
tab_dane_ksiazki[rozdzial][numer_rozdzialu][artykul]={};
end;
local numer_artykulu=tab_poziomowo and table.concat(tab_poziomowo,".") or "";
if(not tab_dane_ksiazki[rozdzial][numer_rozdzialu][artykul][numer_artykulu])then
tab_dane_ksiazki[rozdzial][numer_rozdzialu][artykul][numer_artykulu]={};
end;
table.insert(tab_dane_ksiazki[rozdzial][numer_rozdzialu][artykul][numer_artykulu],s);
s=s+1;
return false;
end;
PobierzNumerLubNazweArtykulu(frame,tabela_listy_danych_analizy_ksiazki,__FUNKCJA,false,true);
return (not kodowanie_nie_json) and mw.text.jsonEncode(tab_dane_ksiazki,mw.text.JSON_PRESERVE_KEYS) or tab_dane_ksiazki;
end;
p["SubNazwaNadArtykułu"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local numer=tonumber(args[1]) or 0;
local krok=tonumber(args[2])or 1;
local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame);
return stronicowyparser_potrzebne_modul.SubNazwaNadStrony(nazwa_artykulu,numer,krok);
end;
p["NazwaNadArtykułu"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local numer=tonumber(args[1]) or 1;
local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame);
return stronicowyparser_potrzebne_modul.SubNazwaNadStrony(nazwa_artykulu,1,numer);
end;
p["NazwaLinkuArtykułu"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame);
local ostatni_artykul;
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
if(tab_lista[2])then
for _,artykul_w_bazie in ipairs(tab_lista[2])do
if(type(artykul_w_bazie[1])~="table")then
if(artykul_w_bazie[1]==nazwa_artykulu)then
return artykul_w_bazie[1];
end;
elseif(artykul_w_bazie[1][1]==nazwa_artykulu)then
return artykul_w_bazie[1][2];
end;
end;
end;
end;
return "(błąd)";
end;
p["LiczbaArtykułówKsiążki"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local parametry_modul=require("Module:Parametry");
local args=stronicowyparser_potrzebne_modul:Args();
local naglowek=parametry_modul.CzyTak(args["nagłówek"]);
local tab_artykul=(not naglowek) and {} or nil;
local i=0;
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
if(tab_lista[2])then
for _,artykul_w_bazie in ipairs(tab_lista[2])do
local nazwa_artykulu=artykul_w_bazie[1][1] or artykul_w_bazie[1];
local artykul=(not naglowek) and mw.ustring.gsub(nazwa_artykulu,"^([^#]*)#(.*)$","%1") or nazwa_artykulu;
if(naglowek or not tab_artykul[artykul])then
if(not naglowek)then
tab_artykul[artykul]=true;
end;
i=i+1;
end;
end;
end;
end;
return i;
end;
p["LiniaArtykułuKsiążki"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame);
local parametry_modul=require("Module:Parametry");
local args=stronicowyparser_potrzebne_modul:Args();
local czy_analiza=parametry_modul.CzyTak(args["analiza"]);
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
if(tab_lista[2])then
for _,artykul_w_bazie in ipairs(tab_lista[2])do
local artykul_ksiazki=artykul_w_bazie[1][1] or artykul_w_bazie[1];
if(artykul_ksiazki==nazwa_artykulu)then
if(not czy_analiza)then
return artykul_w_bazie[3];
else
local function AnalizaLiniiArtykolow()
local czy_spis_tresci=mw.ustring.match(artykul_w_bazie[3],"({{%s*[Ss]pisTreści%s*|[^{}]*}})");
if(czy_spis_tresci)then
local techniczne_modul=require("Module:Techniczne");
local parametry_szablony=techniczne_modul["ParsujWywołanieSzablonu"](czy_spis_tresci);
local nazwa_artykulu=parametry_szablony[1];
------
local nazwa_ksiazki=stronicowyparser_potrzebne_modul:PelnaNazwaKsiazki(frame);
local pelna_nazwa_strony=(nazwa_artykulu=="")and nazwa_ksiazki or nazwa_ksiazki.."/"..nazwa_artykulu;
local link= "[["..pelna_nazwa_strony.."|"..nazwa_artykulu.."]]";
local linia2,_=mw.ustring.gsub(artykul_w_bazie[3],"({{%s*[Ss]pisTreści%s*|[^{}]*}})",link);
return linia2;
else
local czy_spis_tresci=mw.ustring.match(artykul_w_bazie[3],"({{%s*[Ss]ekcja[%s_]+referencyjna%s*|[^{}]*}})");
if(czy_spis_tresci)then
local linia2,_=mw.ustring.gsub(artykul_w_bazie[3],"({{%s*[Ss]ekcja[%s_]+referencyjna%s*|)","%1astandardowo=tak|");
return linia2;
else
local nazwa_ksiazki=stronicowyparser_potrzebne_modul:PelnaNazwaKsiazki(frame);
local function adresuj_linki(a,b)
return "[["..nazwa_ksiazki.."/"..a..(b or "").."]]";
end;
local artykul=mw.ustring.gsub(artykul_w_bazie[3],"%[%[%s*/([^%[%]|]-)/*%s*(|.*)%]%]",adresuj_linki);
artykul=mw.ustring.gsub(artykul,"%[%[%s*/([^%[%]|]-)/*%s*%]%]",adresuj_linki);
return artykul;
end;
end;
end;
return AnalizaLiniiArtykolow();
end
end;
end;
end;
end;
local uzupelniaj_sekcje_artykulow=parametry_modul.CzyTak(args["uzupełniaj sekcje artykułów"]);
if(uzupelniaj_sekcje_artykulow)then
if(mw.ustring.match(nazwa_artykulu,"^[^#]*#(.+)$"))then
local naglowek=mw.ustring.match(nazwa_artykulu,"^[^#]*#(.+)$");
if(parametry_modul["CzyTakCiąg"](naglowek))then
local pelna_nazwa_ksiazki=stronicowyparser_potrzebne_modul:PelnaNazwaKsiazki(frame)
return "[["..pelna_nazwa_ksiazki..((nazwa_artykulu~="")and("/"..nazwa_artykulu) or "").."|"..naglowek.."]]";
end;
end;
end;
end;
p["AktualnaKsiążka"]=function(frame,__error)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
return stronicowyparser_potrzebne_modul:PelnaNazwaKsiazki(frame) or ((not __error)and "(błąd)" or nil);
end;
p["NazwaAktualnyArtykuł"]=function(frame,__error)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
return stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame) or ((not __error)and "(błąd)" or nil);
end;
p["ListaNagłówkówKsiążki"] = function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local stronicowyparser_obiekty=mw.loadData("Module:StronicowyParser/obiekty");
local tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek;
local tab_rozdzialow_glownych_spisow_tresci_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_glownych_spisow_tresci_ksiazek;
local czy_sa_rozdzialy=nil;
local pelna_nazwa_ksiazki=stronicowyparser_potrzebne_modul:PelnaNazwaKsiazki(frame);
local args=stronicowyparser_potrzebne_modul:Args();
local wikikod="";
local linki_modul=require("Module:Linki");
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
local rozdzial=tab_lista[1][1];
local numer_rozdzialu=tab_lista[1][2][1];
if(numer_rozdzialu>0)then
if(not tab_rozdzialow_glownych_spisow_tresci_ksiazek[rozdzial])then
wikikod=((wikikod~="")and (wikikod.." — ") or "")
..linki_modul["Link wewnętrzny"]{
["strona"]=pelna_nazwa_ksiazki,
["nagłówek"]=rozdzial,
["nazwa"]=rozdzial,
["bez znaczników"]=args["bez znaczników"],
["bez przetwarzania"]=args["bez przetwarzania"],
};
end;
czy_sa_rozdzialy=true;
end;
end;
if(not czy_sa_rozdzialy)then return "(błąd: brak rozdziałów)";end;
return wikikod;
end;
p["ArtykułSubst"] = function(frame)
local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_ksiazkowych;
local nazwa_przestrzeni;local nazwa_ksiazki;local nazwa_artykulu;
if(not tabela_listy_danych_analizy_ksiazki.zastepczy)then
nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki;
nazwa_artykulu=tabela_listy_danych_analizy_ksiazki.nazwa_artykulu;
else
nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.normalna_nazwa_przestrzeni;
nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.normalna_nazwa_ksiazki;
nazwa_artykulu=tabela_listy_danych_analizy_ksiazki.normalna_nazwa_artykulu;
end;
local parametry_modul=require("Module:Parametry");
local PobierzParametr=parametry_modul.PobierzParametr(frame);
local pobierz_nazwa_artykulu=PobierzParametr("pobierz pełną nazwę artykułu");
local pobierz_adres_ksiazki=PobierzParametr("pobierz pełną nazwę książki");
local czy_pobierz_pelna_nazwa_artykulu=parametry_modul.CzyTak(pobierz_nazwa_artykulu);
local czy_pobierz_pelna_nazwa_ksiazki=parametry_modul.CzyTak(pobierz_adres_ksiazki);
if(czy_pobierz_pelna_nazwa_artykulu and not czy_pobierz_pelna_nazwa_ksiazki)then
return ((nazwa_przestrzeni~="")and(nazwa_przestrzeni..":") or "")..nazwa_ksiazki..((nazwa_artykulu~="") and "/" or "")..nazwa_artykulu;
elseif(not czy_pobierz_pelna_nazwa_artykulu and czy_pobierz_pelna_nazwa_ksiazki)then
return ((nazwa_przestrzeni~="")and(nazwa_przestrzeni..":") or "")..nazwa_ksiazki;
elseif(czy_pobierz_pelna_nazwa_artykulu and czy_pobierz_pelna_nazwa_ksiazki)then
return "(błąd)";
end;
local nazwa_strony=((nazwa_przestrzeni~="")and(nazwa_przestrzeni..":") or "")..nazwa_ksiazki..((nazwa_artykulu~="") and "/" or "")..nazwa_artykulu;
local nazwy_modul=require("Module:Nazwy");
if(nazwa_strony==nazwy_modul["PEŁNANAZWASTRONY"]())then
local blad_modul=require("Module:Błąd");
return blad_modul.error{args={[1]="Próbowano załadować bieżącą stronę!",},};
end;
local techniczne_modul=require("Module:Techniczne");
local szablon=techniczne_modul.NazwaSzablonu(nazwa_strony);
return frame:expandTemplate{title=szablon,args={},};
end;
p["KsiążkaSubst"] = function(frame)
local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_ksiazkowych;
local str=tabela_listy_danych_analizy_ksiazki["KsiążkaSubst"];
return str;
end;
p["StronaSubst"] = function(frame)
local parametry_modul=require("Module:Parametry");
local args=parametry_modul.PobierzArgsParametry(frame,true);
local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_ksiazkowych;
local tab_stronasubst=tabela_listy_danych_analizy_ksiazki["StronaSubst"];
if(not tab_stronasubst)then return;end;
local pierwszy,_=mw.ustring.gsub(args[1],"[%s_]+"," ");
local tab_strona=tab_stronasubst[pierwszy];
if(not tab_strona)then return;end;
local link=args["link"];
local czy_link=parametry_modul.CzyTak(link);
local stronasubst=tab_strona[(czy_link and "tak" or "")];
return stronasubst;
end;
p["CzyStronęNumerować"] = function(frame)
local strona=frame.args[1];
local nazwy_modul=require("Module:Nazwy");
strona=nazwy_modul["PEŁNANAZWASTRONY"](strona);
local pudelko_modul=require("Module:Pudełko");
if(strona==pudelko_modul["Strona główna tego projektu"](frame))then
return;
end;
if(strona==pudelko_modul["Strona główna dla dzieci tego projektu"](frame))then
return;
end;
if(mw.ustring.match(strona,"^Szablon:SG/"))then
return;
end;
local zbiory={
["Szablon:Nowe podręczniki miesiąca/Zwycięzca"]=true,
["Wikibooks:Polecane książki"]=true,
["Szablon:Wyróżnienia książek miesiąca/Wyróżniony"]=true,
}
if(zbiory[strona])then
return;
end;
if(mw.ustring.match(strona,"^Szablon:Polecane książki/")
or(mw.ustring.match(strona,"^Szablon:Nowe podręczniki miesiąca/"))
or(mw.ustring.match(strona,"^Szablon:Wyróżnienia książek miesiąca/"))
)then
return;
end;
return "tak";
end;
function p.HNumer(frame)
local p=frame.args["wyspecjalizowana"] and frame or frame:getParent();
if((not p) or (not p.args[1]))then
local blad_module=require("Module:Błąd");
local frame2=p:newChild{args={[1]="Podano złe parametry w szablonie: [[Szablon:HLiczba]].",["tag"]="span",},}
blad_module.error(frame2);
return;
end;
local stronicowyparser_rozdzialy_modul=require("Module:StronicowyParser/Rozdziały");
local naglowek,licznik=stronicowyparser_rozdzialy_modul.PodajRozdzial(p.args[1]);
local id2,_=mw.ustring.gsub(naglowek,"^[%s_]","");
id2,_=mw.ustring.gsub(id2,"[%s_]$","");
id2,_=mw.ustring.gsub(id2,"[%s_]","_");
local id3,_=mw.ustring.gsub(mw.uri.encode(mw.text.encode(id2),"WIKI"),"(%%)",".");
if(licznik>6)then
local id=p.args["id"];
local styl=p.args["styl"];
local klasa=p.args["klasa"];
local atrybuty=p.args["atrybuty"];
local parametry_modul=require("Module:Parametry");
return "<h6"..(parametry_modul.CzyTak(id)and " id=\""..id.."\"" or "")
..(parametry_modul.CzyTak(styl)and " style=\""..styl.."\"" or "")
.." class=\"mw-hnumber mw-hnumber-"..licznik..((parametry_modul.CzyTak(klasa)) and (" "..klasa) or "").."\""
..(parametry_modul.CzyTak(atrybuty)and " "..atrybuty or "")
..">"..((id2~=id3) and ("<span id=\""..id3.."\"></span>") or "").."<span id=\""..id2.."\" class=\"mw-headline\">"..naglowek.."</span></h6>";
elseif(licznik<1)then
local blad_module=require("Module:Błąd");
local frame2=pf:newChild{args={[1]="Nie podano nagłówka w szablonie: [[Szablon:HLiczba]].",["tag"]="span",},}
blad_module.error(frame2);
else
local id=p.args["id"];
local styl=p.args["styl"];
local klasa=p.args["klasa"];
local atrybuty=p.args["atrybuty"];
local parametry_modul=require("Module:Parametry");
return "<h"..licznik..(parametry_modul.CzyTak(id)and " id=\""..id.."\"" or "")
..(parametry_modul.CzyTak(styl)and " style=\""..styl.."\"" or "")
.." class=\""..((parametry_modul.CzyTak(klasa)) and klasa or "").."\""
..(parametry_modul.CzyTak(atrybuty)and " "..atrybuty or "")..">"..((id2~=id3) and ("<span id=\""..id3.."\"></span>") or "").."<span id=\""..id2.."\" class=\"mw-headline\">"..naglowek.."</span></h"..licznik..">";
end;
end;
function p.TOC(frame,czy_rozciagnij,gdy_pusty_spis_tresci)
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych;
local nazwy_modul=require("Module:Nazwy");
local parametry_modul=require("Module:Parametry");
local ksiazkowe_modul=require("Module:Książkowe");
local args=(frame)and (parametry_modul.CzyTak(frame.args["wyspecjalizowana"])and frame.args or frame:getParent().args) or {};
local nazwa_przestrzeni=args[2] and nazwy_modul["NAZWAPRZESTRZENI"](args[2]) or tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
local nazwa_ksiazki=args[2] and ksiazkowe_modul["NazwaKsiążki"](args[2]) or tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki;
local nazwa_artykulu=args[1] and args[1] or tabela_listy_danych_analizy_ksiazki.nazwa_artykulu;
local czy_nie_aktualny=(
(nazwa_przestrzeni~=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni)
or(nazwa_ksiazki~=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki)
or (nazwa_artykulu~=tabela_listy_danych_analizy_ksiazki.nazwa_artykulu)
);
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
if ((tabela_listy_danych_analizy_ksiazki.TOC_StronaZbiorcza)or(tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu and tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni] and tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki] and tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki].lista_artykolow[nazwa_artykulu] and tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki].lista_artykolow[nazwa_artykulu].TOC)) then
mw.log(tabela_listy_danych_analizy_ksiazki.TOC_StronaZbiorcza,"Strona ziorcza");
local spis_tresci_artykulu=stronicowyparser_potrzebne_modul.TOC(frame,tabela_listy_danych_analizy_ksiazki.TOC_StronaZbiorcza or tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki].lista_artykolow[nazwa_artykulu].TOC,czy_nie_aktualny,czy_rozciagnij);
return spis_tresci_artykulu;
elseif(not gdy_pusty_spis_tresci)then
local spis_tresci_artykulu=stronicowyparser_potrzebne_modul.TOC(frame,nil,czy_nie_aktualny,czy_rozciagnij);
return spis_tresci_artykulu;
end;
end;
function p.WykazModolow(frame,czy_rozciagnij)
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych;
local nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki;
local nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
local lista_ksiazek_w_przestrzeni_nazw=tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni];
if(not lista_ksiazek_w_przestrzeni_nazw)then return nil;end;
local tab_lista_artykulow_w_ksiazce_w_ksiazce=lista_ksiazek_w_przestrzeni_nazw[nazwa_ksiazki];
if(not tab_lista_artykulow_w_ksiazce_w_ksiazce)then return nil;end;
local spis=tab_lista_artykulow_w_ksiazce_w_ksiazce.spis;
if(not spis)then return nil;end;
local parametry_modul=require("Module:Parametry");
local spis_ksiazkowy=parametry_modul.CzyTak(frame.args["spis książkowy"]);
local spis_rzeczy=parametry_modul.CzyTak(frame.args["spis rzeczy"]);
local tylko_naglowki=parametry_modul.CzyTak(frame.args["nagłówki"]);
local wysokosc=frame.args["wysokość"];
local wykaz_modolow_w_liscie="";
local i=1;
for _,tab_artykul in ipairs(spis)do
if(tab_artykul[2])then
for _,tab_pozycja in ipairs(tab_artykul[2])do
if(type(tab_pozycja[1])~="table")then
sformatowana_nazwa_artykulu,_=mw.ustring.gsub(tab_pozycja[1],"_"," ");
else
sformatowana_nazwa_artykulu,_=mw.ustring.gsub(tab_pozycja[1][1],"_"," ");
end;
local id=tab_pozycja[4]
if(not tylko_naglowki or id)then
if(not spis_ksiazkowy)then
wykaz_modolow_w_liscie=((wykaz_modolow_w_liscie~="") and (wykaz_modolow_w_liscie.."\n") or "")..'<li>[['..((not spis_rzeczy or not id)and (((nazwa_przestrzeni=="")and nazwa_ksiazki or nazwa_przestrzeni..":"..nazwa_ksiazki).."/") or "#")..sformatowana_nazwa_artykulu.."|<span class=\"tocnumber\">"..i.."</span><span class=\"toctext\">"..sformatowana_nazwa_artykulu..'</span>]]</li>';
else
wykaz_modolow_w_liscie=((wykaz_modolow_w_liscie~="") and (wykaz_modolow_w_liscie.."\n") or "")..'{{SpisZw||[['..((not spis_rzeczy or not id)and (((nazwa_przestrzeni=="")and nazwa_ksiazki or nazwa_przestrzeni..":"..nazwa_ksiazki).."/") or "#")..sformatowana_nazwa_artykulu.."|"..sformatowana_nazwa_artykulu.."]]|"..i.."|100%}}";
end;
i=i+1;
end;
end;
end;
end;
if(wykaz_modolow_w_liscie=="")then return nil;end;
if(not spis_ksiazkowy)then
wykaz_modolow_w_liscie="<ul>"..wykaz_modolow_w_liscie.."</ul>";
wykaz_modolow_w_liscie='<div class="toc_ogólnie_spis toc_wykaz" style="width:100%;max-height:400px;overflow:auto;">'..wykaz_modolow_w_liscie.."</div>";
wykaz_modolow_w_liscie='{{Tabela nawigacyjna|styl=width:'..(czy_rozciagnij and "100%" or "auto")..';font-size:14px;line-height:1.2em;background-color:white;|tytuł=<div style="font-size:14px;line-height:1.2em;background-color:white;text-align:left;white-space:nowrap;">Wykaz modułów w książce</div>|spis='..wykaz_modolow_w_liscie..'|funkcja=UkrytaWikitabelowaListaMenu}}';
else
wykaz_modolow_w_liscie="<div class=\"toc_wykaz mw-overflow-y\" style=\""..(wysokosc and ("max-height:"..wysokosc..";overflow:auto;") or "").."border:solid #aaa 1px;padding:10px;width:auto;box-sizing:border-box;background-color:white;\">"..wykaz_modolow_w_liscie.."</div>";
end;
local rozwiniety_wikikod=frame:preprocess(wykaz_modolow_w_liscie);
return rozwiniety_wikikod;
end;
function p.NazwaModolu()
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych;
local nazwy_np_modul=mw.loadData('Moduł:Nazwy/Np');
local nazwa_artykulu=tabela_listy_danych_analizy_ksiazki.nazwa_artykulu;
if(nazwa_artykulu==nil)then
return "[["..nazwy_np_modul.Category..": Nie można wygenerować nazwy strony]]";
else
return nazwa_artykulu;
end;
end;
function p.Wstep_do_licencji(frame)
local element_licencji_1='<strong>Autor:</strong> '..frame.args[1]..'<BR>';
local element_licencji_2;
if((frame.args[2]~='')and(frame.args[2]~=nil))then
element_licencji_2=frame.args[2]..'<BR>';
end;
local element_licencji_3;
if((frame.args[3]~='')and(frame.args[3]~=nil))then
element_licencji_3='<strong>Email:</strong> '..frame.args[3]..'<BR>';
end;
local element_licencji_4;
if((frame.args[4]~='')and(frame.args[4]~=nil))then
element_licencji_4='<strong>Dotyczy:</strong> '..frame.args[4].."<BR>";
else
element_licencji_4='<strong>Dotyczy:</strong> książki, do której należy ta strona, oraz w niej zawartych stron i w nich podstron, a także w nich kolumn, wraz z zawartościami.<BR>';
end;
if((frame.args[5]~='')and(frame.args[5]~=nil))then
element_licencji_5=frame.args[5].."<BR>";
else
element_licencji_5='Użytkownika książki, do której należy ta strona, oraz w niej zawartych stron i w nich podstron, a także w nich kolumn, wraz z zawartościami nie zwalnia z odpowiedzialności prawnoautorskiej nieprzeczytanie warunków licencjonowania.<BR>';
end;
local element_licencji_6;
if((frame.args[6]~='')and(frame.args[6]~=nil))then
element_licencji_6='<strong>Umowa prawna:</strong> '..frame.args[6]..'<BR>';
else
element_licencji_6='<strong>Umowa prawna:</strong> [http://creativecommons.org/licenses/by-sa/3.0/deed.pl Creative Commons: uznanie autorstwa oraz miejsca pochodzenia książki i jej jakikolwiek części, a także treści, teksty, tabele, wykresy, rysunki, wzory i inne elementy oraz ich części zawarte w książce, i tą książkę, nawet w postaci przerobionej nie można umieszczać w jakikolwiek formie na czasopismach naukowych, archiwach prac, itp.]<BR>';
end;
if((frame.args[7]~='')and(frame.args[7]~=nil))then
element_licencji_7=frame.args[7].."<BR>";
else
element_licencji_7='Autor tej książki dołożył wszelką staranność, aby informacje zawarte w książce były poprawne i najwyższej jakości, jednakże nie udzielana jest żadna gwarancja, czy też rękojma. Autor nie jest odpowiedzialny za wykorzystanie informacji zawarte w książce nawet jeśli wywołaby jakąś szkodę, straty w zyskach, zastoju w prowadzeniu firmy, przedsiębiorstwa lub spółki bądź utraty informacji niezależnie, czy autor (a nawet [https://pl.wikibooks.org Wikibooks]) został powiadomiony o możliwości wystąpienie szkód. Informacje zawarte w książce mogą być wykorzystane tylko na własną odpowiedzialność.<BR>';
end;
local licencja=element_licencji_1..((element_licencji_2)and element_licencji_2 or "")..((element_licencji_3)and element_licencji_3 or "")
..element_licencji_4..element_licencji_5..element_licencji_6..element_licencji_7;
return licencja;
end;
function p.Licencja(frame,czy_rozciagnij)
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych;
local menu_z_licencja;
local nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
local nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki;
local licencja=tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki].licencja;
if(licencja)then
if(licencja[1])then
local frame={};
frame.args={licencja[1],licencja[2],licencja[3],licencja[4],licencja[5],licencja[6],licencja[7]};
local ramka_z_licencja='<div style="margin-left:0px;padding:3px;width:100%;height:auto;box-sizing:border-box;">'..p.Wstep_do_licencji(frame)..'</div>';
menu_z_licencja='{{Tabela nawigacyjna|styl=width:'..(czy_rozciagnij and "100%" or "auto")..';font-size:14px;line-height:1.2em;background-color:white;|tytuł=<div style="font-size:14px;line-height:1.2em;background-color:white;text-align:left;white-space:nowrap;">Licencja</div>|spis='..ramka_z_licencja..'|funkcja=StatycznaWikitabelowaListaMenu}}';
else
return nil;
end;
local frame=mw.getCurrentFrame();
local rozwiniety_wikikod=frame:preprocess(menu_z_licencja);
return rozwiniety_wikikod;
else
return nil;
end;
end;
function p.Autor(frame)
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych;
local nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
local nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki;
local licencja=tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki].licencja;
if(tabela_listy_danych_analizy_ksiazki.licencja)then
return licencja[1];
end;
end;
function p.PierwszaStrona(frame)
local prawe_menu="";
local parametry_modul=require("Module:Parametry");
local czy_rozciagnij=parametry_modul.CzyTak(frame.args["rozciągnij"])
if(parametry_modul.CzyTak(frame.args[1]))then
prawe_menu='<div style="margin-top:5px;font-size:1.9em;line-height:25px;text-align:left;">'..p.NazwaModolu()..'</div><hr style=\"margin:5px 0\"/>';
end;
if(parametry_modul.CzyTak(frame.args[2]))then
local licencja=p.Licencja(frame,czy_rozciagnij);
if(licencja~=nil)then
prawe_menu=prawe_menu..licencja;
else
local obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty");
local uchwyt_strony=mw.title.getCurrentTitle();
local nazwy_np_modul=mw.loadData("Module:Nazwy/Np");
local nazwa_przestrzeni_nazw_strony=require("Module:Nazwy")["NAZWAPRZESTRZENI"]();
local element_zdania_kategorii=(nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Main)and "na stronach głównych, książek"
or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikijunior)and "na stronach głównych, książek dla dzieci"
or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.User)and "na stronach głównych, książek użytkowników"
or((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikibooks)and "na stronach głównych, książek brudnopisu projektu"
or "na stronach głównych, publikacji")));
local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_ksiazkowych;
local kategoria_braku_licencji=(not tabela_listy_danych_analizy_ksiazki.korzystane_strona_glowna_nie_istnieje)and"[["..nazwy_np_modul.Category..": Brak licencji, "..element_zdania_kategorii.."]]" or "";
prawe_menu=prawe_menu..kategoria_braku_licencji;
end;
end;
if(parametry_modul.CzyTak(frame.args[3]))then
local wykaz_artykulow=p.WykazModolow(frame,czy_rozciagnij);
if(wykaz_artykulow~=nil)then
prawe_menu=prawe_menu.."<hr style=\"margin:5px 0\"/>"..wykaz_artykulow;
end;
end;
if(parametry_modul.CzyTak(frame.args[4]))then
local spis_tresci=p.TOC(frame,czy_rozciagnij,true);
if(spis_tresci~=nil)then
prawe_menu=prawe_menu.."<hr style=\"margin:5px 0\"/>"..spis_tresci;
end;
end;
local wysokosc=frame.args["wysokość"];
return "<div style=\"padding:10px;border: solid #aaa 1px;background-color:white;box-sizing:border-box;width:700px;\"><div class=\"pierwsza_strona mw-overflow-y\" style=\"max-height:"..(wysokosc or "100%")..";overflow:auto;height:100%;box-sizing:border-box;\"><div style=\"display:flex;flex-direction:column;width:auto;height:auto;box-sizing:border-box;\">"..prawe_menu.."</div></div></div>";
end;
function p.SpisTresci(frame)
local parametry_modul=require("Module:Parametry");
local args=parametry_modul.PobierzArgsParametry(frame);
local nazwa_artykulu=args["artykuł"] or args[1];
local nazwa_ksiazki=args["książka"] or args[2];
if(not parametry_modul.CzyTak(nazwa_ksiazki))then
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych;
local uzyskana_nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
local uzyskana_nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki;
nazwa_ksiazki=((uzyskana_nazwa_przestrzeni~=nil) and (uzyskana_nazwa_przestrzeni..":") or "")..uzyskana_nazwa_ksiazki;
end;
local brak=(nazwa_artykulu and mw.ustring.match(nazwa_artykulu,"[|<>{}%[%]]") or nil) or (nazwa_ksiazki and mw.ustring.match(nazwa_ksiazki,"[|<>{}%[%]]") or nil);
if(brak~=nil)then
local nazwy_np_modul=mw.loadData("Module:Nazwy/Np");
local nazwa_przestrzeni_nazw_strony=require("Module:Nazwy")["NAZWAPRZESTRZENI"]();
local element_zdania_kategorii=(nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Main)and "artykułów,"
or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikijunior)and "artykułów dla dzieci,"
or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.User)and "stron użytkowników,"
or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikibooks)and "stron brudnopisu projektu,"
or "stron,")));
return "[["..nazwy_np_modul.Category..":Nazwy "..element_zdania_kategorii.." w spisach treści, zawierają niedozwolone znaki]]";
end;
local html_modul=require("Module:Html");
local nazwy_modul=require("Module:Nazwy");
local ksiazkowe_modul=require("Module:Książkowe");
local nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](nazwa_ksiazki);
local nazwa_ksiazki=ksiazkowe_modul["NazwaKsiążki"](nazwa_ksiazki);
nazwa_ksiazki=html_modul.TransformacjaKlasyZnakowej(nazwa_ksiazki);
local nazwa_artykulu=html_modul.TransformacjaKlasyZnakowej(nazwa_artykulu);
local nazwa_strony=(nazwa_artykulu=="")and nazwa_ksiazki or nazwa_ksiazki.."/"..nazwa_artykulu;
local pelna_nazwa_strony=(nazwa_przestrzeni=="")and nazwa_strony or nazwa_przestrzeni..":"..nazwa_strony;
local tekst_artykulu=p.SpreparowanyWikikodStrony(pelna_nazwa_strony);
local nazwa=args["nazwa"] or args[3];
local nazwa_strony_artykulu=parametry_modul.CzyTak(nazwa) and nazwa or mw.ustring.gsub(mw.ustring.match(nazwa_artykulu,"[^/]*$"),"_"," ");
local dodatek=args["dodatek"] or args[4];
if(not tekst_artykulu)then
if(nazwa_artykulu~="")then
return "\n"..mw.ustring.rep("=",6).."<span style=\"color:red\">[["..pelna_nazwa_strony.."|"..nazwa_strony_artykulu.."]]</span>"..mw.ustring.rep("=",6).."\n";
else
return frame:getParent():preprocess("{{Błąd|Wywołano szablon z argumentem pierwszym pustym.}}");
end;
else
local twor_spisu_tresci="[["..pelna_nazwa_strony.."|"..nazwa_strony_artykulu.."]]"..(((dodatek)and(dodatek~="")) and (" "..dodatek) or "");
twor_spisu_tresci=mw.ustring.rep("=",6)..twor_spisu_tresci..mw.ustring.rep("=",6).."\n";
local stronicowyparser_dalszefunkcje_modul=require("Module:StronicowyParser/DalszeFunkcje");
local ulozenia_w_menu_spisu_tresci=stronicowyparser_dalszefunkcje_modul:SpisTresciWstep(tekst_artykulu, pelna_nazwa_strony);
local atrybuty="style=\"margin-left:20px\"";
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
local toc=stronicowyparser_potrzebne_modul.TOCSilnik(ulozenia_w_menu_spisu_tresci, atrybuty);
local limit=args["limit"];
local czy_limit=parametry_modul.CzyTak(limit);
return '<div class="toc_ogólnie_spis toc_artykuł toclimit '..(czy_limit and ("toclimit-"..limit) or "")..'">\n'..twor_spisu_tresci..(toc and toc or "")..'</div>';
end;
end;
function IteratorFunkcja()
local obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty");
local tabela_wypowiedzi=obiekty_modul.tablica_obiektow;
local licznik=1;
return function()
local tabela_obiektu=tabela_wypowiedzi[licznik];
if(not tabela_obiektu)then return nil;end;
local wartosc1=mw.ustring.gsub(tabela_obiektu[1],"%d+$","");
local wartosc2=tabela_obiektu[4];
licznik=licznik+1;
return wartosc1,wartosc2;
end;
end;
local iterator=IteratorFunkcja();
for nazwa_obiektu,czesc_nazwy_funkcji in iterator do
p["Numer"..czesc_nazwy_funkcji] = function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
return stronicowyparser_potrzebne_modul.NumerObiektu(frame,nazwa_obiektu);
end;
end;
p["AnalizujSzablonemStronicowymArtykuł"]=function(frame)
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych;
return "";
end;
function p.formatowanie()
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych;
return tabela_listy_danych_analizy_ksiazki.formatowanie;
end;
function p.WstawKategorie(frame)
local stronicowyparser_kategorie_modul=require("Module:StronicowyParser/Kategorie");
return stronicowyparser_kategorie_modul.WstawKategorie(frame);
end;
function p.CzyStronaSubst(frame,pelnanazwastrony,czy_wymusic)
if(czy_wymusic)then
local nazwy_modul=require("Module:Nazwy");
local pelnanazwastronyaktualnej=nazwy_modul["PEŁNANAZWASTRONY"]();
if(pelnanazwastrony~=pelnanazwastronyaktualnej)then
local stronicowyparser_stronasubst_modul=require("Module:StronicowyParser/StronaSubst");
local TakFun=function(frame) return "tak";end;local NieFun=function(frame) return "";end;
return stronicowyparser_stronasubst_modul.AnalizaStronaSubst(nil,pelnanazwastrony,TakFun,NieFun,nil);
end;
end;
local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_ksiazkowych;
if(tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then
return "tak";
end;
return "";
end;
return p;
f26mepit7ap84lwfcgdje7nbqelmi3g
437957
437956
2022-08-17T08:37:10Z
Persino
2851
Scribunto
text/plain
local p = {}
function p.SpreparowanyWikikodStrony(nazwa_modolu,dokumentacja)
local stronicowyparser_dalszefunkcje=require("Module:StronicowyParser/DalszeFunkcje")
return stronicowyparser_dalszefunkcje.SpreparowanyWikikodStrony(nil,nazwa_modolu,dokumentacja);
end;
function p.PrzekierowanieDoStrony(frame)
local parametry_modul=require("Module:Parametry");
local PobierzParametr=parametry_modul.PobierzParametr(frame);
local nazwa_modulu=PobierzParametr(1);
local latki_modul=require("Module:Łatki");
return latki_modul.contentMatch{args={
[1]="^%s*#REDIRECT%s+%[%[(.+)%]%]%s*",
[2]="^%s*#PATRZ%s+%[%[(.+)%]%]%s*",
[3]="^%s*#TAM%s+%[%[(.+)%]%]%s*",
namespace="",
pagename=nazwa_modulu,
},
};
end;
p["TekstRozdziałuStrony"]=function(frame)
local stronicowyparser_rozdzialy=require("Module:StronicowyParser/Rozdziały");
return stronicowyparser_rozdzialy.TekstRozdzialuStrony(frame);
end;
p["KtóraSekcjaStrony"]=function(frame)
local stronicowyparser_rozdzialy=require("Module:StronicowyParser/Rozdziały");
return stronicowyparser_rozdzialy.KtoraSekcjaStrony(frame);
end;
p["ZwróćSekcjęNagłówkaStrony"]=function(frame)
local stronicowyparser_rozdzialy=require("Module:StronicowyParser/Rozdziały");
return stronicowyparser_rozdzialy.ZwrocSekcjeNaglowkaStrony(frame);
end;
p["NastępnyArtykuł"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local parametry_modul=require("Module:Parametry");
local nazwa=parametry_modul.CzyTak(args["nazwa"]);
local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame);
local numer=tonumber(args[1]) or 0;
local naglowek=parametry_modul.CzyTak(args["nagłówek"]);
local nazwa_artykulu_z_naglowkiem_match=mw.ustring.match(nazwa_artykulu,"^([^#]*)#.*$");
local nazwa_artykulu_z_opcja_naglowek=(not naglowek) and nazwa_artykulu_z_naglowkiem_match or nazwa_artykulu;
local nadstrona_artykulu=(numer>0) and stronicowyparser_potrzebne_modul.NazwaNadStrony(nazwa_artykulu,numer) or nil;
local i=0;
local tab_artykul={};
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
if(tab_lista[2])then
for _,artykul_w_bazie_element in ipairs(tab_lista[2])do
local artykul_w_bazie;local artykul_bez_naglowka_w_bazie;local artykul_z_naglowkiem_w_bazie;
local czy_table=parametry_modul.TypeTable(artykul_w_bazie_element[1]);
if(czy_table)then
artykul_w_bazie=artykul_w_bazie_element[1][1];
else
artykul_w_bazie=artykul_w_bazie_element[1];
end;
local artykul_z_naglowkiem_w_bazie_match=mw.ustring.match(artykul_w_bazie,"^([^#]*)#.*$");
artykul_bez_naglowka_w_bazie=artykul_z_naglowkiem_w_bazie_match or artykul_w_bazie;
if(naglowek or not tab_artykul[artykul_bez_naglowka_w_bazie])then
if(not naglowek)then
tab_artykul[artykul_bez_naglowka_w_bazie]=true;
end
if(not naglowek)then
artykul_z_naglowkiem_w_bazie=artykul_bez_naglowka_w_bazie;
else
artykul_z_naglowkiem_w_bazie=artykul_w_bazie;
end;
local numer_artykulu_w_bazie;
if(numer>0)then
numer_artykulu_w_bazie=stronicowyparser_potrzebne_modul.PoziomAdresu(artykul_bez_naglowka_w_bazie);
end;
local function Nastepny()
if(not nazwa)then
return artykul_z_naglowkiem_w_bazie;
end;
if(czy_table)then
return artykul_w_bazie[1][2];
else
return artykul_z_naglowkiem_w_bazie;
end;
end;
if(i==1)then
if(numer>0)then
local nadstrona_artykulu_w_bazie=stronicowyparser_potrzebne_modul.NazwaNadStrony(artykul_bez_naglowka,numer);
if((numer==numer_artykulu_w_bazie)and(nadstrona_artykulu==nadstrona_artykulu_w_bazie))then
return Nastepny();
end;
else
return Nastepny();
end;
else
if((not naglowek)and(artykul_bez_naglowka_w_bazie==nazwa_artykulu_z_opcja_naglowek)
or(((naglowek) and ((nazwa_artykulu_z_naglowkiem_match and artykul_z_naglowkiem_w_bazie_match)or(not nazwa_artykulu_z_naglowkiem_match and not artykul_z_naglowkiem_w_bazie_match)))
and (artykul_z_naglowkiem_w_bazie==nazwa_artykulu)
))then
i=1;
end;
end;
end;
end;
end;
end;
if(i==1)then
return "";
end;
return "(błąd)";
end;
p["PoprzedniArtykuł"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local parametry_modul=require("Module:Parametry");
local nazwa=parametry_modul.CzyTak(args["nazwa"]);
local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame);
local numer=tonumber(args[1]) or 0;
local naglowek=parametry_modul.CzyTak(args["nagłówek"]);
local nazwa_artykulu_z_naglowkiem_match=mw.ustring.match(nazwa_artykulu,"^([^#]*)#.*$")
local nazwa_artykulu_z_opcja_naglowek=(not naglowek) and nazwa_artykulu_z_naglowkiem_match or nazwa_artykulu;
local nadstrona_artykulu=(numer>0) and stronicowyparser_potrzebne_modul.NazwaNadStrony(nazwa_artykulu,numer) or nil;
local artykul;
local tab_artykul={};
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
if(tab_lista[2])then
for _,artykul_w_bazie in ipairs(tab_lista[2])do
local artykul_z_naglowkiem_w_bazie;local artykul_bez_naglowka_w_bazie;
local czy_table=parametry_modul.TypeTable(artykul_w_bazie[1]);
if(czy_table)then
artykul_z_naglowkiem_w_bazie=artykul_w_bazie[1][1];
else
artykul_z_naglowkiem_w_bazie=artykul_w_bazie[1];
end;
local artykul_z_naglowkiem_w_bazie_match=mw.ustring.match(artykul_z_naglowkiem_w_bazie,"^([^#]*)#.*$")
artykul_bez_naglowka_w_bazie=artykul_z_naglowkiem_w_bazie_match or artykul_z_naglowkiem_w_bazie;
if(naglowek or not tab_artykul[artykul_bez_naglowka_w_bazie])then
if(not naglowek)then
tab_artykul[artykul_bez_naglowka_w_bazie]=true;
end;
if((not naglowek)and(artykul_bez_naglowka_w_bazie==nazwa_artykulu_z_opcja_naglowek)
or(((naglowek) and ((nazwa_artykulu_z_naglowkiem_match and artykul_z_naglowkiem_w_bazie_match)or(not nazwa_artykulu_z_naglowkiem_match and not artykul_z_naglowkiem_w_bazie_match)))and(artykul_z_naglowkiem_w_bazie==nazwa_artykulu)))then
if(not artykul)then return "";end;
local czy_table_artykul=parametry_modul.TypeTable(artykul);
if(czy_table_artykul)then
if(not nazwa)then
if(naglowek)then
return artykul[1];
end;
artykul,_=mw.ustring.gsub(artykul[1],"^([^#]+)#(.*)$","%1");
return artykul;
else
return artykul[2];
end;
else
if(naglowek)then
return artykul;
end;
artykul,_=mw.ustring.gsub(artykul,"^([^#]+)#(.*)$","%1");
return artykul;
end;
end
if(numer>0)then
local numer_artykulu_poprzedni=stronicowyparser_potrzebne_modul.PoziomAdresu(artykul_bez_naglowka_w_bazie);
local nadstrona_artykulu_w_bazie=stronicowyparser_potrzebne_modul.NazwaNadStrony(artykul_bez_naglowka_w_bazie,numer);
if((numer==numer_artykulu_poprzedni)and(nadstrona_artykulu==nadstrona_artykulu_w_bazie))then
artykul=artykul_w_bazie[1];
end;
else
artykul=artykul_w_bazie[1];
end;
end;
end;
end;
end;
return "(błąd)";
end;
p["PoziomNazwyArtykułu"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local parametry_modul=require("Module:Parametry");
local nazwa=parametry_modul.CzyTak(args["nazwa"]);
local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame);
return stronicowyparser_potrzebne_modul.PoziomAdresu(nazwa_artykulu);
end;
p["PierwszyArtykuł"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local parametry_modul=require("Module:Parametry");
local nazwa=parametry_modul.CzyTak(args["nazwa"]);
local naglowek=parametry_modul.CzyTak(args["nagłówek"]);
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
if(tab_lista[2])then
for _,artykul_w_bazie in ipairs(tab_lista[2])do
if(not nazwa)then
local artykul=parametry_modul.TypeTable(artykul_w_bazie[1]) and artykul_w_bazie[1][1] or artykul_w_bazie[1];
return (not naglowek) and mw.ustring.gsub(artykul,"^([^#]*)#(.*)$","%1") or artykul;
else
return parametry_modul.TypeTable(artykul_w_bazie[1])
and artykul_w_bazie[1][2]
or ((not naglowek) and mw.ustring.gsub(artykul_w_bazie[1],"^([^#]*)#(.*)$","%1") or artykul_w_bazie[1]);
end;
end;
end;
end;
end;
p["OstatniArtykuł"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local parametry_modul=require("Module:Parametry");
local nazwa=parametry_modul.CzyTak(args["nazwa"]);
local naglowek=parametry_modul.CzyTak(args["nagłówek"]);
local ostatni_artykul;
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
if(tab_lista[2])then
for _,artykul_w_bazie in ipairs(tab_lista[2])do
if(not nazwa)then
ostatni_artykul=parametry_modul.TypeTable(artykul_w_bazie[1]) and artykul_w_bazie[1][1] or artykul_w_bazie[1];
else
ostatni_artykul=parametry_modul.TypeTable(artykul_w_bazie[1]) and artykul_w_bazie[1][2] or artykul_w_bazie[1];
end;
end;
end;
end;
if(ostatni_artykul)then
return (not naglowek) and mw.ustring.gsub(ostatni_artykul,"^([^#]*)#(.*)$","%1") or ostatni_artykul;
end;
return "(błąd)";
end;
p["PomiędzyArtykuł"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
local val=stronicowyparser_potrzebne_modul:ObliczeniaInformacje(frame);
if(not val)then return "(błąd)";end;
local element=stronicowyparser_potrzebne_modul:PomiedzyArtykul(frame) or nil;
if(not element)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local parametry_modul=require("Module:Parametry");
local nazwa=parametry_modul.CzyTak(args["nazwa"]);
local czy_table=parametry_modul.TypeTable(element);
local element=czy_table and element[1] or element;
if(not nazwa)then return (not naglowek) and mw.ustring.gsub(element,"^([^#]*)#(.*)$","%1") or element;end;
return czy_table and element[2] or ((not naglowek) and mw.ustring.gsub(element,"^([^#]*)#(.*)$","%1") or element);
end;
p["LosowyArtykuł"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
local val=stronicowyparser_potrzebne_modul:ObliczeniaInformacje(frame);
if(not val)then return "(błąd)";end;
local element=stronicowyparser_potrzebne_modul:LosowyArtykul(frame);
if(not element)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local parametry_modul=require("Module:Parametry");
local nazwa=parametry_modul.CzyTak(args["nazwa"]);
local czy_table=parametry_modul.TypeTable(element);
local element=czy_table and element[1] or element;
if(not nazwa)then return mw.ustring.gsub(element,"^([^#]*)#(.*)$","%1") or element;end;
return czy_table and element[2] or mw.ustring.gsub(element,"^([^#]*)#(.*)$","%1") or element;
end;
local function PobiezNumerLubNazweNaglowka(frame,__FUNKCJA,typ)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local parametry_modul=require("Module:Parametry");
local poziomowo=parametry_modul.CzyTak(args["poziomowo"]);
local ktory=(tonumber(args["który"]) or 1);
local parametr_pierwszy_szablonu=typ and ((not poziomowo) and (tonumber(args[1]) or 1) or args[1]) or args[1];
if(not typ)then
parametr_pierwszy_szablonu,_=mw.ustring.gsub(parametr_pierwszy_szablonu,"^[%s_]+","");
parametr_pierwszy_szablonu,_=mw.ustring.gsub(parametr_pierwszy_szablonu,"[%s_]+$","");
parametr_pierwszy_szablonu,_=mw.ustring.gsub(parametr_pierwszy_szablonu,"[%s_]+"," ");
end;
local HNumer=stronicowyparser_potrzebne_modul.LiczonyHNumer();
local HNumer_2=nil;
local tab_numer_2=nil;
local tab_numer={};
local i=(not poziomowo) and 0 or nil;
local i_2=nil;
local juz_nie_rozwazaj_spisu_tresci=nil;
local juz_nie_rozwazaj_rozdzialu_spisu_tresci=nil;
local stronicowyparser_obiekty=mw.loadData("Module:StronicowyParser/obiekty");
local tab_rozdzialow_glownych_spisow_tresci_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_glownych_spisow_tresci_ksiazek;
local tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek;
local poziom_spisu_tresci=nil;
local pierwszy_dodatni_spis_tresci=nil;
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
local rozdzial=tab_lista[1][1];
local poziom_rozdzialu=tab_lista[1][2][1] or 0;
if(poziom_rozdzialu>0)then
local czy_nie_ten_rozdzial=nil;
local czy_jest_teraz_spis_tresci=tab_rozdzialow_glownych_spisow_tresci_ksiazek[rozdzial];local czy_nie_ten_rozdzial;
if((not juz_nie_rozwazaj_spisu_tresci)and(not juz_nie_rozwazaj_rozdzialu_spisu_tresci)and(czy_jest_teraz_spis_tresci))then
poziom_spisu_tresci=poziom_rozdzialu;
juz_nie_rozwazaj_rozdzialu_spisu_tresci=true;
czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial];
elseif((not juz_nie_rozwazaj_spisu_tresci)and(juz_nie_rozwazaj_rozdzialu_spisu_tresci))then
if((poziom_spisu_tresci<poziom_rozdzialu))then
czy_nie_ten_rozdzial=false;
else
juz_nie_rozwazaj_spisu_tresci=true;
czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial];
end;
else
local juz_nie_rozwazaj_spisu_tresci=nil;
local juz_nie_rozwazaj_rozdzialu_spisu_tresci=nil;
czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial];
end;
if(not czy_nie_ten_rozdzial)then
if(poziomowo)then
local hnumer=HNumer(poziom_rozdzialu);
if(#tab_numer<hnumer)then
for i=#tab_numer+1,hnumer,1 do
table.insert(tab_numer,1);
end;
elseif(#tab_numer>hnumer)then
for i=#tab_numer, hnumer+1,-1 do
table.remove(tab_numer,i);
end;
tab_numer[#tab_numer]=tab_numer[#tab_numer]+1;
else
tab_numer[#tab_numer]=tab_numer[#tab_numer]+1;
end;
----
local wartosc=__FUNKCJA(poziomowo,i,tab_numer,ktory,parametr_pierwszy_szablonu,rozdzial);
----
if(wartosc)then return wartosc;end;
----
if((czy_jest_teraz_spis_tresci)and(not pierwszy_dodatni_spis_tresci))then
HNumer_2=HNumer;
HNumer=stronicowyparser_potrzebne_modul.LiczonyHNumer();
tab_numer_2=tab_numer;
tab_numer={};
pierwszy_dodatni_spis_tresci=true;
elseif((pierwszy_dodatni_spis_tresci)and(poziom_spisu_tresci>=poziom_rozdzialu))then
HNumer=HNumer_2;
HNumer_2=nil;
tab_numer=tab_numer_2;
tab_numer_2=nil;
pierwszy_dodatni_spis_tresci=false;
end;
else
i=i+1;
----
local wartosc=__FUNKCJA(poziomowo,i,tab_numer,ktory,parametr_pierwszy_szablonu,rozdzial);
---
if(wartosc)then return wartosc;end;
---
if((czy_jest_teraz_spis_tresci)and(not pierwszy_dodatni_spis_tresci))then
i_2=i;
i=0;
pierwszy_dodatni_spis_tresci=true;
elseif((pierwszy_dodatni_spis_tresci)and(poziom_spisu_tresci>=poziom_rozdzialu))then
i=i_2;
i_2=nil;
pierwszy_dodatni_spis_tresci=false;
end;
end;
end;
end;
end;
end;
p["PobierzNumerNagłówka"]=function(frame)
local s=1;
local function __FUNKCJA(poziomowo,i,tab_numer,ktory,naglowek,rozdzial)
if(naglowek==rozdzial)then
if(s==ktory)then
if(poziomowo)then
if(#tab_numer==0)then return;end;
return table.concat(tab_numer,".");
else
return i;
end;
end;
s=s+1;
end;
end;
return PobiezNumerLubNazweNaglowka(frame,__FUNKCJA,false);
end;
p["PobierzNazwęNagłówka"]=function(frame)
local s=1;
local function __FUNKCJA(poziomowo,i,tab_numer,ktory,numer,rozdzial)
if(poziomowo)then
if(#tab_numer==0)then return;end;
if(numer==table.concat(tab_numer,"."))then
if(s==ktory)then
return rozdzial;
else
s=s+1;
end;
end;
elseif(numer==i)then
if(s==ktory)then
return rozdzial;
else
s=s+1;
end;
end
end;
return PobiezNumerLubNazweNaglowka(frame,__FUNKCJA,true);
end;
local function PobierzNumerLubNazweArtykulu(frame,tabela_listy_danych_analizy_ksiazki,__FUNKCJA,typ,zbieraj_dane)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame,tabela_listy_danych_analizy_ksiazki);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame,tabela_listy_danych_analizy_ksiazki);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local parametry_modul=require("Module:Parametry");
local naglowek=parametry_modul.CzyTak(args["nagłówek"]);
local tab_artykul=(not naglowek)and {} or nil;
local poziomowo=parametry_modul.CzyTak(args["poziomowo"]);
local tab_poziomowo={};
local tab_poziomowo_1={};
local tab_poziomowo_2={};
local html_modul=require("Module:Html");
local pierwszy_parametr_szablonu=args[1] and (typ and ((not poziomowo) and (tonumber(args[1]) or 1) or args[1])
or ((not naglowek) and mw.ustring.gsub(html_modul["PoprawAdresNagłówkaStronyAdresu"](html_modul["TransformacjaKoduZnakuDoZnakuŁancucha"](args[1])),"^([^#]*)#(.*)$","%1") or html_modul["PoprawAdresNagłówkaStronyAdresu"](html_modul["TransformacjaKoduZnakuDoZnakuŁancucha"](args[1])))
)
or (typ and 1 or "Przykładowy artykuł");
local ktory=(tonumber(args["ktory"]) or 1);
local i=(not poziomowo) and 1 or nil;
local stronicowyparser_obiekty=mw.loadData("Module:StronicowyParser/obiekty");
local tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek;
local tab_rozdzialow_glownych_spisow_tresci_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_glownych_spisow_tresci_ksiazek;
--local HNumer=poziomowo and stronicowyparser_potrzebne_modul.LiczonyHNumer() or nil;
local HNumerPoziomow_4=nil--poziomowo and stronicowyparser_potrzebne_modul.LiczonyHNumer() or nil;
local HNumerPoziomow_3=nil
local HNumerPoziomow_2=nil;
local HNumerPoziomow_1=nil;
local HNumerPoziomow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
local HNumerPoziomowNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
local HNumerPoziomowNaglowkow_1=nil;
local HNumerPoziomowNaglowkow_2=nil;
--local HNumerPoziomowInnychNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
local tab_numer=poziomowo and {} or nil;
tab_numer_1=nil;
tab_numer_3=nil
tab_numer_4=nil;--poziomowo and {} or nil;
local spis=false;
local czy_poziom_spisu_tresci=nil;
local pierwszy_dodatni_naglowek=nil;
local pierwszy_ujemny_naglowek=nil;
local juz_nie_rozwazaj_spisu_tresci=nil;
local juz_nie_rozwazaj_rozdzialu_spisu_tresci=nil;
local poprzedni_poziom_znakowy_rozdzialu=nil;
local poprzedni_tab_poziomowo=nil;
local poziom_pierwszego_dodatniego_naglowka=0;
local poziom_pierwszego_ujemnego_naglowka=0;
local poziom_zerowego_naglowka=0;
local poziom_spisu_tresci_naglowka=0;
local numer_poziomu=nil;
local ostatni_rozdzial_dodatni=nil;
local pierwszy_rozdzial_dodatni=nil;
local glowny_dodatni_rozdzial=nil;
local glowny_ujemny_rozdzial=nil;
local spis_tresci=nil;
local poziom_pierwszego_ujemnego_spisu_tresci=nil;
local ostatni_poczatek_artykulu=nil;
local pierwszy_rowny_rozdzial=nil;
local prawdziwy_poziom_rozdzialu=nil;
local artykuly_w_rozdziale=nil;
local spis_tresci_zerowy;
local poziom_zerowy;
local rozdzial;
local czy_pierwszy_nilowy=nil;
for m,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
local tab_poprzedni_artykul_w_bazie=nil;
local poziom_rozdzialu;
local poziom_poczatku_rozdzialu=nil;
local poziom_znakowy_rozdzialu=nil;
local poziom_naglowka=nil;
if(poziomowo)then
local czy_nienilowy_rozdzial=tab_lista[1][2][1];
czy_pierwszy_nilowy=(m==1)and (czy_nienilowy_rozdzial==nil) or czy_pierwszy_nilowy;
poziom_rozdzialu=czy_nienilowy_rozdzial or 0;
prawdziwy_poziom_rozdzialu=poziom_rozdzialu;
poziom_poczatku_rozdzialu=tab_lista[1][2][2];
--if(m>1)then
rozdzial=tab_lista[1][1];
rozdzial,_=mw.ustring.gsub(rozdzial,"'+","");
--end;
tab_poziomowo={};
--[[local czy_jest_teraz_spis_tresci=((m>1)and(not spis_tresci_zerowy or not poziom_zerowy)or((m==1)and(spis_tresci_zerowy)))
and ((m==1) and true or tab_rozdzialow_glownych_spisow_tresci_ksiazek[rozdzial])]]
local czy_jest_teraz_spis_tresci=(not juz_nie_rozwazaj_rozdzialu_spisu_tresci)
and((m==1)and (czy_nienilowy_rozdzial and tab_rozdzialow_glownych_spisow_tresci_ksiazek[rozdzial] or ((not czy_nienilowy_rozdzial)and true or false))
or ((m>1)and tab_rozdzialow_glownych_spisow_tresci_ksiazek[rozdzial]
or false));
if((m>1)and(czy_pierwszy_nilowy))then
czy_jest_teraz_spis_tresci=tab_rozdzialow_glownych_spisow_tresci_ksiazek[rozdzial];
if(czy_jest_teraz_spis_tresci)then
juz_nie_rozwazaj_rozdzialu_spisu_tresci=nil;
juz_nie_rozwazaj_spisu_tresci=nil;
czy_pierwszy_nilowy=nil;
pierwszy_ujemny_spis_tresci=nil;
end;
end;
local czy_nie_ten_rozdzial;
if((not juz_nie_rozwazaj_spisu_tresci)and(not juz_nie_rozwazaj_rozdzialu_spisu_tresci)and(czy_jest_teraz_spis_tresci))then
poziom_spisu_tresci=poziom_rozdzialu;
juz_nie_rozwazaj_rozdzialu_spisu_tresci=true;
czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial];
elseif((not juz_nie_rozwazaj_spisu_tresci)and(juz_nie_rozwazaj_rozdzialu_spisu_tresci))then
if((poziom_spisu_tresci<poziom_rozdzialu))then
czy_nie_ten_rozdzial=false;
else
juz_nie_rozwazaj_spisu_tresci=true;
czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial];
end;
else
czy_nie_ten_rozdzial=tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek[rozdzial];
end;
--if(not czy_nie_ten_rozdzial)then
poprzedni_poziom_znakowy_rozdzialu=poziom_znakowy_rozdzialu;
poziom_znakowy_rozdzialu=poziom_rozdzialu;
poziom_rozdzialu=math.abs(poziom_rozdzialu);
artykuly_w_rozdziale=nil;
if(poziom_znakowy_rozdzialu>0)then
poziom_naglowka=poziom_rozdzialu;
poziom_pierwszego_ujemnego_spisu_tresci=nil;
poprzedni_tab_poziomowo=nil;
poziom_zerowego_naglowka=0;
if(glowny_ujemny_rozdzial)then
HNumerPoziomow=HNumerPoziomow_4;
HNumerPoziomow_4=nil;
tab_numer=tab_numer_4;
poziom_pierwszego_ujemnego_naglowka=nil;
glowny_ujemny_rozdzial=nil;
end;
if(pierwszy_ujemny_spis_tresci)then
HNumerPoziomow=HNumerPoziomow_2;
HNumerPoziomow_2=nil;
tab_numer=tab_numer_2;
tab_numer_2=nil;
pierwszy_ujemny_spis_tresci=nil;
czy_poziom_ujemny_spisu_tresci=nil;
end;
if(not glowny_dodatni_rozdzial)then
if((juz_nie_rozwazaj_rozdzialu_spisu_tresci)and(not juz_nie_rozwazaj_spisu_tresci)and(not czy_jest_teraz_spis_tresci)and(not spis_tresci))then
numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu,1);
spis_tresci=true;
else
if(not pierwszy_rozdzial_dodatni)then
pierwszy_rozdzial_dodatni=1;
numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu,1);
else
numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu);
end;
end;
else
numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu,1);
glowny_dodatni_rozdzial=false;
end;
ostatni_rozdzial_dodatni=poziom_rozdzialu;
elseif(poziom_znakowy_rozdzialu<0)then
if(not pierwszy_rowny_rozdzial)then
if((ostatni_poczatek_artykulu)
and(#ostatni_poczatek_artykulu==#poziom_poczatku_rozdzialu)
and(ostatni_poczatek_artykulu~=poziom_poczatku_rozdzialu)
and(mw.ustring.match(ostatni_poczatek_artykulu,"^*"))
and(mw.ustring.match(poziom_poczatku_rozdzialu,"^:"))
)then
poziom_rozdzialu=poziom_rozdzialu+1;
poziom_znakowy_rozdzialu=-poziom_rozdzialu;
pierwszy_rowny_rozdzial=1;
poziom_naglowka=poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka;
else
poziom_naglowka=poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka;
end;
else
if((#ostatni_poczatek_artykulu==#poziom_poczatku_rozdzialu)
and(ostatni_poczatek_artykulu==poziom_poczatku_rozdzialu)
)then pierwszy_rowny_rozdzial=0;end;
poziom_rozdzialu=poziom_rozdzialu+pierwszy_rowny_rozdzial;
poziom_znakowy_rozdzialu=-poziom_rozdzialu;
poziom_naglowka=poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka;
end;
if(not glowny_ujemny_rozdzial)then
--if((juz_nie_rozwazaj_rozdzialu_spisu_tresci)and(not juz_nie_rozwazaj_spisu_tresci)and(not spis_tresci))then
-- numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu,1);
-- spis_tresci=true;
--else
numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka);
--end;
local numer_rozdzialu_dodatniego=HNumerPoziomowNaglowkow(0) or 0;
if(numer_rozdzialu_dodatniego>=numer_rozdzialu)then
numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka,numer_rozdzialu_dodatniego+1);
end;
else
numer_rozdzialu=HNumerPoziomow(poziom_rozdzialu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka,(HNumerPoziomowNaglowkow(0) or 0)+1);
glowny_ujemny_rozdzial=false;
end;
else
if((m>1)or((m==1)and((not czy_pierwszy_nilowy)or(not czy_jest_teraz_spis_tresci))))then
poziom_zerowego_naglowka=1;
numer_rozdzialu=HNumerPoziomow( 1 + (ostatni_rozdzial_dodatni or 0) + 0);
poziom_znakowy_rozdzialu=-1;
poziom_rozdzialu=1;
poziom_naglowka= 1 + (ostatni_rozdzial_dodatni or 0) + 0;
else
poziom_zerowego_naglowka=0;
numer_rozdzialu=0;
poziom_naglowka=(ostatni_rozdzial_dodatni or 0) + 0;
end;
end;
local numer;
if(poziom_znakowy_rozdzialu>0)then
local numer=HNumerPoziomowNaglowkow(poziom_znakowy_rozdzialu);
--HNumerPoziomowInnychNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
elseif(poziom_znakowy_rozdzialu<0)then
--local numer=HNumerPoziomowInnychNaglowkow(-poziom_znakowy_rozdzialu);
end;
if((m>1)
and(tab_lista_artykulow_w_ksiazce[m-1])
and(tab_lista_artykulow_w_ksiazce[m-1][2])
and(#tab_lista_artykulow_w_ksiazce[m-1][2][1]>0)
and(tab_lista_artykulow_w_ksiazce[m-1][2][#tab_lista_artykulow_w_ksiazce[m-1][2]][2][1]==0)
)then
local lens_tab_numer=#tab_numer;
local roznica=math.min(#poprzedni_tab_poziomowo+#tab_numer,numer_rozdzialu)-#tab_numer;
roznica=((roznica>0) and roznica or 0);
for i=1,roznica,1 do
tab_numer[i+lens_tab_numer]=poprzedni_tab_poziomowo[i];
end;
end;
if((czy_jest_teraz_spis_tresci)and(juz_nie_rozwazaj_rozdzialu_spisu_tresci))then
if(poziom_znakowy_rozdzialu>0)then
poziom_spisu_tresci_naglowka=poziom_rozdzialu;
else
poziom_pierwszego_ujemnego_spisu_tresci=poziom_rozdzialu;
end;
end;
if(poziom_rozdzialu>0)then
if((((czy_poziom_dodatni_spisu_tresci)and(poziom_znakowy_rozdzialu>0))or((czy_poziom_ujemny_spisu_tresci)and(poziom_znakowy_rozdzialu<0)))
and(poziom_spisu_tresci)and(poziom_spisu_tresci>=poziom_rozdzialu)
)then
if(poziom_znakowy_rozdzialu>0)then
tab_numer=tab_numer_1;
tab_poziomowo={};
poziom_spisu_tresci=nil;
HNumerPoziomow=HNumerPoziomow_1;
HNumerPoziomowNaglowkow=HNumerPoziomowNaglowkow_1;
czy_poziom_dodatni_spisu_tresci=false;
elseif(poziom_znakowy_rozdzialu<0)then
tab_numer=tab_numer_2;
tab_poziomowo={};
poziom_spisu_tresci=nil;
HNumerPoziomow=HNumerPoziomow_2;
--HNumerPoziomowNaglowkow=HNumerPoziomowNaglowkow_2;
czy_poziom_ujemny_spisu_tresci=false;
pierwszy_ujemny_spis_tresci=nil;
end;
end;
local hnumer=numer_rozdzialu;
if(poprzedni_tab_poziomowo)then
local lens=math.min(#poprzedni_tab_poziomowo,hnumer-#tab_numer);
local len_tab_numer=#tab_numer;
for i=1,lens,1 do
tab_numer[len_tab_numer+i]=poprzedni_tab_poziomowo[i];
end;
for i=lens+1,#tab_numer do
tab_numer[len_tab_numer+i]=nil;
end;
end;
if(#tab_numer<hnumer)then
for i=#tab_numer+1,hnumer,1 do
table.insert(tab_numer,1);
end;
elseif(#tab_numer>hnumer)then
for i=#tab_numer, hnumer+1,-1 do
table.remove(tab_numer,i);
end;
tab_numer[#tab_numer]=(tab_numer[#tab_numer] or 0) + 1;
else
tab_numer[#tab_numer]=(tab_numer[#tab_numer] or 0) + 1;
end;
else
--[[if(poziom_rozdzialu==0)then
if(tab_lista_artykulow_w_ksiazce[m+1])then
if(tab_lista_artykulow_w_ksiazce[m+1][1][2]>0)then
tab_numer={0,};
elseif(tab_lista_artykulow_w_ksiazce[m+1][1][2]<0)then
tab_numer={};
end;
else
tab_numer={};
end;
end;]]
end;
--end;
if((czy_jest_teraz_spis_tresci)and(((not pierwszy_dodatni_spis_tresci)and(poziom_znakowy_rozdzialu>0))or((not pierwszy_ujemny_spis_tresci)and(poziom_znakowy_rozdzialu<0))))then
function Poziom_dodatni()
for s,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
if(s>m)then
if((tab_lista[1][2][1] or 0)>0)then
if(math.abs(tab_lista[1][2][1] or 0)>poziom_rozdzialu)then
return true;
else
return false;
end;
end;
end;
end;
return false;
end;
local function czy_inaczej_numeruj_rozdzial_dodatni()
if(tab_lista_artykulow_w_ksiazce[m][2])then
for p,artykul_w_bazie in ipairs(tab_lista_artykulow_w_ksiazce[m][2])do
return true;
end;
end;
end;
local function czy_inaczej_numeruj_rozdzial_ujemny()
if(tab_lista_artykulow_w_ksiazce[m][2])then
for p,artykul_w_bazie in ipairs(tab_lista_artykulow_w_ksiazce[m][2])do
local poziom_artykulu=artykul_w_bazie[2][1];
if(prawdziwy_poziom_rozdzialu~=0)then
if(poziom_artykulu>poziom_rozdzialu)then
return true;
end;
else
return true;
end;
end;
end;
return false;
end;
if((poziom_znakowy_rozdzialu>0)and((czy_inaczej_numeruj_rozdzial_dodatni())or(Poziom_dodatni())))then
tab_poziomowo_1=tab_poziomowo;
tab_poziomowo={};
czy_poziom_dodatni_spisu_tresci=true;
HNumerPoziomow_1=HNumerPoziomow;
HNumerPoziomow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
HNumerPoziomowNaglowkow_1=HNumerPoziomowNaglowkow;
HNumerPoziomowNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
tab_numer_1=tab_numer;
tab_numer={};
pierwszy_dodatni_spis_tresci=true;
elseif((poziom_znakowy_rozdzialu<0)
and((czy_inaczej_numeruj_rozdzial_ujemny())or((tab_lista_artykulow_w_ksiazce[m+1])
and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)<0)
and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>poziom_rozdzialu))))then
tab_poziomowo_2=tab_poziomowo;
tab_poziomowo={};
czy_poziom_ujemny_spisu_tresci=true;
HNumerPoziomow_2=HNumerPoziomow;
HNumerPoziomow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
--HNumerPoziomowNaglowkow_2=HNumerPoziomowNaglowkow;
--HNumerPoziomowNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
tab_numer_2=tab_numer;
tab_numer={};
pierwszy_ujemny_spis_tresci=true;
end;
end;
local function OTakimSamymLubMniejszymPoziomie(m)
if(poziom_rozdzialu==0)then return true;end;
local lens=parametry_modul["LiczbaElementówNumerowanychTablicy"](tab_lista_artykulow_w_ksiazce);
if(m==lens)then return true;end;
if(poziom_znakowy_rozdzialu>0)then
for k=m+1,lens,1 do
if(tab_lista_artykulow_w_ksiazce[k])then
if((tab_lista_artykulow_w_ksiazce[k][1][2][1] or 0)>0)then
if(math.abs(tab_lista_artykulow_w_ksiazce[k][1][2][1] or 0)<=poziom_rozdzialu)then
return true;
end;
end;
end;
end;
elseif(((m==1)or((tab_lista_artykulow_w_ksiazce[m-1])and((tab_lista_artykulow_w_ksiazce[m-1][1][2][1] or 0)>0)))and(poziom_znakowy_rozdzialu<0))then
if(tab_lista[2])then
for p,artykul_w_bazie in ipairs(tab_lista[2])do
local poziom_artykulu=artykul_w_bazie[2][1];
if(poziom_artykulu<=-prawdziwy_poziom_rozdzialu)then
return true;
end;
end;
end;
local poziom_zerowego_naglowka_innego=0;
for k=m+1,lens,1 do
if(tab_lista_artykulow_w_ksiazce[k])then
if((tab_lista_artykulow_w_ksiazce[k][1][2][1] or 0)<=0)then
local ile=tab_lista_artykulow_w_ksiazce[k][1][2][1] or 0;
if(ile==0)then
if((czy_jest_teraz_spis_tresci)and(m==1))then
poziom_zerowego_naglowka_innego=poziom_zerowego_naglowka;
else
poziom_zerowego_naglowka_innego=1;
end;
end;
if(math.abs(tab_lista_artykulow_w_ksiazce[k][1][2][1] or 0)+poziom_zerowego_naglowka_innego<=poziom_rozdzialu)then
return true;
end;
else
break;
end;
end;
end;
else
return true;
end;
end;
-- if(not czy_nie_ten_rozdzial)then
if((tab_lista[2])
and(tab_lista[2][1])
and(tab_lista[2][1][2][1]==0)
and(not tab_lista[2][1][4])
and(tab_lista_artykulow_w_ksiazce[m+1])
and(((poziom_znakowy_rozdzialu>0)
and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>0)
and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>poziom_rozdzialu)
)or(
((poziom_znakowy_rozdzialu<0)
and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)<0)
and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)+poziom_zerowego_naglowka>poziom_rozdzialu)
)
)or(
(poziom_znakowy_rozdzialu==0)and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)~=0)
))
)then
if(m==1)then
tab_numer={0,}
else
table.insert(tab_numer,0);
end;
elseif((m==1)and(not tab_lista_artykulow_w_ksiazce[m+1]))then
tab_numer={};
elseif((poziomowo)and(m==1)and(czy_pierwszy_nilowy)and(poziom_znakowy_rozdzialu==0)and(tab_lista_artykulow_w_ksiazce[m+1])and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)<0))then
tab_numer={};
elseif((poziomowo)and(m==1)and(czy_pierwszy_nilowy)and(poziom_znakowy_rozdzialu==0)and(tab_lista_artykulow_w_ksiazce[m+1])and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>0))then
tab_numer={0,}
elseif((poziomowo)and(m==2)and(czy_pierwszy_nilowy)and(poziom_znakowy_rozdzialu<0)and(tab_lista_artykulow_w_ksiazce[m-1])and((tab_lista_artykulow_w_ksiazce[m-1][1][2][1] or 0)==0))then
if(poprzedni_tab_poziomowo)then
local min=math.min(math.abs(numer_rozdzialu),#poprzedni_tab_poziomowo);
for i=#poprzedni_tab_poziomowo,min+1,-1 do
table.remove(poprzedni_tab_poziomowo,i)
end;
tab_numer=poprzedni_tab_poziomowo;
tab_numer[#tab_numer]=(tab_numer[#tab_numer] or 0)+1;
end;
elseif((not czy_jest_teraz_spis_tresci)and(((not pierwszy_dodatni_naglowek)and(poziom_znakowy_rozdzialu>0))or((not pierwszy_ujemny_naglowek)and(poziom_znakowy_rozdzialu<0))))then
if(poziom_rozdzialu>0)then
if(not OTakimSamymLubMniejszymPoziomie(m))then
if(poziom_znakowy_rozdzialu>0)then
HNumerPoziomowNaglowkow_2=HNumerPoziomowNaglowkow;
HNumerPoziomowNaglowkow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
tab_numer_3=tab_numer;
tab_numer={0,};
HNumerPoziomow_3=HNumerPoziomow;
HNumerPoziomow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
pierwszy_dodatni_naglowek=true;
poziom_pierwszego_dodatniego_naglowka=poziom_rozdzialu;
glowny_dodatni_rozdzial=true;
else
tab_numer_4=tab_numer;
tab_numer=parametry_modul["KopiujTabelęElementów"](tab_numer);
tab_numer[#tab_numer]=nil;
HNumerPoziomow_4=HNumerPoziomow;
HNumerPoziomow=stronicowyparser_potrzebne_modul.LiczonyHNumer();
if(poziom_naglowka or 0>0)then
HNumerPoziomow(poziom_naglowka,#tab_numer);
end;
pierwszy_ujemny_naglowek=true;
poziom_pierwszego_ujemnego_naglowka=poziom_rozdzialu;
glowny_ujemny_rozdzial=true;
end;
else
if(poziom_znakowy_rozdzialu>0)then pierwszy_dodatni_naglowek=true;else pierwszy_ujemny_naglowek=true;end;
end;
end;
elseif((czy_jest_teraz_spis_tresci)and(not czy_nie_ten_rozdzial))then
if((not spis)and(poziom_rozdzialu>0)
and(tab_lista_artykulow_w_ksiazce[m+1])
and((
(poziom_znakowy_rozdzialu>0)
and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>0)
and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>poziom_rozdzialu)
)or(
(poziom_znakowy_rozdzialu<0)
and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)<0)
and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>poziom_rozdzialu)
))
)then
tab_numer={0,};
spis=true;
end
elseif((tab_lista_artykulow_w_ksiazce[m+1])
and((
(poziom_znakowy_rozdzialu>0)
and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>0)
and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>poziom_rozdzialu)
)--[[or(
(poziom_znakowy_rozdzialu<0)
and((tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)<0)
and(math.abs(tab_lista_artykulow_w_ksiazce[m+1][1][2][1] or 0)>poziom_rozdzialu)
)]])
)then
table.insert(tab_numer,0);
end;
-- end;
end;
if(tab_lista[2])then
local HNumerArtykulu=stronicowyparser_potrzebne_modul.LiczonyHNumer();
local HNumerPoziomu=stronicowyparser_potrzebne_modul.LiczonyHNumer();
local czy_tytul_rozdzial=nil;local poprzedni_b=nil;local ile_odjac=0;
local HNumerB=nil;
local poprzedni_poziom_artykulu=nil;
local czy_ma_elementy=nil;
local poziom_poprzedni_artykulu=nil;
for p,artykul_w_bazie in ipairs(tab_lista[2])do
local artykul=artykul_w_bazie[1][1] or artykul_w_bazie[1];
artykul=(not naglowek)and mw.ustring.gsub(artykul,"^([^#]*)#(.*)$","%1") or artykul;
if(naglowek or not tab_artykul[artykul])then
pierwszy_rowny_rozdzial=nil;
czy_ma_elementy=true;
if(not naglowek)then
tab_artykul[artykul]=true;
end;
local tab_artykul_w_bazie;
if(poziomowo)then
local poziom_artykulu=artykul_w_bazie[2][1];
local poziom_poczatku_artykulu=artykul_w_bazie[2][2];
local w_rozdziale=artykul_w_bazie[2][4];
if(w_rozdziale)then
function CzyRozdzialMaArtykulyNieWewnetrzne()
for s,artykul_w_bazie in ipairs(tab_lista[2])do
if(s>p)then
if((tab_lista[2][s])and(not tab_lista[2][s][2][4]))then
return true;
end;
end;
end;
return false;
end;
function CzyRozdzialMaRozdzialyNieWewnetrzne()
for s,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
if(s>m)then
local poziom_rozdzialu=tab_lista[1][2][1] or 0;
if(poziom_rozdzialu<0)then
return true;
end;
end;
end;
return false;
end;
if((not artykuly_w_rozdziale)and((CzyRozdzialMaArtykulyNieWewnetrzne())or(CzyRozdzialMaRozdzialyNieWewnetrzne())))then
tab_numer[#tab_numer+1]=0;
artykuly_w_rozdziale=true;
else
if(not tab_lista[2][p+1])then
local wartosc=__FUNKCJA(poziomowo,i,ktory,pierwszy_parametr_szablonu,rozdzial,artykul,tab_numer,{});
if(wartosc)then return wartosc;end;
end;
end;
elseif(artykuly_w_rozdziale)then
artykuly_w_rozdziale=nil;
table.remove(tab_numer,#tab_numer);
tab_poziomowo={};
end;
ostatni_poczatek_artykulu=poziom_poczatku_artykulu;
local function ToNumberPoziomArtykulu(poziom_artykulu)
local numer=tonumber(poziom_artykulu) or 1;
if(numer<1)then numer=1;end;
return numer;
end;
poziom_artykulu=ToNumberPoziomArtykulu(poziom_artykulu);
local poziom_czysty_artykulu=poziom_artykulu;
poziom_artykulu=poziom_artykulu+(ostatni_rozdzial_dodatni or 0)+poziom_zerowego_naglowka;
if((poziom_poczatku_artykulu)and(poziom_poczatku_rozdzialu)
and(#poziom_poczatku_artykulu==#poziom_poczatku_rozdzialu)
and(poziom_poczatku_artykulu~=poziom_poczatku_rozdzialu)
and(mw.ustring.match(poziom_poczatku_rozdzialu,"^*"))
and((mw.ustring.match(poziom_poczatku_artykulu,"^:"))
or (mw.ustring.match(poziom_poczatku_artykulu,"^#"))
)
)then
poziom_artykulu=poziom_artykulu+1;
poziom_czysty_artykulu=poziom_czysty_artykulu+1;
end;
local numer_poziomu=HNumerPoziomow(poziom_artykulu);
if(p>1)then
local numer_poprzedni=tonumber(tab_lista[2][p-1][2][1]) or 1;
local id_poprzednie=tab_lista[2][p-1][4];
local numer=tonumber(tab_lista[2][p][2][1]) or 1;
local id=tab_lista[2][p][4];
if((numer_poprzedni==0)and(not id_poprzednie)and(not id)and(numer>0))then
if(#tab_numer>(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka)then
tab_numer[#tab_numer]=(tab_numer[#tab_numer] or 0)+1;
tab_poziomowo={};
end;
end;
end;
local prefix_poziom_artykulu=poziom_artykulu;
local b=0;
local tab_artykul_w_bazie=mw.text.split(artykul,"/");
if(tab_poprzedni_artykul_w_bazie)then
if(poprzedni_poziom_artykulu)then
if(poprzedni_poziom_artykulu==poziom_artykulu)then
for c=1,#tab_artykul_w_bazie,1 do
local podstrona_artykul=tab_artykul_w_bazie[c];
local podstrona_nazwy_artykulu=tab_poprzedni_artykul_w_bazie[c];
if(podstrona_artykul==podstrona_nazwy_artykulu)then
b=b+1;
end;
end;
else
b=0;
end;
end;
if(poziom_znakowy_rozdzialu<0)then
if(#tab_numer~=0)then
if(poziom_artykulu<=(poziom_pierwszego_ujemnego_naglowka or 0))then
tab_poziomowo=tab_numer_4;
tab_numer={};
HNumerArtykulu=HNumerPoziomow_4;
elseif((poziom_poprzedni_artykulu)and(poziom_artykulu>(poziom_pierwszego_ujemnego_naglowka or 0))and(poziom_poprzedni_artykulu>(poziom_pierwszego_ujemnego_spisu_tresci or 0))and(poziom_artykulu<=(poziom_pierwszego_ujemnego_spisu_tresci or 0)))then
HNumerArtykulu=stronicowyparser_potrzebne_modul.LiczonyHNumer();
for i=#tab_poziomowo,numer_poziomu+1,-1 do
table.remove(tab_numer,i);
end;
tab_numer[#tab_numer]=(tab_numer[#tab_numer] or 0 ) + 1;
tab_poziomowo=tab_numer;
tab_numer={};
elseif((poziom_naglowka>=poziom_artykulu)or((poziom_rozdzialu==poziom_czysty_artykulu)
and((numer_poziomu<numer_rozdzialu)
or((numer_poziomu==numer_rozdzialu)
and(poziom_poczatku_rozdzialu==poziom_poczatku_artykulu)
))
))then
local tab_numer2={};
for i=1,(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka,1 do
tab_numer2[i]=tab_numer[i];
end;
local tab_poziomowo2={};
for i=(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka+1,#tab_numer,1 do
tab_poziomowo2[i-(HNumerPoziomowNaglowkow(0) or 0)-poziom_zerowego_naglowka]=tab_numer[i];
end;
local indeks=(((HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka+1>#tab_numer) and 0 or (#tab_numer-(HNumerPoziomowNaglowkow(0) or 0)-poziom_zerowego_naglowka));
for i=1,numer_poziomu,1 do
tab_poziomowo2[i+indeks]=tab_poziomowo[i];
end;
tab_numer=tab_numer2;
tab_poziomowo=tab_poziomowo2;
--[[tab_poziomowo=tab_numer;
tab_numer={};]]
HNumerArtykulu=stronicowyparser_potrzebne_modul.LiczonyHNumer();
--local numer_poziomu=HNumerPoziomow(poziom_artykulu+(ostatni_rozdzial_dodatni or 0),#tab_poziomowo+1);
end;
end;
end;
elseif(#tab_numer>numer_poziomu)then
tab_poziomowo={};
tab_poziomowo[1]=tab_numer[numer_poziomu];
for i=#tab_numer,numer_poziomu,-1 do
table.remove(tab_numer,i);
end;
elseif((#tab_numer<=numer_rozdzialu)and(numer_rozdzialu>=numer_poziomu))then
local numer_rozdzialu_dodatniego=(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka;
if((numer_rozdzialu_dodatniego>0)or((numer_rozdzialu==numer_poziomu)and(poziom_poczatku_rozdzialu==poziom_poczatku_artykulu)))then
if(#tab_numer>=numer_rozdzialu_dodatniego)then
local tab_numer2={};
for i=1,numer_rozdzialu_dodatniego,1 do
tab_numer2[i]=tab_numer[i];
end;
tab_poziomowo={};
for i=numer_rozdzialu_dodatniego+1,#tab_numer,1 do
tab_poziomowo[i-numer_rozdzialu_dodatniego]=tab_numer[i];
end;
tab_numer=tab_numer2;
end;
end;
end;
poprzedni_poziom_artykulu=poziom_artykulu;
local czy_z_rozdzialem=(tab_artykul_w_bazie[1]==rozdzial);
if((p==1)and(czy_z_rozdzialem))then b=1;end;
czy_tytul_rozdzial=((p==1)and true or czy_tytul_rozdzial) and (czy_z_rozdzialem);
local dodatek=b-((czy_tytul_rozdzial)and 0 or 1);
dodatek=((dodatek>0)and dodatek or 0);
if((poziomowo)and(poziom_znakowy_rozdzialu<0))then
if(poziom_naglowka>=poziom_artykulu)then
local numer_poziomu=HNumerPoziomu(poziom_naglowka,numer_rozdzialu-(HNumerPoziomowNaglowkow(0) or 0));
end;
end;
local stala=poziom_artykulu;
local numer_poziomu=HNumerPoziomu(stala);
poziom_artykulu=stala+dodatek;
local numer=HNumerArtykulu(poziom_artykulu);
local roznica=numer_poziomu-numer;
if(roznica>0)then
numer=HNumerArtykulu(poziom_artykulu,numer_poziomu);
end;
if(#tab_poziomowo<numer)then
for i=#tab_poziomowo+1,numer,1 do
table.insert(tab_poziomowo,1);
end;
else
if(#tab_poziomowo>numer)then
for i=#tab_poziomowo,numer+1,-1 do
table.remove(tab_poziomowo,i);
end;
end;
tab_poziomowo[#tab_poziomowo]=(tab_poziomowo[#tab_poziomowo] or 0)+1;
end;
tab_poprzedni_artykul_w_bazie=tab_artykul_w_bazie;
poziom_poprzedni_artykulu=poziom_artykulu;
end;
local wartosc=__FUNKCJA(poziomowo,i,ktory,pierwszy_parametr_szablonu,rozdzial,artykul,tab_numer,tab_poziomowo);
if(poziomowo)then
if(tab_lista[2][p+1])then
local numer_nastepny=tonumber(tab_lista[2][p+1][2][1]) or 1;
local id_nastepny=tab_lista[2][p+1][4];
local numer=tonumber(tab_lista[2][p][2][1]) or 1;
local id=tab_lista[2][p][4];
if((numer_nastepny==0)and(not id_nastepny)and(not id)and(numer>0))then
tab_poziomowo={tab_numer[(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka+1],};
for i=#tab_numer,(HNumerPoziomowNaglowkow(0) or 0)+poziom_zerowego_naglowka+1,-1 do
table.remove(tab_numer,i);
end;
end;
end;
poprzedni_tab_poziomowo=tab_poziomowo;
end;
if(wartosc)then return wartosc;end;
if(not poziomowo)then
i=i+1;
end;
end;
end;
if(not czy_ma_elementy)then
poprzedni_tab_poziomowo=nil;
if(zbieraj_dane)then local wartosc=__FUNKCJA(poziomowo,i,ktory,pierwszy_parametr_szablonu,rozdzial,"",tab_numer,{}); end;
end;
else
poprzedni_tab_poziomowo=nil;
if(zbieraj_dane)then local wartosc=__FUNKCJA(poziomowo,i,ktory,pierwszy_parametr_szablonu,rozdzial,"",tab_numer,{}); end;
end;
end;
return;
end;
p["PobierzNazwęArtykułu"]=function(frame,tabela_listy_danych_analizy_ksiazki)
local s=1;
local function __FUNKCJA(poziomowo,i,ktory,numer,rozdzial,artykul,tab_numer,tab_poziomowo)
if((not poziomowo)and(i==numer))then
if(s==ktory)then
return artykul;
else
s=s+1;
end;
elseif(poziomowo)then
if((table.concat(tab_numer,".")
..((#tab_numer>0) and "." or "")
..table.concat(tab_poziomowo,"."))==numer)then
if(s==ktory)then
return artykul;
else
s=s+1;
end;
end;
end;
end;
return PobierzNumerLubNazweArtykulu(frame,tabela_listy_danych_analizy_ksiazki,__FUNKCJA,true);
end;
p["PobierzNumerArtykułu"]=function(frame,tabela_listy_danych_analizy_ksiazki)
local s=1;
local function __FUNKCJA(poziomowo,i,ktory,nazwa_artykulu,rozdzial,artykul,tab_numer,tab_poziomowo)
if(nazwa_artykulu==artykul)then
if(s==ktory)then
if(poziomowo)then
return (table.concat(tab_numer,".")..((#tab_numer>0) and ((#tab_poziomowo>0) and "." or "") or "")..table.concat(tab_poziomowo,"."));
else
return i;
end;
end;
s=s+1;
end;
end;
return PobierzNumerLubNazweArtykulu(frame,tabela_listy_danych_analizy_ksiazki,__FUNKCJA,false);
end;
p["PobierzDaneKsiążki"]=function(frame,tabela_listy_danych_analizy_ksiazki,kodowanie_nie_json)
local tab_dane_ksiazki=nil;
local s=1;
local function __FUNKCJA(poziomowo,i,ktory,nazwa_artykulu,rozdzial,artykul,tab_numer,tab_poziomowo)
if(not tab_dane_ksiazki)then tab_dane_ksiazki={};end;
if(not tab_dane_ksiazki[rozdzial])then tab_dane_ksiazki[rozdzial]={};end;
local numer_rozdzialu=tab_numer and table.concat(tab_numer,".") or "";
repeat
numer_rozdzialu=mw.ustring.gsub(numer_rozdzialu,"%.0$","")
until not mw.ustring.match(numer_rozdzialu,"%.0$");
if(not tab_dane_ksiazki[rozdzial][numer_rozdzialu])then
tab_dane_ksiazki[rozdzial][numer_rozdzialu]={};
end;
if(not tab_dane_ksiazki[rozdzial][numer_rozdzialu][artykul])then
tab_dane_ksiazki[rozdzial][numer_rozdzialu][artykul]={};
end;
local numer_artykulu=tab_poziomowo and table.concat(tab_poziomowo,".") or "";
if(not tab_dane_ksiazki[rozdzial][numer_rozdzialu][artykul][numer_artykulu])then
tab_dane_ksiazki[rozdzial][numer_rozdzialu][artykul][numer_artykulu]={};
end;
table.insert(tab_dane_ksiazki[rozdzial][numer_rozdzialu][artykul][numer_artykulu],s);
s=s+1;
return false;
end;
PobierzNumerLubNazweArtykulu(frame,tabela_listy_danych_analizy_ksiazki,__FUNKCJA,false,true);
return (not kodowanie_nie_json) and mw.text.jsonEncode(tab_dane_ksiazki,mw.text.JSON_PRESERVE_KEYS) or tab_dane_ksiazki;
end;
p["SubNazwaNadArtykułu"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local numer=tonumber(args[1]) or 0;
local krok=tonumber(args[2])or 1;
local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame);
return stronicowyparser_potrzebne_modul.SubNazwaNadStrony(nazwa_artykulu,numer,krok);
end;
p["NazwaNadArtykułu"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local args=stronicowyparser_potrzebne_modul:Args(frame);
local numer=tonumber(args[1]) or 1;
local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame);
return stronicowyparser_potrzebne_modul.SubNazwaNadStrony(nazwa_artykulu,1,numer);
end;
p["NazwaLinkuArtykułu"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame);
local ostatni_artykul;
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
if(tab_lista[2])then
for _,artykul_w_bazie in ipairs(tab_lista[2])do
if(type(artykul_w_bazie[1])~="table")then
if(artykul_w_bazie[1]==nazwa_artykulu)then
return artykul_w_bazie[1];
end;
elseif(artykul_w_bazie[1][1]==nazwa_artykulu)then
return artykul_w_bazie[1][2];
end;
end;
end;
end;
return "(błąd)";
end;
p["LiczbaArtykułówKsiążki"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local parametry_modul=require("Module:Parametry");
local args=stronicowyparser_potrzebne_modul:Args();
local naglowek=parametry_modul.CzyTak(args["nagłówek"]);
local tab_artykul=(not naglowek) and {} or nil;
local i=0;
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
if(tab_lista[2])then
for _,artykul_w_bazie in ipairs(tab_lista[2])do
local nazwa_artykulu=artykul_w_bazie[1][1] or artykul_w_bazie[1];
local artykul=(not naglowek) and mw.ustring.gsub(nazwa_artykulu,"^([^#]*)#(.*)$","%1") or nazwa_artykulu;
if(naglowek or not tab_artykul[artykul])then
if(not naglowek)then
tab_artykul[artykul]=true;
end;
i=i+1;
end;
end;
end;
end;
return i;
end;
p["LiniaArtykułuKsiążki"]=function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local nazwa_artykulu=stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame);
local parametry_modul=require("Module:Parametry");
local args=stronicowyparser_potrzebne_modul:Args();
local czy_analiza=parametry_modul.CzyTak(args["analiza"]);
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
if(tab_lista[2])then
for _,artykul_w_bazie in ipairs(tab_lista[2])do
local artykul_ksiazki=artykul_w_bazie[1][1] or artykul_w_bazie[1];
if(artykul_ksiazki==nazwa_artykulu)then
if(not czy_analiza)then
return artykul_w_bazie[3];
else
local function AnalizaLiniiArtykolow()
local czy_spis_tresci=mw.ustring.match(artykul_w_bazie[3],"({{%s*[Ss]pisTreści%s*|[^{}]*}})");
if(czy_spis_tresci)then
local techniczne_modul=require("Module:Techniczne");
local parametry_szablony=techniczne_modul["ParsujWywołanieSzablonu"](czy_spis_tresci);
local nazwa_artykulu=parametry_szablony[1];
------
local nazwa_ksiazki=stronicowyparser_potrzebne_modul:PelnaNazwaKsiazki(frame);
local pelna_nazwa_strony=(nazwa_artykulu=="")and nazwa_ksiazki or nazwa_ksiazki.."/"..nazwa_artykulu;
local link= "[["..pelna_nazwa_strony.."|"..nazwa_artykulu.."]]";
local linia2,_=mw.ustring.gsub(artykul_w_bazie[3],"({{%s*[Ss]pisTreści%s*|[^{}]*}})",link);
return linia2;
else
local czy_spis_tresci=mw.ustring.match(artykul_w_bazie[3],"({{%s*[Ss]ekcja[%s_]+referencyjna%s*|[^{}]*}})");
if(czy_spis_tresci)then
local linia2,_=mw.ustring.gsub(artykul_w_bazie[3],"({{%s*[Ss]ekcja[%s_]+referencyjna%s*|)","%1astandardowo=tak|");
return linia2;
else
local nazwa_ksiazki=stronicowyparser_potrzebne_modul:PelnaNazwaKsiazki(frame);
local function adresuj_linki(a,b)
return "[["..nazwa_ksiazki.."/"..a..(b or "").."]]";
end;
local artykul=mw.ustring.gsub(artykul_w_bazie[3],"%[%[%s*/([^%[%]|]-)/*%s*(|.*)%]%]",adresuj_linki);
artykul=mw.ustring.gsub(artykul,"%[%[%s*/([^%[%]|]-)/*%s*%]%]",adresuj_linki);
return artykul;
end;
end;
end;
return AnalizaLiniiArtykolow();
end
end;
end;
end;
end;
local uzupelniaj_sekcje_artykulow=parametry_modul.CzyTak(args["uzupełniaj sekcje artykułów"]);
if(uzupelniaj_sekcje_artykulow)then
if(mw.ustring.match(nazwa_artykulu,"^[^#]*#(.+)$"))then
local naglowek=mw.ustring.match(nazwa_artykulu,"^[^#]*#(.+)$");
if(parametry_modul["CzyTakCiąg"](naglowek))then
local pelna_nazwa_ksiazki=stronicowyparser_potrzebne_modul:PelnaNazwaKsiazki(frame)
return "[["..pelna_nazwa_ksiazki..((nazwa_artykulu~="")and("/"..nazwa_artykulu) or "").."|"..naglowek.."]]";
end;
end;
end;
end;
p["AktualnaKsiążka"]=function(frame,__error)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
return stronicowyparser_potrzebne_modul:PelnaNazwaKsiazki(frame) or ((not __error)and "(błąd)" or nil);
end;
p["NazwaAktualnyArtykuł"]=function(frame,__error)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
return stronicowyparser_potrzebne_modul:NazwaArtykuluKsiazki(frame) or ((not __error)and "(błąd)" or nil);
end;
p["ListaNagłówkówKsiążki"] = function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu(frame);
stronicowyparser_potrzebne_modul:ParametryPudelkaKsiazki(frame);
local tab_lista_artykulow_w_ksiazce=stronicowyparser_potrzebne_modul:TabelaListyArtykulowKsiazki(frame);
if(not tab_lista_artykulow_w_ksiazce)then return "(błąd)";end;
local stronicowyparser_obiekty=mw.loadData("Module:StronicowyParser/obiekty");
local tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_pomijanych_w_rozwazaniach_na_stronach_glownych_ksiazek;
local tab_rozdzialow_glownych_spisow_tresci_ksiazek=stronicowyparser_obiekty.tab_rozdzialow_glownych_spisow_tresci_ksiazek;
local czy_sa_rozdzialy=nil;
local pelna_nazwa_ksiazki=stronicowyparser_potrzebne_modul:PelnaNazwaKsiazki(frame);
local args=stronicowyparser_potrzebne_modul:Args();
local wikikod="";
local linki_modul=require("Module:Linki");
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
local rozdzial=tab_lista[1][1];
local numer_rozdzialu=tab_lista[1][2][1];
if(numer_rozdzialu>0)then
if(not tab_rozdzialow_glownych_spisow_tresci_ksiazek[rozdzial])then
wikikod=((wikikod~="")and (wikikod.." — ") or "")
..linki_modul["Link wewnętrzny"]{
["strona"]=pelna_nazwa_ksiazki,
["nagłówek"]=rozdzial,
["nazwa"]=rozdzial,
["bez znaczników"]=args["bez znaczników"],
["bez przetwarzania"]=args["bez przetwarzania"],
};
end;
czy_sa_rozdzialy=true;
end;
end;
if(not czy_sa_rozdzialy)then return "(błąd: brak rozdziałów)";end;
return wikikod;
end;
p["ArtykułSubst"] = function(frame)
local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_ksiazkowych;
local nazwa_przestrzeni;local nazwa_ksiazki;local nazwa_artykulu;
if(not tabela_listy_danych_analizy_ksiazki.zastepczy)then
nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki;
nazwa_artykulu=tabela_listy_danych_analizy_ksiazki.nazwa_artykulu;
else
nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.normalna_nazwa_przestrzeni;
nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.normalna_nazwa_ksiazki;
nazwa_artykulu=tabela_listy_danych_analizy_ksiazki.normalna_nazwa_artykulu;
end;
local parametry_modul=require("Module:Parametry");
local PobierzParametr=parametry_modul.PobierzParametr(frame);
local pobierz_nazwa_artykulu=PobierzParametr("pobierz pełną nazwę artykułu");
local pobierz_adres_ksiazki=PobierzParametr("pobierz pełną nazwę książki");
local czy_pobierz_pelna_nazwa_artykulu=parametry_modul.CzyTak(pobierz_nazwa_artykulu);
local czy_pobierz_pelna_nazwa_ksiazki=parametry_modul.CzyTak(pobierz_adres_ksiazki);
if(czy_pobierz_pelna_nazwa_artykulu and not czy_pobierz_pelna_nazwa_ksiazki)then
return ((nazwa_przestrzeni~="")and(nazwa_przestrzeni..":") or "")..nazwa_ksiazki..((nazwa_artykulu~="") and "/" or "")..nazwa_artykulu;
elseif(not czy_pobierz_pelna_nazwa_artykulu and czy_pobierz_pelna_nazwa_ksiazki)then
return ((nazwa_przestrzeni~="")and(nazwa_przestrzeni..":") or "")..nazwa_ksiazki;
elseif(czy_pobierz_pelna_nazwa_artykulu and czy_pobierz_pelna_nazwa_ksiazki)then
return "(błąd)";
end;
local nazwa_strony=((nazwa_przestrzeni~="")and(nazwa_przestrzeni..":") or "")..nazwa_ksiazki..((nazwa_artykulu~="") and "/" or "")..nazwa_artykulu;
local nazwy_modul=require("Module:Nazwy");
if(nazwa_strony==nazwy_modul["PEŁNANAZWASTRONY"]())then
local blad_modul=require("Module:Błąd");
return blad_modul.error{args={[1]="Próbowano załadować bieżącą stronę.",},};
end;
local techniczne_modul=require("Module:Techniczne");
local szablon=techniczne_modul.NazwaSzablonu(nazwa_strony);
return frame:expandTemplate{title=szablon,args={},};
end;
p["KsiążkaSubst"] = function(frame)
local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_ksiazkowych;
local str=tabela_listy_danych_analizy_ksiazki["KsiążkaSubst"];
return str;
end;
p["StronaSubst"] = function(frame)
local parametry_modul=require("Module:Parametry");
local args=parametry_modul.PobierzArgsParametry(frame,true);
local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_ksiazkowych;
local tab_stronasubst=tabela_listy_danych_analizy_ksiazki["StronaSubst"];
if(not tab_stronasubst)then return;end;
local pierwszy,_=mw.ustring.gsub(args[1],"[%s_]+"," ");
local tab_strona=tab_stronasubst[pierwszy];
if(not tab_strona)then return;end;
local link=args["link"];
local czy_link=parametry_modul.CzyTak(link);
local stronasubst=tab_strona[(czy_link and "tak" or "")];
return stronasubst;
end;
p["CzyStronęNumerować"] = function(frame)
local strona=frame.args[1];
local nazwy_modul=require("Module:Nazwy");
strona=nazwy_modul["PEŁNANAZWASTRONY"](strona);
local pudelko_modul=require("Module:Pudełko");
if(strona==pudelko_modul["Strona główna tego projektu"](frame))then
return;
end;
if(strona==pudelko_modul["Strona główna dla dzieci tego projektu"](frame))then
return;
end;
if(mw.ustring.match(strona,"^Szablon:SG/"))then
return;
end;
local zbiory={
["Szablon:Nowe podręczniki miesiąca/Zwycięzca"]=true,
["Wikibooks:Polecane książki"]=true,
["Szablon:Wyróżnienia książek miesiąca/Wyróżniony"]=true,
}
if(zbiory[strona])then
return;
end;
if(mw.ustring.match(strona,"^Szablon:Polecane książki/")
or(mw.ustring.match(strona,"^Szablon:Nowe podręczniki miesiąca/"))
or(mw.ustring.match(strona,"^Szablon:Wyróżnienia książek miesiąca/"))
)then
return;
end;
return "tak";
end;
function p.HNumer(frame)
local p=frame.args["wyspecjalizowana"] and frame or frame:getParent();
if((not p) or (not p.args[1]))then
local blad_module=require("Module:Błąd");
local frame2=p:newChild{args={[1]="Podano złe parametry w szablonie: [[Szablon:HLiczba]].",["tag"]="span",},}
blad_module.error(frame2);
return;
end;
local stronicowyparser_rozdzialy_modul=require("Module:StronicowyParser/Rozdziały");
local naglowek,licznik=stronicowyparser_rozdzialy_modul.PodajRozdzial(p.args[1]);
local id2,_=mw.ustring.gsub(naglowek,"^[%s_]","");
id2,_=mw.ustring.gsub(id2,"[%s_]$","");
id2,_=mw.ustring.gsub(id2,"[%s_]","_");
local id3,_=mw.ustring.gsub(mw.uri.encode(mw.text.encode(id2),"WIKI"),"(%%)",".");
if(licznik>6)then
local id=p.args["id"];
local styl=p.args["styl"];
local klasa=p.args["klasa"];
local atrybuty=p.args["atrybuty"];
local parametry_modul=require("Module:Parametry");
return "<h6"..(parametry_modul.CzyTak(id)and " id=\""..id.."\"" or "")
..(parametry_modul.CzyTak(styl)and " style=\""..styl.."\"" or "")
.." class=\"mw-hnumber mw-hnumber-"..licznik..((parametry_modul.CzyTak(klasa)) and (" "..klasa) or "").."\""
..(parametry_modul.CzyTak(atrybuty)and " "..atrybuty or "")
..">"..((id2~=id3) and ("<span id=\""..id3.."\"></span>") or "").."<span id=\""..id2.."\" class=\"mw-headline\">"..naglowek.."</span></h6>";
elseif(licznik<1)then
local blad_module=require("Module:Błąd");
local frame2=pf:newChild{args={[1]="Nie podano nagłówka w szablonie: [[Szablon:HLiczba]].",["tag"]="span",},}
blad_module.error(frame2);
else
local id=p.args["id"];
local styl=p.args["styl"];
local klasa=p.args["klasa"];
local atrybuty=p.args["atrybuty"];
local parametry_modul=require("Module:Parametry");
return "<h"..licznik..(parametry_modul.CzyTak(id)and " id=\""..id.."\"" or "")
..(parametry_modul.CzyTak(styl)and " style=\""..styl.."\"" or "")
.." class=\""..((parametry_modul.CzyTak(klasa)) and klasa or "").."\""
..(parametry_modul.CzyTak(atrybuty)and " "..atrybuty or "")..">"..((id2~=id3) and ("<span id=\""..id3.."\"></span>") or "").."<span id=\""..id2.."\" class=\"mw-headline\">"..naglowek.."</span></h"..licznik..">";
end;
end;
function p.TOC(frame,czy_rozciagnij,gdy_pusty_spis_tresci)
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych;
local nazwy_modul=require("Module:Nazwy");
local parametry_modul=require("Module:Parametry");
local ksiazkowe_modul=require("Module:Książkowe");
local args=(frame)and (parametry_modul.CzyTak(frame.args["wyspecjalizowana"])and frame.args or frame:getParent().args) or {};
local nazwa_przestrzeni=args[2] and nazwy_modul["NAZWAPRZESTRZENI"](args[2]) or tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
local nazwa_ksiazki=args[2] and ksiazkowe_modul["NazwaKsiążki"](args[2]) or tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki;
local nazwa_artykulu=args[1] and args[1] or tabela_listy_danych_analizy_ksiazki.nazwa_artykulu;
local czy_nie_aktualny=(
(nazwa_przestrzeni~=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni)
or(nazwa_ksiazki~=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki)
or (nazwa_artykulu~=tabela_listy_danych_analizy_ksiazki.nazwa_artykulu)
);
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
if ((tabela_listy_danych_analizy_ksiazki.TOC_StronaZbiorcza)or(tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu and tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni] and tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki] and tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki].lista_artykolow[nazwa_artykulu] and tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki].lista_artykolow[nazwa_artykulu].TOC)) then
mw.log(tabela_listy_danych_analizy_ksiazki.TOC_StronaZbiorcza,"Strona ziorcza");
local spis_tresci_artykulu=stronicowyparser_potrzebne_modul.TOC(frame,tabela_listy_danych_analizy_ksiazki.TOC_StronaZbiorcza or tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki].lista_artykolow[nazwa_artykulu].TOC,czy_nie_aktualny,czy_rozciagnij);
return spis_tresci_artykulu;
elseif(not gdy_pusty_spis_tresci)then
local spis_tresci_artykulu=stronicowyparser_potrzebne_modul.TOC(frame,nil,czy_nie_aktualny,czy_rozciagnij);
return spis_tresci_artykulu;
end;
end;
function p.WykazModolow(frame,czy_rozciagnij)
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych;
local nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki;
local nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
local lista_ksiazek_w_przestrzeni_nazw=tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni];
if(not lista_ksiazek_w_przestrzeni_nazw)then return nil;end;
local tab_lista_artykulow_w_ksiazce_w_ksiazce=lista_ksiazek_w_przestrzeni_nazw[nazwa_ksiazki];
if(not tab_lista_artykulow_w_ksiazce_w_ksiazce)then return nil;end;
local spis=tab_lista_artykulow_w_ksiazce_w_ksiazce.spis;
if(not spis)then return nil;end;
local parametry_modul=require("Module:Parametry");
local spis_ksiazkowy=parametry_modul.CzyTak(frame.args["spis książkowy"]);
local spis_rzeczy=parametry_modul.CzyTak(frame.args["spis rzeczy"]);
local tylko_naglowki=parametry_modul.CzyTak(frame.args["nagłówki"]);
local wysokosc=frame.args["wysokość"];
local wykaz_modolow_w_liscie="";
local i=1;
for _,tab_artykul in ipairs(spis)do
if(tab_artykul[2])then
for _,tab_pozycja in ipairs(tab_artykul[2])do
if(type(tab_pozycja[1])~="table")then
sformatowana_nazwa_artykulu,_=mw.ustring.gsub(tab_pozycja[1],"_"," ");
else
sformatowana_nazwa_artykulu,_=mw.ustring.gsub(tab_pozycja[1][1],"_"," ");
end;
local id=tab_pozycja[4]
if(not tylko_naglowki or id)then
if(not spis_ksiazkowy)then
wykaz_modolow_w_liscie=((wykaz_modolow_w_liscie~="") and (wykaz_modolow_w_liscie.."\n") or "")..'<li>[['..((not spis_rzeczy or not id)and (((nazwa_przestrzeni=="")and nazwa_ksiazki or nazwa_przestrzeni..":"..nazwa_ksiazki).."/") or "#")..sformatowana_nazwa_artykulu.."|<span class=\"tocnumber\">"..i.."</span><span class=\"toctext\">"..sformatowana_nazwa_artykulu..'</span>]]</li>';
else
wykaz_modolow_w_liscie=((wykaz_modolow_w_liscie~="") and (wykaz_modolow_w_liscie.."\n") or "")..'{{SpisZw||[['..((not spis_rzeczy or not id)and (((nazwa_przestrzeni=="")and nazwa_ksiazki or nazwa_przestrzeni..":"..nazwa_ksiazki).."/") or "#")..sformatowana_nazwa_artykulu.."|"..sformatowana_nazwa_artykulu.."]]|"..i.."|100%}}";
end;
i=i+1;
end;
end;
end;
end;
if(wykaz_modolow_w_liscie=="")then return nil;end;
if(not spis_ksiazkowy)then
wykaz_modolow_w_liscie="<ul>"..wykaz_modolow_w_liscie.."</ul>";
wykaz_modolow_w_liscie='<div class="toc_ogólnie_spis toc_wykaz" style="width:100%;max-height:400px;overflow:auto;">'..wykaz_modolow_w_liscie.."</div>";
wykaz_modolow_w_liscie='{{Tabela nawigacyjna|styl=width:'..(czy_rozciagnij and "100%" or "auto")..';font-size:14px;line-height:1.2em;background-color:white;|tytuł=<div style="font-size:14px;line-height:1.2em;background-color:white;text-align:left;white-space:nowrap;">Wykaz modułów w książce</div>|spis='..wykaz_modolow_w_liscie..'|funkcja=UkrytaWikitabelowaListaMenu}}';
else
wykaz_modolow_w_liscie="<div class=\"toc_wykaz mw-overflow-y\" style=\""..(wysokosc and ("max-height:"..wysokosc..";overflow:auto;") or "").."border:solid #aaa 1px;padding:10px;width:auto;box-sizing:border-box;background-color:white;\">"..wykaz_modolow_w_liscie.."</div>";
end;
local rozwiniety_wikikod=frame:preprocess(wykaz_modolow_w_liscie);
return rozwiniety_wikikod;
end;
function p.NazwaModolu()
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych;
local nazwy_np_modul=mw.loadData('Moduł:Nazwy/Np');
local nazwa_artykulu=tabela_listy_danych_analizy_ksiazki.nazwa_artykulu;
if(nazwa_artykulu==nil)then
return "[["..nazwy_np_modul.Category..": Nie można wygenerować nazwy strony]]";
else
return nazwa_artykulu;
end;
end;
function p.Wstep_do_licencji(frame)
local element_licencji_1='<strong>Autor:</strong> '..frame.args[1]..'<BR>';
local element_licencji_2;
if((frame.args[2]~='')and(frame.args[2]~=nil))then
element_licencji_2=frame.args[2]..'<BR>';
end;
local element_licencji_3;
if((frame.args[3]~='')and(frame.args[3]~=nil))then
element_licencji_3='<strong>Email:</strong> '..frame.args[3]..'<BR>';
end;
local element_licencji_4;
if((frame.args[4]~='')and(frame.args[4]~=nil))then
element_licencji_4='<strong>Dotyczy:</strong> '..frame.args[4].."<BR>";
else
element_licencji_4='<strong>Dotyczy:</strong> książki, do której należy ta strona, oraz w niej zawartych stron i w nich podstron, a także w nich kolumn, wraz z zawartościami.<BR>';
end;
if((frame.args[5]~='')and(frame.args[5]~=nil))then
element_licencji_5=frame.args[5].."<BR>";
else
element_licencji_5='Użytkownika książki, do której należy ta strona, oraz w niej zawartych stron i w nich podstron, a także w nich kolumn, wraz z zawartościami nie zwalnia z odpowiedzialności prawnoautorskiej nieprzeczytanie warunków licencjonowania.<BR>';
end;
local element_licencji_6;
if((frame.args[6]~='')and(frame.args[6]~=nil))then
element_licencji_6='<strong>Umowa prawna:</strong> '..frame.args[6]..'<BR>';
else
element_licencji_6='<strong>Umowa prawna:</strong> [http://creativecommons.org/licenses/by-sa/3.0/deed.pl Creative Commons: uznanie autorstwa oraz miejsca pochodzenia książki i jej jakikolwiek części, a także treści, teksty, tabele, wykresy, rysunki, wzory i inne elementy oraz ich części zawarte w książce, i tą książkę, nawet w postaci przerobionej nie można umieszczać w jakikolwiek formie na czasopismach naukowych, archiwach prac, itp.]<BR>';
end;
if((frame.args[7]~='')and(frame.args[7]~=nil))then
element_licencji_7=frame.args[7].."<BR>";
else
element_licencji_7='Autor tej książki dołożył wszelką staranność, aby informacje zawarte w książce były poprawne i najwyższej jakości, jednakże nie udzielana jest żadna gwarancja, czy też rękojma. Autor nie jest odpowiedzialny za wykorzystanie informacji zawarte w książce nawet jeśli wywołaby jakąś szkodę, straty w zyskach, zastoju w prowadzeniu firmy, przedsiębiorstwa lub spółki bądź utraty informacji niezależnie, czy autor (a nawet [https://pl.wikibooks.org Wikibooks]) został powiadomiony o możliwości wystąpienie szkód. Informacje zawarte w książce mogą być wykorzystane tylko na własną odpowiedzialność.<BR>';
end;
local licencja=element_licencji_1..((element_licencji_2)and element_licencji_2 or "")..((element_licencji_3)and element_licencji_3 or "")
..element_licencji_4..element_licencji_5..element_licencji_6..element_licencji_7;
return licencja;
end;
function p.Licencja(frame,czy_rozciagnij)
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych;
local menu_z_licencja;
local nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
local nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki;
local licencja=tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki].licencja;
if(licencja)then
if(licencja[1])then
local frame={};
frame.args={licencja[1],licencja[2],licencja[3],licencja[4],licencja[5],licencja[6],licencja[7]};
local ramka_z_licencja='<div style="margin-left:0px;padding:3px;width:100%;height:auto;box-sizing:border-box;">'..p.Wstep_do_licencji(frame)..'</div>';
menu_z_licencja='{{Tabela nawigacyjna|styl=width:'..(czy_rozciagnij and "100%" or "auto")..';font-size:14px;line-height:1.2em;background-color:white;|tytuł=<div style="font-size:14px;line-height:1.2em;background-color:white;text-align:left;white-space:nowrap;">Licencja</div>|spis='..ramka_z_licencja..'|funkcja=StatycznaWikitabelowaListaMenu}}';
else
return nil;
end;
local frame=mw.getCurrentFrame();
local rozwiniety_wikikod=frame:preprocess(menu_z_licencja);
return rozwiniety_wikikod;
else
return nil;
end;
end;
function p.Autor(frame)
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych;
local nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
local nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki;
local licencja=tabela_listy_danych_analizy_ksiazki.dane_analizy_artykulu[nazwa_przestrzeni][nazwa_ksiazki].licencja;
if(tabela_listy_danych_analizy_ksiazki.licencja)then
return licencja[1];
end;
end;
function p.PierwszaStrona(frame)
local prawe_menu="";
local parametry_modul=require("Module:Parametry");
local czy_rozciagnij=parametry_modul.CzyTak(frame.args["rozciągnij"])
if(parametry_modul.CzyTak(frame.args[1]))then
prawe_menu='<div style="margin-top:5px;font-size:1.9em;line-height:25px;text-align:left;">'..p.NazwaModolu()..'</div><hr style=\"margin:5px 0\"/>';
end;
if(parametry_modul.CzyTak(frame.args[2]))then
local licencja=p.Licencja(frame,czy_rozciagnij);
if(licencja~=nil)then
prawe_menu=prawe_menu..licencja;
else
local obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty");
local uchwyt_strony=mw.title.getCurrentTitle();
local nazwy_np_modul=mw.loadData("Module:Nazwy/Np");
local nazwa_przestrzeni_nazw_strony=require("Module:Nazwy")["NAZWAPRZESTRZENI"]();
local element_zdania_kategorii=(nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Main)and "na stronach głównych, książek"
or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikijunior)and "na stronach głównych, książek dla dzieci"
or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.User)and "na stronach głównych, książek użytkowników"
or((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikibooks)and "na stronach głównych, książek brudnopisu projektu"
or "na stronach głównych, publikacji")));
local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_ksiazkowych;
local kategoria_braku_licencji=(not tabela_listy_danych_analizy_ksiazki.korzystane_strona_glowna_nie_istnieje)and"[["..nazwy_np_modul.Category..": Brak licencji, "..element_zdania_kategorii.."]]" or "";
prawe_menu=prawe_menu..kategoria_braku_licencji;
end;
end;
if(parametry_modul.CzyTak(frame.args[3]))then
local wykaz_artykulow=p.WykazModolow(frame,czy_rozciagnij);
if(wykaz_artykulow~=nil)then
prawe_menu=prawe_menu.."<hr style=\"margin:5px 0\"/>"..wykaz_artykulow;
end;
end;
if(parametry_modul.CzyTak(frame.args[4]))then
local spis_tresci=p.TOC(frame,czy_rozciagnij,true);
if(spis_tresci~=nil)then
prawe_menu=prawe_menu.."<hr style=\"margin:5px 0\"/>"..spis_tresci;
end;
end;
local wysokosc=frame.args["wysokość"];
return "<div style=\"padding:10px;border: solid #aaa 1px;background-color:white;box-sizing:border-box;width:700px;\"><div class=\"pierwsza_strona mw-overflow-y\" style=\"max-height:"..(wysokosc or "100%")..";overflow:auto;height:100%;box-sizing:border-box;\"><div style=\"display:flex;flex-direction:column;width:auto;height:auto;box-sizing:border-box;\">"..prawe_menu.."</div></div></div>";
end;
function p.SpisTresci(frame)
local parametry_modul=require("Module:Parametry");
local args=parametry_modul.PobierzArgsParametry(frame);
local nazwa_artykulu=args["artykuł"] or args[1];
local nazwa_ksiazki=args["książka"] or args[2];
if(not parametry_modul.CzyTak(nazwa_ksiazki))then
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych;
local uzyskana_nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
local uzyskana_nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_ksiazki;
nazwa_ksiazki=((uzyskana_nazwa_przestrzeni~=nil) and (uzyskana_nazwa_przestrzeni..":") or "")..uzyskana_nazwa_ksiazki;
end;
local brak=(nazwa_artykulu and mw.ustring.match(nazwa_artykulu,"[|<>{}%[%]]") or nil) or (nazwa_ksiazki and mw.ustring.match(nazwa_ksiazki,"[|<>{}%[%]]") or nil);
if(brak~=nil)then
local nazwy_np_modul=mw.loadData("Module:Nazwy/Np");
local nazwa_przestrzeni_nazw_strony=require("Module:Nazwy")["NAZWAPRZESTRZENI"]();
local element_zdania_kategorii=(nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Main)and "artykułów,"
or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikijunior)and "artykułów dla dzieci,"
or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.User)and "stron użytkowników,"
or ((nazwa_przestrzeni_nazw_strony==nazwy_np_modul.Wikibooks)and "stron brudnopisu projektu,"
or "stron,")));
return "[["..nazwy_np_modul.Category..":Nazwy "..element_zdania_kategorii.." w spisach treści, zawierają niedozwolone znaki]]";
end;
local html_modul=require("Module:Html");
local nazwy_modul=require("Module:Nazwy");
local ksiazkowe_modul=require("Module:Książkowe");
local nazwa_przestrzeni=nazwy_modul["NAZWAPRZESTRZENI"](nazwa_ksiazki);
local nazwa_ksiazki=ksiazkowe_modul["NazwaKsiążki"](nazwa_ksiazki);
nazwa_ksiazki=html_modul.TransformacjaKlasyZnakowej(nazwa_ksiazki);
local nazwa_artykulu=html_modul.TransformacjaKlasyZnakowej(nazwa_artykulu);
local nazwa_strony=(nazwa_artykulu=="")and nazwa_ksiazki or nazwa_ksiazki.."/"..nazwa_artykulu;
local pelna_nazwa_strony=(nazwa_przestrzeni=="")and nazwa_strony or nazwa_przestrzeni..":"..nazwa_strony;
local tekst_artykulu=p.SpreparowanyWikikodStrony(pelna_nazwa_strony);
local nazwa=args["nazwa"] or args[3];
local nazwa_strony_artykulu=parametry_modul.CzyTak(nazwa) and nazwa or mw.ustring.gsub(mw.ustring.match(nazwa_artykulu,"[^/]*$"),"_"," ");
local dodatek=args["dodatek"] or args[4];
if(not tekst_artykulu)then
if(nazwa_artykulu~="")then
return "\n"..mw.ustring.rep("=",6).."<span style=\"color:red\">[["..pelna_nazwa_strony.."|"..nazwa_strony_artykulu.."]]</span>"..mw.ustring.rep("=",6).."\n";
else
return frame:getParent():preprocess("{{Błąd|Wywołano szablon z argumentem pierwszym pustym.}}");
end;
else
local twor_spisu_tresci="[["..pelna_nazwa_strony.."|"..nazwa_strony_artykulu.."]]"..(((dodatek)and(dodatek~="")) and (" "..dodatek) or "");
twor_spisu_tresci=mw.ustring.rep("=",6)..twor_spisu_tresci..mw.ustring.rep("=",6).."\n";
local stronicowyparser_dalszefunkcje_modul=require("Module:StronicowyParser/DalszeFunkcje");
local ulozenia_w_menu_spisu_tresci=stronicowyparser_dalszefunkcje_modul:SpisTresciWstep(tekst_artykulu, pelna_nazwa_strony);
local atrybuty="style=\"margin-left:20px\"";
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
local toc=stronicowyparser_potrzebne_modul.TOCSilnik(ulozenia_w_menu_spisu_tresci, atrybuty);
local limit=args["limit"];
local czy_limit=parametry_modul.CzyTak(limit);
return '<div class="toc_ogólnie_spis toc_artykuł toclimit '..(czy_limit and ("toclimit-"..limit) or "")..'">\n'..twor_spisu_tresci..(toc and toc or "")..'</div>';
end;
end;
function IteratorFunkcja()
local obiekty_modul=mw.loadData("Module:StronicowyParser/obiekty");
local tabela_wypowiedzi=obiekty_modul.tablica_obiektow;
local licznik=1;
return function()
local tabela_obiektu=tabela_wypowiedzi[licznik];
if(not tabela_obiektu)then return nil;end;
local wartosc1=mw.ustring.gsub(tabela_obiektu[1],"%d+$","");
local wartosc2=tabela_obiektu[4];
licznik=licznik+1;
return wartosc1,wartosc2;
end;
end;
local iterator=IteratorFunkcja();
for nazwa_obiektu,czesc_nazwy_funkcji in iterator do
p["Numer"..czesc_nazwy_funkcji] = function(frame)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
return stronicowyparser_potrzebne_modul.NumerObiektu(frame,nazwa_obiektu);
end;
end;
p["AnalizujSzablonemStronicowymArtykuł"]=function(frame)
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych;
return "";
end;
function p.formatowanie()
local tabela_listy_danych_analizy_ksiazki=mw.loadData('Module:StronicowyParser/informacje').tablica_zebranych_danych_ksiazkowych;
return tabela_listy_danych_analizy_ksiazki.formatowanie;
end;
function p.WstawKategorie(frame)
local stronicowyparser_kategorie_modul=require("Module:StronicowyParser/Kategorie");
return stronicowyparser_kategorie_modul.WstawKategorie(frame);
end;
function p.CzyStronaSubst(frame,pelnanazwastrony,czy_wymusic)
if(czy_wymusic)then
local nazwy_modul=require("Module:Nazwy");
local pelnanazwastronyaktualnej=nazwy_modul["PEŁNANAZWASTRONY"]();
if(pelnanazwastrony~=pelnanazwastronyaktualnej)then
local stronicowyparser_stronasubst_modul=require("Module:StronicowyParser/StronaSubst");
local TakFun=function(frame) return "tak";end;local NieFun=function(frame) return "";end;
return stronicowyparser_stronasubst_modul.AnalizaStronaSubst(nil,pelnanazwastrony,TakFun,NieFun,nil);
end;
end;
local tabela_listy_danych_analizy_ksiazki=mw.loadData("Module:StronicowyParser/informacje").tablica_zebranych_danych_ksiazkowych;
if(tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then
return "tak";
end;
return "";
end;
return p;
mtwucac3q48sek2bbxlfzp7x3oxswtq
Wikipedysta:Persino/brudnopis
2
44693
437869
437863
2022-08-16T13:32:03Z
Persino
2851
wikitext
text/x-wiki
{{#invoke:Linki|UzyskajKodWikiLinku|strona=|wyspecjalizowana=tak}}
{{Brudnopis/Persino/SzablonSubst|nazwa=Przetłumaczony|postęp=tak|kod języka{{=}}en|kod projektu{{=}}w|Statistical physics}}
==Spis treści==
* [[/Alfabet/]]
* [[/Głoski///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////]]
* [[/Przypadki/]]
{{Nowiki|{{PobierzNumerArtykułu|Głoski|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Wikipedysta:Persino/brudnopis/Głoski}}}}
----
{{#invoke:Łatki|są interwiki|nazwa=Wikipedia:Strona główna|kod projektu=w|kod języka=pl|wyspecjalizowana=tak}}
-----
==Spis treści==
** {{kompletność junior|2|17.03.2012}} [[Wikipedysta:Persino/brudnopis/Bałtowie|Bałtowie]] , {{kompletność junior|3|20.10.2020}} [[Wikipedysta:Persino/brudnopis/Celtowie|Celtowie]]
** {{kompletność junior|3|20.13.2112}} [[Wikipedysta:Persino/brudnopis/Bałtowie2|Bałtowie2]]
----
{{Nowiki|{{LiniaArtykułuKsiążki|nazwa przestrzeni nazw=Wikipedysta|nazwa jednostki=Persino/brudnopis/Bałtowie}}}}
----
{{Nowiki|{{LiniaArtykułuKsiążki|nazwa przestrzeni nazw=Wikipedysta|nazwa jednostki=Persino/brudnopis/Celtowie}}}}
----
{{Nowiki|{{LiniaArtykułuKsiążki|nazwa przestrzeni nazw=Wikipedysta|nazwa jednostki=Persino/brudnopis/Bałtowie2}}}}
----
Następny: {{NastępnyArtykuł|1|nagłówek=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Borland C++ Compiler/Wprowadzenie#Dlaczego warto to mieć na swoim twardzielu}}
Poprzedni: {{PoprzedniArtykuł|1|nagłówek=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Borland C++ Compiler/Wprowadzenie#Dlaczego warto to mieć na swoim twardzielu}}
Następny: {{NastępnyArtykuł|1|nagłówek=|nazwa przestrzeni nazw=(main)|nazwa jednostki=Borland C++ Compiler/Wprowadzenie#Dlaczego warto to mieć na swoim twardzielu}}
Poprzedni: {{PoprzedniArtykuł|1|nagłówek=|nazwa przestrzeni nazw=(main)|nazwa jednostki=Borland C++ Compiler/Wprowadzenie#Dlaczego warto to mieć na swoim twardzielu}}
{{SubNazwaNadArtykułu|1|2|nazwa przestrzeni nazw=(main)|nazwa jednostki=Uciążliwość zapachowa/Węch człowieka/Receptory węchowe i kodowanie zapachu}}
{{LiczbaArtykułówKsiążki|nagłówek=|nazwa przestrzeni nazw=(main)|nazwa jednostki=Borland C++ Compiler/Wprowadzenie}}
{{PobierzNazwęArtykułu|5|nagłówek=|nazwa przestrzeni nazw=(main)|nazwa jednostki=Borland C++ Compiler/Wprowadzenie}}
{{PobierzNumerArtykułu|Widłakowate|nagłówek=|nazwa przestrzeni nazw=(main)|nazwa jednostki=Atlas flory Polski/Widłakowate}}
{{PobierzNazwęArtykułu|1|nagłówek=|nazwa przestrzeni nazw=(main)|nazwa jednostki=Atlas flory Polski/Poryblinowate}}
{{PobierzNazwęArtykułu|1|nagłówek=|nazwa przestrzeni nazw=(main)|nazwa jednostki=Uciążliwość zapachowa/Węch człowieka/Receptory węchowe i kodowanie zapachu}}
{{PobierzNazwęArtykułu|1|nagłówek=|nazwa przestrzeni nazw=(main)|nazwa jednostki=Chemia organiczna/Podstawy teoretyczne chemii organicznej/Historia chemii organicznej}}
{{#invoke:Linki|UzyskajKodWikiLinku|strona=|wyspecjalizowana=tak}}
{{PreNowiki|{{#invoke:StronicowyParser/Rozdziały|TekstRozdzialuStrony|Statystyka matematyczna/Średnie w matematyce statystycznej||Średnia arytmetyczna}}}}
{{PreNowiki|{{#invoke:StronicowyParser|ZwróćSekcjęNagłówkaStrony|Matematyka dla liceum|Funkcja wykładnicza i logarytmiczna}}}}
{{PobierzNazwęArtykułu|1|nagłówek=|nazwa przestrzeni nazw=(main)|nazwa jednostki=Statystyka matematyczna/Średnie w matematyce statystycznej}}
{{PreNowiki|{{#invoke:StronicowyParser|LiniaArtykułuKsiążki|nazwa przestrzeni nazw=(main)|nazwa jednostki=Chemia organiczna/Autorzy|analiza=tak|wyspecjalizowana=tak}}}}
{{PreNowiki|{{#invoke:StronicowyParser|LiniaArtykułuKsiążki|nazwa przestrzeni nazw=(main)|nazwa jednostki=Chemia organiczna/Koordynacja|analiza=tak|wyspecjalizowana=tak}}}}
=='''tytan'''==
[[wikibooks:Strona główna]]
{{PobierzNumerArtykułu|Zaczynamy/Zbiory|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Zaczynamy/Zbiory}}
{{PobierzNazwęArtykułu|2.1|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Zaczynamy/Zbiory}}
----
{{PobierzNumerArtykułu|Zaczynamy/Rozwiązywanie równań i nierówności|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Zaczynamy/Zbiory}}
{{PobierzNazwęArtykułu|2.3|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Zaczynamy/Zbiory}}
----
{{PobierzNumerArtykułu|Logika/Zdanie|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Zaczynamy/Zbiory}}
{{PobierzNazwęArtykułu|3.1|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Zaczynamy/Zbiory}}
----
{{PobierzNumerArtykułu|Postulaty szczególnej teorii względności i rodzaje układów|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Szczególna teoria względności/Postulaty szczególnej teorii względności i rodzaje układów}}
{{PobierzNazwęArtykułu|1|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Szczególna teoria względności/Postulaty szczególnej teorii względności i rodzaje układów}}
----
{{PobierzNumerArtykułu|Alkany/Wzory strukturalne i izomeria alkanów|poziomowo=tak|bez automatu=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Chemia organiczna/Podstawy teoretyczne chemii organicznej/Historia chemii organicznej}}
{{PobierzNazwęArtykułu|2.2|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Chemia organiczna/Podstawy teoretyczne chemii organicznej/Historia chemii organicznej}}
----
{{PobierzNumerArtykułu|Ewolucja człowiekowatych w miocenie i pliocenie|poziomowo=tak|bez automatu=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Historia powszechna/Ewolucja człowiekowatych w miocenie i pliocenie}}
{{PobierzNazwęArtykułu|1.1|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Historia powszechna/Ewolucja człowiekowatych w miocenie i pliocenie}}
----
{{PobierzNumerArtykułu|Mezopotamia - wstęp|poziomowo=tak|bez automatu=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Historia powszechna/Ewolucja człowiekowatych w miocenie i pliocenie}}
{{PobierzNazwęArtykułu|2.1.1|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Historia powszechna/Ewolucja człowiekowatych w miocenie i pliocenie}}
----
{{PobierzNumerArtykułu|Źródła historyczne|poziomowo=tak|bez automatu=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Historia powszechna/Ewolucja człowiekowatych w miocenie i pliocenie}}
{{PobierzNazwęArtykułu|0.2|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Historia powszechna/Ewolucja człowiekowatych w miocenie i pliocenie}}
----
{{PobierzNumerArtykułu|Władcy Izraela|poziomowo=tak|bez automatu=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Historia powszechna/Ewolucja człowiekowatych w miocenie i pliocenie}}
{{PobierzNazwęArtykułu|2.3.1.1|poziomowo=tak|bez automatu=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Historia powszechna/Ewolucja człowiekowatych w miocenie i pliocenie}}
----
{{PobierzNumerArtykułu|Majowie|poziomowo=tak|bez automatu=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Historia powszechna/Ewolucja człowiekowatych w miocenie i pliocenie}}
{{PobierzNazwęArtykułu|2.9.3.2|poziomowo=tak|bez automatu=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Historia powszechna/Ewolucja człowiekowatych w miocenie i pliocenie}}
----
{{PobierzNumerNagłówka|Zaczynamy|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Zaczynamy/Zbiory}}
----
{{PobierzNumerArtykułu|Celtowie|poziomowo=tak|nazwa przestrzeni nazw=Wikijunior|nazwa jednostki=Cywilizacje/Celtowie}}
{{PobierzNazwęArtykułu|0.2|poziomowo=tak|nazwa przestrzeni nazw=Wikijunior|nazwa jednostki=Cywilizacje/Celtowie}}
{{PobierzNumerArtykułu|Schemat|poziomowo=tak|nazwa przestrzeni nazw=Wikijunior|nazwa jednostki=Cywilizacje/Celtowie}}
----
{{PobierzNumerArtykułu|Cyrkiel i linijka|poziomowo=tak|nazwa przestrzeni nazw=Wikijunior|nazwa jednostki=Matematyka/Cyrkiel i linijka}}
----
{{PobierzNumerArtykułu|Jak się uczyć, by się nauczyć?|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Angielski/Jak się uczyć, by się nauczyć?}}
----
{{Nowiki|{{LiniaArtykułuKsiążki|nazwa przestrzeni nazw=Wikipedysta|nazwa jednostki=Persino/brudnopis/Bałtowie}}}}
----
{{LinkURL|strona=/w/index.php?title=Angielski/Jak_si%C4%99_uczy%C4%87,_by_si%C4%99_nauczy%C4%87%3F&action=edit&section=1|nazwa=tutan}}
{{LinkURL|strona=https://upload.wikimedia.org/wikibooks/pl/a/a0/2004zad28rys1.gif|nazwa=Pomoc dla użytkowników angielskiej Wikipedii}}
----
{{PobierzNumerArtykułu|Macierze|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Algebra liniowa/Macierze}}
----a
{{PobierzNumerArtykułu|O podręczniku|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=C++/O podręczniku}}
----a
{{PobierzNumerArtykułu|Anioł pasterzom mówił|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Śpiewnik/Anioł pasterzom mówił}}
----Chemia organiczna
{{PobierzNumerArtykułu|Koordynacja|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Chemia organiczna/Koordynacja}}
----a
{{PobierzNumerArtykułu|Węglowodory|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Chemia organiczna/Koordynacja}}
----
{{PobierzNumerArtykułu|Aneks|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Chemia organiczna/Koordynacja}}
----
{{PobierzNumerArtykułu|Słownik pojęć|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Chemia organiczna/Koordynacja}}
----
{{PobierzNumerArtykułu|Egipcjanie|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=Wikijunior|nazwa jednostki=Cywilizacje/Ludzie paleolitu}}
----
{{PobierzNumerArtykułu|Bibliografia|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Atlas flory Polski/Bibliografia}}
----
{{PobierzNumerArtykułu|Rachunek różniczkowy|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Analiza matematyczna/Rachunek różniczkowy}}
----
: {{s|PobierzNumerNagłówka|Starożytny Rzym|który{{=}}1}} → {{PobierzNumerNagłówka|Starożytny Rzym|który=1|nazwa przestrzeni nazw=(main)|nazwa jednostki=Historia powszechna/Źródła historyczne}}.
* Z wielopoziomową pozycją artykułu
: {{s|PobierzNumerNagłówka|Starożytny Rzym|poziomowo{{=}}tak|który{{=}}1}} → {{PobierzNumerNagłówka|Starożytny Rzym|poziomowo=tak|który=1|nazwa przestrzeni nazw=(main)|nazwa jednostki=Historia powszechna/Źródła historyczne}}.
{{LinkURL|strona=https://upload.wikimedia.org/wikipedia/commons/a/aa/Tetrahedron_grey.svg}}
----
{{PobierzNumerArtykułu|Wymowa|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Fiński/Wymowa}}
----
<!--{{PobierzNumerArtykułu|Architektura|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Programowanie w systemie UNIX/Architektura}}
{{#invoke:StronicowyParser|PobierzDaneKsiążki|Architektura|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Programowanie w systemie UNIX/Architektura|wyspecjalizowana=tak}}-->
-----
{{PobierzNumerArtykułu|Wstęp do grup nieprzemiennych|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Teoria grup przemiennych/Wstęp do grup nieprzemiennych}}
----
{{PobierzNumerArtykułu|Ruch po okręgu|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Fizyka dla liceum/Ruch po okręgu}}
----
{{PobierzNumerArtykułu|Malowanie|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Wikijunior:Informatyka/Malowanie}}
m0hdi584w88ol4aumep68ps0qurx4bf
437872
437869
2022-08-16T14:13:12Z
Persino
2851
wikitext
text/x-wiki
{{#invoke:Linki|UzyskajKodWikiLinku|strona=|wyspecjalizowana=tak}}
{{Brudnopis/Persino/SzablonSubst|nazwa=Przetłumaczony|postęp=tak|kod języka{{=}}en|kod projektu{{=}}w|Statistical physics}}
==Spis treści==
* [[/Alfabet/]]
* [[/Głoski///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////]]
* [[/Przypadki/]]
{{Nowiki|{{PobierzNumerArtykułu|Głoski|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Wikipedysta:Persino/brudnopis/Głoski}}}}
----
{{#invoke:Łatki|są interwiki|nazwa=Wikipedia:Strona główna|kod projektu=w|kod języka=pl|wyspecjalizowana=tak}}
-----
==Spis treści==
** {{kompletność junior|2|17.03.2012}} [[Wikipedysta:Persino/brudnopis/Bałtowie|Bałtowie]] , {{kompletność junior|3|20.10.2020}} [[Wikipedysta:Persino/brudnopis/Celtowie|Celtowie]]
** {{kompletność junior|3|20.13.2112}} [[Wikipedysta:Persino/brudnopis/Bałtowie2|Bałtowie2]]
----
{{Nowiki|{{LiniaArtykułuKsiążki|nazwa przestrzeni nazw=Wikipedysta|nazwa jednostki=Persino/brudnopis/Bałtowie}}}}
----
{{Nowiki|{{LiniaArtykułuKsiążki|nazwa przestrzeni nazw=Wikipedysta|nazwa jednostki=Persino/brudnopis/Celtowie}}}}
----
{{Nowiki|{{LiniaArtykułuKsiążki|nazwa przestrzeni nazw=Wikipedysta|nazwa jednostki=Persino/brudnopis/Bałtowie2}}}}
----
Następny: {{NastępnyArtykuł|1|nagłówek=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Borland C++ Compiler/Wprowadzenie#Dlaczego warto to mieć na swoim twardzielu}}
Poprzedni: {{PoprzedniArtykuł|1|nagłówek=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Borland C++ Compiler/Wprowadzenie#Dlaczego warto to mieć na swoim twardzielu}}
Następny: {{NastępnyArtykuł|1|nagłówek=|nazwa przestrzeni nazw=(main)|nazwa jednostki=Borland C++ Compiler/Wprowadzenie#Dlaczego warto to mieć na swoim twardzielu}}
Poprzedni: {{PoprzedniArtykuł|1|nagłówek=|nazwa przestrzeni nazw=(main)|nazwa jednostki=Borland C++ Compiler/Wprowadzenie#Dlaczego warto to mieć na swoim twardzielu}}
{{SubNazwaNadArtykułu|1|2|nazwa przestrzeni nazw=(main)|nazwa jednostki=Uciążliwość zapachowa/Węch człowieka/Receptory węchowe i kodowanie zapachu}}
{{LiczbaArtykułówKsiążki|nagłówek=|nazwa przestrzeni nazw=(main)|nazwa jednostki=Borland C++ Compiler/Wprowadzenie}}
{{PobierzNazwęArtykułu|5|nagłówek=|nazwa przestrzeni nazw=(main)|nazwa jednostki=Borland C++ Compiler/Wprowadzenie}}
{{PobierzNumerArtykułu|Widłakowate|nagłówek=|nazwa przestrzeni nazw=(main)|nazwa jednostki=Atlas flory Polski/Widłakowate}}
{{PobierzNazwęArtykułu|1|nagłówek=|nazwa przestrzeni nazw=(main)|nazwa jednostki=Atlas flory Polski/Poryblinowate}}
{{PobierzNazwęArtykułu|1|nagłówek=|nazwa przestrzeni nazw=(main)|nazwa jednostki=Uciążliwość zapachowa/Węch człowieka/Receptory węchowe i kodowanie zapachu}}
{{PobierzNazwęArtykułu|1|nagłówek=|nazwa przestrzeni nazw=(main)|nazwa jednostki=Chemia organiczna/Podstawy teoretyczne chemii organicznej/Historia chemii organicznej}}
{{#invoke:Linki|UzyskajKodWikiLinku|strona=|wyspecjalizowana=tak}}
{{PreNowiki|{{#invoke:StronicowyParser/Rozdziały|TekstRozdzialuStrony|Statystyka matematyczna/Średnie w matematyce statystycznej||Średnia arytmetyczna}}}}
{{PreNowiki|{{#invoke:StronicowyParser|ZwróćSekcjęNagłówkaStrony|Matematyka dla liceum|Funkcja wykładnicza i logarytmiczna}}}}
{{PobierzNazwęArtykułu|1|nagłówek=|nazwa przestrzeni nazw=(main)|nazwa jednostki=Statystyka matematyczna/Średnie w matematyce statystycznej}}
{{PreNowiki|{{#invoke:StronicowyParser|LiniaArtykułuKsiążki|nazwa przestrzeni nazw=(main)|nazwa jednostki=Chemia organiczna/Autorzy|analiza=tak|wyspecjalizowana=tak}}}}
{{PreNowiki|{{#invoke:StronicowyParser|LiniaArtykułuKsiążki|nazwa przestrzeni nazw=(main)|nazwa jednostki=Chemia organiczna/Koordynacja|analiza=tak|wyspecjalizowana=tak}}}}
=='''tytan'''==
[[wikibooks:Strona główna]]
{{PobierzNumerArtykułu|Zaczynamy/Zbiory|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Zaczynamy/Zbiory}}
{{PobierzNazwęArtykułu|2.1|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Zaczynamy/Zbiory}}
----
{{PobierzNumerArtykułu|Zaczynamy/Rozwiązywanie równań i nierówności|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Zaczynamy/Zbiory}}
{{PobierzNazwęArtykułu|2.3|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Zaczynamy/Zbiory}}
----
{{PobierzNumerArtykułu|Logika/Zdanie|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Zaczynamy/Zbiory}}
{{PobierzNazwęArtykułu|3.1|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Zaczynamy/Zbiory}}
----
{{PobierzNumerArtykułu|Postulaty szczególnej teorii względności i rodzaje układów|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Szczególna teoria względności/Postulaty szczególnej teorii względności i rodzaje układów}}
{{PobierzNazwęArtykułu|1|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Szczególna teoria względności/Postulaty szczególnej teorii względności i rodzaje układów}}
----
{{PobierzNumerArtykułu|Alkany/Wzory strukturalne i izomeria alkanów|poziomowo=tak|bez automatu=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Chemia organiczna/Podstawy teoretyczne chemii organicznej/Historia chemii organicznej}}
{{PobierzNazwęArtykułu|2.2|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Chemia organiczna/Podstawy teoretyczne chemii organicznej/Historia chemii organicznej}}
----
{{PobierzNumerArtykułu|Ewolucja człowiekowatych w miocenie i pliocenie|poziomowo=tak|bez automatu=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Historia powszechna/Ewolucja człowiekowatych w miocenie i pliocenie}}
{{PobierzNazwęArtykułu|1.1|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Historia powszechna/Ewolucja człowiekowatych w miocenie i pliocenie}}
----
{{PobierzNumerArtykułu|Mezopotamia - wstęp|poziomowo=tak|bez automatu=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Historia powszechna/Ewolucja człowiekowatych w miocenie i pliocenie}}
{{PobierzNazwęArtykułu|2.1.1|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Historia powszechna/Ewolucja człowiekowatych w miocenie i pliocenie}}
----
{{PobierzNumerArtykułu|Źródła historyczne|poziomowo=tak|bez automatu=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Historia powszechna/Ewolucja człowiekowatych w miocenie i pliocenie}}
{{PobierzNazwęArtykułu|0.2|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Historia powszechna/Ewolucja człowiekowatych w miocenie i pliocenie}}
----
{{PobierzNumerArtykułu|Władcy Izraela|poziomowo=tak|bez automatu=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Historia powszechna/Ewolucja człowiekowatych w miocenie i pliocenie}}
{{PobierzNazwęArtykułu|2.3.1.1|poziomowo=tak|bez automatu=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Historia powszechna/Ewolucja człowiekowatych w miocenie i pliocenie}}
----
{{PobierzNumerArtykułu|Majowie|poziomowo=tak|bez automatu=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Historia powszechna/Ewolucja człowiekowatych w miocenie i pliocenie}}
{{PobierzNazwęArtykułu|2.9.3.2|poziomowo=tak|bez automatu=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Historia powszechna/Ewolucja człowiekowatych w miocenie i pliocenie}}
----
{{PobierzNumerNagłówka|Zaczynamy|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Zaczynamy/Zbiory}}
----
{{PobierzNumerArtykułu|Celtowie|poziomowo=tak|nazwa przestrzeni nazw=Wikijunior|nazwa jednostki=Cywilizacje/Celtowie}}
{{PobierzNazwęArtykułu|0.2|poziomowo=tak|nazwa przestrzeni nazw=Wikijunior|nazwa jednostki=Cywilizacje/Celtowie}}
{{PobierzNumerArtykułu|Schemat|poziomowo=tak|nazwa przestrzeni nazw=Wikijunior|nazwa jednostki=Cywilizacje/Celtowie}}
----
{{PobierzNumerArtykułu|Cyrkiel i linijka|poziomowo=tak|nazwa przestrzeni nazw=Wikijunior|nazwa jednostki=Matematyka/Cyrkiel i linijka}}
----
{{PobierzNumerArtykułu|Jak się uczyć, by się nauczyć?|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Angielski/Jak się uczyć, by się nauczyć?}}
----
{{Nowiki|{{LiniaArtykułuKsiążki|nazwa przestrzeni nazw=Wikipedysta|nazwa jednostki=Persino/brudnopis/Bałtowie}}}}
----
{{LinkURL|strona=/w/index.php?title=Angielski/Jak_si%C4%99_uczy%C4%87,_by_si%C4%99_nauczy%C4%87%3F&action=edit&section=1|nazwa=tutan}}
{{LinkURL|strona=https://upload.wikimedia.org/wikibooks/pl/a/a0/2004zad28rys1.gif|nazwa=Pomoc dla użytkowników angielskiej Wikipedii}}
----
{{PobierzNumerArtykułu|Macierze|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Algebra liniowa/Macierze}}
----a
{{PobierzNumerArtykułu|O podręczniku|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=C++/O podręczniku}}
----a
{{PobierzNumerArtykułu|Anioł pasterzom mówił|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Śpiewnik/Anioł pasterzom mówił}}
----Chemia organiczna
{{PobierzNumerArtykułu|Koordynacja|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Chemia organiczna/Koordynacja}}
----a
{{PobierzNumerArtykułu|Węglowodory|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Chemia organiczna/Koordynacja}}
----
{{PobierzNumerArtykułu|Aneks|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Chemia organiczna/Koordynacja}}
----
{{PobierzNumerArtykułu|Słownik pojęć|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Chemia organiczna/Koordynacja}}
----
{{PobierzNumerArtykułu|Egipcjanie|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=Wikijunior|nazwa jednostki=Cywilizacje/Ludzie paleolitu}}
----
{{PobierzNumerArtykułu|Bibliografia|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Atlas flory Polski/Bibliografia}}
----
{{PobierzNumerArtykułu|Rachunek różniczkowy|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Analiza matematyczna/Rachunek różniczkowy}}
----
: {{s|PobierzNumerNagłówka|Starożytny Rzym|który{{=}}1}} → {{PobierzNumerNagłówka|Starożytny Rzym|który=1|nazwa przestrzeni nazw=(main)|nazwa jednostki=Historia powszechna/Źródła historyczne}}.
* Z wielopoziomową pozycją artykułu
: {{s|PobierzNumerNagłówka|Starożytny Rzym|poziomowo{{=}}tak|który{{=}}1}} → {{PobierzNumerNagłówka|Starożytny Rzym|poziomowo=tak|który=1|nazwa przestrzeni nazw=(main)|nazwa jednostki=Historia powszechna/Źródła historyczne}}.
{{LinkURL|strona=https://upload.wikimedia.org/wikipedia/commons/a/aa/Tetrahedron_grey.svg}}
----
{{PobierzNumerArtykułu|Wymowa|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Fiński/Wymowa}}
----
<!--{{PobierzNumerArtykułu|Architektura|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Programowanie w systemie UNIX/Architektura}}
{{#invoke:StronicowyParser|PobierzDaneKsiążki|Architektura|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Programowanie w systemie UNIX/Architektura|wyspecjalizowana=tak}}-->
-----
{{PobierzNumerArtykułu|Wstęp do grup nieprzemiennych|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Teoria grup przemiennych/Wstęp do grup nieprzemiennych}}
----
{{PobierzNumerArtykułu|Ruch po okręgu|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Fizyka dla liceum/Ruch po okręgu}}
----
{{PobierzNumerArtykułu|Malowanie|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Wikijunior:Informatyka/Malowanie}}
----
{{PobierzNumerArtykułu|budowanie|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Programowanie w systemie UNIX/budowanie}}
5evx2cyqzqhq5pyn75haofalynf61ds
437874
437872
2022-08-16T14:32:24Z
Persino
2851
wikitext
text/x-wiki
{{#invoke:Linki|UzyskajKodWikiLinku|strona=|wyspecjalizowana=tak}}
{{Brudnopis/Persino/SzablonSubst|nazwa=Przetłumaczony|postęp=tak|kod języka{{=}}en|kod projektu{{=}}w|Statistical physics}}
==Spis treści==
* [[/Alfabet/]]
* [[/Głoski///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////]]
* [[/Przypadki/]]
{{Nowiki|{{PobierzNumerArtykułu|Głoski|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Wikipedysta:Persino/brudnopis/Głoski}}}}
----
{{#invoke:Łatki|są interwiki|nazwa=Wikipedia:Strona główna|kod projektu=w|kod języka=pl|wyspecjalizowana=tak}}
-----
==Spis treści==
** {{kompletność junior|2|17.03.2012}} [[Wikipedysta:Persino/brudnopis/Bałtowie|Bałtowie]] , {{kompletność junior|3|20.10.2020}} [[Wikipedysta:Persino/brudnopis/Celtowie|Celtowie]]
** {{kompletność junior|3|20.13.2112}} [[Wikipedysta:Persino/brudnopis/Bałtowie2|Bałtowie2]]
----
{{Nowiki|{{LiniaArtykułuKsiążki|nazwa przestrzeni nazw=Wikipedysta|nazwa jednostki=Persino/brudnopis/Bałtowie}}}}
----
{{Nowiki|{{LiniaArtykułuKsiążki|nazwa przestrzeni nazw=Wikipedysta|nazwa jednostki=Persino/brudnopis/Celtowie}}}}
----
{{Nowiki|{{LiniaArtykułuKsiążki|nazwa przestrzeni nazw=Wikipedysta|nazwa jednostki=Persino/brudnopis/Bałtowie2}}}}
----
Następny: {{NastępnyArtykuł|1|nagłówek=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Borland C++ Compiler/Wprowadzenie#Dlaczego warto to mieć na swoim twardzielu}}
Poprzedni: {{PoprzedniArtykuł|1|nagłówek=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Borland C++ Compiler/Wprowadzenie#Dlaczego warto to mieć na swoim twardzielu}}
Następny: {{NastępnyArtykuł|1|nagłówek=|nazwa przestrzeni nazw=(main)|nazwa jednostki=Borland C++ Compiler/Wprowadzenie#Dlaczego warto to mieć na swoim twardzielu}}
Poprzedni: {{PoprzedniArtykuł|1|nagłówek=|nazwa przestrzeni nazw=(main)|nazwa jednostki=Borland C++ Compiler/Wprowadzenie#Dlaczego warto to mieć na swoim twardzielu}}
{{SubNazwaNadArtykułu|1|2|nazwa przestrzeni nazw=(main)|nazwa jednostki=Uciążliwość zapachowa/Węch człowieka/Receptory węchowe i kodowanie zapachu}}
{{LiczbaArtykułówKsiążki|nagłówek=|nazwa przestrzeni nazw=(main)|nazwa jednostki=Borland C++ Compiler/Wprowadzenie}}
{{PobierzNazwęArtykułu|5|nagłówek=|nazwa przestrzeni nazw=(main)|nazwa jednostki=Borland C++ Compiler/Wprowadzenie}}
{{PobierzNumerArtykułu|Widłakowate|nagłówek=|nazwa przestrzeni nazw=(main)|nazwa jednostki=Atlas flory Polski/Widłakowate}}
{{PobierzNazwęArtykułu|1|nagłówek=|nazwa przestrzeni nazw=(main)|nazwa jednostki=Atlas flory Polski/Poryblinowate}}
{{PobierzNazwęArtykułu|1|nagłówek=|nazwa przestrzeni nazw=(main)|nazwa jednostki=Uciążliwość zapachowa/Węch człowieka/Receptory węchowe i kodowanie zapachu}}
{{PobierzNazwęArtykułu|1|nagłówek=|nazwa przestrzeni nazw=(main)|nazwa jednostki=Chemia organiczna/Podstawy teoretyczne chemii organicznej/Historia chemii organicznej}}
{{#invoke:Linki|UzyskajKodWikiLinku|strona=|wyspecjalizowana=tak}}
{{PreNowiki|{{#invoke:StronicowyParser/Rozdziały|TekstRozdzialuStrony|Statystyka matematyczna/Średnie w matematyce statystycznej||Średnia arytmetyczna}}}}
{{PreNowiki|{{#invoke:StronicowyParser|ZwróćSekcjęNagłówkaStrony|Matematyka dla liceum|Funkcja wykładnicza i logarytmiczna}}}}
{{PobierzNazwęArtykułu|1|nagłówek=|nazwa przestrzeni nazw=(main)|nazwa jednostki=Statystyka matematyczna/Średnie w matematyce statystycznej}}
{{PreNowiki|{{#invoke:StronicowyParser|LiniaArtykułuKsiążki|nazwa przestrzeni nazw=(main)|nazwa jednostki=Chemia organiczna/Autorzy|analiza=tak|wyspecjalizowana=tak}}}}
{{PreNowiki|{{#invoke:StronicowyParser|LiniaArtykułuKsiążki|nazwa przestrzeni nazw=(main)|nazwa jednostki=Chemia organiczna/Koordynacja|analiza=tak|wyspecjalizowana=tak}}}}
=='''tytan'''==
[[wikibooks:Strona główna]]
{{PobierzNumerArtykułu|Zaczynamy/Zbiory|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Zaczynamy/Zbiory}}
{{PobierzNazwęArtykułu|2.1|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Zaczynamy/Zbiory}}
----
{{PobierzNumerArtykułu|Zaczynamy/Rozwiązywanie równań i nierówności|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Zaczynamy/Zbiory}}
{{PobierzNazwęArtykułu|2.3|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Zaczynamy/Zbiory}}
----
{{PobierzNumerArtykułu|Logika/Zdanie|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Zaczynamy/Zbiory}}
{{PobierzNazwęArtykułu|3.1|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Zaczynamy/Zbiory}}
----
{{PobierzNumerArtykułu|Postulaty szczególnej teorii względności i rodzaje układów|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Szczególna teoria względności/Postulaty szczególnej teorii względności i rodzaje układów}}
{{PobierzNazwęArtykułu|1|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Szczególna teoria względności/Postulaty szczególnej teorii względności i rodzaje układów}}
----
{{PobierzNumerArtykułu|Alkany/Wzory strukturalne i izomeria alkanów|poziomowo=tak|bez automatu=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Chemia organiczna/Podstawy teoretyczne chemii organicznej/Historia chemii organicznej}}
{{PobierzNazwęArtykułu|2.2|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Chemia organiczna/Podstawy teoretyczne chemii organicznej/Historia chemii organicznej}}
----
{{PobierzNumerArtykułu|Ewolucja człowiekowatych w miocenie i pliocenie|poziomowo=tak|bez automatu=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Historia powszechna/Ewolucja człowiekowatych w miocenie i pliocenie}}
{{PobierzNazwęArtykułu|1.1|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Historia powszechna/Ewolucja człowiekowatych w miocenie i pliocenie}}
----
{{PobierzNumerArtykułu|Mezopotamia - wstęp|poziomowo=tak|bez automatu=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Historia powszechna/Ewolucja człowiekowatych w miocenie i pliocenie}}
{{PobierzNazwęArtykułu|2.1.1|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Historia powszechna/Ewolucja człowiekowatych w miocenie i pliocenie}}
----
{{PobierzNumerArtykułu|Źródła historyczne|poziomowo=tak|bez automatu=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Historia powszechna/Ewolucja człowiekowatych w miocenie i pliocenie}}
{{PobierzNazwęArtykułu|0.2|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Historia powszechna/Ewolucja człowiekowatych w miocenie i pliocenie}}
----
{{PobierzNumerArtykułu|Władcy Izraela|poziomowo=tak|bez automatu=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Historia powszechna/Ewolucja człowiekowatych w miocenie i pliocenie}}
{{PobierzNazwęArtykułu|2.3.1.1|poziomowo=tak|bez automatu=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Historia powszechna/Ewolucja człowiekowatych w miocenie i pliocenie}}
----
{{PobierzNumerArtykułu|Majowie|poziomowo=tak|bez automatu=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Historia powszechna/Ewolucja człowiekowatych w miocenie i pliocenie}}
{{PobierzNazwęArtykułu|2.9.3.2|poziomowo=tak|bez automatu=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Historia powszechna/Ewolucja człowiekowatych w miocenie i pliocenie}}
----
{{PobierzNumerNagłówka|Zaczynamy|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Zaczynamy/Zbiory}}
----
{{PobierzNumerArtykułu|Celtowie|poziomowo=tak|nazwa przestrzeni nazw=Wikijunior|nazwa jednostki=Cywilizacje/Celtowie}}
{{PobierzNazwęArtykułu|0.2|poziomowo=tak|nazwa przestrzeni nazw=Wikijunior|nazwa jednostki=Cywilizacje/Celtowie}}
{{PobierzNumerArtykułu|Schemat|poziomowo=tak|nazwa przestrzeni nazw=Wikijunior|nazwa jednostki=Cywilizacje/Celtowie}}
----
{{PobierzNumerArtykułu|Cyrkiel i linijka|poziomowo=tak|nazwa przestrzeni nazw=Wikijunior|nazwa jednostki=Matematyka/Cyrkiel i linijka}}
----
{{PobierzNumerArtykułu|Jak się uczyć, by się nauczyć?|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Angielski/Jak się uczyć, by się nauczyć?}}
----
{{Nowiki|{{LiniaArtykułuKsiążki|nazwa przestrzeni nazw=Wikipedysta|nazwa jednostki=Persino/brudnopis/Bałtowie}}}}
----
{{LinkURL|strona=/w/index.php?title=Angielski/Jak_si%C4%99_uczy%C4%87,_by_si%C4%99_nauczy%C4%87%3F&action=edit&section=1|nazwa=tutan}}
{{LinkURL|strona=https://upload.wikimedia.org/wikibooks/pl/a/a0/2004zad28rys1.gif|nazwa=Pomoc dla użytkowników angielskiej Wikipedii}}
----
{{PobierzNumerArtykułu|Macierze|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Algebra liniowa/Macierze}}
----a
{{PobierzNumerArtykułu|O podręczniku|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=C++/O podręczniku}}
----a
{{PobierzNumerArtykułu|Anioł pasterzom mówił|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Śpiewnik/Anioł pasterzom mówił}}
----Chemia organiczna
{{PobierzNumerArtykułu|Koordynacja|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Chemia organiczna/Koordynacja}}
----a
{{PobierzNumerArtykułu|Węglowodory|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Chemia organiczna/Koordynacja}}
----
{{PobierzNumerArtykułu|Aneks|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Chemia organiczna/Koordynacja}}
----
{{PobierzNumerArtykułu|Słownik pojęć|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Chemia organiczna/Koordynacja}}
----
{{PobierzNumerArtykułu|Egipcjanie|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=Wikijunior|nazwa jednostki=Cywilizacje/Ludzie paleolitu}}
----
{{PobierzNumerArtykułu|Bibliografia|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Atlas flory Polski/Bibliografia}}
----
{{PobierzNumerArtykułu|Rachunek różniczkowy|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Analiza matematyczna/Rachunek różniczkowy}}
----
: {{s|PobierzNumerNagłówka|Starożytny Rzym|który{{=}}1}} → {{PobierzNumerNagłówka|Starożytny Rzym|który=1|nazwa przestrzeni nazw=(main)|nazwa jednostki=Historia powszechna/Źródła historyczne}}.
* Z wielopoziomową pozycją artykułu
: {{s|PobierzNumerNagłówka|Starożytny Rzym|poziomowo{{=}}tak|który{{=}}1}} → {{PobierzNumerNagłówka|Starożytny Rzym|poziomowo=tak|który=1|nazwa przestrzeni nazw=(main)|nazwa jednostki=Historia powszechna/Źródła historyczne}}.
{{LinkURL|strona=https://upload.wikimedia.org/wikipedia/commons/a/aa/Tetrahedron_grey.svg}}
----
{{PobierzNumerArtykułu|Wymowa|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Fiński/Wymowa}}
----
<!--{{PobierzNumerArtykułu|Architektura|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Programowanie w systemie UNIX/Architektura}}
{{#invoke:StronicowyParser|PobierzDaneKsiążki|Architektura|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Programowanie w systemie UNIX/Architektura|wyspecjalizowana=tak}}-->
-----
{{PobierzNumerArtykułu|Wstęp do grup nieprzemiennych|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Teoria grup przemiennych/Wstęp do grup nieprzemiennych}}
----
{{PobierzNumerArtykułu|Ruch po okręgu|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Fizyka dla liceum/Ruch po okręgu}}
----
{{PobierzNumerArtykułu|Malowanie|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Wikijunior:Informatyka/Malowanie}}
----
{{PobierzNumerArtykułu|Wstęp|nagłówek=|poziomowo=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Axiom/Wstęp}}
s39hrlsa8g6mjg6wqz0hjcl2bw8hqpt
Szablon:Sekcja referencyjna/opis
10
54317
437934
426406
2022-08-17T02:39:27Z
Persino
2851
/* Opis parametrów */
wikitext
text/x-wiki
{{Podstrona dokumentacji}}
{{Lua|Module:Sekcja referencyjna|Module:StronicowyParser}}
{{Szablony stronicowe}}
<!-- DODAWAJ KATEGORIE NA DOLE STRONY -->
== Użycie ==
Szablon służy do użycia na stronach danych podręczników, z linkiem do strony do nagłówka rozdziału lub do samej strony, albo na stronach wersji do druku (stworzonej z artykułów tego podręcznika), o nazwie {{Code|Wersja do druku}} lub na stronach zbiorczych złożonych z artykułów, do linkowania, w niej, do nagłówków, gdzie w ich tekstach są załadowane artykuły.
== Ogólne przedstawienie szablonu ==
{{Pre|{{s|Sekcja referencyjna|nazwa strony}}, {{s|Sekcja referencyjna|1{{=}}nazwa strony|3{{=}}nazwa podstrony}}, {{s|Sekcja referencyjna|nazwa strony|tytuł linku w tekście}} lub {{s|Sekcja referencyjna|nazwa strony|tytuł linku w tekście|nazwa podstrony}}}}
Szablon ten, gdy użyty na normalnej stronie, wstawia linka do strony (domyślnie rozdziału lub innego rodzaju sekcji,
na którą jest podzielona książka). Używa się go podobnie jak zwykłego linka: <nowiki>[[nazwa strony|tytuł linku w tekście]]</nowiki>.
Różnica pojawia się, gdy strona zawierająca ten szablon zostanie dołączona do strony, która ma w tytule "Wersja do druku".
Wtedy szablon ten, zamiast tworzyć linka do strony, tworzy odnośnik do sekcji na tej samej stronie.
=== Dlaczego ten szablon ===
Szablon został stworzony do używania w spisach treści, oraz wewnątrz zwyczajnych stron książki jako odnośnik do sekcji (rozdziału/podrozdziału/itp.)
Ideą tego szablonu było rozwiązanie pewnego problemu pojawiającego się, gdy strona zostanie wydrukowana w formie PDF-a.
Normalnie, gdy spis treści zawiera linki do rozdziałów tworzonych normalnym sposobem (przez wikilinki), to w wydrukowanej formie
te linki zostają odnośnikami bezwzględnymi do strony Wikibooks. Gdy użytkownik kliknie w taki link w PDF-ie, to zostanie
przekierowany do przeglądarki WWW z otwartą stroną Wikibooks. Psuje to użytkowanie takiej strony, gdyż użytkownik zazwyczaj
zakłada, że gdy kliknie na odnośnik w spisie treści, to ten przeniesie go na odpowiednią stronę ''wewnątrz'' PDF-a.
Ten szablon rozwiązuje ten problem, przez warunkową zamianę linków do stron sekcji w linki lokalne do sekcji wewnątrz strony do druku.
W niektórych generatorach PDF-a taka zamiana skutkuje tym, że takie linki umieszczone w spisach treści, powodują przeniesienie do odpowiedniej
strony, a nie przeskok do strony WWW (pozostałe generatory po prostu nie generują linków w ogóle).
== Opis parametrów ==
; Pełne wywołanie
{{Pre|{{s|Sekcja referencyjna|{{Code|{{!(}}1{{!}}strona{{)!}}}}{{=}}|{{Code|{{!(}}2{{!}}nazwa{{)!}}}}{{=}}|{{Code|{{!(}}3{{!}}podstrona{{)!}}}}{{=}}|{{Code|{{!(}}4{{!}}ustęp{{)!}}}}{{=}}}}}}
; Parametry
* {{Code|1}} lub {{Code|strona}} - jest to artykuł w podręczniku, ewentualnie z nagłówkiem,
* {{Code|2}} lub {{Code|nazwa}} - nazwa linku wyświetlana w artykule,
* {{Code|3}} lub {{Code|podstrona}} - podstrona dodawana do linku podczas rozważać, wtedy artykuł, będzie o jeden lub wyżej, głębiej w drzewie danej przestrzeni nazw,
* {{Code|4}} lub {{Code|ustęp}} - jeśli przyjmuje wartość niepustą, to nazwa wyświetlana linku jest jego nagłówek, jeżeli istnieje, lub jego podstrona albo sama strona, w przypadku przestrzeni nazw {{Np|(main)|link=tak}} i {{Np|Wikijunior|link=tak}} oraz nibyprzestrzeni nazw {{LinkProjekt2|Brudnopis}}, w przestrzeni nazw {{Np|Project|link=tak}}, a także przestrzeni użytkownika {{Np|User|link=tak}}, a w przypadku nie podania nazwy strony {{Code|strona}} lub {{Code|1}}, to parametr {{Code|ustęp}} zachowuje się odwrotnie, wtedy nazwę strony, do której linkuje szablon, przyjmujemy domyślnie, że jest to nazwa książki, w przestrzeniach nazw w dwóch pierwszych nie widać różnicy działania tego parametru, już jest różnica w nibyprzestrzeniach nazw dwóch ostatnich, tutaj ten szablon podaje subnazwę książki, a nie jego adres, gdzie przy {{Parametr|ustęp|tak}} podaje cały adres,
* {{Code|od małej}} - jeśli niepuste, wyświetlany jest link od małej litery,
* {{Code|od dużej}} - jeśli niepuste, wyświetlany jest link od dużej litery,
* {{Code|pod-ustęp}} - na stronach zbiorczych skraca nazwę nagłówka, która na stronie artykułów podręcznika byłaby nazwą strony, do substrony.
== Przykłady ==
; Możliwe poniższe warianty przykładów tego szablonu symbolizują na czym on polega, jak się powinno go używać. Działanie na odpowiednich stronach jest zasymulowane za pomocą parametrów pudełek.
----
----
; Podstawowe użycie
----
* Wikikod: {{s|Sekcja referencyjna|strona{{=}}Historia}} → {{Nowiki|{{WydobądźLinki|{{Sekcja referencyjna|strona=Historia|nazwa przestrzeni nazw=(main)|nazwa jednostki=Onomastyka/Abionim}}}}}} → {{Sekcja referencyjna|strona=Historia|nazwa przestrzeni nazw=(main)|nazwa jednostki=Onomastyka/Abionim}}.
* Wikikod: {{s|Sekcja referencyjna|strona{{=}}Alfabet grecki|podstrona{{=}}Wstęp}} → {{Nowiki|{{WydobądźLinki|{{Sekcja referencyjna|strona=Alfabet grecki|podstrona=Wstęp|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Wstęp/Alfabet grecki}}}}}} → {{Sekcja referencyjna|strona=Alfabet grecki|podstrona=Wstęp|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Wstęp/Alfabet grecki}}.
* Wikikod: {{s|Sekcja referencyjna|strona{{=}}Historia|nazwa{{=}}Historia matematyki}} → {{Nowiki|{{WydobądźLinki|{{Sekcja referencyjna|strona=Historia|nazwa=Historia matematyki|nazwa przestrzeni nazw=(main)|nazwa jednostki=Onomastyka/Abionim}}}}}} → {{Sekcja referencyjna|strona=Historia|nazwa=Historia matematyki|nazwa przestrzeni nazw=(main)|nazwa jednostki=Onomastyka/Abionim}}.
* Wikikod: {{s|Sekcja referencyjna|strona{{=}}Alfabet grecki|nazwa{{=}}Alfabet grecki|podstrona{{=}}Wstęp}}→ {{Nowiki|{{WydobądźLinki|{{Sekcja referencyjna|strona=Alfabet grecki|nazwa=Alfabet grecki|podstrona=Wstęp|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Wstęp/Alfabet grecki}}}}}} → {{Sekcja referencyjna|strona=Alfabet grecki|nazwa=Alfabet grecki|podstrona=Wstęp|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Wstęp/Alfabet grecki}}.
* Wikikod: {{s|Sekcja referencyjna|strona{{=}}Historia#Historia onomastyki}} → {{Nowiki|{{WydobądźLinki|{{Sekcja referencyjna|strona=Historia#Historia onomastyki|nazwa przestrzeni nazw=(main)|nazwa jednostki=Onomastyka/Historia}}}}}} → {{Sekcja referencyjna|strona=Historia#Historia onomastyki|nazwa przestrzeni nazw=(main)|nazwa jednostki=Onomastyka/Historia}}.
* Wikikod: {{s|Sekcja referencyjna|strona{{=}}Historia#Historia onomastyki|ustęp{{=}}tak}} → {{Nowiki|{{WydobądźLinki|{{Sekcja referencyjna|strona=Historia#Historia onomastyki|ustęp=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Onomastyka/Historia}}}}}} → {{Sekcja referencyjna|strona=Historia#Historia onomastyki|ustęp=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Onomastyka/Historia}}.
* Wikikod: {{s|Sekcja referencyjna|strona{{=}}#Historia onomastyki|podstrona{{=}}Historia}} → {{Nowiki|{{WydobądźLinki|{{Sekcja referencyjna|strona=#Historia onomastyki|podstrona=Historia|nazwa przestrzeni nazw=(main)|nazwa jednostki=Onomastyka/Historia}}}}}} → {{Sekcja referencyjna|strona=#Historia onomastyki|podstrona=Historia|nazwa przestrzeni nazw=(main)|nazwa jednostki=Onomastyka/Historia}}.
* Wikikod: {{s|Sekcja referencyjna|strona{{=}}Zaczynamy/Zbiory}} → {{Nowiki|{{WydobądźLinki|{{Sekcja referencyjna|strona=Zaczynamy/Zbiory|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Zaczynamy/Zbiory}}}}}} → {{Sekcja referencyjna|strona=Zaczynamy/Zbiory|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Zaczynamy/Zbiory}}.
* Wikikod: {{s|Sekcja referencyjna|strona{{=}}Zaczynamy/Zbiory|ustęp{{=}}tak}} → {{Nowiki|{{WydobądźLinki|{{Sekcja referencyjna|strona=Zaczynamy/Zbiory|ustęp=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Zaczynamy/Zbiory}}}}}} → {{Sekcja referencyjna|strona=Zaczynamy/Zbiory|ustęp=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Zaczynamy/Zbiory}}.
----
----
; Przykłady {{Code|od małej}} i {{Code|od dużej}}
----
* Wikikod: {{s|Sekcja referencyjna|strona{{=}}Historia|od małej{{=}}tak}} → {{Nowiki|{{WydobądźLinki|{{Sekcja referencyjna|strona=Historia|nazwa przestrzeni nazw=(main)|nazwa jednostki=Onomastyka/Abionim|od małej=tak}}}}}} → {{Sekcja referencyjna|strona=Historia|nazwa przestrzeni nazw=(main)|nazwa jednostki=Onomastyka/Abionim|od małej=tak}}.
* Wikikod: {{s|Sekcja referencyjna|strona{{=}}Historia|nazwa{{=}}historia|od dużej{{=}}tak}} → {{Nowiki|{{WydobądźLinki|{{Sekcja referencyjna|strona=Historia|nazwa=historia|od dużej=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Onomastyka/Abionim}}}}}} → {{Sekcja referencyjna|strona=Historia|nazwa=historia|od dużej=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Onomastyka/Abionim}}.
----
----
----
; Dla stron o subnazwie {{LinkUstęp|Matematyka dla liceum/Wersja do druku}} dla przykładu dla strony {{LinkGłówna|Matematyka dla liceum/Wersja do druku}}
----
* Wikikod: {{s|Sekcja referencyjna|strona{{=}}Zaczynamy/Zbiory}} → {{Nowiki|{{WydobądźLinki|{{Sekcja referencyjna|strona=Zaczynamy/Zbiory|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Wersja do druku}}}}}} → {{Sekcja referencyjna|strona=Zaczynamy/Zbiory|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Wersja do druku}}.
* Wikikod: {{s|Sekcja referencyjna|strona{{=}}Zaczynamy/Zbiory|ustęp{{=}}tak}} → {{Nowiki|{{WydobądźLinki|{{Sekcja referencyjna|strona=Zaczynamy/Zbiory|ustęp=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Wersja do druku}}}}}} → {{Sekcja referencyjna|strona=Zaczynamy/Zbiory|ustęp=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Wersja do druku}}.
----
* Wikikod: {{s|Sekcja referencyjna|strona{{=}}Zaczynamy/Zbiory|pod-ustęp{{=}}tak}} → {{Nowiki|{{WydobądźLinki|{{Sekcja referencyjna|strona=Zaczynamy/Zbiory|pod-ustęp=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Wersja do druku}}}}}} → {{Sekcja referencyjna|strona=Zaczynamy/Zbiory|pod-ustęp=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Wersja do druku}}.
* Wikikod: {{s|Sekcja referencyjna|strona{{=}}Zaczynamy/Zbiory|ustęp{{=}}tak|pod-ustęp{{=}}tak}} → {{Nowiki|{{WydobądźLinki|{{Sekcja referencyjna|strona=Zaczynamy/Zbiory|ustęp=tak|pod-ustęp=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Wersja do druku}}}}}} → {{Sekcja referencyjna|strona=Zaczynamy/Zbiory|ustęp=tak|pod-ustęp=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Wersja do druku}}.
----
----
* Wikikod: {{s|Sekcja referencyjna|strona{{=}}Zbiory|podstrona{{=}}Zaczynamy}} → {{Nowiki|{{WydobądźLinki|{{Sekcja referencyjna|strona=Zbiory|podstrona=Zaczynamy|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Wersja do druku}}}}}} → {{Sekcja referencyjna|strona=Zbiory|podstrona=Zaczynamy|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Wersja do druku}}.
* Wikikod: {{s|Sekcja referencyjna|strona{{=}}Zbiory|podstrona{{=}}Zaczynamy|ustęp{{=}}tak}} → {{Nowiki|{{WydobądźLinki|{{Sekcja referencyjna|strona=Zbiory|podstrona=Zaczynamy|ustęp=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Wersja do druku}}}}}} → {{Sekcja referencyjna|strona=Zbiory|podstrona=Zaczynamy|ustęp=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Wersja do druku}}.
----
* Wikikod: {{s|Sekcja referencyjna|strona{{=}}Zbiory|podstrona{{=}}Zaczynamy|pod-ustęp{{=}}tak}} → {{Nowiki|{{WydobądźLinki|{{Sekcja referencyjna|strona=Zbiory|podstrona=Zaczynamy|pod-ustęp=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Wersja do druku}}}}}} → {{Sekcja referencyjna|strona=Zbiory|podstrona=Zaczynamy|pod-ustęp=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Wersja do druku}}.
* Wikikod: {{s|Sekcja referencyjna|strona{{=}}Zbiory|podstrona{{=}}Zaczynamy|ustęp{{=}}tak|pod-ustęp{{=}}tak}} → {{Nowiki|{{WydobądźLinki|{{Sekcja referencyjna|strona=Zbiory|podstrona=Zaczynamy|ustęp=tak|pod-ustęp=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Wersja do druku}}}}}} → {{Sekcja referencyjna|strona=Zbiory|podstrona=Zaczynamy|ustęp=tak|pod-ustęp=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Wersja do druku}}.
----
----
; Dla stron o subnazwie poszczególnych rozdziałów, tu mamy {{LinkGłówna|Matematyka dla liceum/Zaczynamy}}, a jego subnazwa (jednocześnie rozdział) {{LinkUstęp|Matematyka dla liceum/Zaczynamy}}
----
* Wikikod: {{s|Sekcja referencyjna|strona{{=}}Zaczynamy/Zbiory}} → {{Nowiki|{{WydobądźLinki|{{Sekcja referencyjna|strona=Zaczynamy/Zbiory|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Zaczynamy}}}}}} → {{Sekcja referencyjna|strona=Zaczynamy/Zbiory|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Zaczynamy}}.
* Wikikod: {{s|Sekcja referencyjna|strona{{=}}Zaczynamy/Zbiory|ustęp{{=}}tak}} → {{Nowiki|{{WydobądźLinki|{{Sekcja referencyjna|strona=Zaczynamy/Zbiory|ustęp=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Zaczynamy}}}}}} → {{Sekcja referencyjna|strona=Zaczynamy/Zbiory|ustęp=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Zaczynamy}}.
----
* Wikikod: {{s|Sekcja referencyjna|strona{{=}}Zaczynamy/Zbiory|pod-ustęp{{=}}tak}} → {{Nowiki|{{WydobądźLinki|{{Sekcja referencyjna|strona=Zaczynamy/Zbiory|pod-ustęp=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Zaczynamy}}}}}} → {{Sekcja referencyjna|strona=Zaczynamy/Zbiory|pod-ustęp=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Zaczynamy}}.
* Wikikod: {{s|Sekcja referencyjna|strona{{=}}Zaczynamy/Zbiory|ustęp{{=}}tak|pod-ustęp{{=}}tak}} → {{Nowiki|{{WydobądźLinki|{{Sekcja referencyjna|strona=Zaczynamy/Zbiory|ustęp=tak|pod-ustęp=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Zaczynamy}}}}}} → {{Sekcja referencyjna|strona=Zaczynamy/Zbiory|ustęp=tak|pod-ustęp=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Zaczynamy}}.
----
* Wikikod: {{s|Sekcja referencyjna|strona{{=}}Zbiory|podstrona{{=}}Zaczynamy}} → {{Nowiki|{{WydobądźLinki|{{Sekcja referencyjna|strona=Zbiory|podstrona=Zaczynamy|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Zaczynamy}}}}}} → {{Sekcja referencyjna|strona=Zbiory|podstrona=Zaczynamy|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Zaczynamy}}.
* Wikikod: {{s|Sekcja referencyjna|strona{{=}}Zbiory|podstrona{{=}}Zaczynamy|podstrona{{=}}Zaczynamy|ustęp{{=}}tak}} → {{Nowiki|{{WydobądźLinki|{{Sekcja referencyjna|strona=Zbiory|podstrona=Zaczynamy|ustęp=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Zaczynamy}}}}}} → {{Sekcja referencyjna|strona=Zbiory|podstrona=Zaczynamy|ustęp=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Zaczynamy}}.
----
* Wikikod: {{s|Sekcja referencyjna|strona{{=}}Zbiory|podstrona{{=}}Zaczynamy|pod-ustęp{{=}}tak}} → {{Nowiki|{{WydobądźLinki|{{Sekcja referencyjna|strona=Zbiory|podstrona=Zaczynamy|pod-ustęp=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Zaczynamy}}}}}} → {{Sekcja referencyjna|strona=Zbiory|podstrona=Zaczynamy|pod-ustęp=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Zaczynamy}}.
* Wikikod: {{s|Sekcja referencyjna|strona{{=}}Zbiory|podstrona{{=}}Zaczynamy|ustęp{{=}}tak|pod-ustęp{{=}}tak}} → {{Nowiki|{{WydobądźLinki|{{Sekcja referencyjna|strona=Zbiory|podstrona=Zaczynamy|ustęp=tak|pod-ustęp=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Zaczynamy}}}}}} → {{Sekcja referencyjna|strona=Zbiory|podstrona=Zaczynamy|ustęp=tak|pod-ustęp=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Zaczynamy}}.
----
----
; Dla stron o subnazwie równej nazwie książki, tu mamy {{LinkGłówna|Matematyka dla liceum/Matematyka dla liceum}}, a jego subnazwa (jednocześnie strona zbiorcza) {{LinkUstęp|Matematyka dla liceum/Matematyka dla liceum}}
----
* Wikikod: {{s|Sekcja referencyjna|strona{{=}}Zaczynamy/Zbiory}} → {{Nowiki|{{WydobądźLinki|{{Sekcja referencyjna|strona=Zaczynamy/Zbiory|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Matematyka dla liceum}}}}}} → {{Sekcja referencyjna|strona=Zaczynamy/Zbiory|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Matematyka dla liceum}}.
* Wikikod: {{s|Sekcja referencyjna|strona{{=}}Zaczynamy/Zbiory|ustęp{{=}}tak}} → {{Nowiki|{{WydobądźLinki|{{Sekcja referencyjna|strona=Zaczynamy/Zbiory|ustęp=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Matematyka dla liceum}}}}}} → {{Sekcja referencyjna|strona=Zaczynamy/Zbiory|ustęp=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Matematyka dla liceum}}.
----
* Wikikod: {{s|Sekcja referencyjna|strona{{=}}Zaczynamy/Zbiory|pod-ustęp{{=}}tak}} → {{Nowiki|{{WydobądźLinki|{{Sekcja referencyjna|strona=Zaczynamy/Zbiory|pod-ustęp=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Matematyka dla liceum}}}}}} → {{Sekcja referencyjna|strona=Zaczynamy/Zbiory|pod-ustęp=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Matematyka dla liceum}}.
* Wikikod: {{s|Sekcja referencyjna|strona{{=}}Zaczynamy/Zbiory|ustęp{{=}}tak|pod-ustęp{{=}}tak}} → {{Nowiki|{{WydobądźLinki|{{Sekcja referencyjna|strona=Zaczynamy/Zbiory|ustęp=tak|pod-ustęp=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Matematyka dla liceum}}}}}} → {{Sekcja referencyjna|strona=Zaczynamy/Zbiory|ustęp=tak|pod-ustęp=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Matematyka dla liceum}}.
----
* Wikikod: {{s|Sekcja referencyjna|strona{{=}}Zbiory|podstrona{{=}}Zaczynamy}} → {{Nowiki|{{WydobądźLinki|{{Sekcja referencyjna|strona=Zbiory|podstrona=Zaczynamy|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Matematyka dla liceum}}}}}} → {{Sekcja referencyjna|strona=Zbiory|podstrona=Zaczynamy|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Matematyka dla liceum}}.
* Wikikod: {{s|Sekcja referencyjna|strona{{=}}Zbiory|podstrona{{=}}Zaczynamy|ustęp{{=}}tak}} → {{Nowiki|{{WydobądźLinki|{{Sekcja referencyjna|strona=Zbiory|podstrona=Zaczynamy|ustęp=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Matematyka dla liceum}}}}}} → {{Sekcja referencyjna|strona=Zbiory|podstrona=Zaczynamy|ustęp=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Matematyka dla liceum}}.
----
* Wikikod: {{s|Sekcja referencyjna|strona{{=}}Zbiory|podstrona{{=}}Zaczynamy|pod-ustęp{{=}}tak}} → {{Nowiki|{{WydobądźLinki|{{Sekcja referencyjna|strona=Zbiory|podstrona=Zaczynamy|pod-ustęp=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Matematyka dla liceum}}}}}} → {{Sekcja referencyjna|strona=Zbiory|podstrona=Zaczynamy|pod-ustęp=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Matematyka dla liceum}}.
* Wikikod: {{s|Sekcja referencyjna|strona{{=}}Zbiory|podstrona{{=}}Zaczynamy|ustęp{{=}}tak|pod-ustęp{{=}}tak}} → {{Nowiki|{{WydobądźLinki|{{Sekcja referencyjna|strona=Zbiory|podstrona=Zaczynamy|ustęp=tak|pod-ustęp=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Matematyka dla liceum}}}}}} → {{Sekcja referencyjna|strona=Zbiory|podstrona=Zaczynamy|ustęp=tak|pod-ustęp=tak|nazwa przestrzeni nazw=(main)|nazwa jednostki=Matematyka dla liceum/Matematyka dla liceum}}.
----
----
----
; Dla stron brudnopisu projektu {{LinkProjekt2|Brudnopis}} lub stron w przestrzeni nazw {{Np|User|link=tak}}, dla przykładu dla artykułu {{LinkProjekt2|Brudnopis/Karol Karolus/Ulice miasta Lublina/Litera Ż}}
----
* Wikikod: {{s|Sekcja referencyjna}} → {{Nowiki|{{WydobądźLinki|{{Sekcja referencyjna|nazwa przestrzeni nazw=Project|nazwa jednostki=Brudnopis/Karol Karolus/Ulice miasta Lublina/Litera Ż}}}}}} → {{Sekcja referencyjna|nazwa przestrzeni nazw=Project|nazwa jednostki=Brudnopis/Karol Karolus/Ulice miasta Lublina/Litera Ż}}.
* Wikikod: {{s|Sekcja referencyjna|ustęp{{=}}tak}} → {{Nowiki|{{WydobądźLinki|{{Sekcja referencyjna|ustęp=tak|nazwa przestrzeni nazw=Project|nazwa jednostki=Brudnopis/Karol Karolus/Ulice miasta Lublina/Litera Ż}}}}}} → {{Sekcja referencyjna|ustęp=tak|nazwa przestrzeni nazw=Project|nazwa jednostki=Brudnopis/Karol Karolus/Ulice miasta Lublina/Litera Ż}}.
== Błędy ==
Błędy należy zgłaszać na stronie {{kwestie techniczne}}.
== Parametry szablonu ({{Strukturyzacja Wizualnego Edytora}}) ==
<templatedata>
{
"params": {
"strona": {
"aliases": [
"1"
],
"description": "Nazwa strony, ewentualnie z nagłówkiem.",
"type": "wiki-page-name",
"suggested": true
},
"nazwa": {
"aliases": [
"2"
],
"description": "Nazwa wyświetlana linku.",
"type": "string",
"suggested": true
},
"podstrona": {
"aliases": [
"3"
],
"description": "Podstrona podręcznika, do której ma zaliczyć, do linku, artykuł.",
"type": "string"
},
"ustęp": {
"aliases": [
"4"
],
"description": "Jeśli niepuste, gdy ma wyświetlić nagłówek strony lub podstronę.",
"type": "string"
}
},
"description": "Szablon służy do użycia na stronach danych podręczników, z linkiem do strony do nagłówka rozdziału lub do samej strony, albo na stronach wersji do druku (stworzonej z artykułów tego podręcznika), o nazwie \"Wersja do druku\", do linkowania, w niej, do nagłówków, gdzie w ich tekstach są załadowane artykuły."
}
</templatedata>
== Zobacz też ==
; Ogólne szablony linków inteligentnych, kolorujących linki, w zależności do jakiej kategorii one należą, w tym celu wykorzystuje projekt {{NAZWASERWISU|kod projektu=d|link=tak}}
* {{s|LinkOgólne}} - najogólniejszy szablon linków, budulec innych szablonów linków, w tym również {{s|LinkUstęp}}, i pośrednio innych podobnych tego typu,
* {{s|LinkOgólne2}} - jest to szablon linków, oparty o szablon {{s|LinkOgólne}}, wyświetla link, przy niepodanym drugim parametrze, z nazwą przestrzeni nazw strony,
* {{s|Link wewnętrzny}} - szablon służy do budowania linków inteligentnych, szablon nie ma parametru nazwy przestrzeni nazw, w przeciwieństwie do {{s|LinkOgólne}},
* {{s|LinkURL}} - szablon tworzy, pełny adres URL, na podstawie użytych parametrów.
; Szablony wydobywające linki z wikitekstu
* {{s|WydobądźLinki}} - wydobywa linki wewnętrzne i zewnętrzne, jeżeli występują.
{{Szablony linków wewnątrz- i między-serwisowych}}
{{BrClear}}
<includeonly><!--
++++ DODAWAJ KATEGORIE I INTERWIKI PONIŻEJ TEJ LINII -->
{{Kategorie
| Szablony pomocne do tworzenia spisów treści, książek
| Szablony na strony do druku
| Szablony linków do ustępu
| Szablony stronicowe
}}
</includeonly>
n92cnkidlcjs2wxbb7tlkb6aim4sd3n
Wikipedysta:Persino/vector-2022.css
2
58229
437913
437713
2022-08-16T19:42:43Z
Persino
2851
css
text/css
body.skin-vector-search-vue .mw-page-container{
max-width:100%;
min-width:988px;
padding-left:0;
padding-right:0;
border-left: 0;
border-right: 0;
box-sizing:border-box;
display:block;
width:100%;
background-color:white;
height:auto;
}
body.skin-vector-search-vue .mw-content-container{
max-width:100%;
box-sizing:border-box;
padding-left:0 !important;
}
body.skin-vector-search-vue .mw-logo-container{
margin-left: 10px;
margin-right:0;
}
body.skin-vector-search-vue #p-lang-btn-label{
font-size:14px !important;
line-height:1.2em !important;
white-space:nowrap;
}
body.skin-vector-search-vue .mw-indicators{
font-size: calc( 14px * 0.875 );
line-height: 2.0em;
white-space:nowrap;
margin: auto 0 0 0;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content{
display:grid;
grid: 'aa aa aa' auto
'cc cc cc' auto
'bb bb bb' auto
'.. .. ee' auto
'dd dd dd' auto
/ minmax(auto,100%) minmax(auto,100%) auto
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > #top{
grid-area:aa;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .vector-article-toolbar{
grid-area:cc;
margin:0;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .mw-body-header{
grid-area:bb;
top:0;
width:auto !important;
height:auto !important;
margin:0;
margin-right:10px;
box-sizing:border-box;
border-bottom: 1px solid #a2a9b1;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > #p-lang-btn{
grid-area:ee;
height:20px;
width:136px;
height:auto;
margin-left:auto;
top:0;
margin: auto 5px 0 5px;
padding-bottom:8px;
box-sizing:border-box;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > #bodyContent{
grid-area:dd;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .mw-body-header{
display:grid;
grid: 'aa bb' auto
/ minmax(auto,1fr) auto;
width:100%;
min-height: 46px;
box-sizing: border-box;
position: relative;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .mw-body-header > .firstHeading{
display:block !important;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .mw-body-header > .firstHeading:not(:hover){
grid-area:aa;
margin-bottom:2px;
width:100%;
max-width:fit-content;
max-width:-moz-fit-content;
margin-bottom: 0;
margin-top: auto;
border-bottom: none;
padding-left: 3px;
padding-right: 3px;
border-bottom: 0;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .mw-body-header > .mw-indicators{
grid-area: bb;
width: auto;
height: 1.6em;
margin-bottom: 5px;
margin-top: auto;
margin-right: 5px;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .mw-body-header > .firstHeading > .plainlinks,
body.skin-vector-search-vue.action-view.ns-special #content > .mw-body-header > .firstHeading > .plainlinks
body.skin-vector-search-vue:not(.action-view) #content > .mw-body-header > .firstHeading > .plainlinks{
padding-bottom:2px;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .mw-body-header > #p-lang-btn{
grid-area:bb;
right:0;
margin:0;
height:auto;
width:auto;
margin-top: auto;
margin-bottom:0;
padding: 0 3px;
box-sizing:border-box;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .mw-body-header,
body.skin-vector-search-vue.action-view.ns-special #content > .mw-body-header,
body.skin-vector-search-vue:not(.action-view) #content > .mw-body-header{
display:grid;
grid:'aa bb' auto
/ minmax(auto,100%) auto;
border-bottom:1px solid #a2a9b1;
margin-top:auto;
margin-bottom:0;
min-height:46px;
box-sizing:border-box;
position:relative;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .mw-body-header > .firstHeading:not(:hover),
body.skin-vector-search-vue.action-view.ns-special #content > .mw-body-header > .firstHeading:not(:hover),
body.skin-vector-search-vue:not(.action-view) #content > .mw-body-header > .firstHeading:not(:hover){
grid-area:aa;
width:100%;
max-width:fit-content;
max-width:-moz-fit-content;
margin-bottom:0;
margin-top:auto;
border-bottom:none;
padding-left:3px;
padding-right:3px;
border-bottom:0;
box-sizing:border-box;
}
body.skin-vector-search-vue.action-view.ns-special #content > .mw-body-header > .mw-indicators,
body.skin-vector-search-vue:not(.action-view) #content > .mw-body-header > .mw-indicators{
grid-area:bb;
right:0;
margin:0;
height:auto;
width:100%;
margin:auto 0 0 auto;
padding: 0 10px;
box-sizing:border-box;
}
body.skin-vector-search-vue.action-view.ns-special #content .mw-body-header > .mw-indicators > .mw-indicator,
body.skin-vector-search-vue:not(.action-view) #content .mw-body-header > .mw-indicators > .mw-indicator{
padding: 2px 0 2px 0;
margin: auto 0 0 0;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content,
body.skin-vector-search-vue.action-view.ns-special #content,
body.skin-vector-search-vue:not(.action-view) #content{
display:grid;
grid:'aa' auto
'bb' auto
'cc' auto
'dd' auto
/ auto;
width:100%;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > #top,
body.skin-vector-search-vue.action-view.ns-special #content > #top,
body.skin-vector-search-vue:not(.action-view) #content > #top{
grid-area:aa;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .vector-article-toolbar,
body.skin-vector-search-vue.action-view.ns-special #content > .vector-article-toolbar,
body.skin-vector-search-vue:not(.action-view) #content > .vector-article-toolbar{
grid-area:bb;
}
body.skin-vector-search-vue .mw-body-header::after{
display:none;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .mw-body-header,
body.skin-vector-search-vue.action-view.ns-special #content > .mw-body-header,
body.skin-vector-search-vue:not(.action-view) #content > .mw-body-header{
grid-area:cc;
margin:0;
margin-right:10px;
width:auto;
padding-bottom:0;
}
body.skin-vector-search-vue .mw-body-subheader{
border-bottom:0;
}
/*body.skin-vector-search-vue #siteSub,*/
body.skin-vector-search-vue .firstHeading:not(:hover) > .plainlinks{
display:none;
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
}
/*body.skin-vector-search-vue .firstHeading{
text-shadow:0 2px 0 #FFF,0 3px 0 #AAA,0 3px 4px #AAA;
}*/
body.skin-vector-search-vue .firstHeading > .plainlinks{
text-shadow:none;
}
body.skin-vector-search-vue .firstHeading:not(:hover){
display:block;
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
border-bottom:0;
}
body.skin-vector-search-vue .firstHeading:hover{
display:block;
border:1px solid #eaecf0;
border-radius:10px;
background-color:white;
position:absolute;
top:5px;
left:-3px;
width:auto;
padding:5px;
z-index:1 !important;
}
body.skin-vector-search-vue .mw-body-header > .firstHeading:hover > .plainlinks{
display:block;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #bodyContent > .mw-body-subheader{
margin: 2px 0 3px 0;
min-height:1.6em;
}
body.skin-vector-search-vue.action-view.ns-special #bodyContent > .mw-body-subheader,
body.skin-vector-search-vue:not(.action-view) #bodyContent > .mw-body-subheader{
margin: 0;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #bodyContent > .mw-body-subheader{
margin:0;
margin-top: -2.0em;
font-size: 1.2em;
height: 2em;
margin-bottom:5px;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #bodyContent > .mw-body-subheader > #siteSub{
display:block !important;
width:auto;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #bodyContent > .mw-body-subheader> .mw-indicators{
margin-left:5px;
margin-right:3px;
display:block;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #bodyContent > .mw-body-subheader> #siteSub{
display:block;
}
body.skin-vector-search-vue .firstHeading,
body.skin-vector-search-vue .firstHeading > .plainlinks{
max-width:100%;
width:auto;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content #bodyContent,
body.skin-vector-search-vue.action-view.ns-special #content #bodyContent,
body.skin-vector-search-vue:not(.action-view) #content #bodyContent{
grid-area:dd;
}
body.skin-vector-search-vue .mw-article-toolbar-container,
body.skin-vector-search-vue .mw-content-container{
margin-left:0 !important;
}
body.skin-vector-search-vue .mw-page-container-inner{
display:grid;
grid:'aa aa aa' auto
'cc bb bb' auto
'cc dd ee' auto
'cc ff ff' minmax(auto,1fr)
/ auto minmax(auto,1fr) auto;
width:auto;
box-sizing:border-box;
row-gap:0;
}
body.skin-vector-search-vue .mw-page-container-inner > .mw-header{
grid-area:aa;
}
body.skin-vector-search-vue .mw-page-container-inner > #siteNotice{
grid-area:bb;
}
body.skin-vector-search-vue .mw-page-container-inner > .vector-sidebar-container{
grid-area:cc;
}
body.skin-vector-search-vue .mw-page-container-inner > .mw-content-container{
grid-area:dd;
grid-column:auto !important;
}
body.skin-vector-search-vue .mw-page-container-inner > .mw-table-of-contents-container{
grid-area:ee;
}
body.skin-vector-search-vue .mw-page-container-inner > .mw-footer-container{
grid-area:ff;
}
/**/
body.skin-vector-search-vue .mw-workspace-container .mw-content-container,
body.skin-vector-search-vue .mw-workspace-container .mw-content-container #bodyContent,
body.skin-vector-search-vue .mw-workspace-container .mw-content-container #content,
body.skin-vector-search-vue .mw-workspace-container .mw-content-container .mw-body-header{
width:100%;
box-sizing:border-box;
}
body.skin-vector-search-vue .mw-article-toolbar-container .mw-portlet-views {
display: block;
}
body.skin-vector-search-vue .mw-article-toolbar-container .vector-more-collapsible-item {
display: none;
}
body.skin-vector-search-vue .mw-sidebar{
background-color: white;
width:140px;
box-sizing:border-box;
display:block !important;
visibility: visible !important;
opacity: 1 !important;
padding:0;
margin-left:0;
}
body.skin-vector-search-vue .ui-dialog{
font-size:75%;
}
body.skin-vector-search-vue .mw-body-content .error{
font-size:96%;
}
body.skin-vector-search-vue.action-purge .firstHeading{
padding-bottom:3px;
}
body.skin-vector-search-vue .firstHeading .plainlinks{
line-height:1.2em !important;
}
body.skin-vector-search-vue .mw-sidebar #p-navigation .vector-menu-heading{
display:block;
}
body.skin-vector-search-vue .mw-checkbox-hack-checkbox:checked ~ .mw-workspace-container.vector-sidebar-container{
width:0;
transition: width 250ms ease-out;
transition-property: width;
transition-duration: 250ms;
transition-timing-function: ease-out;
transition-delay: 0s;
}
body.skin-vector-search-vue .mw-checkbox-hack-checkbox:not(:checked) ~ .mw-workspace-container.vector-sidebar-container{
width:140px;
transition: width 250ms ease-out;
transition-property: width;
transition-duration: 250ms;
transition-timing-function: ease-out;
transition-delay: 0s;
}
body.skin-vector-search-vue .mw-checkbox-hack-checkbox:checked ~ .mw-workspace-container.vector-sidebar-container > #mw-navigation{
position:absolute;
}
body.skin-vector-search-vue .mw-checkbox-hack-checkbox:not(:checked) ~ .mw-workspace-container.vector-sidebar-container > #mw-navigation{
position:relative;
}
body.skin-vector-search-vue .mw-checkbox-hack-checkbox:checked ~ .mw-workspace-container.vector-sidebar-container > #mw-navigation > .mw-sidebar{
left:-140px;
position:relative;
width:140px;
transition: left 250ms ease-out;
transition-property: left;
transition-duration: 250ms;
transition-timing-function: ease-out;
transition-delay: 0s;
}
body.skin-vector-search-vue .mw-checkbox-hack-checkbox:not(:checked) ~ .mw-workspace-container.vector-sidebar-container > #mw-navigation > .mw-sidebar{
left:0;
position:relative;
width:140px;
transition: left 250ms ease-out;
transition-property: left;
transition-duration: 250ms;
transition-timing-function: ease-out;
transition-delay: 0s;
}
body.skin-vector-search-vue .mw-article-toolbar-container{
max-width:100%;
box-sizing:border-box;
position:relative;
z-index:1;
}
body.skin-vector-search-vue .mw-footer-container{
padding-top:0;
}
body.skin-vector-search-vue .mw-content-container > .mw-body{
margin-left:0;
margin-right:0;
}
body.skin-vector-search-vue .mw-article-toolbar-container > #left-navigation{
margin-left:0;
margin-right:0;
}
body.skin-vector-search-vue .mw-footer-container .mw-footer{
margin-left:10px;
margin-right:0;
padding: 0.75em 5px;
}
body.skin-vector-search-vue .mw-header {
display:flex;
flex-direction: row;
margin: 8px 5px 0 5px;
}
body.skin-vector-search-vue .mw-workspace-container #mw-head{
min-width:832px;
margin-right:5px;
box-sizing:border-box;
}
body.skin-vector-search-vue .mw-logo-icon{
display:block;
}
body.skin-vector-search-vue .vector-user-links .vector-user-menu-more .vector-menu-content-list li.user-links-collapsible-item {
display: block;
}
body.skin-vector-search-vue .vector-search-box-collapses > div{
display:block;
}
body.skin-vector-search-vue a.mw-ui-icon-wikimedia-search{
display:none;
}
body.skin-vector-search-vue .vector-sticky-header{
height:3.2em;
padding: 6px 25px;
display:flex;
flex-direction:row;
min-width:700px;
margin-left:auto;
margin-right:auto;
width:90%;
text-align:center;
box-sizing:border-box;
}
@media screen and (max-width: 830px){
body.skin-vector-search-vue .vector-sticky-header{
display: none;
}
}
html.client-nojs body.skin-vector-search-vue .vector-sticky-header{
display:none !important;
}
body.skin-vector-search-vue .wvui-typeahead-suggestion{
padding-top:4px;
padding-bottom:4px;
text-align:left;
}
body.skin-vector-search-vue .vector-sticky-header.vector-header-search-toggled{
flex-basis: 460px;
box-sizing:border-box;
}
body.skin-vector-search-vue .vector-search-box, body.skin-vector-search-vue .vector-search-box-vue .vector-search-box-input, body.skin-vector-search-vue #p-search #searchform #simpleSearch{
font-size:calc( 14px * 1.042 );
line-height:1.2em;
height:30px;
min-height:30px;
box-sizing:border-box;
}
body.skin-vector-search-vue #p-search #searchform #simpleSearch,
body.skin-vector-search-vue .vector-search-box{
width:460px;
}
body.skin-vector-search-vue .mw-header #p-search #searchform #simpleSearch{
margin-left:10px;
width:460px;
box-sizing:border-box;
}
.client-js body.skin-vector-search-vue .vector-search-box-show-thumbnail.vector-search-box-auto-expand-width .vector-search-box-input, .client-js .vector-search-box-vue .vector-search-box-show-thumbnail.vector-search-box-auto-expand-width .vector-search-box-input{
margin-left:0;
box-sizing:border-box;
width:460px;
}
.client-js body.skin-vector-search-vue .vector-search-box-show-thumbnail.vector-search-box-auto-expand-width .searchButton, .client-js .vector-search-box-vue .vector-search-box-show-thumbnail.vector-search-box-auto-expand-width .searchButton{
left:0;
}
body.skin-vector-search-vue .mw-header .vector-search-box.vector-search-box-auto-expand-width{
margin-left:10px;
}
body.skin-vector-search-vue .mw-header .vector-search-box.vector-search-box-auto-expand-width > div{
width:460px;
box-sizing:border-box;
}
body.skin-vector-search-vue .vector-search-box-vue .searchButton{
background-size: 20px auto;
}
.client-js body.skin-vector-search-vue .vector-search-box-input{
padding-left:36px;
padding-right:8px;
}
body.skin-vector-search-vue .mw-header .vector-search-box.vector-search-box-auto-expand-width > div{
max-width:460px;
}
body.skin-vector-search-vue .mw-logo{
min-width:144px;
}
body.skin-vector-search-vue .mw-ui-icon,.mw-ui-icon-before::before{
font-size:14px;
}
body.skin-vector-search-vue .mw-sidebar-action{
display:none;
}
body.skin-vector-search-vue, body.skin-vector-search-vue .mw-editsection{
font-family: Arial, Helvetica, "Free Helvetian", FreeSans, sans-serif;
font-stretch:normal;
font-variant:normal;
font-style:normal;
font-weight:normal;
font-size-adjust:none;
letter-spacing:normal;
word-spacing:normal;
text-align:left;
word-wrap:break-word;
hyphens:auto;
}
body.skin-vector-search-vue{
font-size:calc( 14px * 1.042 );
line-height:1.2em;
background-color:#ffffff;
}
body.skin-vector-search-vue .mw-editsection{
font-size:12px;
line-height:1.2em;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #contentSub:empty,
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #contentSub ~ #contentSub2:empty{
margin:0;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #contentSub:not(:empty),
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #contentSub ~ #contentSub2:not(:empty){
margin-bottom:5px;
margin-top:3px;
margin-left:0;
}
body.skin-vector-search-vue.action-view.ns-special #contentSub:not(:empty),
body.skin-vector-search-vue.action-view.ns-special #contentSub:not(:empty) ~ #contentSub2,
body.skin-vector-search-vue.action-view.ns-special #contentSub:empty ~ #contentSub2:not(:empty){
margin:5px 0;
}
body.skin-vector-search-vue.ns-special #contentSub:empty{
margin:2px 0 3px 0;
}
body.skin-vector-search-vue.ns-special #contentSub:empty ~ #contentSub2:empty{
margin:13px 0;
}
body.skin-vector-search-vue .mw-body-subheade:-moz-only-whitespace ~ #contentSub:empty{
margin:2px 0 3px 0;
}
body.skin-vector-search-vue .mw-body-subheade:-moz-only-whitespace ~ #contentSub:empty ~ #contentSub2:empty{
margin:13px 0;
}
body.skin-vector-search-vue .mw-body-subheade.blank #contentSub:empty{
margin:2px 0 3px 0;
}
body.skin-vector-search-vue .mw-body-subheade.blank #contentSub:empty ~ #contentSub2:empty{
margin:13px 0;
}
body.skin-vector-search-vue:not(.action-view) #contentSub:empty{
margin:2px 0 3px 0;
}
body.skin-vector-search-vue:not(.action-view) #contentSub:empty ~ #contentSub2:empty{
margin:13px 0;
}
body.skin-vector-search-vue:not(.action-view) #contentSub:not(:empty),
body.skin-vector-search-vue:not(.action-view) #contentSub:not(:empty) ~ #contentSub2{
margin: 5px 0 2px 0;
}
body.skin-vector-search-vue:not(.action-view) #contentSub:empty ~ #contentSub2:not(:empty){
margin: 5px 0 3px 0;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #contentSub,
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #contentSub2{
margin:0;
}
body.skin-vector-search-vue.action-edit #contentSub:not(:empty) ~ #mw-content-text > form#editform{
margin-top:0;
}
body.skin-vector-search-vue.action-view #pwContent,
body.skin-vector-search-vue:not(.action-view) #pwContent,
body.skin-vector-search-vue.action-view .subpages,
body.skin-vector-search-vue:not(.action-view) .subpages{
margin:0;
font-size:12px;
line-height:1.2em;
margin-bottom:6px;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna) .warningbox,
body.skin-vector-search-vue:not(.action-view) .warningbox{
margin:10px 0;
}
body.skin-vector-search-vue #mw-previewheader{
margin-top:14px;
margin-bottom:10px;
}
body.skin-vector-search-vue .mw-userconfigpublic{
margin-top:8px;
}
body.skin-vector-search-vue .mw-contributions-user-tools{
margin-bottom:6px;
}
body.skin-vector-search-vue:not(.action-view) .mw-body,
body.skin-vector-search-vue.action-view.ns-special .mw-body{
padding: 8px 0 10px 8px;
position:relative;
z-index:0;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna .mw-body,
body.skin-vector-search-vue.action-view:not(.ns-special):not(.page-Wikibooks_Strona_główna) .mw-body{
padding: 4px 0 10px 8px;
position:relative;
z-index:0;
}
body.skin-vector-search-vue #centralNotice:not(:empty){
margin:10px 15px 8px 15px;
}
body.skin-vector-search-vue .mw-content-container{
min-width:848px;
}
body.skin-vector-search-vue #content{
margin-left:0px;
min-width:848px;
box-sizing:border-box;
}
body.skin-vector-search-vue #mw-content-text{
clear:both;
}
body.skin-vector-search-vue #bodyContent{
box-sizing:border-box;
min-width:832px;
height:auto;
clear:both;
padding: 0 15px 0 8px;
}
body.skin-vector-search-vue .mw-table-of-contents-container:not(:-moz-only-whitespace) ~ .mw-content-container #bodyContent{
padding: 0 8px;
}
body.skin-vector-search-vue .mw-table-of-contents-container.sidebar_obecny ~ .mw-content-container #bodyContent{
padding: 0 8px;
}
body.skin-vector-search-vue .mw-table-of-contents-container:not(:-moz-only-whitespace) ~ .mw-content-container .mw-body-header{
margin-right:3px !important;
}
body.skin-vector-search-vue .mw-table-of-contents-container.sidebar_obecny ~ .mw-content-container .mw-body-header{
margin-right:3px !important;
}
body.skin-vector-search-vue.action-view #bodyContent #mw-content-text .mw-parser-output,
body.skin-vector-search-vue:not(.action-view) #bodyContent #mw-content-text .mw-parser-output{
min-width:822px;
box-sizing:border-box;
display:block;
height:auto;
position:relative;
}
body.skin-vector-search-vue.action-view #bodyContent #mw-content-text .mw-parser-output::after,
body.skin-vector-search-vue:not(.action-view) #bodyContent #mw-content-text .mw-parser-output::after{
display:block;
content:'';
clear:both;
}
body.skin-vector-search-vue.ns-10 #mw-content-text .mw-parser-output > :not(style):not(link):not(#documentation-meta-data):not(.template-documentation) ~ *:first-of-type,
body.skin-vector-search-vue.ns-828 #mw-content-text .mw-parser-output > :not(style):not(link):not(#documentation-meta-data):not(.template-documentation) ~ *:first-of-type{
margin-top:5px !important;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(style):not(link):not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p):first-child{
margin-top:0 !important;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(style):not(link) ~ :not(style):not(link):not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p):not(.div-linia):first-of-type{
margin-top:5px !important;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > div.div-linia + *{
margin-top:0px !important;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1:first-child,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2:first-child,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3:first-child,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4:first-child,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5:first-child,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6:first-child,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h1:first-of-type,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h2:first-of-type,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h3:first-of-type,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h4:first-of-type,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h5:first-of-type,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h6:first-of-type{
margin-top:0.5em !important;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h1,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h2,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h3,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h4,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h5,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h6,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h1,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h2,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h3,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h4,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h5,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h6,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h1,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h2,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h3,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h4,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h5,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h6,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h1,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h2,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h3,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h4,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h5,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h6,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h1,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h2,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h3,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h4,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h5,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h6,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h1,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h2,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h3,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h4,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h5,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h6{
margin-top:0.8em;
}
body.skin-vector-search-vue .tdg-editscreen-main{
margin-top:9px;
margin-bottom:10px;
}
body.skin-vector-search-vue .mw-specialpage-summary > p:first-child{
margin: 0 0 4px 0;
}
body.skin-vector-search-vue .mw-rcfilters-head{
margin-bottom:15px;
}
body.skin-vector-search-vue.mw-special-Watchlist .mw-rcfilters-head{
min-height: 280px;
}
body.skin-vector-search-vue #bodyContent #mw-content-text .mw-parser-output .template-documentation:first-of-type{
margin-top:0;
box-sizing:border-box;
}
body.skin-vector-search-vue #bodyContent #mw-content-text .mw-parser-output > :not(style):not(link) ~ .template-documentation{
margin-top:10px !important;
box-sizing:border-box !important;
}
body.skin-vector-search-vue .mw-parser-output #documentation-meta-data:not(:last-child){
margin-top:3px !important;
margin-bottom:3px !important;
}
body.skin-vector-search-vue .mw-parser-output #documentation-meta-data:last-child{
margin-top:3px !important;
margin-bottom:0 !important;
}
body.skin-vector-search-vue #bodyContent #mw-content-text .mw-container-table-parser-output{
display:block table;
box-sizing:border-box;
position:relative;
width:100%;
height:auto;
margin:0;
margin-bottom:5px;
border-spacing:0;
padding:0;
border-collapse:collapse;
border:0;
}
body.skin-vector-search-vue .catlinks:not(.catlinks-allhidden){
margin: 5px 0;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > p:first-of-type{
margin-top:0.3em;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p):not(:empty) + p:first-of-type{
margin-top:0.5em;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p):not(.blank) + p:first-of-type{
margin-top:0.5em;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p):not(:-moz-only-whitespace) + p:first-of-type{
margin-top:0.5em;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p):not(:blank) + p:first-of-type{
margin-top:0.5em;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p).floatleft + p:first-of-type,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p).floatright + p:first-of-type,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p).tleft + p:first-of-type,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p).tright + p:first-of-type{
margin-top:0;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > p:last-child{
margin-bottom:0.3em;
}
body.skin-vector-search-vue pre{
margin-top:8px;
margin-bottom:8px;
padding:11px;
background-color: #f8f9fa;
color: #000;
border: 1px solid #eaecf0;
box-sizing:border-box;
}
body.skin-vector-search-vue div.mw-highlight > pre{
margin-top:8px;
margin-bottom:8px;
}
body.ns-828.skin-vector-search-vue.action-view #mw-content-text .mw-parser-output > div.mw-highlight:last-child > pre:last-child{
margin-top:5px;
margin-bottom:0;
}
body.skin-vector-search-vue.action-view #mw-content-text .mw-parser-output > div.mw-highlight:last-child > pre:last-child{
margin-bottom:0;
margin-top:5px;
}
body.ns-828.skin-vector-search-vue:not(.action-view) #mw-content-text .mw-parser-output > div.mw-highlight:last-child > pre:last-child{
margin-top:0px;
margin-bottom:0;
}
body.skin-vector-search-vue:not(.action-view) #mw-content-text .mw-parser-output > div.mw-highlight:last-child > pre:last-child{
margin-bottom:0;
margin-top:0;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > div.mw-highlight:only-child > pre:only-child{
margin-bottom:0 !important;
margin-top:0 !important;
}
body.skin-vector-search-vue .oo-ui-panelLayout-padded.oo-ui-panelLayout-framed{
margin:0 0 8px 0;
}
body.skin-vector-search-vue .mw-body > h1{
margin-bottom:0;
}
body.skin-vector-search-vue #central-auth-images{
display:none;
}
body.skin-vector-search-vue .mw-message-box{
margin-top:10px;
margin-bottom:10px;
}
body.skin-vector-search-vue #contentSub:not(:empty) ~ #mw-content-text > .mw-message-box:first-child{
margin-top:6px;
margin-bottom:10px;
}
body.skin-vector-search-vue:not(.ns-special) #contentSub > .mw-message-box{
margin-top:0;
margin-bottom:10px;
}
body.skin-vector-search-vue.ns-special #contentSub > .mw-message-box{
margin-top:10px;
margin-bottom:10px;
}
body.skin-vector-search-vue #contentSub > .subpages ~ .mw-message-box,
body.skin-vector-search-vue #contentSub > #pwContent ~ .mw-message-box{
margin-bottom:10px;
margin-top:0;
}
body.skin-vector-search-vue #wikiPreview.ontop{
margin-bottom:5px;
}
body.skin-vector-search-vue.skin-vector-disable-max-width #wikiPreview{
max-width:100%;
}
body.skin-vector-search-vue .previewnote{
margin-bottom:10px;
}
body.skin-vector-search-vue form#editform{
margin-top:5px;
margin-bottom:5px;
}
body.skin-vector-search-vue #editform::after{
display:block;
}
body.skin-vector-search-vue .editOptions{
margin-bottom:10px;
}
body.skin-vector-search-vue .mw-category-generated > #mw-pages > h2, body.skin-vector-search-vue .mw-category-generated > #mw-subcategories > h2, body.skin-vector-search-vue .mw-category-generated > #mw-category-media > h2{
margin-top:15px !important;
}
body.skin-vector-search-vue .mw-category-generated > #mw-pages:last-child, body.skin-vector-search-vue .mw-category-generated > #mw-subcategories:last-child, body.skin-vector-search-vue .mw-category-generated > #mw-category-media:last-child{
margin-bottom:10px;
}
body.skin-vector-search-vue .mw-parser-output + .mw-category-generated > p:first-child,
body.skin-vector-search-vue .noarticletext + .mw-category-generated > p:first-child{
margin-bottom:0;
margin-top:0;
}
body.skin-vector-search-vue .mw-category-generated > *:first-child > h2{
margin-top:15px !important;
}
body.skin-vector-search-vue .mw-category-generated{
margin-bottom:5px;
}
body.skin-vector-search-vue .mw-editfooter-list{
margin-bottom:0;
}
body.skin-vector-search-vue #mw-clearyourcache:first-child > p:first-child{
margin-top:0;
}
body.skin-vector-search-vue .vector-menu-portal {
margin: 0;
margin-left:5px;
padding: 0.2em 0 0 0;
direction: ltr;
}
body.skin-vector-search-vue .vector-menu-portal .vector-menu-content{
margin-left: 3px;
}
body.skin-vector-search-vue #mw-panel nav:first-child .vector-menu-content {
margin-left: 0;
}
body.skin-vector-search-vue .vector-menu-portal .vector-menu-heading{
margin-left:3px;
}
body.skin-vector-search-vue .mw-undelete-pagetitle > p:first-child{
margin-top:0;
}
body.skin-vector-search-vue .mw-delete-warning-revisions{
display:block;
margin-top:10px;
}
body.skin-vector-search-vue #p-lang-btn-label{
min-height:25px;
padding:5px 25px 3px 5px;
}
body.skin-vector-search-vue .mw-delete-editreasons + h2,
body.skin-vector-search-vue .mw-protect-editreasons + h2{
margin-top:0 !important;
}
body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container{
margin-right:0;
padding-right:0;
}
body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container{
margin-right: 0;
padding-right:0;
}
body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container #right-navigation{
margin-right:4px;
}
body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container #right-navigation{
margin-right: 4px;
}
body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container #right-navigation::before{
display: flex;
content: '';
width: auto;
flex-direction: row;
flex: 1 1 auto;
box-sizing:border-box;
}
body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container #right-navigation .vector-menu-content{
right:0;
}
body.skin-vector-search-vue .mw-table-of-contents-container{
direction: rtl;
align-self:auto;
background-color:white;
background-image: url('//upload.wikimedia.org/wikipedia/commons/thumb/b/ba/Wikibooks_multicolor_open_book_no_text.svg/200px-Wikibooks_multicolor_open_book_no_text.svg.png');
z-index:1;
}
body.skin-vector-search-vue .mw-table-of-contents-container:not(:-moz-only-whitespace){
margin-right:8px;
margin-left:5px;
}
body.skin-vector-search-vue .mw-table-of-contents-container.sidebar_obecny{
margin-right:8px;
margin-left:5px;
}
body.skin-vector-search-vue .mw-table-of-contents-container{
max-width:200px;
box-sizing:border-box;
position:static;
margin-bottom:5px;
}
body.skin-vector-search-vue .mw-table-of-contents-container:not(:-moz-only-whitespace){
width:200px;
max-height:100%;
}
body.skin-vector-search-vue .mw-table-of-contents-container.sidebar_obecny{
width:200px;
max-height:100%;
}
body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{
width:200px;
direction: rtl;
overflow-x:hidden;
overflow-y:auto;
margin-right:0;
margin-left:0;
display:block !important;
border:0 !important;
max-height:100%;
}
html.client-nojs body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{
margin-top:0 !important;
top:54px !important;
max-height:calc( 100vh - 54px ) !important;
}
html:not(.client-nojs) body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{
margin-top:54px !important;
}
body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc .sidebar-toc-contents{
direction:ltr;
}
html.client-nojs body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{
position:sticky;
top:5px;
}
html:not(.client-nojs) body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{
top:0;
position:absolute;
}
body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{
max-width:700px;
min-width:200px;
display:block;
left:auto;
}
body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc:not(:hover) .sidebar-toc-level-2{
display:none;
}
body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc:not(:hover){
width:200px;
transition: width 250ms ease-out;
transition-property: width;
transition-duration: 250ms;
transition-timing-function: ease-out;
transition-delay: 0s;
}
body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc:hover{
width:auto;
transition: width 250ms ease-out;
transition-property: width;
transition-duration: 250ms;
transition-timing-function: ease-out;
transition-delay: 0s;
}
body.skin-vector-search-vue .mw-table-of-contents-container button.vector-toc-collapse-button{
display:inline;
}
body.skin-vector-search-vue .mw-article-toolbar-container{
margin-left:0 !important;
}
body.skin-vector-search-vue .mw-checkbox-hack-checkbox:checked ~ .mw-workspace-container .mw-content-container,
body.skin-vector-search-vue .mw-checkbox-hack-checkbox:checked ~ .mw-workspace-container #mw-navigation .mw-article-toolbar-container {
margin-left: 0 !important;
}
/*body.skin-vector-search-vue .vector-body h1,
body.skin-vector-search-vue .vector-body h2,
body.skin-vector-search-vue .vector-body h3,
body.skin-vector-search-vue .vector-body h4,
body.skin-vector-search-vue .vector-body h5,
body.skin-vector-search-vue .vector-body h6{
margin-top:0.8em;
}*/
body.skin-vector-search-vue .mw-history-subtitle{
margin-bottom:6px;
}
body.skin-vector-search-vue .printfooter{
display:block;
margin: 5px 0;
padding:5px;
white-space:normal;
border: 1px solid #eaecf0;
box-sizing:border-box;
background-color: white;
}
.client-js body.skin-vector-search-vue .mw-search-form-wrapper {
min-height: 112px;
}
body.skin-vector-search-vue .noarticletext{
margin-bottom:5px;
}
body.skin-vector-search-vue .mw-menu-active{
background-color:#E6E6FA;
}
body.skin-vector-search-vue .mw-menu-inactive{
background-color:#EEE8AA;
}
body.skin-vector-search-vue .mw-menu-active,body.skin-vector-search-vue .mw-menu-inactive{
padding-left:5px !important;
padding-right:5px !important;
margin-left:0 !important;
display:block;
border-radius:5px;
border:1px solid #a2a9b1;
margin-top:3px;
}
body.skin-vector-search-vue .mw-items-active{
display:block;
border-radius:5px;
border:1px solid #a2a9b1;
padding: 0 5px;
margin-top:2px;
}
body.skin-vector-search-vue .mw-items-active > ul{
margin-top:0;
}
body.skin-vector-search-vue .mw-items-inactive{
display:none;
}
body.skin-vector-search-vue .mw-items-active,body.skin-vector-search-vue .mw-items-inactive{
margin-left:0px !important;
}
body.skin-vector-search-vue #mw-sidebar-checkbox:not(:checked){
display:none;
}
1v7rytqt9kwk5729k5qysc2tdfjvmf1
437914
437913
2022-08-16T19:43:49Z
Persino
2851
css
text/css
body.skin-vector-search-vue .mw-page-container{
max-width:100%;
min-width:988px;
padding-left:0;
padding-right:0;
border-left: 0;
border-right: 0;
box-sizing:border-box;
display:block;
width:100%;
background-color:white;
height:auto;
}
body.skin-vector-search-vue .mw-content-container{
max-width:100%;
box-sizing:border-box;
padding-left:0 !important;
}
body.skin-vector-search-vue .mw-logo-container{
margin-left: 10px;
margin-right:0;
}
body.skin-vector-search-vue #p-lang-btn-label{
font-size:14px !important;
line-height:1.2em !important;
white-space:nowrap;
}
body.skin-vector-search-vue .mw-indicators{
font-size: calc( 14px * 0.875 );
line-height: 2.0em;
white-space:nowrap;
margin: auto 0 0 0;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content{
display:grid;
grid: 'aa aa aa' auto
'cc cc cc' auto
'bb bb bb' auto
'.. .. ee' auto
'dd dd dd' auto
/ minmax(auto,100%) minmax(auto,100%) auto
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > #top{
grid-area:aa;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .vector-article-toolbar{
grid-area:cc;
margin:0;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .mw-body-header{
grid-area:bb;
top:0;
width:auto !important;
height:auto !important;
margin:0;
margin-right:10px;
box-sizing:border-box;
border-bottom: 1px solid #a2a9b1;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > #p-lang-btn{
grid-area:ee;
height:20px;
width:136px;
height:auto;
margin-left:auto;
top:0;
margin: auto 5px 0 5px;
padding-bottom:8px;
box-sizing:border-box;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > #bodyContent{
grid-area:dd;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .mw-body-header{
display:grid;
grid: 'aa bb' auto
/ minmax(auto,1fr) auto;
width:100%;
min-height: 46px;
box-sizing: border-box;
position: relative;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .mw-body-header > .firstHeading{
display:block !important;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .mw-body-header > .firstHeading:not(:hover){
grid-area:aa;
margin-bottom:2px;
width:100%;
max-width:fit-content;
max-width:-moz-fit-content;
margin-bottom: 0;
margin-top: auto;
border-bottom: none;
padding-left: 3px;
padding-right: 3px;
border-bottom: 0;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .mw-body-header > .mw-indicators{
grid-area: bb;
width: auto;
height: 1.6em;
margin-bottom: 5px;
margin-top: auto;
margin-right: 5px;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .mw-body-header > .firstHeading > .plainlinks,
body.skin-vector-search-vue.action-view.ns-special #content > .mw-body-header > .firstHeading > .plainlinks
body.skin-vector-search-vue:not(.action-view) #content > .mw-body-header > .firstHeading > .plainlinks{
padding-bottom:2px;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .mw-body-header > #p-lang-btn{
grid-area:bb;
right:0;
margin:0;
height:auto;
width:auto;
margin-top: auto;
margin-bottom:0;
padding: 0 3px;
box-sizing:border-box;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .mw-body-header,
body.skin-vector-search-vue.action-view.ns-special #content > .mw-body-header,
body.skin-vector-search-vue:not(.action-view) #content > .mw-body-header{
display:grid;
grid:'aa bb' auto
/ minmax(auto,100%) auto;
border-bottom:1px solid #a2a9b1;
margin-top:auto;
margin-bottom:0;
min-height:46px;
box-sizing:border-box;
position:relative;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .mw-body-header > .firstHeading:not(:hover),
body.skin-vector-search-vue.action-view.ns-special #content > .mw-body-header > .firstHeading:not(:hover),
body.skin-vector-search-vue:not(.action-view) #content > .mw-body-header > .firstHeading:not(:hover){
grid-area:aa;
width:100%;
max-width:fit-content;
max-width:-moz-fit-content;
margin-bottom:0;
margin-top:auto;
border-bottom:none;
padding-left:3px;
padding-right:3px;
border-bottom:0;
box-sizing:border-box;
}
body.skin-vector-search-vue.action-view.ns-special #content > .mw-body-header > .mw-indicators,
body.skin-vector-search-vue:not(.action-view) #content > .mw-body-header > .mw-indicators{
grid-area:bb;
right:0;
margin:0;
height:auto;
width:100%;
margin:auto 0 0 auto;
padding: 0 10px;
box-sizing:border-box;
}
body.skin-vector-search-vue.action-view.ns-special #content .mw-body-header > .mw-indicators > .mw-indicator,
body.skin-vector-search-vue:not(.action-view) #content .mw-body-header > .mw-indicators > .mw-indicator{
padding: 2px 0 2px 0;
margin: auto 0 0 0;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content,
body.skin-vector-search-vue.action-view.ns-special #content,
body.skin-vector-search-vue:not(.action-view) #content{
display:grid;
grid:'aa' auto
'bb' auto
'cc' auto
'dd' auto
/ auto;
width:100%;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > #top,
body.skin-vector-search-vue.action-view.ns-special #content > #top,
body.skin-vector-search-vue:not(.action-view) #content > #top{
grid-area:aa;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .vector-article-toolbar,
body.skin-vector-search-vue.action-view.ns-special #content > .vector-article-toolbar,
body.skin-vector-search-vue:not(.action-view) #content > .vector-article-toolbar{
grid-area:bb;
}
body.skin-vector-search-vue .mw-body-header::after{
display:none;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .mw-body-header,
body.skin-vector-search-vue.action-view.ns-special #content > .mw-body-header,
body.skin-vector-search-vue:not(.action-view) #content > .mw-body-header{
grid-area:cc;
margin:0;
margin-right:10px;
width:auto;
padding-bottom:0;
}
body.skin-vector-search-vue .mw-body-subheader{
border-bottom:0;
}
/*body.skin-vector-search-vue #siteSub,*/
body.skin-vector-search-vue .firstHeading:not(:hover) > .plainlinks{
display:none;
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
}
/*body.skin-vector-search-vue .firstHeading{
text-shadow:0 2px 0 #FFF,0 3px 0 #AAA,0 3px 4px #AAA;
}*/
body.skin-vector-search-vue .firstHeading > .plainlinks{
text-shadow:none;
}
body.skin-vector-search-vue .firstHeading:not(:hover){
display:block;
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
border-bottom:0;
}
body.skin-vector-search-vue .firstHeading:hover{
display:block;
border:1px solid #eaecf0;
border-radius:10px;
background-color:white;
position:absolute;
top:5px;
left:-3px;
width:auto;
padding:5px;
z-index:1 !important;
}
body.skin-vector-search-vue .mw-body-header > .firstHeading:hover > .plainlinks{
display:block;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #bodyContent > .mw-body-subheader{
margin: 2px 0 3px 0;
min-height:1.6em;
}
body.skin-vector-search-vue.action-view.ns-special #bodyContent > .mw-body-subheader,
body.skin-vector-search-vue:not(.action-view) #bodyContent > .mw-body-subheader{
margin: 0;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #bodyContent > .mw-body-subheader{
margin:0;
margin-top: -2.0em;
font-size: 1.2em;
height: 2em;
margin-bottom:5px;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #bodyContent > .mw-body-subheader > #siteSub{
display:block !important;
width:auto;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #bodyContent > .mw-body-subheader> .mw-indicators{
margin-left:5px;
margin-right:3px;
display:block;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #bodyContent > .mw-body-subheader> #siteSub{
display:block;
}
body.skin-vector-search-vue .firstHeading,
body.skin-vector-search-vue .firstHeading > .plainlinks{
max-width:100%;
width:auto;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content #bodyContent,
body.skin-vector-search-vue.action-view.ns-special #content #bodyContent,
body.skin-vector-search-vue:not(.action-view) #content #bodyContent{
grid-area:dd;
}
body.skin-vector-search-vue .mw-article-toolbar-container,
body.skin-vector-search-vue .mw-content-container{
margin-left:0 !important;
}
body.skin-vector-search-vue .mw-page-container-inner{
display:grid;
grid:'aa aa aa' auto
'cc bb bb' auto
'cc dd ee' auto
'cc ff ff' minmax(auto,1fr)
/ auto minmax(auto,1fr) auto;
width:auto;
box-sizing:border-box;
row-gap:0;
}
body.skin-vector-search-vue .mw-page-container-inner > .mw-header{
grid-area:aa;
}
body.skin-vector-search-vue .mw-page-container-inner > #siteNotice{
grid-area:bb;
}
body.skin-vector-search-vue .mw-page-container-inner > .vector-sidebar-container{
grid-area:cc;
}
body.skin-vector-search-vue .mw-page-container-inner > .mw-content-container{
grid-area:dd;
grid-column:auto !important;
}
body.skin-vector-search-vue .mw-page-container-inner > .mw-table-of-contents-container{
grid-area:ee;
}
body.skin-vector-search-vue .mw-page-container-inner > .mw-footer-container{
grid-area:ff;
}
/**/
body.skin-vector-search-vue .mw-workspace-container .mw-content-container,
body.skin-vector-search-vue .mw-workspace-container .mw-content-container #bodyContent,
body.skin-vector-search-vue .mw-workspace-container .mw-content-container #content,
body.skin-vector-search-vue .mw-workspace-container .mw-content-container .mw-body-header{
width:100%;
box-sizing:border-box;
}
body.skin-vector-search-vue .mw-article-toolbar-container .mw-portlet-views {
display: block;
}
body.skin-vector-search-vue .mw-article-toolbar-container .vector-more-collapsible-item {
display: none;
}
body.skin-vector-search-vue .mw-sidebar{
background-color: white;
width:140px;
box-sizing:border-box;
display:block !important;
visibility: visible !important;
opacity: 1 !important;
padding:0;
margin-left:0;
}
body.skin-vector-search-vue .ui-dialog{
font-size:75%;
}
body.skin-vector-search-vue .mw-body-content .error{
font-size:96%;
}
body.skin-vector-search-vue.action-purge .firstHeading{
padding-bottom:3px;
}
body.skin-vector-search-vue .firstHeading .plainlinks{
line-height:1.2em !important;
}
body.skin-vector-search-vue .mw-sidebar #p-navigation .vector-menu-heading{
display:block;
}
body.skin-vector-search-vue .mw-checkbox-hack-checkbox:checked ~ .mw-workspace-container.vector-sidebar-container{
width:0;
transition: width 250ms ease-out;
transition-property: width;
transition-duration: 250ms;
transition-timing-function: ease-out;
transition-delay: 0s;
}
body.skin-vector-search-vue .mw-checkbox-hack-checkbox:not(:checked) ~ .mw-workspace-container.vector-sidebar-container{
width:140px;
transition: width 250ms ease-out;
transition-property: width;
transition-duration: 250ms;
transition-timing-function: ease-out;
transition-delay: 0s;
}
body.skin-vector-search-vue .mw-checkbox-hack-checkbox:checked ~ .mw-workspace-container.vector-sidebar-container > #mw-navigation{
position:absolute;
}
body.skin-vector-search-vue .mw-checkbox-hack-checkbox:not(:checked) ~ .mw-workspace-container.vector-sidebar-container > #mw-navigation{
position:relative;
}
body.skin-vector-search-vue .mw-checkbox-hack-checkbox:checked ~ .mw-workspace-container.vector-sidebar-container > #mw-navigation > .mw-sidebar{
left:-140px;
position:relative;
width:140px;
transition: left 250ms ease-out;
transition-property: left;
transition-duration: 250ms;
transition-timing-function: ease-out;
transition-delay: 0s;
}
body.skin-vector-search-vue .mw-checkbox-hack-checkbox:not(:checked) ~ .mw-workspace-container.vector-sidebar-container > #mw-navigation > .mw-sidebar{
left:0;
position:relative;
width:140px;
transition: left 250ms ease-out;
transition-property: left;
transition-duration: 250ms;
transition-timing-function: ease-out;
transition-delay: 0s;
}
body.skin-vector-search-vue .mw-article-toolbar-container{
max-width:100%;
box-sizing:border-box;
position:relative;
z-index:1;
}
body.skin-vector-search-vue .mw-footer-container{
padding-top:0;
}
body.skin-vector-search-vue .mw-content-container > .mw-body{
margin-left:0;
margin-right:0;
}
body.skin-vector-search-vue .mw-article-toolbar-container > #left-navigation{
margin-left:0;
margin-right:0;
}
body.skin-vector-search-vue .mw-footer-container .mw-footer{
margin-left:10px;
margin-right:0;
padding: 0.75em 5px;
}
body.skin-vector-search-vue .mw-header {
display:flex;
flex-direction: row;
margin: 8px 5px 0 5px;
}
body.skin-vector-search-vue .mw-workspace-container #mw-head{
min-width:832px;
margin-right:5px;
box-sizing:border-box;
}
body.skin-vector-search-vue .mw-logo-icon{
display:block;
}
body.skin-vector-search-vue .vector-user-links .vector-user-menu-more .vector-menu-content-list li.user-links-collapsible-item {
display: block;
}
body.skin-vector-search-vue .vector-search-box-collapses > div{
display:block;
}
body.skin-vector-search-vue a.mw-ui-icon-wikimedia-search{
display:none;
}
body.skin-vector-search-vue .vector-sticky-header{
height:3.2em;
padding: 6px 25px;
display:flex;
flex-direction:row;
min-width:700px;
margin-left:auto;
margin-right:auto;
width:90%;
text-align:center;
box-sizing:border-box;
}
@media screen and (max-width: 830px){
body.skin-vector-search-vue .vector-sticky-header{
display: none;
}
}
html.client-nojs body.skin-vector-search-vue .vector-sticky-header{
display:none !important;
}
body.skin-vector-search-vue .wvui-typeahead-suggestion{
padding-top:4px;
padding-bottom:4px;
text-align:left;
}
body.skin-vector-search-vue .vector-sticky-header.vector-header-search-toggled{
flex-basis: 460px;
box-sizing:border-box;
}
body.skin-vector-search-vue .vector-search-box, body.skin-vector-search-vue .vector-search-box-vue .vector-search-box-input, body.skin-vector-search-vue #p-search #searchform #simpleSearch{
font-size:calc( 14px * 1.042 );
line-height:1.2em;
height:30px;
min-height:30px;
box-sizing:border-box;
}
body.skin-vector-search-vue #p-search #searchform #simpleSearch,
body.skin-vector-search-vue .vector-search-box{
width:460px;
}
body.skin-vector-search-vue .mw-header #p-search #searchform #simpleSearch{
margin-left:10px;
width:460px;
box-sizing:border-box;
}
.client-js body.skin-vector-search-vue .vector-search-box-show-thumbnail.vector-search-box-auto-expand-width .vector-search-box-input, .client-js .vector-search-box-vue .vector-search-box-show-thumbnail.vector-search-box-auto-expand-width .vector-search-box-input{
margin-left:0;
box-sizing:border-box;
width:460px;
}
.client-js body.skin-vector-search-vue .vector-search-box-show-thumbnail.vector-search-box-auto-expand-width .searchButton, .client-js .vector-search-box-vue .vector-search-box-show-thumbnail.vector-search-box-auto-expand-width .searchButton{
left:0;
}
body.skin-vector-search-vue .mw-header .vector-search-box.vector-search-box-auto-expand-width{
margin-left:10px;
}
body.skin-vector-search-vue .mw-header .vector-search-box.vector-search-box-auto-expand-width > div{
width:460px;
box-sizing:border-box;
}
body.skin-vector-search-vue .vector-search-box-vue .searchButton{
background-size: 20px auto;
}
.client-js body.skin-vector-search-vue .vector-search-box-input{
padding-left:36px;
padding-right:8px;
}
body.skin-vector-search-vue .mw-header .vector-search-box.vector-search-box-auto-expand-width > div{
max-width:460px;
}
body.skin-vector-search-vue .mw-logo{
min-width:144px;
}
body.skin-vector-search-vue .mw-ui-icon,.mw-ui-icon-before::before{
font-size:14px;
}
body.skin-vector-search-vue .mw-sidebar-action{
display:none;
}
body.skin-vector-search-vue, body.skin-vector-search-vue .mw-editsection{
font-family: Arial, Helvetica, "Free Helvetian", FreeSans, sans-serif;
font-stretch:normal;
font-variant:normal;
font-style:normal;
font-weight:normal;
font-size-adjust:none;
letter-spacing:normal;
word-spacing:normal;
text-align:left;
word-wrap:break-word;
hyphens:auto;
}
body.skin-vector-search-vue{
font-size:calc( 14px * 1.042 );
line-height:1.2em;
background-color:#ffffff;
}
body.skin-vector-search-vue .mw-editsection{
font-size:12px;
line-height:1.2em;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #contentSub:empty,
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #contentSub ~ #contentSub2:empty{
margin:0;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #contentSub:not(:empty),
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #contentSub ~ #contentSub2:not(:empty){
margin-bottom:5px;
margin-top:3px;
margin-left:0;
}
body.skin-vector-search-vue.action-view.ns-special #contentSub:not(:empty),
body.skin-vector-search-vue.action-view.ns-special #contentSub:not(:empty) ~ #contentSub2,
body.skin-vector-search-vue.action-view.ns-special #contentSub:empty ~ #contentSub2:not(:empty){
margin:5px 0;
}
body.skin-vector-search-vue.ns-special #contentSub:empty{
margin:2px 0 3px 0;
}
body.skin-vector-search-vue.ns-special #contentSub:empty ~ #contentSub2:empty{
margin:13px 0;
}
body.skin-vector-search-vue .mw-body-subheader:-moz-only-whitespace ~ #contentSub:empty{
margin:2px 0 3px 0;
}
body.skin-vector-search-vue .mw-body-subheader:-moz-only-whitespace ~ #contentSub:empty ~ #contentSub2:empty{
margin:13px 0;
}
body.skin-vector-search-vue .mw-body-subheader.blank #contentSub:empty{
margin:2px 0 3px 0;
}
body.skin-vector-search-vue .mw-body-subheader.blank #contentSub:empty ~ #contentSub2:empty{
margin:13px 0;
}
body.skin-vector-search-vue:not(.action-view) #contentSub:empty{
margin:2px 0 3px 0;
}
body.skin-vector-search-vue:not(.action-view) #contentSub:empty ~ #contentSub2:empty{
margin:13px 0;
}
body.skin-vector-search-vue:not(.action-view) #contentSub:not(:empty),
body.skin-vector-search-vue:not(.action-view) #contentSub:not(:empty) ~ #contentSub2{
margin: 5px 0 2px 0;
}
body.skin-vector-search-vue:not(.action-view) #contentSub:empty ~ #contentSub2:not(:empty){
margin: 5px 0 3px 0;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #contentSub,
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #contentSub2{
margin:0;
}
body.skin-vector-search-vue.action-edit #contentSub:not(:empty) ~ #mw-content-text > form#editform{
margin-top:0;
}
body.skin-vector-search-vue.action-view #pwContent,
body.skin-vector-search-vue:not(.action-view) #pwContent,
body.skin-vector-search-vue.action-view .subpages,
body.skin-vector-search-vue:not(.action-view) .subpages{
margin:0;
font-size:12px;
line-height:1.2em;
margin-bottom:6px;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna) .warningbox,
body.skin-vector-search-vue:not(.action-view) .warningbox{
margin:10px 0;
}
body.skin-vector-search-vue #mw-previewheader{
margin-top:14px;
margin-bottom:10px;
}
body.skin-vector-search-vue .mw-userconfigpublic{
margin-top:8px;
}
body.skin-vector-search-vue .mw-contributions-user-tools{
margin-bottom:6px;
}
body.skin-vector-search-vue:not(.action-view) .mw-body,
body.skin-vector-search-vue.action-view.ns-special .mw-body{
padding: 8px 0 10px 8px;
position:relative;
z-index:0;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna .mw-body,
body.skin-vector-search-vue.action-view:not(.ns-special):not(.page-Wikibooks_Strona_główna) .mw-body{
padding: 4px 0 10px 8px;
position:relative;
z-index:0;
}
body.skin-vector-search-vue #centralNotice:not(:empty){
margin:10px 15px 8px 15px;
}
body.skin-vector-search-vue .mw-content-container{
min-width:848px;
}
body.skin-vector-search-vue #content{
margin-left:0px;
min-width:848px;
box-sizing:border-box;
}
body.skin-vector-search-vue #mw-content-text{
clear:both;
}
body.skin-vector-search-vue #bodyContent{
box-sizing:border-box;
min-width:832px;
height:auto;
clear:both;
padding: 0 15px 0 8px;
}
body.skin-vector-search-vue .mw-table-of-contents-container:not(:-moz-only-whitespace) ~ .mw-content-container #bodyContent{
padding: 0 8px;
}
body.skin-vector-search-vue .mw-table-of-contents-container.sidebar_obecny ~ .mw-content-container #bodyContent{
padding: 0 8px;
}
body.skin-vector-search-vue .mw-table-of-contents-container:not(:-moz-only-whitespace) ~ .mw-content-container .mw-body-header{
margin-right:3px !important;
}
body.skin-vector-search-vue .mw-table-of-contents-container.sidebar_obecny ~ .mw-content-container .mw-body-header{
margin-right:3px !important;
}
body.skin-vector-search-vue.action-view #bodyContent #mw-content-text .mw-parser-output,
body.skin-vector-search-vue:not(.action-view) #bodyContent #mw-content-text .mw-parser-output{
min-width:822px;
box-sizing:border-box;
display:block;
height:auto;
position:relative;
}
body.skin-vector-search-vue.action-view #bodyContent #mw-content-text .mw-parser-output::after,
body.skin-vector-search-vue:not(.action-view) #bodyContent #mw-content-text .mw-parser-output::after{
display:block;
content:'';
clear:both;
}
body.skin-vector-search-vue.ns-10 #mw-content-text .mw-parser-output > :not(style):not(link):not(#documentation-meta-data):not(.template-documentation) ~ *:first-of-type,
body.skin-vector-search-vue.ns-828 #mw-content-text .mw-parser-output > :not(style):not(link):not(#documentation-meta-data):not(.template-documentation) ~ *:first-of-type{
margin-top:5px !important;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(style):not(link):not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p):first-child{
margin-top:0 !important;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(style):not(link) ~ :not(style):not(link):not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p):not(.div-linia):first-of-type{
margin-top:5px !important;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > div.div-linia + *{
margin-top:0px !important;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1:first-child,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2:first-child,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3:first-child,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4:first-child,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5:first-child,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6:first-child,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h1:first-of-type,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h2:first-of-type,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h3:first-of-type,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h4:first-of-type,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h5:first-of-type,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h6:first-of-type{
margin-top:0.5em !important;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h1,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h2,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h3,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h4,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h5,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h6,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h1,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h2,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h3,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h4,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h5,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h6,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h1,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h2,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h3,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h4,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h5,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h6,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h1,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h2,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h3,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h4,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h5,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h6,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h1,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h2,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h3,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h4,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h5,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h6,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h1,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h2,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h3,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h4,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h5,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h6{
margin-top:0.8em;
}
body.skin-vector-search-vue .tdg-editscreen-main{
margin-top:9px;
margin-bottom:10px;
}
body.skin-vector-search-vue .mw-specialpage-summary > p:first-child{
margin: 0 0 4px 0;
}
body.skin-vector-search-vue .mw-rcfilters-head{
margin-bottom:15px;
}
body.skin-vector-search-vue.mw-special-Watchlist .mw-rcfilters-head{
min-height: 280px;
}
body.skin-vector-search-vue #bodyContent #mw-content-text .mw-parser-output .template-documentation:first-of-type{
margin-top:0;
box-sizing:border-box;
}
body.skin-vector-search-vue #bodyContent #mw-content-text .mw-parser-output > :not(style):not(link) ~ .template-documentation{
margin-top:10px !important;
box-sizing:border-box !important;
}
body.skin-vector-search-vue .mw-parser-output #documentation-meta-data:not(:last-child){
margin-top:3px !important;
margin-bottom:3px !important;
}
body.skin-vector-search-vue .mw-parser-output #documentation-meta-data:last-child{
margin-top:3px !important;
margin-bottom:0 !important;
}
body.skin-vector-search-vue #bodyContent #mw-content-text .mw-container-table-parser-output{
display:block table;
box-sizing:border-box;
position:relative;
width:100%;
height:auto;
margin:0;
margin-bottom:5px;
border-spacing:0;
padding:0;
border-collapse:collapse;
border:0;
}
body.skin-vector-search-vue .catlinks:not(.catlinks-allhidden){
margin: 5px 0;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > p:first-of-type{
margin-top:0.3em;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p):not(:empty) + p:first-of-type{
margin-top:0.5em;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p):not(.blank) + p:first-of-type{
margin-top:0.5em;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p):not(:-moz-only-whitespace) + p:first-of-type{
margin-top:0.5em;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p):not(:blank) + p:first-of-type{
margin-top:0.5em;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p).floatleft + p:first-of-type,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p).floatright + p:first-of-type,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p).tleft + p:first-of-type,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p).tright + p:first-of-type{
margin-top:0;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > p:last-child{
margin-bottom:0.3em;
}
body.skin-vector-search-vue pre{
margin-top:8px;
margin-bottom:8px;
padding:11px;
background-color: #f8f9fa;
color: #000;
border: 1px solid #eaecf0;
box-sizing:border-box;
}
body.skin-vector-search-vue div.mw-highlight > pre{
margin-top:8px;
margin-bottom:8px;
}
body.ns-828.skin-vector-search-vue.action-view #mw-content-text .mw-parser-output > div.mw-highlight:last-child > pre:last-child{
margin-top:5px;
margin-bottom:0;
}
body.skin-vector-search-vue.action-view #mw-content-text .mw-parser-output > div.mw-highlight:last-child > pre:last-child{
margin-bottom:0;
margin-top:5px;
}
body.ns-828.skin-vector-search-vue:not(.action-view) #mw-content-text .mw-parser-output > div.mw-highlight:last-child > pre:last-child{
margin-top:0px;
margin-bottom:0;
}
body.skin-vector-search-vue:not(.action-view) #mw-content-text .mw-parser-output > div.mw-highlight:last-child > pre:last-child{
margin-bottom:0;
margin-top:0;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > div.mw-highlight:only-child > pre:only-child{
margin-bottom:0 !important;
margin-top:0 !important;
}
body.skin-vector-search-vue .oo-ui-panelLayout-padded.oo-ui-panelLayout-framed{
margin:0 0 8px 0;
}
body.skin-vector-search-vue .mw-body > h1{
margin-bottom:0;
}
body.skin-vector-search-vue #central-auth-images{
display:none;
}
body.skin-vector-search-vue .mw-message-box{
margin-top:10px;
margin-bottom:10px;
}
body.skin-vector-search-vue #contentSub:not(:empty) ~ #mw-content-text > .mw-message-box:first-child{
margin-top:6px;
margin-bottom:10px;
}
body.skin-vector-search-vue:not(.ns-special) #contentSub > .mw-message-box{
margin-top:0;
margin-bottom:10px;
}
body.skin-vector-search-vue.ns-special #contentSub > .mw-message-box{
margin-top:10px;
margin-bottom:10px;
}
body.skin-vector-search-vue #contentSub > .subpages ~ .mw-message-box,
body.skin-vector-search-vue #contentSub > #pwContent ~ .mw-message-box{
margin-bottom:10px;
margin-top:0;
}
body.skin-vector-search-vue #wikiPreview.ontop{
margin-bottom:5px;
}
body.skin-vector-search-vue.skin-vector-disable-max-width #wikiPreview{
max-width:100%;
}
body.skin-vector-search-vue .previewnote{
margin-bottom:10px;
}
body.skin-vector-search-vue form#editform{
margin-top:5px;
margin-bottom:5px;
}
body.skin-vector-search-vue #editform::after{
display:block;
}
body.skin-vector-search-vue .editOptions{
margin-bottom:10px;
}
body.skin-vector-search-vue .mw-category-generated > #mw-pages > h2, body.skin-vector-search-vue .mw-category-generated > #mw-subcategories > h2, body.skin-vector-search-vue .mw-category-generated > #mw-category-media > h2{
margin-top:15px !important;
}
body.skin-vector-search-vue .mw-category-generated > #mw-pages:last-child, body.skin-vector-search-vue .mw-category-generated > #mw-subcategories:last-child, body.skin-vector-search-vue .mw-category-generated > #mw-category-media:last-child{
margin-bottom:10px;
}
body.skin-vector-search-vue .mw-parser-output + .mw-category-generated > p:first-child,
body.skin-vector-search-vue .noarticletext + .mw-category-generated > p:first-child{
margin-bottom:0;
margin-top:0;
}
body.skin-vector-search-vue .mw-category-generated > *:first-child > h2{
margin-top:15px !important;
}
body.skin-vector-search-vue .mw-category-generated{
margin-bottom:5px;
}
body.skin-vector-search-vue .mw-editfooter-list{
margin-bottom:0;
}
body.skin-vector-search-vue #mw-clearyourcache:first-child > p:first-child{
margin-top:0;
}
body.skin-vector-search-vue .vector-menu-portal {
margin: 0;
margin-left:5px;
padding: 0.2em 0 0 0;
direction: ltr;
}
body.skin-vector-search-vue .vector-menu-portal .vector-menu-content{
margin-left: 3px;
}
body.skin-vector-search-vue #mw-panel nav:first-child .vector-menu-content {
margin-left: 0;
}
body.skin-vector-search-vue .vector-menu-portal .vector-menu-heading{
margin-left:3px;
}
body.skin-vector-search-vue .mw-undelete-pagetitle > p:first-child{
margin-top:0;
}
body.skin-vector-search-vue .mw-delete-warning-revisions{
display:block;
margin-top:10px;
}
body.skin-vector-search-vue #p-lang-btn-label{
min-height:25px;
padding:5px 25px 3px 5px;
}
body.skin-vector-search-vue .mw-delete-editreasons + h2,
body.skin-vector-search-vue .mw-protect-editreasons + h2{
margin-top:0 !important;
}
body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container{
margin-right:0;
padding-right:0;
}
body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container{
margin-right: 0;
padding-right:0;
}
body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container #right-navigation{
margin-right:4px;
}
body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container #right-navigation{
margin-right: 4px;
}
body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container #right-navigation::before{
display: flex;
content: '';
width: auto;
flex-direction: row;
flex: 1 1 auto;
box-sizing:border-box;
}
body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container #right-navigation .vector-menu-content{
right:0;
}
body.skin-vector-search-vue .mw-table-of-contents-container{
direction: rtl;
align-self:auto;
background-color:white;
background-image: url('//upload.wikimedia.org/wikipedia/commons/thumb/b/ba/Wikibooks_multicolor_open_book_no_text.svg/200px-Wikibooks_multicolor_open_book_no_text.svg.png');
z-index:1;
}
body.skin-vector-search-vue .mw-table-of-contents-container:not(:-moz-only-whitespace){
margin-right:8px;
margin-left:5px;
}
body.skin-vector-search-vue .mw-table-of-contents-container.sidebar_obecny{
margin-right:8px;
margin-left:5px;
}
body.skin-vector-search-vue .mw-table-of-contents-container{
max-width:200px;
box-sizing:border-box;
position:static;
margin-bottom:5px;
}
body.skin-vector-search-vue .mw-table-of-contents-container:not(:-moz-only-whitespace){
width:200px;
max-height:100%;
}
body.skin-vector-search-vue .mw-table-of-contents-container.sidebar_obecny{
width:200px;
max-height:100%;
}
body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{
width:200px;
direction: rtl;
overflow-x:hidden;
overflow-y:auto;
margin-right:0;
margin-left:0;
display:block !important;
border:0 !important;
max-height:100%;
}
html.client-nojs body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{
margin-top:0 !important;
top:54px !important;
max-height:calc( 100vh - 54px ) !important;
}
html:not(.client-nojs) body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{
margin-top:54px !important;
}
body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc .sidebar-toc-contents{
direction:ltr;
}
html.client-nojs body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{
position:sticky;
top:5px;
}
html:not(.client-nojs) body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{
top:0;
position:absolute;
}
body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{
max-width:700px;
min-width:200px;
display:block;
left:auto;
}
body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc:not(:hover) .sidebar-toc-level-2{
display:none;
}
body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc:not(:hover){
width:200px;
transition: width 250ms ease-out;
transition-property: width;
transition-duration: 250ms;
transition-timing-function: ease-out;
transition-delay: 0s;
}
body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc:hover{
width:auto;
transition: width 250ms ease-out;
transition-property: width;
transition-duration: 250ms;
transition-timing-function: ease-out;
transition-delay: 0s;
}
body.skin-vector-search-vue .mw-table-of-contents-container button.vector-toc-collapse-button{
display:inline;
}
body.skin-vector-search-vue .mw-article-toolbar-container{
margin-left:0 !important;
}
body.skin-vector-search-vue .mw-checkbox-hack-checkbox:checked ~ .mw-workspace-container .mw-content-container,
body.skin-vector-search-vue .mw-checkbox-hack-checkbox:checked ~ .mw-workspace-container #mw-navigation .mw-article-toolbar-container {
margin-left: 0 !important;
}
/*body.skin-vector-search-vue .vector-body h1,
body.skin-vector-search-vue .vector-body h2,
body.skin-vector-search-vue .vector-body h3,
body.skin-vector-search-vue .vector-body h4,
body.skin-vector-search-vue .vector-body h5,
body.skin-vector-search-vue .vector-body h6{
margin-top:0.8em;
}*/
body.skin-vector-search-vue .mw-history-subtitle{
margin-bottom:6px;
}
body.skin-vector-search-vue .printfooter{
display:block;
margin: 5px 0;
padding:5px;
white-space:normal;
border: 1px solid #eaecf0;
box-sizing:border-box;
background-color: white;
}
.client-js body.skin-vector-search-vue .mw-search-form-wrapper {
min-height: 112px;
}
body.skin-vector-search-vue .noarticletext{
margin-bottom:5px;
}
body.skin-vector-search-vue .mw-menu-active{
background-color:#E6E6FA;
}
body.skin-vector-search-vue .mw-menu-inactive{
background-color:#EEE8AA;
}
body.skin-vector-search-vue .mw-menu-active,body.skin-vector-search-vue .mw-menu-inactive{
padding-left:5px !important;
padding-right:5px !important;
margin-left:0 !important;
display:block;
border-radius:5px;
border:1px solid #a2a9b1;
margin-top:3px;
}
body.skin-vector-search-vue .mw-items-active{
display:block;
border-radius:5px;
border:1px solid #a2a9b1;
padding: 0 5px;
margin-top:2px;
}
body.skin-vector-search-vue .mw-items-active > ul{
margin-top:0;
}
body.skin-vector-search-vue .mw-items-inactive{
display:none;
}
body.skin-vector-search-vue .mw-items-active,body.skin-vector-search-vue .mw-items-inactive{
margin-left:0px !important;
}
body.skin-vector-search-vue #mw-sidebar-checkbox:not(:checked){
display:none;
}
tgsfs9bp0dfz0fjk76jz53n72b5i3g6
437915
437914
2022-08-16T19:47:23Z
Persino
2851
css
text/css
body.skin-vector-search-vue .mw-page-container{
max-width:100%;
min-width:988px;
padding-left:0;
padding-right:0;
border-left: 0;
border-right: 0;
box-sizing:border-box;
display:block;
width:100%;
background-color:white;
height:auto;
}
body.skin-vector-search-vue .mw-content-container{
max-width:100%;
box-sizing:border-box;
padding-left:0 !important;
}
body.skin-vector-search-vue .mw-logo-container{
margin-left: 10px;
margin-right:0;
}
body.skin-vector-search-vue #p-lang-btn-label{
font-size:14px !important;
line-height:1.2em !important;
white-space:nowrap;
}
body.skin-vector-search-vue .mw-indicators{
font-size: calc( 14px * 0.875 );
line-height: 2.0em;
white-space:nowrap;
margin: auto 0 0 0;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content{
display:grid;
grid: 'aa aa aa' auto
'cc cc cc' auto
'bb bb bb' auto
'.. .. ee' auto
'dd dd dd' auto
/ minmax(auto,100%) minmax(auto,100%) auto
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > #top{
grid-area:aa;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .vector-article-toolbar{
grid-area:cc;
margin:0;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .mw-body-header{
grid-area:bb;
top:0;
width:auto !important;
height:auto !important;
margin:0;
margin-right:10px;
box-sizing:border-box;
border-bottom: 1px solid #a2a9b1;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > #p-lang-btn{
grid-area:ee;
height:20px;
width:136px;
height:auto;
margin-left:auto;
top:0;
margin: auto 5px 0 5px;
padding-bottom:8px;
box-sizing:border-box;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > #bodyContent{
grid-area:dd;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .mw-body-header{
display:grid;
grid: 'aa bb' auto
/ minmax(auto,1fr) auto;
width:100%;
min-height: 46px;
box-sizing: border-box;
position: relative;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .mw-body-header > .firstHeading{
display:block !important;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .mw-body-header > .firstHeading:not(:hover){
grid-area:aa;
margin-bottom:2px;
width:100%;
max-width:fit-content;
max-width:-moz-fit-content;
margin-bottom: 0;
margin-top: auto;
border-bottom: none;
padding-left: 3px;
padding-right: 3px;
border-bottom: 0;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .mw-body-header > .mw-indicators{
grid-area: bb;
width: auto;
height: 1.6em;
margin-bottom: 5px;
margin-top: auto;
margin-right: 5px;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .mw-body-header > .firstHeading > .plainlinks,
body.skin-vector-search-vue.action-view.ns-special #content > .mw-body-header > .firstHeading > .plainlinks
body.skin-vector-search-vue:not(.action-view) #content > .mw-body-header > .firstHeading > .plainlinks{
padding-bottom:2px;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .mw-body-header > #p-lang-btn{
grid-area:bb;
right:0;
margin:0;
height:auto;
width:auto;
margin-top: auto;
margin-bottom:0;
padding: 0 3px;
box-sizing:border-box;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .mw-body-header,
body.skin-vector-search-vue.action-view.ns-special #content > .mw-body-header,
body.skin-vector-search-vue:not(.action-view) #content > .mw-body-header{
display:grid;
grid:'aa bb' auto
/ minmax(auto,100%) auto;
border-bottom:1px solid #a2a9b1;
margin-top:auto;
margin-bottom:0;
min-height:46px;
box-sizing:border-box;
position:relative;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .mw-body-header > .firstHeading:not(:hover),
body.skin-vector-search-vue.action-view.ns-special #content > .mw-body-header > .firstHeading:not(:hover),
body.skin-vector-search-vue:not(.action-view) #content > .mw-body-header > .firstHeading:not(:hover){
grid-area:aa;
width:100%;
max-width:fit-content;
max-width:-moz-fit-content;
margin-bottom:0;
margin-top:auto;
border-bottom:none;
padding-left:3px;
padding-right:3px;
border-bottom:0;
box-sizing:border-box;
}
body.skin-vector-search-vue.action-view.ns-special #content > .mw-body-header > .mw-indicators,
body.skin-vector-search-vue:not(.action-view) #content > .mw-body-header > .mw-indicators{
grid-area:bb;
right:0;
margin:0;
height:auto;
width:100%;
margin:auto 0 0 auto;
padding: 0 10px;
box-sizing:border-box;
}
body.skin-vector-search-vue.action-view.ns-special #content .mw-body-header > .mw-indicators > .mw-indicator,
body.skin-vector-search-vue:not(.action-view) #content .mw-body-header > .mw-indicators > .mw-indicator{
padding: 2px 0 2px 0;
margin: auto 0 0 0;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content,
body.skin-vector-search-vue.action-view.ns-special #content,
body.skin-vector-search-vue:not(.action-view) #content{
display:grid;
grid:'aa' auto
'bb' auto
'cc' auto
'dd' auto
/ auto;
width:100%;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > #top,
body.skin-vector-search-vue.action-view.ns-special #content > #top,
body.skin-vector-search-vue:not(.action-view) #content > #top{
grid-area:aa;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .vector-article-toolbar,
body.skin-vector-search-vue.action-view.ns-special #content > .vector-article-toolbar,
body.skin-vector-search-vue:not(.action-view) #content > .vector-article-toolbar{
grid-area:bb;
}
body.skin-vector-search-vue .mw-body-header::after{
display:none;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .mw-body-header,
body.skin-vector-search-vue.action-view.ns-special #content > .mw-body-header,
body.skin-vector-search-vue:not(.action-view) #content > .mw-body-header{
grid-area:cc;
margin:0;
margin-right:10px;
width:auto;
padding-bottom:0;
}
body.skin-vector-search-vue .mw-body-subheader{
border-bottom:0;
}
/*body.skin-vector-search-vue #siteSub,*/
body.skin-vector-search-vue .firstHeading:not(:hover) > .plainlinks{
display:none;
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
}
/*body.skin-vector-search-vue .firstHeading{
text-shadow:0 2px 0 #FFF,0 3px 0 #AAA,0 3px 4px #AAA;
}*/
body.skin-vector-search-vue .firstHeading > .plainlinks{
text-shadow:none;
}
body.skin-vector-search-vue .firstHeading:not(:hover){
display:block;
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
border-bottom:0;
}
body.skin-vector-search-vue .firstHeading:hover{
display:block;
border:1px solid #eaecf0;
border-radius:10px;
background-color:white;
position:absolute;
top:5px;
left:-3px;
width:auto;
padding:5px;
z-index:1 !important;
}
body.skin-vector-search-vue .mw-body-header > .firstHeading:hover > .plainlinks{
display:block;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #bodyContent > .mw-body-subheader{
margin: 2px 0 3px 0;
min-height:1.6em;
}
body.skin-vector-search-vue.action-view.ns-special #bodyContent > .mw-body-subheader,
body.skin-vector-search-vue:not(.action-view) #bodyContent > .mw-body-subheader{
margin: 0;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #bodyContent > .mw-body-subheader{
margin:0;
margin-top: -2.0em;
font-size: 1.2em;
height: 2em;
margin-bottom:5px;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #bodyContent > .mw-body-subheader > #siteSub{
display:block !important;
width:auto;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #bodyContent > .mw-body-subheader> .mw-indicators{
margin-left:5px;
margin-right:3px;
display:block;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #bodyContent > .mw-body-subheader> #siteSub{
display:block;
}
body.skin-vector-search-vue .firstHeading,
body.skin-vector-search-vue .firstHeading > .plainlinks{
max-width:100%;
width:auto;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content #bodyContent,
body.skin-vector-search-vue.action-view.ns-special #content #bodyContent,
body.skin-vector-search-vue:not(.action-view) #content #bodyContent{
grid-area:dd;
}
body.skin-vector-search-vue .mw-article-toolbar-container,
body.skin-vector-search-vue .mw-content-container{
margin-left:0 !important;
}
body.skin-vector-search-vue .mw-page-container-inner{
display:grid;
grid:'aa aa aa' auto
'cc bb bb' auto
'cc dd ee' auto
'cc ff ff' minmax(auto,1fr)
/ auto minmax(auto,1fr) auto;
width:auto;
box-sizing:border-box;
row-gap:0;
}
body.skin-vector-search-vue .mw-page-container-inner > .mw-header{
grid-area:aa;
}
body.skin-vector-search-vue .mw-page-container-inner > #siteNotice{
grid-area:bb;
}
body.skin-vector-search-vue .mw-page-container-inner > .vector-sidebar-container{
grid-area:cc;
}
body.skin-vector-search-vue .mw-page-container-inner > .mw-content-container{
grid-area:dd;
grid-column:auto !important;
}
body.skin-vector-search-vue .mw-page-container-inner > .mw-table-of-contents-container{
grid-area:ee;
}
body.skin-vector-search-vue .mw-page-container-inner > .mw-footer-container{
grid-area:ff;
}
/**/
body.skin-vector-search-vue .mw-workspace-container .mw-content-container,
body.skin-vector-search-vue .mw-workspace-container .mw-content-container #bodyContent,
body.skin-vector-search-vue .mw-workspace-container .mw-content-container #content,
body.skin-vector-search-vue .mw-workspace-container .mw-content-container .mw-body-header{
width:100%;
box-sizing:border-box;
}
body.skin-vector-search-vue .mw-article-toolbar-container .mw-portlet-views {
display: block;
}
body.skin-vector-search-vue .mw-article-toolbar-container .vector-more-collapsible-item {
display: none;
}
body.skin-vector-search-vue .mw-sidebar{
background-color: white;
width:140px;
box-sizing:border-box;
display:block !important;
visibility: visible !important;
opacity: 1 !important;
padding:0;
margin-left:0;
}
body.skin-vector-search-vue .ui-dialog{
font-size:75%;
}
body.skin-vector-search-vue .mw-body-content .error{
font-size:96%;
}
body.skin-vector-search-vue.action-purge .firstHeading{
padding-bottom:3px;
}
body.skin-vector-search-vue .firstHeading .plainlinks{
line-height:1.2em !important;
}
body.skin-vector-search-vue .mw-sidebar #p-navigation .vector-menu-heading{
display:block;
}
body.skin-vector-search-vue .mw-checkbox-hack-checkbox:checked ~ .mw-workspace-container.vector-sidebar-container{
width:0;
transition: width 250ms ease-out;
transition-property: width;
transition-duration: 250ms;
transition-timing-function: ease-out;
transition-delay: 0s;
}
body.skin-vector-search-vue .mw-checkbox-hack-checkbox:not(:checked) ~ .mw-workspace-container.vector-sidebar-container{
width:140px;
transition: width 250ms ease-out;
transition-property: width;
transition-duration: 250ms;
transition-timing-function: ease-out;
transition-delay: 0s;
}
body.skin-vector-search-vue .mw-checkbox-hack-checkbox:checked ~ .mw-workspace-container.vector-sidebar-container > #mw-navigation{
position:absolute;
}
body.skin-vector-search-vue .mw-checkbox-hack-checkbox:not(:checked) ~ .mw-workspace-container.vector-sidebar-container > #mw-navigation{
position:relative;
}
body.skin-vector-search-vue .mw-checkbox-hack-checkbox:checked ~ .mw-workspace-container.vector-sidebar-container > #mw-navigation > .mw-sidebar{
left:-140px;
position:relative;
width:140px;
transition: left 250ms ease-out;
transition-property: left;
transition-duration: 250ms;
transition-timing-function: ease-out;
transition-delay: 0s;
}
body.skin-vector-search-vue .mw-checkbox-hack-checkbox:not(:checked) ~ .mw-workspace-container.vector-sidebar-container > #mw-navigation > .mw-sidebar{
left:0;
position:relative;
width:140px;
transition: left 250ms ease-out;
transition-property: left;
transition-duration: 250ms;
transition-timing-function: ease-out;
transition-delay: 0s;
}
body.skin-vector-search-vue .mw-article-toolbar-container{
max-width:100%;
box-sizing:border-box;
position:relative;
z-index:1;
}
body.skin-vector-search-vue .mw-footer-container{
padding-top:0;
}
body.skin-vector-search-vue .mw-content-container > .mw-body{
margin-left:0;
margin-right:0;
}
body.skin-vector-search-vue .mw-article-toolbar-container > #left-navigation{
margin-left:0;
margin-right:0;
}
body.skin-vector-search-vue .mw-footer-container .mw-footer{
margin-left:10px;
margin-right:0;
padding: 0.75em 5px;
}
body.skin-vector-search-vue .mw-header {
display:flex;
flex-direction: row;
margin: 8px 5px 0 5px;
}
body.skin-vector-search-vue .mw-workspace-container #mw-head{
min-width:832px;
margin-right:5px;
box-sizing:border-box;
}
body.skin-vector-search-vue .mw-logo-icon{
display:block;
}
body.skin-vector-search-vue .vector-user-links .vector-user-menu-more .vector-menu-content-list li.user-links-collapsible-item {
display: block;
}
body.skin-vector-search-vue .vector-search-box-collapses > div{
display:block;
}
body.skin-vector-search-vue a.mw-ui-icon-wikimedia-search{
display:none;
}
body.skin-vector-search-vue .vector-sticky-header{
height:3.2em;
padding: 6px 25px;
display:flex;
flex-direction:row;
min-width:700px;
margin-left:auto;
margin-right:auto;
width:90%;
text-align:center;
box-sizing:border-box;
}
@media screen and (max-width: 830px){
body.skin-vector-search-vue .vector-sticky-header{
display: none;
}
}
html.client-nojs body.skin-vector-search-vue .vector-sticky-header{
display:none !important;
}
body.skin-vector-search-vue .wvui-typeahead-suggestion{
padding-top:4px;
padding-bottom:4px;
text-align:left;
}
body.skin-vector-search-vue .vector-sticky-header.vector-header-search-toggled{
flex-basis: 460px;
box-sizing:border-box;
}
body.skin-vector-search-vue .vector-search-box, body.skin-vector-search-vue .vector-search-box-vue .vector-search-box-input, body.skin-vector-search-vue #p-search #searchform #simpleSearch{
font-size:calc( 14px * 1.042 );
line-height:1.2em;
height:30px;
min-height:30px;
box-sizing:border-box;
}
body.skin-vector-search-vue #p-search #searchform #simpleSearch,
body.skin-vector-search-vue .vector-search-box{
width:460px;
}
body.skin-vector-search-vue .mw-header #p-search #searchform #simpleSearch{
margin-left:10px;
width:460px;
box-sizing:border-box;
}
.client-js body.skin-vector-search-vue .vector-search-box-show-thumbnail.vector-search-box-auto-expand-width .vector-search-box-input, .client-js .vector-search-box-vue .vector-search-box-show-thumbnail.vector-search-box-auto-expand-width .vector-search-box-input{
margin-left:0;
box-sizing:border-box;
width:460px;
}
.client-js body.skin-vector-search-vue .vector-search-box-show-thumbnail.vector-search-box-auto-expand-width .searchButton, .client-js .vector-search-box-vue .vector-search-box-show-thumbnail.vector-search-box-auto-expand-width .searchButton{
left:0;
}
body.skin-vector-search-vue .mw-header .vector-search-box.vector-search-box-auto-expand-width{
margin-left:10px;
}
body.skin-vector-search-vue .mw-header .vector-search-box.vector-search-box-auto-expand-width > div{
width:460px;
box-sizing:border-box;
}
body.skin-vector-search-vue .vector-search-box-vue .searchButton{
background-size: 20px auto;
}
.client-js body.skin-vector-search-vue .vector-search-box-input{
padding-left:36px;
padding-right:8px;
}
body.skin-vector-search-vue .mw-header .vector-search-box.vector-search-box-auto-expand-width > div{
max-width:460px;
}
body.skin-vector-search-vue .mw-logo{
min-width:144px;
}
body.skin-vector-search-vue .mw-ui-icon,.mw-ui-icon-before::before{
font-size:14px;
}
body.skin-vector-search-vue .mw-sidebar-action{
display:none;
}
body.skin-vector-search-vue, body.skin-vector-search-vue .mw-editsection{
font-family: Arial, Helvetica, "Free Helvetian", FreeSans, sans-serif;
font-stretch:normal;
font-variant:normal;
font-style:normal;
font-weight:normal;
font-size-adjust:none;
letter-spacing:normal;
word-spacing:normal;
text-align:left;
word-wrap:break-word;
hyphens:auto;
}
body.skin-vector-search-vue{
font-size:calc( 14px * 1.042 );
line-height:1.2em;
background-color:#ffffff;
}
body.skin-vector-search-vue .mw-editsection{
font-size:12px;
line-height:1.2em;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #contentSub:empty,
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #contentSub ~ #contentSub2:empty{
margin:0;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #contentSub:not(:empty),
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #contentSub ~ #contentSub2:not(:empty){
margin-bottom:5px;
margin-top:3px;
margin-left:0;
}
body.skin-vector-search-vue.action-view.ns-special #contentSub:not(:empty),
body.skin-vector-search-vue.action-view.ns-special #contentSub:not(:empty) ~ #contentSub2,
body.skin-vector-search-vue.action-view.ns-special #contentSub:empty ~ #contentSub2:not(:empty){
margin:5px 0;
}
body.skin-vector-search-vue.ns-special #contentSub:empty{
margin:2px 0 3px 0;
}
body.skin-vector-search-vue.ns-special #contentSub:empty ~ #contentSub2:empty{
margin:13px 0;
}
body.skin-vector-search-vue:not(.action-view) .mw-body-subheader:-moz-only-whitespace ~ #contentSub,
body.skin-vector-search-vue:not(.action-view) .mw-body-subheader:-moz-only-whitespace ~ #contentSub ~ #contentSub2{
margin:13px 0;
}
body.skin-vector-search-vue .mw-body-subheader.blank #contentSub:empty,
body.skin-vector-search-vue .mw-body-subheader.blank #contentSub:empty ~ #contentSub2:empty{
margin:13px 0;
}
body.skin-vector-search-vue:not(.action-view) #contentSub:empty{
margin:2px 0 3px 0;
}
body.skin-vector-search-vue:not(.action-view) #contentSub:empty ~ #contentSub2:empty{
margin:13px 0;
}
body.skin-vector-search-vue:not(.action-view) #contentSub:not(:empty),
body.skin-vector-search-vue:not(.action-view) #contentSub:not(:empty) ~ #contentSub2{
margin: 5px 0 2px 0;
}
body.skin-vector-search-vue:not(.action-view) #contentSub:empty ~ #contentSub2:not(:empty){
margin: 5px 0 3px 0;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #contentSub,
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #contentSub2{
margin:0;
}
body.skin-vector-search-vue.action-edit #contentSub:not(:empty) ~ #mw-content-text > form#editform{
margin-top:0;
}
body.skin-vector-search-vue.action-view #pwContent,
body.skin-vector-search-vue:not(.action-view) #pwContent,
body.skin-vector-search-vue.action-view .subpages,
body.skin-vector-search-vue:not(.action-view) .subpages{
margin:0;
font-size:12px;
line-height:1.2em;
margin-bottom:6px;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna) .warningbox,
body.skin-vector-search-vue:not(.action-view) .warningbox{
margin:10px 0;
}
body.skin-vector-search-vue #mw-previewheader{
margin-top:14px;
margin-bottom:10px;
}
body.skin-vector-search-vue .mw-userconfigpublic{
margin-top:8px;
}
body.skin-vector-search-vue .mw-contributions-user-tools{
margin-bottom:6px;
}
body.skin-vector-search-vue:not(.action-view) .mw-body,
body.skin-vector-search-vue.action-view.ns-special .mw-body{
padding: 8px 0 10px 8px;
position:relative;
z-index:0;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna .mw-body,
body.skin-vector-search-vue.action-view:not(.ns-special):not(.page-Wikibooks_Strona_główna) .mw-body{
padding: 4px 0 10px 8px;
position:relative;
z-index:0;
}
body.skin-vector-search-vue #centralNotice:not(:empty){
margin:10px 15px 8px 15px;
}
body.skin-vector-search-vue .mw-content-container{
min-width:848px;
}
body.skin-vector-search-vue #content{
margin-left:0px;
min-width:848px;
box-sizing:border-box;
}
body.skin-vector-search-vue #mw-content-text{
clear:both;
}
body.skin-vector-search-vue #bodyContent{
box-sizing:border-box;
min-width:832px;
height:auto;
clear:both;
padding: 0 15px 0 8px;
}
body.skin-vector-search-vue .mw-table-of-contents-container:not(:-moz-only-whitespace) ~ .mw-content-container #bodyContent{
padding: 0 8px;
}
body.skin-vector-search-vue .mw-table-of-contents-container.sidebar_obecny ~ .mw-content-container #bodyContent{
padding: 0 8px;
}
body.skin-vector-search-vue .mw-table-of-contents-container:not(:-moz-only-whitespace) ~ .mw-content-container .mw-body-header{
margin-right:3px !important;
}
body.skin-vector-search-vue .mw-table-of-contents-container.sidebar_obecny ~ .mw-content-container .mw-body-header{
margin-right:3px !important;
}
body.skin-vector-search-vue.action-view #bodyContent #mw-content-text .mw-parser-output,
body.skin-vector-search-vue:not(.action-view) #bodyContent #mw-content-text .mw-parser-output{
min-width:822px;
box-sizing:border-box;
display:block;
height:auto;
position:relative;
}
body.skin-vector-search-vue.action-view #bodyContent #mw-content-text .mw-parser-output::after,
body.skin-vector-search-vue:not(.action-view) #bodyContent #mw-content-text .mw-parser-output::after{
display:block;
content:'';
clear:both;
}
body.skin-vector-search-vue.ns-10 #mw-content-text .mw-parser-output > :not(style):not(link):not(#documentation-meta-data):not(.template-documentation) ~ *:first-of-type,
body.skin-vector-search-vue.ns-828 #mw-content-text .mw-parser-output > :not(style):not(link):not(#documentation-meta-data):not(.template-documentation) ~ *:first-of-type{
margin-top:5px !important;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(style):not(link):not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p):first-child{
margin-top:0 !important;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(style):not(link) ~ :not(style):not(link):not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p):not(.div-linia):first-of-type{
margin-top:5px !important;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > div.div-linia + *{
margin-top:0px !important;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1:first-child,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2:first-child,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3:first-child,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4:first-child,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5:first-child,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6:first-child,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h1:first-of-type,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h2:first-of-type,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h3:first-of-type,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h4:first-of-type,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h5:first-of-type,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h6:first-of-type{
margin-top:0.5em !important;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h1,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h2,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h3,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h4,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h5,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h6,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h1,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h2,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h3,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h4,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h5,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h6,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h1,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h2,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h3,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h4,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h5,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h6,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h1,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h2,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h3,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h4,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h5,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h6,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h1,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h2,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h3,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h4,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h5,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h6,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h1,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h2,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h3,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h4,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h5,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h6{
margin-top:0.8em;
}
body.skin-vector-search-vue .tdg-editscreen-main{
margin-top:9px;
margin-bottom:10px;
}
body.skin-vector-search-vue .mw-specialpage-summary > p:first-child{
margin: 0 0 4px 0;
}
body.skin-vector-search-vue .mw-rcfilters-head{
margin-bottom:15px;
}
body.skin-vector-search-vue.mw-special-Watchlist .mw-rcfilters-head{
min-height: 280px;
}
body.skin-vector-search-vue #bodyContent #mw-content-text .mw-parser-output .template-documentation:first-of-type{
margin-top:0;
box-sizing:border-box;
}
body.skin-vector-search-vue #bodyContent #mw-content-text .mw-parser-output > :not(style):not(link) ~ .template-documentation{
margin-top:10px !important;
box-sizing:border-box !important;
}
body.skin-vector-search-vue .mw-parser-output #documentation-meta-data:not(:last-child){
margin-top:3px !important;
margin-bottom:3px !important;
}
body.skin-vector-search-vue .mw-parser-output #documentation-meta-data:last-child{
margin-top:3px !important;
margin-bottom:0 !important;
}
body.skin-vector-search-vue #bodyContent #mw-content-text .mw-container-table-parser-output{
display:block table;
box-sizing:border-box;
position:relative;
width:100%;
height:auto;
margin:0;
margin-bottom:5px;
border-spacing:0;
padding:0;
border-collapse:collapse;
border:0;
}
body.skin-vector-search-vue .catlinks:not(.catlinks-allhidden){
margin: 5px 0;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > p:first-of-type{
margin-top:0.3em;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p):not(:empty) + p:first-of-type{
margin-top:0.5em;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p):not(.blank) + p:first-of-type{
margin-top:0.5em;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p):not(:-moz-only-whitespace) + p:first-of-type{
margin-top:0.5em;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p):not(:blank) + p:first-of-type{
margin-top:0.5em;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p).floatleft + p:first-of-type,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p).floatright + p:first-of-type,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p).tleft + p:first-of-type,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p).tright + p:first-of-type{
margin-top:0;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > p:last-child{
margin-bottom:0.3em;
}
body.skin-vector-search-vue pre{
margin-top:8px;
margin-bottom:8px;
padding:11px;
background-color: #f8f9fa;
color: #000;
border: 1px solid #eaecf0;
box-sizing:border-box;
}
body.skin-vector-search-vue div.mw-highlight > pre{
margin-top:8px;
margin-bottom:8px;
}
body.ns-828.skin-vector-search-vue.action-view #mw-content-text .mw-parser-output > div.mw-highlight:last-child > pre:last-child{
margin-top:5px;
margin-bottom:0;
}
body.skin-vector-search-vue.action-view #mw-content-text .mw-parser-output > div.mw-highlight:last-child > pre:last-child{
margin-bottom:0;
margin-top:5px;
}
body.ns-828.skin-vector-search-vue:not(.action-view) #mw-content-text .mw-parser-output > div.mw-highlight:last-child > pre:last-child{
margin-top:0px;
margin-bottom:0;
}
body.skin-vector-search-vue:not(.action-view) #mw-content-text .mw-parser-output > div.mw-highlight:last-child > pre:last-child{
margin-bottom:0;
margin-top:0;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > div.mw-highlight:only-child > pre:only-child{
margin-bottom:0 !important;
margin-top:0 !important;
}
body.skin-vector-search-vue .oo-ui-panelLayout-padded.oo-ui-panelLayout-framed{
margin:0 0 8px 0;
}
body.skin-vector-search-vue .mw-body > h1{
margin-bottom:0;
}
body.skin-vector-search-vue #central-auth-images{
display:none;
}
body.skin-vector-search-vue .mw-message-box{
margin-top:10px;
margin-bottom:10px;
}
body.skin-vector-search-vue #contentSub:not(:empty) ~ #mw-content-text > .mw-message-box:first-child{
margin-top:6px;
margin-bottom:10px;
}
body.skin-vector-search-vue:not(.ns-special) #contentSub > .mw-message-box{
margin-top:0;
margin-bottom:10px;
}
body.skin-vector-search-vue.ns-special #contentSub > .mw-message-box{
margin-top:10px;
margin-bottom:10px;
}
body.skin-vector-search-vue #contentSub > .subpages ~ .mw-message-box,
body.skin-vector-search-vue #contentSub > #pwContent ~ .mw-message-box{
margin-bottom:10px;
margin-top:0;
}
body.skin-vector-search-vue #wikiPreview.ontop{
margin-bottom:5px;
}
body.skin-vector-search-vue.skin-vector-disable-max-width #wikiPreview{
max-width:100%;
}
body.skin-vector-search-vue .previewnote{
margin-bottom:10px;
}
body.skin-vector-search-vue form#editform{
margin-top:5px;
margin-bottom:5px;
}
body.skin-vector-search-vue #editform::after{
display:block;
}
body.skin-vector-search-vue .editOptions{
margin-bottom:10px;
}
body.skin-vector-search-vue .mw-category-generated > #mw-pages > h2, body.skin-vector-search-vue .mw-category-generated > #mw-subcategories > h2, body.skin-vector-search-vue .mw-category-generated > #mw-category-media > h2{
margin-top:15px !important;
}
body.skin-vector-search-vue .mw-category-generated > #mw-pages:last-child, body.skin-vector-search-vue .mw-category-generated > #mw-subcategories:last-child, body.skin-vector-search-vue .mw-category-generated > #mw-category-media:last-child{
margin-bottom:10px;
}
body.skin-vector-search-vue .mw-parser-output + .mw-category-generated > p:first-child,
body.skin-vector-search-vue .noarticletext + .mw-category-generated > p:first-child{
margin-bottom:0;
margin-top:0;
}
body.skin-vector-search-vue .mw-category-generated > *:first-child > h2{
margin-top:15px !important;
}
body.skin-vector-search-vue .mw-category-generated{
margin-bottom:5px;
}
body.skin-vector-search-vue .mw-editfooter-list{
margin-bottom:0;
}
body.skin-vector-search-vue #mw-clearyourcache:first-child > p:first-child{
margin-top:0;
}
body.skin-vector-search-vue .vector-menu-portal {
margin: 0;
margin-left:5px;
padding: 0.2em 0 0 0;
direction: ltr;
}
body.skin-vector-search-vue .vector-menu-portal .vector-menu-content{
margin-left: 3px;
}
body.skin-vector-search-vue #mw-panel nav:first-child .vector-menu-content {
margin-left: 0;
}
body.skin-vector-search-vue .vector-menu-portal .vector-menu-heading{
margin-left:3px;
}
body.skin-vector-search-vue .mw-undelete-pagetitle > p:first-child{
margin-top:0;
}
body.skin-vector-search-vue .mw-delete-warning-revisions{
display:block;
margin-top:10px;
}
body.skin-vector-search-vue #p-lang-btn-label{
min-height:25px;
padding:5px 25px 3px 5px;
}
body.skin-vector-search-vue .mw-delete-editreasons + h2,
body.skin-vector-search-vue .mw-protect-editreasons + h2{
margin-top:0 !important;
}
body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container{
margin-right:0;
padding-right:0;
}
body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container{
margin-right: 0;
padding-right:0;
}
body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container #right-navigation{
margin-right:4px;
}
body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container #right-navigation{
margin-right: 4px;
}
body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container #right-navigation::before{
display: flex;
content: '';
width: auto;
flex-direction: row;
flex: 1 1 auto;
box-sizing:border-box;
}
body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container #right-navigation .vector-menu-content{
right:0;
}
body.skin-vector-search-vue .mw-table-of-contents-container{
direction: rtl;
align-self:auto;
background-color:white;
background-image: url('//upload.wikimedia.org/wikipedia/commons/thumb/b/ba/Wikibooks_multicolor_open_book_no_text.svg/200px-Wikibooks_multicolor_open_book_no_text.svg.png');
z-index:1;
}
body.skin-vector-search-vue .mw-table-of-contents-container:not(:-moz-only-whitespace){
margin-right:8px;
margin-left:5px;
}
body.skin-vector-search-vue .mw-table-of-contents-container.sidebar_obecny{
margin-right:8px;
margin-left:5px;
}
body.skin-vector-search-vue .mw-table-of-contents-container{
max-width:200px;
box-sizing:border-box;
position:static;
margin-bottom:5px;
}
body.skin-vector-search-vue .mw-table-of-contents-container:not(:-moz-only-whitespace){
width:200px;
max-height:100%;
}
body.skin-vector-search-vue .mw-table-of-contents-container.sidebar_obecny{
width:200px;
max-height:100%;
}
body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{
width:200px;
direction: rtl;
overflow-x:hidden;
overflow-y:auto;
margin-right:0;
margin-left:0;
display:block !important;
border:0 !important;
max-height:100%;
}
html.client-nojs body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{
margin-top:0 !important;
top:54px !important;
max-height:calc( 100vh - 54px ) !important;
}
html:not(.client-nojs) body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{
margin-top:54px !important;
}
body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc .sidebar-toc-contents{
direction:ltr;
}
html.client-nojs body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{
position:sticky;
top:5px;
}
html:not(.client-nojs) body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{
top:0;
position:absolute;
}
body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{
max-width:700px;
min-width:200px;
display:block;
left:auto;
}
body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc:not(:hover) .sidebar-toc-level-2{
display:none;
}
body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc:not(:hover){
width:200px;
transition: width 250ms ease-out;
transition-property: width;
transition-duration: 250ms;
transition-timing-function: ease-out;
transition-delay: 0s;
}
body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc:hover{
width:auto;
transition: width 250ms ease-out;
transition-property: width;
transition-duration: 250ms;
transition-timing-function: ease-out;
transition-delay: 0s;
}
body.skin-vector-search-vue .mw-table-of-contents-container button.vector-toc-collapse-button{
display:inline;
}
body.skin-vector-search-vue .mw-article-toolbar-container{
margin-left:0 !important;
}
body.skin-vector-search-vue .mw-checkbox-hack-checkbox:checked ~ .mw-workspace-container .mw-content-container,
body.skin-vector-search-vue .mw-checkbox-hack-checkbox:checked ~ .mw-workspace-container #mw-navigation .mw-article-toolbar-container {
margin-left: 0 !important;
}
/*body.skin-vector-search-vue .vector-body h1,
body.skin-vector-search-vue .vector-body h2,
body.skin-vector-search-vue .vector-body h3,
body.skin-vector-search-vue .vector-body h4,
body.skin-vector-search-vue .vector-body h5,
body.skin-vector-search-vue .vector-body h6{
margin-top:0.8em;
}*/
body.skin-vector-search-vue .mw-history-subtitle{
margin-bottom:6px;
}
body.skin-vector-search-vue .printfooter{
display:block;
margin: 5px 0;
padding:5px;
white-space:normal;
border: 1px solid #eaecf0;
box-sizing:border-box;
background-color: white;
}
.client-js body.skin-vector-search-vue .mw-search-form-wrapper {
min-height: 112px;
}
body.skin-vector-search-vue .noarticletext{
margin-bottom:5px;
}
body.skin-vector-search-vue .mw-menu-active{
background-color:#E6E6FA;
}
body.skin-vector-search-vue .mw-menu-inactive{
background-color:#EEE8AA;
}
body.skin-vector-search-vue .mw-menu-active,body.skin-vector-search-vue .mw-menu-inactive{
padding-left:5px !important;
padding-right:5px !important;
margin-left:0 !important;
display:block;
border-radius:5px;
border:1px solid #a2a9b1;
margin-top:3px;
}
body.skin-vector-search-vue .mw-items-active{
display:block;
border-radius:5px;
border:1px solid #a2a9b1;
padding: 0 5px;
margin-top:2px;
}
body.skin-vector-search-vue .mw-items-active > ul{
margin-top:0;
}
body.skin-vector-search-vue .mw-items-inactive{
display:none;
}
body.skin-vector-search-vue .mw-items-active,body.skin-vector-search-vue .mw-items-inactive{
margin-left:0px !important;
}
body.skin-vector-search-vue #mw-sidebar-checkbox:not(:checked){
display:none;
}
4nkqj9f4jbat27qqtb841yiqrygk7ez
437916
437915
2022-08-16T19:47:48Z
Persino
2851
css
text/css
body.skin-vector-search-vue .mw-page-container{
max-width:100%;
min-width:988px;
padding-left:0;
padding-right:0;
border-left: 0;
border-right: 0;
box-sizing:border-box;
display:block;
width:100%;
background-color:white;
height:auto;
}
body.skin-vector-search-vue .mw-content-container{
max-width:100%;
box-sizing:border-box;
padding-left:0 !important;
}
body.skin-vector-search-vue .mw-logo-container{
margin-left: 10px;
margin-right:0;
}
body.skin-vector-search-vue #p-lang-btn-label{
font-size:14px !important;
line-height:1.2em !important;
white-space:nowrap;
}
body.skin-vector-search-vue .mw-indicators{
font-size: calc( 14px * 0.875 );
line-height: 2.0em;
white-space:nowrap;
margin: auto 0 0 0;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content{
display:grid;
grid: 'aa aa aa' auto
'cc cc cc' auto
'bb bb bb' auto
'.. .. ee' auto
'dd dd dd' auto
/ minmax(auto,100%) minmax(auto,100%) auto
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > #top{
grid-area:aa;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .vector-article-toolbar{
grid-area:cc;
margin:0;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .mw-body-header{
grid-area:bb;
top:0;
width:auto !important;
height:auto !important;
margin:0;
margin-right:10px;
box-sizing:border-box;
border-bottom: 1px solid #a2a9b1;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > #p-lang-btn{
grid-area:ee;
height:20px;
width:136px;
height:auto;
margin-left:auto;
top:0;
margin: auto 5px 0 5px;
padding-bottom:8px;
box-sizing:border-box;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > #bodyContent{
grid-area:dd;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .mw-body-header{
display:grid;
grid: 'aa bb' auto
/ minmax(auto,1fr) auto;
width:100%;
min-height: 46px;
box-sizing: border-box;
position: relative;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .mw-body-header > .firstHeading{
display:block !important;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .mw-body-header > .firstHeading:not(:hover){
grid-area:aa;
margin-bottom:2px;
width:100%;
max-width:fit-content;
max-width:-moz-fit-content;
margin-bottom: 0;
margin-top: auto;
border-bottom: none;
padding-left: 3px;
padding-right: 3px;
border-bottom: 0;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .mw-body-header > .mw-indicators{
grid-area: bb;
width: auto;
height: 1.6em;
margin-bottom: 5px;
margin-top: auto;
margin-right: 5px;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .mw-body-header > .firstHeading > .plainlinks,
body.skin-vector-search-vue.action-view.ns-special #content > .mw-body-header > .firstHeading > .plainlinks
body.skin-vector-search-vue:not(.action-view) #content > .mw-body-header > .firstHeading > .plainlinks{
padding-bottom:2px;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .mw-body-header > #p-lang-btn{
grid-area:bb;
right:0;
margin:0;
height:auto;
width:auto;
margin-top: auto;
margin-bottom:0;
padding: 0 3px;
box-sizing:border-box;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .mw-body-header,
body.skin-vector-search-vue.action-view.ns-special #content > .mw-body-header,
body.skin-vector-search-vue:not(.action-view) #content > .mw-body-header{
display:grid;
grid:'aa bb' auto
/ minmax(auto,100%) auto;
border-bottom:1px solid #a2a9b1;
margin-top:auto;
margin-bottom:0;
min-height:46px;
box-sizing:border-box;
position:relative;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .mw-body-header > .firstHeading:not(:hover),
body.skin-vector-search-vue.action-view.ns-special #content > .mw-body-header > .firstHeading:not(:hover),
body.skin-vector-search-vue:not(.action-view) #content > .mw-body-header > .firstHeading:not(:hover){
grid-area:aa;
width:100%;
max-width:fit-content;
max-width:-moz-fit-content;
margin-bottom:0;
margin-top:auto;
border-bottom:none;
padding-left:3px;
padding-right:3px;
border-bottom:0;
box-sizing:border-box;
}
body.skin-vector-search-vue.action-view.ns-special #content > .mw-body-header > .mw-indicators,
body.skin-vector-search-vue:not(.action-view) #content > .mw-body-header > .mw-indicators{
grid-area:bb;
right:0;
margin:0;
height:auto;
width:100%;
margin:auto 0 0 auto;
padding: 0 10px;
box-sizing:border-box;
}
body.skin-vector-search-vue.action-view.ns-special #content .mw-body-header > .mw-indicators > .mw-indicator,
body.skin-vector-search-vue:not(.action-view) #content .mw-body-header > .mw-indicators > .mw-indicator{
padding: 2px 0 2px 0;
margin: auto 0 0 0;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content,
body.skin-vector-search-vue.action-view.ns-special #content,
body.skin-vector-search-vue:not(.action-view) #content{
display:grid;
grid:'aa' auto
'bb' auto
'cc' auto
'dd' auto
/ auto;
width:100%;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > #top,
body.skin-vector-search-vue.action-view.ns-special #content > #top,
body.skin-vector-search-vue:not(.action-view) #content > #top{
grid-area:aa;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .vector-article-toolbar,
body.skin-vector-search-vue.action-view.ns-special #content > .vector-article-toolbar,
body.skin-vector-search-vue:not(.action-view) #content > .vector-article-toolbar{
grid-area:bb;
}
body.skin-vector-search-vue .mw-body-header::after{
display:none;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .mw-body-header,
body.skin-vector-search-vue.action-view.ns-special #content > .mw-body-header,
body.skin-vector-search-vue:not(.action-view) #content > .mw-body-header{
grid-area:cc;
margin:0;
margin-right:10px;
width:auto;
padding-bottom:0;
}
body.skin-vector-search-vue .mw-body-subheader{
border-bottom:0;
}
/*body.skin-vector-search-vue #siteSub,*/
body.skin-vector-search-vue .firstHeading:not(:hover) > .plainlinks{
display:none;
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
}
/*body.skin-vector-search-vue .firstHeading{
text-shadow:0 2px 0 #FFF,0 3px 0 #AAA,0 3px 4px #AAA;
}*/
body.skin-vector-search-vue .firstHeading > .plainlinks{
text-shadow:none;
}
body.skin-vector-search-vue .firstHeading:not(:hover){
display:block;
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
border-bottom:0;
}
body.skin-vector-search-vue .firstHeading:hover{
display:block;
border:1px solid #eaecf0;
border-radius:10px;
background-color:white;
position:absolute;
top:5px;
left:-3px;
width:auto;
padding:5px;
z-index:1 !important;
}
body.skin-vector-search-vue .mw-body-header > .firstHeading:hover > .plainlinks{
display:block;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #bodyContent > .mw-body-subheader{
margin: 2px 0 3px 0;
min-height:1.6em;
}
body.skin-vector-search-vue.action-view.ns-special #bodyContent > .mw-body-subheader,
body.skin-vector-search-vue:not(.action-view) #bodyContent > .mw-body-subheader{
margin: 0;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #bodyContent > .mw-body-subheader{
margin:0;
margin-top: -2.0em;
font-size: 1.2em;
height: 2em;
margin-bottom:5px;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #bodyContent > .mw-body-subheader > #siteSub{
display:block !important;
width:auto;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #bodyContent > .mw-body-subheader> .mw-indicators{
margin-left:5px;
margin-right:3px;
display:block;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #bodyContent > .mw-body-subheader> #siteSub{
display:block;
}
body.skin-vector-search-vue .firstHeading,
body.skin-vector-search-vue .firstHeading > .plainlinks{
max-width:100%;
width:auto;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content #bodyContent,
body.skin-vector-search-vue.action-view.ns-special #content #bodyContent,
body.skin-vector-search-vue:not(.action-view) #content #bodyContent{
grid-area:dd;
}
body.skin-vector-search-vue .mw-article-toolbar-container,
body.skin-vector-search-vue .mw-content-container{
margin-left:0 !important;
}
body.skin-vector-search-vue .mw-page-container-inner{
display:grid;
grid:'aa aa aa' auto
'cc bb bb' auto
'cc dd ee' auto
'cc ff ff' minmax(auto,1fr)
/ auto minmax(auto,1fr) auto;
width:auto;
box-sizing:border-box;
row-gap:0;
}
body.skin-vector-search-vue .mw-page-container-inner > .mw-header{
grid-area:aa;
}
body.skin-vector-search-vue .mw-page-container-inner > #siteNotice{
grid-area:bb;
}
body.skin-vector-search-vue .mw-page-container-inner > .vector-sidebar-container{
grid-area:cc;
}
body.skin-vector-search-vue .mw-page-container-inner > .mw-content-container{
grid-area:dd;
grid-column:auto !important;
}
body.skin-vector-search-vue .mw-page-container-inner > .mw-table-of-contents-container{
grid-area:ee;
}
body.skin-vector-search-vue .mw-page-container-inner > .mw-footer-container{
grid-area:ff;
}
/**/
body.skin-vector-search-vue .mw-workspace-container .mw-content-container,
body.skin-vector-search-vue .mw-workspace-container .mw-content-container #bodyContent,
body.skin-vector-search-vue .mw-workspace-container .mw-content-container #content,
body.skin-vector-search-vue .mw-workspace-container .mw-content-container .mw-body-header{
width:100%;
box-sizing:border-box;
}
body.skin-vector-search-vue .mw-article-toolbar-container .mw-portlet-views {
display: block;
}
body.skin-vector-search-vue .mw-article-toolbar-container .vector-more-collapsible-item {
display: none;
}
body.skin-vector-search-vue .mw-sidebar{
background-color: white;
width:140px;
box-sizing:border-box;
display:block !important;
visibility: visible !important;
opacity: 1 !important;
padding:0;
margin-left:0;
}
body.skin-vector-search-vue .ui-dialog{
font-size:75%;
}
body.skin-vector-search-vue .mw-body-content .error{
font-size:96%;
}
body.skin-vector-search-vue.action-purge .firstHeading{
padding-bottom:3px;
}
body.skin-vector-search-vue .firstHeading .plainlinks{
line-height:1.2em !important;
}
body.skin-vector-search-vue .mw-sidebar #p-navigation .vector-menu-heading{
display:block;
}
body.skin-vector-search-vue .mw-checkbox-hack-checkbox:checked ~ .mw-workspace-container.vector-sidebar-container{
width:0;
transition: width 250ms ease-out;
transition-property: width;
transition-duration: 250ms;
transition-timing-function: ease-out;
transition-delay: 0s;
}
body.skin-vector-search-vue .mw-checkbox-hack-checkbox:not(:checked) ~ .mw-workspace-container.vector-sidebar-container{
width:140px;
transition: width 250ms ease-out;
transition-property: width;
transition-duration: 250ms;
transition-timing-function: ease-out;
transition-delay: 0s;
}
body.skin-vector-search-vue .mw-checkbox-hack-checkbox:checked ~ .mw-workspace-container.vector-sidebar-container > #mw-navigation{
position:absolute;
}
body.skin-vector-search-vue .mw-checkbox-hack-checkbox:not(:checked) ~ .mw-workspace-container.vector-sidebar-container > #mw-navigation{
position:relative;
}
body.skin-vector-search-vue .mw-checkbox-hack-checkbox:checked ~ .mw-workspace-container.vector-sidebar-container > #mw-navigation > .mw-sidebar{
left:-140px;
position:relative;
width:140px;
transition: left 250ms ease-out;
transition-property: left;
transition-duration: 250ms;
transition-timing-function: ease-out;
transition-delay: 0s;
}
body.skin-vector-search-vue .mw-checkbox-hack-checkbox:not(:checked) ~ .mw-workspace-container.vector-sidebar-container > #mw-navigation > .mw-sidebar{
left:0;
position:relative;
width:140px;
transition: left 250ms ease-out;
transition-property: left;
transition-duration: 250ms;
transition-timing-function: ease-out;
transition-delay: 0s;
}
body.skin-vector-search-vue .mw-article-toolbar-container{
max-width:100%;
box-sizing:border-box;
position:relative;
z-index:1;
}
body.skin-vector-search-vue .mw-footer-container{
padding-top:0;
}
body.skin-vector-search-vue .mw-content-container > .mw-body{
margin-left:0;
margin-right:0;
}
body.skin-vector-search-vue .mw-article-toolbar-container > #left-navigation{
margin-left:0;
margin-right:0;
}
body.skin-vector-search-vue .mw-footer-container .mw-footer{
margin-left:10px;
margin-right:0;
padding: 0.75em 5px;
}
body.skin-vector-search-vue .mw-header {
display:flex;
flex-direction: row;
margin: 8px 5px 0 5px;
}
body.skin-vector-search-vue .mw-workspace-container #mw-head{
min-width:832px;
margin-right:5px;
box-sizing:border-box;
}
body.skin-vector-search-vue .mw-logo-icon{
display:block;
}
body.skin-vector-search-vue .vector-user-links .vector-user-menu-more .vector-menu-content-list li.user-links-collapsible-item {
display: block;
}
body.skin-vector-search-vue .vector-search-box-collapses > div{
display:block;
}
body.skin-vector-search-vue a.mw-ui-icon-wikimedia-search{
display:none;
}
body.skin-vector-search-vue .vector-sticky-header{
height:3.2em;
padding: 6px 25px;
display:flex;
flex-direction:row;
min-width:700px;
margin-left:auto;
margin-right:auto;
width:90%;
text-align:center;
box-sizing:border-box;
}
@media screen and (max-width: 830px){
body.skin-vector-search-vue .vector-sticky-header{
display: none;
}
}
html.client-nojs body.skin-vector-search-vue .vector-sticky-header{
display:none !important;
}
body.skin-vector-search-vue .wvui-typeahead-suggestion{
padding-top:4px;
padding-bottom:4px;
text-align:left;
}
body.skin-vector-search-vue .vector-sticky-header.vector-header-search-toggled{
flex-basis: 460px;
box-sizing:border-box;
}
body.skin-vector-search-vue .vector-search-box, body.skin-vector-search-vue .vector-search-box-vue .vector-search-box-input, body.skin-vector-search-vue #p-search #searchform #simpleSearch{
font-size:calc( 14px * 1.042 );
line-height:1.2em;
height:30px;
min-height:30px;
box-sizing:border-box;
}
body.skin-vector-search-vue #p-search #searchform #simpleSearch,
body.skin-vector-search-vue .vector-search-box{
width:460px;
}
body.skin-vector-search-vue .mw-header #p-search #searchform #simpleSearch{
margin-left:10px;
width:460px;
box-sizing:border-box;
}
.client-js body.skin-vector-search-vue .vector-search-box-show-thumbnail.vector-search-box-auto-expand-width .vector-search-box-input, .client-js .vector-search-box-vue .vector-search-box-show-thumbnail.vector-search-box-auto-expand-width .vector-search-box-input{
margin-left:0;
box-sizing:border-box;
width:460px;
}
.client-js body.skin-vector-search-vue .vector-search-box-show-thumbnail.vector-search-box-auto-expand-width .searchButton, .client-js .vector-search-box-vue .vector-search-box-show-thumbnail.vector-search-box-auto-expand-width .searchButton{
left:0;
}
body.skin-vector-search-vue .mw-header .vector-search-box.vector-search-box-auto-expand-width{
margin-left:10px;
}
body.skin-vector-search-vue .mw-header .vector-search-box.vector-search-box-auto-expand-width > div{
width:460px;
box-sizing:border-box;
}
body.skin-vector-search-vue .vector-search-box-vue .searchButton{
background-size: 20px auto;
}
.client-js body.skin-vector-search-vue .vector-search-box-input{
padding-left:36px;
padding-right:8px;
}
body.skin-vector-search-vue .mw-header .vector-search-box.vector-search-box-auto-expand-width > div{
max-width:460px;
}
body.skin-vector-search-vue .mw-logo{
min-width:144px;
}
body.skin-vector-search-vue .mw-ui-icon,.mw-ui-icon-before::before{
font-size:14px;
}
body.skin-vector-search-vue .mw-sidebar-action{
display:none;
}
body.skin-vector-search-vue, body.skin-vector-search-vue .mw-editsection{
font-family: Arial, Helvetica, "Free Helvetian", FreeSans, sans-serif;
font-stretch:normal;
font-variant:normal;
font-style:normal;
font-weight:normal;
font-size-adjust:none;
letter-spacing:normal;
word-spacing:normal;
text-align:left;
word-wrap:break-word;
hyphens:auto;
}
body.skin-vector-search-vue{
font-size:calc( 14px * 1.042 );
line-height:1.2em;
background-color:#ffffff;
}
body.skin-vector-search-vue .mw-editsection{
font-size:12px;
line-height:1.2em;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #contentSub:empty,
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #contentSub ~ #contentSub2:empty{
margin:0;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #contentSub:not(:empty),
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #contentSub ~ #contentSub2:not(:empty){
margin-bottom:5px;
margin-top:3px;
margin-left:0;
}
body.skin-vector-search-vue.action-view.ns-special #contentSub:not(:empty),
body.skin-vector-search-vue.action-view.ns-special #contentSub:not(:empty) ~ #contentSub2,
body.skin-vector-search-vue.action-view.ns-special #contentSub:empty ~ #contentSub2:not(:empty){
margin:5px 0;
}
body.skin-vector-search-vue.ns-special #contentSub:empty{
margin:2px 0 3px 0;
}
body.skin-vector-search-vue.ns-special #contentSub:empty ~ #contentSub2:empty{
margin:13px 0;
}
body.skin-vector-search-vue:not(.action-view) .mw-body-subheader:-moz-only-whitespace ~ #contentSub,
body.skin-vector-search-vue:not(.action-view) .mw-body-subheader:-moz-only-whitespace ~ #contentSub ~ #contentSub2{
margin:13px 0;
}
body.skin-vector-search-vue .mw-body-subheader.blank #contentSub,
body.skin-vector-search-vue .mw-body-subheader.blank #contentSub ~ #contentSub2{
margin:13px 0;
}
body.skin-vector-search-vue:not(.action-view) #contentSub:empty{
margin:2px 0 3px 0;
}
body.skin-vector-search-vue:not(.action-view) #contentSub:empty ~ #contentSub2:empty{
margin:13px 0;
}
body.skin-vector-search-vue:not(.action-view) #contentSub:not(:empty),
body.skin-vector-search-vue:not(.action-view) #contentSub:not(:empty) ~ #contentSub2{
margin: 5px 0 2px 0;
}
body.skin-vector-search-vue:not(.action-view) #contentSub:empty ~ #contentSub2:not(:empty){
margin: 5px 0 3px 0;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #contentSub,
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #contentSub2{
margin:0;
}
body.skin-vector-search-vue.action-edit #contentSub:not(:empty) ~ #mw-content-text > form#editform{
margin-top:0;
}
body.skin-vector-search-vue.action-view #pwContent,
body.skin-vector-search-vue:not(.action-view) #pwContent,
body.skin-vector-search-vue.action-view .subpages,
body.skin-vector-search-vue:not(.action-view) .subpages{
margin:0;
font-size:12px;
line-height:1.2em;
margin-bottom:6px;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna) .warningbox,
body.skin-vector-search-vue:not(.action-view) .warningbox{
margin:10px 0;
}
body.skin-vector-search-vue #mw-previewheader{
margin-top:14px;
margin-bottom:10px;
}
body.skin-vector-search-vue .mw-userconfigpublic{
margin-top:8px;
}
body.skin-vector-search-vue .mw-contributions-user-tools{
margin-bottom:6px;
}
body.skin-vector-search-vue:not(.action-view) .mw-body,
body.skin-vector-search-vue.action-view.ns-special .mw-body{
padding: 8px 0 10px 8px;
position:relative;
z-index:0;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna .mw-body,
body.skin-vector-search-vue.action-view:not(.ns-special):not(.page-Wikibooks_Strona_główna) .mw-body{
padding: 4px 0 10px 8px;
position:relative;
z-index:0;
}
body.skin-vector-search-vue #centralNotice:not(:empty){
margin:10px 15px 8px 15px;
}
body.skin-vector-search-vue .mw-content-container{
min-width:848px;
}
body.skin-vector-search-vue #content{
margin-left:0px;
min-width:848px;
box-sizing:border-box;
}
body.skin-vector-search-vue #mw-content-text{
clear:both;
}
body.skin-vector-search-vue #bodyContent{
box-sizing:border-box;
min-width:832px;
height:auto;
clear:both;
padding: 0 15px 0 8px;
}
body.skin-vector-search-vue .mw-table-of-contents-container:not(:-moz-only-whitespace) ~ .mw-content-container #bodyContent{
padding: 0 8px;
}
body.skin-vector-search-vue .mw-table-of-contents-container.sidebar_obecny ~ .mw-content-container #bodyContent{
padding: 0 8px;
}
body.skin-vector-search-vue .mw-table-of-contents-container:not(:-moz-only-whitespace) ~ .mw-content-container .mw-body-header{
margin-right:3px !important;
}
body.skin-vector-search-vue .mw-table-of-contents-container.sidebar_obecny ~ .mw-content-container .mw-body-header{
margin-right:3px !important;
}
body.skin-vector-search-vue.action-view #bodyContent #mw-content-text .mw-parser-output,
body.skin-vector-search-vue:not(.action-view) #bodyContent #mw-content-text .mw-parser-output{
min-width:822px;
box-sizing:border-box;
display:block;
height:auto;
position:relative;
}
body.skin-vector-search-vue.action-view #bodyContent #mw-content-text .mw-parser-output::after,
body.skin-vector-search-vue:not(.action-view) #bodyContent #mw-content-text .mw-parser-output::after{
display:block;
content:'';
clear:both;
}
body.skin-vector-search-vue.ns-10 #mw-content-text .mw-parser-output > :not(style):not(link):not(#documentation-meta-data):not(.template-documentation) ~ *:first-of-type,
body.skin-vector-search-vue.ns-828 #mw-content-text .mw-parser-output > :not(style):not(link):not(#documentation-meta-data):not(.template-documentation) ~ *:first-of-type{
margin-top:5px !important;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(style):not(link):not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p):first-child{
margin-top:0 !important;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(style):not(link) ~ :not(style):not(link):not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p):not(.div-linia):first-of-type{
margin-top:5px !important;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > div.div-linia + *{
margin-top:0px !important;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1:first-child,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2:first-child,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3:first-child,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4:first-child,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5:first-child,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6:first-child,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h1:first-of-type,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h2:first-of-type,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h3:first-of-type,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h4:first-of-type,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h5:first-of-type,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h6:first-of-type{
margin-top:0.5em !important;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h1,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h2,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h3,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h4,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h5,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h6,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h1,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h2,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h3,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h4,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h5,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h6,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h1,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h2,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h3,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h4,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h5,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h6,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h1,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h2,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h3,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h4,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h5,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h6,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h1,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h2,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h3,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h4,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h5,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h6,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h1,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h2,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h3,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h4,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h5,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h6{
margin-top:0.8em;
}
body.skin-vector-search-vue .tdg-editscreen-main{
margin-top:9px;
margin-bottom:10px;
}
body.skin-vector-search-vue .mw-specialpage-summary > p:first-child{
margin: 0 0 4px 0;
}
body.skin-vector-search-vue .mw-rcfilters-head{
margin-bottom:15px;
}
body.skin-vector-search-vue.mw-special-Watchlist .mw-rcfilters-head{
min-height: 280px;
}
body.skin-vector-search-vue #bodyContent #mw-content-text .mw-parser-output .template-documentation:first-of-type{
margin-top:0;
box-sizing:border-box;
}
body.skin-vector-search-vue #bodyContent #mw-content-text .mw-parser-output > :not(style):not(link) ~ .template-documentation{
margin-top:10px !important;
box-sizing:border-box !important;
}
body.skin-vector-search-vue .mw-parser-output #documentation-meta-data:not(:last-child){
margin-top:3px !important;
margin-bottom:3px !important;
}
body.skin-vector-search-vue .mw-parser-output #documentation-meta-data:last-child{
margin-top:3px !important;
margin-bottom:0 !important;
}
body.skin-vector-search-vue #bodyContent #mw-content-text .mw-container-table-parser-output{
display:block table;
box-sizing:border-box;
position:relative;
width:100%;
height:auto;
margin:0;
margin-bottom:5px;
border-spacing:0;
padding:0;
border-collapse:collapse;
border:0;
}
body.skin-vector-search-vue .catlinks:not(.catlinks-allhidden){
margin: 5px 0;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > p:first-of-type{
margin-top:0.3em;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p):not(:empty) + p:first-of-type{
margin-top:0.5em;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p):not(.blank) + p:first-of-type{
margin-top:0.5em;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p):not(:-moz-only-whitespace) + p:first-of-type{
margin-top:0.5em;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p):not(:blank) + p:first-of-type{
margin-top:0.5em;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p).floatleft + p:first-of-type,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p).floatright + p:first-of-type,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p).tleft + p:first-of-type,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p).tright + p:first-of-type{
margin-top:0;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > p:last-child{
margin-bottom:0.3em;
}
body.skin-vector-search-vue pre{
margin-top:8px;
margin-bottom:8px;
padding:11px;
background-color: #f8f9fa;
color: #000;
border: 1px solid #eaecf0;
box-sizing:border-box;
}
body.skin-vector-search-vue div.mw-highlight > pre{
margin-top:8px;
margin-bottom:8px;
}
body.ns-828.skin-vector-search-vue.action-view #mw-content-text .mw-parser-output > div.mw-highlight:last-child > pre:last-child{
margin-top:5px;
margin-bottom:0;
}
body.skin-vector-search-vue.action-view #mw-content-text .mw-parser-output > div.mw-highlight:last-child > pre:last-child{
margin-bottom:0;
margin-top:5px;
}
body.ns-828.skin-vector-search-vue:not(.action-view) #mw-content-text .mw-parser-output > div.mw-highlight:last-child > pre:last-child{
margin-top:0px;
margin-bottom:0;
}
body.skin-vector-search-vue:not(.action-view) #mw-content-text .mw-parser-output > div.mw-highlight:last-child > pre:last-child{
margin-bottom:0;
margin-top:0;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > div.mw-highlight:only-child > pre:only-child{
margin-bottom:0 !important;
margin-top:0 !important;
}
body.skin-vector-search-vue .oo-ui-panelLayout-padded.oo-ui-panelLayout-framed{
margin:0 0 8px 0;
}
body.skin-vector-search-vue .mw-body > h1{
margin-bottom:0;
}
body.skin-vector-search-vue #central-auth-images{
display:none;
}
body.skin-vector-search-vue .mw-message-box{
margin-top:10px;
margin-bottom:10px;
}
body.skin-vector-search-vue #contentSub:not(:empty) ~ #mw-content-text > .mw-message-box:first-child{
margin-top:6px;
margin-bottom:10px;
}
body.skin-vector-search-vue:not(.ns-special) #contentSub > .mw-message-box{
margin-top:0;
margin-bottom:10px;
}
body.skin-vector-search-vue.ns-special #contentSub > .mw-message-box{
margin-top:10px;
margin-bottom:10px;
}
body.skin-vector-search-vue #contentSub > .subpages ~ .mw-message-box,
body.skin-vector-search-vue #contentSub > #pwContent ~ .mw-message-box{
margin-bottom:10px;
margin-top:0;
}
body.skin-vector-search-vue #wikiPreview.ontop{
margin-bottom:5px;
}
body.skin-vector-search-vue.skin-vector-disable-max-width #wikiPreview{
max-width:100%;
}
body.skin-vector-search-vue .previewnote{
margin-bottom:10px;
}
body.skin-vector-search-vue form#editform{
margin-top:5px;
margin-bottom:5px;
}
body.skin-vector-search-vue #editform::after{
display:block;
}
body.skin-vector-search-vue .editOptions{
margin-bottom:10px;
}
body.skin-vector-search-vue .mw-category-generated > #mw-pages > h2, body.skin-vector-search-vue .mw-category-generated > #mw-subcategories > h2, body.skin-vector-search-vue .mw-category-generated > #mw-category-media > h2{
margin-top:15px !important;
}
body.skin-vector-search-vue .mw-category-generated > #mw-pages:last-child, body.skin-vector-search-vue .mw-category-generated > #mw-subcategories:last-child, body.skin-vector-search-vue .mw-category-generated > #mw-category-media:last-child{
margin-bottom:10px;
}
body.skin-vector-search-vue .mw-parser-output + .mw-category-generated > p:first-child,
body.skin-vector-search-vue .noarticletext + .mw-category-generated > p:first-child{
margin-bottom:0;
margin-top:0;
}
body.skin-vector-search-vue .mw-category-generated > *:first-child > h2{
margin-top:15px !important;
}
body.skin-vector-search-vue .mw-category-generated{
margin-bottom:5px;
}
body.skin-vector-search-vue .mw-editfooter-list{
margin-bottom:0;
}
body.skin-vector-search-vue #mw-clearyourcache:first-child > p:first-child{
margin-top:0;
}
body.skin-vector-search-vue .vector-menu-portal {
margin: 0;
margin-left:5px;
padding: 0.2em 0 0 0;
direction: ltr;
}
body.skin-vector-search-vue .vector-menu-portal .vector-menu-content{
margin-left: 3px;
}
body.skin-vector-search-vue #mw-panel nav:first-child .vector-menu-content {
margin-left: 0;
}
body.skin-vector-search-vue .vector-menu-portal .vector-menu-heading{
margin-left:3px;
}
body.skin-vector-search-vue .mw-undelete-pagetitle > p:first-child{
margin-top:0;
}
body.skin-vector-search-vue .mw-delete-warning-revisions{
display:block;
margin-top:10px;
}
body.skin-vector-search-vue #p-lang-btn-label{
min-height:25px;
padding:5px 25px 3px 5px;
}
body.skin-vector-search-vue .mw-delete-editreasons + h2,
body.skin-vector-search-vue .mw-protect-editreasons + h2{
margin-top:0 !important;
}
body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container{
margin-right:0;
padding-right:0;
}
body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container{
margin-right: 0;
padding-right:0;
}
body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container #right-navigation{
margin-right:4px;
}
body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container #right-navigation{
margin-right: 4px;
}
body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container #right-navigation::before{
display: flex;
content: '';
width: auto;
flex-direction: row;
flex: 1 1 auto;
box-sizing:border-box;
}
body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container #right-navigation .vector-menu-content{
right:0;
}
body.skin-vector-search-vue .mw-table-of-contents-container{
direction: rtl;
align-self:auto;
background-color:white;
background-image: url('//upload.wikimedia.org/wikipedia/commons/thumb/b/ba/Wikibooks_multicolor_open_book_no_text.svg/200px-Wikibooks_multicolor_open_book_no_text.svg.png');
z-index:1;
}
body.skin-vector-search-vue .mw-table-of-contents-container:not(:-moz-only-whitespace){
margin-right:8px;
margin-left:5px;
}
body.skin-vector-search-vue .mw-table-of-contents-container.sidebar_obecny{
margin-right:8px;
margin-left:5px;
}
body.skin-vector-search-vue .mw-table-of-contents-container{
max-width:200px;
box-sizing:border-box;
position:static;
margin-bottom:5px;
}
body.skin-vector-search-vue .mw-table-of-contents-container:not(:-moz-only-whitespace){
width:200px;
max-height:100%;
}
body.skin-vector-search-vue .mw-table-of-contents-container.sidebar_obecny{
width:200px;
max-height:100%;
}
body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{
width:200px;
direction: rtl;
overflow-x:hidden;
overflow-y:auto;
margin-right:0;
margin-left:0;
display:block !important;
border:0 !important;
max-height:100%;
}
html.client-nojs body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{
margin-top:0 !important;
top:54px !important;
max-height:calc( 100vh - 54px ) !important;
}
html:not(.client-nojs) body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{
margin-top:54px !important;
}
body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc .sidebar-toc-contents{
direction:ltr;
}
html.client-nojs body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{
position:sticky;
top:5px;
}
html:not(.client-nojs) body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{
top:0;
position:absolute;
}
body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{
max-width:700px;
min-width:200px;
display:block;
left:auto;
}
body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc:not(:hover) .sidebar-toc-level-2{
display:none;
}
body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc:not(:hover){
width:200px;
transition: width 250ms ease-out;
transition-property: width;
transition-duration: 250ms;
transition-timing-function: ease-out;
transition-delay: 0s;
}
body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc:hover{
width:auto;
transition: width 250ms ease-out;
transition-property: width;
transition-duration: 250ms;
transition-timing-function: ease-out;
transition-delay: 0s;
}
body.skin-vector-search-vue .mw-table-of-contents-container button.vector-toc-collapse-button{
display:inline;
}
body.skin-vector-search-vue .mw-article-toolbar-container{
margin-left:0 !important;
}
body.skin-vector-search-vue .mw-checkbox-hack-checkbox:checked ~ .mw-workspace-container .mw-content-container,
body.skin-vector-search-vue .mw-checkbox-hack-checkbox:checked ~ .mw-workspace-container #mw-navigation .mw-article-toolbar-container {
margin-left: 0 !important;
}
/*body.skin-vector-search-vue .vector-body h1,
body.skin-vector-search-vue .vector-body h2,
body.skin-vector-search-vue .vector-body h3,
body.skin-vector-search-vue .vector-body h4,
body.skin-vector-search-vue .vector-body h5,
body.skin-vector-search-vue .vector-body h6{
margin-top:0.8em;
}*/
body.skin-vector-search-vue .mw-history-subtitle{
margin-bottom:6px;
}
body.skin-vector-search-vue .printfooter{
display:block;
margin: 5px 0;
padding:5px;
white-space:normal;
border: 1px solid #eaecf0;
box-sizing:border-box;
background-color: white;
}
.client-js body.skin-vector-search-vue .mw-search-form-wrapper {
min-height: 112px;
}
body.skin-vector-search-vue .noarticletext{
margin-bottom:5px;
}
body.skin-vector-search-vue .mw-menu-active{
background-color:#E6E6FA;
}
body.skin-vector-search-vue .mw-menu-inactive{
background-color:#EEE8AA;
}
body.skin-vector-search-vue .mw-menu-active,body.skin-vector-search-vue .mw-menu-inactive{
padding-left:5px !important;
padding-right:5px !important;
margin-left:0 !important;
display:block;
border-radius:5px;
border:1px solid #a2a9b1;
margin-top:3px;
}
body.skin-vector-search-vue .mw-items-active{
display:block;
border-radius:5px;
border:1px solid #a2a9b1;
padding: 0 5px;
margin-top:2px;
}
body.skin-vector-search-vue .mw-items-active > ul{
margin-top:0;
}
body.skin-vector-search-vue .mw-items-inactive{
display:none;
}
body.skin-vector-search-vue .mw-items-active,body.skin-vector-search-vue .mw-items-inactive{
margin-left:0px !important;
}
body.skin-vector-search-vue #mw-sidebar-checkbox:not(:checked){
display:none;
}
jumbrukix5xfj84fvqxsz5pmm7e3uyr
437917
437916
2022-08-16T19:51:20Z
Persino
2851
css
text/css
body.skin-vector-search-vue .mw-page-container{
max-width:100%;
min-width:988px;
padding-left:0;
padding-right:0;
border-left: 0;
border-right: 0;
box-sizing:border-box;
display:block;
width:100%;
background-color:white;
height:auto;
}
body.skin-vector-search-vue .mw-content-container{
max-width:100%;
box-sizing:border-box;
padding-left:0 !important;
}
body.skin-vector-search-vue .mw-logo-container{
margin-left: 10px;
margin-right:0;
}
body.skin-vector-search-vue #p-lang-btn-label{
font-size:14px !important;
line-height:1.2em !important;
white-space:nowrap;
}
body.skin-vector-search-vue .mw-indicators{
font-size: calc( 14px * 0.875 );
line-height: 2.0em;
white-space:nowrap;
margin: auto 0 0 0;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content{
display:grid;
grid: 'aa aa aa' auto
'cc cc cc' auto
'bb bb bb' auto
'.. .. ee' auto
'dd dd dd' auto
/ minmax(auto,100%) minmax(auto,100%) auto
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > #top{
grid-area:aa;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .vector-article-toolbar{
grid-area:cc;
margin:0;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .mw-body-header{
grid-area:bb;
top:0;
width:auto !important;
height:auto !important;
margin:0;
margin-right:10px;
box-sizing:border-box;
border-bottom: 1px solid #a2a9b1;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > #p-lang-btn{
grid-area:ee;
height:20px;
width:136px;
height:auto;
margin-left:auto;
top:0;
margin: auto 5px 0 5px;
padding-bottom:8px;
box-sizing:border-box;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > #bodyContent{
grid-area:dd;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .mw-body-header{
display:grid;
grid: 'aa bb' auto
/ minmax(auto,1fr) auto;
width:100%;
min-height: 46px;
box-sizing: border-box;
position: relative;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .mw-body-header > .firstHeading{
display:block !important;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .mw-body-header > .firstHeading:not(:hover){
grid-area:aa;
margin-bottom:2px;
width:100%;
max-width:fit-content;
max-width:-moz-fit-content;
margin-bottom: 0;
margin-top: auto;
border-bottom: none;
padding-left: 3px;
padding-right: 3px;
border-bottom: 0;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .mw-body-header > .mw-indicators{
grid-area: bb;
width: auto;
height: 1.6em;
margin-bottom: 5px;
margin-top: auto;
margin-right: 5px;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .mw-body-header > .firstHeading > .plainlinks,
body.skin-vector-search-vue.action-view.ns-special #content > .mw-body-header > .firstHeading > .plainlinks
body.skin-vector-search-vue:not(.action-view) #content > .mw-body-header > .firstHeading > .plainlinks{
padding-bottom:2px;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .mw-body-header > #p-lang-btn{
grid-area:bb;
right:0;
margin:0;
height:auto;
width:auto;
margin-top: auto;
margin-bottom:0;
padding: 0 3px;
box-sizing:border-box;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .mw-body-header,
body.skin-vector-search-vue.action-view.ns-special #content > .mw-body-header,
body.skin-vector-search-vue:not(.action-view) #content > .mw-body-header{
display:grid;
grid:'aa bb' auto
/ minmax(auto,100%) auto;
border-bottom:1px solid #a2a9b1;
margin-top:auto;
margin-bottom:0;
min-height:46px;
box-sizing:border-box;
position:relative;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .mw-body-header > .firstHeading:not(:hover),
body.skin-vector-search-vue.action-view.ns-special #content > .mw-body-header > .firstHeading:not(:hover),
body.skin-vector-search-vue:not(.action-view) #content > .mw-body-header > .firstHeading:not(:hover){
grid-area:aa;
width:100%;
max-width:fit-content;
max-width:-moz-fit-content;
margin-bottom:0;
margin-top:auto;
border-bottom:none;
padding-left:3px;
padding-right:3px;
border-bottom:0;
box-sizing:border-box;
}
body.skin-vector-search-vue.action-view.ns-special #content > .mw-body-header > .mw-indicators,
body.skin-vector-search-vue:not(.action-view) #content > .mw-body-header > .mw-indicators{
grid-area:bb;
right:0;
margin:0;
height:auto;
width:100%;
margin:auto 0 0 auto;
padding: 0 10px;
box-sizing:border-box;
}
body.skin-vector-search-vue.action-view.ns-special #content .mw-body-header > .mw-indicators > .mw-indicator,
body.skin-vector-search-vue:not(.action-view) #content .mw-body-header > .mw-indicators > .mw-indicator{
padding: 2px 0 2px 0;
margin: auto 0 0 0;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content,
body.skin-vector-search-vue.action-view.ns-special #content,
body.skin-vector-search-vue:not(.action-view) #content{
display:grid;
grid:'aa' auto
'bb' auto
'cc' auto
'dd' auto
/ auto;
width:100%;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > #top,
body.skin-vector-search-vue.action-view.ns-special #content > #top,
body.skin-vector-search-vue:not(.action-view) #content > #top{
grid-area:aa;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .vector-article-toolbar,
body.skin-vector-search-vue.action-view.ns-special #content > .vector-article-toolbar,
body.skin-vector-search-vue:not(.action-view) #content > .vector-article-toolbar{
grid-area:bb;
}
body.skin-vector-search-vue .mw-body-header::after{
display:none;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .mw-body-header,
body.skin-vector-search-vue.action-view.ns-special #content > .mw-body-header,
body.skin-vector-search-vue:not(.action-view) #content > .mw-body-header{
grid-area:cc;
margin:0;
margin-right:10px;
width:auto;
padding-bottom:0;
}
body.skin-vector-search-vue .mw-body-subheader{
border-bottom:0;
}
/*body.skin-vector-search-vue #siteSub,*/
body.skin-vector-search-vue .firstHeading:not(:hover) > .plainlinks{
display:none;
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
}
/*body.skin-vector-search-vue .firstHeading{
text-shadow:0 2px 0 #FFF,0 3px 0 #AAA,0 3px 4px #AAA;
}*/
body.skin-vector-search-vue .firstHeading > .plainlinks{
text-shadow:none;
}
body.skin-vector-search-vue .firstHeading:not(:hover){
display:block;
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
border-bottom:0;
}
body.skin-vector-search-vue .firstHeading:hover{
display:block;
border:1px solid #eaecf0;
border-radius:10px;
background-color:white;
position:absolute;
top:5px;
left:-3px;
width:auto;
padding:5px;
z-index:1 !important;
}
body.skin-vector-search-vue .mw-body-header > .firstHeading:hover > .plainlinks{
display:block;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #bodyContent > .mw-body-subheader{
margin: 2px 0 3px 0;
min-height:1.6em;
}
body.skin-vector-search-vue.action-view.ns-special #bodyContent > .mw-body-subheader,
body.skin-vector-search-vue:not(.action-view) #bodyContent > .mw-body-subheader{
margin: 0;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #bodyContent > .mw-body-subheader{
margin:0;
margin-top: -2.0em;
font-size: 1.2em;
height: 2em;
margin-bottom:5px;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #bodyContent > .mw-body-subheader > #siteSub{
display:block !important;
width:auto;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #bodyContent > .mw-body-subheader> .mw-indicators{
margin-left:5px;
margin-right:3px;
display:block;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #bodyContent > .mw-body-subheader> #siteSub{
display:block;
}
body.skin-vector-search-vue .firstHeading,
body.skin-vector-search-vue .firstHeading > .plainlinks{
max-width:100%;
width:auto;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content #bodyContent,
body.skin-vector-search-vue.action-view.ns-special #content #bodyContent,
body.skin-vector-search-vue:not(.action-view) #content #bodyContent{
grid-area:dd;
}
body.skin-vector-search-vue .mw-article-toolbar-container,
body.skin-vector-search-vue .mw-content-container{
margin-left:0 !important;
}
body.skin-vector-search-vue .mw-page-container-inner{
display:grid;
grid:'aa aa aa' auto
'cc bb bb' auto
'cc dd ee' auto
'cc ff ff' minmax(auto,1fr)
/ auto minmax(auto,1fr) auto;
width:auto;
box-sizing:border-box;
row-gap:0;
}
body.skin-vector-search-vue .mw-page-container-inner > .mw-header{
grid-area:aa;
}
body.skin-vector-search-vue .mw-page-container-inner > #siteNotice{
grid-area:bb;
}
body.skin-vector-search-vue .mw-page-container-inner > .vector-sidebar-container{
grid-area:cc;
}
body.skin-vector-search-vue .mw-page-container-inner > .mw-content-container{
grid-area:dd;
grid-column:auto !important;
}
body.skin-vector-search-vue .mw-page-container-inner > .mw-table-of-contents-container{
grid-area:ee;
}
body.skin-vector-search-vue .mw-page-container-inner > .mw-footer-container{
grid-area:ff;
}
/**/
body.skin-vector-search-vue .mw-workspace-container .mw-content-container,
body.skin-vector-search-vue .mw-workspace-container .mw-content-container #bodyContent,
body.skin-vector-search-vue .mw-workspace-container .mw-content-container #content,
body.skin-vector-search-vue .mw-workspace-container .mw-content-container .mw-body-header{
width:100%;
box-sizing:border-box;
}
body.skin-vector-search-vue .mw-article-toolbar-container .mw-portlet-views {
display: block;
}
body.skin-vector-search-vue .mw-article-toolbar-container .vector-more-collapsible-item {
display: none;
}
body.skin-vector-search-vue .mw-sidebar{
background-color: white;
width:140px;
box-sizing:border-box;
display:block !important;
visibility: visible !important;
opacity: 1 !important;
padding:0;
margin-left:0;
}
body.skin-vector-search-vue .ui-dialog{
font-size:75%;
}
body.skin-vector-search-vue .mw-body-content .error{
font-size:96%;
}
body.skin-vector-search-vue.action-purge .firstHeading{
padding-bottom:3px;
}
body.skin-vector-search-vue .firstHeading .plainlinks{
line-height:1.2em !important;
}
body.skin-vector-search-vue .mw-sidebar #p-navigation .vector-menu-heading{
display:block;
}
body.skin-vector-search-vue .mw-checkbox-hack-checkbox:checked ~ .mw-workspace-container.vector-sidebar-container{
width:0;
transition: width 250ms ease-out;
transition-property: width;
transition-duration: 250ms;
transition-timing-function: ease-out;
transition-delay: 0s;
}
body.skin-vector-search-vue .mw-checkbox-hack-checkbox:not(:checked) ~ .mw-workspace-container.vector-sidebar-container{
width:140px;
transition: width 250ms ease-out;
transition-property: width;
transition-duration: 250ms;
transition-timing-function: ease-out;
transition-delay: 0s;
}
body.skin-vector-search-vue .mw-checkbox-hack-checkbox:checked ~ .mw-workspace-container.vector-sidebar-container > #mw-navigation{
position:absolute;
}
body.skin-vector-search-vue .mw-checkbox-hack-checkbox:not(:checked) ~ .mw-workspace-container.vector-sidebar-container > #mw-navigation{
position:relative;
}
body.skin-vector-search-vue .mw-checkbox-hack-checkbox:checked ~ .mw-workspace-container.vector-sidebar-container > #mw-navigation > .mw-sidebar{
left:-140px;
position:relative;
width:140px;
transition: left 250ms ease-out;
transition-property: left;
transition-duration: 250ms;
transition-timing-function: ease-out;
transition-delay: 0s;
}
body.skin-vector-search-vue .mw-checkbox-hack-checkbox:not(:checked) ~ .mw-workspace-container.vector-sidebar-container > #mw-navigation > .mw-sidebar{
left:0;
position:relative;
width:140px;
transition: left 250ms ease-out;
transition-property: left;
transition-duration: 250ms;
transition-timing-function: ease-out;
transition-delay: 0s;
}
body.skin-vector-search-vue .mw-article-toolbar-container{
max-width:100%;
box-sizing:border-box;
position:relative;
z-index:1;
}
body.skin-vector-search-vue .mw-footer-container{
padding-top:0;
}
body.skin-vector-search-vue .mw-content-container > .mw-body{
margin-left:0;
margin-right:0;
}
body.skin-vector-search-vue .mw-article-toolbar-container > #left-navigation{
margin-left:0;
margin-right:0;
}
body.skin-vector-search-vue .mw-footer-container .mw-footer{
margin-left:10px;
margin-right:0;
padding: 0.75em 5px;
}
body.skin-vector-search-vue .mw-header {
display:flex;
flex-direction: row;
margin: 8px 5px 0 5px;
}
body.skin-vector-search-vue .mw-workspace-container #mw-head{
min-width:832px;
margin-right:5px;
box-sizing:border-box;
}
body.skin-vector-search-vue .mw-logo-icon{
display:block;
}
body.skin-vector-search-vue .vector-user-links .vector-user-menu-more .vector-menu-content-list li.user-links-collapsible-item {
display: block;
}
body.skin-vector-search-vue .vector-search-box-collapses > div{
display:block;
}
body.skin-vector-search-vue a.mw-ui-icon-wikimedia-search{
display:none;
}
body.skin-vector-search-vue .vector-sticky-header{
height:3.2em;
padding: 6px 25px;
display:flex;
flex-direction:row;
min-width:700px;
margin-left:auto;
margin-right:auto;
width:90%;
text-align:center;
box-sizing:border-box;
}
@media screen and (max-width: 830px){
body.skin-vector-search-vue .vector-sticky-header{
display: none;
}
}
html.client-nojs body.skin-vector-search-vue .vector-sticky-header{
display:none !important;
}
body.skin-vector-search-vue .wvui-typeahead-suggestion{
padding-top:4px;
padding-bottom:4px;
text-align:left;
}
body.skin-vector-search-vue .vector-sticky-header.vector-header-search-toggled{
flex-basis: 460px;
box-sizing:border-box;
}
body.skin-vector-search-vue .vector-search-box, body.skin-vector-search-vue .vector-search-box-vue .vector-search-box-input, body.skin-vector-search-vue #p-search #searchform #simpleSearch{
font-size:calc( 14px * 1.042 );
line-height:1.2em;
height:30px;
min-height:30px;
box-sizing:border-box;
}
body.skin-vector-search-vue #p-search #searchform #simpleSearch,
body.skin-vector-search-vue .vector-search-box{
width:460px;
}
body.skin-vector-search-vue .mw-header #p-search #searchform #simpleSearch{
margin-left:10px;
width:460px;
box-sizing:border-box;
}
.client-js body.skin-vector-search-vue .vector-search-box-show-thumbnail.vector-search-box-auto-expand-width .vector-search-box-input, .client-js .vector-search-box-vue .vector-search-box-show-thumbnail.vector-search-box-auto-expand-width .vector-search-box-input{
margin-left:0;
box-sizing:border-box;
width:460px;
}
.client-js body.skin-vector-search-vue .vector-search-box-show-thumbnail.vector-search-box-auto-expand-width .searchButton, .client-js .vector-search-box-vue .vector-search-box-show-thumbnail.vector-search-box-auto-expand-width .searchButton{
left:0;
}
body.skin-vector-search-vue .mw-header .vector-search-box.vector-search-box-auto-expand-width{
margin-left:10px;
}
body.skin-vector-search-vue .mw-header .vector-search-box.vector-search-box-auto-expand-width > div{
width:460px;
box-sizing:border-box;
}
body.skin-vector-search-vue .vector-search-box-vue .searchButton{
background-size: 20px auto;
}
.client-js body.skin-vector-search-vue .vector-search-box-input{
padding-left:36px;
padding-right:8px;
}
body.skin-vector-search-vue .mw-header .vector-search-box.vector-search-box-auto-expand-width > div{
max-width:460px;
}
body.skin-vector-search-vue .mw-logo{
min-width:144px;
}
body.skin-vector-search-vue .mw-ui-icon,.mw-ui-icon-before::before{
font-size:14px;
}
body.skin-vector-search-vue .mw-sidebar-action{
display:none;
}
body.skin-vector-search-vue, body.skin-vector-search-vue .mw-editsection{
font-family: Arial, Helvetica, "Free Helvetian", FreeSans, sans-serif;
font-stretch:normal;
font-variant:normal;
font-style:normal;
font-weight:normal;
font-size-adjust:none;
letter-spacing:normal;
word-spacing:normal;
text-align:left;
word-wrap:break-word;
hyphens:auto;
}
body.skin-vector-search-vue{
font-size:calc( 14px * 1.042 );
line-height:1.2em;
background-color:#ffffff;
}
body.skin-vector-search-vue .mw-editsection{
font-size:12px;
line-height:1.2em;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #contentSub:empty,
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #contentSub ~ #contentSub2:empty{
margin:0;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #contentSub:not(:empty),
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #contentSub ~ #contentSub2:not(:empty){
margin-bottom:5px;
margin-top:3px;
margin-left:0;
}
body.skin-vector-search-vue.action-view.ns-special #contentSub:not(:empty),
body.skin-vector-search-vue.action-view.ns-special #contentSub:not(:empty) ~ #contentSub2,
body.skin-vector-search-vue.action-view.ns-special #contentSub:empty ~ #contentSub2:not(:empty){
margin:5px 0;
}
body.skin-vector-search-vue.ns-special #contentSub:empty{
margin:2px 0 3px 0;
}
body.skin-vector-search-vue.ns-special #contentSub:empty ~ #contentSub2:empty{
margin:10px 0;
}
body.skin-vector-search-vue:not(.action-view) .mw-body-subheader:-moz-only-whitespace ~ #contentSub,
body.skin-vector-search-vue:not(.action-view) .mw-body-subheader:-moz-only-whitespace ~ #contentSub ~ #contentSub2{
margin:10px 0;
}
body.skin-vector-search-vue .mw-body-subheader.blank #contentSub,
body.skin-vector-search-vue .mw-body-subheader.blank #contentSub ~ #contentSub2{
margin:10px 0;
}
body.skin-vector-search-vue:not(.action-view) #contentSub:empty{
margin:2px 0 3px 0;
}
body.skin-vector-search-vue:not(.action-view) #contentSub:empty ~ #contentSub2:empty{
margin:10px 0;
}
body.skin-vector-search-vue:not(.action-view) #contentSub:not(:empty),
body.skin-vector-search-vue:not(.action-view) #contentSub:not(:empty) ~ #contentSub2{
margin: 5px 0 2px 0;
}
body.skin-vector-search-vue:not(.action-view) #contentSub:empty ~ #contentSub2:not(:empty){
margin: 5px 0 3px 0;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #contentSub,
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #contentSub2{
margin:0;
}
body.skin-vector-search-vue.action-edit #contentSub:not(:empty) ~ #mw-content-text > form#editform{
margin-top:0;
}
body.skin-vector-search-vue.action-view #pwContent,
body.skin-vector-search-vue:not(.action-view) #pwContent,
body.skin-vector-search-vue.action-view .subpages,
body.skin-vector-search-vue:not(.action-view) .subpages{
margin:0;
font-size:12px;
line-height:1.2em;
margin-bottom:6px;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna) .warningbox,
body.skin-vector-search-vue:not(.action-view) .warningbox{
margin:10px 0;
}
body.skin-vector-search-vue #mw-previewheader{
margin-top:14px;
margin-bottom:10px;
}
body.skin-vector-search-vue .mw-userconfigpublic{
margin-top:8px;
}
body.skin-vector-search-vue .mw-contributions-user-tools{
margin-bottom:6px;
}
body.skin-vector-search-vue:not(.action-view) .mw-body,
body.skin-vector-search-vue.action-view.ns-special .mw-body{
padding: 8px 0 10px 8px;
position:relative;
z-index:0;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna .mw-body,
body.skin-vector-search-vue.action-view:not(.ns-special):not(.page-Wikibooks_Strona_główna) .mw-body{
padding: 4px 0 10px 8px;
position:relative;
z-index:0;
}
body.skin-vector-search-vue #centralNotice:not(:empty){
margin:10px 15px 8px 15px;
}
body.skin-vector-search-vue .mw-content-container{
min-width:848px;
}
body.skin-vector-search-vue #content{
margin-left:0px;
min-width:848px;
box-sizing:border-box;
}
body.skin-vector-search-vue #mw-content-text{
clear:both;
}
body.skin-vector-search-vue #bodyContent{
box-sizing:border-box;
min-width:832px;
height:auto;
clear:both;
padding: 0 15px 0 8px;
}
body.skin-vector-search-vue .mw-table-of-contents-container:not(:-moz-only-whitespace) ~ .mw-content-container #bodyContent{
padding: 0 8px;
}
body.skin-vector-search-vue .mw-table-of-contents-container.sidebar_obecny ~ .mw-content-container #bodyContent{
padding: 0 8px;
}
body.skin-vector-search-vue .mw-table-of-contents-container:not(:-moz-only-whitespace) ~ .mw-content-container .mw-body-header{
margin-right:3px !important;
}
body.skin-vector-search-vue .mw-table-of-contents-container.sidebar_obecny ~ .mw-content-container .mw-body-header{
margin-right:3px !important;
}
body.skin-vector-search-vue.action-view #bodyContent #mw-content-text .mw-parser-output,
body.skin-vector-search-vue:not(.action-view) #bodyContent #mw-content-text .mw-parser-output{
min-width:822px;
box-sizing:border-box;
display:block;
height:auto;
position:relative;
}
body.skin-vector-search-vue.action-view #bodyContent #mw-content-text .mw-parser-output::after,
body.skin-vector-search-vue:not(.action-view) #bodyContent #mw-content-text .mw-parser-output::after{
display:block;
content:'';
clear:both;
}
body.skin-vector-search-vue.ns-10 #mw-content-text .mw-parser-output > :not(style):not(link):not(#documentation-meta-data):not(.template-documentation) ~ *:first-of-type,
body.skin-vector-search-vue.ns-828 #mw-content-text .mw-parser-output > :not(style):not(link):not(#documentation-meta-data):not(.template-documentation) ~ *:first-of-type{
margin-top:5px !important;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(style):not(link):not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p):first-child{
margin-top:0 !important;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(style):not(link) ~ :not(style):not(link):not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p):not(.div-linia):first-of-type{
margin-top:5px !important;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > div.div-linia + *{
margin-top:0px !important;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1:first-child,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2:first-child,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3:first-child,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4:first-child,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5:first-child,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6:first-child,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h1:first-of-type,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h2:first-of-type,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h3:first-of-type,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h4:first-of-type,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h5:first-of-type,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h6:first-of-type{
margin-top:0.5em !important;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h1,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h2,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h3,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h4,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h5,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h6,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h1,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h2,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h3,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h4,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h5,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h6,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h1,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h2,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h3,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h4,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h5,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h6,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h1,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h2,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h3,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h4,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h5,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h6,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h1,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h2,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h3,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h4,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h5,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h6,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h1,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h2,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h3,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h4,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h5,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h6{
margin-top:0.8em;
}
body.skin-vector-search-vue .tdg-editscreen-main{
margin-top:9px;
margin-bottom:10px;
}
body.skin-vector-search-vue .mw-specialpage-summary > p:first-child{
margin: 0 0 4px 0;
}
body.skin-vector-search-vue .mw-rcfilters-head{
margin-bottom:15px;
}
body.skin-vector-search-vue.mw-special-Watchlist .mw-rcfilters-head{
min-height: 280px;
}
body.skin-vector-search-vue #bodyContent #mw-content-text .mw-parser-output .template-documentation:first-of-type{
margin-top:0;
box-sizing:border-box;
}
body.skin-vector-search-vue #bodyContent #mw-content-text .mw-parser-output > :not(style):not(link) ~ .template-documentation{
margin-top:10px !important;
box-sizing:border-box !important;
}
body.skin-vector-search-vue .mw-parser-output #documentation-meta-data:not(:last-child){
margin-top:3px !important;
margin-bottom:3px !important;
}
body.skin-vector-search-vue .mw-parser-output #documentation-meta-data:last-child{
margin-top:3px !important;
margin-bottom:0 !important;
}
body.skin-vector-search-vue #bodyContent #mw-content-text .mw-container-table-parser-output{
display:block table;
box-sizing:border-box;
position:relative;
width:100%;
height:auto;
margin:0;
margin-bottom:5px;
border-spacing:0;
padding:0;
border-collapse:collapse;
border:0;
}
body.skin-vector-search-vue .catlinks:not(.catlinks-allhidden){
margin: 5px 0;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > p:first-of-type{
margin-top:0.3em;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p):not(:empty) + p:first-of-type{
margin-top:0.5em;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p):not(.blank) + p:first-of-type{
margin-top:0.5em;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p):not(:-moz-only-whitespace) + p:first-of-type{
margin-top:0.5em;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p):not(:blank) + p:first-of-type{
margin-top:0.5em;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p).floatleft + p:first-of-type,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p).floatright + p:first-of-type,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p).tleft + p:first-of-type,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p).tright + p:first-of-type{
margin-top:0;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > p:last-child{
margin-bottom:0.3em;
}
body.skin-vector-search-vue pre{
margin-top:8px;
margin-bottom:8px;
padding:11px;
background-color: #f8f9fa;
color: #000;
border: 1px solid #eaecf0;
box-sizing:border-box;
}
body.skin-vector-search-vue div.mw-highlight > pre{
margin-top:8px;
margin-bottom:8px;
}
body.ns-828.skin-vector-search-vue.action-view #mw-content-text .mw-parser-output > div.mw-highlight:last-child > pre:last-child{
margin-top:5px;
margin-bottom:0;
}
body.skin-vector-search-vue.action-view #mw-content-text .mw-parser-output > div.mw-highlight:last-child > pre:last-child{
margin-bottom:0;
margin-top:5px;
}
body.ns-828.skin-vector-search-vue:not(.action-view) #mw-content-text .mw-parser-output > div.mw-highlight:last-child > pre:last-child{
margin-top:0px;
margin-bottom:0;
}
body.skin-vector-search-vue:not(.action-view) #mw-content-text .mw-parser-output > div.mw-highlight:last-child > pre:last-child{
margin-bottom:0;
margin-top:0;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > div.mw-highlight:only-child > pre:only-child{
margin-bottom:0 !important;
margin-top:0 !important;
}
body.skin-vector-search-vue .oo-ui-panelLayout-padded.oo-ui-panelLayout-framed{
margin:0 0 8px 0;
}
body.skin-vector-search-vue .mw-body > h1{
margin-bottom:0;
}
body.skin-vector-search-vue #central-auth-images{
display:none;
}
body.skin-vector-search-vue .mw-message-box{
margin-top:10px;
margin-bottom:10px;
}
body.skin-vector-search-vue #contentSub:not(:empty) ~ #mw-content-text > .mw-message-box:first-child{
margin-top:6px;
margin-bottom:10px;
}
body.skin-vector-search-vue:not(.ns-special) #contentSub > .mw-message-box{
margin-top:0;
margin-bottom:10px;
}
body.skin-vector-search-vue.ns-special #contentSub > .mw-message-box{
margin-top:10px;
margin-bottom:10px;
}
body.skin-vector-search-vue #contentSub > .subpages ~ .mw-message-box,
body.skin-vector-search-vue #contentSub > #pwContent ~ .mw-message-box{
margin-bottom:10px;
margin-top:0;
}
body.skin-vector-search-vue #wikiPreview.ontop{
margin-bottom:5px;
}
body.skin-vector-search-vue.skin-vector-disable-max-width #wikiPreview{
max-width:100%;
}
body.skin-vector-search-vue .previewnote{
margin-bottom:10px;
}
body.skin-vector-search-vue form#editform{
margin-top:5px;
margin-bottom:5px;
}
body.skin-vector-search-vue #editform::after{
display:block;
}
body.skin-vector-search-vue .editOptions{
margin-bottom:10px;
}
body.skin-vector-search-vue .mw-category-generated > #mw-pages > h2, body.skin-vector-search-vue .mw-category-generated > #mw-subcategories > h2, body.skin-vector-search-vue .mw-category-generated > #mw-category-media > h2{
margin-top:15px !important;
}
body.skin-vector-search-vue .mw-category-generated > #mw-pages:last-child, body.skin-vector-search-vue .mw-category-generated > #mw-subcategories:last-child, body.skin-vector-search-vue .mw-category-generated > #mw-category-media:last-child{
margin-bottom:10px;
}
body.skin-vector-search-vue .mw-parser-output + .mw-category-generated > p:first-child,
body.skin-vector-search-vue .noarticletext + .mw-category-generated > p:first-child{
margin-bottom:0;
margin-top:0;
}
body.skin-vector-search-vue .mw-category-generated > *:first-child > h2{
margin-top:15px !important;
}
body.skin-vector-search-vue .mw-category-generated{
margin-bottom:5px;
}
body.skin-vector-search-vue .mw-editfooter-list{
margin-bottom:0;
}
body.skin-vector-search-vue #mw-clearyourcache:first-child > p:first-child{
margin-top:0;
}
body.skin-vector-search-vue .vector-menu-portal {
margin: 0;
margin-left:5px;
padding: 0.2em 0 0 0;
direction: ltr;
}
body.skin-vector-search-vue .vector-menu-portal .vector-menu-content{
margin-left: 3px;
}
body.skin-vector-search-vue #mw-panel nav:first-child .vector-menu-content {
margin-left: 0;
}
body.skin-vector-search-vue .vector-menu-portal .vector-menu-heading{
margin-left:3px;
}
body.skin-vector-search-vue .mw-undelete-pagetitle > p:first-child{
margin-top:0;
}
body.skin-vector-search-vue .mw-delete-warning-revisions{
display:block;
margin-top:10px;
}
body.skin-vector-search-vue #p-lang-btn-label{
min-height:25px;
padding:5px 25px 3px 5px;
}
body.skin-vector-search-vue .mw-delete-editreasons + h2,
body.skin-vector-search-vue .mw-protect-editreasons + h2{
margin-top:0 !important;
}
body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container{
margin-right:0;
padding-right:0;
}
body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container{
margin-right: 0;
padding-right:0;
}
body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container #right-navigation{
margin-right:4px;
}
body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container #right-navigation{
margin-right: 4px;
}
body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container #right-navigation::before{
display: flex;
content: '';
width: auto;
flex-direction: row;
flex: 1 1 auto;
box-sizing:border-box;
}
body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container #right-navigation .vector-menu-content{
right:0;
}
body.skin-vector-search-vue .mw-table-of-contents-container{
direction: rtl;
align-self:auto;
background-color:white;
background-image: url('//upload.wikimedia.org/wikipedia/commons/thumb/b/ba/Wikibooks_multicolor_open_book_no_text.svg/200px-Wikibooks_multicolor_open_book_no_text.svg.png');
z-index:1;
}
body.skin-vector-search-vue .mw-table-of-contents-container:not(:-moz-only-whitespace){
margin-right:8px;
margin-left:5px;
}
body.skin-vector-search-vue .mw-table-of-contents-container.sidebar_obecny{
margin-right:8px;
margin-left:5px;
}
body.skin-vector-search-vue .mw-table-of-contents-container{
max-width:200px;
box-sizing:border-box;
position:static;
margin-bottom:5px;
}
body.skin-vector-search-vue .mw-table-of-contents-container:not(:-moz-only-whitespace){
width:200px;
max-height:100%;
}
body.skin-vector-search-vue .mw-table-of-contents-container.sidebar_obecny{
width:200px;
max-height:100%;
}
body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{
width:200px;
direction: rtl;
overflow-x:hidden;
overflow-y:auto;
margin-right:0;
margin-left:0;
display:block !important;
border:0 !important;
max-height:100%;
}
html.client-nojs body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{
margin-top:0 !important;
top:54px !important;
max-height:calc( 100vh - 54px ) !important;
}
html:not(.client-nojs) body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{
margin-top:54px !important;
}
body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc .sidebar-toc-contents{
direction:ltr;
}
html.client-nojs body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{
position:sticky;
top:5px;
}
html:not(.client-nojs) body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{
top:0;
position:absolute;
}
body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{
max-width:700px;
min-width:200px;
display:block;
left:auto;
}
body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc:not(:hover) .sidebar-toc-level-2{
display:none;
}
body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc:not(:hover){
width:200px;
transition: width 250ms ease-out;
transition-property: width;
transition-duration: 250ms;
transition-timing-function: ease-out;
transition-delay: 0s;
}
body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc:hover{
width:auto;
transition: width 250ms ease-out;
transition-property: width;
transition-duration: 250ms;
transition-timing-function: ease-out;
transition-delay: 0s;
}
body.skin-vector-search-vue .mw-table-of-contents-container button.vector-toc-collapse-button{
display:inline;
}
body.skin-vector-search-vue .mw-article-toolbar-container{
margin-left:0 !important;
}
body.skin-vector-search-vue .mw-checkbox-hack-checkbox:checked ~ .mw-workspace-container .mw-content-container,
body.skin-vector-search-vue .mw-checkbox-hack-checkbox:checked ~ .mw-workspace-container #mw-navigation .mw-article-toolbar-container {
margin-left: 0 !important;
}
/*body.skin-vector-search-vue .vector-body h1,
body.skin-vector-search-vue .vector-body h2,
body.skin-vector-search-vue .vector-body h3,
body.skin-vector-search-vue .vector-body h4,
body.skin-vector-search-vue .vector-body h5,
body.skin-vector-search-vue .vector-body h6{
margin-top:0.8em;
}*/
body.skin-vector-search-vue .mw-history-subtitle{
margin-bottom:6px;
}
body.skin-vector-search-vue .printfooter{
display:block;
margin: 5px 0;
padding:5px;
white-space:normal;
border: 1px solid #eaecf0;
box-sizing:border-box;
background-color: white;
}
.client-js body.skin-vector-search-vue .mw-search-form-wrapper {
min-height: 112px;
}
body.skin-vector-search-vue .noarticletext{
margin-bottom:5px;
}
body.skin-vector-search-vue .mw-menu-active{
background-color:#E6E6FA;
}
body.skin-vector-search-vue .mw-menu-inactive{
background-color:#EEE8AA;
}
body.skin-vector-search-vue .mw-menu-active,body.skin-vector-search-vue .mw-menu-inactive{
padding-left:5px !important;
padding-right:5px !important;
margin-left:0 !important;
display:block;
border-radius:5px;
border:1px solid #a2a9b1;
margin-top:3px;
}
body.skin-vector-search-vue .mw-items-active{
display:block;
border-radius:5px;
border:1px solid #a2a9b1;
padding: 0 5px;
margin-top:2px;
}
body.skin-vector-search-vue .mw-items-active > ul{
margin-top:0;
}
body.skin-vector-search-vue .mw-items-inactive{
display:none;
}
body.skin-vector-search-vue .mw-items-active,body.skin-vector-search-vue .mw-items-inactive{
margin-left:0px !important;
}
body.skin-vector-search-vue #mw-sidebar-checkbox:not(:checked){
display:none;
}
max46riunhsgd5vhtz4xkn2pgzh9lms
437918
437917
2022-08-16T19:57:40Z
Persino
2851
css
text/css
body.skin-vector-search-vue .mw-page-container{
max-width:100%;
min-width:988px;
padding-left:0;
padding-right:0;
border-left: 0;
border-right: 0;
box-sizing:border-box;
display:block;
width:100%;
background-color:white;
height:auto;
}
body.skin-vector-search-vue .mw-content-container{
max-width:100%;
box-sizing:border-box;
padding-left:0 !important;
}
body.skin-vector-search-vue .mw-logo-container{
margin-left: 10px;
margin-right:0;
}
body.skin-vector-search-vue #p-lang-btn-label{
font-size:14px !important;
line-height:1.2em !important;
white-space:nowrap;
}
body.skin-vector-search-vue .mw-indicators{
font-size: calc( 14px * 0.875 );
line-height: 2.0em;
white-space:nowrap;
margin: auto 0 0 0;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content{
display:grid;
grid: 'aa aa aa' auto
'cc cc cc' auto
'bb bb bb' auto
'.. .. ee' auto
'dd dd dd' auto
/ minmax(auto,100%) minmax(auto,100%) auto
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > #top{
grid-area:aa;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .vector-article-toolbar{
grid-area:cc;
margin:0;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .mw-body-header{
grid-area:bb;
top:0;
width:auto !important;
height:auto !important;
margin:0;
margin-right:10px;
box-sizing:border-box;
border-bottom: 1px solid #a2a9b1;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > #p-lang-btn{
grid-area:ee;
height:20px;
width:136px;
height:auto;
margin-left:auto;
top:0;
margin: auto 5px 0 5px;
padding-bottom:8px;
box-sizing:border-box;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > #bodyContent{
grid-area:dd;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .mw-body-header{
display:grid;
grid: 'aa bb' auto
/ minmax(auto,1fr) auto;
width:100%;
min-height: 46px;
box-sizing: border-box;
position: relative;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .mw-body-header > .firstHeading{
display:block !important;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .mw-body-header > .firstHeading:not(:hover){
grid-area:aa;
margin-bottom:2px;
width:100%;
max-width:fit-content;
max-width:-moz-fit-content;
margin-bottom: 0;
margin-top: auto;
border-bottom: none;
padding-left: 3px;
padding-right: 3px;
border-bottom: 0;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .mw-body-header > .mw-indicators{
grid-area: bb;
width: auto;
height: 1.6em;
margin-bottom: 5px;
margin-top: auto;
margin-right: 5px;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .mw-body-header > .firstHeading > .plainlinks,
body.skin-vector-search-vue.action-view.ns-special #content > .mw-body-header > .firstHeading > .plainlinks
body.skin-vector-search-vue:not(.action-view) #content > .mw-body-header > .firstHeading > .plainlinks{
padding-bottom:2px;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .mw-body-header > #p-lang-btn{
grid-area:bb;
right:0;
margin:0;
height:auto;
width:auto;
margin-top: auto;
margin-bottom:0;
padding: 0 3px;
box-sizing:border-box;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .mw-body-header,
body.skin-vector-search-vue.action-view.ns-special #content > .mw-body-header,
body.skin-vector-search-vue:not(.action-view) #content > .mw-body-header{
display:grid;
grid:'aa bb' auto
/ minmax(auto,100%) auto;
border-bottom:1px solid #a2a9b1;
margin-top:auto;
margin-bottom:0;
min-height:46px;
box-sizing:border-box;
position:relative;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .mw-body-header > .firstHeading:not(:hover),
body.skin-vector-search-vue.action-view.ns-special #content > .mw-body-header > .firstHeading:not(:hover),
body.skin-vector-search-vue:not(.action-view) #content > .mw-body-header > .firstHeading:not(:hover){
grid-area:aa;
width:100%;
max-width:fit-content;
max-width:-moz-fit-content;
margin-bottom:0;
margin-top:auto;
border-bottom:none;
padding-left:3px;
padding-right:3px;
border-bottom:0;
box-sizing:border-box;
}
body.skin-vector-search-vue.action-view.ns-special #content > .mw-body-header > .mw-indicators,
body.skin-vector-search-vue:not(.action-view) #content > .mw-body-header > .mw-indicators{
grid-area:bb;
right:0;
margin:0;
height:auto;
width:100%;
margin:auto 0 0 auto;
padding: 0 10px;
box-sizing:border-box;
}
body.skin-vector-search-vue.action-view.ns-special #content .mw-body-header > .mw-indicators > .mw-indicator,
body.skin-vector-search-vue:not(.action-view) #content .mw-body-header > .mw-indicators > .mw-indicator{
padding: 2px 0 2px 0;
margin: auto 0 0 0;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content,
body.skin-vector-search-vue.action-view.ns-special #content,
body.skin-vector-search-vue:not(.action-view) #content{
display:grid;
grid:'aa' auto
'bb' auto
'cc' auto
'dd' auto
/ auto;
width:100%;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > #top,
body.skin-vector-search-vue.action-view.ns-special #content > #top,
body.skin-vector-search-vue:not(.action-view) #content > #top{
grid-area:aa;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .vector-article-toolbar,
body.skin-vector-search-vue.action-view.ns-special #content > .vector-article-toolbar,
body.skin-vector-search-vue:not(.action-view) #content > .vector-article-toolbar{
grid-area:bb;
}
body.skin-vector-search-vue .mw-body-header::after{
display:none;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .mw-body-header,
body.skin-vector-search-vue.action-view.ns-special #content > .mw-body-header,
body.skin-vector-search-vue:not(.action-view) #content > .mw-body-header{
grid-area:cc;
margin:0;
margin-right:10px;
width:auto;
padding-bottom:0;
}
body.skin-vector-search-vue .mw-body-subheader{
border-bottom:0;
}
/*body.skin-vector-search-vue #siteSub,*/
body.skin-vector-search-vue .firstHeading:not(:hover) > .plainlinks{
display:none;
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
}
/*body.skin-vector-search-vue .firstHeading{
text-shadow:0 2px 0 #FFF,0 3px 0 #AAA,0 3px 4px #AAA;
}*/
body.skin-vector-search-vue .firstHeading > .plainlinks{
text-shadow:none;
}
body.skin-vector-search-vue .firstHeading:not(:hover){
display:block;
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
border-bottom:0;
}
body.skin-vector-search-vue .firstHeading:hover{
display:block;
border:1px solid #eaecf0;
border-radius:10px;
background-color:white;
position:absolute;
top:5px;
left:-3px;
width:auto;
padding:5px;
z-index:1 !important;
}
body.skin-vector-search-vue .mw-body-header > .firstHeading:hover > .plainlinks{
display:block;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #bodyContent > .mw-body-subheader{
margin: 2px 0 3px 0;
min-height:1.6em;
}
body.skin-vector-search-vue.action-view.ns-special #bodyContent > .mw-body-subheader,
body.skin-vector-search-vue:not(.action-view) #bodyContent > .mw-body-subheader{
margin: 0;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #bodyContent > .mw-body-subheader{
margin:0;
margin-top: -2.0em;
font-size: 1.2em;
height: 2em;
margin-bottom:5px;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #bodyContent > .mw-body-subheader > #siteSub{
display:block !important;
width:auto;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #bodyContent > .mw-body-subheader> .mw-indicators{
margin-left:5px;
margin-right:3px;
display:block;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #bodyContent > .mw-body-subheader> #siteSub{
display:block;
}
body.skin-vector-search-vue .firstHeading,
body.skin-vector-search-vue .firstHeading > .plainlinks{
max-width:100%;
width:auto;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content #bodyContent,
body.skin-vector-search-vue.action-view.ns-special #content #bodyContent,
body.skin-vector-search-vue:not(.action-view) #content #bodyContent{
grid-area:dd;
}
body.skin-vector-search-vue .mw-article-toolbar-container,
body.skin-vector-search-vue .mw-content-container{
margin-left:0 !important;
}
body.skin-vector-search-vue .mw-page-container-inner{
display:grid;
grid:'aa aa aa' auto
'cc bb bb' auto
'cc dd ee' auto
'cc ff ff' minmax(auto,1fr)
/ auto minmax(auto,1fr) auto;
width:auto;
box-sizing:border-box;
row-gap:0;
}
body.skin-vector-search-vue .mw-page-container-inner > .mw-header{
grid-area:aa;
}
body.skin-vector-search-vue .mw-page-container-inner > #siteNotice{
grid-area:bb;
}
body.skin-vector-search-vue .mw-page-container-inner > .vector-sidebar-container{
grid-area:cc;
}
body.skin-vector-search-vue .mw-page-container-inner > .mw-content-container{
grid-area:dd;
grid-column:auto !important;
}
body.skin-vector-search-vue .mw-page-container-inner > .mw-table-of-contents-container{
grid-area:ee;
}
body.skin-vector-search-vue .mw-page-container-inner > .mw-footer-container{
grid-area:ff;
}
/**/
body.skin-vector-search-vue .mw-workspace-container .mw-content-container,
body.skin-vector-search-vue .mw-workspace-container .mw-content-container #bodyContent,
body.skin-vector-search-vue .mw-workspace-container .mw-content-container #content,
body.skin-vector-search-vue .mw-workspace-container .mw-content-container .mw-body-header{
width:100%;
box-sizing:border-box;
}
body.skin-vector-search-vue .mw-article-toolbar-container .mw-portlet-views {
display: block;
}
body.skin-vector-search-vue .mw-article-toolbar-container .vector-more-collapsible-item {
display: none;
}
body.skin-vector-search-vue .mw-sidebar{
background-color: white;
width:140px;
box-sizing:border-box;
display:block !important;
visibility: visible !important;
opacity: 1 !important;
padding:0;
margin-left:0;
}
body.skin-vector-search-vue .ui-dialog{
font-size:75%;
}
body.skin-vector-search-vue .mw-body-content .error{
font-size:96%;
}
body.skin-vector-search-vue.action-purge .firstHeading{
padding-bottom:3px;
}
body.skin-vector-search-vue .firstHeading .plainlinks{
line-height:1.2em !important;
}
body.skin-vector-search-vue .mw-sidebar #p-navigation .vector-menu-heading{
display:block;
}
body.skin-vector-search-vue .mw-checkbox-hack-checkbox:checked ~ .mw-workspace-container.vector-sidebar-container{
width:0;
transition: width 250ms ease-out;
transition-property: width;
transition-duration: 250ms;
transition-timing-function: ease-out;
transition-delay: 0s;
}
body.skin-vector-search-vue .mw-checkbox-hack-checkbox:not(:checked) ~ .mw-workspace-container.vector-sidebar-container{
width:140px;
transition: width 250ms ease-out;
transition-property: width;
transition-duration: 250ms;
transition-timing-function: ease-out;
transition-delay: 0s;
}
body.skin-vector-search-vue .mw-checkbox-hack-checkbox:checked ~ .mw-workspace-container.vector-sidebar-container > #mw-navigation{
position:absolute;
}
body.skin-vector-search-vue .mw-checkbox-hack-checkbox:not(:checked) ~ .mw-workspace-container.vector-sidebar-container > #mw-navigation{
position:relative;
}
body.skin-vector-search-vue .mw-checkbox-hack-checkbox:checked ~ .mw-workspace-container.vector-sidebar-container > #mw-navigation > .mw-sidebar{
left:-140px;
position:relative;
width:140px;
transition: left 250ms ease-out;
transition-property: left;
transition-duration: 250ms;
transition-timing-function: ease-out;
transition-delay: 0s;
}
body.skin-vector-search-vue .mw-checkbox-hack-checkbox:not(:checked) ~ .mw-workspace-container.vector-sidebar-container > #mw-navigation > .mw-sidebar{
left:0;
position:relative;
width:140px;
transition: left 250ms ease-out;
transition-property: left;
transition-duration: 250ms;
transition-timing-function: ease-out;
transition-delay: 0s;
}
body.skin-vector-search-vue .mw-article-toolbar-container{
max-width:100%;
box-sizing:border-box;
position:relative;
z-index:1;
}
body.skin-vector-search-vue .mw-footer-container{
padding-top:0;
}
body.skin-vector-search-vue .mw-content-container > .mw-body{
margin-left:0;
margin-right:0;
}
body.skin-vector-search-vue .mw-article-toolbar-container > #left-navigation{
margin-left:0;
margin-right:0;
}
body.skin-vector-search-vue .mw-footer-container .mw-footer{
margin-left:10px;
margin-right:0;
padding: 0.75em 5px;
}
body.skin-vector-search-vue .mw-header {
display:flex;
flex-direction: row;
margin: 8px 5px 0 5px;
}
body.skin-vector-search-vue .mw-workspace-container #mw-head{
min-width:832px;
margin-right:5px;
box-sizing:border-box;
}
body.skin-vector-search-vue .mw-logo-icon{
display:block;
}
body.skin-vector-search-vue .vector-user-links .vector-user-menu-more .vector-menu-content-list li.user-links-collapsible-item {
display: block;
}
body.skin-vector-search-vue .vector-search-box-collapses > div{
display:block;
}
body.skin-vector-search-vue a.mw-ui-icon-wikimedia-search{
display:none;
}
body.skin-vector-search-vue .vector-sticky-header{
height:3.2em;
padding: 6px 25px;
display:flex;
flex-direction:row;
min-width:700px;
margin-left:auto;
margin-right:auto;
width:90%;
text-align:center;
box-sizing:border-box;
}
@media screen and (max-width: 830px){
body.skin-vector-search-vue .vector-sticky-header{
display: none;
}
}
html.client-nojs body.skin-vector-search-vue .vector-sticky-header{
display:none !important;
}
body.skin-vector-search-vue .wvui-typeahead-suggestion{
padding-top:4px;
padding-bottom:4px;
text-align:left;
}
body.skin-vector-search-vue .vector-sticky-header.vector-header-search-toggled{
flex-basis: 460px;
box-sizing:border-box;
}
body.skin-vector-search-vue .vector-search-box, body.skin-vector-search-vue .vector-search-box-vue .vector-search-box-input, body.skin-vector-search-vue #p-search #searchform #simpleSearch{
font-size:calc( 14px * 1.042 );
line-height:1.2em;
height:30px;
min-height:30px;
box-sizing:border-box;
}
body.skin-vector-search-vue #p-search #searchform #simpleSearch,
body.skin-vector-search-vue .vector-search-box{
width:460px;
}
body.skin-vector-search-vue .mw-header #p-search #searchform #simpleSearch{
margin-left:10px;
width:460px;
box-sizing:border-box;
}
.client-js body.skin-vector-search-vue .vector-search-box-show-thumbnail.vector-search-box-auto-expand-width .vector-search-box-input, .client-js .vector-search-box-vue .vector-search-box-show-thumbnail.vector-search-box-auto-expand-width .vector-search-box-input{
margin-left:0;
box-sizing:border-box;
width:460px;
}
.client-js body.skin-vector-search-vue .vector-search-box-show-thumbnail.vector-search-box-auto-expand-width .searchButton, .client-js .vector-search-box-vue .vector-search-box-show-thumbnail.vector-search-box-auto-expand-width .searchButton{
left:0;
}
body.skin-vector-search-vue .mw-header .vector-search-box.vector-search-box-auto-expand-width{
margin-left:10px;
}
body.skin-vector-search-vue .mw-header .vector-search-box.vector-search-box-auto-expand-width > div{
width:460px;
box-sizing:border-box;
}
body.skin-vector-search-vue .vector-search-box-vue .searchButton{
background-size: 20px auto;
}
.client-js body.skin-vector-search-vue .vector-search-box-input{
padding-left:36px;
padding-right:8px;
}
body.skin-vector-search-vue .mw-header .vector-search-box.vector-search-box-auto-expand-width > div{
max-width:460px;
}
body.skin-vector-search-vue .mw-logo{
min-width:144px;
}
body.skin-vector-search-vue .mw-ui-icon,.mw-ui-icon-before::before{
font-size:14px;
}
body.skin-vector-search-vue .mw-sidebar-action{
display:none;
}
body.skin-vector-search-vue, body.skin-vector-search-vue .mw-editsection{
font-family: Arial, Helvetica, "Free Helvetian", FreeSans, sans-serif;
font-stretch:normal;
font-variant:normal;
font-style:normal;
font-weight:normal;
font-size-adjust:none;
letter-spacing:normal;
word-spacing:normal;
text-align:left;
word-wrap:break-word;
hyphens:auto;
}
body.skin-vector-search-vue{
font-size:calc( 14px * 1.042 );
line-height:1.2em;
background-color:#ffffff;
}
body.skin-vector-search-vue .mw-editsection{
font-size:12px;
line-height:1.2em;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #contentSub:empty,
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #contentSub ~ #contentSub2:empty{
margin:0;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #contentSub:not(:empty),
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #contentSub ~ #contentSub2:not(:empty){
margin-bottom:5px;
margin-top:3px;
margin-left:0;
}
body.skin-vector-search-vue.action-view.ns-special #contentSub:not(:empty),
body.skin-vector-search-vue.action-view.ns-special #contentSub:not(:empty) ~ #contentSub2,
body.skin-vector-search-vue.action-view.ns-special #contentSub:empty ~ #contentSub2:not(:empty){
margin:5px 0;
}
body.skin-vector-search-vue.ns-special #contentSub:empty{
margin:2px 0 3px 0;
}
body.skin-vector-search-vue.ns-special #contentSub:empty ~ #contentSub2:empty{
margin:10px 0;
}
body.skin-vector-search-vue:not(.action-view) .mw-body-subheader:-moz-only-whitespace ~ #contentSub,
body.skin-vector-search-vue:not(.action-view) .mw-body-subheader:-moz-only-whitespace ~ #contentSub ~ #contentSub2{
margin:13px 0;
}
body.skin-vector-search-vue .mw-body-subheader.blank #contentSub,
body.skin-vector-search-vue .mw-body-subheader.blank #contentSub ~ #contentSub2{
margin:13px 0;
}
body.skin-vector-search-vue:not(.action-view) #contentSub:empty{
margin:2px 0 3px 0;
}
body.skin-vector-search-vue:not(.action-view) #contentSub:empty ~ #contentSub2:empty{
margin:13px 0;
}
body.skin-vector-search-vue:not(.action-view) #contentSub:not(:empty),
body.skin-vector-search-vue:not(.action-view) #contentSub:not(:empty) ~ #contentSub2{
margin: 5px 0 2px 0;
}
body.skin-vector-search-vue:not(.action-view) #contentSub:empty ~ #contentSub2:not(:empty){
margin: 5px 0 3px 0;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #contentSub,
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #contentSub2{
margin:0;
}
body.skin-vector-search-vue.action-edit #contentSub:not(:empty) ~ #mw-content-text > form#editform{
margin-top:0;
}
body.skin-vector-search-vue.action-view #pwContent,
body.skin-vector-search-vue:not(.action-view) #pwContent,
body.skin-vector-search-vue.action-view .subpages,
body.skin-vector-search-vue:not(.action-view) .subpages{
margin:0;
font-size:12px;
line-height:1.2em;
margin-bottom:6px;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna) .warningbox,
body.skin-vector-search-vue:not(.action-view) .warningbox{
margin:10px 0;
}
body.skin-vector-search-vue #mw-previewheader{
margin-top:14px;
margin-bottom:10px;
}
body.skin-vector-search-vue .mw-userconfigpublic{
margin-top:8px;
}
body.skin-vector-search-vue .mw-contributions-user-tools{
margin-bottom:6px;
}
body.skin-vector-search-vue:not(.action-view) .mw-body,
body.skin-vector-search-vue.action-view.ns-special .mw-body{
padding: 8px 0 10px 8px;
position:relative;
z-index:0;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna .mw-body,
body.skin-vector-search-vue.action-view:not(.ns-special):not(.page-Wikibooks_Strona_główna) .mw-body{
padding: 4px 0 10px 8px;
position:relative;
z-index:0;
}
body.skin-vector-search-vue #centralNotice:not(:empty){
margin:10px 15px 8px 15px;
}
body.skin-vector-search-vue .mw-content-container{
min-width:848px;
}
body.skin-vector-search-vue #content{
margin-left:0px;
min-width:848px;
box-sizing:border-box;
}
body.skin-vector-search-vue #mw-content-text{
clear:both;
}
body.skin-vector-search-vue #bodyContent{
box-sizing:border-box;
min-width:832px;
height:auto;
clear:both;
padding: 0 15px 0 8px;
}
body.skin-vector-search-vue .mw-table-of-contents-container:not(:-moz-only-whitespace) ~ .mw-content-container #bodyContent{
padding: 0 8px;
}
body.skin-vector-search-vue .mw-table-of-contents-container.sidebar_obecny ~ .mw-content-container #bodyContent{
padding: 0 8px;
}
body.skin-vector-search-vue .mw-table-of-contents-container:not(:-moz-only-whitespace) ~ .mw-content-container .mw-body-header{
margin-right:3px !important;
}
body.skin-vector-search-vue .mw-table-of-contents-container.sidebar_obecny ~ .mw-content-container .mw-body-header{
margin-right:3px !important;
}
body.skin-vector-search-vue.action-view #bodyContent #mw-content-text .mw-parser-output,
body.skin-vector-search-vue:not(.action-view) #bodyContent #mw-content-text .mw-parser-output{
min-width:822px;
box-sizing:border-box;
display:block;
height:auto;
position:relative;
}
body.skin-vector-search-vue.action-view #bodyContent #mw-content-text .mw-parser-output::after,
body.skin-vector-search-vue:not(.action-view) #bodyContent #mw-content-text .mw-parser-output::after{
display:block;
content:'';
clear:both;
}
body.skin-vector-search-vue.ns-10 #mw-content-text .mw-parser-output > :not(style):not(link):not(#documentation-meta-data):not(.template-documentation) ~ *:first-of-type,
body.skin-vector-search-vue.ns-828 #mw-content-text .mw-parser-output > :not(style):not(link):not(#documentation-meta-data):not(.template-documentation) ~ *:first-of-type{
margin-top:5px !important;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(style):not(link):not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p):first-child{
margin-top:0 !important;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(style):not(link) ~ :not(style):not(link):not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p):not(.div-linia):first-of-type{
margin-top:5px !important;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > div.div-linia + *{
margin-top:0px !important;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1:first-child,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2:first-child,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3:first-child,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4:first-child,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5:first-child,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6:first-child,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h1:first-of-type,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h2:first-of-type,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h3:first-of-type,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h4:first-of-type,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h5:first-of-type,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h6:first-of-type{
margin-top:0.5em !important;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h1,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h2,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h3,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h4,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h5,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h6,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h1,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h2,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h3,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h4,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h5,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h6,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h1,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h2,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h3,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h4,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h5,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h6,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h1,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h2,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h3,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h4,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h5,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h6,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h1,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h2,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h3,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h4,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h5,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h6,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h1,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h2,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h3,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h4,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h5,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h6{
margin-top:0.8em;
}
body.skin-vector-search-vue .tdg-editscreen-main{
margin-top:9px;
margin-bottom:10px;
}
body.skin-vector-search-vue .mw-specialpage-summary > p:first-child{
margin: 0 0 4px 0;
}
body.skin-vector-search-vue .mw-rcfilters-head{
margin-bottom:15px;
}
body.skin-vector-search-vue.mw-special-Watchlist .mw-rcfilters-head{
min-height: 280px;
}
body.skin-vector-search-vue #bodyContent #mw-content-text .mw-parser-output .template-documentation:first-of-type{
margin-top:0;
box-sizing:border-box;
}
body.skin-vector-search-vue #bodyContent #mw-content-text .mw-parser-output > :not(style):not(link) ~ .template-documentation{
margin-top:10px !important;
box-sizing:border-box !important;
}
body.skin-vector-search-vue .mw-parser-output #documentation-meta-data:not(:last-child){
margin-top:3px !important;
margin-bottom:3px !important;
}
body.skin-vector-search-vue .mw-parser-output #documentation-meta-data:last-child{
margin-top:3px !important;
margin-bottom:0 !important;
}
body.skin-vector-search-vue #bodyContent #mw-content-text .mw-container-table-parser-output{
display:block table;
box-sizing:border-box;
position:relative;
width:100%;
height:auto;
margin:0;
margin-bottom:5px;
border-spacing:0;
padding:0;
border-collapse:collapse;
border:0;
}
body.skin-vector-search-vue .catlinks:not(.catlinks-allhidden){
margin: 5px 0;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > p:first-of-type{
margin-top:0.3em;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p):not(:empty) + p:first-of-type{
margin-top:0.5em;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p):not(.blank) + p:first-of-type{
margin-top:0.5em;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p):not(:-moz-only-whitespace) + p:first-of-type{
margin-top:0.5em;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p):not(:blank) + p:first-of-type{
margin-top:0.5em;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p).floatleft + p:first-of-type,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p).floatright + p:first-of-type,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p).tleft + p:first-of-type,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p).tright + p:first-of-type{
margin-top:0;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > p:last-child{
margin-bottom:0.3em;
}
body.skin-vector-search-vue pre{
margin-top:8px;
margin-bottom:8px;
padding:11px;
background-color: #f8f9fa;
color: #000;
border: 1px solid #eaecf0;
box-sizing:border-box;
}
body.skin-vector-search-vue div.mw-highlight > pre{
margin-top:8px;
margin-bottom:8px;
}
body.ns-828.skin-vector-search-vue.action-view #mw-content-text .mw-parser-output > div.mw-highlight:last-child > pre:last-child{
margin-top:5px;
margin-bottom:0;
}
body.skin-vector-search-vue.action-view #mw-content-text .mw-parser-output > div.mw-highlight:last-child > pre:last-child{
margin-bottom:0;
margin-top:5px;
}
body.ns-828.skin-vector-search-vue:not(.action-view) #mw-content-text .mw-parser-output > div.mw-highlight:last-child > pre:last-child{
margin-top:0px;
margin-bottom:0;
}
body.skin-vector-search-vue:not(.action-view) #mw-content-text .mw-parser-output > div.mw-highlight:last-child > pre:last-child{
margin-bottom:0;
margin-top:0;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > div.mw-highlight:only-child > pre:only-child{
margin-bottom:0 !important;
margin-top:0 !important;
}
body.skin-vector-search-vue .oo-ui-panelLayout-padded.oo-ui-panelLayout-framed{
margin:0 0 8px 0;
}
body.skin-vector-search-vue .mw-body > h1{
margin-bottom:0;
}
body.skin-vector-search-vue #central-auth-images{
display:none;
}
body.skin-vector-search-vue .mw-message-box{
margin-top:10px;
margin-bottom:10px;
}
body.skin-vector-search-vue #contentSub:not(:empty) ~ #mw-content-text > .mw-message-box:first-child{
margin-top:6px;
margin-bottom:10px;
}
body.skin-vector-search-vue:not(.ns-special) #contentSub > .mw-message-box{
margin-top:0;
margin-bottom:10px;
}
body.skin-vector-search-vue.ns-special #contentSub > .mw-message-box{
margin-top:10px;
margin-bottom:10px;
}
body.skin-vector-search-vue #contentSub > .subpages ~ .mw-message-box,
body.skin-vector-search-vue #contentSub > #pwContent ~ .mw-message-box{
margin-bottom:10px;
margin-top:0;
}
body.skin-vector-search-vue #wikiPreview.ontop{
margin-bottom:5px;
}
body.skin-vector-search-vue.skin-vector-disable-max-width #wikiPreview{
max-width:100%;
}
body.skin-vector-search-vue .previewnote{
margin-bottom:10px;
}
body.skin-vector-search-vue form#editform{
margin-top:5px;
margin-bottom:5px;
}
body.skin-vector-search-vue #editform::after{
display:block;
}
body.skin-vector-search-vue .editOptions{
margin-bottom:10px;
}
body.skin-vector-search-vue .mw-category-generated > #mw-pages > h2, body.skin-vector-search-vue .mw-category-generated > #mw-subcategories > h2, body.skin-vector-search-vue .mw-category-generated > #mw-category-media > h2{
margin-top:15px !important;
}
body.skin-vector-search-vue .mw-category-generated > #mw-pages:last-child, body.skin-vector-search-vue .mw-category-generated > #mw-subcategories:last-child, body.skin-vector-search-vue .mw-category-generated > #mw-category-media:last-child{
margin-bottom:10px;
}
body.skin-vector-search-vue .mw-parser-output + .mw-category-generated > p:first-child,
body.skin-vector-search-vue .noarticletext + .mw-category-generated > p:first-child{
margin-bottom:0;
margin-top:0;
}
body.skin-vector-search-vue .mw-category-generated > *:first-child > h2{
margin-top:15px !important;
}
body.skin-vector-search-vue .mw-category-generated{
margin-bottom:5px;
}
body.skin-vector-search-vue .mw-editfooter-list{
margin-bottom:0;
}
body.skin-vector-search-vue #mw-clearyourcache:first-child > p:first-child{
margin-top:0;
}
body.skin-vector-search-vue .vector-menu-portal {
margin: 0;
margin-left:5px;
padding: 0.2em 0 0 0;
direction: ltr;
}
body.skin-vector-search-vue .vector-menu-portal .vector-menu-content{
margin-left: 3px;
}
body.skin-vector-search-vue #mw-panel nav:first-child .vector-menu-content {
margin-left: 0;
}
body.skin-vector-search-vue .vector-menu-portal .vector-menu-heading{
margin-left:3px;
}
body.skin-vector-search-vue .mw-undelete-pagetitle > p:first-child{
margin-top:0;
}
body.skin-vector-search-vue .mw-delete-warning-revisions{
display:block;
margin-top:10px;
}
body.skin-vector-search-vue #p-lang-btn-label{
min-height:25px;
padding:5px 25px 3px 5px;
}
body.skin-vector-search-vue .mw-delete-editreasons + h2,
body.skin-vector-search-vue .mw-protect-editreasons + h2{
margin-top:0 !important;
}
body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container{
margin-right:0;
padding-right:0;
}
body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container{
margin-right: 0;
padding-right:0;
}
body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container #right-navigation{
margin-right:4px;
}
body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container #right-navigation{
margin-right: 4px;
}
body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container #right-navigation::before{
display: flex;
content: '';
width: auto;
flex-direction: row;
flex: 1 1 auto;
box-sizing:border-box;
}
body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container #right-navigation .vector-menu-content{
right:0;
}
body.skin-vector-search-vue .mw-table-of-contents-container{
direction: rtl;
align-self:auto;
background-color:white;
background-image: url('//upload.wikimedia.org/wikipedia/commons/thumb/b/ba/Wikibooks_multicolor_open_book_no_text.svg/200px-Wikibooks_multicolor_open_book_no_text.svg.png');
z-index:1;
}
body.skin-vector-search-vue .mw-table-of-contents-container:not(:-moz-only-whitespace){
margin-right:8px;
margin-left:5px;
}
body.skin-vector-search-vue .mw-table-of-contents-container.sidebar_obecny{
margin-right:8px;
margin-left:5px;
}
body.skin-vector-search-vue .mw-table-of-contents-container{
max-width:200px;
box-sizing:border-box;
position:static;
margin-bottom:5px;
}
body.skin-vector-search-vue .mw-table-of-contents-container:not(:-moz-only-whitespace){
width:200px;
max-height:100%;
}
body.skin-vector-search-vue .mw-table-of-contents-container.sidebar_obecny{
width:200px;
max-height:100%;
}
body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{
width:200px;
direction: rtl;
overflow-x:hidden;
overflow-y:auto;
margin-right:0;
margin-left:0;
display:block !important;
border:0 !important;
max-height:100%;
}
html.client-nojs body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{
margin-top:0 !important;
top:54px !important;
max-height:calc( 100vh - 54px ) !important;
}
html:not(.client-nojs) body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{
margin-top:54px !important;
}
body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc .sidebar-toc-contents{
direction:ltr;
}
html.client-nojs body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{
position:sticky;
top:5px;
}
html:not(.client-nojs) body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{
top:0;
position:absolute;
}
body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{
max-width:700px;
min-width:200px;
display:block;
left:auto;
}
body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc:not(:hover) .sidebar-toc-level-2{
display:none;
}
body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc:not(:hover){
width:200px;
transition: width 250ms ease-out;
transition-property: width;
transition-duration: 250ms;
transition-timing-function: ease-out;
transition-delay: 0s;
}
body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc:hover{
width:auto;
transition: width 250ms ease-out;
transition-property: width;
transition-duration: 250ms;
transition-timing-function: ease-out;
transition-delay: 0s;
}
body.skin-vector-search-vue .mw-table-of-contents-container button.vector-toc-collapse-button{
display:inline;
}
body.skin-vector-search-vue .mw-article-toolbar-container{
margin-left:0 !important;
}
body.skin-vector-search-vue .mw-checkbox-hack-checkbox:checked ~ .mw-workspace-container .mw-content-container,
body.skin-vector-search-vue .mw-checkbox-hack-checkbox:checked ~ .mw-workspace-container #mw-navigation .mw-article-toolbar-container {
margin-left: 0 !important;
}
/*body.skin-vector-search-vue .vector-body h1,
body.skin-vector-search-vue .vector-body h2,
body.skin-vector-search-vue .vector-body h3,
body.skin-vector-search-vue .vector-body h4,
body.skin-vector-search-vue .vector-body h5,
body.skin-vector-search-vue .vector-body h6{
margin-top:0.8em;
}*/
body.skin-vector-search-vue .mw-history-subtitle{
margin-bottom:6px;
}
body.skin-vector-search-vue .printfooter{
display:block;
margin: 5px 0;
padding:5px;
white-space:normal;
border: 1px solid #eaecf0;
box-sizing:border-box;
background-color: white;
}
.client-js body.skin-vector-search-vue .mw-search-form-wrapper {
min-height: 112px;
}
body.skin-vector-search-vue .noarticletext{
margin-bottom:5px;
}
body.skin-vector-search-vue .mw-menu-active{
background-color:#E6E6FA;
}
body.skin-vector-search-vue .mw-menu-inactive{
background-color:#EEE8AA;
}
body.skin-vector-search-vue .mw-menu-active,body.skin-vector-search-vue .mw-menu-inactive{
padding-left:5px !important;
padding-right:5px !important;
margin-left:0 !important;
display:block;
border-radius:5px;
border:1px solid #a2a9b1;
margin-top:3px;
}
body.skin-vector-search-vue .mw-items-active{
display:block;
border-radius:5px;
border:1px solid #a2a9b1;
padding: 0 5px;
margin-top:2px;
}
body.skin-vector-search-vue .mw-items-active > ul{
margin-top:0;
}
body.skin-vector-search-vue .mw-items-inactive{
display:none;
}
body.skin-vector-search-vue .mw-items-active,body.skin-vector-search-vue .mw-items-inactive{
margin-left:0px !important;
}
body.skin-vector-search-vue #mw-sidebar-checkbox:not(:checked){
display:none;
}
ab2hwg71jbxys4g20lq3lsz934c2lbc
437929
437918
2022-08-17T00:26:26Z
Persino
2851
css
text/css
body.skin-vector-search-vue .mw-page-container{
max-width:100%;
min-width:988px;
padding-left:0;
padding-right:0;
border-left: 0;
border-right: 0;
box-sizing:border-box;
display:block;
width:100%;
background-color:white;
height:auto;
}
body.skin-vector-search-vue .mw-content-container{
max-width:100%;
box-sizing:border-box;
padding-left:0 !important;
}
body.skin-vector-search-vue .mw-logo-container{
margin-left: 10px;
margin-right:0;
}
body.skin-vector-search-vue #p-lang-btn-label{
font-size:14px !important;
line-height:1.2em !important;
white-space:nowrap;
}
body.skin-vector-search-vue .mw-indicators{
font-size: calc( 14px * 0.875 );
line-height: 2.0em;
white-space:nowrap;
margin: auto 0 0 0;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content{
display:grid;
grid: 'aa aa aa' auto
'cc cc cc' auto
'bb bb bb' auto
'.. .. ee' auto
'dd dd dd' auto
/ minmax(auto,100%) minmax(auto,100%) auto
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > #top{
grid-area:aa;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .vector-article-toolbar{
grid-area:cc;
margin:0;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .mw-body-header{
grid-area:bb;
top:0;
width:auto !important;
height:auto !important;
margin:0;
margin-right:10px;
box-sizing:border-box;
border-bottom: 1px solid #a2a9b1;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > #p-lang-btn{
grid-area:ee;
height:20px;
width:136px;
height:auto;
margin-left:auto;
top:0;
margin: auto 5px 0 5px;
padding-bottom:8px;
box-sizing:border-box;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > #bodyContent{
grid-area:dd;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .mw-body-header{
display:grid;
grid: 'aa bb' auto
/ minmax(auto,1fr) auto;
width:100%;
min-height: 46px;
box-sizing: border-box;
position: relative;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .mw-body-header > .firstHeading{
display:block !important;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .mw-body-header > .firstHeading:not(:hover){
grid-area:aa;
margin-bottom:2px;
width:100%;
max-width:fit-content;
max-width:-moz-fit-content;
margin-bottom: 0;
margin-top: auto;
border-bottom: none;
padding-left: 3px;
padding-right: 3px;
border-bottom: 0;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .mw-body-header > .mw-indicators{
grid-area: bb;
width: auto;
height: 1.6em;
margin-bottom: 5px;
margin-top: auto;
margin-right: 5px;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .mw-body-header > .firstHeading > .plainlinks,
body.skin-vector-search-vue.action-view.ns-special #content > .mw-body-header > .firstHeading > .plainlinks
body.skin-vector-search-vue:not(.action-view) #content > .mw-body-header > .firstHeading > .plainlinks{
padding-bottom:2px;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .mw-body-header > #p-lang-btn{
grid-area:bb;
right:0;
margin:0;
height:auto;
width:auto;
margin-top: auto;
margin-bottom:0;
padding: 0 3px;
box-sizing:border-box;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .mw-body-header,
body.skin-vector-search-vue.action-view.ns-special #content > .mw-body-header,
body.skin-vector-search-vue:not(.action-view) #content > .mw-body-header{
display:grid;
grid:'aa bb' auto
/ minmax(auto,100%) auto;
border-bottom:1px solid #a2a9b1;
margin-top:auto;
margin-bottom:0;
min-height:46px;
box-sizing:border-box;
position:relative;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .mw-body-header > .firstHeading:not(:hover),
body.skin-vector-search-vue.action-view.ns-special #content > .mw-body-header > .firstHeading:not(:hover),
body.skin-vector-search-vue:not(.action-view) #content > .mw-body-header > .firstHeading:not(:hover){
grid-area:aa;
width:100%;
max-width:fit-content;
max-width:-moz-fit-content;
margin-bottom:0;
margin-top:auto;
border-bottom:none;
padding-left:3px;
padding-right:3px;
border-bottom:0;
box-sizing:border-box;
}
body.skin-vector-search-vue.action-view.ns-special #content > .mw-body-header > .mw-indicators,
body.skin-vector-search-vue:not(.action-view) #content > .mw-body-header > .mw-indicators{
grid-area:bb;
right:0;
margin:0;
height:auto;
width:100%;
margin:auto 0 0 auto;
padding: 0 10px;
box-sizing:border-box;
}
body.skin-vector-search-vue.action-view.ns-special #content .mw-body-header > .mw-indicators > .mw-indicator,
body.skin-vector-search-vue:not(.action-view) #content .mw-body-header > .mw-indicators > .mw-indicator{
padding: 2px 0 2px 0;
margin: auto 0 0 0;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content,
body.skin-vector-search-vue.action-view.ns-special #content,
body.skin-vector-search-vue:not(.action-view) #content{
display:grid;
grid:'aa' auto
'bb' auto
'cc' auto
'dd' auto
/ auto;
width:100%;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > #top,
body.skin-vector-search-vue.action-view.ns-special #content > #top,
body.skin-vector-search-vue:not(.action-view) #content > #top{
grid-area:aa;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .vector-article-toolbar,
body.skin-vector-search-vue.action-view.ns-special #content > .vector-article-toolbar,
body.skin-vector-search-vue:not(.action-view) #content > .vector-article-toolbar{
grid-area:bb;
}
body.skin-vector-search-vue .mw-body-header::after{
display:none;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .mw-body-header,
body.skin-vector-search-vue.action-view.ns-special #content > .mw-body-header,
body.skin-vector-search-vue:not(.action-view) #content > .mw-body-header{
grid-area:cc;
margin:0;
margin-right:10px;
width:auto;
padding-bottom:0;
}
body.skin-vector-search-vue .mw-body-subheader{
border-bottom:0;
}
/*body.skin-vector-search-vue #siteSub,*/
body.skin-vector-search-vue .firstHeading:not(:hover) > .plainlinks{
display:none;
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
}
/*body.skin-vector-search-vue .firstHeading{
text-shadow:0 2px 0 #FFF,0 3px 0 #AAA,0 3px 4px #AAA;
}*/
body.skin-vector-search-vue .firstHeading > .plainlinks{
text-shadow:none;
}
body.skin-vector-search-vue .firstHeading:not(:hover){
display:block;
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
border-bottom:0;
}
body.skin-vector-search-vue .firstHeading:hover{
display:block;
border:1px solid #eaecf0;
border-radius:10px;
background-color:white;
position:absolute;
top:5px;
left:-3px;
width:auto;
padding:5px;
z-index:1 !important;
}
body.skin-vector-search-vue .mw-body-header > .firstHeading:hover > .plainlinks{
display:block;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #bodyContent > .mw-body-subheader{
margin: 2px 0 3px 0;
min-height:1.6em;
}
body.skin-vector-search-vue.action-view.ns-special #bodyContent > .mw-body-subheader,
body.skin-vector-search-vue:not(.action-view) #bodyContent > .mw-body-subheader{
margin: 0;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #bodyContent > .mw-body-subheader{
margin:0;
margin-top: -2.0em;
font-size: 1.2em;
height: 2em;
margin-bottom:5px;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #bodyContent > .mw-body-subheader > #siteSub{
display:block !important;
width:auto;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #bodyContent > .mw-body-subheader> .mw-indicators{
margin-left:5px;
margin-right:3px;
display:block;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #bodyContent > .mw-body-subheader> #siteSub{
display:block;
}
body.skin-vector-search-vue .firstHeading,
body.skin-vector-search-vue .firstHeading > .plainlinks{
max-width:100%;
width:auto;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content #bodyContent,
body.skin-vector-search-vue.action-view.ns-special #content #bodyContent,
body.skin-vector-search-vue:not(.action-view) #content #bodyContent{
grid-area:dd;
}
body.skin-vector-search-vue .mw-article-toolbar-container,
body.skin-vector-search-vue .mw-content-container{
margin-left:0 !important;
}
body.skin-vector-search-vue .mw-page-container-inner{
display:grid;
grid:'aa aa aa' auto
'cc bb bb' auto
'cc dd ee' auto
'cc ff ff' minmax(auto,1fr)
/ auto minmax(auto,1fr) auto;
width:auto;
box-sizing:border-box;
row-gap:0;
}
body.skin-vector-search-vue .mw-page-container-inner > .mw-header{
grid-area:aa;
}
body.skin-vector-search-vue .mw-page-container-inner > #siteNotice{
grid-area:bb;
}
body.skin-vector-search-vue .mw-page-container-inner > .vector-sidebar-container{
grid-area:cc;
}
body.skin-vector-search-vue .mw-page-container-inner > .mw-content-container{
grid-area:dd;
grid-column:auto !important;
}
body.skin-vector-search-vue .mw-page-container-inner > .mw-table-of-contents-container{
grid-area:ee;
}
body.skin-vector-search-vue .mw-page-container-inner > .mw-footer-container{
grid-area:ff;
}
/**/
body.skin-vector-search-vue .mw-workspace-container .mw-content-container,
body.skin-vector-search-vue .mw-workspace-container .mw-content-container #bodyContent,
body.skin-vector-search-vue .mw-workspace-container .mw-content-container #content,
body.skin-vector-search-vue .mw-workspace-container .mw-content-container .mw-body-header{
width:100%;
box-sizing:border-box;
}
body.skin-vector-search-vue .mw-article-toolbar-container .mw-portlet-views {
display: block;
}
body.skin-vector-search-vue .mw-article-toolbar-container .vector-more-collapsible-item {
display: none;
}
body.skin-vector-search-vue .mw-sidebar{
background-color: white;
width:140px;
box-sizing:border-box;
display:block !important;
visibility: visible !important;
opacity: 1 !important;
padding:0;
margin-left:0;
}
body.skin-vector-search-vue .ui-dialog{
font-size:75%;
}
body.skin-vector-search-vue .mw-body-content .error{
font-size:96%;
}
body.skin-vector-search-vue.action-purge .firstHeading{
padding-bottom:3px;
}
body.skin-vector-search-vue .firstHeading .plainlinks{
line-height:1.2em !important;
}
body.skin-vector-search-vue .mw-sidebar #p-navigation .vector-menu-heading{
display:block;
}
body.skin-vector-search-vue .mw-checkbox-hack-checkbox:checked ~ .mw-workspace-container.vector-sidebar-container{
width:0;
transition: width 250ms ease-out;
transition-property: width;
transition-duration: 250ms;
transition-timing-function: ease-out;
transition-delay: 0s;
}
body.skin-vector-search-vue .mw-checkbox-hack-checkbox:not(:checked) ~ .mw-workspace-container.vector-sidebar-container{
width:140px;
transition: width 250ms ease-out;
transition-property: width;
transition-duration: 250ms;
transition-timing-function: ease-out;
transition-delay: 0s;
}
body.skin-vector-search-vue .mw-checkbox-hack-checkbox:checked ~ .mw-workspace-container.vector-sidebar-container > #mw-navigation{
position:absolute;
}
body.skin-vector-search-vue .mw-checkbox-hack-checkbox:not(:checked) ~ .mw-workspace-container.vector-sidebar-container > #mw-navigation{
position:relative;
}
body.skin-vector-search-vue .mw-checkbox-hack-checkbox:checked ~ .mw-workspace-container.vector-sidebar-container > #mw-navigation > .mw-sidebar{
left:-140px;
position:relative;
width:140px;
transition: left 250ms ease-out;
transition-property: left;
transition-duration: 250ms;
transition-timing-function: ease-out;
transition-delay: 0s;
}
body.skin-vector-search-vue .mw-checkbox-hack-checkbox:not(:checked) ~ .mw-workspace-container.vector-sidebar-container > #mw-navigation > .mw-sidebar{
left:0;
position:relative;
width:140px;
transition: left 250ms ease-out;
transition-property: left;
transition-duration: 250ms;
transition-timing-function: ease-out;
transition-delay: 0s;
}
body.skin-vector-search-vue .mw-article-toolbar-container{
max-width:100%;
box-sizing:border-box;
position:relative;
z-index:1;
}
body.skin-vector-search-vue .mw-footer-container{
padding-top:0;
}
body.skin-vector-search-vue .mw-content-container > .mw-body{
margin-left:0;
margin-right:0;
}
body.skin-vector-search-vue .mw-article-toolbar-container > #left-navigation{
margin-left:0;
margin-right:0;
}
body.skin-vector-search-vue .mw-footer-container .mw-footer{
margin-left:10px;
margin-right:0;
padding: 0.75em 5px;
}
body.skin-vector-search-vue .mw-header {
display:flex;
flex-direction: row;
margin: 8px 5px 0 5px;
}
body.skin-vector-search-vue .mw-workspace-container #mw-head{
min-width:832px;
margin-right:5px;
box-sizing:border-box;
}
body.skin-vector-search-vue .mw-logo-icon{
display:block;
}
body.skin-vector-search-vue .vector-user-links .vector-user-menu-more .vector-menu-content-list li.user-links-collapsible-item {
display: block;
}
body.skin-vector-search-vue .vector-search-box-collapses > div{
display:block;
}
body.skin-vector-search-vue a.mw-ui-icon-wikimedia-search{
display:none;
}
body.skin-vector-search-vue .vector-sticky-header{
height:3.2em;
padding: 6px 25px;
display:flex;
flex-direction:row;
min-width:700px;
margin-left:auto;
margin-right:auto;
width:90%;
text-align:center;
box-sizing:border-box;
}
@media screen and (max-width: 830px){
body.skin-vector-search-vue .vector-sticky-header{
display: none;
}
}
html.client-nojs body.skin-vector-search-vue .vector-sticky-header{
display:none !important;
}
body.skin-vector-search-vue .wvui-typeahead-suggestion{
padding-top:4px;
padding-bottom:4px;
text-align:left;
}
body.skin-vector-search-vue .vector-sticky-header.vector-header-search-toggled{
flex-basis: 460px;
box-sizing:border-box;
}
body.skin-vector-search-vue .vector-search-box, body.skin-vector-search-vue .vector-search-box-vue .vector-search-box-input, body.skin-vector-search-vue #p-search #searchform #simpleSearch{
font-size:calc( 14px * 1.042 );
line-height:1.2em;
height:30px;
min-height:30px;
box-sizing:border-box;
}
body.skin-vector-search-vue #p-search #searchform #simpleSearch,
body.skin-vector-search-vue .vector-search-box{
width:460px;
}
body.skin-vector-search-vue .mw-header #p-search #searchform #simpleSearch{
margin-left:10px;
width:460px;
box-sizing:border-box;
}
.client-js body.skin-vector-search-vue .vector-search-box-show-thumbnail.vector-search-box-auto-expand-width .vector-search-box-input, .client-js .vector-search-box-vue .vector-search-box-show-thumbnail.vector-search-box-auto-expand-width .vector-search-box-input{
margin-left:0;
box-sizing:border-box;
width:460px;
}
.client-js body.skin-vector-search-vue .vector-search-box-show-thumbnail.vector-search-box-auto-expand-width .searchButton, .client-js .vector-search-box-vue .vector-search-box-show-thumbnail.vector-search-box-auto-expand-width .searchButton{
left:0;
}
body.skin-vector-search-vue .mw-header .vector-search-box.vector-search-box-auto-expand-width{
margin-left:10px;
}
body.skin-vector-search-vue .mw-header .vector-search-box.vector-search-box-auto-expand-width > div{
width:460px;
box-sizing:border-box;
}
body.skin-vector-search-vue .vector-search-box-vue .searchButton{
background-size: 20px auto;
}
.client-js body.skin-vector-search-vue .vector-search-box-input{
padding-left:36px;
padding-right:8px;
}
body.skin-vector-search-vue .mw-header .vector-search-box.vector-search-box-auto-expand-width > div{
max-width:460px;
}
body.skin-vector-search-vue .mw-logo{
min-width:144px;
}
body.skin-vector-search-vue .mw-ui-icon,.mw-ui-icon-before::before{
font-size:14px;
}
body.skin-vector-search-vue .mw-sidebar-action{
display:none;
}
body.skin-vector-search-vue, body.skin-vector-search-vue .mw-editsection{
font-family: Arial, Helvetica, "Free Helvetian", FreeSans, sans-serif;
font-stretch:normal;
font-variant:normal;
font-style:normal;
font-weight:normal;
font-size-adjust:none;
letter-spacing:normal;
word-spacing:normal;
text-align:left;
word-wrap:break-word;
hyphens:auto;
}
body.skin-vector-search-vue{
font-size:calc( 14px * 1.042 );
line-height:1.2em;
background-color:#ffffff;
}
body.skin-vector-search-vue .mw-editsection{
font-size:12px;
line-height:1.2em;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #contentSub:empty,
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #contentSub ~ #contentSub2:empty{
margin:0;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #contentSub:not(:empty),
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #contentSub ~ #contentSub2:not(:empty){
margin-bottom:5px;
margin-top:3px;
margin-left:0;
}
body.skin-vector-search-vue.action-view.ns-special #contentSub:not(:empty),
body.skin-vector-search-vue.action-view.ns-special #contentSub:not(:empty) ~ #contentSub2,
body.skin-vector-search-vue.action-view.ns-special #contentSub:empty ~ #contentSub2:not(:empty){
margin:5px 0;
}
body.skin-vector-search-vue.ns-special #contentSub:empty{
margin:2px 0 3px 0;
}
body.skin-vector-search-vue.ns-special #contentSub:empty ~ #contentSub2:empty{
margin:10px 0;
}
body.skin-vector-search-vue:not(.action-view) .mw-body-subheader:-moz-only-whitespace ~ #contentSub > .mw-message-box{
margin:13px 0;
}
body.skin-vector-search-vue:not(.action-view) .mw-body-subheader.blank #contentSub > .mw-message-box{
margin:13px 0;
}
body.skin-vector-search-vue:not(.action-view) #contentSub:empty{
margin:2px 0 3px 0;
}
body.skin-vector-search-vue:not(.action-view) #contentSub:empty ~ #contentSub2:empty{
margin:13px 0;
}
body.skin-vector-search-vue:not(.action-view) #contentSub:not(:empty),
body.skin-vector-search-vue:not(.action-view) #contentSub:not(:empty) ~ #contentSub2{
margin: 5px 0 2px 0;
}
body.skin-vector-search-vue:not(.action-view) #contentSub:empty ~ #contentSub2:not(:empty){
margin: 5px 0 3px 0;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #contentSub,
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #contentSub2{
margin:0;
}
body.skin-vector-search-vue.action-edit #contentSub:not(:empty) ~ #mw-content-text > form#editform{
margin-top:0;
}
body.skin-vector-search-vue.action-view #pwContent,
body.skin-vector-search-vue:not(.action-view) #pwContent,
body.skin-vector-search-vue.action-view .subpages,
body.skin-vector-search-vue:not(.action-view) .subpages{
margin:0;
font-size:12px;
line-height:1.2em;
margin-bottom:6px;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna) .warningbox,
body.skin-vector-search-vue:not(.action-view) .warningbox{
margin:10px 0;
}
body.skin-vector-search-vue #mw-previewheader{
margin-top:14px;
margin-bottom:10px;
}
body.skin-vector-search-vue .mw-userconfigpublic{
margin-top:8px;
}
body.skin-vector-search-vue .mw-contributions-user-tools{
margin-bottom:6px;
}
body.skin-vector-search-vue:not(.action-view) .mw-body,
body.skin-vector-search-vue.action-view.ns-special .mw-body{
padding: 8px 0 10px 8px;
position:relative;
z-index:0;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna .mw-body,
body.skin-vector-search-vue.action-view:not(.ns-special):not(.page-Wikibooks_Strona_główna) .mw-body{
padding: 4px 0 10px 8px;
position:relative;
z-index:0;
}
body.skin-vector-search-vue #centralNotice:not(:empty){
margin:10px 15px 8px 15px;
}
body.skin-vector-search-vue .mw-content-container{
min-width:848px;
}
body.skin-vector-search-vue #content{
margin-left:0px;
min-width:848px;
box-sizing:border-box;
}
body.skin-vector-search-vue #mw-content-text{
clear:both;
}
body.skin-vector-search-vue #bodyContent{
box-sizing:border-box;
min-width:832px;
height:auto;
clear:both;
padding: 0 15px 0 8px;
}
body.skin-vector-search-vue .mw-table-of-contents-container:not(:-moz-only-whitespace) ~ .mw-content-container #bodyContent{
padding: 0 8px;
}
body.skin-vector-search-vue .mw-table-of-contents-container.sidebar_obecny ~ .mw-content-container #bodyContent{
padding: 0 8px;
}
body.skin-vector-search-vue .mw-table-of-contents-container:not(:-moz-only-whitespace) ~ .mw-content-container .mw-body-header{
margin-right:3px !important;
}
body.skin-vector-search-vue .mw-table-of-contents-container.sidebar_obecny ~ .mw-content-container .mw-body-header{
margin-right:3px !important;
}
body.skin-vector-search-vue.action-view #bodyContent #mw-content-text .mw-parser-output,
body.skin-vector-search-vue:not(.action-view) #bodyContent #mw-content-text .mw-parser-output{
min-width:822px;
box-sizing:border-box;
display:block;
height:auto;
position:relative;
}
body.skin-vector-search-vue.action-view #bodyContent #mw-content-text .mw-parser-output::after,
body.skin-vector-search-vue:not(.action-view) #bodyContent #mw-content-text .mw-parser-output::after{
display:block;
content:'';
clear:both;
}
body.skin-vector-search-vue.ns-10 #mw-content-text .mw-parser-output > :not(style):not(link):not(#documentation-meta-data):not(.template-documentation) ~ *:first-of-type,
body.skin-vector-search-vue.ns-828 #mw-content-text .mw-parser-output > :not(style):not(link):not(#documentation-meta-data):not(.template-documentation) ~ *:first-of-type{
margin-top:5px !important;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(style):not(link):not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p):first-child{
margin-top:0 !important;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(style):not(link) ~ :not(style):not(link):not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p):not(.div-linia):first-of-type{
margin-top:5px !important;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > div.div-linia + *{
margin-top:0px !important;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1:first-child,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2:first-child,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3:first-child,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4:first-child,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5:first-child,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6:first-child,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h1:first-of-type,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h2:first-of-type,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h3:first-of-type,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h4:first-of-type,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h5:first-of-type,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h6:first-of-type{
margin-top:0.5em !important;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h1,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h2,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h3,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h4,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h5,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h6,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h1,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h2,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h3,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h4,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h5,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h6,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h1,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h2,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h3,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h4,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h5,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h6,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h1,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h2,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h3,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h4,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h5,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h6,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h1,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h2,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h3,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h4,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h5,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h6,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h1,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h2,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h3,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h4,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h5,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h6{
margin-top:0.8em;
}
body.skin-vector-search-vue .tdg-editscreen-main{
margin-top:9px;
margin-bottom:10px;
}
body.skin-vector-search-vue .mw-specialpage-summary > p:first-child{
margin: 0 0 4px 0;
}
body.skin-vector-search-vue .mw-rcfilters-head{
margin-bottom:15px;
}
body.skin-vector-search-vue.mw-special-Watchlist .mw-rcfilters-head{
min-height: 280px;
}
body.skin-vector-search-vue #bodyContent #mw-content-text .mw-parser-output .template-documentation:first-of-type{
margin-top:0;
box-sizing:border-box;
}
body.skin-vector-search-vue #bodyContent #mw-content-text .mw-parser-output > :not(style):not(link) ~ .template-documentation{
margin-top:10px !important;
box-sizing:border-box !important;
}
body.skin-vector-search-vue .mw-parser-output #documentation-meta-data:not(:last-child){
margin-top:3px !important;
margin-bottom:3px !important;
}
body.skin-vector-search-vue .mw-parser-output #documentation-meta-data:last-child{
margin-top:3px !important;
margin-bottom:0 !important;
}
body.skin-vector-search-vue #bodyContent #mw-content-text .mw-container-table-parser-output{
display:block table;
box-sizing:border-box;
position:relative;
width:100%;
height:auto;
margin:0;
margin-bottom:5px;
border-spacing:0;
padding:0;
border-collapse:collapse;
border:0;
}
body.skin-vector-search-vue .catlinks:not(.catlinks-allhidden){
margin: 5px 0;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > p:first-of-type{
margin-top:0.3em;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p):not(:empty) + p:first-of-type{
margin-top:0.5em;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p):not(.blank) + p:first-of-type{
margin-top:0.5em;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p):not(:-moz-only-whitespace) + p:first-of-type{
margin-top:0.5em;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p):not(:blank) + p:first-of-type{
margin-top:0.5em;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p).floatleft + p:first-of-type,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p).floatright + p:first-of-type,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p).tleft + p:first-of-type,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p).tright + p:first-of-type{
margin-top:0;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > p:last-child{
margin-bottom:0.3em;
}
body.skin-vector-search-vue pre{
margin-top:8px;
margin-bottom:8px;
padding:11px;
background-color: #f8f9fa;
color: #000;
border: 1px solid #eaecf0;
box-sizing:border-box;
}
body.skin-vector-search-vue div.mw-highlight > pre{
margin-top:8px;
margin-bottom:8px;
}
body.ns-828.skin-vector-search-vue.action-view #mw-content-text .mw-parser-output > div.mw-highlight:last-child > pre:last-child{
margin-top:5px;
margin-bottom:0;
}
body.skin-vector-search-vue.action-view #mw-content-text .mw-parser-output > div.mw-highlight:last-child > pre:last-child{
margin-bottom:0;
margin-top:5px;
}
body.ns-828.skin-vector-search-vue:not(.action-view) #mw-content-text .mw-parser-output > div.mw-highlight:last-child > pre:last-child{
margin-top:0px;
margin-bottom:0;
}
body.skin-vector-search-vue:not(.action-view) #mw-content-text .mw-parser-output > div.mw-highlight:last-child > pre:last-child{
margin-bottom:0;
margin-top:0;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > div.mw-highlight:only-child > pre:only-child{
margin-bottom:0 !important;
margin-top:0 !important;
}
body.skin-vector-search-vue .oo-ui-panelLayout-padded.oo-ui-panelLayout-framed{
margin:0 0 8px 0;
}
body.skin-vector-search-vue .mw-body > h1{
margin-bottom:0;
}
body.skin-vector-search-vue #central-auth-images{
display:none;
}
body.skin-vector-search-vue .mw-message-box{
margin-top:10px;
margin-bottom:10px;
}
body.skin-vector-search-vue #contentSub:not(:empty) ~ #mw-content-text > .mw-message-box:first-child{
margin-top:6px;
margin-bottom:10px;
}
body.skin-vector-search-vue:not(.ns-special) #contentSub > .mw-message-box{
margin-top:0;
margin-bottom:10px;
}
body.skin-vector-search-vue.ns-special #contentSub > .mw-message-box{
margin-top:10px;
margin-bottom:10px;
}
body.skin-vector-search-vue #contentSub > .subpages ~ .mw-message-box,
body.skin-vector-search-vue #contentSub > #pwContent ~ .mw-message-box{
margin-bottom:10px;
margin-top:0;
}
body.skin-vector-search-vue #wikiPreview.ontop{
margin-bottom:5px;
}
body.skin-vector-search-vue.skin-vector-disable-max-width #wikiPreview{
max-width:100%;
}
body.skin-vector-search-vue .previewnote{
margin-bottom:10px;
}
body.skin-vector-search-vue form#editform{
margin-top:5px;
margin-bottom:5px;
}
body.skin-vector-search-vue #editform::after{
display:block;
}
body.skin-vector-search-vue .editOptions{
margin-bottom:10px;
}
body.skin-vector-search-vue .mw-category-generated > #mw-pages > h2, body.skin-vector-search-vue .mw-category-generated > #mw-subcategories > h2, body.skin-vector-search-vue .mw-category-generated > #mw-category-media > h2{
margin-top:15px !important;
}
body.skin-vector-search-vue .mw-category-generated > #mw-pages:last-child, body.skin-vector-search-vue .mw-category-generated > #mw-subcategories:last-child, body.skin-vector-search-vue .mw-category-generated > #mw-category-media:last-child{
margin-bottom:10px;
}
body.skin-vector-search-vue .mw-parser-output + .mw-category-generated > p:first-child,
body.skin-vector-search-vue .noarticletext + .mw-category-generated > p:first-child{
margin-bottom:0;
margin-top:0;
}
body.skin-vector-search-vue .mw-category-generated > *:first-child > h2{
margin-top:15px !important;
}
body.skin-vector-search-vue .mw-category-generated{
margin-bottom:5px;
}
body.skin-vector-search-vue .mw-editfooter-list{
margin-bottom:0;
}
body.skin-vector-search-vue #mw-clearyourcache:first-child > p:first-child{
margin-top:0;
}
body.skin-vector-search-vue .vector-menu-portal {
margin: 0;
margin-left:5px;
padding: 0.2em 0 0 0;
direction: ltr;
}
body.skin-vector-search-vue .vector-menu-portal .vector-menu-content{
margin-left: 3px;
}
body.skin-vector-search-vue #mw-panel nav:first-child .vector-menu-content {
margin-left: 0;
}
body.skin-vector-search-vue .vector-menu-portal .vector-menu-heading{
margin-left:3px;
}
body.skin-vector-search-vue .mw-undelete-pagetitle > p:first-child{
margin-top:0;
}
body.skin-vector-search-vue .mw-delete-warning-revisions{
display:block;
margin-top:10px;
}
body.skin-vector-search-vue #p-lang-btn-label{
min-height:25px;
padding:5px 25px 3px 5px;
}
body.skin-vector-search-vue .mw-delete-editreasons + h2,
body.skin-vector-search-vue .mw-protect-editreasons + h2{
margin-top:0 !important;
}
body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container{
margin-right:0;
padding-right:0;
}
body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container{
margin-right: 0;
padding-right:0;
}
body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container #right-navigation{
margin-right:4px;
}
body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container #right-navigation{
margin-right: 4px;
}
body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container #right-navigation::before{
display: flex;
content: '';
width: auto;
flex-direction: row;
flex: 1 1 auto;
box-sizing:border-box;
}
body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container #right-navigation .vector-menu-content{
right:0;
}
body.skin-vector-search-vue .mw-table-of-contents-container{
direction: rtl;
align-self:auto;
background-color:white;
background-image: url('//upload.wikimedia.org/wikipedia/commons/thumb/b/ba/Wikibooks_multicolor_open_book_no_text.svg/200px-Wikibooks_multicolor_open_book_no_text.svg.png');
z-index:1;
}
body.skin-vector-search-vue .mw-table-of-contents-container:not(:-moz-only-whitespace){
margin-right:8px;
margin-left:5px;
}
body.skin-vector-search-vue .mw-table-of-contents-container.sidebar_obecny{
margin-right:8px;
margin-left:5px;
}
body.skin-vector-search-vue .mw-table-of-contents-container{
max-width:200px;
box-sizing:border-box;
position:static;
margin-bottom:5px;
}
body.skin-vector-search-vue .mw-table-of-contents-container:not(:-moz-only-whitespace){
width:200px;
max-height:100%;
}
body.skin-vector-search-vue .mw-table-of-contents-container.sidebar_obecny{
width:200px;
max-height:100%;
}
body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{
width:200px;
direction: rtl;
overflow-x:hidden;
overflow-y:auto;
margin-right:0;
margin-left:0;
display:block !important;
border:0 !important;
max-height:100%;
}
html.client-nojs body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{
margin-top:0 !important;
top:54px !important;
max-height:calc( 100vh - 54px ) !important;
}
html:not(.client-nojs) body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{
margin-top:54px !important;
}
body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc .sidebar-toc-contents{
direction:ltr;
}
html.client-nojs body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{
position:sticky;
top:5px;
}
html:not(.client-nojs) body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{
top:0;
position:absolute;
}
body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{
max-width:700px;
min-width:200px;
display:block;
left:auto;
}
body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc:not(:hover) .sidebar-toc-level-2{
display:none;
}
body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc:not(:hover){
width:200px;
transition: width 250ms ease-out;
transition-property: width;
transition-duration: 250ms;
transition-timing-function: ease-out;
transition-delay: 0s;
}
body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc:hover{
width:auto;
transition: width 250ms ease-out;
transition-property: width;
transition-duration: 250ms;
transition-timing-function: ease-out;
transition-delay: 0s;
}
body.skin-vector-search-vue .mw-table-of-contents-container button.vector-toc-collapse-button{
display:inline;
}
body.skin-vector-search-vue .mw-article-toolbar-container{
margin-left:0 !important;
}
body.skin-vector-search-vue .mw-checkbox-hack-checkbox:checked ~ .mw-workspace-container .mw-content-container,
body.skin-vector-search-vue .mw-checkbox-hack-checkbox:checked ~ .mw-workspace-container #mw-navigation .mw-article-toolbar-container {
margin-left: 0 !important;
}
/*body.skin-vector-search-vue .vector-body h1,
body.skin-vector-search-vue .vector-body h2,
body.skin-vector-search-vue .vector-body h3,
body.skin-vector-search-vue .vector-body h4,
body.skin-vector-search-vue .vector-body h5,
body.skin-vector-search-vue .vector-body h6{
margin-top:0.8em;
}*/
body.skin-vector-search-vue .mw-history-subtitle{
margin-bottom:6px;
}
body.skin-vector-search-vue .printfooter{
display:block;
margin: 5px 0;
padding:5px;
white-space:normal;
border: 1px solid #eaecf0;
box-sizing:border-box;
background-color: white;
}
.client-js body.skin-vector-search-vue .mw-search-form-wrapper {
min-height: 112px;
}
body.skin-vector-search-vue .noarticletext{
margin-bottom:5px;
}
body.skin-vector-search-vue .mw-menu-active{
background-color:#E6E6FA;
}
body.skin-vector-search-vue .mw-menu-inactive{
background-color:#EEE8AA;
}
body.skin-vector-search-vue .mw-menu-active,body.skin-vector-search-vue .mw-menu-inactive{
padding-left:5px !important;
padding-right:5px !important;
margin-left:0 !important;
display:block;
border-radius:5px;
border:1px solid #a2a9b1;
margin-top:3px;
}
body.skin-vector-search-vue .mw-items-active{
display:block;
border-radius:5px;
border:1px solid #a2a9b1;
padding: 0 5px;
margin-top:2px;
}
body.skin-vector-search-vue .mw-items-active > ul{
margin-top:0;
}
body.skin-vector-search-vue .mw-items-inactive{
display:none;
}
body.skin-vector-search-vue .mw-items-active,body.skin-vector-search-vue .mw-items-inactive{
margin-left:0px !important;
}
body.skin-vector-search-vue #mw-sidebar-checkbox:not(:checked){
display:none;
}
b81n44f6m3ytpc1ydyhyyiwbfngx3pd
437930
437929
2022-08-17T00:49:51Z
Persino
2851
css
text/css
body.skin-vector-search-vue .mw-page-container{
max-width:100%;
min-width:988px;
padding-left:0;
padding-right:0;
border-left: 0;
border-right: 0;
box-sizing:border-box;
display:block;
width:100%;
background-color:white;
height:auto;
}
body.skin-vector-search-vue .mw-content-container{
max-width:100%;
box-sizing:border-box;
padding-left:0 !important;
}
body.skin-vector-search-vue .mw-logo-container{
margin-left: 10px;
margin-right:0;
}
body.skin-vector-search-vue #p-lang-btn-label{
font-size:14px !important;
line-height:1.2em !important;
white-space:nowrap;
}
body.skin-vector-search-vue .mw-indicators{
font-size: calc( 14px * 0.875 );
line-height: 2.0em;
white-space:nowrap;
margin: auto 0 0 0;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content{
display:grid;
grid: 'aa aa aa' auto
'cc cc cc' auto
'bb bb bb' auto
'.. .. ee' auto
'dd dd dd' auto
/ minmax(auto,100%) minmax(auto,100%) auto
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > #top{
grid-area:aa;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .vector-article-toolbar{
grid-area:cc;
margin:0;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .mw-body-header{
grid-area:bb;
top:0;
width:auto !important;
height:auto !important;
margin:0;
margin-right:10px;
box-sizing:border-box;
border-bottom: 1px solid #a2a9b1;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > #p-lang-btn{
grid-area:ee;
height:20px;
width:136px;
height:auto;
margin-left:auto;
top:0;
margin: auto 5px 0 5px;
padding-bottom:8px;
box-sizing:border-box;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > #bodyContent{
grid-area:dd;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .mw-body-header{
display:grid;
grid: 'aa bb' auto
/ minmax(auto,1fr) auto;
width:100%;
min-height: 46px;
box-sizing: border-box;
position: relative;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .mw-body-header > .firstHeading{
display:block !important;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .mw-body-header > .firstHeading:not(:hover){
grid-area:aa;
margin-bottom:2px;
width:100%;
max-width:fit-content;
max-width:-moz-fit-content;
margin-bottom: 0;
margin-top: auto;
border-bottom: none;
padding-left: 3px;
padding-right: 3px;
border-bottom: 0;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .mw-body-header > .mw-indicators{
grid-area: bb;
width: auto;
height: 1.6em;
margin-bottom: 5px;
margin-top: auto;
margin-right: 5px;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .mw-body-header > .firstHeading > .plainlinks,
body.skin-vector-search-vue.action-view.ns-special #content > .mw-body-header > .firstHeading > .plainlinks
body.skin-vector-search-vue:not(.action-view) #content > .mw-body-header > .firstHeading > .plainlinks{
padding-bottom:2px;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .mw-body-header > #p-lang-btn{
grid-area:bb;
right:0;
margin:0;
height:auto;
width:auto;
margin-top: auto;
margin-bottom:0;
padding: 0 3px;
box-sizing:border-box;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .mw-body-header,
body.skin-vector-search-vue.action-view.ns-special #content > .mw-body-header,
body.skin-vector-search-vue:not(.action-view) #content > .mw-body-header{
display:grid;
grid:'aa bb' auto
/ minmax(auto,100%) auto;
border-bottom:1px solid #a2a9b1;
margin-top:auto;
margin-bottom:0;
min-height:46px;
box-sizing:border-box;
position:relative;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .mw-body-header > .firstHeading:not(:hover),
body.skin-vector-search-vue.action-view.ns-special #content > .mw-body-header > .firstHeading:not(:hover),
body.skin-vector-search-vue:not(.action-view) #content > .mw-body-header > .firstHeading:not(:hover){
grid-area:aa;
width:100%;
max-width:fit-content;
max-width:-moz-fit-content;
margin-bottom:0;
margin-top:auto;
border-bottom:none;
padding-left:3px;
padding-right:3px;
border-bottom:0;
box-sizing:border-box;
}
body.skin-vector-search-vue.action-view.ns-special #content > .mw-body-header > .mw-indicators,
body.skin-vector-search-vue:not(.action-view) #content > .mw-body-header > .mw-indicators{
grid-area:bb;
right:0;
margin:0;
height:auto;
width:100%;
margin:auto 0 0 auto;
padding: 0 10px;
box-sizing:border-box;
}
body.skin-vector-search-vue.action-view.ns-special #content .mw-body-header > .mw-indicators > .mw-indicator,
body.skin-vector-search-vue:not(.action-view) #content .mw-body-header > .mw-indicators > .mw-indicator{
padding: 2px 0 2px 0;
margin: auto 0 0 0;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content,
body.skin-vector-search-vue.action-view.ns-special #content,
body.skin-vector-search-vue:not(.action-view) #content{
display:grid;
grid:'aa' auto
'bb' auto
'cc' auto
'dd' auto
/ auto;
width:100%;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > #top,
body.skin-vector-search-vue.action-view.ns-special #content > #top,
body.skin-vector-search-vue:not(.action-view) #content > #top{
grid-area:aa;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .vector-article-toolbar,
body.skin-vector-search-vue.action-view.ns-special #content > .vector-article-toolbar,
body.skin-vector-search-vue:not(.action-view) #content > .vector-article-toolbar{
grid-area:bb;
}
body.skin-vector-search-vue .mw-body-header::after{
display:none;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .mw-body-header,
body.skin-vector-search-vue.action-view.ns-special #content > .mw-body-header,
body.skin-vector-search-vue:not(.action-view) #content > .mw-body-header{
grid-area:cc;
margin:0;
margin-right:10px;
width:auto;
padding-bottom:0;
}
body.skin-vector-search-vue .mw-body-subheader{
border-bottom:0;
}
/*body.skin-vector-search-vue #siteSub,*/
body.skin-vector-search-vue .firstHeading:not(:hover) > .plainlinks{
display:none;
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
}
/*body.skin-vector-search-vue .firstHeading{
text-shadow:0 2px 0 #FFF,0 3px 0 #AAA,0 3px 4px #AAA;
}*/
body.skin-vector-search-vue .firstHeading > .plainlinks{
text-shadow:none;
}
body.skin-vector-search-vue .firstHeading:not(:hover){
display:block;
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
border-bottom:0;
}
body.skin-vector-search-vue .firstHeading:hover{
display:block;
border:1px solid #eaecf0;
border-radius:10px;
background-color:white;
position:absolute;
top:5px;
left:-3px;
width:auto;
padding:5px;
z-index:1 !important;
}
body.skin-vector-search-vue .mw-body-header > .firstHeading:hover > .plainlinks{
display:block;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #bodyContent > .mw-body-subheader{
margin: 2px 0 3px 0;
min-height:1.6em;
}
body.skin-vector-search-vue.action-view.ns-special #bodyContent > .mw-body-subheader,
body.skin-vector-search-vue:not(.action-view) #bodyContent > .mw-body-subheader{
margin: 0;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #bodyContent > .mw-body-subheader{
margin:0;
margin-top: -2.0em;
font-size: 1.2em;
height: 2em;
margin-bottom:5px;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #bodyContent > .mw-body-subheader > #siteSub{
display:block !important;
width:auto;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #bodyContent > .mw-body-subheader> .mw-indicators{
margin-left:5px;
margin-right:3px;
display:block;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #bodyContent > .mw-body-subheader> #siteSub{
display:block;
}
body.skin-vector-search-vue .firstHeading,
body.skin-vector-search-vue .firstHeading > .plainlinks{
max-width:100%;
width:auto;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content #bodyContent,
body.skin-vector-search-vue.action-view.ns-special #content #bodyContent,
body.skin-vector-search-vue:not(.action-view) #content #bodyContent{
grid-area:dd;
}
body.skin-vector-search-vue .mw-article-toolbar-container,
body.skin-vector-search-vue .mw-content-container{
margin-left:0 !important;
}
body.skin-vector-search-vue .mw-page-container-inner{
display:grid;
grid:'aa aa aa' auto
'cc bb bb' auto
'cc dd ee' auto
'cc ff ff' minmax(auto,1fr)
/ auto minmax(auto,1fr) auto;
width:auto;
box-sizing:border-box;
row-gap:0;
}
body.skin-vector-search-vue .mw-page-container-inner > .mw-header{
grid-area:aa;
}
body.skin-vector-search-vue .mw-page-container-inner > #siteNotice{
grid-area:bb;
}
body.skin-vector-search-vue .mw-page-container-inner > .vector-sidebar-container{
grid-area:cc;
}
body.skin-vector-search-vue .mw-page-container-inner > .mw-content-container{
grid-area:dd;
grid-column:auto !important;
}
body.skin-vector-search-vue .mw-page-container-inner > .mw-table-of-contents-container{
grid-area:ee;
}
body.skin-vector-search-vue .mw-page-container-inner > .mw-footer-container{
grid-area:ff;
}
/**/
body.skin-vector-search-vue .mw-workspace-container .mw-content-container,
body.skin-vector-search-vue .mw-workspace-container .mw-content-container #bodyContent,
body.skin-vector-search-vue .mw-workspace-container .mw-content-container #content,
body.skin-vector-search-vue .mw-workspace-container .mw-content-container .mw-body-header{
width:100%;
box-sizing:border-box;
}
body.skin-vector-search-vue .mw-article-toolbar-container .mw-portlet-views {
display: block;
}
body.skin-vector-search-vue .mw-article-toolbar-container .vector-more-collapsible-item {
display: none;
}
body.skin-vector-search-vue .mw-sidebar{
background-color: white;
width:140px;
box-sizing:border-box;
display:block !important;
visibility: visible !important;
opacity: 1 !important;
padding:0;
margin-left:0;
}
body.skin-vector-search-vue .ui-dialog{
font-size:75%;
}
body.skin-vector-search-vue .mw-body-content .error{
font-size:96%;
}
body.skin-vector-search-vue.action-purge .firstHeading{
padding-bottom:3px;
}
body.skin-vector-search-vue .firstHeading .plainlinks{
line-height:1.2em !important;
}
body.skin-vector-search-vue .mw-sidebar #p-navigation .vector-menu-heading{
display:block;
}
body.skin-vector-search-vue .mw-checkbox-hack-checkbox:checked ~ .mw-workspace-container.vector-sidebar-container{
width:0;
transition: width 250ms ease-out;
transition-property: width;
transition-duration: 250ms;
transition-timing-function: ease-out;
transition-delay: 0s;
}
body.skin-vector-search-vue .mw-checkbox-hack-checkbox:not(:checked) ~ .mw-workspace-container.vector-sidebar-container{
width:140px;
transition: width 250ms ease-out;
transition-property: width;
transition-duration: 250ms;
transition-timing-function: ease-out;
transition-delay: 0s;
}
body.skin-vector-search-vue .mw-checkbox-hack-checkbox:checked ~ .mw-workspace-container.vector-sidebar-container > #mw-navigation{
position:absolute;
}
body.skin-vector-search-vue .mw-checkbox-hack-checkbox:not(:checked) ~ .mw-workspace-container.vector-sidebar-container > #mw-navigation{
position:relative;
}
body.skin-vector-search-vue .mw-checkbox-hack-checkbox:checked ~ .mw-workspace-container.vector-sidebar-container > #mw-navigation > .mw-sidebar{
left:-140px;
position:relative;
width:140px;
transition: left 250ms ease-out;
transition-property: left;
transition-duration: 250ms;
transition-timing-function: ease-out;
transition-delay: 0s;
}
body.skin-vector-search-vue .mw-checkbox-hack-checkbox:not(:checked) ~ .mw-workspace-container.vector-sidebar-container > #mw-navigation > .mw-sidebar{
left:0;
position:relative;
width:140px;
transition: left 250ms ease-out;
transition-property: left;
transition-duration: 250ms;
transition-timing-function: ease-out;
transition-delay: 0s;
}
body.skin-vector-search-vue .mw-article-toolbar-container{
max-width:100%;
box-sizing:border-box;
position:relative;
z-index:1;
}
body.skin-vector-search-vue .mw-footer-container{
padding-top:0;
}
body.skin-vector-search-vue .mw-content-container > .mw-body{
margin-left:0;
margin-right:0;
}
body.skin-vector-search-vue .mw-article-toolbar-container > #left-navigation{
margin-left:0;
margin-right:0;
}
body.skin-vector-search-vue .mw-footer-container .mw-footer{
margin-left:10px;
margin-right:0;
padding: 0.75em 5px;
}
body.skin-vector-search-vue .mw-header {
display:flex;
flex-direction: row;
margin: 8px 5px 0 5px;
}
body.skin-vector-search-vue .mw-workspace-container #mw-head{
min-width:832px;
margin-right:5px;
box-sizing:border-box;
}
body.skin-vector-search-vue .mw-logo-icon{
display:block;
}
body.skin-vector-search-vue .vector-user-links .vector-user-menu-more .vector-menu-content-list li.user-links-collapsible-item {
display: block;
}
body.skin-vector-search-vue .vector-search-box-collapses > div{
display:block;
}
body.skin-vector-search-vue a.mw-ui-icon-wikimedia-search{
display:none;
}
body.skin-vector-search-vue .vector-sticky-header{
height:3.2em;
padding: 6px 25px;
display:flex;
flex-direction:row;
min-width:700px;
margin-left:auto;
margin-right:auto;
width:90%;
text-align:center;
box-sizing:border-box;
}
@media screen and (max-width: 830px){
body.skin-vector-search-vue .vector-sticky-header{
display: none;
}
}
html.client-nojs body.skin-vector-search-vue .vector-sticky-header{
display:none !important;
}
body.skin-vector-search-vue .wvui-typeahead-suggestion{
padding-top:4px;
padding-bottom:4px;
text-align:left;
}
body.skin-vector-search-vue .vector-sticky-header.vector-header-search-toggled{
flex-basis: 460px;
box-sizing:border-box;
}
body.skin-vector-search-vue .vector-search-box, body.skin-vector-search-vue .vector-search-box-vue .vector-search-box-input, body.skin-vector-search-vue #p-search #searchform #simpleSearch{
font-size:calc( 14px * 1.042 );
line-height:1.2em;
height:30px;
min-height:30px;
box-sizing:border-box;
}
body.skin-vector-search-vue #p-search #searchform #simpleSearch,
body.skin-vector-search-vue .vector-search-box{
width:460px;
}
body.skin-vector-search-vue .mw-header #p-search #searchform #simpleSearch{
margin-left:10px;
width:460px;
box-sizing:border-box;
}
.client-js body.skin-vector-search-vue .vector-search-box-show-thumbnail.vector-search-box-auto-expand-width .vector-search-box-input, .client-js .vector-search-box-vue .vector-search-box-show-thumbnail.vector-search-box-auto-expand-width .vector-search-box-input{
margin-left:0;
box-sizing:border-box;
width:460px;
}
.client-js body.skin-vector-search-vue .vector-search-box-show-thumbnail.vector-search-box-auto-expand-width .searchButton, .client-js .vector-search-box-vue .vector-search-box-show-thumbnail.vector-search-box-auto-expand-width .searchButton{
left:0;
}
body.skin-vector-search-vue .mw-header .vector-search-box.vector-search-box-auto-expand-width{
margin-left:10px;
}
body.skin-vector-search-vue .mw-header .vector-search-box.vector-search-box-auto-expand-width > div{
width:460px;
box-sizing:border-box;
}
body.skin-vector-search-vue .vector-search-box-vue .searchButton{
background-size: 20px auto;
}
.client-js body.skin-vector-search-vue .vector-search-box-input{
padding-left:36px;
padding-right:8px;
}
body.skin-vector-search-vue .mw-header .vector-search-box.vector-search-box-auto-expand-width > div{
max-width:460px;
}
body.skin-vector-search-vue .mw-logo{
min-width:144px;
}
body.skin-vector-search-vue .mw-ui-icon,.mw-ui-icon-before::before{
font-size:14px;
}
body.skin-vector-search-vue .mw-sidebar-action{
display:none;
}
body.skin-vector-search-vue, body.skin-vector-search-vue .mw-editsection{
font-family: Arial, Helvetica, "Free Helvetian", FreeSans, sans-serif;
font-stretch:normal;
font-variant:normal;
font-style:normal;
font-weight:normal;
font-size-adjust:none;
letter-spacing:normal;
word-spacing:normal;
text-align:left;
word-wrap:break-word;
hyphens:auto;
}
body.skin-vector-search-vue{
font-size:calc( 14px * 1.042 );
line-height:1.2em;
background-color:#ffffff;
}
body.skin-vector-search-vue .mw-editsection{
font-size:12px;
line-height:1.2em;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #contentSub:empty,
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #contentSub ~ #contentSub2:empty{
margin:0;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #contentSub:not(:empty),
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #contentSub ~ #contentSub2:not(:empty){
margin-bottom:5px;
margin-top:3px;
margin-left:0;
}
body.skin-vector-search-vue.action-view.ns-special #contentSub:not(:empty),
body.skin-vector-search-vue.action-view.ns-special #contentSub:not(:empty) ~ #contentSub2,
body.skin-vector-search-vue.action-view.ns-special #contentSub:empty ~ #contentSub2:not(:empty){
margin:5px 0;
}
body.skin-vector-search-vue.ns-special #contentSub:empty{
margin:2px 0 3px 0;
}
body.skin-vector-search-vue.ns-special #contentSub:empty ~ #contentSub2:empty{
margin:10px 0;
}
body.skin-vector-search-vue:not(.action-view) .mw-body-subheader:-moz-only-whitespace ~ #contentSub > .mw-message-box{
margin:13px 0;
}
body.skin-vector-search-vue:not(.action-view) .mw-body-subheader.blank #contentSub > .mw-message-box{
margin:13px 0;
}
body.skin-vector-search-vue:not(.action-view) :not(.mw-body-subheader):first-child ~ #contentSub:empty,
body.skin-vector-search-vue:not(.action-view) :not(.mw-body-subheader):first-child ~ #contentSub:empty ~ #contentSub2:empty{
margin:0;
}
body.skin-vector-search-vue:not(.action-view) #contentSub:empty{
margin:2px 0 3px 0;
}
body.skin-vector-search-vue:not(.action-view) #contentSub:empty ~ #contentSub2:empty{
margin:13px 0;
}
body.skin-vector-search-vue:not(.action-view) #contentSub:not(:empty),
body.skin-vector-search-vue:not(.action-view) #contentSub:not(:empty) ~ #contentSub2{
margin: 5px 0 2px 0;
}
body.skin-vector-search-vue:not(.action-view) #contentSub:empty ~ #contentSub2:not(:empty){
margin: 5px 0 3px 0;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #contentSub,
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #contentSub2{
margin:0;
}
body.skin-vector-search-vue.action-edit #contentSub:not(:empty) ~ #mw-content-text > form#editform{
margin-top:0;
}
body.skin-vector-search-vue.action-view #pwContent,
body.skin-vector-search-vue:not(.action-view) #pwContent,
body.skin-vector-search-vue.action-view .subpages,
body.skin-vector-search-vue:not(.action-view) .subpages{
margin:0;
font-size:12px;
line-height:1.2em;
margin-bottom:6px;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna) .warningbox,
body.skin-vector-search-vue:not(.action-view) .warningbox{
margin:10px 0;
}
body.skin-vector-search-vue #mw-previewheader{
margin-top:14px;
margin-bottom:10px;
}
body.skin-vector-search-vue .mw-userconfigpublic{
margin-top:8px;
}
body.skin-vector-search-vue .mw-contributions-user-tools{
margin-bottom:6px;
}
body.skin-vector-search-vue:not(.action-view) .mw-body,
body.skin-vector-search-vue.action-view.ns-special .mw-body{
padding: 8px 0 10px 8px;
position:relative;
z-index:0;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna .mw-body,
body.skin-vector-search-vue.action-view:not(.ns-special):not(.page-Wikibooks_Strona_główna) .mw-body{
padding: 4px 0 10px 8px;
position:relative;
z-index:0;
}
body.skin-vector-search-vue #centralNotice:not(:empty){
margin:10px 15px 8px 15px;
}
body.skin-vector-search-vue .mw-content-container{
min-width:848px;
}
body.skin-vector-search-vue #content{
margin-left:0px;
min-width:848px;
box-sizing:border-box;
}
body.skin-vector-search-vue #mw-content-text{
clear:both;
}
body.skin-vector-search-vue #bodyContent{
box-sizing:border-box;
min-width:832px;
height:auto;
clear:both;
padding: 0 15px 0 8px;
}
body.skin-vector-search-vue .mw-table-of-contents-container:not(:-moz-only-whitespace) ~ .mw-content-container #bodyContent{
padding: 0 8px;
}
body.skin-vector-search-vue .mw-table-of-contents-container.sidebar_obecny ~ .mw-content-container #bodyContent{
padding: 0 8px;
}
body.skin-vector-search-vue .mw-table-of-contents-container:not(:-moz-only-whitespace) ~ .mw-content-container .mw-body-header{
margin-right:3px !important;
}
body.skin-vector-search-vue .mw-table-of-contents-container.sidebar_obecny ~ .mw-content-container .mw-body-header{
margin-right:3px !important;
}
body.skin-vector-search-vue.action-view #bodyContent #mw-content-text .mw-parser-output,
body.skin-vector-search-vue:not(.action-view) #bodyContent #mw-content-text .mw-parser-output{
min-width:822px;
box-sizing:border-box;
display:block;
height:auto;
position:relative;
}
body.skin-vector-search-vue.action-view #bodyContent #mw-content-text .mw-parser-output::after,
body.skin-vector-search-vue:not(.action-view) #bodyContent #mw-content-text .mw-parser-output::after{
display:block;
content:'';
clear:both;
}
body.skin-vector-search-vue.ns-10 #mw-content-text .mw-parser-output > :not(style):not(link):not(#documentation-meta-data):not(.template-documentation) ~ *:first-of-type,
body.skin-vector-search-vue.ns-828 #mw-content-text .mw-parser-output > :not(style):not(link):not(#documentation-meta-data):not(.template-documentation) ~ *:first-of-type{
margin-top:5px !important;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(style):not(link):not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p):first-child{
margin-top:0 !important;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(style):not(link) ~ :not(style):not(link):not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p):not(.div-linia):first-of-type{
margin-top:5px !important;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > div.div-linia + *{
margin-top:0px !important;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1:first-child,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2:first-child,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3:first-child,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4:first-child,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5:first-child,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6:first-child,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h1:first-of-type,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h2:first-of-type,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h3:first-of-type,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h4:first-of-type,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h5:first-of-type,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h6:first-of-type{
margin-top:0.5em !important;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h1,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h2,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h3,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h4,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h5,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h6,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h1,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h2,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h3,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h4,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h5,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h6,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h1,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h2,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h3,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h4,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h5,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h6,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h1,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h2,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h3,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h4,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h5,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h6,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h1,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h2,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h3,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h4,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h5,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h6,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h1,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h2,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h3,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h4,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h5,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h6{
margin-top:0.8em;
}
body.skin-vector-search-vue .tdg-editscreen-main{
margin-top:9px;
margin-bottom:10px;
}
body.skin-vector-search-vue .mw-specialpage-summary > p:first-child{
margin: 0 0 4px 0;
}
body.skin-vector-search-vue .mw-rcfilters-head{
margin-bottom:15px;
}
body.skin-vector-search-vue.mw-special-Watchlist .mw-rcfilters-head{
min-height: 280px;
}
body.skin-vector-search-vue #bodyContent #mw-content-text .mw-parser-output .template-documentation:first-of-type{
margin-top:0;
box-sizing:border-box;
}
body.skin-vector-search-vue #bodyContent #mw-content-text .mw-parser-output > :not(style):not(link) ~ .template-documentation{
margin-top:10px !important;
box-sizing:border-box !important;
}
body.skin-vector-search-vue .mw-parser-output #documentation-meta-data:not(:last-child){
margin-top:3px !important;
margin-bottom:3px !important;
}
body.skin-vector-search-vue .mw-parser-output #documentation-meta-data:last-child{
margin-top:3px !important;
margin-bottom:0 !important;
}
body.skin-vector-search-vue #bodyContent #mw-content-text .mw-container-table-parser-output{
display:block table;
box-sizing:border-box;
position:relative;
width:100%;
height:auto;
margin:0;
margin-bottom:5px;
border-spacing:0;
padding:0;
border-collapse:collapse;
border:0;
}
body.skin-vector-search-vue .catlinks:not(.catlinks-allhidden){
margin: 5px 0;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > p:first-of-type{
margin-top:0.3em;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p):not(:empty) + p:first-of-type{
margin-top:0.5em;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p):not(.blank) + p:first-of-type{
margin-top:0.5em;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p):not(:-moz-only-whitespace) + p:first-of-type{
margin-top:0.5em;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p):not(:blank) + p:first-of-type{
margin-top:0.5em;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p).floatleft + p:first-of-type,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p).floatright + p:first-of-type,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p).tleft + p:first-of-type,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p).tright + p:first-of-type{
margin-top:0;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > p:last-child{
margin-bottom:0.3em;
}
body.skin-vector-search-vue pre{
margin-top:8px;
margin-bottom:8px;
padding:11px;
background-color: #f8f9fa;
color: #000;
border: 1px solid #eaecf0;
box-sizing:border-box;
}
body.skin-vector-search-vue div.mw-highlight > pre{
margin-top:8px;
margin-bottom:8px;
}
body.ns-828.skin-vector-search-vue.action-view #mw-content-text .mw-parser-output > div.mw-highlight:last-child > pre:last-child{
margin-top:5px;
margin-bottom:0;
}
body.skin-vector-search-vue.action-view #mw-content-text .mw-parser-output > div.mw-highlight:last-child > pre:last-child{
margin-bottom:0;
margin-top:5px;
}
body.ns-828.skin-vector-search-vue:not(.action-view) #mw-content-text .mw-parser-output > div.mw-highlight:last-child > pre:last-child{
margin-top:0px;
margin-bottom:0;
}
body.skin-vector-search-vue:not(.action-view) #mw-content-text .mw-parser-output > div.mw-highlight:last-child > pre:last-child{
margin-bottom:0;
margin-top:0;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > div.mw-highlight:only-child > pre:only-child{
margin-bottom:0 !important;
margin-top:0 !important;
}
body.skin-vector-search-vue .oo-ui-panelLayout-padded.oo-ui-panelLayout-framed{
margin:0 0 8px 0;
}
body.skin-vector-search-vue .mw-body > h1{
margin-bottom:0;
}
body.skin-vector-search-vue #central-auth-images{
display:none;
}
body.skin-vector-search-vue .mw-message-box{
margin-top:10px;
margin-bottom:10px;
}
body.skin-vector-search-vue #contentSub:not(:empty) ~ #mw-content-text > .mw-message-box:first-child{
margin-top:6px;
margin-bottom:10px;
}
body.skin-vector-search-vue:not(.ns-special) #contentSub > .mw-message-box{
margin-top:0;
margin-bottom:10px;
}
body.skin-vector-search-vue.ns-special #contentSub > .mw-message-box{
margin-top:10px;
margin-bottom:10px;
}
body.skin-vector-search-vue #contentSub > .subpages ~ .mw-message-box,
body.skin-vector-search-vue #contentSub > #pwContent ~ .mw-message-box{
margin-bottom:10px;
margin-top:0;
}
body.skin-vector-search-vue #wikiPreview.ontop{
margin-bottom:5px;
}
body.skin-vector-search-vue.skin-vector-disable-max-width #wikiPreview{
max-width:100%;
}
body.skin-vector-search-vue .previewnote{
margin-bottom:10px;
}
body.skin-vector-search-vue form#editform{
margin-top:5px;
margin-bottom:5px;
}
body.skin-vector-search-vue #editform::after{
display:block;
}
body.skin-vector-search-vue .editOptions{
margin-bottom:10px;
}
body.skin-vector-search-vue .mw-category-generated > #mw-pages > h2, body.skin-vector-search-vue .mw-category-generated > #mw-subcategories > h2, body.skin-vector-search-vue .mw-category-generated > #mw-category-media > h2{
margin-top:15px !important;
}
body.skin-vector-search-vue .mw-category-generated > #mw-pages:last-child, body.skin-vector-search-vue .mw-category-generated > #mw-subcategories:last-child, body.skin-vector-search-vue .mw-category-generated > #mw-category-media:last-child{
margin-bottom:10px;
}
body.skin-vector-search-vue .mw-parser-output + .mw-category-generated > p:first-child,
body.skin-vector-search-vue .noarticletext + .mw-category-generated > p:first-child{
margin-bottom:0;
margin-top:0;
}
body.skin-vector-search-vue .mw-category-generated > *:first-child > h2{
margin-top:15px !important;
}
body.skin-vector-search-vue .mw-category-generated{
margin-bottom:5px;
}
body.skin-vector-search-vue .mw-editfooter-list{
margin-bottom:0;
}
body.skin-vector-search-vue #mw-clearyourcache:first-child > p:first-child{
margin-top:0;
}
body.skin-vector-search-vue .vector-menu-portal {
margin: 0;
margin-left:5px;
padding: 0.2em 0 0 0;
direction: ltr;
}
body.skin-vector-search-vue .vector-menu-portal .vector-menu-content{
margin-left: 3px;
}
body.skin-vector-search-vue #mw-panel nav:first-child .vector-menu-content {
margin-left: 0;
}
body.skin-vector-search-vue .vector-menu-portal .vector-menu-heading{
margin-left:3px;
}
body.skin-vector-search-vue .mw-undelete-pagetitle > p:first-child{
margin-top:0;
}
body.skin-vector-search-vue .mw-delete-warning-revisions{
display:block;
margin-top:10px;
}
body.skin-vector-search-vue #p-lang-btn-label{
min-height:25px;
padding:5px 25px 3px 5px;
}
body.skin-vector-search-vue .mw-delete-editreasons + h2,
body.skin-vector-search-vue .mw-protect-editreasons + h2{
margin-top:0 !important;
}
body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container{
margin-right:0;
padding-right:0;
}
body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container{
margin-right: 0;
padding-right:0;
}
body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container #right-navigation{
margin-right:4px;
}
body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container #right-navigation{
margin-right: 4px;
}
body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container #right-navigation::before{
display: flex;
content: '';
width: auto;
flex-direction: row;
flex: 1 1 auto;
box-sizing:border-box;
}
body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container #right-navigation .vector-menu-content{
right:0;
}
body.skin-vector-search-vue .mw-table-of-contents-container{
direction: rtl;
align-self:auto;
background-color:white;
background-image: url('//upload.wikimedia.org/wikipedia/commons/thumb/b/ba/Wikibooks_multicolor_open_book_no_text.svg/200px-Wikibooks_multicolor_open_book_no_text.svg.png');
z-index:1;
}
body.skin-vector-search-vue .mw-table-of-contents-container:not(:-moz-only-whitespace){
margin-right:8px;
margin-left:5px;
}
body.skin-vector-search-vue .mw-table-of-contents-container.sidebar_obecny{
margin-right:8px;
margin-left:5px;
}
body.skin-vector-search-vue .mw-table-of-contents-container{
max-width:200px;
box-sizing:border-box;
position:static;
margin-bottom:5px;
}
body.skin-vector-search-vue .mw-table-of-contents-container:not(:-moz-only-whitespace){
width:200px;
max-height:100%;
}
body.skin-vector-search-vue .mw-table-of-contents-container.sidebar_obecny{
width:200px;
max-height:100%;
}
body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{
width:200px;
direction: rtl;
overflow-x:hidden;
overflow-y:auto;
margin-right:0;
margin-left:0;
display:block !important;
border:0 !important;
max-height:100%;
}
html.client-nojs body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{
margin-top:0 !important;
top:54px !important;
max-height:calc( 100vh - 54px ) !important;
}
html:not(.client-nojs) body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{
margin-top:54px !important;
}
body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc .sidebar-toc-contents{
direction:ltr;
}
html.client-nojs body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{
position:sticky;
top:5px;
}
html:not(.client-nojs) body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{
top:0;
position:absolute;
}
body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{
max-width:700px;
min-width:200px;
display:block;
left:auto;
}
body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc:not(:hover) .sidebar-toc-level-2{
display:none;
}
body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc:not(:hover){
width:200px;
transition: width 250ms ease-out;
transition-property: width;
transition-duration: 250ms;
transition-timing-function: ease-out;
transition-delay: 0s;
}
body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc:hover{
width:auto;
transition: width 250ms ease-out;
transition-property: width;
transition-duration: 250ms;
transition-timing-function: ease-out;
transition-delay: 0s;
}
body.skin-vector-search-vue .mw-table-of-contents-container button.vector-toc-collapse-button{
display:inline;
}
body.skin-vector-search-vue .mw-article-toolbar-container{
margin-left:0 !important;
}
body.skin-vector-search-vue .mw-checkbox-hack-checkbox:checked ~ .mw-workspace-container .mw-content-container,
body.skin-vector-search-vue .mw-checkbox-hack-checkbox:checked ~ .mw-workspace-container #mw-navigation .mw-article-toolbar-container {
margin-left: 0 !important;
}
/*body.skin-vector-search-vue .vector-body h1,
body.skin-vector-search-vue .vector-body h2,
body.skin-vector-search-vue .vector-body h3,
body.skin-vector-search-vue .vector-body h4,
body.skin-vector-search-vue .vector-body h5,
body.skin-vector-search-vue .vector-body h6{
margin-top:0.8em;
}*/
body.skin-vector-search-vue .mw-history-subtitle{
margin-bottom:6px;
}
body.skin-vector-search-vue .printfooter{
display:block;
margin: 5px 0;
padding:5px;
white-space:normal;
border: 1px solid #eaecf0;
box-sizing:border-box;
background-color: white;
}
.client-js body.skin-vector-search-vue .mw-search-form-wrapper {
min-height: 112px;
}
body.skin-vector-search-vue .noarticletext{
margin-bottom:5px;
}
body.skin-vector-search-vue .mw-menu-active{
background-color:#E6E6FA;
}
body.skin-vector-search-vue .mw-menu-inactive{
background-color:#EEE8AA;
}
body.skin-vector-search-vue .mw-menu-active,body.skin-vector-search-vue .mw-menu-inactive{
padding-left:5px !important;
padding-right:5px !important;
margin-left:0 !important;
display:block;
border-radius:5px;
border:1px solid #a2a9b1;
margin-top:3px;
}
body.skin-vector-search-vue .mw-items-active{
display:block;
border-radius:5px;
border:1px solid #a2a9b1;
padding: 0 5px;
margin-top:2px;
}
body.skin-vector-search-vue .mw-items-active > ul{
margin-top:0;
}
body.skin-vector-search-vue .mw-items-inactive{
display:none;
}
body.skin-vector-search-vue .mw-items-active,body.skin-vector-search-vue .mw-items-inactive{
margin-left:0px !important;
}
body.skin-vector-search-vue #mw-sidebar-checkbox:not(:checked){
display:none;
}
n3qckavant84rfmc07w6mi07t8zf92x
437931
437930
2022-08-17T00:56:21Z
Persino
2851
css
text/css
body.skin-vector-search-vue .mw-page-container{
max-width:100%;
min-width:988px;
padding-left:0;
padding-right:0;
border-left: 0;
border-right: 0;
box-sizing:border-box;
display:block;
width:100%;
background-color:white;
height:auto;
}
body.skin-vector-search-vue .mw-content-container{
max-width:100%;
box-sizing:border-box;
padding-left:0 !important;
}
body.skin-vector-search-vue .mw-logo-container{
margin-left: 10px;
margin-right:0;
}
body.skin-vector-search-vue #p-lang-btn-label{
font-size:14px !important;
line-height:1.2em !important;
white-space:nowrap;
}
body.skin-vector-search-vue .mw-indicators{
font-size: calc( 14px * 0.875 );
line-height: 2.0em;
white-space:nowrap;
margin: auto 0 0 0;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content{
display:grid;
grid: 'aa aa aa' auto
'cc cc cc' auto
'bb bb bb' auto
'.. .. ee' auto
'dd dd dd' auto
/ minmax(auto,100%) minmax(auto,100%) auto
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > #top{
grid-area:aa;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .vector-article-toolbar{
grid-area:cc;
margin:0;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .mw-body-header{
grid-area:bb;
top:0;
width:auto !important;
height:auto !important;
margin:0;
margin-right:10px;
box-sizing:border-box;
border-bottom: 1px solid #a2a9b1;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > #p-lang-btn{
grid-area:ee;
height:20px;
width:136px;
height:auto;
margin-left:auto;
top:0;
margin: auto 5px 0 5px;
padding-bottom:8px;
box-sizing:border-box;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > #bodyContent{
grid-area:dd;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .mw-body-header{
display:grid;
grid: 'aa bb' auto
/ minmax(auto,1fr) auto;
width:100%;
min-height: 46px;
box-sizing: border-box;
position: relative;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .mw-body-header > .firstHeading{
display:block !important;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .mw-body-header > .firstHeading:not(:hover){
grid-area:aa;
margin-bottom:2px;
width:100%;
max-width:fit-content;
max-width:-moz-fit-content;
margin-bottom: 0;
margin-top: auto;
border-bottom: none;
padding-left: 3px;
padding-right: 3px;
border-bottom: 0;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #content > .mw-body-header > .mw-indicators{
grid-area: bb;
width: auto;
height: 1.6em;
margin-bottom: 5px;
margin-top: auto;
margin-right: 5px;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .mw-body-header > .firstHeading > .plainlinks,
body.skin-vector-search-vue.action-view.ns-special #content > .mw-body-header > .firstHeading > .plainlinks
body.skin-vector-search-vue:not(.action-view) #content > .mw-body-header > .firstHeading > .plainlinks{
padding-bottom:2px;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .mw-body-header > #p-lang-btn{
grid-area:bb;
right:0;
margin:0;
height:auto;
width:auto;
margin-top: auto;
margin-bottom:0;
padding: 0 3px;
box-sizing:border-box;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .mw-body-header,
body.skin-vector-search-vue.action-view.ns-special #content > .mw-body-header,
body.skin-vector-search-vue:not(.action-view) #content > .mw-body-header{
display:grid;
grid:'aa bb' auto
/ minmax(auto,100%) auto;
border-bottom:1px solid #a2a9b1;
margin-top:auto;
margin-bottom:0;
min-height:46px;
box-sizing:border-box;
position:relative;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .mw-body-header > .firstHeading:not(:hover),
body.skin-vector-search-vue.action-view.ns-special #content > .mw-body-header > .firstHeading:not(:hover),
body.skin-vector-search-vue:not(.action-view) #content > .mw-body-header > .firstHeading:not(:hover){
grid-area:aa;
width:100%;
max-width:fit-content;
max-width:-moz-fit-content;
margin-bottom:0;
margin-top:auto;
border-bottom:none;
padding-left:3px;
padding-right:3px;
border-bottom:0;
box-sizing:border-box;
}
body.skin-vector-search-vue.action-view.ns-special #content > .mw-body-header > .mw-indicators,
body.skin-vector-search-vue:not(.action-view) #content > .mw-body-header > .mw-indicators{
grid-area:bb;
right:0;
margin:0;
height:auto;
width:100%;
margin:auto 0 0 auto;
padding: 0 10px;
box-sizing:border-box;
}
body.skin-vector-search-vue.action-view.ns-special #content .mw-body-header > .mw-indicators > .mw-indicator,
body.skin-vector-search-vue:not(.action-view) #content .mw-body-header > .mw-indicators > .mw-indicator{
padding: 2px 0 2px 0;
margin: auto 0 0 0;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content,
body.skin-vector-search-vue.action-view.ns-special #content,
body.skin-vector-search-vue:not(.action-view) #content{
display:grid;
grid:'aa' auto
'bb' auto
'cc' auto
'dd' auto
/ auto;
width:100%;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > #top,
body.skin-vector-search-vue.action-view.ns-special #content > #top,
body.skin-vector-search-vue:not(.action-view) #content > #top{
grid-area:aa;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .vector-article-toolbar,
body.skin-vector-search-vue.action-view.ns-special #content > .vector-article-toolbar,
body.skin-vector-search-vue:not(.action-view) #content > .vector-article-toolbar{
grid-area:bb;
}
body.skin-vector-search-vue .mw-body-header::after{
display:none;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content > .mw-body-header,
body.skin-vector-search-vue.action-view.ns-special #content > .mw-body-header,
body.skin-vector-search-vue:not(.action-view) #content > .mw-body-header{
grid-area:cc;
margin:0;
margin-right:10px;
width:auto;
padding-bottom:0;
}
body.skin-vector-search-vue .mw-body-subheader{
border-bottom:0;
}
/*body.skin-vector-search-vue #siteSub,*/
body.skin-vector-search-vue .firstHeading:not(:hover) > .plainlinks{
display:none;
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
}
/*body.skin-vector-search-vue .firstHeading{
text-shadow:0 2px 0 #FFF,0 3px 0 #AAA,0 3px 4px #AAA;
}*/
body.skin-vector-search-vue .firstHeading > .plainlinks{
text-shadow:none;
}
body.skin-vector-search-vue .firstHeading:not(:hover){
display:block;
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
border-bottom:0;
}
body.skin-vector-search-vue .firstHeading:hover{
display:block;
border:1px solid #eaecf0;
border-radius:10px;
background-color:white;
position:absolute;
top:5px;
left:-3px;
width:auto;
padding:5px;
z-index:1 !important;
}
body.skin-vector-search-vue .mw-body-header > .firstHeading:hover > .plainlinks{
display:block;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #bodyContent > .mw-body-subheader{
margin: 2px 0 3px 0;
min-height:1.6em;
}
body.skin-vector-search-vue.action-view.ns-special #bodyContent > .mw-body-subheader,
body.skin-vector-search-vue:not(.action-view) #bodyContent > .mw-body-subheader{
margin: 0;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #bodyContent > .mw-body-subheader{
margin:0;
margin-top: -2.0em;
font-size: 1.2em;
height: 2em;
margin-bottom:5px;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #bodyContent > .mw-body-subheader > #siteSub{
display:block !important;
width:auto;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #bodyContent > .mw-body-subheader> .mw-indicators{
margin-left:5px;
margin-right:3px;
display:block;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #bodyContent > .mw-body-subheader> #siteSub{
display:block;
}
body.skin-vector-search-vue .firstHeading,
body.skin-vector-search-vue .firstHeading > .plainlinks{
max-width:100%;
width:auto;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #content #bodyContent,
body.skin-vector-search-vue.action-view.ns-special #content #bodyContent,
body.skin-vector-search-vue:not(.action-view) #content #bodyContent{
grid-area:dd;
}
body.skin-vector-search-vue .mw-article-toolbar-container,
body.skin-vector-search-vue .mw-content-container{
margin-left:0 !important;
}
body.skin-vector-search-vue .mw-page-container-inner{
display:grid;
grid:'aa aa aa' auto
'cc bb bb' auto
'cc dd ee' auto
'cc ff ff' minmax(auto,1fr)
/ auto minmax(auto,1fr) auto;
width:auto;
box-sizing:border-box;
row-gap:0;
}
body.skin-vector-search-vue .mw-page-container-inner > .mw-header{
grid-area:aa;
}
body.skin-vector-search-vue .mw-page-container-inner > #siteNotice{
grid-area:bb;
}
body.skin-vector-search-vue .mw-page-container-inner > .vector-sidebar-container{
grid-area:cc;
}
body.skin-vector-search-vue .mw-page-container-inner > .mw-content-container{
grid-area:dd;
grid-column:auto !important;
}
body.skin-vector-search-vue .mw-page-container-inner > .mw-table-of-contents-container{
grid-area:ee;
}
body.skin-vector-search-vue .mw-page-container-inner > .mw-footer-container{
grid-area:ff;
}
/**/
body.skin-vector-search-vue .mw-workspace-container .mw-content-container,
body.skin-vector-search-vue .mw-workspace-container .mw-content-container #bodyContent,
body.skin-vector-search-vue .mw-workspace-container .mw-content-container #content,
body.skin-vector-search-vue .mw-workspace-container .mw-content-container .mw-body-header{
width:100%;
box-sizing:border-box;
}
body.skin-vector-search-vue .mw-article-toolbar-container .mw-portlet-views {
display: block;
}
body.skin-vector-search-vue .mw-article-toolbar-container .vector-more-collapsible-item {
display: none;
}
body.skin-vector-search-vue .mw-sidebar{
background-color: white;
width:140px;
box-sizing:border-box;
display:block !important;
visibility: visible !important;
opacity: 1 !important;
padding:0;
margin-left:0;
}
body.skin-vector-search-vue .ui-dialog{
font-size:75%;
}
body.skin-vector-search-vue .mw-body-content .error{
font-size:96%;
}
body.skin-vector-search-vue.action-purge .firstHeading{
padding-bottom:3px;
}
body.skin-vector-search-vue .firstHeading .plainlinks{
line-height:1.2em !important;
}
body.skin-vector-search-vue .mw-sidebar #p-navigation .vector-menu-heading{
display:block;
}
body.skin-vector-search-vue .mw-checkbox-hack-checkbox:checked ~ .mw-workspace-container.vector-sidebar-container{
width:0;
transition: width 250ms ease-out;
transition-property: width;
transition-duration: 250ms;
transition-timing-function: ease-out;
transition-delay: 0s;
}
body.skin-vector-search-vue .mw-checkbox-hack-checkbox:not(:checked) ~ .mw-workspace-container.vector-sidebar-container{
width:140px;
transition: width 250ms ease-out;
transition-property: width;
transition-duration: 250ms;
transition-timing-function: ease-out;
transition-delay: 0s;
}
body.skin-vector-search-vue .mw-checkbox-hack-checkbox:checked ~ .mw-workspace-container.vector-sidebar-container > #mw-navigation{
position:absolute;
}
body.skin-vector-search-vue .mw-checkbox-hack-checkbox:not(:checked) ~ .mw-workspace-container.vector-sidebar-container > #mw-navigation{
position:relative;
}
body.skin-vector-search-vue .mw-checkbox-hack-checkbox:checked ~ .mw-workspace-container.vector-sidebar-container > #mw-navigation > .mw-sidebar{
left:-140px;
position:relative;
width:140px;
transition: left 250ms ease-out;
transition-property: left;
transition-duration: 250ms;
transition-timing-function: ease-out;
transition-delay: 0s;
}
body.skin-vector-search-vue .mw-checkbox-hack-checkbox:not(:checked) ~ .mw-workspace-container.vector-sidebar-container > #mw-navigation > .mw-sidebar{
left:0;
position:relative;
width:140px;
transition: left 250ms ease-out;
transition-property: left;
transition-duration: 250ms;
transition-timing-function: ease-out;
transition-delay: 0s;
}
body.skin-vector-search-vue .mw-article-toolbar-container{
max-width:100%;
box-sizing:border-box;
position:relative;
z-index:1;
}
body.skin-vector-search-vue .mw-footer-container{
padding-top:0;
}
body.skin-vector-search-vue .mw-content-container > .mw-body{
margin-left:0;
margin-right:0;
}
body.skin-vector-search-vue .mw-article-toolbar-container > #left-navigation{
margin-left:0;
margin-right:0;
}
body.skin-vector-search-vue .mw-footer-container .mw-footer{
margin-left:10px;
margin-right:0;
padding: 0.75em 5px;
}
body.skin-vector-search-vue .mw-header {
display:flex;
flex-direction: row;
margin: 8px 5px 0 5px;
}
body.skin-vector-search-vue .mw-workspace-container #mw-head{
min-width:832px;
margin-right:5px;
box-sizing:border-box;
}
body.skin-vector-search-vue .mw-logo-icon{
display:block;
}
body.skin-vector-search-vue .vector-user-links .vector-user-menu-more .vector-menu-content-list li.user-links-collapsible-item {
display: block;
}
body.skin-vector-search-vue .vector-search-box-collapses > div{
display:block;
}
body.skin-vector-search-vue a.mw-ui-icon-wikimedia-search{
display:none;
}
body.skin-vector-search-vue .vector-sticky-header{
height:3.2em;
padding: 6px 25px;
display:flex;
flex-direction:row;
min-width:700px;
margin-left:auto;
margin-right:auto;
width:90%;
text-align:center;
box-sizing:border-box;
}
@media screen and (max-width: 830px){
body.skin-vector-search-vue .vector-sticky-header{
display: none;
}
}
html.client-nojs body.skin-vector-search-vue .vector-sticky-header{
display:none !important;
}
body.skin-vector-search-vue .wvui-typeahead-suggestion{
padding-top:4px;
padding-bottom:4px;
text-align:left;
}
body.skin-vector-search-vue .vector-sticky-header.vector-header-search-toggled{
flex-basis: 460px;
box-sizing:border-box;
}
body.skin-vector-search-vue .vector-search-box, body.skin-vector-search-vue .vector-search-box-vue .vector-search-box-input, body.skin-vector-search-vue #p-search #searchform #simpleSearch{
font-size:calc( 14px * 1.042 );
line-height:1.2em;
height:30px;
min-height:30px;
box-sizing:border-box;
}
body.skin-vector-search-vue #p-search #searchform #simpleSearch,
body.skin-vector-search-vue .vector-search-box{
width:460px;
}
body.skin-vector-search-vue .mw-header #p-search #searchform #simpleSearch{
margin-left:10px;
width:460px;
box-sizing:border-box;
}
.client-js body.skin-vector-search-vue .vector-search-box-show-thumbnail.vector-search-box-auto-expand-width .vector-search-box-input, .client-js .vector-search-box-vue .vector-search-box-show-thumbnail.vector-search-box-auto-expand-width .vector-search-box-input{
margin-left:0;
box-sizing:border-box;
width:460px;
}
.client-js body.skin-vector-search-vue .vector-search-box-show-thumbnail.vector-search-box-auto-expand-width .searchButton, .client-js .vector-search-box-vue .vector-search-box-show-thumbnail.vector-search-box-auto-expand-width .searchButton{
left:0;
}
body.skin-vector-search-vue .mw-header .vector-search-box.vector-search-box-auto-expand-width{
margin-left:10px;
}
body.skin-vector-search-vue .mw-header .vector-search-box.vector-search-box-auto-expand-width > div{
width:460px;
box-sizing:border-box;
}
body.skin-vector-search-vue .vector-search-box-vue .searchButton{
background-size: 20px auto;
}
.client-js body.skin-vector-search-vue .vector-search-box-input{
padding-left:36px;
padding-right:8px;
}
body.skin-vector-search-vue .mw-header .vector-search-box.vector-search-box-auto-expand-width > div{
max-width:460px;
}
body.skin-vector-search-vue .mw-logo{
min-width:144px;
}
body.skin-vector-search-vue .mw-ui-icon,.mw-ui-icon-before::before{
font-size:14px;
}
body.skin-vector-search-vue .mw-sidebar-action{
display:none;
}
body.skin-vector-search-vue, body.skin-vector-search-vue .mw-editsection{
font-family: Arial, Helvetica, "Free Helvetian", FreeSans, sans-serif;
font-stretch:normal;
font-variant:normal;
font-style:normal;
font-weight:normal;
font-size-adjust:none;
letter-spacing:normal;
word-spacing:normal;
text-align:left;
word-wrap:break-word;
hyphens:auto;
}
body.skin-vector-search-vue{
font-size:calc( 14px * 1.042 );
line-height:1.2em;
background-color:#ffffff;
}
body.skin-vector-search-vue .mw-editsection{
font-size:12px;
line-height:1.2em;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #contentSub:empty,
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #contentSub ~ #contentSub2:empty{
margin:0;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #contentSub:not(:empty),
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna):not(.ns-special) #contentSub ~ #contentSub2:not(:empty){
margin-bottom:5px;
margin-top:3px;
margin-left:0;
}
body.skin-vector-search-vue.action-view.ns-special #contentSub:not(:empty),
body.skin-vector-search-vue.action-view.ns-special #contentSub:not(:empty) ~ #contentSub2,
body.skin-vector-search-vue.action-view.ns-special #contentSub:empty ~ #contentSub2:not(:empty){
margin:5px 0;
}
body.skin-vector-search-vue.ns-special #contentSub:empty{
margin:2px 0 3px 0;
}
body.skin-vector-search-vue.ns-special #contentSub:empty ~ #contentSub2:empty{
margin:10px 0;
}
body.skin-vector-search-vue:not(.action-view) .mw-body-subheader:-moz-only-whitespace ~ #contentSub > .mw-message-box{
margin:13px 0;
}
body.skin-vector-search-vue:not(.action-view) .mw-body-subheader.blank #contentSub > .mw-message-box{
margin:13px 0;
}
body.skin-vector-search-vue:not(.action-view) #contentSub:empty{
margin:2px 0 3px 0;
}
body.skin-vector-search-vue:not(.action-view) #contentSub:empty ~ #contentSub2:empty{
margin:13px 0;
}
body.skin-vector-search-vue:not(.action-view) #contentSub:not(:empty),
body.skin-vector-search-vue:not(.action-view) #contentSub:not(:empty) ~ #contentSub2{
margin: 5px 0 2px 0;
}
body.skin-vector-search-vue:not(.action-view) #contentSub:empty ~ #contentSub2:not(:empty){
margin: 5px 0 3px 0;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #contentSub,
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna #contentSub2{
margin:0;
}
body.skin-vector-search-vue.action-edit #contentSub:not(:empty) ~ #mw-content-text > form#editform{
margin-top:0;
}
body.skin-vector-search-vue.action-view #pwContent,
body.skin-vector-search-vue:not(.action-view) #pwContent,
body.skin-vector-search-vue.action-view .subpages,
body.skin-vector-search-vue:not(.action-view) .subpages{
margin:0;
font-size:12px;
line-height:1.2em;
margin-bottom:6px;
}
body.skin-vector-search-vue.action-view:not(.page-Wikibooks_Strona_główna) .warningbox,
body.skin-vector-search-vue:not(.action-view) .warningbox{
margin:10px 0;
}
body.skin-vector-search-vue #mw-previewheader{
margin-top:14px;
margin-bottom:10px;
}
body.skin-vector-search-vue .mw-userconfigpublic{
margin-top:8px;
}
body.skin-vector-search-vue .mw-contributions-user-tools{
margin-bottom:6px;
}
body.skin-vector-search-vue:not(.action-view) .mw-body,
body.skin-vector-search-vue.action-view.ns-special .mw-body{
padding: 8px 0 10px 8px;
position:relative;
z-index:0;
}
body.skin-vector-search-vue.action-view.page-Wikibooks_Strona_główna .mw-body,
body.skin-vector-search-vue.action-view:not(.ns-special):not(.page-Wikibooks_Strona_główna) .mw-body{
padding: 4px 0 10px 8px;
position:relative;
z-index:0;
}
body.skin-vector-search-vue #centralNotice:not(:empty){
margin:10px 15px 8px 15px;
}
body.skin-vector-search-vue .mw-content-container{
min-width:848px;
}
body.skin-vector-search-vue #content{
margin-left:0px;
min-width:848px;
box-sizing:border-box;
}
body.skin-vector-search-vue #mw-content-text{
clear:both;
}
body.skin-vector-search-vue #bodyContent{
box-sizing:border-box;
min-width:832px;
height:auto;
clear:both;
padding: 0 15px 0 8px;
}
body.skin-vector-search-vue .mw-table-of-contents-container:not(:-moz-only-whitespace) ~ .mw-content-container #bodyContent{
padding: 0 8px;
}
body.skin-vector-search-vue .mw-table-of-contents-container.sidebar_obecny ~ .mw-content-container #bodyContent{
padding: 0 8px;
}
body.skin-vector-search-vue .mw-table-of-contents-container:not(:-moz-only-whitespace) ~ .mw-content-container .mw-body-header{
margin-right:3px !important;
}
body.skin-vector-search-vue .mw-table-of-contents-container.sidebar_obecny ~ .mw-content-container .mw-body-header{
margin-right:3px !important;
}
body.skin-vector-search-vue.action-view #bodyContent #mw-content-text .mw-parser-output,
body.skin-vector-search-vue:not(.action-view) #bodyContent #mw-content-text .mw-parser-output{
min-width:822px;
box-sizing:border-box;
display:block;
height:auto;
position:relative;
}
body.skin-vector-search-vue.action-view #bodyContent #mw-content-text .mw-parser-output::after,
body.skin-vector-search-vue:not(.action-view) #bodyContent #mw-content-text .mw-parser-output::after{
display:block;
content:'';
clear:both;
}
body.skin-vector-search-vue.ns-10 #mw-content-text .mw-parser-output > :not(style):not(link):not(#documentation-meta-data):not(.template-documentation) ~ *:first-of-type,
body.skin-vector-search-vue.ns-828 #mw-content-text .mw-parser-output > :not(style):not(link):not(#documentation-meta-data):not(.template-documentation) ~ *:first-of-type{
margin-top:5px !important;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(style):not(link):not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p):first-child{
margin-top:0 !important;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(style):not(link) ~ :not(style):not(link):not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p):not(.div-linia):first-of-type{
margin-top:5px !important;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > div.div-linia + *{
margin-top:0px !important;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1:first-child,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2:first-child,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3:first-child,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4:first-child,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5:first-child,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6:first-child,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h1:first-of-type,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h2:first-of-type,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h3:first-of-type,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h4:first-of-type,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h5:first-of-type,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(p) + h6:first-of-type{
margin-top:0.5em !important;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h1,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h2,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h3,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h4,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h5,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h1 ~ h6,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h1,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h2,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h3,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h4,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h5,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h2 ~ h6,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h1,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h2,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h3,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h4,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h5,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h3 ~ h6,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h1,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h2,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h3,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h4,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h5,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h4 ~ h6,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h1,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h2,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h3,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h4,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h5,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h5 ~ h6,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h1,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h2,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h3,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h4,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h5,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > h6 ~ h6{
margin-top:0.8em;
}
body.skin-vector-search-vue .tdg-editscreen-main{
margin-top:9px;
margin-bottom:10px;
}
body.skin-vector-search-vue .mw-specialpage-summary > p:first-child{
margin: 0 0 4px 0;
}
body.skin-vector-search-vue .mw-rcfilters-head{
margin-bottom:15px;
}
body.skin-vector-search-vue.mw-special-Watchlist .mw-rcfilters-head{
min-height: 280px;
}
body.skin-vector-search-vue #bodyContent #mw-content-text .mw-parser-output .template-documentation:first-of-type{
margin-top:0;
box-sizing:border-box;
}
body.skin-vector-search-vue #bodyContent #mw-content-text .mw-parser-output > :not(style):not(link) ~ .template-documentation{
margin-top:10px !important;
box-sizing:border-box !important;
}
body.skin-vector-search-vue .mw-parser-output #documentation-meta-data:not(:last-child){
margin-top:3px !important;
margin-bottom:3px !important;
}
body.skin-vector-search-vue .mw-parser-output #documentation-meta-data:last-child{
margin-top:3px !important;
margin-bottom:0 !important;
}
body.skin-vector-search-vue #bodyContent #mw-content-text .mw-container-table-parser-output{
display:block table;
box-sizing:border-box;
position:relative;
width:100%;
height:auto;
margin:0;
margin-bottom:5px;
border-spacing:0;
padding:0;
border-collapse:collapse;
border:0;
}
body.skin-vector-search-vue .catlinks:not(.catlinks-allhidden){
margin: 5px 0;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > p:first-of-type{
margin-top:0.3em;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p):not(:empty) + p:first-of-type{
margin-top:0.5em;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p):not(.blank) + p:first-of-type{
margin-top:0.5em;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p):not(:-moz-only-whitespace) + p:first-of-type{
margin-top:0.5em;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p):not(:blank) + p:first-of-type{
margin-top:0.5em;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p).floatleft + p:first-of-type,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p).floatright + p:first-of-type,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p).tleft + p:first-of-type,
body.skin-vector-search-vue #mw-content-text .mw-parser-output > :not(p).tright + p:first-of-type{
margin-top:0;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > p:last-child{
margin-bottom:0.3em;
}
body.skin-vector-search-vue pre{
margin-top:8px;
margin-bottom:8px;
padding:11px;
background-color: #f8f9fa;
color: #000;
border: 1px solid #eaecf0;
box-sizing:border-box;
}
body.skin-vector-search-vue div.mw-highlight > pre{
margin-top:8px;
margin-bottom:8px;
}
body.ns-828.skin-vector-search-vue.action-view #mw-content-text .mw-parser-output > div.mw-highlight:last-child > pre:last-child{
margin-top:5px;
margin-bottom:0;
}
body.skin-vector-search-vue.action-view #mw-content-text .mw-parser-output > div.mw-highlight:last-child > pre:last-child{
margin-bottom:0;
margin-top:5px;
}
body.ns-828.skin-vector-search-vue:not(.action-view) #mw-content-text .mw-parser-output > div.mw-highlight:last-child > pre:last-child{
margin-top:0px;
margin-bottom:0;
}
body.skin-vector-search-vue:not(.action-view) #mw-content-text .mw-parser-output > div.mw-highlight:last-child > pre:last-child{
margin-bottom:0;
margin-top:0;
}
body.skin-vector-search-vue #mw-content-text .mw-parser-output > div.mw-highlight:only-child > pre:only-child{
margin-bottom:0 !important;
margin-top:0 !important;
}
body.skin-vector-search-vue .oo-ui-panelLayout-padded.oo-ui-panelLayout-framed{
margin:0 0 8px 0;
}
body.skin-vector-search-vue .mw-body > h1{
margin-bottom:0;
}
body.skin-vector-search-vue #central-auth-images{
display:none;
}
body.skin-vector-search-vue .mw-message-box{
margin-top:10px;
margin-bottom:10px;
}
body.skin-vector-search-vue #contentSub:not(:empty) ~ #mw-content-text > .mw-message-box:first-child{
margin-top:6px;
margin-bottom:10px;
}
body.skin-vector-search-vue:not(.ns-special) #contentSub > .mw-message-box{
margin-top:0;
margin-bottom:10px;
}
body.skin-vector-search-vue.ns-special #contentSub > .mw-message-box{
margin-top:10px;
margin-bottom:10px;
}
body.skin-vector-search-vue #contentSub > .subpages ~ .mw-message-box,
body.skin-vector-search-vue #contentSub > #pwContent ~ .mw-message-box{
margin-bottom:10px;
margin-top:0;
}
body.skin-vector-search-vue #wikiPreview.ontop{
margin-bottom:5px;
}
body.skin-vector-search-vue.skin-vector-disable-max-width #wikiPreview{
max-width:100%;
}
body.skin-vector-search-vue .previewnote{
margin-bottom:10px;
}
body.skin-vector-search-vue form#editform{
margin-top:5px;
margin-bottom:5px;
}
body.skin-vector-search-vue #editform::after{
display:block;
}
body.skin-vector-search-vue .editOptions{
margin-bottom:10px;
}
body.skin-vector-search-vue .mw-category-generated > #mw-pages > h2, body.skin-vector-search-vue .mw-category-generated > #mw-subcategories > h2, body.skin-vector-search-vue .mw-category-generated > #mw-category-media > h2{
margin-top:15px !important;
}
body.skin-vector-search-vue .mw-category-generated > #mw-pages:last-child, body.skin-vector-search-vue .mw-category-generated > #mw-subcategories:last-child, body.skin-vector-search-vue .mw-category-generated > #mw-category-media:last-child{
margin-bottom:10px;
}
body.skin-vector-search-vue .mw-parser-output + .mw-category-generated > p:first-child,
body.skin-vector-search-vue .noarticletext + .mw-category-generated > p:first-child{
margin-bottom:0;
margin-top:0;
}
body.skin-vector-search-vue .mw-category-generated > *:first-child > h2{
margin-top:15px !important;
}
body.skin-vector-search-vue .mw-category-generated{
margin-bottom:5px;
}
body.skin-vector-search-vue .mw-editfooter-list{
margin-bottom:0;
}
body.skin-vector-search-vue #mw-clearyourcache:first-child > p:first-child{
margin-top:0;
}
body.skin-vector-search-vue .vector-menu-portal {
margin: 0;
margin-left:5px;
padding: 0.2em 0 0 0;
direction: ltr;
}
body.skin-vector-search-vue .vector-menu-portal .vector-menu-content{
margin-left: 3px;
}
body.skin-vector-search-vue #mw-panel nav:first-child .vector-menu-content {
margin-left: 0;
}
body.skin-vector-search-vue .vector-menu-portal .vector-menu-heading{
margin-left:3px;
}
body.skin-vector-search-vue .mw-undelete-pagetitle > p:first-child{
margin-top:0;
}
body.skin-vector-search-vue .mw-delete-warning-revisions{
display:block;
margin-top:10px;
}
body.skin-vector-search-vue #p-lang-btn-label{
min-height:25px;
padding:5px 25px 3px 5px;
}
body.skin-vector-search-vue .mw-delete-editreasons + h2,
body.skin-vector-search-vue .mw-protect-editreasons + h2{
margin-top:0 !important;
}
body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container{
margin-right:0;
padding-right:0;
}
body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container{
margin-right: 0;
padding-right:0;
}
body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container #right-navigation{
margin-right:4px;
}
body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container #right-navigation{
margin-right: 4px;
}
body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container #right-navigation::before{
display: flex;
content: '';
width: auto;
flex-direction: row;
flex: 1 1 auto;
box-sizing:border-box;
}
body.skin-vector-search-vue .vector-article-toolbar .mw-article-toolbar-container #right-navigation .vector-menu-content{
right:0;
}
body.skin-vector-search-vue .mw-table-of-contents-container{
direction: rtl;
align-self:auto;
background-color:white;
background-image: url('//upload.wikimedia.org/wikipedia/commons/thumb/b/ba/Wikibooks_multicolor_open_book_no_text.svg/200px-Wikibooks_multicolor_open_book_no_text.svg.png');
z-index:1;
}
body.skin-vector-search-vue .mw-table-of-contents-container:not(:-moz-only-whitespace){
margin-right:8px;
margin-left:5px;
}
body.skin-vector-search-vue .mw-table-of-contents-container.sidebar_obecny{
margin-right:8px;
margin-left:5px;
}
body.skin-vector-search-vue .mw-table-of-contents-container{
max-width:200px;
box-sizing:border-box;
position:static;
margin-bottom:5px;
}
body.skin-vector-search-vue .mw-table-of-contents-container:not(:-moz-only-whitespace){
width:200px;
max-height:100%;
}
body.skin-vector-search-vue .mw-table-of-contents-container.sidebar_obecny{
width:200px;
max-height:100%;
}
body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{
width:200px;
direction: rtl;
overflow-x:hidden;
overflow-y:auto;
margin-right:0;
margin-left:0;
display:block !important;
border:0 !important;
max-height:100%;
}
html.client-nojs body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{
margin-top:0 !important;
top:54px !important;
max-height:calc( 100vh - 54px ) !important;
}
html:not(.client-nojs) body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{
margin-top:54px !important;
}
body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc .sidebar-toc-contents{
direction:ltr;
}
html.client-nojs body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{
position:sticky;
top:5px;
}
html:not(.client-nojs) body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{
top:0;
position:absolute;
}
body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc{
max-width:700px;
min-width:200px;
display:block;
left:auto;
}
body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc:not(:hover) .sidebar-toc-level-2{
display:none;
}
body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc:not(:hover){
width:200px;
transition: width 250ms ease-out;
transition-property: width;
transition-duration: 250ms;
transition-timing-function: ease-out;
transition-delay: 0s;
}
body.skin-vector-search-vue .mw-table-of-contents-container .sidebar-toc:hover{
width:auto;
transition: width 250ms ease-out;
transition-property: width;
transition-duration: 250ms;
transition-timing-function: ease-out;
transition-delay: 0s;
}
body.skin-vector-search-vue .mw-table-of-contents-container button.vector-toc-collapse-button{
display:inline;
}
body.skin-vector-search-vue .mw-article-toolbar-container{
margin-left:0 !important;
}
body.skin-vector-search-vue .mw-checkbox-hack-checkbox:checked ~ .mw-workspace-container .mw-content-container,
body.skin-vector-search-vue .mw-checkbox-hack-checkbox:checked ~ .mw-workspace-container #mw-navigation .mw-article-toolbar-container {
margin-left: 0 !important;
}
/*body.skin-vector-search-vue .vector-body h1,
body.skin-vector-search-vue .vector-body h2,
body.skin-vector-search-vue .vector-body h3,
body.skin-vector-search-vue .vector-body h4,
body.skin-vector-search-vue .vector-body h5,
body.skin-vector-search-vue .vector-body h6{
margin-top:0.8em;
}*/
body.skin-vector-search-vue .mw-history-subtitle{
margin-bottom:6px;
}
body.skin-vector-search-vue .printfooter{
display:block;
margin: 5px 0;
padding:5px;
white-space:normal;
border: 1px solid #eaecf0;
box-sizing:border-box;
background-color: white;
}
.client-js body.skin-vector-search-vue .mw-search-form-wrapper {
min-height: 112px;
}
body.skin-vector-search-vue .noarticletext{
margin-bottom:5px;
}
body.skin-vector-search-vue .mw-menu-active{
background-color:#E6E6FA;
}
body.skin-vector-search-vue .mw-menu-inactive{
background-color:#EEE8AA;
}
body.skin-vector-search-vue .mw-menu-active,body.skin-vector-search-vue .mw-menu-inactive{
padding-left:5px !important;
padding-right:5px !important;
margin-left:0 !important;
display:block;
border-radius:5px;
border:1px solid #a2a9b1;
margin-top:3px;
}
body.skin-vector-search-vue .mw-items-active{
display:block;
border-radius:5px;
border:1px solid #a2a9b1;
padding: 0 5px;
margin-top:2px;
}
body.skin-vector-search-vue .mw-items-active > ul{
margin-top:0;
}
body.skin-vector-search-vue .mw-items-inactive{
display:none;
}
body.skin-vector-search-vue .mw-items-active,body.skin-vector-search-vue .mw-items-inactive{
margin-left:0px !important;
}
body.skin-vector-search-vue #mw-sidebar-checkbox:not(:checked){
display:none;
}
5ax6qu7fykeunxuk9z5gk8rzve7qywb
Szablon:ArtykułSubst
10
58278
437946
415856
2022-08-17T05:29:27Z
Persino
2851
wikitext
text/x-wiki
<includeonly>{{#ifeq:{{ArtykułSubst|pobierz pełną nazwę artykułu=tak}}|{{FULLPAGENAME}}<!--
-->|{{Błąd|Próbowano wyświetlić artykuł, który jest stroną aktualną.}}<!--
-->|{{#invoke:StronicowyParser|ArtykułSubst}}<!--
-->}}</includeonly><noinclude>{{Dokumentacja}}</noinclude>
cw07c8sa7v4xzt112r8d10471fd2742
437947
437946
2022-08-17T05:34:34Z
Persino
2851
wikitext
text/x-wiki
<includeonly>{{#ifeq:{{#invoke:StronicowyParser|pobierz pełną nazwę artykułu=tak|wyspecjalizowana=tak}}|{{FULLPAGENAME}}<!--
-->|{{Błąd|Próbowano wyświetlić artykuł, który jest stroną aktualną.}}<!--
-->|{{#invoke:StronicowyParser|ArtykułSubst}}<!--
-->}}</includeonly><noinclude>{{Dokumentacja}}</noinclude>
imr9hfydtfxz3jk3az0izxfac3wg7uf
437948
437947
2022-08-17T05:35:18Z
Persino
2851
wikitext
text/x-wiki
<includeonly>{{#ifeq:{{#invoke:StronicowyParser|ArtykułSubst|pobierz pełną nazwę artykułu=tak|wyspecjalizowana=tak}}|{{FULLPAGENAME}}<!--
-->|{{Błąd|Próbowano wyświetlić artykuł, który jest stroną aktualną.}}<!--
-->|{{#invoke:StronicowyParser|ArtykułSubst}}<!--
-->}}</includeonly><noinclude>{{Dokumentacja}}</noinclude>
od8x2iaf8cmtev9ggtarda3lnoh3ud8
437949
437948
2022-08-17T05:36:42Z
Persino
2851
wikitext
text/x-wiki
<includeonly>{{#invoke:StronicowyParser|ArtykułSubst}}</includeonly><noinclude>{{Dokumentacja}}</noinclude>
36t4ofd06e744xlhykhsu9tvdv60lmg
Wikipedysta:Persino/common.js
2
58552
437876
437843
2022-08-16T14:55:18Z
Persino
2851
javascript
text/javascript
mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true );
/**/
/* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony.
*/
/*
* Zmienna Common.pageInfo, jego elementy, instrukcja obsługi:
* Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber)
* Common.pageInfo.name pełna nazwa strony
* Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash
* Common.pageInfo.book tytuł książki
* Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get"
* Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL
*/
/*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/
var Common_zmienna_z_MediaWiki_Wikibooks=this['Common'];
/*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/
var Common=new Array();
/*Funkcja, by nie było przecieków pamięci*/
(function(Common_zmienna_z_MediaWiki_Wikibooks,Common){
/*Funkcja zwraca zmienną Common ze strony MediaWiki:Common.js, gdy użytkownik ma właną zmienną Common w swoim common.js, w przeciwnym wypadku zwraca undefined.*/
Common.MediaWikiCommon=function(){return Common_zmienna_z_MediaWiki_Wikibooks;}
/*Funkcja zwraca zmienną Common ze strony User:<Użytkownik>/common.js, jeżeli użytkownik ma własną zmienną Common we własnym common.js, w przeciwnym wypadku zwraca Common, ze strony MediaWiki:Common.js.*/
Common.UserCommon=function(){return Common;}
/*Sprawdza, czy użytkownik ma własną zmienną Common.*/
Common.IsUserCommon=function(){return ((Common_zmienna_z_MediaWiki_Wikibooks)?true:false);};
// Frame Busting
Common.LokowanieTopSelf=function(){
if (top != self) top.location.href = self.location.href;
};
$(Common.LokowanieTopSelf);
/*Funkcja zdarzeń odrejestrowania i rejestrowania*/
Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen,tylko_odrejestruj){
/*
css - adres html obiektu,
zdarzenie - zdarzenie jak click,
funkcja_zdarzen - nazwa funkcji zdarzeń w starej przestrzeni Common lub nowej, jak StickyXY,
tylko_odrejestruj - czy tylko zdarzenie ma odrejestrować w starej przestrzeni Common.
*/
if((css)&&(zdarzenie)&&(funkcja_zdarzen)){
/*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/
if((Common_zmienna_z_MediaWiki_Wikibooks)&&(Common_zmienna_z_MediaWiki_Wikibooks[funkcja_zdarzen])){
$(css).off(zdarzenie,Common_zmienna_z_MediaWiki_Wikibooks[funkcja_zdarzen]);
}
if((!tylko_odrejestruj)&&(Common)&&(Common[funkcja_zdarzen])){
/*Rejestrowanie zdarzeń, ale z tej strony .js*/
$(css).on(zdarzenie, Common[funkcja_zdarzen]);
}
}
}
/*Funkcje w przestrzeni nazw Common*/
Common.Naglowek=function(){
/* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */
var hideAll = document.getElementById('mójNagłówekUkryj');
var noFooter = false;
var footers = 0;
var tags = document.getElementsByTagName('div');
for (var i = 0; i < tags.length; i++) {
var el=tags[i].getAttribute("id");
if (el=='mojaStopka')
footers++;
else if (hideAll && (el=='mójNagłówek')) {
tags[i].innerHTML="";
noFooter=true;
}
}
if (noFooter) return;
var footer = document.getElementById('mojaStopka');
if ((footer !== null) && (footers==1)) {
var bodyContent = document.getElementById('bodyContent');
if (bodyContent !== null) {
var s0=document.getElementById('mojaStopka0');
var s1=document.getElementById('mojaStopka1');
if ((s1 !== null) ||
((s0 === null) && (bodyContent.innerHTML.length>8000))){
var strona=document.getElementById('strona');
if(strona!==null){
strona.appendChild(footer);
}else{
var catlinks=document.getElementById('catlinks');
if(catlinks !== null){
bodyContent.insertBefore(footer,catlinks);
}else{
bodyContent.appendChild(footer);
}
}
}
}
}
/* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */
};
$(Common.Naglowek);
/*Informacje o danej stronie*/
Common.PageInfoInit=function(){
var _g = /_/g;
this.name = mw.config.get('wgPageName').replace(/_/g, ' ');
this.namespace = mw.config.get('wgNamespaceNumber');
var i = this.name.search(/\/[^\/]*$/g);
this.title = this.name.slice(i + 1);
this.book = this.name.replace(/\/.*/g, "");
if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) {
re = /\&diff=/g;
this.diff = re.test(document.URL);
re = /\&action=[^\&]*/g;
this.action = document.URL.match(re);
if ( this.action === null ) {
this.action = 'get';
} else {
this.action = this.action[0].slice(8, this.action[0].length);
}
} else {
this.diff = null;
this.action = 'get';
}
}
Common.pageInfo = new Common.PageInfoInit();
/** Collapsible tables *********************************************************
*
* Description: Allows tables to be collapsed, showing only the header. See
* [[en:Wikipedia:NavFrame]].
* Maintainers: [[User:R. Koot]]
*/
Common.autoCollapse = 2;
Common.collapseCaption = "ukryj";
Common.expandCaption = "pokaż";
Common.collapseTable=function( tableIndex )
{
var Button = document.getElementById( "collapseButton" + tableIndex );
var Table = document.getElementById( "collapsibleTable" + tableIndex );
if ( !Table || !Button ) {
return false;
}
var Rows = Table.rows;
if ( Button.firstChild.data == Common.collapseCaption ) {
for ( var i = 1; i < Rows.length; i++ ) {
Rows[i].style.display = "none";
}
Button.firstChild.data = Common.expandCaption;
} else {
for ( var i = 1; i < Rows.length; i++ ) {
Rows[i].style.display = Rows[0].style.display;
}
Button.firstChild.data = Common.collapseCaption;
}
}
Common.createCollapseButtons=function()
{
var tableIndex = 0;
var NavigationBoxes = new Object();
var Tables = document.getElementsByTagName( "table" );
for ( var i = 0; i < Tables.length; i++ ) {
if ( $(Tables[i]).hasClass( "collapsible" ) ) {
/* only add button and increment count if there is a header row to work with */
var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0];
if (!HeaderRow) continue;
var Header = HeaderRow.getElementsByTagName( "th" )[0];
if (!Header) continue;
NavigationBoxes[ tableIndex ] = Tables[i];
Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex );
var Button = document.createElement( "span" );
var ButtonLink = document.createElement( "a" );
var ButtonText = document.createTextNode( Common.collapseCaption );
Button.style.styleFloat = "right";
Button.style.cssFloat = "right";
Button.style.fontWeight = "normal";
Button.style.textAlign = "right";
Button.style.width = "6em";
ButtonLink.style.color = Header.style.color;
ButtonLink.setAttribute( "id", "collapseButton" + tableIndex );
ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" );
ButtonLink.appendChild( ButtonText );
Button.appendChild( document.createTextNode( "[" ) );
Button.appendChild( ButtonLink );
Button.appendChild( document.createTextNode( "]" ) );
$(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){
$(element).remove();
});
Header.insertBefore( Button, Header.childNodes[0]);
tableIndex++;
}
}
for ( var i = 0; i < tableIndex; i++ ) {
if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) {
Common.collapseTable( i );
}
else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) {
var element = NavigationBoxes[i];
while (element = element.parentNode) {
if ( $(element).hasClass( "outercollapse" ) ) {
Common.collapseTable ( i );
break;
}
}
}
}
}
$(Common.createCollapseButtons );
/** Dynamic Navigation Bars (experimental) *************************************
*
* Description: See [[Wikipedia:NavFrame]].
* Maintainers: UNMAINTAINED
*/
// set up the words in your language
Common.NavigationBarHide = '[' + Common.collapseCaption + ']';
Common.NavigationBarShow = '[' + Common.expandCaption + ']';
// shows and hides content and picture (if available) of navigation bars
// Parameters:
// indexNavigationBar: the index of navigation bar to be toggled
Common.toggleNavigationBar=function(indexNavigationBar)
{
var NavToggle = document.getElementById("NavToggle" + indexNavigationBar);
var NavFrame = document.getElementById("NavFrame" + indexNavigationBar);
if (!NavFrame || !NavToggle) {
return false;
}
// if shown now
if (NavToggle.firstChild.data == Common.NavigationBarHide) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) ) {
NavChild.style.display = 'none';
}
if ( $(NavChild).hasClass( 'NavContent') ) {
NavChild.style.display = 'none';
}
}
NavToggle.firstChild.data = Common.NavigationBarShow;
// if hidden now
} else if (NavToggle.firstChild.data == Common.NavigationBarShow) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ($(NavChild).hasClass( 'NavPic')) {
NavChild.style.display = 'block';
}
if ($(NavChild).hasClass( 'NavContent')) {
NavChild.style.display = 'block';
}
}
NavToggle.firstChild.data = Common.NavigationBarHide;
}
}
// adds show/hide-button to navigation bars
Common.createNavigationBarToggleButton=function()
{
var indexNavigationBar = 0;
// iterate over all < div >-elements
var divs = document.getElementsByTagName("div");
for (var i = 0; NavFrame = divs[i]; i++) {
// if found a navigation bar
if ($(NavFrame).hasClass( "NavFrame")) {
indexNavigationBar++;
var NavToggle = document.createElement("a");
NavToggle.className = 'NavToggle';
NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar);
NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');');
var isCollapsed = $(NavFrame).hasClass( "collapsed" );
/*
* Check if any children are already hidden. This loop is here for backwards compatibility:
* the old way of making NavFrames start out collapsed was to manually add style="display:none"
* to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make
* the content visible without JavaScript support), the new recommended way is to add the class
* "collapsed" to the NavFrame itself, just like with collapsible tables.
*/
for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) {
if ( NavChild.style.display == 'none' ) {
isCollapsed = true;
}
}
}
if (isCollapsed) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) {
NavChild.style.display = 'none';
}
}
}
var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide);
NavToggle.appendChild(NavToggleText);
// Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked)
for(var j=0; j < NavFrame.childNodes.length; j++) {
if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) {
$(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){
$(element).remove();
});
NavFrame.childNodes[j].appendChild(NavToggle);
}
}
NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar);
}
}
}
$(Common.createNavigationBarToggleButton );
// Wyszukiwanie Google na stronach podręczników
Common.googleSearchInitialized = false;
Common.insertGoogleSearch=function() {
if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) {
return;
}
Common.googleSearchInitialized = true;
var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE";
var ul = jQuery('#p-tb ul')[0];
if (!ul) {
return;
}
var link = document.createElement('a');
var book = Common.pageInfo.book;
if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) {
google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22"
}
link.href = google.replace(/PAGE/g, encodeURIComponent(book));
link.appendChild(document.createTextNode("Szukaj w podręczniku"));
var li = document.createElement('li');
li.id = "google-trick-search";
li.appendChild(link);
$(ul).children('li#google-trick-search').each(function(i,element){
$(element).remove();
});
ul.insertBefore(li, ul.firstChild);
}
$(Common.insertGoogleSearch);
/*Funkcja do liczenia szerokościm mapska przewijania w pionowego, wtedy x_box_right=="y", lub poziomego, wtedy inny parametr inny niż dla paska pionowego*/
Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){
var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>');
$('body').append(div);
var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")]();
div.css('overflow-'+(x_box_right||"y"), 'scroll');
var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")]();
$(div).remove();
return (w1 - w2);
}
/*Funkcje do obsługi pasków przewijania*/
Common.ScrollBarOverflow=function(){
$('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){
/*start overflow*/
var comp=window.getComputedStyle(element_g, null);
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var overflow=comp.getPropertyValue("overflow");
var overflow_x=$(element_g).hasClass('mw-overflow-x');
if(overflow_x){
var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
if((overflowX)&&(overflowX=="auto")){
element_g.classList.remove("mw-scrollbar-overflow-x");
const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false
if(hasHorizontalScrollbar){
element_g.classList.add("mw-scrollbar-overflow-x");
}
}
}
var overflow_y=$(element_g).hasClass('mw-overflow-y');
if(overflow_y){
var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflowY)&&(overflowY=="auto")){
element_g.classList.remove("mw-scrollbar-overflow-y");
const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false
if(hasVerticalScrollbar){
element_g.classList.add("mw-scrollbar-overflow-y");
}
}
}
/*koniec overflow*/
});
}
$(Common.ScrollBarOverflow);
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow');
Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow');
});
/*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/
Common.StickyXY=function(){
$('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){
var comp=window.getComputedStyle(element_g, null);
function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){
var pozycje_paskow=new Array();
$(element_g).find('*').each(function(i,element){
var comp=window.getComputedStyle(element, null);
var overflow=comp.getPropertyValue("overflow");
var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){
pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft));
}
});
var height_sticky=0;
$('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){
var rect_sticky=el.getBoundingClientRect();
height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]);
});
var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom);
if(StickyXYTopOld===undefined){
var topold_war=parseFloat(element_g.style[top]);
$(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0));
}
if(StickyXYBottomOld===undefined){
var bottomold_war=parseFloat(element_g.style[bottom]);
$(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0));
}
var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5;
var margintop=parseFloat(comp.getPropertyValue("margin-"+top));
margintop=((!isNaN(margintop))?margintop:0);
var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom));
marginbottom=((!isNaN(marginbottom))?marginbottom:0);
var przodek_height=undefined;
element_g.style[height]="auto";
element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[top]="auto";
element_g.style[bottom]="auto";
if(width_box!=null){
element_g.style[width_box]="auto";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[left_box]="auto";
element_g.style[right_box]="0";
$(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){
element.style[width_box]="auto";
element.classList.remove('mw-scrollbar-overflow-x');
element.classList.remove('mw-scrollbar-overflow-y');
});
}
/**/
var parents_node_fun=$(element_g).parents('.mw-parent-node').first();
if((parents_node_fun==null)||(parents_node_fun.length==0)){return;}
var width_rodzic=null;
var rodzic_element=undefined;
var comp_rodz;
parents_node_fun.each(function(i,element){
comp_rodz=window.getComputedStyle(element,null);
przodek_height=parseFloat(comp_rodz.getPropertyValue([height]));
width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null;
rodzic_element=element;
});
var height_box_real=parseFloat(comp.getPropertyValue(height));
var rect_dziecko=element_g.getBoundingClientRect();
var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))];
var rect_rodzic;
parents_node_fun.each(function(i,element){
rect_rodzic=element.getBoundingClientRect();
});
var top_ab=rect_rodzic[top];
var bottom_ab=(wys-rect_rodzic[bottom]);
var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop);
element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px";
element_g.style[height]="100%";
var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)));
element_g.style[top]=top_obj+"px";
element_g.style[bottom]="auto";
if(width_box!=null){
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
rodzic_element.style.position="static";
rodzic_element.style.overflow="hidden";
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
var rect_dziecko=element_g.getBoundingClientRect();
if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){
if(width_box=="width"){
element_g.classList.remove('mw-scrollbar-overflow-x');
}else{
element_g.classList.remove('mw-scrollbar-overflow-y');
}
if(rect_dziecko[width_box]>width_rodzic){
if(width_box=="width"){
element_g.classList.add('mw-scrollbar-overflow-x');
}else{
element_g.classList.add('mw-scrollbar-overflow-y');
}
}
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box));
margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box));
var dlugosc=(width_rodzic-margin_all);
dlugosc=((dlugosc>=0)?dlugosc:0);
element_g.style.whiteSpace="nowrap";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px";
element_g.style[width_box]=width_box_real+"px";
Common.ScrollBarOverflow();
$(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){
var comp_element=window.getComputedStyle(element, null)
element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat (comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px";
element.classList.remove('mw-scrollbar-overflow-'+x_box);
});
element_g.style.whiteSpace="normal";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[width_box]="auto";
var rect_dziecko=element_g.getBoundingClientRect();
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px";
element_g.style[width_box]=width_box_real+"px";
element_g.style[left_box]="0";
element_g.style[right_box]="auto";
rodzic_element.style.position="relative";
}else{
element_g.style.whiteSpace="nowrap";
var szerokosc_box=rect_dziecko[width_box];
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px";
element_g.style[width_box]=(szerokosc_box)+"px";
Common.ScrollBarOverflow();
$(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){
var comp_element=window.getComputedStyle(element, null);
element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat (comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px";
element.classList.remove('mw-scrollbar-overflow-'+x_box);
});
element_g.style.whiteSpace="normal";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[width_box]="auto";
var rect_dziecko=element_g.getBoundingClientRect();
var szerokosc_box=rect_dziecko[width_box];
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px";
element_g.style[width_box]=(szerokosc_box)+"px";
var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box));
if(parseInt(szerokosc)>parseInt(width_rodzic)){
element_g.style[right_box]="0";
element_g.style[left_box]="auto";
rodzic_element.style.overflow="visible";
}else{
element_g.style[left_box]="0";
element_g.style[right_box]="auto";
rodzic_element.style.position="relative";
}
}
}
element_g.style[height]="auto";
element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px";
Common.ScrollBarOverflow();
for(var i in pozycje_paskow){
pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1];
pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2];
}
}
element_g.classList.add('mw-sticky-js');
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var visibility=comp.getPropertyValue("visibility");
if(visibility=="hidden"){return;}
var position=comp.getPropertyValue("position");
if(position!="absolute"){return;}
var sticky_x=$(element_g).hasClass('mw-sticky-x');
var sticky_y=$(element_g).hasClass('mw-sticky-y');
if((sticky_x)&&(!sticky_y)){
var str=$(element_g).parents('.strona_górna, .strona_dolna').first();
if(str.hasClass('strona_dolna')){
FunStickyXY("width","left","right","height","top","bottom","y","x");
}else if(str.hasClass('strona_górna')){
FunStickyXY("width","left","right","height","bottom","top","y","x");
}
}else if((!sticky_x)&&(sticky_y)){
var str=$(element_g).parents('.strona_prawa, .strona_lewa').first();
if(str.hasClass('strona_prawa')){
FunStickyXY("height","top","bottom","width","left","right","x","y");
}else if(str.hasClass('strona_lewa')){
FunStickyXY("height","top","bottom","width","right","left","x","y");
}
}else if((sticky_x)&&(sticky_y)){
FunStickyXY("width","left","right",null);
FunStickyXY("height","top","bottom",null);
}
});
}
$(Common.StickyXY);
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY');
Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY');
});
/*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/
Common.OptimalXY=function(){
$('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){
var comp=window.getComputedStyle(element_g, null);
function FunOptimalXY(width,left,right){
var pozycje_paskow=new Array();
$(element_g).find('*').each(function(i,element){
var comp=window.getComputedStyle(element, null);
var overflow=comp.getPropertyValue("overflow");
var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){
pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft));
}
});
var width_rodzic=null;
var rodzic_node;
var comp_rodz;
$(element_g).parents('.mw-parent-node').first().each(function(i,element){
comp_rodz=window.getComputedStyle(element,null);
width_rodzic=parseFloat(comp_rodz.getPropertyValue([width]));
rodzic_node=element;
});
if((width_rodzic!=null)&&(!isNaN(width_rodzic))){
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
var width_box_real=parseFloat(comp.getPropertyValue(width));
var rect_dziecko=element_g.getBoundingClientRect();
if(width=="width"){
element_g.classList.remove('mw-scrollbar-overflow-x');
}else{
element_g.classList.remove('mw-scrollbar-overflow-y');
}
if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){
var rect_dziecko=element_g.getBoundingClientRect();
if(rect_dziecko[width]>width_rodzic){
if(width=="width"){
element_g.classList.add('mw-scrollbar-overflow-x');
}else{
element_g.classList.add('mw-scrollbar-overflow-y');
}
}
var width_box_real=parseFloat(comp.getPropertyValue(width));
var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right));
margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right));
var dlugosc=(width_rodzic-margin_all);
dlugosc=((dlugosc>=0)?dlugosc:0);
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px";
}else{
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px";
}
var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first();
if(!str.hasClass('strona_start-nawigacja_boksy')){
var rect_dziecko=element_g.getBoundingClientRect();
var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right));
if(parseInt(szerokosc)>parseInt(width_rodzic)){
str.css('position','static');
}else{
str.css('position','relative');
}
}
}
for(var i in pozycje_paskow){
pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1];
pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2];
}
};
element_g.classList.add('mw-optimal-js');
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var visibility=comp.getPropertyValue("visibility");
if(visibility=="hidden"){return;}
var position=comp.getPropertyValue("position");
if(position!="absolute"){return;}
var optimal_x=$(element_g).hasClass('mw-optimal-x');
var optimal_y=$(element_g).hasClass('mw-optimal-y');
if(optimal_x){
FunOptimalXY("width","left","right");
}
if(optimal_y){
FunOptimalXY("height","top","bottom");
}
});
}
$(Common.OptimalXY);
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY');
Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY');
});
/*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/
Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){
$(obiekt).each(function(i,element_f){
return new Promise(function(resolve,reject){
var czas=0;
function Czekaj(){
if(czas>30000){
reject();
}
var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i);
if((collapsebutton!==null)&&(collapsebutton.length>0)){
var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i);
if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();}
resolve(i);
}else{
mw.log("GABUS1")
czas+=100;
setTimeout(Czekaj,100);
}
}
Czekaj();
}).then(function(i){
$('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){
var href=element_g.getAttribute('href');
if((href!=null)&&(href!="")){
var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*";
var re_frame = new RegExp(col,'g');
var re_javascript=new RegExp("^[\\s;]*javascript:");
if((re_javascript.test(href))&&(re_frame.test(href))){
var href=element_g.getAttribute('href');
if((href!==null)&&(href!="")){
function DodajSkryptJavaScript(fun){
var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g');
var href_nowe=element_g.getAttribute('href');
if(!re.test(href_nowe)){
element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()");
}
}
DodajSkryptJavaScript('Common.ScrollBarOverflow');
DodajSkryptJavaScript('Common.StickyXY');
DodajSkryptJavaScript('Common.OptimalXY');
}
}
}
});
}).catch(function(){});
});
};
$(function(){
/*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/
Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable');
/*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/
Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar');
/*Koniec dodatkowych funkcji*/
});
/*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz,z_mouse){
/*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/
var tab_transition={'start':true,'run':true,'cancel':true,'end':true};
var tab_przegladarki={'':true,'webkit':true,'moz':true,'o':true};
for(var a in tab_transition){
for(var b in tab_przegladarki){
var zdarzenie=b+'transition'+a;
Common.ZdarzeniaJavaScript(css,zdarzenie,fun_zdarz);
}
}
if(z_mouse){
Common.ZdarzeniaJavaScript(css,"mouseenter",fun_zdarz);
Common.ZdarzeniaJavaScript(css,"mouseleave",fun_zdarz);
}
};
$(function(){
/*Funkcje zdarzeń*/
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY',true);
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY',true);
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY',false);
});
/*Koniec dodatkowych zdarzeń*/
/*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/
Common.StronaStart=function(){
var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks');
elements.parent().show();
$('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){
$(element).css('visibility',"hidden");
$(element).attr('mw-menu-boks',"false");
});
$('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){
var czy_visible=$(element).css('visibility');
$(element).css('visibility',"visible");
$(element).attr('mw-menu-boks',"true");
var str=$(element).parents('.strona_prawa, .strona_lewa').first();
str.css('position','relative');
str.addClass('strona_start-nawigacja_spis');
str.removeClass('strona_start-nawigacja_boksy');
if(czy_visible=="hidden"){
$(Common.ScrollBarOverflow);
$(Common.StickyXY);
}
});
var str=$('.strona_start').find('.strona .ciało_zawartości > .menu > .menu_boks').children('.spis_treści, .boksy');
if(str.length!=2){return;}
$(str[0]).attr('mw-menu-boks',"true");
$(str[1]).attr('mw-menu-boks',"false");
Common.StronaStartZdarzeniePrzycisku=function(){
var id=this;
$(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){
var menu_boks_zmienna=$(element).attr('mw-menu-boks');
menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false");
if(menu_boks_zmienna=="false"){
$(element).css('display',"block");
$(element).attr('mw-menu-boks','true');
}else if(menu_boks_zmienna=="true"){
$(element).css('display',"none");
$(element).attr('mw-menu-boks','false');
}
});
$(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children('.nawigacja_boksy, .nawigacja_spis').each(function(i,element){
var menu_boks_zmienna=$(element).attr('mw-menu-boks');
menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false");
if(menu_boks_zmienna=="false"){
$(element).css('visibility',"visible");
$(element).attr('mw-menu-boks',"true");
var str=$(element).parents('.strona_prawa, .strona_lewa').first();
if($(element).hasClass('nawigacja_boksy')){
str.css('position','static');
str.addClass('strona_start-nawigacja_boksy');
str.removeClass('strona_start-nawigacja_spis');
$(Common.ScrollBarOverflow);
$(Common.OptimalXY);
}else if($(element).hasClass('nawigacja_spis')){
str.css('position','relative');
str.addClass('strona_start-nawigacja_spis');
str.removeClass('strona_start-nawigacja_boksy');
$(Common.ScrollBarOverflow);
$(Common.StickyXY);
}
}else if(menu_boks_zmienna=="true"){
$(element).css('visibility',"hidden");
$(element).attr('mw-menu-boks',"false");
}
});
}
if(Common.StronaStartZdarzeniePrzycisku)Common.ZdarzeniaJavaScript(elements,'click','StronaStartZdarzeniePrzycisku');
}
$(Common.StronaStart);
})(Common_zmienna_z_MediaWiki_Wikibooks,Common);
sg03yd1ione5sljgx62t5y7zxbcjk1l
437877
437876
2022-08-16T14:57:09Z
Persino
2851
javascript
text/javascript
mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true );
/**/
/* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony.
*/
/*
* Zmienna Common.pageInfo, jego elementy, instrukcja obsługi:
* Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber)
* Common.pageInfo.name pełna nazwa strony
* Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash
* Common.pageInfo.book tytuł książki
* Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get"
* Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL
*/
/*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/
var Common_zmienna_z_MediaWiki_Wikibooks=this['Common'];
/*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/
var Common=new Array();
/*Funkcja, by nie było przecieków pamięci*/
(function(Common_zmienna_z_MediaWiki_Wikibooks,Common){
/*Funkcja zwraca zmienną Common ze strony MediaWiki:Common.js, gdy użytkownik ma właną zmienną Common w swoim common.js, w przeciwnym wypadku zwraca undefined.*/
Common.MediaWikiCommon=function(){return Common_zmienna_z_MediaWiki_Wikibooks;}
/*Funkcja zwraca zmienną Common ze strony User:<Użytkownik>/common.js, jeżeli użytkownik ma własną zmienną Common we własnym common.js, w przeciwnym wypadku zwraca Common, ze strony MediaWiki:Common.js.*/
Common.UserCommon=function(){return Common;}
/*Sprawdza, czy użytkownik ma własną zmienną Common.*/
Common.IsUserCommon=function(){return ((Common_zmienna_z_MediaWiki_Wikibooks)?true:false);};
// Frame Busting
Common.LokowanieTopSelf=function(){
if (top != self) top.location.href = self.location.href;
};
$(Common.LokowanieTopSelf);
/*Funkcja zdarzeń odrejestrowania i rejestrowania*/
Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen,tylko_odrejestruj){
/*
css - adres html obiektu,
zdarzenie - zdarzenie jak click,
funkcja_zdarzen - nazwa funkcji zdarzeń w starej przestrzeni Common lub nowej, jak StickyXY,
tylko_odrejestruj - czy tylko zdarzenie ma odrejestrować w starej przestrzeni Common.
*/
if((css)&&(zdarzenie)&&(funkcja_zdarzen)){
/*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/
if((Common_zmienna_z_MediaWiki_Wikibooks)&&(Common_zmienna_z_MediaWiki_Wikibooks[funkcja_zdarzen])){
$(css).off(zdarzenie,Common_zmienna_z_MediaWiki_Wikibooks[funkcja_zdarzen]);
}
if((!tylko_odrejestruj)&&(Common)&&(Common[funkcja_zdarzen])){
/*Rejestrowanie zdarzeń, ale z tej strony .js*/
$(css).on(zdarzenie, Common[funkcja_zdarzen]);
}
}
}
/*Funkcje w przestrzeni nazw Common*/
Common.Naglowek=function(){
/* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */
var hideAll = document.getElementById('mójNagłówekUkryj');
var noFooter = false;
var footers = 0;
var tags = document.getElementsByTagName('div');
for (var i = 0; i < tags.length; i++) {
var el=tags[i].getAttribute("id");
if (el=='mojaStopka')
footers++;
else if (hideAll && (el=='mójNagłówek')) {
tags[i].innerHTML="";
noFooter=true;
}
}
if (noFooter) return;
var footer = document.getElementById('mojaStopka');
if ((footer !== null) && (footers==1)) {
var bodyContent = document.getElementById('bodyContent');
if (bodyContent !== null) {
var s0=document.getElementById('mojaStopka0');
var s1=document.getElementById('mojaStopka1');
if ((s1 !== null) ||
((s0 === null) && (bodyContent.innerHTML.length>8000))){
var strona=document.getElementById('strona');
if(strona!==null){
strona.appendChild(footer);
}else{
var catlinks=document.getElementById('catlinks');
if(catlinks !== null){
bodyContent.insertBefore(footer,catlinks);
}else{
bodyContent.appendChild(footer);
}
}
}
}
}
/* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */
};
$(Common.Naglowek);
/*Informacje o danej stronie*/
Common.PageInfoInit=function(){
var _g = /_/g;
this.name = mw.config.get('wgPageName').replace(/_/g, ' ');
this.namespace = mw.config.get('wgNamespaceNumber');
var i = this.name.search(/\/[^\/]*$/g);
this.title = this.name.slice(i + 1);
this.book = this.name.replace(/\/.*/g, "");
if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) {
re = /\&diff=/g;
this.diff = re.test(document.URL);
re = /\&action=[^\&]*/g;
this.action = document.URL.match(re);
if ( this.action === null ) {
this.action = 'get';
} else {
this.action = this.action[0].slice(8, this.action[0].length);
}
} else {
this.diff = null;
this.action = 'get';
}
}
Common.pageInfo = new Common.PageInfoInit();
/** Collapsible tables *********************************************************
*
* Description: Allows tables to be collapsed, showing only the header. See
* [[en:Wikipedia:NavFrame]].
* Maintainers: [[User:R. Koot]]
*/
Common.autoCollapse = 2;
Common.collapseCaption = "ukryj";
Common.expandCaption = "pokaż";
Common.collapseTable=function( tableIndex )
{
var Button = document.getElementById( "collapseButton" + tableIndex );
var Table = document.getElementById( "collapsibleTable" + tableIndex );
if ( !Table || !Button ) {
return false;
}
var Rows = Table.rows;
if ( Button.firstChild.data == Common.collapseCaption ) {
for ( var i = 1; i < Rows.length; i++ ) {
Rows[i].style.display = "none";
}
Button.firstChild.data = Common.expandCaption;
} else {
for ( var i = 1; i < Rows.length; i++ ) {
Rows[i].style.display = Rows[0].style.display;
}
Button.firstChild.data = Common.collapseCaption;
}
}
Common.createCollapseButtons=function()
{
var tableIndex = 0;
var NavigationBoxes = new Object();
var Tables = document.getElementsByTagName( "table" );
for ( var i = 0; i < Tables.length; i++ ) {
if ( $(Tables[i]).hasClass( "collapsible" ) ) {
/* only add button and increment count if there is a header row to work with */
var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0];
if (!HeaderRow) continue;
var Header = HeaderRow.getElementsByTagName( "th" )[0];
if (!Header) continue;
NavigationBoxes[ tableIndex ] = Tables[i];
Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex );
var Button = document.createElement( "span" );
var ButtonLink = document.createElement( "a" );
var ButtonText = document.createTextNode( Common.collapseCaption );
Button.style.styleFloat = "right";
Button.style.cssFloat = "right";
Button.style.fontWeight = "normal";
Button.style.textAlign = "right";
Button.style.width = "6em";
ButtonLink.style.color = Header.style.color;
ButtonLink.setAttribute( "id", "collapseButton" + tableIndex );
ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" );
ButtonLink.appendChild( ButtonText );
Button.appendChild( document.createTextNode( "[" ) );
Button.appendChild( ButtonLink );
Button.appendChild( document.createTextNode( "]" ) );
$(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){
$(element).remove();
});
Header.insertBefore( Button, Header.childNodes[0]);
tableIndex++;
}
}
for ( var i = 0; i < tableIndex; i++ ) {
if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) {
Common.collapseTable( i );
}
else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) {
var element = NavigationBoxes[i];
while (element = element.parentNode) {
if ( $(element).hasClass( "outercollapse" ) ) {
Common.collapseTable ( i );
break;
}
}
}
}
}
$(Common.createCollapseButtons );
/** Dynamic Navigation Bars (experimental) *************************************
*
* Description: See [[Wikipedia:NavFrame]].
* Maintainers: UNMAINTAINED
*/
// set up the words in your language
Common.NavigationBarHide = '[' + Common.collapseCaption + ']';
Common.NavigationBarShow = '[' + Common.expandCaption + ']';
// shows and hides content and picture (if available) of navigation bars
// Parameters:
// indexNavigationBar: the index of navigation bar to be toggled
Common.toggleNavigationBar=function(indexNavigationBar)
{
var NavToggle = document.getElementById("NavToggle" + indexNavigationBar);
var NavFrame = document.getElementById("NavFrame" + indexNavigationBar);
if (!NavFrame || !NavToggle) {
return false;
}
// if shown now
if (NavToggle.firstChild.data == Common.NavigationBarHide) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) ) {
NavChild.style.display = 'none';
}
if ( $(NavChild).hasClass( 'NavContent') ) {
NavChild.style.display = 'none';
}
}
NavToggle.firstChild.data = Common.NavigationBarShow;
// if hidden now
} else if (NavToggle.firstChild.data == Common.NavigationBarShow) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ($(NavChild).hasClass( 'NavPic')) {
NavChild.style.display = 'block';
}
if ($(NavChild).hasClass( 'NavContent')) {
NavChild.style.display = 'block';
}
}
NavToggle.firstChild.data = Common.NavigationBarHide;
}
}
// adds show/hide-button to navigation bars
Common.createNavigationBarToggleButton=function()
{
var indexNavigationBar = 0;
// iterate over all < div >-elements
var divs = document.getElementsByTagName("div");
for (var i = 0; NavFrame = divs[i]; i++) {
// if found a navigation bar
if ($(NavFrame).hasClass( "NavFrame")) {
indexNavigationBar++;
var NavToggle = document.createElement("a");
NavToggle.className = 'NavToggle';
NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar);
NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');');
var isCollapsed = $(NavFrame).hasClass( "collapsed" );
/*
* Check if any children are already hidden. This loop is here for backwards compatibility:
* the old way of making NavFrames start out collapsed was to manually add style="display:none"
* to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make
* the content visible without JavaScript support), the new recommended way is to add the class
* "collapsed" to the NavFrame itself, just like with collapsible tables.
*/
for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) {
if ( NavChild.style.display == 'none' ) {
isCollapsed = true;
}
}
}
if (isCollapsed) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) {
NavChild.style.display = 'none';
}
}
}
var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide);
NavToggle.appendChild(NavToggleText);
// Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked)
for(var j=0; j < NavFrame.childNodes.length; j++) {
if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) {
$(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){
$(element).remove();
});
NavFrame.childNodes[j].appendChild(NavToggle);
}
}
NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar);
}
}
}
$(Common.createNavigationBarToggleButton );
// Wyszukiwanie Google na stronach podręczników
Common.googleSearchInitialized = false;
Common.insertGoogleSearch=function() {
if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) {
return;
}
Common.googleSearchInitialized = true;
var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE";
var ul = jQuery('#p-tb ul')[0];
if (!ul) {
return;
}
var link = document.createElement('a');
var book = Common.pageInfo.book;
if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) {
google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22"
}
link.href = google.replace(/PAGE/g, encodeURIComponent(book));
link.appendChild(document.createTextNode("Szukaj w podręczniku"));
var li = document.createElement('li');
li.id = "google-trick-search";
li.appendChild(link);
$(ul).children('li#google-trick-search').each(function(i,element){
$(element).remove();
});
ul.insertBefore(li, ul.firstChild);
}
$(Common.insertGoogleSearch);
/*Funkcja do liczenia szerokościm mapska przewijania w pionowego, wtedy x_box_right=="y", lub poziomego, wtedy inny parametr inny niż dla paska pionowego*/
Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){
var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>');
$('body').append(div);
var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")]();
div.css('overflow-'+(x_box_right||"y"), 'scroll');
var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")]();
$(div).remove();
return (w1 - w2);
}
/*Funkcje do obsługi pasków przewijania*/
Common.ScrollBarOverflow=function(){
$('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){
/*start overflow*/
var comp=window.getComputedStyle(element_g, null);
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var overflow=comp.getPropertyValue("overflow");
var overflow_x=$(element_g).hasClass('mw-overflow-x');
if(overflow_x){
var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
if((overflowX)&&(overflowX=="auto")){
element_g.classList.remove("mw-scrollbar-overflow-x");
const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false
if(hasHorizontalScrollbar){
element_g.classList.add("mw-scrollbar-overflow-x");
}
}
}
var overflow_y=$(element_g).hasClass('mw-overflow-y');
if(overflow_y){
var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflowY)&&(overflowY=="auto")){
element_g.classList.remove("mw-scrollbar-overflow-y");
const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false
if(hasVerticalScrollbar){
element_g.classList.add("mw-scrollbar-overflow-y");
}
}
}
/*koniec overflow*/
});
}
$(Common.ScrollBarOverflow);
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow');
Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow');
});
/*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/
Common.StickyXY=function(){
$('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){
var comp=window.getComputedStyle(element_g, null);
function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){
var pozycje_paskow=new Array();
$(element_g).find('*').each(function(i,element){
var comp=window.getComputedStyle(element, null);
var overflow=comp.getPropertyValue("overflow");
var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){
pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft));
}
});
var height_sticky=0;
$('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){
var rect_sticky=el.getBoundingClientRect();
height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]);
});
var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom);
if(StickyXYTopOld===undefined){
var topold_war=parseFloat(element_g.style[top]);
$(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0));
}
if(StickyXYBottomOld===undefined){
var bottomold_war=parseFloat(element_g.style[bottom]);
$(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0));
}
var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5;
var margintop=parseFloat(comp.getPropertyValue("margin-"+top));
margintop=((!isNaN(margintop))?margintop:0);
var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom));
marginbottom=((!isNaN(marginbottom))?marginbottom:0);
var przodek_height=undefined;
element_g.style[height]="auto";
element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[top]="auto";
element_g.style[bottom]="auto";
if(width_box!=null){
element_g.style[width_box]="auto";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[left_box]="auto";
element_g.style[right_box]="0";
$(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){
element.style[width_box]="auto";
element.classList.remove('mw-scrollbar-overflow-x');
element.classList.remove('mw-scrollbar-overflow-y');
});
}
/**/
var parents_node_fun=$(element_g).parents('.mw-parent-node').first();
if((parents_node_fun==null)||(parents_node_fun.length==0)){return;}
var width_rodzic=null;
var rodzic_element=undefined;
var comp_rodz;
parents_node_fun.each(function(i,element){
comp_rodz=window.getComputedStyle(element,null);
przodek_height=parseFloat(comp_rodz.getPropertyValue([height]));
width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null;
rodzic_element=element;
});
var height_box_real=parseFloat(comp.getPropertyValue(height));
var rect_dziecko=element_g.getBoundingClientRect();
var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))];
var rect_rodzic;
parents_node_fun.each(function(i,element){
rect_rodzic=element.getBoundingClientRect();
});
var top_ab=rect_rodzic[top];
var bottom_ab=(wys-rect_rodzic[bottom]);
var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop);
element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px";
element_g.style[height]="100%";
var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)));
element_g.style[top]=top_obj+"px";
element_g.style[bottom]="auto";
if(width_box!=null){
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
rodzic_element.style.position="static";
rodzic_element.style.overflow="hidden";
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
var rect_dziecko=element_g.getBoundingClientRect();
if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){
if(width_box=="width"){
element_g.classList.remove('mw-scrollbar-overflow-x');
}else{
element_g.classList.remove('mw-scrollbar-overflow-y');
}
if(rect_dziecko[width_box]>width_rodzic){
if(width_box=="width"){
element_g.classList.add('mw-scrollbar-overflow-x');
}else{
element_g.classList.add('mw-scrollbar-overflow-y');
}
}
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box));
margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box));
var dlugosc=(width_rodzic-margin_all);
dlugosc=((dlugosc>=0)?dlugosc:0);
element_g.style.whiteSpace="nowrap";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px";
element_g.style[width_box]=width_box_real+"px";
Common.ScrollBarOverflow();
$(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){
var comp_element=window.getComputedStyle(element, null)
element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat (comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px";
element.classList.remove('mw-scrollbar-overflow-'+x_box);
});
element_g.style.whiteSpace="normal";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[width_box]="auto";
var rect_dziecko=element_g.getBoundingClientRect();
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px";
element_g.style[width_box]=width_box_real+"px";
element_g.style[left_box]="0";
element_g.style[right_box]="auto";
rodzic_element.style.position="relative";
}else{
element_g.style.whiteSpace="nowrap";
var szerokosc_box=rect_dziecko[width_box];
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px";
element_g.style[width_box]=(szerokosc_box)+"px";
Common.ScrollBarOverflow();
$(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){
var comp_element=window.getComputedStyle(element, null);
element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat (comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px";
element.classList.remove('mw-scrollbar-overflow-'+x_box);
});
element_g.style.whiteSpace="normal";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[width_box]="auto";
var rect_dziecko=element_g.getBoundingClientRect();
var szerokosc_box=rect_dziecko[width_box];
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px";
element_g.style[width_box]=(szerokosc_box)+"px";
var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box));
if(parseInt(szerokosc)>parseInt(width_rodzic)){
element_g.style[right_box]="0";
element_g.style[left_box]="auto";
rodzic_element.style.overflow="visible";
}else{
element_g.style[left_box]="0";
element_g.style[right_box]="auto";
rodzic_element.style.position="relative";
}
}
}
element_g.style[height]="auto";
element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px";
Common.ScrollBarOverflow();
for(var i in pozycje_paskow){
pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1];
pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2];
}
}
element_g.classList.add('mw-sticky-js');
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var visibility=comp.getPropertyValue("visibility");
if(visibility=="hidden"){return;}
var position=comp.getPropertyValue("position");
if(position!="absolute"){return;}
var sticky_x=$(element_g).hasClass('mw-sticky-x');
var sticky_y=$(element_g).hasClass('mw-sticky-y');
if((sticky_x)&&(!sticky_y)){
var str=$(element_g).parents('.strona_górna, .strona_dolna').first();
if(str.hasClass('strona_dolna')){
FunStickyXY("width","left","right","height","top","bottom","y","x");
}else if(str.hasClass('strona_górna')){
FunStickyXY("width","left","right","height","bottom","top","y","x");
}
}else if((!sticky_x)&&(sticky_y)){
var str=$(element_g).parents('.strona_prawa, .strona_lewa').first();
if(str.hasClass('strona_prawa')){
FunStickyXY("height","top","bottom","width","left","right","x","y");
}else if(str.hasClass('strona_lewa')){
FunStickyXY("height","top","bottom","width","right","left","x","y");
}
}else if((sticky_x)&&(sticky_y)){
FunStickyXY("width","left","right",null);
FunStickyXY("height","top","bottom",null);
}
});
}
$(Common.StickyXY);
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY');
Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY');
});
/*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/
Common.OptimalXY=function(){
$('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){
var comp=window.getComputedStyle(element_g, null);
function FunOptimalXY(width,left,right){
var pozycje_paskow=new Array();
$(element_g).find('*').each(function(i,element){
var comp=window.getComputedStyle(element, null);
var overflow=comp.getPropertyValue("overflow");
var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){
pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft));
}
});
var width_rodzic=null;
var rodzic_node;
var comp_rodz;
$(element_g).parents('.mw-parent-node').first().each(function(i,element){
comp_rodz=window.getComputedStyle(element,null);
width_rodzic=parseFloat(comp_rodz.getPropertyValue([width]));
rodzic_node=element;
});
if((width_rodzic!=null)&&(!isNaN(width_rodzic))){
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
var width_box_real=parseFloat(comp.getPropertyValue(width));
var rect_dziecko=element_g.getBoundingClientRect();
if(width=="width"){
element_g.classList.remove('mw-scrollbar-overflow-x');
}else{
element_g.classList.remove('mw-scrollbar-overflow-y');
}
if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){
var rect_dziecko=element_g.getBoundingClientRect();
if(rect_dziecko[width]>width_rodzic){
if(width=="width"){
element_g.classList.add('mw-scrollbar-overflow-x');
}else{
element_g.classList.add('mw-scrollbar-overflow-y');
}
}
var width_box_real=parseFloat(comp.getPropertyValue(width));
var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right));
margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right));
var dlugosc=(width_rodzic-margin_all);
dlugosc=((dlugosc>=0)?dlugosc:0);
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px";
}else{
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px";
}
var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first();
if(!str.hasClass('strona_start-nawigacja_boksy')){
var rect_dziecko=element_g.getBoundingClientRect();
var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right));
if(parseInt(szerokosc)>parseInt(width_rodzic)){
str.css('position','static');
}else{
str.css('position','relative');
}
}
}
for(var i in pozycje_paskow){
pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1];
pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2];
}
};
element_g.classList.add('mw-optimal-js');
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var visibility=comp.getPropertyValue("visibility");
if(visibility=="hidden"){return;}
var position=comp.getPropertyValue("position");
if(position!="absolute"){return;}
var optimal_x=$(element_g).hasClass('mw-optimal-x');
var optimal_y=$(element_g).hasClass('mw-optimal-y');
if(optimal_x){
FunOptimalXY("width","left","right");
}
if(optimal_y){
FunOptimalXY("height","top","bottom");
}
});
}
$(Common.OptimalXY);
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY');
Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY');
});
/*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/
Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){
$(obiekt).each(function(i,element_f){
return new Promise(function(resolve,reject){
var czas=0;
function Czekaj(){
if(czas>30000){
reject();
}
var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i);
if((collapsebutton!==null)&&(collapsebutton.length>0)){
var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i);
if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();}
resolve(i);
mw.log("GABUS1")
}else{
mw.log("GABUS2")
czas+=100;
setTimeout(Czekaj,100);
}
}
Czekaj();
}).then(function(i){
$('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){
var href=element_g.getAttribute('href');
if((href!=null)&&(href!="")){
var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*";
var re_frame = new RegExp(col,'g');
var re_javascript=new RegExp("^[\\s;]*javascript:");
if((re_javascript.test(href))&&(re_frame.test(href))){
var href=element_g.getAttribute('href');
if((href!==null)&&(href!="")){
function DodajSkryptJavaScript(fun){
var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g');
var href_nowe=element_g.getAttribute('href');
if(!re.test(href_nowe)){
element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()");
}
}
DodajSkryptJavaScript('Common.ScrollBarOverflow');
DodajSkryptJavaScript('Common.StickyXY');
DodajSkryptJavaScript('Common.OptimalXY');
}
}
}
});
}).catch(function(){});
});
};
$(function(){
/*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/
Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable');
/*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/
Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar');
/*Koniec dodatkowych funkcji*/
});
/*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz,z_mouse){
/*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/
var tab_transition={'start':true,'run':true,'cancel':true,'end':true};
var tab_przegladarki={'':true,'webkit':true,'moz':true,'o':true};
for(var a in tab_transition){
for(var b in tab_przegladarki){
var zdarzenie=b+'transition'+a;
Common.ZdarzeniaJavaScript(css,zdarzenie,fun_zdarz);
}
}
if(z_mouse){
Common.ZdarzeniaJavaScript(css,"mouseenter",fun_zdarz);
Common.ZdarzeniaJavaScript(css,"mouseleave",fun_zdarz);
}
};
$(function(){
/*Funkcje zdarzeń*/
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY',true);
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY',true);
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY',false);
});
/*Koniec dodatkowych zdarzeń*/
/*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/
Common.StronaStart=function(){
var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks');
elements.parent().show();
$('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){
$(element).css('visibility',"hidden");
$(element).attr('mw-menu-boks',"false");
});
$('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){
var czy_visible=$(element).css('visibility');
$(element).css('visibility',"visible");
$(element).attr('mw-menu-boks',"true");
var str=$(element).parents('.strona_prawa, .strona_lewa').first();
str.css('position','relative');
str.addClass('strona_start-nawigacja_spis');
str.removeClass('strona_start-nawigacja_boksy');
if(czy_visible=="hidden"){
$(Common.ScrollBarOverflow);
$(Common.StickyXY);
}
});
var str=$('.strona_start').find('.strona .ciało_zawartości > .menu > .menu_boks').children('.spis_treści, .boksy');
if(str.length!=2){return;}
$(str[0]).attr('mw-menu-boks',"true");
$(str[1]).attr('mw-menu-boks',"false");
Common.StronaStartZdarzeniePrzycisku=function(){
var id=this;
$(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){
var menu_boks_zmienna=$(element).attr('mw-menu-boks');
menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false");
if(menu_boks_zmienna=="false"){
$(element).css('display',"block");
$(element).attr('mw-menu-boks','true');
}else if(menu_boks_zmienna=="true"){
$(element).css('display',"none");
$(element).attr('mw-menu-boks','false');
}
});
$(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children('.nawigacja_boksy, .nawigacja_spis').each(function(i,element){
var menu_boks_zmienna=$(element).attr('mw-menu-boks');
menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false");
if(menu_boks_zmienna=="false"){
$(element).css('visibility',"visible");
$(element).attr('mw-menu-boks',"true");
var str=$(element).parents('.strona_prawa, .strona_lewa').first();
if($(element).hasClass('nawigacja_boksy')){
str.css('position','static');
str.addClass('strona_start-nawigacja_boksy');
str.removeClass('strona_start-nawigacja_spis');
$(Common.ScrollBarOverflow);
$(Common.OptimalXY);
}else if($(element).hasClass('nawigacja_spis')){
str.css('position','relative');
str.addClass('strona_start-nawigacja_spis');
str.removeClass('strona_start-nawigacja_boksy');
$(Common.ScrollBarOverflow);
$(Common.StickyXY);
}
}else if(menu_boks_zmienna=="true"){
$(element).css('visibility',"hidden");
$(element).attr('mw-menu-boks',"false");
}
});
}
if(Common.StronaStartZdarzeniePrzycisku)Common.ZdarzeniaJavaScript(elements,'click','StronaStartZdarzeniePrzycisku');
}
$(Common.StronaStart);
})(Common_zmienna_z_MediaWiki_Wikibooks,Common);
fb6nw3mn076sw5e4xp7f743whi8d2jp
437878
437877
2022-08-16T14:58:35Z
Persino
2851
javascript
text/javascript
mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true );
/**/
/* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony.
*/
/*
* Zmienna Common.pageInfo, jego elementy, instrukcja obsługi:
* Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber)
* Common.pageInfo.name pełna nazwa strony
* Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash
* Common.pageInfo.book tytuł książki
* Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get"
* Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL
*/
/*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/
var Common_zmienna_z_MediaWiki_Wikibooks=this['Common'];
/*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/
var Common=new Array();
/*Funkcja, by nie było przecieków pamięci*/
(function(Common_zmienna_z_MediaWiki_Wikibooks,Common){
/*Funkcja zwraca zmienną Common ze strony MediaWiki:Common.js, gdy użytkownik ma właną zmienną Common w swoim common.js, w przeciwnym wypadku zwraca undefined.*/
Common.MediaWikiCommon=function(){return Common_zmienna_z_MediaWiki_Wikibooks;}
/*Funkcja zwraca zmienną Common ze strony User:<Użytkownik>/common.js, jeżeli użytkownik ma własną zmienną Common we własnym common.js, w przeciwnym wypadku zwraca Common, ze strony MediaWiki:Common.js.*/
Common.UserCommon=function(){return Common;}
/*Sprawdza, czy użytkownik ma własną zmienną Common.*/
Common.IsUserCommon=function(){return ((Common_zmienna_z_MediaWiki_Wikibooks)?true:false);};
// Frame Busting
Common.LokowanieTopSelf=function(){
if (top != self) top.location.href = self.location.href;
};
$(Common.LokowanieTopSelf);
/*Funkcja zdarzeń odrejestrowania i rejestrowania*/
Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen,tylko_odrejestruj){
/*
css - adres html obiektu,
zdarzenie - zdarzenie jak click,
funkcja_zdarzen - nazwa funkcji zdarzeń w starej przestrzeni Common lub nowej, jak StickyXY,
tylko_odrejestruj - czy tylko zdarzenie ma odrejestrować w starej przestrzeni Common.
*/
if((css)&&(zdarzenie)&&(funkcja_zdarzen)){
/*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/
if((Common_zmienna_z_MediaWiki_Wikibooks)&&(Common_zmienna_z_MediaWiki_Wikibooks[funkcja_zdarzen])){
$(css).off(zdarzenie,Common_zmienna_z_MediaWiki_Wikibooks[funkcja_zdarzen]);
}
if((!tylko_odrejestruj)&&(Common)&&(Common[funkcja_zdarzen])){
/*Rejestrowanie zdarzeń, ale z tej strony .js*/
$(css).on(zdarzenie, Common[funkcja_zdarzen]);
}
}
}
/*Funkcje w przestrzeni nazw Common*/
Common.Naglowek=function(){
/* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */
var hideAll = document.getElementById('mójNagłówekUkryj');
var noFooter = false;
var footers = 0;
var tags = document.getElementsByTagName('div');
for (var i = 0; i < tags.length; i++) {
var el=tags[i].getAttribute("id");
if (el=='mojaStopka')
footers++;
else if (hideAll && (el=='mójNagłówek')) {
tags[i].innerHTML="";
noFooter=true;
}
}
if (noFooter) return;
var footer = document.getElementById('mojaStopka');
if ((footer !== null) && (footers==1)) {
var bodyContent = document.getElementById('bodyContent');
if (bodyContent !== null) {
var s0=document.getElementById('mojaStopka0');
var s1=document.getElementById('mojaStopka1');
if ((s1 !== null) ||
((s0 === null) && (bodyContent.innerHTML.length>8000))){
var strona=document.getElementById('strona');
if(strona!==null){
strona.appendChild(footer);
}else{
var catlinks=document.getElementById('catlinks');
if(catlinks !== null){
bodyContent.insertBefore(footer,catlinks);
}else{
bodyContent.appendChild(footer);
}
}
}
}
}
/* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */
};
$(Common.Naglowek);
/*Informacje o danej stronie*/
Common.PageInfoInit=function(){
var _g = /_/g;
this.name = mw.config.get('wgPageName').replace(/_/g, ' ');
this.namespace = mw.config.get('wgNamespaceNumber');
var i = this.name.search(/\/[^\/]*$/g);
this.title = this.name.slice(i + 1);
this.book = this.name.replace(/\/.*/g, "");
if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) {
re = /\&diff=/g;
this.diff = re.test(document.URL);
re = /\&action=[^\&]*/g;
this.action = document.URL.match(re);
if ( this.action === null ) {
this.action = 'get';
} else {
this.action = this.action[0].slice(8, this.action[0].length);
}
} else {
this.diff = null;
this.action = 'get';
}
}
Common.pageInfo = new Common.PageInfoInit();
/** Collapsible tables *********************************************************
*
* Description: Allows tables to be collapsed, showing only the header. See
* [[en:Wikipedia:NavFrame]].
* Maintainers: [[User:R. Koot]]
*/
Common.autoCollapse = 2;
Common.collapseCaption = "ukryj";
Common.expandCaption = "pokaż";
Common.collapseTable=function( tableIndex )
{
var Button = document.getElementById( "collapseButton" + tableIndex );
var Table = document.getElementById( "collapsibleTable" + tableIndex );
if ( !Table || !Button ) {
return false;
}
var Rows = Table.rows;
if ( Button.firstChild.data == Common.collapseCaption ) {
for ( var i = 1; i < Rows.length; i++ ) {
Rows[i].style.display = "none";
}
Button.firstChild.data = Common.expandCaption;
} else {
for ( var i = 1; i < Rows.length; i++ ) {
Rows[i].style.display = Rows[0].style.display;
}
Button.firstChild.data = Common.collapseCaption;
}
}
Common.createCollapseButtons=function()
{
var tableIndex = 0;
var NavigationBoxes = new Object();
var Tables = document.getElementsByTagName( "table" );
for ( var i = 0; i < Tables.length; i++ ) {
if ( $(Tables[i]).hasClass( "collapsible" ) ) {
/* only add button and increment count if there is a header row to work with */
var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0];
if (!HeaderRow) continue;
var Header = HeaderRow.getElementsByTagName( "th" )[0];
if (!Header) continue;
NavigationBoxes[ tableIndex ] = Tables[i];
Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex );
var Button = document.createElement( "span" );
var ButtonLink = document.createElement( "a" );
var ButtonText = document.createTextNode( Common.collapseCaption );
Button.style.styleFloat = "right";
Button.style.cssFloat = "right";
Button.style.fontWeight = "normal";
Button.style.textAlign = "right";
Button.style.width = "6em";
ButtonLink.style.color = Header.style.color;
ButtonLink.setAttribute( "id", "collapseButton" + tableIndex );
ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" );
ButtonLink.appendChild( ButtonText );
Button.appendChild( document.createTextNode( "[" ) );
Button.appendChild( ButtonLink );
Button.appendChild( document.createTextNode( "]" ) );
$(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){
$(element).remove();
});
Header.insertBefore( Button, Header.childNodes[0]);
tableIndex++;
}
}
for ( var i = 0; i < tableIndex; i++ ) {
if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) {
Common.collapseTable( i );
}
else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) {
var element = NavigationBoxes[i];
while (element = element.parentNode) {
if ( $(element).hasClass( "outercollapse" ) ) {
Common.collapseTable ( i );
break;
}
}
}
}
}
$(Common.createCollapseButtons );
/** Dynamic Navigation Bars (experimental) *************************************
*
* Description: See [[Wikipedia:NavFrame]].
* Maintainers: UNMAINTAINED
*/
// set up the words in your language
Common.NavigationBarHide = '[' + Common.collapseCaption + ']';
Common.NavigationBarShow = '[' + Common.expandCaption + ']';
// shows and hides content and picture (if available) of navigation bars
// Parameters:
// indexNavigationBar: the index of navigation bar to be toggled
Common.toggleNavigationBar=function(indexNavigationBar)
{
var NavToggle = document.getElementById("NavToggle" + indexNavigationBar);
var NavFrame = document.getElementById("NavFrame" + indexNavigationBar);
if (!NavFrame || !NavToggle) {
return false;
}
// if shown now
if (NavToggle.firstChild.data == Common.NavigationBarHide) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) ) {
NavChild.style.display = 'none';
}
if ( $(NavChild).hasClass( 'NavContent') ) {
NavChild.style.display = 'none';
}
}
NavToggle.firstChild.data = Common.NavigationBarShow;
// if hidden now
} else if (NavToggle.firstChild.data == Common.NavigationBarShow) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ($(NavChild).hasClass( 'NavPic')) {
NavChild.style.display = 'block';
}
if ($(NavChild).hasClass( 'NavContent')) {
NavChild.style.display = 'block';
}
}
NavToggle.firstChild.data = Common.NavigationBarHide;
}
}
// adds show/hide-button to navigation bars
Common.createNavigationBarToggleButton=function()
{
var indexNavigationBar = 0;
// iterate over all < div >-elements
var divs = document.getElementsByTagName("div");
for (var i = 0; NavFrame = divs[i]; i++) {
// if found a navigation bar
if ($(NavFrame).hasClass( "NavFrame")) {
indexNavigationBar++;
var NavToggle = document.createElement("a");
NavToggle.className = 'NavToggle';
NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar);
NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');');
var isCollapsed = $(NavFrame).hasClass( "collapsed" );
/*
* Check if any children are already hidden. This loop is here for backwards compatibility:
* the old way of making NavFrames start out collapsed was to manually add style="display:none"
* to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make
* the content visible without JavaScript support), the new recommended way is to add the class
* "collapsed" to the NavFrame itself, just like with collapsible tables.
*/
for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) {
if ( NavChild.style.display == 'none' ) {
isCollapsed = true;
}
}
}
if (isCollapsed) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) {
NavChild.style.display = 'none';
}
}
}
var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide);
NavToggle.appendChild(NavToggleText);
// Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked)
for(var j=0; j < NavFrame.childNodes.length; j++) {
if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) {
$(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){
$(element).remove();
});
NavFrame.childNodes[j].appendChild(NavToggle);
}
}
NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar);
}
}
}
$(Common.createNavigationBarToggleButton );
// Wyszukiwanie Google na stronach podręczników
Common.googleSearchInitialized = false;
Common.insertGoogleSearch=function() {
if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) {
return;
}
Common.googleSearchInitialized = true;
var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE";
var ul = jQuery('#p-tb ul')[0];
if (!ul) {
return;
}
var link = document.createElement('a');
var book = Common.pageInfo.book;
if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) {
google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22"
}
link.href = google.replace(/PAGE/g, encodeURIComponent(book));
link.appendChild(document.createTextNode("Szukaj w podręczniku"));
var li = document.createElement('li');
li.id = "google-trick-search";
li.appendChild(link);
$(ul).children('li#google-trick-search').each(function(i,element){
$(element).remove();
});
ul.insertBefore(li, ul.firstChild);
}
$(Common.insertGoogleSearch);
/*Funkcja do liczenia szerokościm mapska przewijania w pionowego, wtedy x_box_right=="y", lub poziomego, wtedy inny parametr inny niż dla paska pionowego*/
Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){
var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>');
$('body').append(div);
var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")]();
div.css('overflow-'+(x_box_right||"y"), 'scroll');
var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")]();
$(div).remove();
return (w1 - w2);
}
/*Funkcje do obsługi pasków przewijania*/
Common.ScrollBarOverflow=function(){
$('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){
/*start overflow*/
var comp=window.getComputedStyle(element_g, null);
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var overflow=comp.getPropertyValue("overflow");
var overflow_x=$(element_g).hasClass('mw-overflow-x');
if(overflow_x){
var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
if((overflowX)&&(overflowX=="auto")){
element_g.classList.remove("mw-scrollbar-overflow-x");
const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false
if(hasHorizontalScrollbar){
element_g.classList.add("mw-scrollbar-overflow-x");
}
}
}
var overflow_y=$(element_g).hasClass('mw-overflow-y');
if(overflow_y){
var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflowY)&&(overflowY=="auto")){
element_g.classList.remove("mw-scrollbar-overflow-y");
const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false
if(hasVerticalScrollbar){
element_g.classList.add("mw-scrollbar-overflow-y");
}
}
}
/*koniec overflow*/
});
}
$(Common.ScrollBarOverflow);
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow');
Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow');
});
/*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/
Common.StickyXY=function(){
$('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){
var comp=window.getComputedStyle(element_g, null);
function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){
var pozycje_paskow=new Array();
$(element_g).find('*').each(function(i,element){
var comp=window.getComputedStyle(element, null);
var overflow=comp.getPropertyValue("overflow");
var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){
pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft));
}
});
var height_sticky=0;
$('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){
var rect_sticky=el.getBoundingClientRect();
height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]);
});
var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom);
if(StickyXYTopOld===undefined){
var topold_war=parseFloat(element_g.style[top]);
$(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0));
}
if(StickyXYBottomOld===undefined){
var bottomold_war=parseFloat(element_g.style[bottom]);
$(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0));
}
var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5;
var margintop=parseFloat(comp.getPropertyValue("margin-"+top));
margintop=((!isNaN(margintop))?margintop:0);
var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom));
marginbottom=((!isNaN(marginbottom))?marginbottom:0);
var przodek_height=undefined;
element_g.style[height]="auto";
element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[top]="auto";
element_g.style[bottom]="auto";
if(width_box!=null){
element_g.style[width_box]="auto";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[left_box]="auto";
element_g.style[right_box]="0";
$(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){
element.style[width_box]="auto";
element.classList.remove('mw-scrollbar-overflow-x');
element.classList.remove('mw-scrollbar-overflow-y');
});
}
/**/
var parents_node_fun=$(element_g).parents('.mw-parent-node').first();
if((parents_node_fun==null)||(parents_node_fun.length==0)){return;}
var width_rodzic=null;
var rodzic_element=undefined;
var comp_rodz;
parents_node_fun.each(function(i,element){
comp_rodz=window.getComputedStyle(element,null);
przodek_height=parseFloat(comp_rodz.getPropertyValue([height]));
width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null;
rodzic_element=element;
});
var height_box_real=parseFloat(comp.getPropertyValue(height));
var rect_dziecko=element_g.getBoundingClientRect();
var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))];
var rect_rodzic;
parents_node_fun.each(function(i,element){
rect_rodzic=element.getBoundingClientRect();
});
var top_ab=rect_rodzic[top];
var bottom_ab=(wys-rect_rodzic[bottom]);
var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop);
element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px";
element_g.style[height]="100%";
var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)));
element_g.style[top]=top_obj+"px";
element_g.style[bottom]="auto";
if(width_box!=null){
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
rodzic_element.style.position="static";
rodzic_element.style.overflow="hidden";
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
var rect_dziecko=element_g.getBoundingClientRect();
if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){
if(width_box=="width"){
element_g.classList.remove('mw-scrollbar-overflow-x');
}else{
element_g.classList.remove('mw-scrollbar-overflow-y');
}
if(rect_dziecko[width_box]>width_rodzic){
if(width_box=="width"){
element_g.classList.add('mw-scrollbar-overflow-x');
}else{
element_g.classList.add('mw-scrollbar-overflow-y');
}
}
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box));
margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box));
var dlugosc=(width_rodzic-margin_all);
dlugosc=((dlugosc>=0)?dlugosc:0);
element_g.style.whiteSpace="nowrap";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px";
element_g.style[width_box]=width_box_real+"px";
Common.ScrollBarOverflow();
$(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){
var comp_element=window.getComputedStyle(element, null)
element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat (comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px";
element.classList.remove('mw-scrollbar-overflow-'+x_box);
});
element_g.style.whiteSpace="normal";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[width_box]="auto";
var rect_dziecko=element_g.getBoundingClientRect();
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px";
element_g.style[width_box]=width_box_real+"px";
element_g.style[left_box]="0";
element_g.style[right_box]="auto";
rodzic_element.style.position="relative";
}else{
element_g.style.whiteSpace="nowrap";
var szerokosc_box=rect_dziecko[width_box];
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px";
element_g.style[width_box]=(szerokosc_box)+"px";
Common.ScrollBarOverflow();
$(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){
var comp_element=window.getComputedStyle(element, null);
element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat (comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px";
element.classList.remove('mw-scrollbar-overflow-'+x_box);
});
element_g.style.whiteSpace="normal";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[width_box]="auto";
var rect_dziecko=element_g.getBoundingClientRect();
var szerokosc_box=rect_dziecko[width_box];
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px";
element_g.style[width_box]=(szerokosc_box)+"px";
var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box));
if(parseInt(szerokosc)>parseInt(width_rodzic)){
element_g.style[right_box]="0";
element_g.style[left_box]="auto";
rodzic_element.style.overflow="visible";
}else{
element_g.style[left_box]="0";
element_g.style[right_box]="auto";
rodzic_element.style.position="relative";
}
}
}
element_g.style[height]="auto";
element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px";
Common.ScrollBarOverflow();
for(var i in pozycje_paskow){
pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1];
pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2];
}
}
element_g.classList.add('mw-sticky-js');
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var visibility=comp.getPropertyValue("visibility");
if(visibility=="hidden"){return;}
var position=comp.getPropertyValue("position");
if(position!="absolute"){return;}
var sticky_x=$(element_g).hasClass('mw-sticky-x');
var sticky_y=$(element_g).hasClass('mw-sticky-y');
if((sticky_x)&&(!sticky_y)){
var str=$(element_g).parents('.strona_górna, .strona_dolna').first();
if(str.hasClass('strona_dolna')){
FunStickyXY("width","left","right","height","top","bottom","y","x");
}else if(str.hasClass('strona_górna')){
FunStickyXY("width","left","right","height","bottom","top","y","x");
}
}else if((!sticky_x)&&(sticky_y)){
var str=$(element_g).parents('.strona_prawa, .strona_lewa').first();
if(str.hasClass('strona_prawa')){
FunStickyXY("height","top","bottom","width","left","right","x","y");
}else if(str.hasClass('strona_lewa')){
FunStickyXY("height","top","bottom","width","right","left","x","y");
}
}else if((sticky_x)&&(sticky_y)){
FunStickyXY("width","left","right",null);
FunStickyXY("height","top","bottom",null);
}
});
}
$(Common.StickyXY);
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY');
Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY');
});
/*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/
Common.OptimalXY=function(){
$('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){
var comp=window.getComputedStyle(element_g, null);
function FunOptimalXY(width,left,right){
var pozycje_paskow=new Array();
$(element_g).find('*').each(function(i,element){
var comp=window.getComputedStyle(element, null);
var overflow=comp.getPropertyValue("overflow");
var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){
pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft));
}
});
var width_rodzic=null;
var rodzic_node;
var comp_rodz;
$(element_g).parents('.mw-parent-node').first().each(function(i,element){
comp_rodz=window.getComputedStyle(element,null);
width_rodzic=parseFloat(comp_rodz.getPropertyValue([width]));
rodzic_node=element;
});
if((width_rodzic!=null)&&(!isNaN(width_rodzic))){
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
var width_box_real=parseFloat(comp.getPropertyValue(width));
var rect_dziecko=element_g.getBoundingClientRect();
if(width=="width"){
element_g.classList.remove('mw-scrollbar-overflow-x');
}else{
element_g.classList.remove('mw-scrollbar-overflow-y');
}
if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){
var rect_dziecko=element_g.getBoundingClientRect();
if(rect_dziecko[width]>width_rodzic){
if(width=="width"){
element_g.classList.add('mw-scrollbar-overflow-x');
}else{
element_g.classList.add('mw-scrollbar-overflow-y');
}
}
var width_box_real=parseFloat(comp.getPropertyValue(width));
var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right));
margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right));
var dlugosc=(width_rodzic-margin_all);
dlugosc=((dlugosc>=0)?dlugosc:0);
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px";
}else{
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px";
}
var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first();
if(!str.hasClass('strona_start-nawigacja_boksy')){
var rect_dziecko=element_g.getBoundingClientRect();
var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right));
if(parseInt(szerokosc)>parseInt(width_rodzic)){
str.css('position','static');
}else{
str.css('position','relative');
}
}
}
for(var i in pozycje_paskow){
pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1];
pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2];
}
};
element_g.classList.add('mw-optimal-js');
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var visibility=comp.getPropertyValue("visibility");
if(visibility=="hidden"){return;}
var position=comp.getPropertyValue("position");
if(position!="absolute"){return;}
var optimal_x=$(element_g).hasClass('mw-optimal-x');
var optimal_y=$(element_g).hasClass('mw-optimal-y');
if(optimal_x){
FunOptimalXY("width","left","right");
}
if(optimal_y){
FunOptimalXY("height","top","bottom");
}
});
}
$(Common.OptimalXY);
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY');
Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY');
});
/*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/
Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){
$(obiekt).each(function(i,element_f){
return new Promise(function(resolve,reject){
var czas=0;
function Czekaj(){
if(czas>30000){
reject();
}
var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i);
if((collapsebutton!==null)&&(collapsebutton.length>0)){
var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i);
if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();}
mw.log("GABUS1")
resolve(i);
}else{
mw.log("GABUS2")
czas+=100;
setTimeout(Czekaj,100);
}
}
Czekaj();
}).then(function(i){
$('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){
var href=element_g.getAttribute('href');
if((href!=null)&&(href!="")){
var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*";
var re_frame = new RegExp(col,'g');
var re_javascript=new RegExp("^[\\s;]*javascript:");
if((re_javascript.test(href))&&(re_frame.test(href))){
var href=element_g.getAttribute('href');
if((href!==null)&&(href!="")){
function DodajSkryptJavaScript(fun){
var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g');
var href_nowe=element_g.getAttribute('href');
if(!re.test(href_nowe)){
element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()");
}
}
DodajSkryptJavaScript('Common.ScrollBarOverflow');
DodajSkryptJavaScript('Common.StickyXY');
DodajSkryptJavaScript('Common.OptimalXY');
}
}
}
});
}).catch(function(){});
});
};
$(function(){
/*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/
Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable');
/*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/
Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar');
/*Koniec dodatkowych funkcji*/
});
/*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz,z_mouse){
/*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/
var tab_transition={'start':true,'run':true,'cancel':true,'end':true};
var tab_przegladarki={'':true,'webkit':true,'moz':true,'o':true};
for(var a in tab_transition){
for(var b in tab_przegladarki){
var zdarzenie=b+'transition'+a;
Common.ZdarzeniaJavaScript(css,zdarzenie,fun_zdarz);
}
}
if(z_mouse){
Common.ZdarzeniaJavaScript(css,"mouseenter",fun_zdarz);
Common.ZdarzeniaJavaScript(css,"mouseleave",fun_zdarz);
}
};
$(function(){
/*Funkcje zdarzeń*/
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY',true);
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY',true);
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY',false);
});
/*Koniec dodatkowych zdarzeń*/
/*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/
Common.StronaStart=function(){
var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks');
elements.parent().show();
$('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){
$(element).css('visibility',"hidden");
$(element).attr('mw-menu-boks',"false");
});
$('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){
var czy_visible=$(element).css('visibility');
$(element).css('visibility',"visible");
$(element).attr('mw-menu-boks',"true");
var str=$(element).parents('.strona_prawa, .strona_lewa').first();
str.css('position','relative');
str.addClass('strona_start-nawigacja_spis');
str.removeClass('strona_start-nawigacja_boksy');
if(czy_visible=="hidden"){
$(Common.ScrollBarOverflow);
$(Common.StickyXY);
}
});
var str=$('.strona_start').find('.strona .ciało_zawartości > .menu > .menu_boks').children('.spis_treści, .boksy');
if(str.length!=2){return;}
$(str[0]).attr('mw-menu-boks',"true");
$(str[1]).attr('mw-menu-boks',"false");
Common.StronaStartZdarzeniePrzycisku=function(){
var id=this;
$(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){
var menu_boks_zmienna=$(element).attr('mw-menu-boks');
menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false");
if(menu_boks_zmienna=="false"){
$(element).css('display',"block");
$(element).attr('mw-menu-boks','true');
}else if(menu_boks_zmienna=="true"){
$(element).css('display',"none");
$(element).attr('mw-menu-boks','false');
}
});
$(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children('.nawigacja_boksy, .nawigacja_spis').each(function(i,element){
var menu_boks_zmienna=$(element).attr('mw-menu-boks');
menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false");
if(menu_boks_zmienna=="false"){
$(element).css('visibility',"visible");
$(element).attr('mw-menu-boks',"true");
var str=$(element).parents('.strona_prawa, .strona_lewa').first();
if($(element).hasClass('nawigacja_boksy')){
str.css('position','static');
str.addClass('strona_start-nawigacja_boksy');
str.removeClass('strona_start-nawigacja_spis');
$(Common.ScrollBarOverflow);
$(Common.OptimalXY);
}else if($(element).hasClass('nawigacja_spis')){
str.css('position','relative');
str.addClass('strona_start-nawigacja_spis');
str.removeClass('strona_start-nawigacja_boksy');
$(Common.ScrollBarOverflow);
$(Common.StickyXY);
}
}else if(menu_boks_zmienna=="true"){
$(element).css('visibility',"hidden");
$(element).attr('mw-menu-boks',"false");
}
});
}
if(Common.StronaStartZdarzeniePrzycisku)Common.ZdarzeniaJavaScript(elements,'click','StronaStartZdarzeniePrzycisku');
}
$(Common.StronaStart);
})(Common_zmienna_z_MediaWiki_Wikibooks,Common);
5uihteau1f7o52eo406dac78xe55gdo
437879
437878
2022-08-16T15:00:10Z
Persino
2851
javascript
text/javascript
mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true );
/**/
/* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony.
*/
/*
* Zmienna Common.pageInfo, jego elementy, instrukcja obsługi:
* Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber)
* Common.pageInfo.name pełna nazwa strony
* Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash
* Common.pageInfo.book tytuł książki
* Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get"
* Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL
*/
/*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/
var Common_zmienna_z_MediaWiki_Wikibooks=this['Common'];
/*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/
var Common=new Array();
/*Funkcja, by nie było przecieków pamięci*/
(function(Common_zmienna_z_MediaWiki_Wikibooks,Common){
/*Funkcja zwraca zmienną Common ze strony MediaWiki:Common.js, gdy użytkownik ma właną zmienną Common w swoim common.js, w przeciwnym wypadku zwraca undefined.*/
Common.MediaWikiCommon=function(){return Common_zmienna_z_MediaWiki_Wikibooks;}
/*Funkcja zwraca zmienną Common ze strony User:<Użytkownik>/common.js, jeżeli użytkownik ma własną zmienną Common we własnym common.js, w przeciwnym wypadku zwraca Common, ze strony MediaWiki:Common.js.*/
Common.UserCommon=function(){return Common;}
/*Sprawdza, czy użytkownik ma własną zmienną Common.*/
Common.IsUserCommon=function(){return ((Common_zmienna_z_MediaWiki_Wikibooks)?true:false);};
// Frame Busting
Common.LokowanieTopSelf=function(){
if (top != self) top.location.href = self.location.href;
};
$(Common.LokowanieTopSelf);
/*Funkcja zdarzeń odrejestrowania i rejestrowania*/
Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen,tylko_odrejestruj){
/*
css - adres html obiektu,
zdarzenie - zdarzenie jak click,
funkcja_zdarzen - nazwa funkcji zdarzeń w starej przestrzeni Common lub nowej, jak StickyXY,
tylko_odrejestruj - czy tylko zdarzenie ma odrejestrować w starej przestrzeni Common.
*/
if((css)&&(zdarzenie)&&(funkcja_zdarzen)){
/*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/
if((Common_zmienna_z_MediaWiki_Wikibooks)&&(Common_zmienna_z_MediaWiki_Wikibooks[funkcja_zdarzen])){
$(css).off(zdarzenie,Common_zmienna_z_MediaWiki_Wikibooks[funkcja_zdarzen]);
}
if((!tylko_odrejestruj)&&(Common)&&(Common[funkcja_zdarzen])){
/*Rejestrowanie zdarzeń, ale z tej strony .js*/
$(css).on(zdarzenie, Common[funkcja_zdarzen]);
}
}
}
/*Funkcje w przestrzeni nazw Common*/
Common.Naglowek=function(){
/* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */
var hideAll = document.getElementById('mójNagłówekUkryj');
var noFooter = false;
var footers = 0;
var tags = document.getElementsByTagName('div');
for (var i = 0; i < tags.length; i++) {
var el=tags[i].getAttribute("id");
if (el=='mojaStopka')
footers++;
else if (hideAll && (el=='mójNagłówek')) {
tags[i].innerHTML="";
noFooter=true;
}
}
if (noFooter) return;
var footer = document.getElementById('mojaStopka');
if ((footer !== null) && (footers==1)) {
var bodyContent = document.getElementById('bodyContent');
if (bodyContent !== null) {
var s0=document.getElementById('mojaStopka0');
var s1=document.getElementById('mojaStopka1');
if ((s1 !== null) ||
((s0 === null) && (bodyContent.innerHTML.length>8000))){
var strona=document.getElementById('strona');
if(strona!==null){
strona.appendChild(footer);
}else{
var catlinks=document.getElementById('catlinks');
if(catlinks !== null){
bodyContent.insertBefore(footer,catlinks);
}else{
bodyContent.appendChild(footer);
}
}
}
}
}
/* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */
};
$(Common.Naglowek);
/*Informacje o danej stronie*/
Common.PageInfoInit=function(){
var _g = /_/g;
this.name = mw.config.get('wgPageName').replace(/_/g, ' ');
this.namespace = mw.config.get('wgNamespaceNumber');
var i = this.name.search(/\/[^\/]*$/g);
this.title = this.name.slice(i + 1);
this.book = this.name.replace(/\/.*/g, "");
if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) {
re = /\&diff=/g;
this.diff = re.test(document.URL);
re = /\&action=[^\&]*/g;
this.action = document.URL.match(re);
if ( this.action === null ) {
this.action = 'get';
} else {
this.action = this.action[0].slice(8, this.action[0].length);
}
} else {
this.diff = null;
this.action = 'get';
}
}
Common.pageInfo = new Common.PageInfoInit();
/** Collapsible tables *********************************************************
*
* Description: Allows tables to be collapsed, showing only the header. See
* [[en:Wikipedia:NavFrame]].
* Maintainers: [[User:R. Koot]]
*/
Common.autoCollapse = 2;
Common.collapseCaption = "ukryj";
Common.expandCaption = "pokaż";
Common.collapseTable=function( tableIndex )
{
var Button = document.getElementById( "collapseButton" + tableIndex );
var Table = document.getElementById( "collapsibleTable" + tableIndex );
if ( !Table || !Button ) {
return false;
}
var Rows = Table.rows;
if ( Button.firstChild.data == Common.collapseCaption ) {
for ( var i = 1; i < Rows.length; i++ ) {
Rows[i].style.display = "none";
}
Button.firstChild.data = Common.expandCaption;
} else {
for ( var i = 1; i < Rows.length; i++ ) {
Rows[i].style.display = Rows[0].style.display;
}
Button.firstChild.data = Common.collapseCaption;
}
}
Common.createCollapseButtons=function()
{
var tableIndex = 0;
var NavigationBoxes = new Object();
var Tables = document.getElementsByTagName( "table" );
for ( var i = 0; i < Tables.length; i++ ) {
if ( $(Tables[i]).hasClass( "collapsible" ) ) {
/* only add button and increment count if there is a header row to work with */
var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0];
if (!HeaderRow) continue;
var Header = HeaderRow.getElementsByTagName( "th" )[0];
if (!Header) continue;
NavigationBoxes[ tableIndex ] = Tables[i];
Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex );
var Button = document.createElement( "span" );
var ButtonLink = document.createElement( "a" );
var ButtonText = document.createTextNode( Common.collapseCaption );
Button.style.styleFloat = "right";
Button.style.cssFloat = "right";
Button.style.fontWeight = "normal";
Button.style.textAlign = "right";
Button.style.width = "6em";
ButtonLink.style.color = Header.style.color;
ButtonLink.setAttribute( "id", "collapseButton" + tableIndex );
ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" );
ButtonLink.appendChild( ButtonText );
Button.appendChild( document.createTextNode( "[" ) );
Button.appendChild( ButtonLink );
Button.appendChild( document.createTextNode( "]" ) );
$(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){
$(element).remove();
});
Header.insertBefore( Button, Header.childNodes[0]);
tableIndex++;
}
}
for ( var i = 0; i < tableIndex; i++ ) {
if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) {
Common.collapseTable( i );
}
else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) {
var element = NavigationBoxes[i];
while (element = element.parentNode) {
if ( $(element).hasClass( "outercollapse" ) ) {
Common.collapseTable ( i );
break;
}
}
}
}
}
$(Common.createCollapseButtons );
/** Dynamic Navigation Bars (experimental) *************************************
*
* Description: See [[Wikipedia:NavFrame]].
* Maintainers: UNMAINTAINED
*/
// set up the words in your language
Common.NavigationBarHide = '[' + Common.collapseCaption + ']';
Common.NavigationBarShow = '[' + Common.expandCaption + ']';
// shows and hides content and picture (if available) of navigation bars
// Parameters:
// indexNavigationBar: the index of navigation bar to be toggled
Common.toggleNavigationBar=function(indexNavigationBar)
{
var NavToggle = document.getElementById("NavToggle" + indexNavigationBar);
var NavFrame = document.getElementById("NavFrame" + indexNavigationBar);
if (!NavFrame || !NavToggle) {
return false;
}
// if shown now
if (NavToggle.firstChild.data == Common.NavigationBarHide) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) ) {
NavChild.style.display = 'none';
}
if ( $(NavChild).hasClass( 'NavContent') ) {
NavChild.style.display = 'none';
}
}
NavToggle.firstChild.data = Common.NavigationBarShow;
// if hidden now
} else if (NavToggle.firstChild.data == Common.NavigationBarShow) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ($(NavChild).hasClass( 'NavPic')) {
NavChild.style.display = 'block';
}
if ($(NavChild).hasClass( 'NavContent')) {
NavChild.style.display = 'block';
}
}
NavToggle.firstChild.data = Common.NavigationBarHide;
}
}
// adds show/hide-button to navigation bars
Common.createNavigationBarToggleButton=function()
{
var indexNavigationBar = 0;
// iterate over all < div >-elements
var divs = document.getElementsByTagName("div");
for (var i = 0; NavFrame = divs[i]; i++) {
// if found a navigation bar
if ($(NavFrame).hasClass( "NavFrame")) {
indexNavigationBar++;
var NavToggle = document.createElement("a");
NavToggle.className = 'NavToggle';
NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar);
NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');');
var isCollapsed = $(NavFrame).hasClass( "collapsed" );
/*
* Check if any children are already hidden. This loop is here for backwards compatibility:
* the old way of making NavFrames start out collapsed was to manually add style="display:none"
* to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make
* the content visible without JavaScript support), the new recommended way is to add the class
* "collapsed" to the NavFrame itself, just like with collapsible tables.
*/
for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) {
if ( NavChild.style.display == 'none' ) {
isCollapsed = true;
}
}
}
if (isCollapsed) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) {
NavChild.style.display = 'none';
}
}
}
var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide);
NavToggle.appendChild(NavToggleText);
// Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked)
for(var j=0; j < NavFrame.childNodes.length; j++) {
if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) {
$(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){
$(element).remove();
});
NavFrame.childNodes[j].appendChild(NavToggle);
}
}
NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar);
}
}
}
$(Common.createNavigationBarToggleButton );
// Wyszukiwanie Google na stronach podręczników
Common.googleSearchInitialized = false;
Common.insertGoogleSearch=function() {
if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) {
return;
}
Common.googleSearchInitialized = true;
var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE";
var ul = jQuery('#p-tb ul')[0];
if (!ul) {
return;
}
var link = document.createElement('a');
var book = Common.pageInfo.book;
if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) {
google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22"
}
link.href = google.replace(/PAGE/g, encodeURIComponent(book));
link.appendChild(document.createTextNode("Szukaj w podręczniku"));
var li = document.createElement('li');
li.id = "google-trick-search";
li.appendChild(link);
$(ul).children('li#google-trick-search').each(function(i,element){
$(element).remove();
});
ul.insertBefore(li, ul.firstChild);
}
$(Common.insertGoogleSearch);
/*Funkcja do liczenia szerokościm mapska przewijania w pionowego, wtedy x_box_right=="y", lub poziomego, wtedy inny parametr inny niż dla paska pionowego*/
Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){
var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>');
$('body').append(div);
var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")]();
div.css('overflow-'+(x_box_right||"y"), 'scroll');
var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")]();
$(div).remove();
return (w1 - w2);
}
/*Funkcje do obsługi pasków przewijania*/
Common.ScrollBarOverflow=function(){
$('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){
/*start overflow*/
var comp=window.getComputedStyle(element_g, null);
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var overflow=comp.getPropertyValue("overflow");
var overflow_x=$(element_g).hasClass('mw-overflow-x');
if(overflow_x){
var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
if((overflowX)&&(overflowX=="auto")){
element_g.classList.remove("mw-scrollbar-overflow-x");
const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false
if(hasHorizontalScrollbar){
element_g.classList.add("mw-scrollbar-overflow-x");
}
}
}
var overflow_y=$(element_g).hasClass('mw-overflow-y');
if(overflow_y){
var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflowY)&&(overflowY=="auto")){
element_g.classList.remove("mw-scrollbar-overflow-y");
const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false
if(hasVerticalScrollbar){
element_g.classList.add("mw-scrollbar-overflow-y");
}
}
}
/*koniec overflow*/
});
}
$(Common.ScrollBarOverflow);
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow');
Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow');
});
/*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/
Common.StickyXY=function(){
$('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){
var comp=window.getComputedStyle(element_g, null);
function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){
var pozycje_paskow=new Array();
$(element_g).find('*').each(function(i,element){
var comp=window.getComputedStyle(element, null);
var overflow=comp.getPropertyValue("overflow");
var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){
pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft));
}
});
var height_sticky=0;
$('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){
var rect_sticky=el.getBoundingClientRect();
height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]);
});
var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom);
if(StickyXYTopOld===undefined){
var topold_war=parseFloat(element_g.style[top]);
$(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0));
}
if(StickyXYBottomOld===undefined){
var bottomold_war=parseFloat(element_g.style[bottom]);
$(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0));
}
var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5;
var margintop=parseFloat(comp.getPropertyValue("margin-"+top));
margintop=((!isNaN(margintop))?margintop:0);
var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom));
marginbottom=((!isNaN(marginbottom))?marginbottom:0);
var przodek_height=undefined;
element_g.style[height]="auto";
element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[top]="auto";
element_g.style[bottom]="auto";
if(width_box!=null){
element_g.style[width_box]="auto";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[left_box]="auto";
element_g.style[right_box]="0";
$(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){
element.style[width_box]="auto";
element.classList.remove('mw-scrollbar-overflow-x');
element.classList.remove('mw-scrollbar-overflow-y');
});
}
/**/
var parents_node_fun=$(element_g).parents('.mw-parent-node').first();
if((parents_node_fun==null)||(parents_node_fun.length==0)){return;}
var width_rodzic=null;
var rodzic_element=undefined;
var comp_rodz;
parents_node_fun.each(function(i,element){
comp_rodz=window.getComputedStyle(element,null);
przodek_height=parseFloat(comp_rodz.getPropertyValue([height]));
width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null;
rodzic_element=element;
});
var height_box_real=parseFloat(comp.getPropertyValue(height));
var rect_dziecko=element_g.getBoundingClientRect();
var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))];
var rect_rodzic;
parents_node_fun.each(function(i,element){
rect_rodzic=element.getBoundingClientRect();
});
var top_ab=rect_rodzic[top];
var bottom_ab=(wys-rect_rodzic[bottom]);
var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop);
element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px";
element_g.style[height]="100%";
var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)));
element_g.style[top]=top_obj+"px";
element_g.style[bottom]="auto";
if(width_box!=null){
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
rodzic_element.style.position="static";
rodzic_element.style.overflow="hidden";
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
var rect_dziecko=element_g.getBoundingClientRect();
if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){
if(width_box=="width"){
element_g.classList.remove('mw-scrollbar-overflow-x');
}else{
element_g.classList.remove('mw-scrollbar-overflow-y');
}
if(rect_dziecko[width_box]>width_rodzic){
if(width_box=="width"){
element_g.classList.add('mw-scrollbar-overflow-x');
}else{
element_g.classList.add('mw-scrollbar-overflow-y');
}
}
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box));
margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box));
var dlugosc=(width_rodzic-margin_all);
dlugosc=((dlugosc>=0)?dlugosc:0);
element_g.style.whiteSpace="nowrap";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px";
element_g.style[width_box]=width_box_real+"px";
Common.ScrollBarOverflow();
$(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){
var comp_element=window.getComputedStyle(element, null)
element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat (comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px";
element.classList.remove('mw-scrollbar-overflow-'+x_box);
});
element_g.style.whiteSpace="normal";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[width_box]="auto";
var rect_dziecko=element_g.getBoundingClientRect();
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px";
element_g.style[width_box]=width_box_real+"px";
element_g.style[left_box]="0";
element_g.style[right_box]="auto";
rodzic_element.style.position="relative";
}else{
element_g.style.whiteSpace="nowrap";
var szerokosc_box=rect_dziecko[width_box];
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px";
element_g.style[width_box]=(szerokosc_box)+"px";
Common.ScrollBarOverflow();
$(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){
var comp_element=window.getComputedStyle(element, null);
element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat (comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px";
element.classList.remove('mw-scrollbar-overflow-'+x_box);
});
element_g.style.whiteSpace="normal";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[width_box]="auto";
var rect_dziecko=element_g.getBoundingClientRect();
var szerokosc_box=rect_dziecko[width_box];
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px";
element_g.style[width_box]=(szerokosc_box)+"px";
var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box));
if(parseInt(szerokosc)>parseInt(width_rodzic)){
element_g.style[right_box]="0";
element_g.style[left_box]="auto";
rodzic_element.style.overflow="visible";
}else{
element_g.style[left_box]="0";
element_g.style[right_box]="auto";
rodzic_element.style.position="relative";
}
}
}
element_g.style[height]="auto";
element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px";
Common.ScrollBarOverflow();
for(var i in pozycje_paskow){
pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1];
pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2];
}
}
element_g.classList.add('mw-sticky-js');
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var visibility=comp.getPropertyValue("visibility");
if(visibility=="hidden"){return;}
var position=comp.getPropertyValue("position");
if(position!="absolute"){return;}
var sticky_x=$(element_g).hasClass('mw-sticky-x');
var sticky_y=$(element_g).hasClass('mw-sticky-y');
if((sticky_x)&&(!sticky_y)){
var str=$(element_g).parents('.strona_górna, .strona_dolna').first();
if(str.hasClass('strona_dolna')){
FunStickyXY("width","left","right","height","top","bottom","y","x");
}else if(str.hasClass('strona_górna')){
FunStickyXY("width","left","right","height","bottom","top","y","x");
}
}else if((!sticky_x)&&(sticky_y)){
var str=$(element_g).parents('.strona_prawa, .strona_lewa').first();
if(str.hasClass('strona_prawa')){
FunStickyXY("height","top","bottom","width","left","right","x","y");
}else if(str.hasClass('strona_lewa')){
FunStickyXY("height","top","bottom","width","right","left","x","y");
}
}else if((sticky_x)&&(sticky_y)){
FunStickyXY("width","left","right",null);
FunStickyXY("height","top","bottom",null);
}
});
}
$(Common.StickyXY);
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY');
Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY');
});
/*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/
Common.OptimalXY=function(){
$('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){
var comp=window.getComputedStyle(element_g, null);
function FunOptimalXY(width,left,right){
var pozycje_paskow=new Array();
$(element_g).find('*').each(function(i,element){
var comp=window.getComputedStyle(element, null);
var overflow=comp.getPropertyValue("overflow");
var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){
pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft));
}
});
var width_rodzic=null;
var rodzic_node;
var comp_rodz;
$(element_g).parents('.mw-parent-node').first().each(function(i,element){
comp_rodz=window.getComputedStyle(element,null);
width_rodzic=parseFloat(comp_rodz.getPropertyValue([width]));
rodzic_node=element;
});
if((width_rodzic!=null)&&(!isNaN(width_rodzic))){
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
var width_box_real=parseFloat(comp.getPropertyValue(width));
var rect_dziecko=element_g.getBoundingClientRect();
if(width=="width"){
element_g.classList.remove('mw-scrollbar-overflow-x');
}else{
element_g.classList.remove('mw-scrollbar-overflow-y');
}
if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){
var rect_dziecko=element_g.getBoundingClientRect();
if(rect_dziecko[width]>width_rodzic){
if(width=="width"){
element_g.classList.add('mw-scrollbar-overflow-x');
}else{
element_g.classList.add('mw-scrollbar-overflow-y');
}
}
var width_box_real=parseFloat(comp.getPropertyValue(width));
var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right));
margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right));
var dlugosc=(width_rodzic-margin_all);
dlugosc=((dlugosc>=0)?dlugosc:0);
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px";
}else{
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px";
}
var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first();
if(!str.hasClass('strona_start-nawigacja_boksy')){
var rect_dziecko=element_g.getBoundingClientRect();
var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right));
if(parseInt(szerokosc)>parseInt(width_rodzic)){
str.css('position','static');
}else{
str.css('position','relative');
}
}
}
for(var i in pozycje_paskow){
pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1];
pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2];
}
};
element_g.classList.add('mw-optimal-js');
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var visibility=comp.getPropertyValue("visibility");
if(visibility=="hidden"){return;}
var position=comp.getPropertyValue("position");
if(position!="absolute"){return;}
var optimal_x=$(element_g).hasClass('mw-optimal-x');
var optimal_y=$(element_g).hasClass('mw-optimal-y');
if(optimal_x){
FunOptimalXY("width","left","right");
}
if(optimal_y){
FunOptimalXY("height","top","bottom");
}
});
}
$(Common.OptimalXY);
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY');
Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY');
});
/*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/
Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){
$(obiekt).each(function(i,element_f){
return new Promise(function(resolve,reject){
mw.log("GABUS3")
var czas=0;
function Czekaj(){
if(czas>30000){
reject();
}
var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i);
if((collapsebutton!==null)&&(collapsebutton.length>0)){
var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i);
if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();}
mw.log("GABUS1")
resolve(i);
}else{
mw.log("GABUS2")
czas+=100;
setTimeout(Czekaj,100);
}
}
Czekaj();
}).then(function(i){
$('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){
var href=element_g.getAttribute('href');
if((href!=null)&&(href!="")){
var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*";
var re_frame = new RegExp(col,'g');
var re_javascript=new RegExp("^[\\s;]*javascript:");
if((re_javascript.test(href))&&(re_frame.test(href))){
var href=element_g.getAttribute('href');
if((href!==null)&&(href!="")){
function DodajSkryptJavaScript(fun){
var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g');
var href_nowe=element_g.getAttribute('href');
if(!re.test(href_nowe)){
element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()");
}
}
DodajSkryptJavaScript('Common.ScrollBarOverflow');
DodajSkryptJavaScript('Common.StickyXY');
DodajSkryptJavaScript('Common.OptimalXY');
}
}
}
});
}).catch(function(){});
});
};
$(function(){
/*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/
Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable');
/*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/
Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar');
/*Koniec dodatkowych funkcji*/
});
/*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz,z_mouse){
/*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/
var tab_transition={'start':true,'run':true,'cancel':true,'end':true};
var tab_przegladarki={'':true,'webkit':true,'moz':true,'o':true};
for(var a in tab_transition){
for(var b in tab_przegladarki){
var zdarzenie=b+'transition'+a;
Common.ZdarzeniaJavaScript(css,zdarzenie,fun_zdarz);
}
}
if(z_mouse){
Common.ZdarzeniaJavaScript(css,"mouseenter",fun_zdarz);
Common.ZdarzeniaJavaScript(css,"mouseleave",fun_zdarz);
}
};
$(function(){
/*Funkcje zdarzeń*/
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY',true);
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY',true);
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY',false);
});
/*Koniec dodatkowych zdarzeń*/
/*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/
Common.StronaStart=function(){
var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks');
elements.parent().show();
$('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){
$(element).css('visibility',"hidden");
$(element).attr('mw-menu-boks',"false");
});
$('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){
var czy_visible=$(element).css('visibility');
$(element).css('visibility',"visible");
$(element).attr('mw-menu-boks',"true");
var str=$(element).parents('.strona_prawa, .strona_lewa').first();
str.css('position','relative');
str.addClass('strona_start-nawigacja_spis');
str.removeClass('strona_start-nawigacja_boksy');
if(czy_visible=="hidden"){
$(Common.ScrollBarOverflow);
$(Common.StickyXY);
}
});
var str=$('.strona_start').find('.strona .ciało_zawartości > .menu > .menu_boks').children('.spis_treści, .boksy');
if(str.length!=2){return;}
$(str[0]).attr('mw-menu-boks',"true");
$(str[1]).attr('mw-menu-boks',"false");
Common.StronaStartZdarzeniePrzycisku=function(){
var id=this;
$(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){
var menu_boks_zmienna=$(element).attr('mw-menu-boks');
menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false");
if(menu_boks_zmienna=="false"){
$(element).css('display',"block");
$(element).attr('mw-menu-boks','true');
}else if(menu_boks_zmienna=="true"){
$(element).css('display',"none");
$(element).attr('mw-menu-boks','false');
}
});
$(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children('.nawigacja_boksy, .nawigacja_spis').each(function(i,element){
var menu_boks_zmienna=$(element).attr('mw-menu-boks');
menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false");
if(menu_boks_zmienna=="false"){
$(element).css('visibility',"visible");
$(element).attr('mw-menu-boks',"true");
var str=$(element).parents('.strona_prawa, .strona_lewa').first();
if($(element).hasClass('nawigacja_boksy')){
str.css('position','static');
str.addClass('strona_start-nawigacja_boksy');
str.removeClass('strona_start-nawigacja_spis');
$(Common.ScrollBarOverflow);
$(Common.OptimalXY);
}else if($(element).hasClass('nawigacja_spis')){
str.css('position','relative');
str.addClass('strona_start-nawigacja_spis');
str.removeClass('strona_start-nawigacja_boksy');
$(Common.ScrollBarOverflow);
$(Common.StickyXY);
}
}else if(menu_boks_zmienna=="true"){
$(element).css('visibility',"hidden");
$(element).attr('mw-menu-boks',"false");
}
});
}
if(Common.StronaStartZdarzeniePrzycisku)Common.ZdarzeniaJavaScript(elements,'click','StronaStartZdarzeniePrzycisku');
}
$(Common.StronaStart);
})(Common_zmienna_z_MediaWiki_Wikibooks,Common);
1y0f4gph742ree61buuckn1twzb8qi0
437880
437879
2022-08-16T15:01:11Z
Persino
2851
javascript
text/javascript
mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true );
/**/
/* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony.
*/
/*
* Zmienna Common.pageInfo, jego elementy, instrukcja obsługi:
* Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber)
* Common.pageInfo.name pełna nazwa strony
* Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash
* Common.pageInfo.book tytuł książki
* Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get"
* Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL
*/
/*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/
var Common_zmienna_z_MediaWiki_Wikibooks=this['Common'];
/*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/
var Common=new Array();
/*Funkcja, by nie było przecieków pamięci*/
(function(Common_zmienna_z_MediaWiki_Wikibooks,Common){
/*Funkcja zwraca zmienną Common ze strony MediaWiki:Common.js, gdy użytkownik ma właną zmienną Common w swoim common.js, w przeciwnym wypadku zwraca undefined.*/
Common.MediaWikiCommon=function(){return Common_zmienna_z_MediaWiki_Wikibooks;}
/*Funkcja zwraca zmienną Common ze strony User:<Użytkownik>/common.js, jeżeli użytkownik ma własną zmienną Common we własnym common.js, w przeciwnym wypadku zwraca Common, ze strony MediaWiki:Common.js.*/
Common.UserCommon=function(){return Common;}
/*Sprawdza, czy użytkownik ma własną zmienną Common.*/
Common.IsUserCommon=function(){return ((Common_zmienna_z_MediaWiki_Wikibooks)?true:false);};
// Frame Busting
Common.LokowanieTopSelf=function(){
if (top != self) top.location.href = self.location.href;
};
$(Common.LokowanieTopSelf);
/*Funkcja zdarzeń odrejestrowania i rejestrowania*/
Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen,tylko_odrejestruj){
/*
css - adres html obiektu,
zdarzenie - zdarzenie jak click,
funkcja_zdarzen - nazwa funkcji zdarzeń w starej przestrzeni Common lub nowej, jak StickyXY,
tylko_odrejestruj - czy tylko zdarzenie ma odrejestrować w starej przestrzeni Common.
*/
if((css)&&(zdarzenie)&&(funkcja_zdarzen)){
/*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/
if((Common_zmienna_z_MediaWiki_Wikibooks)&&(Common_zmienna_z_MediaWiki_Wikibooks[funkcja_zdarzen])){
$(css).off(zdarzenie,Common_zmienna_z_MediaWiki_Wikibooks[funkcja_zdarzen]);
}
if((!tylko_odrejestruj)&&(Common)&&(Common[funkcja_zdarzen])){
/*Rejestrowanie zdarzeń, ale z tej strony .js*/
$(css).on(zdarzenie, Common[funkcja_zdarzen]);
}
}
}
/*Funkcje w przestrzeni nazw Common*/
Common.Naglowek=function(){
/* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */
var hideAll = document.getElementById('mójNagłówekUkryj');
var noFooter = false;
var footers = 0;
var tags = document.getElementsByTagName('div');
for (var i = 0; i < tags.length; i++) {
var el=tags[i].getAttribute("id");
if (el=='mojaStopka')
footers++;
else if (hideAll && (el=='mójNagłówek')) {
tags[i].innerHTML="";
noFooter=true;
}
}
if (noFooter) return;
var footer = document.getElementById('mojaStopka');
if ((footer !== null) && (footers==1)) {
var bodyContent = document.getElementById('bodyContent');
if (bodyContent !== null) {
var s0=document.getElementById('mojaStopka0');
var s1=document.getElementById('mojaStopka1');
if ((s1 !== null) ||
((s0 === null) && (bodyContent.innerHTML.length>8000))){
var strona=document.getElementById('strona');
if(strona!==null){
strona.appendChild(footer);
}else{
var catlinks=document.getElementById('catlinks');
if(catlinks !== null){
bodyContent.insertBefore(footer,catlinks);
}else{
bodyContent.appendChild(footer);
}
}
}
}
}
/* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */
};
$(Common.Naglowek);
/*Informacje o danej stronie*/
Common.PageInfoInit=function(){
var _g = /_/g;
this.name = mw.config.get('wgPageName').replace(/_/g, ' ');
this.namespace = mw.config.get('wgNamespaceNumber');
var i = this.name.search(/\/[^\/]*$/g);
this.title = this.name.slice(i + 1);
this.book = this.name.replace(/\/.*/g, "");
if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) {
re = /\&diff=/g;
this.diff = re.test(document.URL);
re = /\&action=[^\&]*/g;
this.action = document.URL.match(re);
if ( this.action === null ) {
this.action = 'get';
} else {
this.action = this.action[0].slice(8, this.action[0].length);
}
} else {
this.diff = null;
this.action = 'get';
}
}
Common.pageInfo = new Common.PageInfoInit();
/** Collapsible tables *********************************************************
*
* Description: Allows tables to be collapsed, showing only the header. See
* [[en:Wikipedia:NavFrame]].
* Maintainers: [[User:R. Koot]]
*/
Common.autoCollapse = 2;
Common.collapseCaption = "ukryj";
Common.expandCaption = "pokaż";
Common.collapseTable=function( tableIndex )
{
var Button = document.getElementById( "collapseButton" + tableIndex );
var Table = document.getElementById( "collapsibleTable" + tableIndex );
if ( !Table || !Button ) {
return false;
}
var Rows = Table.rows;
if ( Button.firstChild.data == Common.collapseCaption ) {
for ( var i = 1; i < Rows.length; i++ ) {
Rows[i].style.display = "none";
}
Button.firstChild.data = Common.expandCaption;
} else {
for ( var i = 1; i < Rows.length; i++ ) {
Rows[i].style.display = Rows[0].style.display;
}
Button.firstChild.data = Common.collapseCaption;
}
}
Common.createCollapseButtons=function()
{
var tableIndex = 0;
var NavigationBoxes = new Object();
var Tables = document.getElementsByTagName( "table" );
for ( var i = 0; i < Tables.length; i++ ) {
if ( $(Tables[i]).hasClass( "collapsible" ) ) {
/* only add button and increment count if there is a header row to work with */
var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0];
if (!HeaderRow) continue;
var Header = HeaderRow.getElementsByTagName( "th" )[0];
if (!Header) continue;
NavigationBoxes[ tableIndex ] = Tables[i];
Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex );
var Button = document.createElement( "span" );
var ButtonLink = document.createElement( "a" );
var ButtonText = document.createTextNode( Common.collapseCaption );
Button.style.styleFloat = "right";
Button.style.cssFloat = "right";
Button.style.fontWeight = "normal";
Button.style.textAlign = "right";
Button.style.width = "6em";
ButtonLink.style.color = Header.style.color;
ButtonLink.setAttribute( "id", "collapseButton" + tableIndex );
ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" );
ButtonLink.appendChild( ButtonText );
Button.appendChild( document.createTextNode( "[" ) );
Button.appendChild( ButtonLink );
Button.appendChild( document.createTextNode( "]" ) );
$(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){
$(element).remove();
});
Header.insertBefore( Button, Header.childNodes[0]);
tableIndex++;
}
}
for ( var i = 0; i < tableIndex; i++ ) {
if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) {
Common.collapseTable( i );
}
else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) {
var element = NavigationBoxes[i];
while (element = element.parentNode) {
if ( $(element).hasClass( "outercollapse" ) ) {
Common.collapseTable ( i );
break;
}
}
}
}
}
$(Common.createCollapseButtons );
/** Dynamic Navigation Bars (experimental) *************************************
*
* Description: See [[Wikipedia:NavFrame]].
* Maintainers: UNMAINTAINED
*/
// set up the words in your language
Common.NavigationBarHide = '[' + Common.collapseCaption + ']';
Common.NavigationBarShow = '[' + Common.expandCaption + ']';
// shows and hides content and picture (if available) of navigation bars
// Parameters:
// indexNavigationBar: the index of navigation bar to be toggled
Common.toggleNavigationBar=function(indexNavigationBar)
{
var NavToggle = document.getElementById("NavToggle" + indexNavigationBar);
var NavFrame = document.getElementById("NavFrame" + indexNavigationBar);
if (!NavFrame || !NavToggle) {
return false;
}
// if shown now
if (NavToggle.firstChild.data == Common.NavigationBarHide) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) ) {
NavChild.style.display = 'none';
}
if ( $(NavChild).hasClass( 'NavContent') ) {
NavChild.style.display = 'none';
}
}
NavToggle.firstChild.data = Common.NavigationBarShow;
// if hidden now
} else if (NavToggle.firstChild.data == Common.NavigationBarShow) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ($(NavChild).hasClass( 'NavPic')) {
NavChild.style.display = 'block';
}
if ($(NavChild).hasClass( 'NavContent')) {
NavChild.style.display = 'block';
}
}
NavToggle.firstChild.data = Common.NavigationBarHide;
}
}
// adds show/hide-button to navigation bars
Common.createNavigationBarToggleButton=function()
{
var indexNavigationBar = 0;
// iterate over all < div >-elements
var divs = document.getElementsByTagName("div");
for (var i = 0; NavFrame = divs[i]; i++) {
// if found a navigation bar
if ($(NavFrame).hasClass( "NavFrame")) {
indexNavigationBar++;
var NavToggle = document.createElement("a");
NavToggle.className = 'NavToggle';
NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar);
NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');');
var isCollapsed = $(NavFrame).hasClass( "collapsed" );
/*
* Check if any children are already hidden. This loop is here for backwards compatibility:
* the old way of making NavFrames start out collapsed was to manually add style="display:none"
* to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make
* the content visible without JavaScript support), the new recommended way is to add the class
* "collapsed" to the NavFrame itself, just like with collapsible tables.
*/
for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) {
if ( NavChild.style.display == 'none' ) {
isCollapsed = true;
}
}
}
if (isCollapsed) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) {
NavChild.style.display = 'none';
}
}
}
var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide);
NavToggle.appendChild(NavToggleText);
// Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked)
for(var j=0; j < NavFrame.childNodes.length; j++) {
if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) {
$(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){
$(element).remove();
});
NavFrame.childNodes[j].appendChild(NavToggle);
}
}
NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar);
}
}
}
$(Common.createNavigationBarToggleButton );
// Wyszukiwanie Google na stronach podręczników
Common.googleSearchInitialized = false;
Common.insertGoogleSearch=function() {
if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) {
return;
}
Common.googleSearchInitialized = true;
var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE";
var ul = jQuery('#p-tb ul')[0];
if (!ul) {
return;
}
var link = document.createElement('a');
var book = Common.pageInfo.book;
if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) {
google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22"
}
link.href = google.replace(/PAGE/g, encodeURIComponent(book));
link.appendChild(document.createTextNode("Szukaj w podręczniku"));
var li = document.createElement('li');
li.id = "google-trick-search";
li.appendChild(link);
$(ul).children('li#google-trick-search').each(function(i,element){
$(element).remove();
});
ul.insertBefore(li, ul.firstChild);
}
$(Common.insertGoogleSearch);
/*Funkcja do liczenia szerokościm mapska przewijania w pionowego, wtedy x_box_right=="y", lub poziomego, wtedy inny parametr inny niż dla paska pionowego*/
Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){
var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>');
$('body').append(div);
var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")]();
div.css('overflow-'+(x_box_right||"y"), 'scroll');
var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")]();
$(div).remove();
return (w1 - w2);
}
/*Funkcje do obsługi pasków przewijania*/
Common.ScrollBarOverflow=function(){
$('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){
/*start overflow*/
var comp=window.getComputedStyle(element_g, null);
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var overflow=comp.getPropertyValue("overflow");
var overflow_x=$(element_g).hasClass('mw-overflow-x');
if(overflow_x){
var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
if((overflowX)&&(overflowX=="auto")){
element_g.classList.remove("mw-scrollbar-overflow-x");
const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false
if(hasHorizontalScrollbar){
element_g.classList.add("mw-scrollbar-overflow-x");
}
}
}
var overflow_y=$(element_g).hasClass('mw-overflow-y');
if(overflow_y){
var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflowY)&&(overflowY=="auto")){
element_g.classList.remove("mw-scrollbar-overflow-y");
const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false
if(hasVerticalScrollbar){
element_g.classList.add("mw-scrollbar-overflow-y");
}
}
}
/*koniec overflow*/
});
}
$(Common.ScrollBarOverflow);
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow');
Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow');
});
/*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/
Common.StickyXY=function(){
$('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){
var comp=window.getComputedStyle(element_g, null);
function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){
var pozycje_paskow=new Array();
$(element_g).find('*').each(function(i,element){
var comp=window.getComputedStyle(element, null);
var overflow=comp.getPropertyValue("overflow");
var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){
pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft));
}
});
var height_sticky=0;
$('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){
var rect_sticky=el.getBoundingClientRect();
height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]);
});
var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom);
if(StickyXYTopOld===undefined){
var topold_war=parseFloat(element_g.style[top]);
$(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0));
}
if(StickyXYBottomOld===undefined){
var bottomold_war=parseFloat(element_g.style[bottom]);
$(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0));
}
var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5;
var margintop=parseFloat(comp.getPropertyValue("margin-"+top));
margintop=((!isNaN(margintop))?margintop:0);
var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom));
marginbottom=((!isNaN(marginbottom))?marginbottom:0);
var przodek_height=undefined;
element_g.style[height]="auto";
element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[top]="auto";
element_g.style[bottom]="auto";
if(width_box!=null){
element_g.style[width_box]="auto";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[left_box]="auto";
element_g.style[right_box]="0";
$(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){
element.style[width_box]="auto";
element.classList.remove('mw-scrollbar-overflow-x');
element.classList.remove('mw-scrollbar-overflow-y');
});
}
/**/
var parents_node_fun=$(element_g).parents('.mw-parent-node').first();
if((parents_node_fun==null)||(parents_node_fun.length==0)){return;}
var width_rodzic=null;
var rodzic_element=undefined;
var comp_rodz;
parents_node_fun.each(function(i,element){
comp_rodz=window.getComputedStyle(element,null);
przodek_height=parseFloat(comp_rodz.getPropertyValue([height]));
width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null;
rodzic_element=element;
});
var height_box_real=parseFloat(comp.getPropertyValue(height));
var rect_dziecko=element_g.getBoundingClientRect();
var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))];
var rect_rodzic;
parents_node_fun.each(function(i,element){
rect_rodzic=element.getBoundingClientRect();
});
var top_ab=rect_rodzic[top];
var bottom_ab=(wys-rect_rodzic[bottom]);
var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop);
element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px";
element_g.style[height]="100%";
var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)));
element_g.style[top]=top_obj+"px";
element_g.style[bottom]="auto";
if(width_box!=null){
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
rodzic_element.style.position="static";
rodzic_element.style.overflow="hidden";
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
var rect_dziecko=element_g.getBoundingClientRect();
if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){
if(width_box=="width"){
element_g.classList.remove('mw-scrollbar-overflow-x');
}else{
element_g.classList.remove('mw-scrollbar-overflow-y');
}
if(rect_dziecko[width_box]>width_rodzic){
if(width_box=="width"){
element_g.classList.add('mw-scrollbar-overflow-x');
}else{
element_g.classList.add('mw-scrollbar-overflow-y');
}
}
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box));
margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box));
var dlugosc=(width_rodzic-margin_all);
dlugosc=((dlugosc>=0)?dlugosc:0);
element_g.style.whiteSpace="nowrap";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px";
element_g.style[width_box]=width_box_real+"px";
Common.ScrollBarOverflow();
$(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){
var comp_element=window.getComputedStyle(element, null)
element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat (comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px";
element.classList.remove('mw-scrollbar-overflow-'+x_box);
});
element_g.style.whiteSpace="normal";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[width_box]="auto";
var rect_dziecko=element_g.getBoundingClientRect();
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px";
element_g.style[width_box]=width_box_real+"px";
element_g.style[left_box]="0";
element_g.style[right_box]="auto";
rodzic_element.style.position="relative";
}else{
element_g.style.whiteSpace="nowrap";
var szerokosc_box=rect_dziecko[width_box];
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px";
element_g.style[width_box]=(szerokosc_box)+"px";
Common.ScrollBarOverflow();
$(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){
var comp_element=window.getComputedStyle(element, null);
element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat (comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px";
element.classList.remove('mw-scrollbar-overflow-'+x_box);
});
element_g.style.whiteSpace="normal";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[width_box]="auto";
var rect_dziecko=element_g.getBoundingClientRect();
var szerokosc_box=rect_dziecko[width_box];
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px";
element_g.style[width_box]=(szerokosc_box)+"px";
var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box));
if(parseInt(szerokosc)>parseInt(width_rodzic)){
element_g.style[right_box]="0";
element_g.style[left_box]="auto";
rodzic_element.style.overflow="visible";
}else{
element_g.style[left_box]="0";
element_g.style[right_box]="auto";
rodzic_element.style.position="relative";
}
}
}
element_g.style[height]="auto";
element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px";
Common.ScrollBarOverflow();
for(var i in pozycje_paskow){
pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1];
pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2];
}
}
element_g.classList.add('mw-sticky-js');
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var visibility=comp.getPropertyValue("visibility");
if(visibility=="hidden"){return;}
var position=comp.getPropertyValue("position");
if(position!="absolute"){return;}
var sticky_x=$(element_g).hasClass('mw-sticky-x');
var sticky_y=$(element_g).hasClass('mw-sticky-y');
if((sticky_x)&&(!sticky_y)){
var str=$(element_g).parents('.strona_górna, .strona_dolna').first();
if(str.hasClass('strona_dolna')){
FunStickyXY("width","left","right","height","top","bottom","y","x");
}else if(str.hasClass('strona_górna')){
FunStickyXY("width","left","right","height","bottom","top","y","x");
}
}else if((!sticky_x)&&(sticky_y)){
var str=$(element_g).parents('.strona_prawa, .strona_lewa').first();
if(str.hasClass('strona_prawa')){
FunStickyXY("height","top","bottom","width","left","right","x","y");
}else if(str.hasClass('strona_lewa')){
FunStickyXY("height","top","bottom","width","right","left","x","y");
}
}else if((sticky_x)&&(sticky_y)){
FunStickyXY("width","left","right",null);
FunStickyXY("height","top","bottom",null);
}
});
}
$(Common.StickyXY);
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY');
Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY');
});
/*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/
Common.OptimalXY=function(){
$('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){
var comp=window.getComputedStyle(element_g, null);
function FunOptimalXY(width,left,right){
var pozycje_paskow=new Array();
$(element_g).find('*').each(function(i,element){
var comp=window.getComputedStyle(element, null);
var overflow=comp.getPropertyValue("overflow");
var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){
pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft));
}
});
var width_rodzic=null;
var rodzic_node;
var comp_rodz;
$(element_g).parents('.mw-parent-node').first().each(function(i,element){
comp_rodz=window.getComputedStyle(element,null);
width_rodzic=parseFloat(comp_rodz.getPropertyValue([width]));
rodzic_node=element;
});
if((width_rodzic!=null)&&(!isNaN(width_rodzic))){
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
var width_box_real=parseFloat(comp.getPropertyValue(width));
var rect_dziecko=element_g.getBoundingClientRect();
if(width=="width"){
element_g.classList.remove('mw-scrollbar-overflow-x');
}else{
element_g.classList.remove('mw-scrollbar-overflow-y');
}
if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){
var rect_dziecko=element_g.getBoundingClientRect();
if(rect_dziecko[width]>width_rodzic){
if(width=="width"){
element_g.classList.add('mw-scrollbar-overflow-x');
}else{
element_g.classList.add('mw-scrollbar-overflow-y');
}
}
var width_box_real=parseFloat(comp.getPropertyValue(width));
var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right));
margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right));
var dlugosc=(width_rodzic-margin_all);
dlugosc=((dlugosc>=0)?dlugosc:0);
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px";
}else{
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px";
}
var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first();
if(!str.hasClass('strona_start-nawigacja_boksy')){
var rect_dziecko=element_g.getBoundingClientRect();
var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right));
if(parseInt(szerokosc)>parseInt(width_rodzic)){
str.css('position','static');
}else{
str.css('position','relative');
}
}
}
for(var i in pozycje_paskow){
pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1];
pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2];
}
};
element_g.classList.add('mw-optimal-js');
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var visibility=comp.getPropertyValue("visibility");
if(visibility=="hidden"){return;}
var position=comp.getPropertyValue("position");
if(position!="absolute"){return;}
var optimal_x=$(element_g).hasClass('mw-optimal-x');
var optimal_y=$(element_g).hasClass('mw-optimal-y');
if(optimal_x){
FunOptimalXY("width","left","right");
}
if(optimal_y){
FunOptimalXY("height","top","bottom");
}
});
}
$(Common.OptimalXY);
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY');
Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY');
});
/*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/
Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){
$(obiekt).each(function(i,element_f){
return new Promise(function(resolve,reject){
mw.log("GABUS3")
var czas=0;
function Czekaj(){
if(czas>30000){
reject();
}
var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i);
if((collapsebutton!==null)&&(collapsebutton.length>0)){
var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i);
if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();}
mw.log("GABUS1")
resolve(i);
}else{
mw.log("GABUS2")
czas+=100;
setTimeout(Czekaj,100);
}
}
Czekaj();
}).then(function(i){
$('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){
var href=element_g.getAttribute('href');
if((href!=null)&&(href!="")){
var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*";
var re_frame = new RegExp(col,'g');
var re_javascript=new RegExp("^[\\s;]*javascript:");
if((re_javascript.test(href))&&(re_frame.test(href))){
var href=element_g.getAttribute('href');
if((href!==null)&&(href!="")){
function DodajSkryptJavaScript(fun){
var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g');
var href_nowe=element_g.getAttribute('href');
if(!re.test(href_nowe)){
element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()");
}
}
DodajSkryptJavaScript('Common.ScrollBarOverflow');
DodajSkryptJavaScript('Common.StickyXY');
DodajSkryptJavaScript('Common.OptimalXY');
}
}
}
});
}).catch(function(){});
});
};
$(function(){
mw.log("GABUS0")
/*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/
Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable');
/*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/
Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar');
/*Koniec dodatkowych funkcji*/
});
/*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz,z_mouse){
/*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/
var tab_transition={'start':true,'run':true,'cancel':true,'end':true};
var tab_przegladarki={'':true,'webkit':true,'moz':true,'o':true};
for(var a in tab_transition){
for(var b in tab_przegladarki){
var zdarzenie=b+'transition'+a;
Common.ZdarzeniaJavaScript(css,zdarzenie,fun_zdarz);
}
}
if(z_mouse){
Common.ZdarzeniaJavaScript(css,"mouseenter",fun_zdarz);
Common.ZdarzeniaJavaScript(css,"mouseleave",fun_zdarz);
}
};
$(function(){
/*Funkcje zdarzeń*/
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY',true);
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY',true);
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY',false);
});
/*Koniec dodatkowych zdarzeń*/
/*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/
Common.StronaStart=function(){
var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks');
elements.parent().show();
$('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){
$(element).css('visibility',"hidden");
$(element).attr('mw-menu-boks',"false");
});
$('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){
var czy_visible=$(element).css('visibility');
$(element).css('visibility',"visible");
$(element).attr('mw-menu-boks',"true");
var str=$(element).parents('.strona_prawa, .strona_lewa').first();
str.css('position','relative');
str.addClass('strona_start-nawigacja_spis');
str.removeClass('strona_start-nawigacja_boksy');
if(czy_visible=="hidden"){
$(Common.ScrollBarOverflow);
$(Common.StickyXY);
}
});
var str=$('.strona_start').find('.strona .ciało_zawartości > .menu > .menu_boks').children('.spis_treści, .boksy');
if(str.length!=2){return;}
$(str[0]).attr('mw-menu-boks',"true");
$(str[1]).attr('mw-menu-boks',"false");
Common.StronaStartZdarzeniePrzycisku=function(){
var id=this;
$(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){
var menu_boks_zmienna=$(element).attr('mw-menu-boks');
menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false");
if(menu_boks_zmienna=="false"){
$(element).css('display',"block");
$(element).attr('mw-menu-boks','true');
}else if(menu_boks_zmienna=="true"){
$(element).css('display',"none");
$(element).attr('mw-menu-boks','false');
}
});
$(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children('.nawigacja_boksy, .nawigacja_spis').each(function(i,element){
var menu_boks_zmienna=$(element).attr('mw-menu-boks');
menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false");
if(menu_boks_zmienna=="false"){
$(element).css('visibility',"visible");
$(element).attr('mw-menu-boks',"true");
var str=$(element).parents('.strona_prawa, .strona_lewa').first();
if($(element).hasClass('nawigacja_boksy')){
str.css('position','static');
str.addClass('strona_start-nawigacja_boksy');
str.removeClass('strona_start-nawigacja_spis');
$(Common.ScrollBarOverflow);
$(Common.OptimalXY);
}else if($(element).hasClass('nawigacja_spis')){
str.css('position','relative');
str.addClass('strona_start-nawigacja_spis');
str.removeClass('strona_start-nawigacja_boksy');
$(Common.ScrollBarOverflow);
$(Common.StickyXY);
}
}else if(menu_boks_zmienna=="true"){
$(element).css('visibility',"hidden");
$(element).attr('mw-menu-boks',"false");
}
});
}
if(Common.StronaStartZdarzeniePrzycisku)Common.ZdarzeniaJavaScript(elements,'click','StronaStartZdarzeniePrzycisku');
}
$(Common.StronaStart);
})(Common_zmienna_z_MediaWiki_Wikibooks,Common);
iunowh0mh12ekxif69htnbforg3avh7
437881
437880
2022-08-16T15:02:49Z
Persino
2851
javascript
text/javascript
mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true );
/**/
/* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony.
*/
/*
* Zmienna Common.pageInfo, jego elementy, instrukcja obsługi:
* Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber)
* Common.pageInfo.name pełna nazwa strony
* Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash
* Common.pageInfo.book tytuł książki
* Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get"
* Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL
*/
/*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/
var Common_zmienna_z_MediaWiki_Wikibooks=this['Common'];
/*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/
var Common=new Array();
/*Funkcja, by nie było przecieków pamięci*/
(function(Common_zmienna_z_MediaWiki_Wikibooks,Common){
/*Funkcja zwraca zmienną Common ze strony MediaWiki:Common.js, gdy użytkownik ma właną zmienną Common w swoim common.js, w przeciwnym wypadku zwraca undefined.*/
Common.MediaWikiCommon=function(){return Common_zmienna_z_MediaWiki_Wikibooks;}
/*Funkcja zwraca zmienną Common ze strony User:<Użytkownik>/common.js, jeżeli użytkownik ma własną zmienną Common we własnym common.js, w przeciwnym wypadku zwraca Common, ze strony MediaWiki:Common.js.*/
Common.UserCommon=function(){return Common;}
/*Sprawdza, czy użytkownik ma własną zmienną Common.*/
Common.IsUserCommon=function(){return ((Common_zmienna_z_MediaWiki_Wikibooks)?true:false);};
// Frame Busting
Common.LokowanieTopSelf=function(){
if (top != self) top.location.href = self.location.href;
};
$(Common.LokowanieTopSelf);
/*Funkcja zdarzeń odrejestrowania i rejestrowania*/
Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen,tylko_odrejestruj){
/*
css - adres html obiektu,
zdarzenie - zdarzenie jak click,
funkcja_zdarzen - nazwa funkcji zdarzeń w starej przestrzeni Common lub nowej, jak StickyXY,
tylko_odrejestruj - czy tylko zdarzenie ma odrejestrować w starej przestrzeni Common.
*/
if((css)&&(zdarzenie)&&(funkcja_zdarzen)){
/*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/
if((Common_zmienna_z_MediaWiki_Wikibooks)&&(Common_zmienna_z_MediaWiki_Wikibooks[funkcja_zdarzen])){
$(css).off(zdarzenie,Common_zmienna_z_MediaWiki_Wikibooks[funkcja_zdarzen]);
}
if((!tylko_odrejestruj)&&(Common)&&(Common[funkcja_zdarzen])){
/*Rejestrowanie zdarzeń, ale z tej strony .js*/
$(css).on(zdarzenie, Common[funkcja_zdarzen]);
}
}
}
/*Funkcje w przestrzeni nazw Common*/
Common.Naglowek=function(){
/* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */
var hideAll = document.getElementById('mójNagłówekUkryj');
var noFooter = false;
var footers = 0;
var tags = document.getElementsByTagName('div');
for (var i = 0; i < tags.length; i++) {
var el=tags[i].getAttribute("id");
if (el=='mojaStopka')
footers++;
else if (hideAll && (el=='mójNagłówek')) {
tags[i].innerHTML="";
noFooter=true;
}
}
if (noFooter) return;
var footer = document.getElementById('mojaStopka');
if ((footer !== null) && (footers==1)) {
var bodyContent = document.getElementById('bodyContent');
if (bodyContent !== null) {
var s0=document.getElementById('mojaStopka0');
var s1=document.getElementById('mojaStopka1');
if ((s1 !== null) ||
((s0 === null) && (bodyContent.innerHTML.length>8000))){
var strona=document.getElementById('strona');
if(strona!==null){
strona.appendChild(footer);
}else{
var catlinks=document.getElementById('catlinks');
if(catlinks !== null){
bodyContent.insertBefore(footer,catlinks);
}else{
bodyContent.appendChild(footer);
}
}
}
}
}
/* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */
};
$(Common.Naglowek);
/*Informacje o danej stronie*/
Common.PageInfoInit=function(){
var _g = /_/g;
this.name = mw.config.get('wgPageName').replace(/_/g, ' ');
this.namespace = mw.config.get('wgNamespaceNumber');
var i = this.name.search(/\/[^\/]*$/g);
this.title = this.name.slice(i + 1);
this.book = this.name.replace(/\/.*/g, "");
if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) {
re = /\&diff=/g;
this.diff = re.test(document.URL);
re = /\&action=[^\&]*/g;
this.action = document.URL.match(re);
if ( this.action === null ) {
this.action = 'get';
} else {
this.action = this.action[0].slice(8, this.action[0].length);
}
} else {
this.diff = null;
this.action = 'get';
}
}
Common.pageInfo = new Common.PageInfoInit();
/** Collapsible tables *********************************************************
*
* Description: Allows tables to be collapsed, showing only the header. See
* [[en:Wikipedia:NavFrame]].
* Maintainers: [[User:R. Koot]]
*/
Common.autoCollapse = 2;
Common.collapseCaption = "ukryj";
Common.expandCaption = "pokaż";
Common.collapseTable=function( tableIndex )
{
var Button = document.getElementById( "collapseButton" + tableIndex );
var Table = document.getElementById( "collapsibleTable" + tableIndex );
if ( !Table || !Button ) {
return false;
}
var Rows = Table.rows;
if ( Button.firstChild.data == Common.collapseCaption ) {
for ( var i = 1; i < Rows.length; i++ ) {
Rows[i].style.display = "none";
}
Button.firstChild.data = Common.expandCaption;
} else {
for ( var i = 1; i < Rows.length; i++ ) {
Rows[i].style.display = Rows[0].style.display;
}
Button.firstChild.data = Common.collapseCaption;
}
}
Common.createCollapseButtons=function()
{
var tableIndex = 0;
var NavigationBoxes = new Object();
var Tables = document.getElementsByTagName( "table" );
for ( var i = 0; i < Tables.length; i++ ) {
if ( $(Tables[i]).hasClass( "collapsible" ) ) {
/* only add button and increment count if there is a header row to work with */
var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0];
if (!HeaderRow) continue;
var Header = HeaderRow.getElementsByTagName( "th" )[0];
if (!Header) continue;
NavigationBoxes[ tableIndex ] = Tables[i];
Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex );
var Button = document.createElement( "span" );
var ButtonLink = document.createElement( "a" );
var ButtonText = document.createTextNode( Common.collapseCaption );
Button.style.styleFloat = "right";
Button.style.cssFloat = "right";
Button.style.fontWeight = "normal";
Button.style.textAlign = "right";
Button.style.width = "6em";
ButtonLink.style.color = Header.style.color;
ButtonLink.setAttribute( "id", "collapseButton" + tableIndex );
ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" );
ButtonLink.appendChild( ButtonText );
Button.appendChild( document.createTextNode( "[" ) );
Button.appendChild( ButtonLink );
Button.appendChild( document.createTextNode( "]" ) );
$(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){
$(element).remove();
});
Header.insertBefore( Button, Header.childNodes[0]);
tableIndex++;
}
}
for ( var i = 0; i < tableIndex; i++ ) {
if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) {
Common.collapseTable( i );
}
else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) {
var element = NavigationBoxes[i];
while (element = element.parentNode) {
if ( $(element).hasClass( "outercollapse" ) ) {
Common.collapseTable ( i );
break;
}
}
}
}
}
$(Common.createCollapseButtons );
/** Dynamic Navigation Bars (experimental) *************************************
*
* Description: See [[Wikipedia:NavFrame]].
* Maintainers: UNMAINTAINED
*/
// set up the words in your language
Common.NavigationBarHide = '[' + Common.collapseCaption + ']';
Common.NavigationBarShow = '[' + Common.expandCaption + ']';
// shows and hides content and picture (if available) of navigation bars
// Parameters:
// indexNavigationBar: the index of navigation bar to be toggled
Common.toggleNavigationBar=function(indexNavigationBar)
{
var NavToggle = document.getElementById("NavToggle" + indexNavigationBar);
var NavFrame = document.getElementById("NavFrame" + indexNavigationBar);
if (!NavFrame || !NavToggle) {
return false;
}
// if shown now
if (NavToggle.firstChild.data == Common.NavigationBarHide) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) ) {
NavChild.style.display = 'none';
}
if ( $(NavChild).hasClass( 'NavContent') ) {
NavChild.style.display = 'none';
}
}
NavToggle.firstChild.data = Common.NavigationBarShow;
// if hidden now
} else if (NavToggle.firstChild.data == Common.NavigationBarShow) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ($(NavChild).hasClass( 'NavPic')) {
NavChild.style.display = 'block';
}
if ($(NavChild).hasClass( 'NavContent')) {
NavChild.style.display = 'block';
}
}
NavToggle.firstChild.data = Common.NavigationBarHide;
}
}
// adds show/hide-button to navigation bars
Common.createNavigationBarToggleButton=function()
{
var indexNavigationBar = 0;
// iterate over all < div >-elements
var divs = document.getElementsByTagName("div");
for (var i = 0; NavFrame = divs[i]; i++) {
// if found a navigation bar
if ($(NavFrame).hasClass( "NavFrame")) {
indexNavigationBar++;
var NavToggle = document.createElement("a");
NavToggle.className = 'NavToggle';
NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar);
NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');');
var isCollapsed = $(NavFrame).hasClass( "collapsed" );
/*
* Check if any children are already hidden. This loop is here for backwards compatibility:
* the old way of making NavFrames start out collapsed was to manually add style="display:none"
* to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make
* the content visible without JavaScript support), the new recommended way is to add the class
* "collapsed" to the NavFrame itself, just like with collapsible tables.
*/
for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) {
if ( NavChild.style.display == 'none' ) {
isCollapsed = true;
}
}
}
if (isCollapsed) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) {
NavChild.style.display = 'none';
}
}
}
var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide);
NavToggle.appendChild(NavToggleText);
// Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked)
for(var j=0; j < NavFrame.childNodes.length; j++) {
if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) {
$(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){
$(element).remove();
});
NavFrame.childNodes[j].appendChild(NavToggle);
}
}
NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar);
}
}
}
$(Common.createNavigationBarToggleButton );
// Wyszukiwanie Google na stronach podręczników
Common.googleSearchInitialized = false;
Common.insertGoogleSearch=function() {
if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) {
return;
}
Common.googleSearchInitialized = true;
var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE";
var ul = jQuery('#p-tb ul')[0];
if (!ul) {
return;
}
var link = document.createElement('a');
var book = Common.pageInfo.book;
if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) {
google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22"
}
link.href = google.replace(/PAGE/g, encodeURIComponent(book));
link.appendChild(document.createTextNode("Szukaj w podręczniku"));
var li = document.createElement('li');
li.id = "google-trick-search";
li.appendChild(link);
$(ul).children('li#google-trick-search').each(function(i,element){
$(element).remove();
});
ul.insertBefore(li, ul.firstChild);
}
$(Common.insertGoogleSearch);
/*Funkcja do liczenia szerokościm mapska przewijania w pionowego, wtedy x_box_right=="y", lub poziomego, wtedy inny parametr inny niż dla paska pionowego*/
Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){
var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>');
$('body').append(div);
var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")]();
div.css('overflow-'+(x_box_right||"y"), 'scroll');
var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")]();
$(div).remove();
return (w1 - w2);
}
/*Funkcje do obsługi pasków przewijania*/
Common.ScrollBarOverflow=function(){
$('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){
/*start overflow*/
var comp=window.getComputedStyle(element_g, null);
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var overflow=comp.getPropertyValue("overflow");
var overflow_x=$(element_g).hasClass('mw-overflow-x');
if(overflow_x){
var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
if((overflowX)&&(overflowX=="auto")){
element_g.classList.remove("mw-scrollbar-overflow-x");
const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false
if(hasHorizontalScrollbar){
element_g.classList.add("mw-scrollbar-overflow-x");
}
}
}
var overflow_y=$(element_g).hasClass('mw-overflow-y');
if(overflow_y){
var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflowY)&&(overflowY=="auto")){
element_g.classList.remove("mw-scrollbar-overflow-y");
const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false
if(hasVerticalScrollbar){
element_g.classList.add("mw-scrollbar-overflow-y");
}
}
}
/*koniec overflow*/
});
}
$(Common.ScrollBarOverflow);
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow');
Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow');
});
/*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/
Common.StickyXY=function(){
$('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){
var comp=window.getComputedStyle(element_g, null);
function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){
var pozycje_paskow=new Array();
$(element_g).find('*').each(function(i,element){
var comp=window.getComputedStyle(element, null);
var overflow=comp.getPropertyValue("overflow");
var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){
pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft));
}
});
var height_sticky=0;
$('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){
var rect_sticky=el.getBoundingClientRect();
height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]);
});
var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom);
if(StickyXYTopOld===undefined){
var topold_war=parseFloat(element_g.style[top]);
$(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0));
}
if(StickyXYBottomOld===undefined){
var bottomold_war=parseFloat(element_g.style[bottom]);
$(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0));
}
var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5;
var margintop=parseFloat(comp.getPropertyValue("margin-"+top));
margintop=((!isNaN(margintop))?margintop:0);
var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom));
marginbottom=((!isNaN(marginbottom))?marginbottom:0);
var przodek_height=undefined;
element_g.style[height]="auto";
element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[top]="auto";
element_g.style[bottom]="auto";
if(width_box!=null){
element_g.style[width_box]="auto";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[left_box]="auto";
element_g.style[right_box]="0";
$(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){
element.style[width_box]="auto";
element.classList.remove('mw-scrollbar-overflow-x');
element.classList.remove('mw-scrollbar-overflow-y');
});
}
/**/
var parents_node_fun=$(element_g).parents('.mw-parent-node').first();
if((parents_node_fun==null)||(parents_node_fun.length==0)){return;}
var width_rodzic=null;
var rodzic_element=undefined;
var comp_rodz;
parents_node_fun.each(function(i,element){
comp_rodz=window.getComputedStyle(element,null);
przodek_height=parseFloat(comp_rodz.getPropertyValue([height]));
width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null;
rodzic_element=element;
});
var height_box_real=parseFloat(comp.getPropertyValue(height));
var rect_dziecko=element_g.getBoundingClientRect();
var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))];
var rect_rodzic;
parents_node_fun.each(function(i,element){
rect_rodzic=element.getBoundingClientRect();
});
var top_ab=rect_rodzic[top];
var bottom_ab=(wys-rect_rodzic[bottom]);
var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop);
element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px";
element_g.style[height]="100%";
var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)));
element_g.style[top]=top_obj+"px";
element_g.style[bottom]="auto";
if(width_box!=null){
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
rodzic_element.style.position="static";
rodzic_element.style.overflow="hidden";
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
var rect_dziecko=element_g.getBoundingClientRect();
if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){
if(width_box=="width"){
element_g.classList.remove('mw-scrollbar-overflow-x');
}else{
element_g.classList.remove('mw-scrollbar-overflow-y');
}
if(rect_dziecko[width_box]>width_rodzic){
if(width_box=="width"){
element_g.classList.add('mw-scrollbar-overflow-x');
}else{
element_g.classList.add('mw-scrollbar-overflow-y');
}
}
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box));
margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box));
var dlugosc=(width_rodzic-margin_all);
dlugosc=((dlugosc>=0)?dlugosc:0);
element_g.style.whiteSpace="nowrap";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px";
element_g.style[width_box]=width_box_real+"px";
Common.ScrollBarOverflow();
$(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){
var comp_element=window.getComputedStyle(element, null)
element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat (comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px";
element.classList.remove('mw-scrollbar-overflow-'+x_box);
});
element_g.style.whiteSpace="normal";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[width_box]="auto";
var rect_dziecko=element_g.getBoundingClientRect();
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px";
element_g.style[width_box]=width_box_real+"px";
element_g.style[left_box]="0";
element_g.style[right_box]="auto";
rodzic_element.style.position="relative";
}else{
element_g.style.whiteSpace="nowrap";
var szerokosc_box=rect_dziecko[width_box];
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px";
element_g.style[width_box]=(szerokosc_box)+"px";
Common.ScrollBarOverflow();
$(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){
var comp_element=window.getComputedStyle(element, null);
element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat (comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px";
element.classList.remove('mw-scrollbar-overflow-'+x_box);
});
element_g.style.whiteSpace="normal";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[width_box]="auto";
var rect_dziecko=element_g.getBoundingClientRect();
var szerokosc_box=rect_dziecko[width_box];
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px";
element_g.style[width_box]=(szerokosc_box)+"px";
var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box));
if(parseInt(szerokosc)>parseInt(width_rodzic)){
element_g.style[right_box]="0";
element_g.style[left_box]="auto";
rodzic_element.style.overflow="visible";
}else{
element_g.style[left_box]="0";
element_g.style[right_box]="auto";
rodzic_element.style.position="relative";
}
}
}
element_g.style[height]="auto";
element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px";
Common.ScrollBarOverflow();
for(var i in pozycje_paskow){
pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1];
pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2];
}
}
element_g.classList.add('mw-sticky-js');
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var visibility=comp.getPropertyValue("visibility");
if(visibility=="hidden"){return;}
var position=comp.getPropertyValue("position");
if(position!="absolute"){return;}
var sticky_x=$(element_g).hasClass('mw-sticky-x');
var sticky_y=$(element_g).hasClass('mw-sticky-y');
if((sticky_x)&&(!sticky_y)){
var str=$(element_g).parents('.strona_górna, .strona_dolna').first();
if(str.hasClass('strona_dolna')){
FunStickyXY("width","left","right","height","top","bottom","y","x");
}else if(str.hasClass('strona_górna')){
FunStickyXY("width","left","right","height","bottom","top","y","x");
}
}else if((!sticky_x)&&(sticky_y)){
var str=$(element_g).parents('.strona_prawa, .strona_lewa').first();
if(str.hasClass('strona_prawa')){
FunStickyXY("height","top","bottom","width","left","right","x","y");
}else if(str.hasClass('strona_lewa')){
FunStickyXY("height","top","bottom","width","right","left","x","y");
}
}else if((sticky_x)&&(sticky_y)){
FunStickyXY("width","left","right",null);
FunStickyXY("height","top","bottom",null);
}
});
}
$(Common.StickyXY);
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY');
Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY');
});
/*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/
Common.OptimalXY=function(){
$('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){
var comp=window.getComputedStyle(element_g, null);
function FunOptimalXY(width,left,right){
var pozycje_paskow=new Array();
$(element_g).find('*').each(function(i,element){
var comp=window.getComputedStyle(element, null);
var overflow=comp.getPropertyValue("overflow");
var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){
pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft));
}
});
var width_rodzic=null;
var rodzic_node;
var comp_rodz;
$(element_g).parents('.mw-parent-node').first().each(function(i,element){
comp_rodz=window.getComputedStyle(element,null);
width_rodzic=parseFloat(comp_rodz.getPropertyValue([width]));
rodzic_node=element;
});
if((width_rodzic!=null)&&(!isNaN(width_rodzic))){
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
var width_box_real=parseFloat(comp.getPropertyValue(width));
var rect_dziecko=element_g.getBoundingClientRect();
if(width=="width"){
element_g.classList.remove('mw-scrollbar-overflow-x');
}else{
element_g.classList.remove('mw-scrollbar-overflow-y');
}
if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){
var rect_dziecko=element_g.getBoundingClientRect();
if(rect_dziecko[width]>width_rodzic){
if(width=="width"){
element_g.classList.add('mw-scrollbar-overflow-x');
}else{
element_g.classList.add('mw-scrollbar-overflow-y');
}
}
var width_box_real=parseFloat(comp.getPropertyValue(width));
var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right));
margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right));
var dlugosc=(width_rodzic-margin_all);
dlugosc=((dlugosc>=0)?dlugosc:0);
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px";
}else{
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px";
}
var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first();
if(!str.hasClass('strona_start-nawigacja_boksy')){
var rect_dziecko=element_g.getBoundingClientRect();
var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right));
if(parseInt(szerokosc)>parseInt(width_rodzic)){
str.css('position','static');
}else{
str.css('position','relative');
}
}
}
for(var i in pozycje_paskow){
pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1];
pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2];
}
};
element_g.classList.add('mw-optimal-js');
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var visibility=comp.getPropertyValue("visibility");
if(visibility=="hidden"){return;}
var position=comp.getPropertyValue("position");
if(position!="absolute"){return;}
var optimal_x=$(element_g).hasClass('mw-optimal-x');
var optimal_y=$(element_g).hasClass('mw-optimal-y');
if(optimal_x){
FunOptimalXY("width","left","right");
}
if(optimal_y){
FunOptimalXY("height","top","bottom");
}
});
}
$(Common.OptimalXY);
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY');
Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY');
});
/*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/
Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){
$(obiekt).each(function(i,element_f){
return new Promise(function(resolve,reject){
mw.log("GABUS3")
var czas=0;
function Czekaj(){
if(czas>30000){
reject();
}
var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i);
if((collapsebutton!==null)&&(collapsebutton.length>0)){
var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i);
if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();}
mw.log("GABUS1")
resolve(i);
}else{
mw.log("GABUS2")
czas+=100;
setTimeout(Czekaj,100);
}
}
Czekaj();
}).then(function(i){
$('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){
var href=element_g.getAttribute('href');
if((href!=null)&&(href!="")){
var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*";
var re_frame = new RegExp(col,'g');
var re_javascript=new RegExp("^[\\s;]*javascript:");
if((re_javascript.test(href))&&(re_frame.test(href))){
var href=element_g.getAttribute('href');
if((href!==null)&&(href!="")){
function DodajSkryptJavaScript(fun){
var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g');
var href_nowe=element_g.getAttribute('href');
if(!re.test(href_nowe)){
element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()");
}
}
DodajSkryptJavaScript('Common.ScrollBarOverflow');
DodajSkryptJavaScript('Common.StickyXY');
DodajSkryptJavaScript('Common.OptimalXY');
}
}
}
});
}).catch(function(){});
});
};
mw.log("GABUS-1")
$(function(){
mw.log("GABUS0")
/*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/
Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable');
/*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/
Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar');
/*Koniec dodatkowych funkcji*/
});
/*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz,z_mouse){
/*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/
var tab_transition={'start':true,'run':true,'cancel':true,'end':true};
var tab_przegladarki={'':true,'webkit':true,'moz':true,'o':true};
for(var a in tab_transition){
for(var b in tab_przegladarki){
var zdarzenie=b+'transition'+a;
Common.ZdarzeniaJavaScript(css,zdarzenie,fun_zdarz);
}
}
if(z_mouse){
Common.ZdarzeniaJavaScript(css,"mouseenter",fun_zdarz);
Common.ZdarzeniaJavaScript(css,"mouseleave",fun_zdarz);
}
};
$(function(){
/*Funkcje zdarzeń*/
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY',true);
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY',true);
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY',false);
});
/*Koniec dodatkowych zdarzeń*/
/*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/
Common.StronaStart=function(){
var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks');
elements.parent().show();
$('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){
$(element).css('visibility',"hidden");
$(element).attr('mw-menu-boks',"false");
});
$('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){
var czy_visible=$(element).css('visibility');
$(element).css('visibility',"visible");
$(element).attr('mw-menu-boks',"true");
var str=$(element).parents('.strona_prawa, .strona_lewa').first();
str.css('position','relative');
str.addClass('strona_start-nawigacja_spis');
str.removeClass('strona_start-nawigacja_boksy');
if(czy_visible=="hidden"){
$(Common.ScrollBarOverflow);
$(Common.StickyXY);
}
});
var str=$('.strona_start').find('.strona .ciało_zawartości > .menu > .menu_boks').children('.spis_treści, .boksy');
if(str.length!=2){return;}
$(str[0]).attr('mw-menu-boks',"true");
$(str[1]).attr('mw-menu-boks',"false");
Common.StronaStartZdarzeniePrzycisku=function(){
var id=this;
$(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){
var menu_boks_zmienna=$(element).attr('mw-menu-boks');
menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false");
if(menu_boks_zmienna=="false"){
$(element).css('display',"block");
$(element).attr('mw-menu-boks','true');
}else if(menu_boks_zmienna=="true"){
$(element).css('display',"none");
$(element).attr('mw-menu-boks','false');
}
});
$(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children('.nawigacja_boksy, .nawigacja_spis').each(function(i,element){
var menu_boks_zmienna=$(element).attr('mw-menu-boks');
menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false");
if(menu_boks_zmienna=="false"){
$(element).css('visibility',"visible");
$(element).attr('mw-menu-boks',"true");
var str=$(element).parents('.strona_prawa, .strona_lewa').first();
if($(element).hasClass('nawigacja_boksy')){
str.css('position','static');
str.addClass('strona_start-nawigacja_boksy');
str.removeClass('strona_start-nawigacja_spis');
$(Common.ScrollBarOverflow);
$(Common.OptimalXY);
}else if($(element).hasClass('nawigacja_spis')){
str.css('position','relative');
str.addClass('strona_start-nawigacja_spis');
str.removeClass('strona_start-nawigacja_boksy');
$(Common.ScrollBarOverflow);
$(Common.StickyXY);
}
}else if(menu_boks_zmienna=="true"){
$(element).css('visibility',"hidden");
$(element).attr('mw-menu-boks',"false");
}
});
}
if(Common.StronaStartZdarzeniePrzycisku)Common.ZdarzeniaJavaScript(elements,'click','StronaStartZdarzeniePrzycisku');
}
$(Common.StronaStart);
})(Common_zmienna_z_MediaWiki_Wikibooks,Common);
svz7e4s7joewvlwjd4sc1y3djloo0f0
437882
437881
2022-08-16T15:05:41Z
Persino
2851
javascript
text/javascript
mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true );
/**/
/* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony.
*/
/*
* Zmienna Common.pageInfo, jego elementy, instrukcja obsługi:
* Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber)
* Common.pageInfo.name pełna nazwa strony
* Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash
* Common.pageInfo.book tytuł książki
* Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get"
* Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL
*/
/*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/
var Common_zmienna_z_MediaWiki_Wikibooks=this['Common'];
/*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/
var Common=new Array();
mw.log("BUDAK")
/*Funkcja, by nie było przecieków pamięci*/
(function(Common_zmienna_z_MediaWiki_Wikibooks,Common){
/*Funkcja zwraca zmienną Common ze strony MediaWiki:Common.js, gdy użytkownik ma właną zmienną Common w swoim common.js, w przeciwnym wypadku zwraca undefined.*/
Common.MediaWikiCommon=function(){return Common_zmienna_z_MediaWiki_Wikibooks;}
/*Funkcja zwraca zmienną Common ze strony User:<Użytkownik>/common.js, jeżeli użytkownik ma własną zmienną Common we własnym common.js, w przeciwnym wypadku zwraca Common, ze strony MediaWiki:Common.js.*/
Common.UserCommon=function(){return Common;}
/*Sprawdza, czy użytkownik ma własną zmienną Common.*/
Common.IsUserCommon=function(){return ((Common_zmienna_z_MediaWiki_Wikibooks)?true:false);};
// Frame Busting
Common.LokowanieTopSelf=function(){
if (top != self) top.location.href = self.location.href;
};
$(Common.LokowanieTopSelf);
/*Funkcja zdarzeń odrejestrowania i rejestrowania*/
Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen,tylko_odrejestruj){
/*
css - adres html obiektu,
zdarzenie - zdarzenie jak click,
funkcja_zdarzen - nazwa funkcji zdarzeń w starej przestrzeni Common lub nowej, jak StickyXY,
tylko_odrejestruj - czy tylko zdarzenie ma odrejestrować w starej przestrzeni Common.
*/
if((css)&&(zdarzenie)&&(funkcja_zdarzen)){
/*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/
if((Common_zmienna_z_MediaWiki_Wikibooks)&&(Common_zmienna_z_MediaWiki_Wikibooks[funkcja_zdarzen])){
$(css).off(zdarzenie,Common_zmienna_z_MediaWiki_Wikibooks[funkcja_zdarzen]);
}
if((!tylko_odrejestruj)&&(Common)&&(Common[funkcja_zdarzen])){
/*Rejestrowanie zdarzeń, ale z tej strony .js*/
$(css).on(zdarzenie, Common[funkcja_zdarzen]);
}
}
}
/*Funkcje w przestrzeni nazw Common*/
Common.Naglowek=function(){
/* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */
var hideAll = document.getElementById('mójNagłówekUkryj');
var noFooter = false;
var footers = 0;
var tags = document.getElementsByTagName('div');
for (var i = 0; i < tags.length; i++) {
var el=tags[i].getAttribute("id");
if (el=='mojaStopka')
footers++;
else if (hideAll && (el=='mójNagłówek')) {
tags[i].innerHTML="";
noFooter=true;
}
}
if (noFooter) return;
var footer = document.getElementById('mojaStopka');
if ((footer !== null) && (footers==1)) {
var bodyContent = document.getElementById('bodyContent');
if (bodyContent !== null) {
var s0=document.getElementById('mojaStopka0');
var s1=document.getElementById('mojaStopka1');
if ((s1 !== null) ||
((s0 === null) && (bodyContent.innerHTML.length>8000))){
var strona=document.getElementById('strona');
if(strona!==null){
strona.appendChild(footer);
}else{
var catlinks=document.getElementById('catlinks');
if(catlinks !== null){
bodyContent.insertBefore(footer,catlinks);
}else{
bodyContent.appendChild(footer);
}
}
}
}
}
/* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */
};
$(Common.Naglowek);
/*Informacje o danej stronie*/
Common.PageInfoInit=function(){
var _g = /_/g;
this.name = mw.config.get('wgPageName').replace(/_/g, ' ');
this.namespace = mw.config.get('wgNamespaceNumber');
var i = this.name.search(/\/[^\/]*$/g);
this.title = this.name.slice(i + 1);
this.book = this.name.replace(/\/.*/g, "");
if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) {
re = /\&diff=/g;
this.diff = re.test(document.URL);
re = /\&action=[^\&]*/g;
this.action = document.URL.match(re);
if ( this.action === null ) {
this.action = 'get';
} else {
this.action = this.action[0].slice(8, this.action[0].length);
}
} else {
this.diff = null;
this.action = 'get';
}
}
Common.pageInfo = new Common.PageInfoInit();
/** Collapsible tables *********************************************************
*
* Description: Allows tables to be collapsed, showing only the header. See
* [[en:Wikipedia:NavFrame]].
* Maintainers: [[User:R. Koot]]
*/
Common.autoCollapse = 2;
Common.collapseCaption = "ukryj";
Common.expandCaption = "pokaż";
Common.collapseTable=function( tableIndex )
{
var Button = document.getElementById( "collapseButton" + tableIndex );
var Table = document.getElementById( "collapsibleTable" + tableIndex );
if ( !Table || !Button ) {
return false;
}
var Rows = Table.rows;
if ( Button.firstChild.data == Common.collapseCaption ) {
for ( var i = 1; i < Rows.length; i++ ) {
Rows[i].style.display = "none";
}
Button.firstChild.data = Common.expandCaption;
} else {
for ( var i = 1; i < Rows.length; i++ ) {
Rows[i].style.display = Rows[0].style.display;
}
Button.firstChild.data = Common.collapseCaption;
}
}
Common.createCollapseButtons=function()
{
var tableIndex = 0;
var NavigationBoxes = new Object();
var Tables = document.getElementsByTagName( "table" );
for ( var i = 0; i < Tables.length; i++ ) {
if ( $(Tables[i]).hasClass( "collapsible" ) ) {
/* only add button and increment count if there is a header row to work with */
var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0];
if (!HeaderRow) continue;
var Header = HeaderRow.getElementsByTagName( "th" )[0];
if (!Header) continue;
NavigationBoxes[ tableIndex ] = Tables[i];
Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex );
var Button = document.createElement( "span" );
var ButtonLink = document.createElement( "a" );
var ButtonText = document.createTextNode( Common.collapseCaption );
Button.style.styleFloat = "right";
Button.style.cssFloat = "right";
Button.style.fontWeight = "normal";
Button.style.textAlign = "right";
Button.style.width = "6em";
ButtonLink.style.color = Header.style.color;
ButtonLink.setAttribute( "id", "collapseButton" + tableIndex );
ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" );
ButtonLink.appendChild( ButtonText );
Button.appendChild( document.createTextNode( "[" ) );
Button.appendChild( ButtonLink );
Button.appendChild( document.createTextNode( "]" ) );
$(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){
$(element).remove();
});
Header.insertBefore( Button, Header.childNodes[0]);
tableIndex++;
}
}
for ( var i = 0; i < tableIndex; i++ ) {
if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) {
Common.collapseTable( i );
}
else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) {
var element = NavigationBoxes[i];
while (element = element.parentNode) {
if ( $(element).hasClass( "outercollapse" ) ) {
Common.collapseTable ( i );
break;
}
}
}
}
}
$(Common.createCollapseButtons );
/** Dynamic Navigation Bars (experimental) *************************************
*
* Description: See [[Wikipedia:NavFrame]].
* Maintainers: UNMAINTAINED
*/
// set up the words in your language
Common.NavigationBarHide = '[' + Common.collapseCaption + ']';
Common.NavigationBarShow = '[' + Common.expandCaption + ']';
// shows and hides content and picture (if available) of navigation bars
// Parameters:
// indexNavigationBar: the index of navigation bar to be toggled
Common.toggleNavigationBar=function(indexNavigationBar)
{
var NavToggle = document.getElementById("NavToggle" + indexNavigationBar);
var NavFrame = document.getElementById("NavFrame" + indexNavigationBar);
if (!NavFrame || !NavToggle) {
return false;
}
// if shown now
if (NavToggle.firstChild.data == Common.NavigationBarHide) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) ) {
NavChild.style.display = 'none';
}
if ( $(NavChild).hasClass( 'NavContent') ) {
NavChild.style.display = 'none';
}
}
NavToggle.firstChild.data = Common.NavigationBarShow;
// if hidden now
} else if (NavToggle.firstChild.data == Common.NavigationBarShow) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ($(NavChild).hasClass( 'NavPic')) {
NavChild.style.display = 'block';
}
if ($(NavChild).hasClass( 'NavContent')) {
NavChild.style.display = 'block';
}
}
NavToggle.firstChild.data = Common.NavigationBarHide;
}
}
// adds show/hide-button to navigation bars
Common.createNavigationBarToggleButton=function()
{
var indexNavigationBar = 0;
// iterate over all < div >-elements
var divs = document.getElementsByTagName("div");
for (var i = 0; NavFrame = divs[i]; i++) {
// if found a navigation bar
if ($(NavFrame).hasClass( "NavFrame")) {
indexNavigationBar++;
var NavToggle = document.createElement("a");
NavToggle.className = 'NavToggle';
NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar);
NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');');
var isCollapsed = $(NavFrame).hasClass( "collapsed" );
/*
* Check if any children are already hidden. This loop is here for backwards compatibility:
* the old way of making NavFrames start out collapsed was to manually add style="display:none"
* to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make
* the content visible without JavaScript support), the new recommended way is to add the class
* "collapsed" to the NavFrame itself, just like with collapsible tables.
*/
for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) {
if ( NavChild.style.display == 'none' ) {
isCollapsed = true;
}
}
}
if (isCollapsed) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) {
NavChild.style.display = 'none';
}
}
}
var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide);
NavToggle.appendChild(NavToggleText);
// Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked)
for(var j=0; j < NavFrame.childNodes.length; j++) {
if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) {
$(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){
$(element).remove();
});
NavFrame.childNodes[j].appendChild(NavToggle);
}
}
NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar);
}
}
}
$(Common.createNavigationBarToggleButton );
// Wyszukiwanie Google na stronach podręczników
Common.googleSearchInitialized = false;
Common.insertGoogleSearch=function() {
if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) {
return;
}
Common.googleSearchInitialized = true;
var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE";
var ul = jQuery('#p-tb ul')[0];
if (!ul) {
return;
}
var link = document.createElement('a');
var book = Common.pageInfo.book;
if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) {
google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22"
}
link.href = google.replace(/PAGE/g, encodeURIComponent(book));
link.appendChild(document.createTextNode("Szukaj w podręczniku"));
var li = document.createElement('li');
li.id = "google-trick-search";
li.appendChild(link);
$(ul).children('li#google-trick-search').each(function(i,element){
$(element).remove();
});
ul.insertBefore(li, ul.firstChild);
}
$(Common.insertGoogleSearch);
/*Funkcja do liczenia szerokościm mapska przewijania w pionowego, wtedy x_box_right=="y", lub poziomego, wtedy inny parametr inny niż dla paska pionowego*/
Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){
var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>');
$('body').append(div);
var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")]();
div.css('overflow-'+(x_box_right||"y"), 'scroll');
var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")]();
$(div).remove();
return (w1 - w2);
}
/*Funkcje do obsługi pasków przewijania*/
Common.ScrollBarOverflow=function(){
$('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){
/*start overflow*/
var comp=window.getComputedStyle(element_g, null);
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var overflow=comp.getPropertyValue("overflow");
var overflow_x=$(element_g).hasClass('mw-overflow-x');
if(overflow_x){
var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
if((overflowX)&&(overflowX=="auto")){
element_g.classList.remove("mw-scrollbar-overflow-x");
const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false
if(hasHorizontalScrollbar){
element_g.classList.add("mw-scrollbar-overflow-x");
}
}
}
var overflow_y=$(element_g).hasClass('mw-overflow-y');
if(overflow_y){
var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflowY)&&(overflowY=="auto")){
element_g.classList.remove("mw-scrollbar-overflow-y");
const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false
if(hasVerticalScrollbar){
element_g.classList.add("mw-scrollbar-overflow-y");
}
}
}
/*koniec overflow*/
});
}
$(Common.ScrollBarOverflow);
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow');
Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow');
});
/*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/
Common.StickyXY=function(){
$('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){
var comp=window.getComputedStyle(element_g, null);
function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){
var pozycje_paskow=new Array();
$(element_g).find('*').each(function(i,element){
var comp=window.getComputedStyle(element, null);
var overflow=comp.getPropertyValue("overflow");
var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){
pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft));
}
});
var height_sticky=0;
$('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){
var rect_sticky=el.getBoundingClientRect();
height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]);
});
var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom);
if(StickyXYTopOld===undefined){
var topold_war=parseFloat(element_g.style[top]);
$(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0));
}
if(StickyXYBottomOld===undefined){
var bottomold_war=parseFloat(element_g.style[bottom]);
$(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0));
}
var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5;
var margintop=parseFloat(comp.getPropertyValue("margin-"+top));
margintop=((!isNaN(margintop))?margintop:0);
var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom));
marginbottom=((!isNaN(marginbottom))?marginbottom:0);
var przodek_height=undefined;
element_g.style[height]="auto";
element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[top]="auto";
element_g.style[bottom]="auto";
if(width_box!=null){
element_g.style[width_box]="auto";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[left_box]="auto";
element_g.style[right_box]="0";
$(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){
element.style[width_box]="auto";
element.classList.remove('mw-scrollbar-overflow-x');
element.classList.remove('mw-scrollbar-overflow-y');
});
}
/**/
var parents_node_fun=$(element_g).parents('.mw-parent-node').first();
if((parents_node_fun==null)||(parents_node_fun.length==0)){return;}
var width_rodzic=null;
var rodzic_element=undefined;
var comp_rodz;
parents_node_fun.each(function(i,element){
comp_rodz=window.getComputedStyle(element,null);
przodek_height=parseFloat(comp_rodz.getPropertyValue([height]));
width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null;
rodzic_element=element;
});
var height_box_real=parseFloat(comp.getPropertyValue(height));
var rect_dziecko=element_g.getBoundingClientRect();
var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))];
var rect_rodzic;
parents_node_fun.each(function(i,element){
rect_rodzic=element.getBoundingClientRect();
});
var top_ab=rect_rodzic[top];
var bottom_ab=(wys-rect_rodzic[bottom]);
var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop);
element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px";
element_g.style[height]="100%";
var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)));
element_g.style[top]=top_obj+"px";
element_g.style[bottom]="auto";
if(width_box!=null){
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
rodzic_element.style.position="static";
rodzic_element.style.overflow="hidden";
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
var rect_dziecko=element_g.getBoundingClientRect();
if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){
if(width_box=="width"){
element_g.classList.remove('mw-scrollbar-overflow-x');
}else{
element_g.classList.remove('mw-scrollbar-overflow-y');
}
if(rect_dziecko[width_box]>width_rodzic){
if(width_box=="width"){
element_g.classList.add('mw-scrollbar-overflow-x');
}else{
element_g.classList.add('mw-scrollbar-overflow-y');
}
}
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box));
margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box));
var dlugosc=(width_rodzic-margin_all);
dlugosc=((dlugosc>=0)?dlugosc:0);
element_g.style.whiteSpace="nowrap";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px";
element_g.style[width_box]=width_box_real+"px";
Common.ScrollBarOverflow();
$(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){
var comp_element=window.getComputedStyle(element, null)
element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat (comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px";
element.classList.remove('mw-scrollbar-overflow-'+x_box);
});
element_g.style.whiteSpace="normal";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[width_box]="auto";
var rect_dziecko=element_g.getBoundingClientRect();
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px";
element_g.style[width_box]=width_box_real+"px";
element_g.style[left_box]="0";
element_g.style[right_box]="auto";
rodzic_element.style.position="relative";
}else{
element_g.style.whiteSpace="nowrap";
var szerokosc_box=rect_dziecko[width_box];
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px";
element_g.style[width_box]=(szerokosc_box)+"px";
Common.ScrollBarOverflow();
$(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){
var comp_element=window.getComputedStyle(element, null);
element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat (comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px";
element.classList.remove('mw-scrollbar-overflow-'+x_box);
});
element_g.style.whiteSpace="normal";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[width_box]="auto";
var rect_dziecko=element_g.getBoundingClientRect();
var szerokosc_box=rect_dziecko[width_box];
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px";
element_g.style[width_box]=(szerokosc_box)+"px";
var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box));
if(parseInt(szerokosc)>parseInt(width_rodzic)){
element_g.style[right_box]="0";
element_g.style[left_box]="auto";
rodzic_element.style.overflow="visible";
}else{
element_g.style[left_box]="0";
element_g.style[right_box]="auto";
rodzic_element.style.position="relative";
}
}
}
element_g.style[height]="auto";
element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px";
Common.ScrollBarOverflow();
for(var i in pozycje_paskow){
pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1];
pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2];
}
}
element_g.classList.add('mw-sticky-js');
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var visibility=comp.getPropertyValue("visibility");
if(visibility=="hidden"){return;}
var position=comp.getPropertyValue("position");
if(position!="absolute"){return;}
var sticky_x=$(element_g).hasClass('mw-sticky-x');
var sticky_y=$(element_g).hasClass('mw-sticky-y');
if((sticky_x)&&(!sticky_y)){
var str=$(element_g).parents('.strona_górna, .strona_dolna').first();
if(str.hasClass('strona_dolna')){
FunStickyXY("width","left","right","height","top","bottom","y","x");
}else if(str.hasClass('strona_górna')){
FunStickyXY("width","left","right","height","bottom","top","y","x");
}
}else if((!sticky_x)&&(sticky_y)){
var str=$(element_g).parents('.strona_prawa, .strona_lewa').first();
if(str.hasClass('strona_prawa')){
FunStickyXY("height","top","bottom","width","left","right","x","y");
}else if(str.hasClass('strona_lewa')){
FunStickyXY("height","top","bottom","width","right","left","x","y");
}
}else if((sticky_x)&&(sticky_y)){
FunStickyXY("width","left","right",null);
FunStickyXY("height","top","bottom",null);
}
});
}
$(Common.StickyXY);
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY');
Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY');
});
/*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/
Common.OptimalXY=function(){
$('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){
var comp=window.getComputedStyle(element_g, null);
function FunOptimalXY(width,left,right){
var pozycje_paskow=new Array();
$(element_g).find('*').each(function(i,element){
var comp=window.getComputedStyle(element, null);
var overflow=comp.getPropertyValue("overflow");
var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){
pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft));
}
});
var width_rodzic=null;
var rodzic_node;
var comp_rodz;
$(element_g).parents('.mw-parent-node').first().each(function(i,element){
comp_rodz=window.getComputedStyle(element,null);
width_rodzic=parseFloat(comp_rodz.getPropertyValue([width]));
rodzic_node=element;
});
if((width_rodzic!=null)&&(!isNaN(width_rodzic))){
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
var width_box_real=parseFloat(comp.getPropertyValue(width));
var rect_dziecko=element_g.getBoundingClientRect();
if(width=="width"){
element_g.classList.remove('mw-scrollbar-overflow-x');
}else{
element_g.classList.remove('mw-scrollbar-overflow-y');
}
if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){
var rect_dziecko=element_g.getBoundingClientRect();
if(rect_dziecko[width]>width_rodzic){
if(width=="width"){
element_g.classList.add('mw-scrollbar-overflow-x');
}else{
element_g.classList.add('mw-scrollbar-overflow-y');
}
}
var width_box_real=parseFloat(comp.getPropertyValue(width));
var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right));
margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right));
var dlugosc=(width_rodzic-margin_all);
dlugosc=((dlugosc>=0)?dlugosc:0);
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px";
}else{
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px";
}
var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first();
if(!str.hasClass('strona_start-nawigacja_boksy')){
var rect_dziecko=element_g.getBoundingClientRect();
var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right));
if(parseInt(szerokosc)>parseInt(width_rodzic)){
str.css('position','static');
}else{
str.css('position','relative');
}
}
}
for(var i in pozycje_paskow){
pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1];
pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2];
}
};
element_g.classList.add('mw-optimal-js');
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var visibility=comp.getPropertyValue("visibility");
if(visibility=="hidden"){return;}
var position=comp.getPropertyValue("position");
if(position!="absolute"){return;}
var optimal_x=$(element_g).hasClass('mw-optimal-x');
var optimal_y=$(element_g).hasClass('mw-optimal-y');
if(optimal_x){
FunOptimalXY("width","left","right");
}
if(optimal_y){
FunOptimalXY("height","top","bottom");
}
});
}
$(Common.OptimalXY);
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY');
Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY');
});
/*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/
Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){
$(obiekt).each(function(i,element_f){
return new Promise(function(resolve,reject){
mw.log("GABUS3")
var czas=0;
function Czekaj(){
if(czas>30000){
reject();
}
var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i);
if((collapsebutton!==null)&&(collapsebutton.length>0)){
var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i);
if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();}
mw.log("GABUS1")
resolve(i);
}else{
mw.log("GABUS2")
czas+=100;
setTimeout(Czekaj,100);
}
}
Czekaj();
}).then(function(i){
$('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){
var href=element_g.getAttribute('href');
if((href!=null)&&(href!="")){
var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*";
var re_frame = new RegExp(col,'g');
var re_javascript=new RegExp("^[\\s;]*javascript:");
if((re_javascript.test(href))&&(re_frame.test(href))){
var href=element_g.getAttribute('href');
if((href!==null)&&(href!="")){
function DodajSkryptJavaScript(fun){
var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g');
var href_nowe=element_g.getAttribute('href');
if(!re.test(href_nowe)){
element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()");
}
}
DodajSkryptJavaScript('Common.ScrollBarOverflow');
DodajSkryptJavaScript('Common.StickyXY');
DodajSkryptJavaScript('Common.OptimalXY');
}
}
}
});
}).catch(function(){});
});
};
mw.log("GABUS-1")
$(function(){
mw.log("GABUS0")
/*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/
Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable');
/*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/
Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar');
/*Koniec dodatkowych funkcji*/
});
/*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz,z_mouse){
/*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/
var tab_transition={'start':true,'run':true,'cancel':true,'end':true};
var tab_przegladarki={'':true,'webkit':true,'moz':true,'o':true};
for(var a in tab_transition){
for(var b in tab_przegladarki){
var zdarzenie=b+'transition'+a;
Common.ZdarzeniaJavaScript(css,zdarzenie,fun_zdarz);
}
}
if(z_mouse){
Common.ZdarzeniaJavaScript(css,"mouseenter",fun_zdarz);
Common.ZdarzeniaJavaScript(css,"mouseleave",fun_zdarz);
}
};
$(function(){
/*Funkcje zdarzeń*/
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY',true);
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY',true);
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY',false);
});
/*Koniec dodatkowych zdarzeń*/
/*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/
Common.StronaStart=function(){
var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks');
elements.parent().show();
$('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){
$(element).css('visibility',"hidden");
$(element).attr('mw-menu-boks',"false");
});
$('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){
var czy_visible=$(element).css('visibility');
$(element).css('visibility',"visible");
$(element).attr('mw-menu-boks',"true");
var str=$(element).parents('.strona_prawa, .strona_lewa').first();
str.css('position','relative');
str.addClass('strona_start-nawigacja_spis');
str.removeClass('strona_start-nawigacja_boksy');
if(czy_visible=="hidden"){
$(Common.ScrollBarOverflow);
$(Common.StickyXY);
}
});
var str=$('.strona_start').find('.strona .ciało_zawartości > .menu > .menu_boks').children('.spis_treści, .boksy');
if(str.length!=2){return;}
$(str[0]).attr('mw-menu-boks',"true");
$(str[1]).attr('mw-menu-boks',"false");
Common.StronaStartZdarzeniePrzycisku=function(){
var id=this;
$(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){
var menu_boks_zmienna=$(element).attr('mw-menu-boks');
menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false");
if(menu_boks_zmienna=="false"){
$(element).css('display',"block");
$(element).attr('mw-menu-boks','true');
}else if(menu_boks_zmienna=="true"){
$(element).css('display',"none");
$(element).attr('mw-menu-boks','false');
}
});
$(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children('.nawigacja_boksy, .nawigacja_spis').each(function(i,element){
var menu_boks_zmienna=$(element).attr('mw-menu-boks');
menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false");
if(menu_boks_zmienna=="false"){
$(element).css('visibility',"visible");
$(element).attr('mw-menu-boks',"true");
var str=$(element).parents('.strona_prawa, .strona_lewa').first();
if($(element).hasClass('nawigacja_boksy')){
str.css('position','static');
str.addClass('strona_start-nawigacja_boksy');
str.removeClass('strona_start-nawigacja_spis');
$(Common.ScrollBarOverflow);
$(Common.OptimalXY);
}else if($(element).hasClass('nawigacja_spis')){
str.css('position','relative');
str.addClass('strona_start-nawigacja_spis');
str.removeClass('strona_start-nawigacja_boksy');
$(Common.ScrollBarOverflow);
$(Common.StickyXY);
}
}else if(menu_boks_zmienna=="true"){
$(element).css('visibility',"hidden");
$(element).attr('mw-menu-boks',"false");
}
});
}
if(Common.StronaStartZdarzeniePrzycisku)Common.ZdarzeniaJavaScript(elements,'click','StronaStartZdarzeniePrzycisku');
}
$(Common.StronaStart);
})(Common_zmienna_z_MediaWiki_Wikibooks,Common);
adh6zop4gisexfqrnhsh2oevksfzybv
437883
437882
2022-08-16T15:06:20Z
Persino
2851
javascript
text/javascript
mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true );
/**/
/* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony.
*/
/*
* Zmienna Common.pageInfo, jego elementy, instrukcja obsługi:
* Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber)
* Common.pageInfo.name pełna nazwa strony
* Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash
* Common.pageInfo.book tytuł książki
* Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get"
* Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL
*/
/*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/
var Common_zmienna_z_MediaWiki_Wikibooks=this['Common'];
/*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/
var Common=new Array();
mw.log("BUDAK");
/*Funkcja, by nie było przecieków pamięci*/
(function(Common_zmienna_z_MediaWiki_Wikibooks,Common){
/*Funkcja zwraca zmienną Common ze strony MediaWiki:Common.js, gdy użytkownik ma właną zmienną Common w swoim common.js, w przeciwnym wypadku zwraca undefined.*/
Common.MediaWikiCommon=function(){return Common_zmienna_z_MediaWiki_Wikibooks;}
/*Funkcja zwraca zmienną Common ze strony User:<Użytkownik>/common.js, jeżeli użytkownik ma własną zmienną Common we własnym common.js, w przeciwnym wypadku zwraca Common, ze strony MediaWiki:Common.js.*/
Common.UserCommon=function(){return Common;}
/*Sprawdza, czy użytkownik ma własną zmienną Common.*/
Common.IsUserCommon=function(){return ((Common_zmienna_z_MediaWiki_Wikibooks)?true:false);};
// Frame Busting
Common.LokowanieTopSelf=function(){
if (top != self) top.location.href = self.location.href;
};
$(Common.LokowanieTopSelf);
/*Funkcja zdarzeń odrejestrowania i rejestrowania*/
Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen,tylko_odrejestruj){
/*
css - adres html obiektu,
zdarzenie - zdarzenie jak click,
funkcja_zdarzen - nazwa funkcji zdarzeń w starej przestrzeni Common lub nowej, jak StickyXY,
tylko_odrejestruj - czy tylko zdarzenie ma odrejestrować w starej przestrzeni Common.
*/
if((css)&&(zdarzenie)&&(funkcja_zdarzen)){
/*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/
if((Common_zmienna_z_MediaWiki_Wikibooks)&&(Common_zmienna_z_MediaWiki_Wikibooks[funkcja_zdarzen])){
$(css).off(zdarzenie,Common_zmienna_z_MediaWiki_Wikibooks[funkcja_zdarzen]);
}
if((!tylko_odrejestruj)&&(Common)&&(Common[funkcja_zdarzen])){
/*Rejestrowanie zdarzeń, ale z tej strony .js*/
$(css).on(zdarzenie, Common[funkcja_zdarzen]);
}
}
}
/*Funkcje w przestrzeni nazw Common*/
Common.Naglowek=function(){
/* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */
var hideAll = document.getElementById('mójNagłówekUkryj');
var noFooter = false;
var footers = 0;
var tags = document.getElementsByTagName('div');
for (var i = 0; i < tags.length; i++) {
var el=tags[i].getAttribute("id");
if (el=='mojaStopka')
footers++;
else if (hideAll && (el=='mójNagłówek')) {
tags[i].innerHTML="";
noFooter=true;
}
}
if (noFooter) return;
var footer = document.getElementById('mojaStopka');
if ((footer !== null) && (footers==1)) {
var bodyContent = document.getElementById('bodyContent');
if (bodyContent !== null) {
var s0=document.getElementById('mojaStopka0');
var s1=document.getElementById('mojaStopka1');
if ((s1 !== null) ||
((s0 === null) && (bodyContent.innerHTML.length>8000))){
var strona=document.getElementById('strona');
if(strona!==null){
strona.appendChild(footer);
}else{
var catlinks=document.getElementById('catlinks');
if(catlinks !== null){
bodyContent.insertBefore(footer,catlinks);
}else{
bodyContent.appendChild(footer);
}
}
}
}
}
/* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */
};
$(Common.Naglowek);
/*Informacje o danej stronie*/
Common.PageInfoInit=function(){
var _g = /_/g;
this.name = mw.config.get('wgPageName').replace(/_/g, ' ');
this.namespace = mw.config.get('wgNamespaceNumber');
var i = this.name.search(/\/[^\/]*$/g);
this.title = this.name.slice(i + 1);
this.book = this.name.replace(/\/.*/g, "");
if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) {
re = /\&diff=/g;
this.diff = re.test(document.URL);
re = /\&action=[^\&]*/g;
this.action = document.URL.match(re);
if ( this.action === null ) {
this.action = 'get';
} else {
this.action = this.action[0].slice(8, this.action[0].length);
}
} else {
this.diff = null;
this.action = 'get';
}
}
Common.pageInfo = new Common.PageInfoInit();
/** Collapsible tables *********************************************************
*
* Description: Allows tables to be collapsed, showing only the header. See
* [[en:Wikipedia:NavFrame]].
* Maintainers: [[User:R. Koot]]
*/
Common.autoCollapse = 2;
Common.collapseCaption = "ukryj";
Common.expandCaption = "pokaż";
Common.collapseTable=function( tableIndex )
{
var Button = document.getElementById( "collapseButton" + tableIndex );
var Table = document.getElementById( "collapsibleTable" + tableIndex );
if ( !Table || !Button ) {
return false;
}
var Rows = Table.rows;
if ( Button.firstChild.data == Common.collapseCaption ) {
for ( var i = 1; i < Rows.length; i++ ) {
Rows[i].style.display = "none";
}
Button.firstChild.data = Common.expandCaption;
} else {
for ( var i = 1; i < Rows.length; i++ ) {
Rows[i].style.display = Rows[0].style.display;
}
Button.firstChild.data = Common.collapseCaption;
}
}
Common.createCollapseButtons=function()
{
var tableIndex = 0;
var NavigationBoxes = new Object();
var Tables = document.getElementsByTagName( "table" );
for ( var i = 0; i < Tables.length; i++ ) {
if ( $(Tables[i]).hasClass( "collapsible" ) ) {
/* only add button and increment count if there is a header row to work with */
var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0];
if (!HeaderRow) continue;
var Header = HeaderRow.getElementsByTagName( "th" )[0];
if (!Header) continue;
NavigationBoxes[ tableIndex ] = Tables[i];
Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex );
var Button = document.createElement( "span" );
var ButtonLink = document.createElement( "a" );
var ButtonText = document.createTextNode( Common.collapseCaption );
Button.style.styleFloat = "right";
Button.style.cssFloat = "right";
Button.style.fontWeight = "normal";
Button.style.textAlign = "right";
Button.style.width = "6em";
ButtonLink.style.color = Header.style.color;
ButtonLink.setAttribute( "id", "collapseButton" + tableIndex );
ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" );
ButtonLink.appendChild( ButtonText );
Button.appendChild( document.createTextNode( "[" ) );
Button.appendChild( ButtonLink );
Button.appendChild( document.createTextNode( "]" ) );
$(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){
$(element).remove();
});
Header.insertBefore( Button, Header.childNodes[0]);
tableIndex++;
}
}
for ( var i = 0; i < tableIndex; i++ ) {
if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) {
Common.collapseTable( i );
}
else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) {
var element = NavigationBoxes[i];
while (element = element.parentNode) {
if ( $(element).hasClass( "outercollapse" ) ) {
Common.collapseTable ( i );
break;
}
}
}
}
}
$(Common.createCollapseButtons );
/** Dynamic Navigation Bars (experimental) *************************************
*
* Description: See [[Wikipedia:NavFrame]].
* Maintainers: UNMAINTAINED
*/
// set up the words in your language
Common.NavigationBarHide = '[' + Common.collapseCaption + ']';
Common.NavigationBarShow = '[' + Common.expandCaption + ']';
// shows and hides content and picture (if available) of navigation bars
// Parameters:
// indexNavigationBar: the index of navigation bar to be toggled
Common.toggleNavigationBar=function(indexNavigationBar)
{
var NavToggle = document.getElementById("NavToggle" + indexNavigationBar);
var NavFrame = document.getElementById("NavFrame" + indexNavigationBar);
if (!NavFrame || !NavToggle) {
return false;
}
// if shown now
if (NavToggle.firstChild.data == Common.NavigationBarHide) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) ) {
NavChild.style.display = 'none';
}
if ( $(NavChild).hasClass( 'NavContent') ) {
NavChild.style.display = 'none';
}
}
NavToggle.firstChild.data = Common.NavigationBarShow;
// if hidden now
} else if (NavToggle.firstChild.data == Common.NavigationBarShow) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ($(NavChild).hasClass( 'NavPic')) {
NavChild.style.display = 'block';
}
if ($(NavChild).hasClass( 'NavContent')) {
NavChild.style.display = 'block';
}
}
NavToggle.firstChild.data = Common.NavigationBarHide;
}
}
// adds show/hide-button to navigation bars
Common.createNavigationBarToggleButton=function()
{
var indexNavigationBar = 0;
// iterate over all < div >-elements
var divs = document.getElementsByTagName("div");
for (var i = 0; NavFrame = divs[i]; i++) {
// if found a navigation bar
if ($(NavFrame).hasClass( "NavFrame")) {
indexNavigationBar++;
var NavToggle = document.createElement("a");
NavToggle.className = 'NavToggle';
NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar);
NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');');
var isCollapsed = $(NavFrame).hasClass( "collapsed" );
/*
* Check if any children are already hidden. This loop is here for backwards compatibility:
* the old way of making NavFrames start out collapsed was to manually add style="display:none"
* to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make
* the content visible without JavaScript support), the new recommended way is to add the class
* "collapsed" to the NavFrame itself, just like with collapsible tables.
*/
for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) {
if ( NavChild.style.display == 'none' ) {
isCollapsed = true;
}
}
}
if (isCollapsed) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) {
NavChild.style.display = 'none';
}
}
}
var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide);
NavToggle.appendChild(NavToggleText);
// Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked)
for(var j=0; j < NavFrame.childNodes.length; j++) {
if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) {
$(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){
$(element).remove();
});
NavFrame.childNodes[j].appendChild(NavToggle);
}
}
NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar);
}
}
}
$(Common.createNavigationBarToggleButton );
// Wyszukiwanie Google na stronach podręczników
Common.googleSearchInitialized = false;
Common.insertGoogleSearch=function() {
if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) {
return;
}
Common.googleSearchInitialized = true;
var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE";
var ul = jQuery('#p-tb ul')[0];
if (!ul) {
return;
}
var link = document.createElement('a');
var book = Common.pageInfo.book;
if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) {
google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22"
}
link.href = google.replace(/PAGE/g, encodeURIComponent(book));
link.appendChild(document.createTextNode("Szukaj w podręczniku"));
var li = document.createElement('li');
li.id = "google-trick-search";
li.appendChild(link);
$(ul).children('li#google-trick-search').each(function(i,element){
$(element).remove();
});
ul.insertBefore(li, ul.firstChild);
}
$(Common.insertGoogleSearch);
/*Funkcja do liczenia szerokościm mapska przewijania w pionowego, wtedy x_box_right=="y", lub poziomego, wtedy inny parametr inny niż dla paska pionowego*/
Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){
var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>');
$('body').append(div);
var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")]();
div.css('overflow-'+(x_box_right||"y"), 'scroll');
var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")]();
$(div).remove();
return (w1 - w2);
}
/*Funkcje do obsługi pasków przewijania*/
Common.ScrollBarOverflow=function(){
$('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){
/*start overflow*/
var comp=window.getComputedStyle(element_g, null);
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var overflow=comp.getPropertyValue("overflow");
var overflow_x=$(element_g).hasClass('mw-overflow-x');
if(overflow_x){
var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
if((overflowX)&&(overflowX=="auto")){
element_g.classList.remove("mw-scrollbar-overflow-x");
const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false
if(hasHorizontalScrollbar){
element_g.classList.add("mw-scrollbar-overflow-x");
}
}
}
var overflow_y=$(element_g).hasClass('mw-overflow-y');
if(overflow_y){
var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflowY)&&(overflowY=="auto")){
element_g.classList.remove("mw-scrollbar-overflow-y");
const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false
if(hasVerticalScrollbar){
element_g.classList.add("mw-scrollbar-overflow-y");
}
}
}
/*koniec overflow*/
});
}
$(Common.ScrollBarOverflow);
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow');
Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow');
});
/*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/
Common.StickyXY=function(){
$('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){
var comp=window.getComputedStyle(element_g, null);
function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){
var pozycje_paskow=new Array();
$(element_g).find('*').each(function(i,element){
var comp=window.getComputedStyle(element, null);
var overflow=comp.getPropertyValue("overflow");
var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){
pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft));
}
});
var height_sticky=0;
$('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){
var rect_sticky=el.getBoundingClientRect();
height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]);
});
var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom);
if(StickyXYTopOld===undefined){
var topold_war=parseFloat(element_g.style[top]);
$(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0));
}
if(StickyXYBottomOld===undefined){
var bottomold_war=parseFloat(element_g.style[bottom]);
$(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0));
}
var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5;
var margintop=parseFloat(comp.getPropertyValue("margin-"+top));
margintop=((!isNaN(margintop))?margintop:0);
var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom));
marginbottom=((!isNaN(marginbottom))?marginbottom:0);
var przodek_height=undefined;
element_g.style[height]="auto";
element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[top]="auto";
element_g.style[bottom]="auto";
if(width_box!=null){
element_g.style[width_box]="auto";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[left_box]="auto";
element_g.style[right_box]="0";
$(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){
element.style[width_box]="auto";
element.classList.remove('mw-scrollbar-overflow-x');
element.classList.remove('mw-scrollbar-overflow-y');
});
}
/**/
var parents_node_fun=$(element_g).parents('.mw-parent-node').first();
if((parents_node_fun==null)||(parents_node_fun.length==0)){return;}
var width_rodzic=null;
var rodzic_element=undefined;
var comp_rodz;
parents_node_fun.each(function(i,element){
comp_rodz=window.getComputedStyle(element,null);
przodek_height=parseFloat(comp_rodz.getPropertyValue([height]));
width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null;
rodzic_element=element;
});
var height_box_real=parseFloat(comp.getPropertyValue(height));
var rect_dziecko=element_g.getBoundingClientRect();
var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))];
var rect_rodzic;
parents_node_fun.each(function(i,element){
rect_rodzic=element.getBoundingClientRect();
});
var top_ab=rect_rodzic[top];
var bottom_ab=(wys-rect_rodzic[bottom]);
var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop);
element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px";
element_g.style[height]="100%";
var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)));
element_g.style[top]=top_obj+"px";
element_g.style[bottom]="auto";
if(width_box!=null){
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
rodzic_element.style.position="static";
rodzic_element.style.overflow="hidden";
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
var rect_dziecko=element_g.getBoundingClientRect();
if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){
if(width_box=="width"){
element_g.classList.remove('mw-scrollbar-overflow-x');
}else{
element_g.classList.remove('mw-scrollbar-overflow-y');
}
if(rect_dziecko[width_box]>width_rodzic){
if(width_box=="width"){
element_g.classList.add('mw-scrollbar-overflow-x');
}else{
element_g.classList.add('mw-scrollbar-overflow-y');
}
}
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box));
margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box));
var dlugosc=(width_rodzic-margin_all);
dlugosc=((dlugosc>=0)?dlugosc:0);
element_g.style.whiteSpace="nowrap";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px";
element_g.style[width_box]=width_box_real+"px";
Common.ScrollBarOverflow();
$(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){
var comp_element=window.getComputedStyle(element, null)
element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat (comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px";
element.classList.remove('mw-scrollbar-overflow-'+x_box);
});
element_g.style.whiteSpace="normal";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[width_box]="auto";
var rect_dziecko=element_g.getBoundingClientRect();
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px";
element_g.style[width_box]=width_box_real+"px";
element_g.style[left_box]="0";
element_g.style[right_box]="auto";
rodzic_element.style.position="relative";
}else{
element_g.style.whiteSpace="nowrap";
var szerokosc_box=rect_dziecko[width_box];
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px";
element_g.style[width_box]=(szerokosc_box)+"px";
Common.ScrollBarOverflow();
$(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){
var comp_element=window.getComputedStyle(element, null);
element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat (comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px";
element.classList.remove('mw-scrollbar-overflow-'+x_box);
});
element_g.style.whiteSpace="normal";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[width_box]="auto";
var rect_dziecko=element_g.getBoundingClientRect();
var szerokosc_box=rect_dziecko[width_box];
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px";
element_g.style[width_box]=(szerokosc_box)+"px";
var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box));
if(parseInt(szerokosc)>parseInt(width_rodzic)){
element_g.style[right_box]="0";
element_g.style[left_box]="auto";
rodzic_element.style.overflow="visible";
}else{
element_g.style[left_box]="0";
element_g.style[right_box]="auto";
rodzic_element.style.position="relative";
}
}
}
element_g.style[height]="auto";
element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px";
Common.ScrollBarOverflow();
for(var i in pozycje_paskow){
pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1];
pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2];
}
}
element_g.classList.add('mw-sticky-js');
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var visibility=comp.getPropertyValue("visibility");
if(visibility=="hidden"){return;}
var position=comp.getPropertyValue("position");
if(position!="absolute"){return;}
var sticky_x=$(element_g).hasClass('mw-sticky-x');
var sticky_y=$(element_g).hasClass('mw-sticky-y');
if((sticky_x)&&(!sticky_y)){
var str=$(element_g).parents('.strona_górna, .strona_dolna').first();
if(str.hasClass('strona_dolna')){
FunStickyXY("width","left","right","height","top","bottom","y","x");
}else if(str.hasClass('strona_górna')){
FunStickyXY("width","left","right","height","bottom","top","y","x");
}
}else if((!sticky_x)&&(sticky_y)){
var str=$(element_g).parents('.strona_prawa, .strona_lewa').first();
if(str.hasClass('strona_prawa')){
FunStickyXY("height","top","bottom","width","left","right","x","y");
}else if(str.hasClass('strona_lewa')){
FunStickyXY("height","top","bottom","width","right","left","x","y");
}
}else if((sticky_x)&&(sticky_y)){
FunStickyXY("width","left","right",null);
FunStickyXY("height","top","bottom",null);
}
});
}
$(Common.StickyXY);
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY');
Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY');
});
/*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/
Common.OptimalXY=function(){
$('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){
var comp=window.getComputedStyle(element_g, null);
function FunOptimalXY(width,left,right){
var pozycje_paskow=new Array();
$(element_g).find('*').each(function(i,element){
var comp=window.getComputedStyle(element, null);
var overflow=comp.getPropertyValue("overflow");
var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){
pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft));
}
});
var width_rodzic=null;
var rodzic_node;
var comp_rodz;
$(element_g).parents('.mw-parent-node').first().each(function(i,element){
comp_rodz=window.getComputedStyle(element,null);
width_rodzic=parseFloat(comp_rodz.getPropertyValue([width]));
rodzic_node=element;
});
if((width_rodzic!=null)&&(!isNaN(width_rodzic))){
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
var width_box_real=parseFloat(comp.getPropertyValue(width));
var rect_dziecko=element_g.getBoundingClientRect();
if(width=="width"){
element_g.classList.remove('mw-scrollbar-overflow-x');
}else{
element_g.classList.remove('mw-scrollbar-overflow-y');
}
if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){
var rect_dziecko=element_g.getBoundingClientRect();
if(rect_dziecko[width]>width_rodzic){
if(width=="width"){
element_g.classList.add('mw-scrollbar-overflow-x');
}else{
element_g.classList.add('mw-scrollbar-overflow-y');
}
}
var width_box_real=parseFloat(comp.getPropertyValue(width));
var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right));
margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right));
var dlugosc=(width_rodzic-margin_all);
dlugosc=((dlugosc>=0)?dlugosc:0);
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px";
}else{
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px";
}
var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first();
if(!str.hasClass('strona_start-nawigacja_boksy')){
var rect_dziecko=element_g.getBoundingClientRect();
var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right));
if(parseInt(szerokosc)>parseInt(width_rodzic)){
str.css('position','static');
}else{
str.css('position','relative');
}
}
}
for(var i in pozycje_paskow){
pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1];
pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2];
}
};
element_g.classList.add('mw-optimal-js');
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var visibility=comp.getPropertyValue("visibility");
if(visibility=="hidden"){return;}
var position=comp.getPropertyValue("position");
if(position!="absolute"){return;}
var optimal_x=$(element_g).hasClass('mw-optimal-x');
var optimal_y=$(element_g).hasClass('mw-optimal-y');
if(optimal_x){
FunOptimalXY("width","left","right");
}
if(optimal_y){
FunOptimalXY("height","top","bottom");
}
});
}
$(Common.OptimalXY);
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY');
Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY');
});
/*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/
Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){
$(obiekt).each(function(i,element_f){
return new Promise(function(resolve,reject){
mw.log("GABUS3")
var czas=0;
function Czekaj(){
if(czas>30000){
reject();
}
var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i);
if((collapsebutton!==null)&&(collapsebutton.length>0)){
var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i);
if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();}
mw.log("GABUS1")
resolve(i);
}else{
mw.log("GABUS2")
czas+=100;
setTimeout(Czekaj,100);
}
}
Czekaj();
}).then(function(i){
$('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){
var href=element_g.getAttribute('href');
if((href!=null)&&(href!="")){
var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*";
var re_frame = new RegExp(col,'g');
var re_javascript=new RegExp("^[\\s;]*javascript:");
if((re_javascript.test(href))&&(re_frame.test(href))){
var href=element_g.getAttribute('href');
if((href!==null)&&(href!="")){
function DodajSkryptJavaScript(fun){
var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g');
var href_nowe=element_g.getAttribute('href');
if(!re.test(href_nowe)){
element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()");
}
}
DodajSkryptJavaScript('Common.ScrollBarOverflow');
DodajSkryptJavaScript('Common.StickyXY');
DodajSkryptJavaScript('Common.OptimalXY');
}
}
}
});
}).catch(function(){});
});
};
mw.log("GABUS-1")
$(function(){
mw.log("GABUS0")
/*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/
Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable');
/*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/
Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar');
/*Koniec dodatkowych funkcji*/
});
/*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz,z_mouse){
/*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/
var tab_transition={'start':true,'run':true,'cancel':true,'end':true};
var tab_przegladarki={'':true,'webkit':true,'moz':true,'o':true};
for(var a in tab_transition){
for(var b in tab_przegladarki){
var zdarzenie=b+'transition'+a;
Common.ZdarzeniaJavaScript(css,zdarzenie,fun_zdarz);
}
}
if(z_mouse){
Common.ZdarzeniaJavaScript(css,"mouseenter",fun_zdarz);
Common.ZdarzeniaJavaScript(css,"mouseleave",fun_zdarz);
}
};
$(function(){
/*Funkcje zdarzeń*/
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY',true);
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY',true);
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY',false);
});
/*Koniec dodatkowych zdarzeń*/
/*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/
Common.StronaStart=function(){
var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks');
elements.parent().show();
$('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){
$(element).css('visibility',"hidden");
$(element).attr('mw-menu-boks',"false");
});
$('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){
var czy_visible=$(element).css('visibility');
$(element).css('visibility',"visible");
$(element).attr('mw-menu-boks',"true");
var str=$(element).parents('.strona_prawa, .strona_lewa').first();
str.css('position','relative');
str.addClass('strona_start-nawigacja_spis');
str.removeClass('strona_start-nawigacja_boksy');
if(czy_visible=="hidden"){
$(Common.ScrollBarOverflow);
$(Common.StickyXY);
}
});
var str=$('.strona_start').find('.strona .ciało_zawartości > .menu > .menu_boks').children('.spis_treści, .boksy');
if(str.length!=2){return;}
$(str[0]).attr('mw-menu-boks',"true");
$(str[1]).attr('mw-menu-boks',"false");
Common.StronaStartZdarzeniePrzycisku=function(){
var id=this;
$(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){
var menu_boks_zmienna=$(element).attr('mw-menu-boks');
menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false");
if(menu_boks_zmienna=="false"){
$(element).css('display',"block");
$(element).attr('mw-menu-boks','true');
}else if(menu_boks_zmienna=="true"){
$(element).css('display',"none");
$(element).attr('mw-menu-boks','false');
}
});
$(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children('.nawigacja_boksy, .nawigacja_spis').each(function(i,element){
var menu_boks_zmienna=$(element).attr('mw-menu-boks');
menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false");
if(menu_boks_zmienna=="false"){
$(element).css('visibility',"visible");
$(element).attr('mw-menu-boks',"true");
var str=$(element).parents('.strona_prawa, .strona_lewa').first();
if($(element).hasClass('nawigacja_boksy')){
str.css('position','static');
str.addClass('strona_start-nawigacja_boksy');
str.removeClass('strona_start-nawigacja_spis');
$(Common.ScrollBarOverflow);
$(Common.OptimalXY);
}else if($(element).hasClass('nawigacja_spis')){
str.css('position','relative');
str.addClass('strona_start-nawigacja_spis');
str.removeClass('strona_start-nawigacja_boksy');
$(Common.ScrollBarOverflow);
$(Common.StickyXY);
}
}else if(menu_boks_zmienna=="true"){
$(element).css('visibility',"hidden");
$(element).attr('mw-menu-boks',"false");
}
});
}
if(Common.StronaStartZdarzeniePrzycisku)Common.ZdarzeniaJavaScript(elements,'click','StronaStartZdarzeniePrzycisku');
}
$(Common.StronaStart);
})(Common_zmienna_z_MediaWiki_Wikibooks,Common);
n1yd19bi4l8v8poap9ue4hu5xha68ua
437884
437883
2022-08-16T15:09:24Z
Persino
2851
javascript
text/javascript
mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true );
/**/
/* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony.
*/
/*
* Zmienna Common.pageInfo, jego elementy, instrukcja obsługi:
* Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber)
* Common.pageInfo.name pełna nazwa strony
* Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash
* Common.pageInfo.book tytuł książki
* Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get"
* Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL
*/
/*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/
var Common_zmienna_z_MediaWiki_Wikibooks=this['Common'];
/*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/
var Common=new Array();
/*Funkcja, by nie było przecieków pamięci*/
(function(Common_zmienna_z_MediaWiki_Wikibooks,Common){
/*Funkcja zwraca zmienną Common ze strony MediaWiki:Common.js, gdy użytkownik ma właną zmienną Common w swoim common.js, w przeciwnym wypadku zwraca undefined.*/
Common.MediaWikiCommon=function(){return Common_zmienna_z_MediaWiki_Wikibooks;}
/*Funkcja zwraca zmienną Common ze strony User:<Użytkownik>/common.js, jeżeli użytkownik ma własną zmienną Common we własnym common.js, w przeciwnym wypadku zwraca Common, ze strony MediaWiki:Common.js.*/
Common.UserCommon=function(){return Common;}
/*Sprawdza, czy użytkownik ma własną zmienną Common.*/
Common.IsUserCommon=function(){return ((Common_zmienna_z_MediaWiki_Wikibooks)?true:false);};
// Frame Busting
Common.LokowanieTopSelf=function(){
if (top != self) top.location.href = self.location.href;
};
$(Common.LokowanieTopSelf);
/*Funkcja zdarzeń odrejestrowania i rejestrowania*/
Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen,tylko_odrejestruj){
/*
css - adres html obiektu,
zdarzenie - zdarzenie jak click,
funkcja_zdarzen - nazwa funkcji zdarzeń w starej przestrzeni Common lub nowej, jak StickyXY,
tylko_odrejestruj - czy tylko zdarzenie ma odrejestrować w starej przestrzeni Common.
*/
if((css)&&(zdarzenie)&&(funkcja_zdarzen)){
/*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/
if((Common_zmienna_z_MediaWiki_Wikibooks)&&(Common_zmienna_z_MediaWiki_Wikibooks[funkcja_zdarzen])){
$(css).off(zdarzenie,Common_zmienna_z_MediaWiki_Wikibooks[funkcja_zdarzen]);
}
if((!tylko_odrejestruj)&&(Common)&&(Common[funkcja_zdarzen])){
/*Rejestrowanie zdarzeń, ale z tej strony .js*/
$(css).on(zdarzenie, Common[funkcja_zdarzen]);
}
}
}
/*Funkcje w przestrzeni nazw Common*/
Common.Naglowek=function(){
/* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */
var hideAll = document.getElementById('mójNagłówekUkryj');
var noFooter = false;
var footers = 0;
var tags = document.getElementsByTagName('div');
for (var i = 0; i < tags.length; i++) {
var el=tags[i].getAttribute("id");
if (el=='mojaStopka')
footers++;
else if (hideAll && (el=='mójNagłówek')) {
tags[i].innerHTML="";
noFooter=true;
}
}
if (noFooter) return;
var footer = document.getElementById('mojaStopka');
if ((footer !== null) && (footers==1)) {
var bodyContent = document.getElementById('bodyContent');
if (bodyContent !== null) {
var s0=document.getElementById('mojaStopka0');
var s1=document.getElementById('mojaStopka1');
if ((s1 !== null) ||
((s0 === null) && (bodyContent.innerHTML.length>8000))){
var strona=document.getElementById('strona');
if(strona!==null){
strona.appendChild(footer);
}else{
var catlinks=document.getElementById('catlinks');
if(catlinks !== null){
bodyContent.insertBefore(footer,catlinks);
}else{
bodyContent.appendChild(footer);
}
}
}
}
}
/* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */
};
$(Common.Naglowek);
/*Informacje o danej stronie*/
Common.PageInfoInit=function(){
var _g = /_/g;
this.name = mw.config.get('wgPageName').replace(/_/g, ' ');
this.namespace = mw.config.get('wgNamespaceNumber');
var i = this.name.search(/\/[^\/]*$/g);
this.title = this.name.slice(i + 1);
this.book = this.name.replace(/\/.*/g, "");
if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) {
re = /\&diff=/g;
this.diff = re.test(document.URL);
re = /\&action=[^\&]*/g;
this.action = document.URL.match(re);
if ( this.action === null ) {
this.action = 'get';
} else {
this.action = this.action[0].slice(8, this.action[0].length);
}
} else {
this.diff = null;
this.action = 'get';
}
}
Common.pageInfo = new Common.PageInfoInit();
/** Collapsible tables *********************************************************
*
* Description: Allows tables to be collapsed, showing only the header. See
* [[en:Wikipedia:NavFrame]].
* Maintainers: [[User:R. Koot]]
*/
Common.autoCollapse = 2;
Common.collapseCaption = "ukryj";
Common.expandCaption = "pokaż";
Common.collapseTable=function( tableIndex )
{
var Button = document.getElementById( "collapseButton" + tableIndex );
var Table = document.getElementById( "collapsibleTable" + tableIndex );
if ( !Table || !Button ) {
return false;
}
var Rows = Table.rows;
if ( Button.firstChild.data == Common.collapseCaption ) {
for ( var i = 1; i < Rows.length; i++ ) {
Rows[i].style.display = "none";
}
Button.firstChild.data = Common.expandCaption;
} else {
for ( var i = 1; i < Rows.length; i++ ) {
Rows[i].style.display = Rows[0].style.display;
}
Button.firstChild.data = Common.collapseCaption;
}
}
Common.createCollapseButtons=function()
{
var tableIndex = 0;
var NavigationBoxes = new Object();
var Tables = document.getElementsByTagName( "table" );
for ( var i = 0; i < Tables.length; i++ ) {
if ( $(Tables[i]).hasClass( "collapsible" ) ) {
/* only add button and increment count if there is a header row to work with */
var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0];
if (!HeaderRow) continue;
var Header = HeaderRow.getElementsByTagName( "th" )[0];
if (!Header) continue;
NavigationBoxes[ tableIndex ] = Tables[i];
Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex );
var Button = document.createElement( "span" );
var ButtonLink = document.createElement( "a" );
var ButtonText = document.createTextNode( Common.collapseCaption );
Button.style.styleFloat = "right";
Button.style.cssFloat = "right";
Button.style.fontWeight = "normal";
Button.style.textAlign = "right";
Button.style.width = "6em";
ButtonLink.style.color = Header.style.color;
ButtonLink.setAttribute( "id", "collapseButton" + tableIndex );
ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" );
ButtonLink.appendChild( ButtonText );
Button.appendChild( document.createTextNode( "[" ) );
Button.appendChild( ButtonLink );
Button.appendChild( document.createTextNode( "]" ) );
$(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){
$(element).remove();
});
Header.insertBefore( Button, Header.childNodes[0]);
tableIndex++;
}
}
for ( var i = 0; i < tableIndex; i++ ) {
if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) {
Common.collapseTable( i );
}
else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) {
var element = NavigationBoxes[i];
while (element = element.parentNode) {
if ( $(element).hasClass( "outercollapse" ) ) {
Common.collapseTable ( i );
break;
}
}
}
}
}
$(Common.createCollapseButtons );
/** Dynamic Navigation Bars (experimental) *************************************
*
* Description: See [[Wikipedia:NavFrame]].
* Maintainers: UNMAINTAINED
*/
// set up the words in your language
Common.NavigationBarHide = '[' + Common.collapseCaption + ']';
Common.NavigationBarShow = '[' + Common.expandCaption + ']';
// shows and hides content and picture (if available) of navigation bars
// Parameters:
// indexNavigationBar: the index of navigation bar to be toggled
Common.toggleNavigationBar=function(indexNavigationBar)
{
var NavToggle = document.getElementById("NavToggle" + indexNavigationBar);
var NavFrame = document.getElementById("NavFrame" + indexNavigationBar);
if (!NavFrame || !NavToggle) {
return false;
}
// if shown now
if (NavToggle.firstChild.data == Common.NavigationBarHide) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) ) {
NavChild.style.display = 'none';
}
if ( $(NavChild).hasClass( 'NavContent') ) {
NavChild.style.display = 'none';
}
}
NavToggle.firstChild.data = Common.NavigationBarShow;
// if hidden now
} else if (NavToggle.firstChild.data == Common.NavigationBarShow) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ($(NavChild).hasClass( 'NavPic')) {
NavChild.style.display = 'block';
}
if ($(NavChild).hasClass( 'NavContent')) {
NavChild.style.display = 'block';
}
}
NavToggle.firstChild.data = Common.NavigationBarHide;
}
}
// adds show/hide-button to navigation bars
Common.createNavigationBarToggleButton=function()
{
var indexNavigationBar = 0;
// iterate over all < div >-elements
var divs = document.getElementsByTagName("div");
for (var i = 0; NavFrame = divs[i]; i++) {
// if found a navigation bar
if ($(NavFrame).hasClass( "NavFrame")) {
indexNavigationBar++;
var NavToggle = document.createElement("a");
NavToggle.className = 'NavToggle';
NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar);
NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');');
var isCollapsed = $(NavFrame).hasClass( "collapsed" );
/*
* Check if any children are already hidden. This loop is here for backwards compatibility:
* the old way of making NavFrames start out collapsed was to manually add style="display:none"
* to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make
* the content visible without JavaScript support), the new recommended way is to add the class
* "collapsed" to the NavFrame itself, just like with collapsible tables.
*/
for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) {
if ( NavChild.style.display == 'none' ) {
isCollapsed = true;
}
}
}
if (isCollapsed) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) {
NavChild.style.display = 'none';
}
}
}
var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide);
NavToggle.appendChild(NavToggleText);
// Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked)
for(var j=0; j < NavFrame.childNodes.length; j++) {
if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) {
$(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){
$(element).remove();
});
NavFrame.childNodes[j].appendChild(NavToggle);
}
}
NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar);
}
}
}
$(Common.createNavigationBarToggleButton );
// Wyszukiwanie Google na stronach podręczników
Common.googleSearchInitialized = false;
Common.insertGoogleSearch=function() {
if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) {
return;
}
Common.googleSearchInitialized = true;
var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE";
var ul = jQuery('#p-tb ul')[0];
if (!ul) {
return;
}
var link = document.createElement('a');
var book = Common.pageInfo.book;
if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) {
google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22"
}
link.href = google.replace(/PAGE/g, encodeURIComponent(book));
link.appendChild(document.createTextNode("Szukaj w podręczniku"));
var li = document.createElement('li');
li.id = "google-trick-search";
li.appendChild(link);
$(ul).children('li#google-trick-search').each(function(i,element){
$(element).remove();
});
ul.insertBefore(li, ul.firstChild);
}
$(Common.insertGoogleSearch);
/*Funkcja do liczenia szerokościm mapska przewijania w pionowego, wtedy x_box_right=="y", lub poziomego, wtedy inny parametr inny niż dla paska pionowego*/
Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){
var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>');
$('body').append(div);
var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")]();
div.css('overflow-'+(x_box_right||"y"), 'scroll');
var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")]();
$(div).remove();
return (w1 - w2);
}
/*Funkcje do obsługi pasków przewijania*/
Common.ScrollBarOverflow=function(){
$('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){
/*start overflow*/
var comp=window.getComputedStyle(element_g, null);
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var overflow=comp.getPropertyValue("overflow");
var overflow_x=$(element_g).hasClass('mw-overflow-x');
if(overflow_x){
var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
if((overflowX)&&(overflowX=="auto")){
element_g.classList.remove("mw-scrollbar-overflow-x");
const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false
if(hasHorizontalScrollbar){
element_g.classList.add("mw-scrollbar-overflow-x");
}
}
}
var overflow_y=$(element_g).hasClass('mw-overflow-y');
if(overflow_y){
var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflowY)&&(overflowY=="auto")){
element_g.classList.remove("mw-scrollbar-overflow-y");
const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false
if(hasVerticalScrollbar){
element_g.classList.add("mw-scrollbar-overflow-y");
}
}
}
/*koniec overflow*/
});
}
$(Common.ScrollBarOverflow);
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow');
Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow');
});
/*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/
Common.StickyXY=function(){
$('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){
var comp=window.getComputedStyle(element_g, null);
function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){
var pozycje_paskow=new Array();
$(element_g).find('*').each(function(i,element){
var comp=window.getComputedStyle(element, null);
var overflow=comp.getPropertyValue("overflow");
var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){
pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft));
}
});
var height_sticky=0;
$('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){
var rect_sticky=el.getBoundingClientRect();
height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]);
});
var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom);
if(StickyXYTopOld===undefined){
var topold_war=parseFloat(element_g.style[top]);
$(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0));
}
if(StickyXYBottomOld===undefined){
var bottomold_war=parseFloat(element_g.style[bottom]);
$(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0));
}
var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5;
var margintop=parseFloat(comp.getPropertyValue("margin-"+top));
margintop=((!isNaN(margintop))?margintop:0);
var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom));
marginbottom=((!isNaN(marginbottom))?marginbottom:0);
var przodek_height=undefined;
element_g.style[height]="auto";
element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[top]="auto";
element_g.style[bottom]="auto";
if(width_box!=null){
element_g.style[width_box]="auto";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[left_box]="auto";
element_g.style[right_box]="0";
$(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){
element.style[width_box]="auto";
element.classList.remove('mw-scrollbar-overflow-x');
element.classList.remove('mw-scrollbar-overflow-y');
});
}
/**/
var parents_node_fun=$(element_g).parents('.mw-parent-node').first();
if((parents_node_fun==null)||(parents_node_fun.length==0)){return;}
var width_rodzic=null;
var rodzic_element=undefined;
var comp_rodz;
parents_node_fun.each(function(i,element){
comp_rodz=window.getComputedStyle(element,null);
przodek_height=parseFloat(comp_rodz.getPropertyValue([height]));
width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null;
rodzic_element=element;
});
var height_box_real=parseFloat(comp.getPropertyValue(height));
var rect_dziecko=element_g.getBoundingClientRect();
var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))];
var rect_rodzic;
parents_node_fun.each(function(i,element){
rect_rodzic=element.getBoundingClientRect();
});
var top_ab=rect_rodzic[top];
var bottom_ab=(wys-rect_rodzic[bottom]);
var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop);
element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px";
element_g.style[height]="100%";
var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)));
element_g.style[top]=top_obj+"px";
element_g.style[bottom]="auto";
if(width_box!=null){
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
rodzic_element.style.position="static";
rodzic_element.style.overflow="hidden";
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
var rect_dziecko=element_g.getBoundingClientRect();
if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){
if(width_box=="width"){
element_g.classList.remove('mw-scrollbar-overflow-x');
}else{
element_g.classList.remove('mw-scrollbar-overflow-y');
}
if(rect_dziecko[width_box]>width_rodzic){
if(width_box=="width"){
element_g.classList.add('mw-scrollbar-overflow-x');
}else{
element_g.classList.add('mw-scrollbar-overflow-y');
}
}
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box));
margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box));
var dlugosc=(width_rodzic-margin_all);
dlugosc=((dlugosc>=0)?dlugosc:0);
element_g.style.whiteSpace="nowrap";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px";
element_g.style[width_box]=width_box_real+"px";
Common.ScrollBarOverflow();
$(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){
var comp_element=window.getComputedStyle(element, null)
element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat (comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px";
element.classList.remove('mw-scrollbar-overflow-'+x_box);
});
element_g.style.whiteSpace="normal";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[width_box]="auto";
var rect_dziecko=element_g.getBoundingClientRect();
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px";
element_g.style[width_box]=width_box_real+"px";
element_g.style[left_box]="0";
element_g.style[right_box]="auto";
rodzic_element.style.position="relative";
}else{
element_g.style.whiteSpace="nowrap";
var szerokosc_box=rect_dziecko[width_box];
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px";
element_g.style[width_box]=(szerokosc_box)+"px";
Common.ScrollBarOverflow();
$(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){
var comp_element=window.getComputedStyle(element, null);
element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat (comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px";
element.classList.remove('mw-scrollbar-overflow-'+x_box);
});
element_g.style.whiteSpace="normal";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[width_box]="auto";
var rect_dziecko=element_g.getBoundingClientRect();
var szerokosc_box=rect_dziecko[width_box];
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px";
element_g.style[width_box]=(szerokosc_box)+"px";
var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box));
if(parseInt(szerokosc)>parseInt(width_rodzic)){
element_g.style[right_box]="0";
element_g.style[left_box]="auto";
rodzic_element.style.overflow="visible";
}else{
element_g.style[left_box]="0";
element_g.style[right_box]="auto";
rodzic_element.style.position="relative";
}
}
}
element_g.style[height]="auto";
element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px";
Common.ScrollBarOverflow();
for(var i in pozycje_paskow){
pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1];
pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2];
}
}
element_g.classList.add('mw-sticky-js');
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var visibility=comp.getPropertyValue("visibility");
if(visibility=="hidden"){return;}
var position=comp.getPropertyValue("position");
if(position!="absolute"){return;}
var sticky_x=$(element_g).hasClass('mw-sticky-x');
var sticky_y=$(element_g).hasClass('mw-sticky-y');
if((sticky_x)&&(!sticky_y)){
var str=$(element_g).parents('.strona_górna, .strona_dolna').first();
if(str.hasClass('strona_dolna')){
FunStickyXY("width","left","right","height","top","bottom","y","x");
}else if(str.hasClass('strona_górna')){
FunStickyXY("width","left","right","height","bottom","top","y","x");
}
}else if((!sticky_x)&&(sticky_y)){
var str=$(element_g).parents('.strona_prawa, .strona_lewa').first();
if(str.hasClass('strona_prawa')){
FunStickyXY("height","top","bottom","width","left","right","x","y");
}else if(str.hasClass('strona_lewa')){
FunStickyXY("height","top","bottom","width","right","left","x","y");
}
}else if((sticky_x)&&(sticky_y)){
FunStickyXY("width","left","right",null);
FunStickyXY("height","top","bottom",null);
}
});
}
$(Common.StickyXY);
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY');
Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY');
});
/*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/
Common.OptimalXY=function(){
$('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){
var comp=window.getComputedStyle(element_g, null);
function FunOptimalXY(width,left,right){
var pozycje_paskow=new Array();
$(element_g).find('*').each(function(i,element){
var comp=window.getComputedStyle(element, null);
var overflow=comp.getPropertyValue("overflow");
var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){
pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft));
}
});
var width_rodzic=null;
var rodzic_node;
var comp_rodz;
$(element_g).parents('.mw-parent-node').first().each(function(i,element){
comp_rodz=window.getComputedStyle(element,null);
width_rodzic=parseFloat(comp_rodz.getPropertyValue([width]));
rodzic_node=element;
});
if((width_rodzic!=null)&&(!isNaN(width_rodzic))){
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
var width_box_real=parseFloat(comp.getPropertyValue(width));
var rect_dziecko=element_g.getBoundingClientRect();
if(width=="width"){
element_g.classList.remove('mw-scrollbar-overflow-x');
}else{
element_g.classList.remove('mw-scrollbar-overflow-y');
}
if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){
var rect_dziecko=element_g.getBoundingClientRect();
if(rect_dziecko[width]>width_rodzic){
if(width=="width"){
element_g.classList.add('mw-scrollbar-overflow-x');
}else{
element_g.classList.add('mw-scrollbar-overflow-y');
}
}
var width_box_real=parseFloat(comp.getPropertyValue(width));
var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right));
margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right));
var dlugosc=(width_rodzic-margin_all);
dlugosc=((dlugosc>=0)?dlugosc:0);
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px";
}else{
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px";
}
var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first();
if(!str.hasClass('strona_start-nawigacja_boksy')){
var rect_dziecko=element_g.getBoundingClientRect();
var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right));
if(parseInt(szerokosc)>parseInt(width_rodzic)){
str.css('position','static');
}else{
str.css('position','relative');
}
}
}
for(var i in pozycje_paskow){
pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1];
pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2];
}
};
element_g.classList.add('mw-optimal-js');
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var visibility=comp.getPropertyValue("visibility");
if(visibility=="hidden"){return;}
var position=comp.getPropertyValue("position");
if(position!="absolute"){return;}
var optimal_x=$(element_g).hasClass('mw-optimal-x');
var optimal_y=$(element_g).hasClass('mw-optimal-y');
if(optimal_x){
FunOptimalXY("width","left","right");
}
if(optimal_y){
FunOptimalXY("height","top","bottom");
}
});
}
$(Common.OptimalXY);
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY');
Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY');
});
/*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/
Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){
$(obiekt).each(function(i,element_f){
return new Promise(function(resolve,reject){
console.log("GABUS3")
var czas=0;
function Czekaj(){
if(czas>30000){
reject();
}
var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i);
if((collapsebutton!==null)&&(collapsebutton.length>0)){
var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i);
if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();}
console.log("GABUS1")
resolve(i);
}else{
console.log("GABUS2")
czas+=100;
setTimeout(Czekaj,100);
}
}
Czekaj();
}).then(function(i){
$('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){
var href=element_g.getAttribute('href');
if((href!=null)&&(href!="")){
var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*";
var re_frame = new RegExp(col,'g');
var re_javascript=new RegExp("^[\\s;]*javascript:");
if((re_javascript.test(href))&&(re_frame.test(href))){
var href=element_g.getAttribute('href');
if((href!==null)&&(href!="")){
function DodajSkryptJavaScript(fun){
var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g');
var href_nowe=element_g.getAttribute('href');
if(!re.test(href_nowe)){
element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()");
}
}
DodajSkryptJavaScript('Common.ScrollBarOverflow');
DodajSkryptJavaScript('Common.StickyXY');
DodajSkryptJavaScript('Common.OptimalXY');
}
}
}
});
}).catch(function(){});
});
};
$(function(){
/*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/
Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable');
/*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/
Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar');
/*Koniec dodatkowych funkcji*/
});
/*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz,z_mouse){
/*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/
var tab_transition={'start':true,'run':true,'cancel':true,'end':true};
var tab_przegladarki={'':true,'webkit':true,'moz':true,'o':true};
for(var a in tab_transition){
for(var b in tab_przegladarki){
var zdarzenie=b+'transition'+a;
Common.ZdarzeniaJavaScript(css,zdarzenie,fun_zdarz);
}
}
if(z_mouse){
Common.ZdarzeniaJavaScript(css,"mouseenter",fun_zdarz);
Common.ZdarzeniaJavaScript(css,"mouseleave",fun_zdarz);
}
};
$(function(){
/*Funkcje zdarzeń*/
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY',true);
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY',true);
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY',false);
});
/*Koniec dodatkowych zdarzeń*/
/*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/
Common.StronaStart=function(){
var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks');
elements.parent().show();
$('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){
$(element).css('visibility',"hidden");
$(element).attr('mw-menu-boks',"false");
});
$('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){
var czy_visible=$(element).css('visibility');
$(element).css('visibility',"visible");
$(element).attr('mw-menu-boks',"true");
var str=$(element).parents('.strona_prawa, .strona_lewa').first();
str.css('position','relative');
str.addClass('strona_start-nawigacja_spis');
str.removeClass('strona_start-nawigacja_boksy');
if(czy_visible=="hidden"){
$(Common.ScrollBarOverflow);
$(Common.StickyXY);
}
});
var str=$('.strona_start').find('.strona .ciało_zawartości > .menu > .menu_boks').children('.spis_treści, .boksy');
if(str.length!=2){return;}
$(str[0]).attr('mw-menu-boks',"true");
$(str[1]).attr('mw-menu-boks',"false");
Common.StronaStartZdarzeniePrzycisku=function(){
var id=this;
$(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){
var menu_boks_zmienna=$(element).attr('mw-menu-boks');
menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false");
if(menu_boks_zmienna=="false"){
$(element).css('display',"block");
$(element).attr('mw-menu-boks','true');
}else if(menu_boks_zmienna=="true"){
$(element).css('display',"none");
$(element).attr('mw-menu-boks','false');
}
});
$(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children('.nawigacja_boksy, .nawigacja_spis').each(function(i,element){
var menu_boks_zmienna=$(element).attr('mw-menu-boks');
menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false");
if(menu_boks_zmienna=="false"){
$(element).css('visibility',"visible");
$(element).attr('mw-menu-boks',"true");
var str=$(element).parents('.strona_prawa, .strona_lewa').first();
if($(element).hasClass('nawigacja_boksy')){
str.css('position','static');
str.addClass('strona_start-nawigacja_boksy');
str.removeClass('strona_start-nawigacja_spis');
$(Common.ScrollBarOverflow);
$(Common.OptimalXY);
}else if($(element).hasClass('nawigacja_spis')){
str.css('position','relative');
str.addClass('strona_start-nawigacja_spis');
str.removeClass('strona_start-nawigacja_boksy');
$(Common.ScrollBarOverflow);
$(Common.StickyXY);
}
}else if(menu_boks_zmienna=="true"){
$(element).css('visibility',"hidden");
$(element).attr('mw-menu-boks',"false");
}
});
}
if(Common.StronaStartZdarzeniePrzycisku)Common.ZdarzeniaJavaScript(elements,'click','StronaStartZdarzeniePrzycisku');
}
$(Common.StronaStart);
})(Common_zmienna_z_MediaWiki_Wikibooks,Common);
mxw2znxyb6shacd0sqfas26oast00jk
437885
437884
2022-08-16T15:11:19Z
Persino
2851
javascript
text/javascript
mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true );
/**/
/* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony.
*/
/*
* Zmienna Common.pageInfo, jego elementy, instrukcja obsługi:
* Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber)
* Common.pageInfo.name pełna nazwa strony
* Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash
* Common.pageInfo.book tytuł książki
* Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get"
* Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL
*/
/*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/
var Common_zmienna_z_MediaWiki_Wikibooks=this['Common'];
/*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/
var Common=new Array();
/*Funkcja, by nie było przecieków pamięci*/
(function(Common_zmienna_z_MediaWiki_Wikibooks,Common){
/*Funkcja zwraca zmienną Common ze strony MediaWiki:Common.js, gdy użytkownik ma właną zmienną Common w swoim common.js, w przeciwnym wypadku zwraca undefined.*/
Common.MediaWikiCommon=function(){return Common_zmienna_z_MediaWiki_Wikibooks;}
/*Funkcja zwraca zmienną Common ze strony User:<Użytkownik>/common.js, jeżeli użytkownik ma własną zmienną Common we własnym common.js, w przeciwnym wypadku zwraca Common, ze strony MediaWiki:Common.js.*/
Common.UserCommon=function(){return Common;}
/*Sprawdza, czy użytkownik ma własną zmienną Common.*/
Common.IsUserCommon=function(){return ((Common_zmienna_z_MediaWiki_Wikibooks)?true:false);};
// Frame Busting
Common.LokowanieTopSelf=function(){
if (top != self) top.location.href = self.location.href;
};
$(Common.LokowanieTopSelf);
/*Funkcja zdarzeń odrejestrowania i rejestrowania*/
Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen,tylko_odrejestruj){
/*
css - adres html obiektu,
zdarzenie - zdarzenie jak click,
funkcja_zdarzen - nazwa funkcji zdarzeń w starej przestrzeni Common lub nowej, jak StickyXY,
tylko_odrejestruj - czy tylko zdarzenie ma odrejestrować w starej przestrzeni Common.
*/
if((css)&&(zdarzenie)&&(funkcja_zdarzen)){
/*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/
if((Common_zmienna_z_MediaWiki_Wikibooks)&&(Common_zmienna_z_MediaWiki_Wikibooks[funkcja_zdarzen])){
$(css).off(zdarzenie,Common_zmienna_z_MediaWiki_Wikibooks[funkcja_zdarzen]);
}
if((!tylko_odrejestruj)&&(Common)&&(Common[funkcja_zdarzen])){
/*Rejestrowanie zdarzeń, ale z tej strony .js*/
$(css).on(zdarzenie, Common[funkcja_zdarzen]);
}
}
}
/*Funkcje w przestrzeni nazw Common*/
Common.Naglowek=function(){
/* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */
var hideAll = document.getElementById('mójNagłówekUkryj');
var noFooter = false;
var footers = 0;
var tags = document.getElementsByTagName('div');
for (var i = 0; i < tags.length; i++) {
var el=tags[i].getAttribute("id");
if (el=='mojaStopka')
footers++;
else if (hideAll && (el=='mójNagłówek')) {
tags[i].innerHTML="";
noFooter=true;
}
}
if (noFooter) return;
var footer = document.getElementById('mojaStopka');
if ((footer !== null) && (footers==1)) {
var bodyContent = document.getElementById('bodyContent');
if (bodyContent !== null) {
var s0=document.getElementById('mojaStopka0');
var s1=document.getElementById('mojaStopka1');
if ((s1 !== null) ||
((s0 === null) && (bodyContent.innerHTML.length>8000))){
var strona=document.getElementById('strona');
if(strona!==null){
strona.appendChild(footer);
}else{
var catlinks=document.getElementById('catlinks');
if(catlinks !== null){
bodyContent.insertBefore(footer,catlinks);
}else{
bodyContent.appendChild(footer);
}
}
}
}
}
/* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */
};
$(Common.Naglowek);
/*Informacje o danej stronie*/
Common.PageInfoInit=function(){
var _g = /_/g;
this.name = mw.config.get('wgPageName').replace(/_/g, ' ');
this.namespace = mw.config.get('wgNamespaceNumber');
var i = this.name.search(/\/[^\/]*$/g);
this.title = this.name.slice(i + 1);
this.book = this.name.replace(/\/.*/g, "");
if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) {
re = /\&diff=/g;
this.diff = re.test(document.URL);
re = /\&action=[^\&]*/g;
this.action = document.URL.match(re);
if ( this.action === null ) {
this.action = 'get';
} else {
this.action = this.action[0].slice(8, this.action[0].length);
}
} else {
this.diff = null;
this.action = 'get';
}
}
Common.pageInfo = new Common.PageInfoInit();
/** Collapsible tables *********************************************************
*
* Description: Allows tables to be collapsed, showing only the header. See
* [[en:Wikipedia:NavFrame]].
* Maintainers: [[User:R. Koot]]
*/
Common.autoCollapse = 2;
Common.collapseCaption = "ukryj";
Common.expandCaption = "pokaż";
Common.collapseTable=function( tableIndex )
{
var Button = document.getElementById( "collapseButton" + tableIndex );
var Table = document.getElementById( "collapsibleTable" + tableIndex );
if ( !Table || !Button ) {
return false;
}
var Rows = Table.rows;
if ( Button.firstChild.data == Common.collapseCaption ) {
for ( var i = 1; i < Rows.length; i++ ) {
Rows[i].style.display = "none";
}
Button.firstChild.data = Common.expandCaption;
} else {
for ( var i = 1; i < Rows.length; i++ ) {
Rows[i].style.display = Rows[0].style.display;
}
Button.firstChild.data = Common.collapseCaption;
}
}
Common.createCollapseButtons=function()
{
var tableIndex = 0;
var NavigationBoxes = new Object();
var Tables = document.getElementsByTagName( "table" );
for ( var i = 0; i < Tables.length; i++ ) {
if ( $(Tables[i]).hasClass( "collapsible" ) ) {
/* only add button and increment count if there is a header row to work with */
var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0];
if (!HeaderRow) continue;
var Header = HeaderRow.getElementsByTagName( "th" )[0];
if (!Header) continue;
NavigationBoxes[ tableIndex ] = Tables[i];
Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex );
var Button = document.createElement( "span" );
var ButtonLink = document.createElement( "a" );
var ButtonText = document.createTextNode( Common.collapseCaption );
Button.style.styleFloat = "right";
Button.style.cssFloat = "right";
Button.style.fontWeight = "normal";
Button.style.textAlign = "right";
Button.style.width = "6em";
ButtonLink.style.color = Header.style.color;
ButtonLink.setAttribute( "id", "collapseButton" + tableIndex );
ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" );
ButtonLink.appendChild( ButtonText );
Button.appendChild( document.createTextNode( "[" ) );
Button.appendChild( ButtonLink );
Button.appendChild( document.createTextNode( "]" ) );
$(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){
$(element).remove();
});
Header.insertBefore( Button, Header.childNodes[0]);
tableIndex++;
}
}
for ( var i = 0; i < tableIndex; i++ ) {
if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) {
Common.collapseTable( i );
}
else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) {
var element = NavigationBoxes[i];
while (element = element.parentNode) {
if ( $(element).hasClass( "outercollapse" ) ) {
Common.collapseTable ( i );
break;
}
}
}
}
}
$(Common.createCollapseButtons );
/** Dynamic Navigation Bars (experimental) *************************************
*
* Description: See [[Wikipedia:NavFrame]].
* Maintainers: UNMAINTAINED
*/
// set up the words in your language
Common.NavigationBarHide = '[' + Common.collapseCaption + ']';
Common.NavigationBarShow = '[' + Common.expandCaption + ']';
// shows and hides content and picture (if available) of navigation bars
// Parameters:
// indexNavigationBar: the index of navigation bar to be toggled
Common.toggleNavigationBar=function(indexNavigationBar)
{
var NavToggle = document.getElementById("NavToggle" + indexNavigationBar);
var NavFrame = document.getElementById("NavFrame" + indexNavigationBar);
if (!NavFrame || !NavToggle) {
return false;
}
// if shown now
if (NavToggle.firstChild.data == Common.NavigationBarHide) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) ) {
NavChild.style.display = 'none';
}
if ( $(NavChild).hasClass( 'NavContent') ) {
NavChild.style.display = 'none';
}
}
NavToggle.firstChild.data = Common.NavigationBarShow;
// if hidden now
} else if (NavToggle.firstChild.data == Common.NavigationBarShow) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ($(NavChild).hasClass( 'NavPic')) {
NavChild.style.display = 'block';
}
if ($(NavChild).hasClass( 'NavContent')) {
NavChild.style.display = 'block';
}
}
NavToggle.firstChild.data = Common.NavigationBarHide;
}
}
// adds show/hide-button to navigation bars
Common.createNavigationBarToggleButton=function()
{
var indexNavigationBar = 0;
// iterate over all < div >-elements
var divs = document.getElementsByTagName("div");
for (var i = 0; NavFrame = divs[i]; i++) {
// if found a navigation bar
if ($(NavFrame).hasClass( "NavFrame")) {
indexNavigationBar++;
var NavToggle = document.createElement("a");
NavToggle.className = 'NavToggle';
NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar);
NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');');
var isCollapsed = $(NavFrame).hasClass( "collapsed" );
/*
* Check if any children are already hidden. This loop is here for backwards compatibility:
* the old way of making NavFrames start out collapsed was to manually add style="display:none"
* to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make
* the content visible without JavaScript support), the new recommended way is to add the class
* "collapsed" to the NavFrame itself, just like with collapsible tables.
*/
for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) {
if ( NavChild.style.display == 'none' ) {
isCollapsed = true;
}
}
}
if (isCollapsed) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) {
NavChild.style.display = 'none';
}
}
}
var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide);
NavToggle.appendChild(NavToggleText);
// Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked)
for(var j=0; j < NavFrame.childNodes.length; j++) {
if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) {
$(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){
$(element).remove();
});
NavFrame.childNodes[j].appendChild(NavToggle);
}
}
NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar);
}
}
}
$(Common.createNavigationBarToggleButton );
// Wyszukiwanie Google na stronach podręczników
Common.googleSearchInitialized = false;
Common.insertGoogleSearch=function() {
if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) {
return;
}
Common.googleSearchInitialized = true;
var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE";
var ul = jQuery('#p-tb ul')[0];
if (!ul) {
return;
}
var link = document.createElement('a');
var book = Common.pageInfo.book;
if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) {
google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22"
}
link.href = google.replace(/PAGE/g, encodeURIComponent(book));
link.appendChild(document.createTextNode("Szukaj w podręczniku"));
var li = document.createElement('li');
li.id = "google-trick-search";
li.appendChild(link);
$(ul).children('li#google-trick-search').each(function(i,element){
$(element).remove();
});
ul.insertBefore(li, ul.firstChild);
}
$(Common.insertGoogleSearch);
/*Funkcja do liczenia szerokościm mapska przewijania w pionowego, wtedy x_box_right=="y", lub poziomego, wtedy inny parametr inny niż dla paska pionowego*/
Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){
var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>');
$('body').append(div);
var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")]();
div.css('overflow-'+(x_box_right||"y"), 'scroll');
var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")]();
$(div).remove();
return (w1 - w2);
}
/*Funkcje do obsługi pasków przewijania*/
Common.ScrollBarOverflow=function(){
$('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){
/*start overflow*/
var comp=window.getComputedStyle(element_g, null);
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var overflow=comp.getPropertyValue("overflow");
var overflow_x=$(element_g).hasClass('mw-overflow-x');
if(overflow_x){
var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
if((overflowX)&&(overflowX=="auto")){
element_g.classList.remove("mw-scrollbar-overflow-x");
const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false
if(hasHorizontalScrollbar){
element_g.classList.add("mw-scrollbar-overflow-x");
}
}
}
var overflow_y=$(element_g).hasClass('mw-overflow-y');
if(overflow_y){
var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflowY)&&(overflowY=="auto")){
element_g.classList.remove("mw-scrollbar-overflow-y");
const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false
if(hasVerticalScrollbar){
element_g.classList.add("mw-scrollbar-overflow-y");
}
}
}
/*koniec overflow*/
});
}
$(Common.ScrollBarOverflow);
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow');
Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow');
});
/*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/
Common.StickyXY=function(){
$('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){
var comp=window.getComputedStyle(element_g, null);
function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){
var pozycje_paskow=new Array();
$(element_g).find('*').each(function(i,element){
var comp=window.getComputedStyle(element, null);
var overflow=comp.getPropertyValue("overflow");
var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){
pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft));
}
});
var height_sticky=0;
$('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){
var rect_sticky=el.getBoundingClientRect();
height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]);
});
var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom);
if(StickyXYTopOld===undefined){
var topold_war=parseFloat(element_g.style[top]);
$(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0));
}
if(StickyXYBottomOld===undefined){
var bottomold_war=parseFloat(element_g.style[bottom]);
$(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0));
}
var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5;
var margintop=parseFloat(comp.getPropertyValue("margin-"+top));
margintop=((!isNaN(margintop))?margintop:0);
var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom));
marginbottom=((!isNaN(marginbottom))?marginbottom:0);
var przodek_height=undefined;
element_g.style[height]="auto";
element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[top]="auto";
element_g.style[bottom]="auto";
if(width_box!=null){
element_g.style[width_box]="auto";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[left_box]="auto";
element_g.style[right_box]="0";
$(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){
element.style[width_box]="auto";
element.classList.remove('mw-scrollbar-overflow-x');
element.classList.remove('mw-scrollbar-overflow-y');
});
}
/**/
var parents_node_fun=$(element_g).parents('.mw-parent-node').first();
if((parents_node_fun==null)||(parents_node_fun.length==0)){return;}
var width_rodzic=null;
var rodzic_element=undefined;
var comp_rodz;
parents_node_fun.each(function(i,element){
comp_rodz=window.getComputedStyle(element,null);
przodek_height=parseFloat(comp_rodz.getPropertyValue([height]));
width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null;
rodzic_element=element;
});
var height_box_real=parseFloat(comp.getPropertyValue(height));
var rect_dziecko=element_g.getBoundingClientRect();
var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))];
var rect_rodzic;
parents_node_fun.each(function(i,element){
rect_rodzic=element.getBoundingClientRect();
});
var top_ab=rect_rodzic[top];
var bottom_ab=(wys-rect_rodzic[bottom]);
var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop);
element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px";
element_g.style[height]="100%";
var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)));
element_g.style[top]=top_obj+"px";
element_g.style[bottom]="auto";
if(width_box!=null){
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
rodzic_element.style.position="static";
rodzic_element.style.overflow="hidden";
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
var rect_dziecko=element_g.getBoundingClientRect();
if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){
if(width_box=="width"){
element_g.classList.remove('mw-scrollbar-overflow-x');
}else{
element_g.classList.remove('mw-scrollbar-overflow-y');
}
if(rect_dziecko[width_box]>width_rodzic){
if(width_box=="width"){
element_g.classList.add('mw-scrollbar-overflow-x');
}else{
element_g.classList.add('mw-scrollbar-overflow-y');
}
}
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box));
margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box));
var dlugosc=(width_rodzic-margin_all);
dlugosc=((dlugosc>=0)?dlugosc:0);
element_g.style.whiteSpace="nowrap";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px";
element_g.style[width_box]=width_box_real+"px";
Common.ScrollBarOverflow();
$(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){
var comp_element=window.getComputedStyle(element, null)
element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat (comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px";
element.classList.remove('mw-scrollbar-overflow-'+x_box);
});
element_g.style.whiteSpace="normal";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[width_box]="auto";
var rect_dziecko=element_g.getBoundingClientRect();
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px";
element_g.style[width_box]=width_box_real+"px";
element_g.style[left_box]="0";
element_g.style[right_box]="auto";
rodzic_element.style.position="relative";
}else{
element_g.style.whiteSpace="nowrap";
var szerokosc_box=rect_dziecko[width_box];
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px";
element_g.style[width_box]=(szerokosc_box)+"px";
Common.ScrollBarOverflow();
$(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){
var comp_element=window.getComputedStyle(element, null);
element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat (comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px";
element.classList.remove('mw-scrollbar-overflow-'+x_box);
});
element_g.style.whiteSpace="normal";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[width_box]="auto";
var rect_dziecko=element_g.getBoundingClientRect();
var szerokosc_box=rect_dziecko[width_box];
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px";
element_g.style[width_box]=(szerokosc_box)+"px";
var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box));
if(parseInt(szerokosc)>parseInt(width_rodzic)){
element_g.style[right_box]="0";
element_g.style[left_box]="auto";
rodzic_element.style.overflow="visible";
}else{
element_g.style[left_box]="0";
element_g.style[right_box]="auto";
rodzic_element.style.position="relative";
}
}
}
element_g.style[height]="auto";
element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px";
Common.ScrollBarOverflow();
for(var i in pozycje_paskow){
pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1];
pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2];
}
}
element_g.classList.add('mw-sticky-js');
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var visibility=comp.getPropertyValue("visibility");
if(visibility=="hidden"){return;}
var position=comp.getPropertyValue("position");
if(position!="absolute"){return;}
var sticky_x=$(element_g).hasClass('mw-sticky-x');
var sticky_y=$(element_g).hasClass('mw-sticky-y');
if((sticky_x)&&(!sticky_y)){
var str=$(element_g).parents('.strona_górna, .strona_dolna').first();
if(str.hasClass('strona_dolna')){
FunStickyXY("width","left","right","height","top","bottom","y","x");
}else if(str.hasClass('strona_górna')){
FunStickyXY("width","left","right","height","bottom","top","y","x");
}
}else if((!sticky_x)&&(sticky_y)){
var str=$(element_g).parents('.strona_prawa, .strona_lewa').first();
if(str.hasClass('strona_prawa')){
FunStickyXY("height","top","bottom","width","left","right","x","y");
}else if(str.hasClass('strona_lewa')){
FunStickyXY("height","top","bottom","width","right","left","x","y");
}
}else if((sticky_x)&&(sticky_y)){
FunStickyXY("width","left","right",null);
FunStickyXY("height","top","bottom",null);
}
});
}
$(Common.StickyXY);
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY');
Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY');
});
/*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/
Common.OptimalXY=function(){
$('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){
var comp=window.getComputedStyle(element_g, null);
function FunOptimalXY(width,left,right){
var pozycje_paskow=new Array();
$(element_g).find('*').each(function(i,element){
var comp=window.getComputedStyle(element, null);
var overflow=comp.getPropertyValue("overflow");
var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){
pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft));
}
});
var width_rodzic=null;
var rodzic_node;
var comp_rodz;
$(element_g).parents('.mw-parent-node').first().each(function(i,element){
comp_rodz=window.getComputedStyle(element,null);
width_rodzic=parseFloat(comp_rodz.getPropertyValue([width]));
rodzic_node=element;
});
if((width_rodzic!=null)&&(!isNaN(width_rodzic))){
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
var width_box_real=parseFloat(comp.getPropertyValue(width));
var rect_dziecko=element_g.getBoundingClientRect();
if(width=="width"){
element_g.classList.remove('mw-scrollbar-overflow-x');
}else{
element_g.classList.remove('mw-scrollbar-overflow-y');
}
if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){
var rect_dziecko=element_g.getBoundingClientRect();
if(rect_dziecko[width]>width_rodzic){
if(width=="width"){
element_g.classList.add('mw-scrollbar-overflow-x');
}else{
element_g.classList.add('mw-scrollbar-overflow-y');
}
}
var width_box_real=parseFloat(comp.getPropertyValue(width));
var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right));
margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right));
var dlugosc=(width_rodzic-margin_all);
dlugosc=((dlugosc>=0)?dlugosc:0);
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px";
}else{
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px";
}
var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first();
if(!str.hasClass('strona_start-nawigacja_boksy')){
var rect_dziecko=element_g.getBoundingClientRect();
var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right));
if(parseInt(szerokosc)>parseInt(width_rodzic)){
str.css('position','static');
}else{
str.css('position','relative');
}
}
}
for(var i in pozycje_paskow){
pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1];
pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2];
}
};
element_g.classList.add('mw-optimal-js');
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var visibility=comp.getPropertyValue("visibility");
if(visibility=="hidden"){return;}
var position=comp.getPropertyValue("position");
if(position!="absolute"){return;}
var optimal_x=$(element_g).hasClass('mw-optimal-x');
var optimal_y=$(element_g).hasClass('mw-optimal-y');
if(optimal_x){
FunOptimalXY("width","left","right");
}
if(optimal_y){
FunOptimalXY("height","top","bottom");
}
});
}
$(Common.OptimalXY);
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY');
Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY');
});
/*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/
Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){
$(obiekt).each(function(i,element_f){
return new Promise(function(resolve,reject){
var czas=0;
function Czekaj(){
if(czas>30000){
reject();
}
var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i);
if((collapsebutton!==null)&&(collapsebutton.length>0)){
var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i);
if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();}
resolve(i);
}else{
czas+=100;
setTimeout(Czekaj,100);
}
}
Czekaj();
}).then(function(i){
$('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){
var href=element_g.getAttribute('href');
if((href!=null)&&(href!="")){
var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*";
var re_frame = new RegExp(col,'g');
var re_javascript=new RegExp("^[\\s;]*javascript:");
if((re_javascript.test(href))&&(re_frame.test(href))){
var href=element_g.getAttribute('href');
if((href!==null)&&(href!="")){
function DodajSkryptJavaScript(fun){
var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g');
var href_nowe=element_g.getAttribute('href');
if(!re.test(href_nowe)){
element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()");
}
}
DodajSkryptJavaScript('Common.ScrollBarOverflow');
DodajSkryptJavaScript('Common.StickyXY');
DodajSkryptJavaScript('Common.OptimalXY');
}
}
}
});
}).catch(function(){});
});
};
$(function(){
/*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/
Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable');
/*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/
Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar');
/*Koniec dodatkowych funkcji*/
});
/*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz,z_mouse){
/*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/
var tab_transition={'start':true,'run':true,'cancel':true,'end':true};
var tab_przegladarki={'':true,'webkit':true,'moz':true,'o':true};
for(var a in tab_transition){
for(var b in tab_przegladarki){
var zdarzenie=b+'transition'+a;
Common.ZdarzeniaJavaScript(css,zdarzenie,fun_zdarz);
}
}
if(z_mouse){
Common.ZdarzeniaJavaScript(css,"mouseenter",fun_zdarz);
Common.ZdarzeniaJavaScript(css,"mouseleave",fun_zdarz);
}
};
$(function(){
/*Funkcje zdarzeń*/
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY',true);
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY',true);
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY',false);
});
/*Koniec dodatkowych zdarzeń*/
/*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/
Common.StronaStart=function(){
var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks');
elements.parent().show();
$('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){
$(element).css('visibility',"hidden");
$(element).attr('mw-menu-boks',"false");
});
$('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){
var czy_visible=$(element).css('visibility');
$(element).css('visibility',"visible");
$(element).attr('mw-menu-boks',"true");
var str=$(element).parents('.strona_prawa, .strona_lewa').first();
str.css('position','relative');
str.addClass('strona_start-nawigacja_spis');
str.removeClass('strona_start-nawigacja_boksy');
if(czy_visible=="hidden"){
$(Common.ScrollBarOverflow);
$(Common.StickyXY);
}
});
var str=$('.strona_start').find('.strona .ciało_zawartości > .menu > .menu_boks').children('.spis_treści, .boksy');
if(str.length!=2){return;}
$(str[0]).attr('mw-menu-boks',"true");
$(str[1]).attr('mw-menu-boks',"false");
Common.StronaStartZdarzeniePrzycisku=function(){
var id=this;
$(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){
var menu_boks_zmienna=$(element).attr('mw-menu-boks');
menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false");
if(menu_boks_zmienna=="false"){
$(element).css('display',"block");
$(element).attr('mw-menu-boks','true');
}else if(menu_boks_zmienna=="true"){
$(element).css('display',"none");
$(element).attr('mw-menu-boks','false');
}
});
$(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children('.nawigacja_boksy, .nawigacja_spis').each(function(i,element){
var menu_boks_zmienna=$(element).attr('mw-menu-boks');
menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false");
if(menu_boks_zmienna=="false"){
$(element).css('visibility',"visible");
$(element).attr('mw-menu-boks',"true");
var str=$(element).parents('.strona_prawa, .strona_lewa').first();
if($(element).hasClass('nawigacja_boksy')){
str.css('position','static');
str.addClass('strona_start-nawigacja_boksy');
str.removeClass('strona_start-nawigacja_spis');
$(Common.ScrollBarOverflow);
$(Common.OptimalXY);
}else if($(element).hasClass('nawigacja_spis')){
str.css('position','relative');
str.addClass('strona_start-nawigacja_spis');
str.removeClass('strona_start-nawigacja_boksy');
$(Common.ScrollBarOverflow);
$(Common.StickyXY);
}
}else if(menu_boks_zmienna=="true"){
$(element).css('visibility',"hidden");
$(element).attr('mw-menu-boks',"false");
}
});
}
if(Common.StronaStartZdarzeniePrzycisku)Common.ZdarzeniaJavaScript(elements,'click','StronaStartZdarzeniePrzycisku');
}
$(Common.StronaStart);
})(Common_zmienna_z_MediaWiki_Wikibooks,Common);
jhrg2acag5nflsl7arxrdayc18xnd1v
437886
437885
2022-08-16T15:13:14Z
Persino
2851
javascript
text/javascript
mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true );
/**/
/* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony.
*/
/*
* Zmienna Common.pageInfo, jego elementy, instrukcja obsługi:
* Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber)
* Common.pageInfo.name pełna nazwa strony
* Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash
* Common.pageInfo.book tytuł książki
* Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get"
* Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL
*/
/*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/
var Common_zmienna_z_MediaWiki_Wikibooks=this['Common'];
/*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/
var Common=new Array();
/*Funkcja, by nie było przecieków pamięci*/
(function(Common_zmienna_z_MediaWiki_Wikibooks,Common){
/*Funkcja zwraca zmienną Common ze strony MediaWiki:Common.js, gdy użytkownik ma właną zmienną Common w swoim common.js, w przeciwnym wypadku zwraca undefined.*/
Common.MediaWikiCommon=function(){return Common_zmienna_z_MediaWiki_Wikibooks;}
/*Funkcja zwraca zmienną Common ze strony User:<Użytkownik>/common.js, jeżeli użytkownik ma własną zmienną Common we własnym common.js, w przeciwnym wypadku zwraca Common, ze strony MediaWiki:Common.js.*/
Common.UserCommon=function(){return Common;}
/*Sprawdza, czy użytkownik ma własną zmienną Common.*/
Common.IsUserCommon=function(){return ((Common_zmienna_z_MediaWiki_Wikibooks)?true:false);};
// Frame Busting
Common.LokowanieTopSelf=function(){
if (top != self) top.location.href = self.location.href;
};
$(Common.LokowanieTopSelf);
/*Funkcja zdarzeń odrejestrowania i rejestrowania*/
Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen,tylko_odrejestruj){
/*
css - adres html obiektu,
zdarzenie - zdarzenie jak click,
funkcja_zdarzen - nazwa funkcji zdarzeń w starej przestrzeni Common lub nowej, jak StickyXY,
tylko_odrejestruj - czy tylko zdarzenie ma odrejestrować w starej przestrzeni Common.
*/
if((css)&&(zdarzenie)&&(funkcja_zdarzen)){
/*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/
if((Common_zmienna_z_MediaWiki_Wikibooks)&&(Common_zmienna_z_MediaWiki_Wikibooks[funkcja_zdarzen])){
$(css).off(zdarzenie,Common_zmienna_z_MediaWiki_Wikibooks[funkcja_zdarzen]);
}
if((!tylko_odrejestruj)&&(Common)&&(Common[funkcja_zdarzen])){
/*Rejestrowanie zdarzeń, ale z tej strony .js*/
$(css).on(zdarzenie, Common[funkcja_zdarzen]);
}
}
}
/*Funkcje w przestrzeni nazw Common*/
Common.Naglowek=function(){
/* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */
var hideAll = document.getElementById('mójNagłówekUkryj');
var noFooter = false;
var footers = 0;
var tags = document.getElementsByTagName('div');
for (var i = 0; i < tags.length; i++) {
var el=tags[i].getAttribute("id");
if (el=='mojaStopka')
footers++;
else if (hideAll && (el=='mójNagłówek')) {
tags[i].innerHTML="";
noFooter=true;
}
}
if (noFooter) return;
var footer = document.getElementById('mojaStopka');
if ((footer !== null) && (footers==1)) {
var bodyContent = document.getElementById('bodyContent');
if (bodyContent !== null) {
var s0=document.getElementById('mojaStopka0');
var s1=document.getElementById('mojaStopka1');
if ((s1 !== null) ||
((s0 === null) && (bodyContent.innerHTML.length>8000))){
var strona=document.getElementById('strona');
if(strona!==null){
strona.appendChild(footer);
}else{
var catlinks=document.getElementById('catlinks');
if(catlinks !== null){
bodyContent.insertBefore(footer,catlinks);
}else{
bodyContent.appendChild(footer);
}
}
}
}
}
/* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */
};
$(Common.Naglowek);
/*Informacje o danej stronie*/
Common.PageInfoInit=function(){
var _g = /_/g;
this.name = mw.config.get('wgPageName').replace(/_/g, ' ');
this.namespace = mw.config.get('wgNamespaceNumber');
var i = this.name.search(/\/[^\/]*$/g);
this.title = this.name.slice(i + 1);
this.book = this.name.replace(/\/.*/g, "");
if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) {
re = /\&diff=/g;
this.diff = re.test(document.URL);
re = /\&action=[^\&]*/g;
this.action = document.URL.match(re);
if ( this.action === null ) {
this.action = 'get';
} else {
this.action = this.action[0].slice(8, this.action[0].length);
}
} else {
this.diff = null;
this.action = 'get';
}
}
Common.pageInfo = new Common.PageInfoInit();
/** Collapsible tables *********************************************************
*
* Description: Allows tables to be collapsed, showing only the header. See
* [[en:Wikipedia:NavFrame]].
* Maintainers: [[User:R. Koot]]
*/
Common.autoCollapse = 2;
Common.collapseCaption = "ukryj";
Common.expandCaption = "pokaż";
Common.collapseTable=function( tableIndex )
{
var Button = document.getElementById( "collapseButton" + tableIndex );
var Table = document.getElementById( "collapsibleTable" + tableIndex );
if ( !Table || !Button ) {
return false;
}
var Rows = Table.rows;
if ( Button.firstChild.data == Common.collapseCaption ) {
for ( var i = 1; i < Rows.length; i++ ) {
Rows[i].style.display = "none";
}
Button.firstChild.data = Common.expandCaption;
} else {
for ( var i = 1; i < Rows.length; i++ ) {
Rows[i].style.display = Rows[0].style.display;
}
Button.firstChild.data = Common.collapseCaption;
}
}
Common.createCollapseButtons=function()
{
var tableIndex = 0;
var NavigationBoxes = new Object();
var Tables = document.getElementsByTagName( "table" );
for ( var i = 0; i < Tables.length; i++ ) {
if ( $(Tables[i]).hasClass( "collapsible" ) ) {
/* only add button and increment count if there is a header row to work with */
var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0];
if (!HeaderRow) continue;
var Header = HeaderRow.getElementsByTagName( "th" )[0];
if (!Header) continue;
NavigationBoxes[ tableIndex ] = Tables[i];
Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex );
var Button = document.createElement( "span" );
var ButtonLink = document.createElement( "a" );
var ButtonText = document.createTextNode( Common.collapseCaption );
Button.style.styleFloat = "right";
Button.style.cssFloat = "right";
Button.style.fontWeight = "normal";
Button.style.textAlign = "right";
Button.style.width = "6em";
ButtonLink.style.color = Header.style.color;
ButtonLink.setAttribute( "id", "collapseButton" + tableIndex );
ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" );
ButtonLink.appendChild( ButtonText );
Button.appendChild( document.createTextNode( "[" ) );
Button.appendChild( ButtonLink );
Button.appendChild( document.createTextNode( "]" ) );
$(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){
$(element).remove();
});
Header.insertBefore( Button, Header.childNodes[0]);
tableIndex++;
}
}
for ( var i = 0; i < tableIndex; i++ ) {
if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) {
Common.collapseTable( i );
}
else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) {
var element = NavigationBoxes[i];
while (element = element.parentNode) {
if ( $(element).hasClass( "outercollapse" ) ) {
Common.collapseTable ( i );
break;
}
}
}
}
}
$(Common.createCollapseButtons );
/** Dynamic Navigation Bars (experimental) *************************************
*
* Description: See [[Wikipedia:NavFrame]].
* Maintainers: UNMAINTAINED
*/
// set up the words in your language
Common.NavigationBarHide = '[' + Common.collapseCaption + ']';
Common.NavigationBarShow = '[' + Common.expandCaption + ']';
// shows and hides content and picture (if available) of navigation bars
// Parameters:
// indexNavigationBar: the index of navigation bar to be toggled
Common.toggleNavigationBar=function(indexNavigationBar)
{
var NavToggle = document.getElementById("NavToggle" + indexNavigationBar);
var NavFrame = document.getElementById("NavFrame" + indexNavigationBar);
if (!NavFrame || !NavToggle) {
return false;
}
// if shown now
if (NavToggle.firstChild.data == Common.NavigationBarHide) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) ) {
NavChild.style.display = 'none';
}
if ( $(NavChild).hasClass( 'NavContent') ) {
NavChild.style.display = 'none';
}
}
NavToggle.firstChild.data = Common.NavigationBarShow;
// if hidden now
} else if (NavToggle.firstChild.data == Common.NavigationBarShow) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ($(NavChild).hasClass( 'NavPic')) {
NavChild.style.display = 'block';
}
if ($(NavChild).hasClass( 'NavContent')) {
NavChild.style.display = 'block';
}
}
NavToggle.firstChild.data = Common.NavigationBarHide;
}
}
// adds show/hide-button to navigation bars
Common.createNavigationBarToggleButton=function()
{
var indexNavigationBar = 0;
// iterate over all < div >-elements
var divs = document.getElementsByTagName("div");
for (var i = 0; NavFrame = divs[i]; i++) {
// if found a navigation bar
if ($(NavFrame).hasClass( "NavFrame")) {
indexNavigationBar++;
var NavToggle = document.createElement("a");
NavToggle.className = 'NavToggle';
NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar);
NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');');
var isCollapsed = $(NavFrame).hasClass( "collapsed" );
/*
* Check if any children are already hidden. This loop is here for backwards compatibility:
* the old way of making NavFrames start out collapsed was to manually add style="display:none"
* to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make
* the content visible without JavaScript support), the new recommended way is to add the class
* "collapsed" to the NavFrame itself, just like with collapsible tables.
*/
for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) {
if ( NavChild.style.display == 'none' ) {
isCollapsed = true;
}
}
}
if (isCollapsed) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) {
NavChild.style.display = 'none';
}
}
}
var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide);
NavToggle.appendChild(NavToggleText);
// Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked)
for(var j=0; j < NavFrame.childNodes.length; j++) {
if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) {
$(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){
$(element).remove();
});
NavFrame.childNodes[j].appendChild(NavToggle);
}
}
NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar);
}
}
}
$(Common.createNavigationBarToggleButton );
// Wyszukiwanie Google na stronach podręczników
Common.googleSearchInitialized = false;
Common.insertGoogleSearch=function() {
if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) {
return;
}
Common.googleSearchInitialized = true;
var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE";
var ul = jQuery('#p-tb ul')[0];
if (!ul) {
return;
}
var link = document.createElement('a');
var book = Common.pageInfo.book;
if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) {
google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22"
}
link.href = google.replace(/PAGE/g, encodeURIComponent(book));
link.appendChild(document.createTextNode("Szukaj w podręczniku"));
var li = document.createElement('li');
li.id = "google-trick-search";
li.appendChild(link);
$(ul).children('li#google-trick-search').each(function(i,element){
$(element).remove();
});
ul.insertBefore(li, ul.firstChild);
}
$(Common.insertGoogleSearch);
/*Funkcja do liczenia szerokościm mapska przewijania w pionowego, wtedy x_box_right=="y", lub poziomego, wtedy inny parametr inny niż dla paska pionowego*/
Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){
var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>');
$('body').append(div);
var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")]();
div.css('overflow-'+(x_box_right||"y"), 'scroll');
var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")]();
$(div).remove();
return (w1 - w2);
}
/*Funkcje do obsługi pasków przewijania*/
Common.ScrollBarOverflow=function(){
$('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){
/*start overflow*/
var comp=window.getComputedStyle(element_g, null);
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var overflow=comp.getPropertyValue("overflow");
var overflow_x=$(element_g).hasClass('mw-overflow-x');
if(overflow_x){
var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
if((overflowX)&&(overflowX=="auto")){
element_g.classList.remove("mw-scrollbar-overflow-x");
const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false
if(hasHorizontalScrollbar){
element_g.classList.add("mw-scrollbar-overflow-x");
}
}
}
var overflow_y=$(element_g).hasClass('mw-overflow-y');
if(overflow_y){
var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflowY)&&(overflowY=="auto")){
element_g.classList.remove("mw-scrollbar-overflow-y");
const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false
if(hasVerticalScrollbar){
element_g.classList.add("mw-scrollbar-overflow-y");
}
}
}
/*koniec overflow*/
});
}
$(Common.ScrollBarOverflow);
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow');
Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow');
});
/*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/
Common.StickyXY=function(){
$('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){
var comp=window.getComputedStyle(element_g, null);
function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){
var pozycje_paskow=new Array();
$(element_g).find('*').each(function(i,element){
var comp=window.getComputedStyle(element, null);
var overflow=comp.getPropertyValue("overflow");
var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){
pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft));
}
});
var height_sticky=0;
$('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){
var rect_sticky=el.getBoundingClientRect();
height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]);
});
var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom);
if(StickyXYTopOld===undefined){
var topold_war=parseFloat(element_g.style[top]);
$(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0));
}
if(StickyXYBottomOld===undefined){
var bottomold_war=parseFloat(element_g.style[bottom]);
$(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0));
}
var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5;
var margintop=parseFloat(comp.getPropertyValue("margin-"+top));
margintop=((!isNaN(margintop))?margintop:0);
var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom));
marginbottom=((!isNaN(marginbottom))?marginbottom:0);
var przodek_height=undefined;
element_g.style[height]="auto";
element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[top]="auto";
element_g.style[bottom]="auto";
if(width_box!=null){
element_g.style[width_box]="auto";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[left_box]="auto";
element_g.style[right_box]="0";
$(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){
element.style[width_box]="auto";
element.classList.remove('mw-scrollbar-overflow-x');
element.classList.remove('mw-scrollbar-overflow-y');
});
}
/**/
var parents_node_fun=$(element_g).parents('.mw-parent-node').first();
if((parents_node_fun==null)||(parents_node_fun.length==0)){return;}
var width_rodzic=null;
var rodzic_element=undefined;
var comp_rodz;
parents_node_fun.each(function(i,element){
comp_rodz=window.getComputedStyle(element,null);
przodek_height=parseFloat(comp_rodz.getPropertyValue([height]));
width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null;
rodzic_element=element;
});
var height_box_real=parseFloat(comp.getPropertyValue(height));
var rect_dziecko=element_g.getBoundingClientRect();
var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))];
var rect_rodzic;
parents_node_fun.each(function(i,element){
rect_rodzic=element.getBoundingClientRect();
});
var top_ab=rect_rodzic[top];
var bottom_ab=(wys-rect_rodzic[bottom]);
var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop);
element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px";
element_g.style[height]="100%";
var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)));
element_g.style[top]=top_obj+"px";
element_g.style[bottom]="auto";
if(width_box!=null){
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
rodzic_element.style.position="static";
rodzic_element.style.overflow="hidden";
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
var rect_dziecko=element_g.getBoundingClientRect();
if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){
if(width_box=="width"){
element_g.classList.remove('mw-scrollbar-overflow-x');
}else{
element_g.classList.remove('mw-scrollbar-overflow-y');
}
if(rect_dziecko[width_box]>width_rodzic){
if(width_box=="width"){
element_g.classList.add('mw-scrollbar-overflow-x');
}else{
element_g.classList.add('mw-scrollbar-overflow-y');
}
}
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box));
margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box));
var dlugosc=(width_rodzic-margin_all);
dlugosc=((dlugosc>=0)?dlugosc:0);
element_g.style.whiteSpace="nowrap";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px";
element_g.style[width_box]=width_box_real+"px";
Common.ScrollBarOverflow();
$(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){
var comp_element=window.getComputedStyle(element, null)
element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat (comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px";
element.classList.remove('mw-scrollbar-overflow-'+x_box);
});
element_g.style.whiteSpace="normal";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[width_box]="auto";
var rect_dziecko=element_g.getBoundingClientRect();
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px";
element_g.style[width_box]=width_box_real+"px";
element_g.style[left_box]="0";
element_g.style[right_box]="auto";
rodzic_element.style.position="relative";
}else{
element_g.style.whiteSpace="nowrap";
var szerokosc_box=rect_dziecko[width_box];
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px";
element_g.style[width_box]=(szerokosc_box)+"px";
Common.ScrollBarOverflow();
$(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){
var comp_element=window.getComputedStyle(element, null);
element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat (comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px";
element.classList.remove('mw-scrollbar-overflow-'+x_box);
});
element_g.style.whiteSpace="normal";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[width_box]="auto";
var rect_dziecko=element_g.getBoundingClientRect();
var szerokosc_box=rect_dziecko[width_box];
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px";
element_g.style[width_box]=(szerokosc_box)+"px";
var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box));
if(parseInt(szerokosc)>parseInt(width_rodzic)){
element_g.style[right_box]="0";
element_g.style[left_box]="auto";
rodzic_element.style.overflow="visible";
}else{
element_g.style[left_box]="0";
element_g.style[right_box]="auto";
rodzic_element.style.position="relative";
}
}
}
element_g.style[height]="auto";
element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px";
Common.ScrollBarOverflow();
for(var i in pozycje_paskow){
pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1];
pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2];
}
}
element_g.classList.add('mw-sticky-js');
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var visibility=comp.getPropertyValue("visibility");
if(visibility=="hidden"){return;}
var position=comp.getPropertyValue("position");
if(position!="absolute"){return;}
var sticky_x=$(element_g).hasClass('mw-sticky-x');
var sticky_y=$(element_g).hasClass('mw-sticky-y');
if((sticky_x)&&(!sticky_y)){
var str=$(element_g).parents('.strona_górna, .strona_dolna').first();
if(str.hasClass('strona_dolna')){
FunStickyXY("width","left","right","height","top","bottom","y","x");
}else if(str.hasClass('strona_górna')){
FunStickyXY("width","left","right","height","bottom","top","y","x");
}
}else if((!sticky_x)&&(sticky_y)){
var str=$(element_g).parents('.strona_prawa, .strona_lewa').first();
if(str.hasClass('strona_prawa')){
FunStickyXY("height","top","bottom","width","left","right","x","y");
}else if(str.hasClass('strona_lewa')){
FunStickyXY("height","top","bottom","width","right","left","x","y");
}
}else if((sticky_x)&&(sticky_y)){
FunStickyXY("width","left","right",null);
FunStickyXY("height","top","bottom",null);
}
});
}
$(Common.StickyXY);
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY');
Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY');
});
/*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/
Common.OptimalXY=function(){
$('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){
var comp=window.getComputedStyle(element_g, null);
function FunOptimalXY(width,left,right){
var pozycje_paskow=new Array();
$(element_g).find('*').each(function(i,element){
var comp=window.getComputedStyle(element, null);
var overflow=comp.getPropertyValue("overflow");
var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){
pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft));
}
});
var width_rodzic=null;
var rodzic_node;
var comp_rodz;
$(element_g).parents('.mw-parent-node').first().each(function(i,element){
comp_rodz=window.getComputedStyle(element,null);
width_rodzic=parseFloat(comp_rodz.getPropertyValue([width]));
rodzic_node=element;
});
if((width_rodzic!=null)&&(!isNaN(width_rodzic))){
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
var width_box_real=parseFloat(comp.getPropertyValue(width));
var rect_dziecko=element_g.getBoundingClientRect();
if(width=="width"){
element_g.classList.remove('mw-scrollbar-overflow-x');
}else{
element_g.classList.remove('mw-scrollbar-overflow-y');
}
if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){
var rect_dziecko=element_g.getBoundingClientRect();
if(rect_dziecko[width]>width_rodzic){
if(width=="width"){
element_g.classList.add('mw-scrollbar-overflow-x');
}else{
element_g.classList.add('mw-scrollbar-overflow-y');
}
}
var width_box_real=parseFloat(comp.getPropertyValue(width));
var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right));
margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right));
var dlugosc=(width_rodzic-margin_all);
dlugosc=((dlugosc>=0)?dlugosc:0);
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px";
}else{
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px";
}
var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first();
if(!str.hasClass('strona_start-nawigacja_boksy')){
var rect_dziecko=element_g.getBoundingClientRect();
var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right));
if(parseInt(szerokosc)>parseInt(width_rodzic)){
str.css('position','static');
}else{
str.css('position','relative');
}
}
}
for(var i in pozycje_paskow){
pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1];
pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2];
}
};
element_g.classList.add('mw-optimal-js');
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var visibility=comp.getPropertyValue("visibility");
if(visibility=="hidden"){return;}
var position=comp.getPropertyValue("position");
if(position!="absolute"){return;}
var optimal_x=$(element_g).hasClass('mw-optimal-x');
var optimal_y=$(element_g).hasClass('mw-optimal-y');
if(optimal_x){
FunOptimalXY("width","left","right");
}
if(optimal_y){
FunOptimalXY("height","top","bottom");
}
});
}
$(Common.OptimalXY);
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY');
Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY');
});
/*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/
Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){
$(obiekt).each(function(i,element_f){
return new Promise(function(resolve,reject){
var czas=0;
function Czekaj(){
if(czas>30000){
reject();
}
var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i);
if((collapsebutton!==null)&&(collapsebutton.length>0)){
var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i);
if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){reject();}
resolve(i);
}else{console.log("TYTANq")
czas+=100;
setTimeout(Czekaj,100);
}
}
Czekaj();
}).then(function(i){
$('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){
var href=element_g.getAttribute('href');
if((href!=null)&&(href!="")){
var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*";
var re_frame = new RegExp(col,'g');
var re_javascript=new RegExp("^[\\s;]*javascript:");
if((re_javascript.test(href))&&(re_frame.test(href))){
var href=element_g.getAttribute('href');
if((href!==null)&&(href!="")){
function DodajSkryptJavaScript(fun){
var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g');
var href_nowe=element_g.getAttribute('href');
if(!re.test(href_nowe)){
element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()");
}
}
DodajSkryptJavaScript('Common.ScrollBarOverflow');
DodajSkryptJavaScript('Common.StickyXY');
DodajSkryptJavaScript('Common.OptimalXY');
}
}
}
});
}).catch(function(){});
});
};
$(function(){
/*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/
Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable');
/*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/
Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar');
/*Koniec dodatkowych funkcji*/
});
/*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz,z_mouse){
/*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/
var tab_transition={'start':true,'run':true,'cancel':true,'end':true};
var tab_przegladarki={'':true,'webkit':true,'moz':true,'o':true};
for(var a in tab_transition){
for(var b in tab_przegladarki){
var zdarzenie=b+'transition'+a;
Common.ZdarzeniaJavaScript(css,zdarzenie,fun_zdarz);
}
}
if(z_mouse){
Common.ZdarzeniaJavaScript(css,"mouseenter",fun_zdarz);
Common.ZdarzeniaJavaScript(css,"mouseleave",fun_zdarz);
}
};
$(function(){
/*Funkcje zdarzeń*/
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY',true);
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY',true);
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY',false);
});
/*Koniec dodatkowych zdarzeń*/
/*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/
Common.StronaStart=function(){
var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks');
elements.parent().show();
$('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){
$(element).css('visibility',"hidden");
$(element).attr('mw-menu-boks',"false");
});
$('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){
var czy_visible=$(element).css('visibility');
$(element).css('visibility',"visible");
$(element).attr('mw-menu-boks',"true");
var str=$(element).parents('.strona_prawa, .strona_lewa').first();
str.css('position','relative');
str.addClass('strona_start-nawigacja_spis');
str.removeClass('strona_start-nawigacja_boksy');
if(czy_visible=="hidden"){
$(Common.ScrollBarOverflow);
$(Common.StickyXY);
}
});
var str=$('.strona_start').find('.strona .ciało_zawartości > .menu > .menu_boks').children('.spis_treści, .boksy');
if(str.length!=2){return;}
$(str[0]).attr('mw-menu-boks',"true");
$(str[1]).attr('mw-menu-boks',"false");
Common.StronaStartZdarzeniePrzycisku=function(){
var id=this;
$(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){
var menu_boks_zmienna=$(element).attr('mw-menu-boks');
menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false");
if(menu_boks_zmienna=="false"){
$(element).css('display',"block");
$(element).attr('mw-menu-boks','true');
}else if(menu_boks_zmienna=="true"){
$(element).css('display',"none");
$(element).attr('mw-menu-boks','false');
}
});
$(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children('.nawigacja_boksy, .nawigacja_spis').each(function(i,element){
var menu_boks_zmienna=$(element).attr('mw-menu-boks');
menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false");
if(menu_boks_zmienna=="false"){
$(element).css('visibility',"visible");
$(element).attr('mw-menu-boks',"true");
var str=$(element).parents('.strona_prawa, .strona_lewa').first();
if($(element).hasClass('nawigacja_boksy')){
str.css('position','static');
str.addClass('strona_start-nawigacja_boksy');
str.removeClass('strona_start-nawigacja_spis');
$(Common.ScrollBarOverflow);
$(Common.OptimalXY);
}else if($(element).hasClass('nawigacja_spis')){
str.css('position','relative');
str.addClass('strona_start-nawigacja_spis');
str.removeClass('strona_start-nawigacja_boksy');
$(Common.ScrollBarOverflow);
$(Common.StickyXY);
}
}else if(menu_boks_zmienna=="true"){
$(element).css('visibility',"hidden");
$(element).attr('mw-menu-boks',"false");
}
});
}
if(Common.StronaStartZdarzeniePrzycisku)Common.ZdarzeniaJavaScript(elements,'click','StronaStartZdarzeniePrzycisku');
}
$(Common.StronaStart);
})(Common_zmienna_z_MediaWiki_Wikibooks,Common);
jq692qxa57gdnkmu052160ry6oo0ray
437887
437886
2022-08-16T15:20:51Z
Persino
2851
javascript
text/javascript
mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true );
/**/
/* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony.
*/
/*
* Zmienna Common.pageInfo, jego elementy, instrukcja obsługi:
* Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber)
* Common.pageInfo.name pełna nazwa strony
* Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash
* Common.pageInfo.book tytuł książki
* Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get"
* Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL
*/
/*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/
var Common_zmienna_z_MediaWiki_Wikibooks=this['Common'];
/*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/
var Common=new Array();
/*Funkcja, by nie było przecieków pamięci*/
(function(Common_zmienna_z_MediaWiki_Wikibooks,Common){
/*Funkcja zwraca zmienną Common ze strony MediaWiki:Common.js, gdy użytkownik ma właną zmienną Common w swoim common.js, w przeciwnym wypadku zwraca undefined.*/
Common.MediaWikiCommon=function(){return Common_zmienna_z_MediaWiki_Wikibooks;}
/*Funkcja zwraca zmienną Common ze strony User:<Użytkownik>/common.js, jeżeli użytkownik ma własną zmienną Common we własnym common.js, w przeciwnym wypadku zwraca Common, ze strony MediaWiki:Common.js.*/
Common.UserCommon=function(){return Common;}
/*Sprawdza, czy użytkownik ma własną zmienną Common.*/
Common.IsUserCommon=function(){return ((Common_zmienna_z_MediaWiki_Wikibooks)?true:false);};
// Frame Busting
Common.LokowanieTopSelf=function(){
if (top != self) top.location.href = self.location.href;
};
$(Common.LokowanieTopSelf);
/*Funkcja zdarzeń odrejestrowania i rejestrowania*/
Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen,tylko_odrejestruj){
/*
css - adres html obiektu,
zdarzenie - zdarzenie jak click,
funkcja_zdarzen - nazwa funkcji zdarzeń w starej przestrzeni Common lub nowej, jak StickyXY,
tylko_odrejestruj - czy tylko zdarzenie ma odrejestrować w starej przestrzeni Common.
*/
if((css)&&(zdarzenie)&&(funkcja_zdarzen)){
/*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/
if((Common_zmienna_z_MediaWiki_Wikibooks)&&(Common_zmienna_z_MediaWiki_Wikibooks[funkcja_zdarzen])){
$(css).off(zdarzenie,Common_zmienna_z_MediaWiki_Wikibooks[funkcja_zdarzen]);
}
if((!tylko_odrejestruj)&&(Common)&&(Common[funkcja_zdarzen])){
/*Rejestrowanie zdarzeń, ale z tej strony .js*/
$(css).on(zdarzenie, Common[funkcja_zdarzen]);
}
}
}
/*Funkcje w przestrzeni nazw Common*/
Common.Naglowek=function(){
/* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */
var hideAll = document.getElementById('mójNagłówekUkryj');
var noFooter = false;
var footers = 0;
var tags = document.getElementsByTagName('div');
for (var i = 0; i < tags.length; i++) {
var el=tags[i].getAttribute("id");
if (el=='mojaStopka')
footers++;
else if (hideAll && (el=='mójNagłówek')) {
tags[i].innerHTML="";
noFooter=true;
}
}
if (noFooter) return;
var footer = document.getElementById('mojaStopka');
if ((footer !== null) && (footers==1)) {
var bodyContent = document.getElementById('bodyContent');
if (bodyContent !== null) {
var s0=document.getElementById('mojaStopka0');
var s1=document.getElementById('mojaStopka1');
if ((s1 !== null) ||
((s0 === null) && (bodyContent.innerHTML.length>8000))){
var strona=document.getElementById('strona');
if(strona!==null){
strona.appendChild(footer);
}else{
var catlinks=document.getElementById('catlinks');
if(catlinks !== null){
bodyContent.insertBefore(footer,catlinks);
}else{
bodyContent.appendChild(footer);
}
}
}
}
}
/* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */
};
$(Common.Naglowek);
/*Informacje o danej stronie*/
Common.PageInfoInit=function(){
var _g = /_/g;
this.name = mw.config.get('wgPageName').replace(/_/g, ' ');
this.namespace = mw.config.get('wgNamespaceNumber');
var i = this.name.search(/\/[^\/]*$/g);
this.title = this.name.slice(i + 1);
this.book = this.name.replace(/\/.*/g, "");
if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) {
re = /\&diff=/g;
this.diff = re.test(document.URL);
re = /\&action=[^\&]*/g;
this.action = document.URL.match(re);
if ( this.action === null ) {
this.action = 'get';
} else {
this.action = this.action[0].slice(8, this.action[0].length);
}
} else {
this.diff = null;
this.action = 'get';
}
}
Common.pageInfo = new Common.PageInfoInit();
/** Collapsible tables *********************************************************
*
* Description: Allows tables to be collapsed, showing only the header. See
* [[en:Wikipedia:NavFrame]].
* Maintainers: [[User:R. Koot]]
*/
Common.autoCollapse = 2;
Common.collapseCaption = "ukryj";
Common.expandCaption = "pokaż";
Common.collapseTable=function( tableIndex )
{
var Button = document.getElementById( "collapseButton" + tableIndex );
var Table = document.getElementById( "collapsibleTable" + tableIndex );
if ( !Table || !Button ) {
return false;
}
var Rows = Table.rows;
if ( Button.firstChild.data == Common.collapseCaption ) {
for ( var i = 1; i < Rows.length; i++ ) {
Rows[i].style.display = "none";
}
Button.firstChild.data = Common.expandCaption;
} else {
for ( var i = 1; i < Rows.length; i++ ) {
Rows[i].style.display = Rows[0].style.display;
}
Button.firstChild.data = Common.collapseCaption;
}
}
Common.createCollapseButtons=function()
{
var tableIndex = 0;
var NavigationBoxes = new Object();
var Tables = document.getElementsByTagName( "table" );
for ( var i = 0; i < Tables.length; i++ ) {
if ( $(Tables[i]).hasClass( "collapsible" ) ) {
/* only add button and increment count if there is a header row to work with */
var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0];
if (!HeaderRow) continue;
var Header = HeaderRow.getElementsByTagName( "th" )[0];
if (!Header) continue;
NavigationBoxes[ tableIndex ] = Tables[i];
Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex );
var Button = document.createElement( "span" );
var ButtonLink = document.createElement( "a" );
var ButtonText = document.createTextNode( Common.collapseCaption );
Button.style.styleFloat = "right";
Button.style.cssFloat = "right";
Button.style.fontWeight = "normal";
Button.style.textAlign = "right";
Button.style.width = "6em";
ButtonLink.style.color = Header.style.color;
ButtonLink.setAttribute( "id", "collapseButton" + tableIndex );
ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" );
ButtonLink.appendChild( ButtonText );
Button.appendChild( document.createTextNode( "[" ) );
Button.appendChild( ButtonLink );
Button.appendChild( document.createTextNode( "]" ) );
$(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){
$(element).remove();
});
Header.insertBefore( Button, Header.childNodes[0]);
tableIndex++;
}
}
for ( var i = 0; i < tableIndex; i++ ) {
if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) {
Common.collapseTable( i );
}
else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) {
var element = NavigationBoxes[i];
while (element = element.parentNode) {
if ( $(element).hasClass( "outercollapse" ) ) {
Common.collapseTable ( i );
break;
}
}
}
}
}
$(Common.createCollapseButtons );
/** Dynamic Navigation Bars (experimental) *************************************
*
* Description: See [[Wikipedia:NavFrame]].
* Maintainers: UNMAINTAINED
*/
// set up the words in your language
Common.NavigationBarHide = '[' + Common.collapseCaption + ']';
Common.NavigationBarShow = '[' + Common.expandCaption + ']';
// shows and hides content and picture (if available) of navigation bars
// Parameters:
// indexNavigationBar: the index of navigation bar to be toggled
Common.toggleNavigationBar=function(indexNavigationBar)
{
var NavToggle = document.getElementById("NavToggle" + indexNavigationBar);
var NavFrame = document.getElementById("NavFrame" + indexNavigationBar);
if (!NavFrame || !NavToggle) {
return false;
}
// if shown now
if (NavToggle.firstChild.data == Common.NavigationBarHide) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) ) {
NavChild.style.display = 'none';
}
if ( $(NavChild).hasClass( 'NavContent') ) {
NavChild.style.display = 'none';
}
}
NavToggle.firstChild.data = Common.NavigationBarShow;
// if hidden now
} else if (NavToggle.firstChild.data == Common.NavigationBarShow) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ($(NavChild).hasClass( 'NavPic')) {
NavChild.style.display = 'block';
}
if ($(NavChild).hasClass( 'NavContent')) {
NavChild.style.display = 'block';
}
}
NavToggle.firstChild.data = Common.NavigationBarHide;
}
}
// adds show/hide-button to navigation bars
Common.createNavigationBarToggleButton=function()
{
var indexNavigationBar = 0;
// iterate over all < div >-elements
var divs = document.getElementsByTagName("div");
for (var i = 0; NavFrame = divs[i]; i++) {
// if found a navigation bar
if ($(NavFrame).hasClass( "NavFrame")) {
indexNavigationBar++;
var NavToggle = document.createElement("a");
NavToggle.className = 'NavToggle';
NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar);
NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');');
var isCollapsed = $(NavFrame).hasClass( "collapsed" );
/*
* Check if any children are already hidden. This loop is here for backwards compatibility:
* the old way of making NavFrames start out collapsed was to manually add style="display:none"
* to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make
* the content visible without JavaScript support), the new recommended way is to add the class
* "collapsed" to the NavFrame itself, just like with collapsible tables.
*/
for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) {
if ( NavChild.style.display == 'none' ) {
isCollapsed = true;
}
}
}
if (isCollapsed) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) {
NavChild.style.display = 'none';
}
}
}
var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide);
NavToggle.appendChild(NavToggleText);
// Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked)
for(var j=0; j < NavFrame.childNodes.length; j++) {
if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) {
$(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){
$(element).remove();
});
NavFrame.childNodes[j].appendChild(NavToggle);
}
}
NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar);
}
}
}
$(Common.createNavigationBarToggleButton );
// Wyszukiwanie Google na stronach podręczników
Common.googleSearchInitialized = false;
Common.insertGoogleSearch=function() {
if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) {
return;
}
Common.googleSearchInitialized = true;
var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE";
var ul = jQuery('#p-tb ul')[0];
if (!ul) {
return;
}
var link = document.createElement('a');
var book = Common.pageInfo.book;
if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) {
google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22"
}
link.href = google.replace(/PAGE/g, encodeURIComponent(book));
link.appendChild(document.createTextNode("Szukaj w podręczniku"));
var li = document.createElement('li');
li.id = "google-trick-search";
li.appendChild(link);
$(ul).children('li#google-trick-search').each(function(i,element){
$(element).remove();
});
ul.insertBefore(li, ul.firstChild);
}
$(Common.insertGoogleSearch);
/*Funkcja do liczenia szerokościm mapska przewijania w pionowego, wtedy x_box_right=="y", lub poziomego, wtedy inny parametr inny niż dla paska pionowego*/
Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){
var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>');
$('body').append(div);
var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")]();
div.css('overflow-'+(x_box_right||"y"), 'scroll');
var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")]();
$(div).remove();
return (w1 - w2);
}
/*Funkcje do obsługi pasków przewijania*/
Common.ScrollBarOverflow=function(){
$('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){
/*start overflow*/
var comp=window.getComputedStyle(element_g, null);
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var overflow=comp.getPropertyValue("overflow");
var overflow_x=$(element_g).hasClass('mw-overflow-x');
if(overflow_x){
var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
if((overflowX)&&(overflowX=="auto")){
element_g.classList.remove("mw-scrollbar-overflow-x");
const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false
if(hasHorizontalScrollbar){
element_g.classList.add("mw-scrollbar-overflow-x");
}
}
}
var overflow_y=$(element_g).hasClass('mw-overflow-y');
if(overflow_y){
var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflowY)&&(overflowY=="auto")){
element_g.classList.remove("mw-scrollbar-overflow-y");
const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false
if(hasVerticalScrollbar){
element_g.classList.add("mw-scrollbar-overflow-y");
}
}
}
/*koniec overflow*/
});
}
$(Common.ScrollBarOverflow);
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow');
Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow');
});
/*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/
Common.StickyXY=function(){
$('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){
var comp=window.getComputedStyle(element_g, null);
function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){
var pozycje_paskow=new Array();
$(element_g).find('*').each(function(i,element){
var comp=window.getComputedStyle(element, null);
var overflow=comp.getPropertyValue("overflow");
var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){
pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft));
}
});
var height_sticky=0;
$('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){
var rect_sticky=el.getBoundingClientRect();
height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]);
});
var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom);
if(StickyXYTopOld===undefined){
var topold_war=parseFloat(element_g.style[top]);
$(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0));
}
if(StickyXYBottomOld===undefined){
var bottomold_war=parseFloat(element_g.style[bottom]);
$(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0));
}
var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5;
var margintop=parseFloat(comp.getPropertyValue("margin-"+top));
margintop=((!isNaN(margintop))?margintop:0);
var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom));
marginbottom=((!isNaN(marginbottom))?marginbottom:0);
var przodek_height=undefined;
element_g.style[height]="auto";
element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[top]="auto";
element_g.style[bottom]="auto";
if(width_box!=null){
element_g.style[width_box]="auto";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[left_box]="auto";
element_g.style[right_box]="0";
$(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){
element.style[width_box]="auto";
element.classList.remove('mw-scrollbar-overflow-x');
element.classList.remove('mw-scrollbar-overflow-y');
});
}
/**/
var parents_node_fun=$(element_g).parents('.mw-parent-node').first();
if((parents_node_fun==null)||(parents_node_fun.length==0)){return;}
var width_rodzic=null;
var rodzic_element=undefined;
var comp_rodz;
parents_node_fun.each(function(i,element){
comp_rodz=window.getComputedStyle(element,null);
przodek_height=parseFloat(comp_rodz.getPropertyValue([height]));
width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null;
rodzic_element=element;
});
var height_box_real=parseFloat(comp.getPropertyValue(height));
var rect_dziecko=element_g.getBoundingClientRect();
var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))];
var rect_rodzic;
parents_node_fun.each(function(i,element){
rect_rodzic=element.getBoundingClientRect();
});
var top_ab=rect_rodzic[top];
var bottom_ab=(wys-rect_rodzic[bottom]);
var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop);
element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px";
element_g.style[height]="100%";
var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)));
element_g.style[top]=top_obj+"px";
element_g.style[bottom]="auto";
if(width_box!=null){
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
rodzic_element.style.position="static";
rodzic_element.style.overflow="hidden";
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
var rect_dziecko=element_g.getBoundingClientRect();
if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){
if(width_box=="width"){
element_g.classList.remove('mw-scrollbar-overflow-x');
}else{
element_g.classList.remove('mw-scrollbar-overflow-y');
}
if(rect_dziecko[width_box]>width_rodzic){
if(width_box=="width"){
element_g.classList.add('mw-scrollbar-overflow-x');
}else{
element_g.classList.add('mw-scrollbar-overflow-y');
}
}
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box));
margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box));
var dlugosc=(width_rodzic-margin_all);
dlugosc=((dlugosc>=0)?dlugosc:0);
element_g.style.whiteSpace="nowrap";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px";
element_g.style[width_box]=width_box_real+"px";
Common.ScrollBarOverflow();
$(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){
var comp_element=window.getComputedStyle(element, null)
element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat (comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px";
element.classList.remove('mw-scrollbar-overflow-'+x_box);
});
element_g.style.whiteSpace="normal";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[width_box]="auto";
var rect_dziecko=element_g.getBoundingClientRect();
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px";
element_g.style[width_box]=width_box_real+"px";
element_g.style[left_box]="0";
element_g.style[right_box]="auto";
rodzic_element.style.position="relative";
}else{
element_g.style.whiteSpace="nowrap";
var szerokosc_box=rect_dziecko[width_box];
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px";
element_g.style[width_box]=(szerokosc_box)+"px";
Common.ScrollBarOverflow();
$(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){
var comp_element=window.getComputedStyle(element, null);
element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat (comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px";
element.classList.remove('mw-scrollbar-overflow-'+x_box);
});
element_g.style.whiteSpace="normal";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[width_box]="auto";
var rect_dziecko=element_g.getBoundingClientRect();
var szerokosc_box=rect_dziecko[width_box];
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px";
element_g.style[width_box]=(szerokosc_box)+"px";
var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box));
if(parseInt(szerokosc)>parseInt(width_rodzic)){
element_g.style[right_box]="0";
element_g.style[left_box]="auto";
rodzic_element.style.overflow="visible";
}else{
element_g.style[left_box]="0";
element_g.style[right_box]="auto";
rodzic_element.style.position="relative";
}
}
}
element_g.style[height]="auto";
element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px";
Common.ScrollBarOverflow();
for(var i in pozycje_paskow){
pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1];
pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2];
}
}
element_g.classList.add('mw-sticky-js');
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var visibility=comp.getPropertyValue("visibility");
if(visibility=="hidden"){return;}
var position=comp.getPropertyValue("position");
if(position!="absolute"){return;}
var sticky_x=$(element_g).hasClass('mw-sticky-x');
var sticky_y=$(element_g).hasClass('mw-sticky-y');
if((sticky_x)&&(!sticky_y)){
var str=$(element_g).parents('.strona_górna, .strona_dolna').first();
if(str.hasClass('strona_dolna')){
FunStickyXY("width","left","right","height","top","bottom","y","x");
}else if(str.hasClass('strona_górna')){
FunStickyXY("width","left","right","height","bottom","top","y","x");
}
}else if((!sticky_x)&&(sticky_y)){
var str=$(element_g).parents('.strona_prawa, .strona_lewa').first();
if(str.hasClass('strona_prawa')){
FunStickyXY("height","top","bottom","width","left","right","x","y");
}else if(str.hasClass('strona_lewa')){
FunStickyXY("height","top","bottom","width","right","left","x","y");
}
}else if((sticky_x)&&(sticky_y)){
FunStickyXY("width","left","right",null);
FunStickyXY("height","top","bottom",null);
}
});
}
$(Common.StickyXY);
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY');
Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY');
});
/*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/
Common.OptimalXY=function(){
$('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){
var comp=window.getComputedStyle(element_g, null);
function FunOptimalXY(width,left,right){
var pozycje_paskow=new Array();
$(element_g).find('*').each(function(i,element){
var comp=window.getComputedStyle(element, null);
var overflow=comp.getPropertyValue("overflow");
var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){
pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft));
}
});
var width_rodzic=null;
var rodzic_node;
var comp_rodz;
$(element_g).parents('.mw-parent-node').first().each(function(i,element){
comp_rodz=window.getComputedStyle(element,null);
width_rodzic=parseFloat(comp_rodz.getPropertyValue([width]));
rodzic_node=element;
});
if((width_rodzic!=null)&&(!isNaN(width_rodzic))){
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
var width_box_real=parseFloat(comp.getPropertyValue(width));
var rect_dziecko=element_g.getBoundingClientRect();
if(width=="width"){
element_g.classList.remove('mw-scrollbar-overflow-x');
}else{
element_g.classList.remove('mw-scrollbar-overflow-y');
}
if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){
var rect_dziecko=element_g.getBoundingClientRect();
if(rect_dziecko[width]>width_rodzic){
if(width=="width"){
element_g.classList.add('mw-scrollbar-overflow-x');
}else{
element_g.classList.add('mw-scrollbar-overflow-y');
}
}
var width_box_real=parseFloat(comp.getPropertyValue(width));
var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right));
margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right));
var dlugosc=(width_rodzic-margin_all);
dlugosc=((dlugosc>=0)?dlugosc:0);
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px";
}else{
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px";
}
var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first();
if(!str.hasClass('strona_start-nawigacja_boksy')){
var rect_dziecko=element_g.getBoundingClientRect();
var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right));
if(parseInt(szerokosc)>parseInt(width_rodzic)){
str.css('position','static');
}else{
str.css('position','relative');
}
}
}
for(var i in pozycje_paskow){
pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1];
pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2];
}
};
element_g.classList.add('mw-optimal-js');
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var visibility=comp.getPropertyValue("visibility");
if(visibility=="hidden"){return;}
var position=comp.getPropertyValue("position");
if(position!="absolute"){return;}
var optimal_x=$(element_g).hasClass('mw-optimal-x');
var optimal_y=$(element_g).hasClass('mw-optimal-y');
if(optimal_x){
FunOptimalXY("width","left","right");
}
if(optimal_y){
FunOptimalXY("height","top","bottom");
}
});
}
$(Common.OptimalXY);
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY');
Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY');
});
/*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/
Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){
$(obiekt).each(function(i,element_f){
var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i);
if((collapsebutton!==null)&&(collapsebutton.length>0)){
var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i);
if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){return;}
$('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){
var href=element_g.getAttribute('href');
if((href!=null)&&(href!="")){
var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*";
var re_frame = new RegExp(col,'g');
var re_javascript=new RegExp("^[\\s;]*javascript:");
if((re_javascript.test(href))&&(re_frame.test(href))){
var href=element_g.getAttribute('href');
if((href!==null)&&(href!="")){
function DodajSkryptJavaScript(fun){
var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g');
var href_nowe=element_g.getAttribute('href');
if(!re.test(href_nowe)){
element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()");
}
}
DodajSkryptJavaScript('Common.ScrollBarOverflow');
DodajSkryptJavaScript('Common.StickyXY');
DodajSkryptJavaScript('Common.OptimalXY');
}
}
}
});
}
});
}
$(function(){
/*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/
Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable');
/*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/
Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar');
/*Koniec dodatkowych funkcji*/
});
/*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz,z_mouse){
/*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/
var tab_transition={'start':true,'run':true,'cancel':true,'end':true};
var tab_przegladarki={'':true,'webkit':true,'moz':true,'o':true};
for(var a in tab_transition){
for(var b in tab_przegladarki){
var zdarzenie=b+'transition'+a;
Common.ZdarzeniaJavaScript(css,zdarzenie,fun_zdarz);
}
}
if(z_mouse){
Common.ZdarzeniaJavaScript(css,"mouseenter",fun_zdarz);
Common.ZdarzeniaJavaScript(css,"mouseleave",fun_zdarz);
}
};
$(function(){
/*Funkcje zdarzeń*/
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY',true);
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY',true);
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY',false);
});
/*Koniec dodatkowych zdarzeń*/
/*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/
Common.StronaStart=function(){
var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks');
elements.parent().show();
$('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){
$(element).css('visibility',"hidden");
$(element).attr('mw-menu-boks',"false");
});
$('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){
var czy_visible=$(element).css('visibility');
$(element).css('visibility',"visible");
$(element).attr('mw-menu-boks',"true");
var str=$(element).parents('.strona_prawa, .strona_lewa').first();
str.css('position','relative');
str.addClass('strona_start-nawigacja_spis');
str.removeClass('strona_start-nawigacja_boksy');
if(czy_visible=="hidden"){
$(Common.ScrollBarOverflow);
$(Common.StickyXY);
}
});
var str=$('.strona_start').find('.strona .ciało_zawartości > .menu > .menu_boks').children('.spis_treści, .boksy');
if(str.length!=2){return;}
$(str[0]).attr('mw-menu-boks',"true");
$(str[1]).attr('mw-menu-boks',"false");
Common.StronaStartZdarzeniePrzycisku=function(){
var id=this;
$(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){
var menu_boks_zmienna=$(element).attr('mw-menu-boks');
menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false");
if(menu_boks_zmienna=="false"){
$(element).css('display',"block");
$(element).attr('mw-menu-boks','true');
}else if(menu_boks_zmienna=="true"){
$(element).css('display',"none");
$(element).attr('mw-menu-boks','false');
}
});
$(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children('.nawigacja_boksy, .nawigacja_spis').each(function(i,element){
var menu_boks_zmienna=$(element).attr('mw-menu-boks');
menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false");
if(menu_boks_zmienna=="false"){
$(element).css('visibility',"visible");
$(element).attr('mw-menu-boks',"true");
var str=$(element).parents('.strona_prawa, .strona_lewa').first();
if($(element).hasClass('nawigacja_boksy')){
str.css('position','static');
str.addClass('strona_start-nawigacja_boksy');
str.removeClass('strona_start-nawigacja_spis');
$(Common.ScrollBarOverflow);
$(Common.OptimalXY);
}else if($(element).hasClass('nawigacja_spis')){
str.css('position','relative');
str.addClass('strona_start-nawigacja_spis');
str.removeClass('strona_start-nawigacja_boksy');
$(Common.ScrollBarOverflow);
$(Common.StickyXY);
}
}else if(menu_boks_zmienna=="true"){
$(element).css('visibility',"hidden");
$(element).attr('mw-menu-boks',"false");
}
});
}
if(Common.StronaStartZdarzeniePrzycisku)Common.ZdarzeniaJavaScript(elements,'click','StronaStartZdarzeniePrzycisku');
}
$(Common.StronaStart);
})(Common_zmienna_z_MediaWiki_Wikibooks,Common);
f9mw0qoh23vjgynq2b8tosvstyanv5t
437888
437887
2022-08-16T15:22:20Z
Persino
2851
javascript
text/javascript
mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true );
/**/
/* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony.
*/
/*
* Zmienna Common.pageInfo, jego elementy, instrukcja obsługi:
* Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber)
* Common.pageInfo.name pełna nazwa strony
* Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash
* Common.pageInfo.book tytuł książki
* Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get"
* Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL
*/
/*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/
var Common_zmienna_z_MediaWiki_Wikibooks=this['Common'];
/*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/
var Common=new Array();
/*Funkcja, by nie było przecieków pamięci*/
(function(Common_zmienna_z_MediaWiki_Wikibooks,Common){
/*Funkcja zwraca zmienną Common ze strony MediaWiki:Common.js, gdy użytkownik ma właną zmienną Common w swoim common.js, w przeciwnym wypadku zwraca undefined.*/
Common.MediaWikiCommon=function(){return Common_zmienna_z_MediaWiki_Wikibooks;}
/*Funkcja zwraca zmienną Common ze strony User:<Użytkownik>/common.js, jeżeli użytkownik ma własną zmienną Common we własnym common.js, w przeciwnym wypadku zwraca Common, ze strony MediaWiki:Common.js.*/
Common.UserCommon=function(){return Common;}
/*Sprawdza, czy użytkownik ma własną zmienną Common.*/
Common.IsUserCommon=function(){return ((Common_zmienna_z_MediaWiki_Wikibooks)?true:false);};
// Frame Busting
Common.LokowanieTopSelf=function(){
if (top != self) top.location.href = self.location.href;
};
$(Common.LokowanieTopSelf);
/*Funkcja zdarzeń odrejestrowania i rejestrowania*/
Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen,tylko_odrejestruj){
/*
css - adres html obiektu,
zdarzenie - zdarzenie jak click,
funkcja_zdarzen - nazwa funkcji zdarzeń w starej przestrzeni Common lub nowej, jak StickyXY,
tylko_odrejestruj - czy tylko zdarzenie ma odrejestrować w starej przestrzeni Common.
*/
if((css)&&(zdarzenie)&&(funkcja_zdarzen)){
/*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/
if((Common_zmienna_z_MediaWiki_Wikibooks)&&(Common_zmienna_z_MediaWiki_Wikibooks[funkcja_zdarzen])){
$(css).off(zdarzenie,Common_zmienna_z_MediaWiki_Wikibooks[funkcja_zdarzen]);
}
if((!tylko_odrejestruj)&&(Common)&&(Common[funkcja_zdarzen])){
/*Rejestrowanie zdarzeń, ale z tej strony .js*/
$(css).on(zdarzenie, Common[funkcja_zdarzen]);
}
}
}
/*Funkcje w przestrzeni nazw Common*/
Common.Naglowek=function(){
/* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */
var hideAll = document.getElementById('mójNagłówekUkryj');
var noFooter = false;
var footers = 0;
var tags = document.getElementsByTagName('div');
for (var i = 0; i < tags.length; i++) {
var el=tags[i].getAttribute("id");
if (el=='mojaStopka')
footers++;
else if (hideAll && (el=='mójNagłówek')) {
tags[i].innerHTML="";
noFooter=true;
}
}
if (noFooter) return;
var footer = document.getElementById('mojaStopka');
if ((footer !== null) && (footers==1)) {
var bodyContent = document.getElementById('bodyContent');
if (bodyContent !== null) {
var s0=document.getElementById('mojaStopka0');
var s1=document.getElementById('mojaStopka1');
if ((s1 !== null) ||
((s0 === null) && (bodyContent.innerHTML.length>8000))){
var strona=document.getElementById('strona');
if(strona!==null){
strona.appendChild(footer);
}else{
var catlinks=document.getElementById('catlinks');
if(catlinks !== null){
bodyContent.insertBefore(footer,catlinks);
}else{
bodyContent.appendChild(footer);
}
}
}
}
}
/* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */
};
$(Common.Naglowek);
/*Informacje o danej stronie*/
Common.PageInfoInit=function(){
var _g = /_/g;
this.name = mw.config.get('wgPageName').replace(/_/g, ' ');
this.namespace = mw.config.get('wgNamespaceNumber');
var i = this.name.search(/\/[^\/]*$/g);
this.title = this.name.slice(i + 1);
this.book = this.name.replace(/\/.*/g, "");
if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) {
re = /\&diff=/g;
this.diff = re.test(document.URL);
re = /\&action=[^\&]*/g;
this.action = document.URL.match(re);
if ( this.action === null ) {
this.action = 'get';
} else {
this.action = this.action[0].slice(8, this.action[0].length);
}
} else {
this.diff = null;
this.action = 'get';
}
}
Common.pageInfo = new Common.PageInfoInit();
/** Collapsible tables *********************************************************
*
* Description: Allows tables to be collapsed, showing only the header. See
* [[en:Wikipedia:NavFrame]].
* Maintainers: [[User:R. Koot]]
*/
Common.autoCollapse = 2;
Common.collapseCaption = "ukryj";
Common.expandCaption = "pokaż";
Common.collapseTable=function( tableIndex )
{
var Button = document.getElementById( "collapseButton" + tableIndex );
var Table = document.getElementById( "collapsibleTable" + tableIndex );
if ( !Table || !Button ) {
return false;
}
var Rows = Table.rows;
if ( Button.firstChild.data == Common.collapseCaption ) {
for ( var i = 1; i < Rows.length; i++ ) {
Rows[i].style.display = "none";
}
Button.firstChild.data = Common.expandCaption;
} else {
for ( var i = 1; i < Rows.length; i++ ) {
Rows[i].style.display = Rows[0].style.display;
}
Button.firstChild.data = Common.collapseCaption;
}
}
Common.createCollapseButtons=function()
{
var tableIndex = 0;
var NavigationBoxes = new Object();
var Tables = document.getElementsByTagName( "table" );
for ( var i = 0; i < Tables.length; i++ ) {
if ( $(Tables[i]).hasClass( "collapsible" ) ) {
/* only add button and increment count if there is a header row to work with */
var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0];
if (!HeaderRow) continue;
var Header = HeaderRow.getElementsByTagName( "th" )[0];
if (!Header) continue;
NavigationBoxes[ tableIndex ] = Tables[i];
Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex );
var Button = document.createElement( "span" );
var ButtonLink = document.createElement( "a" );
var ButtonText = document.createTextNode( Common.collapseCaption );
Button.style.styleFloat = "right";
Button.style.cssFloat = "right";
Button.style.fontWeight = "normal";
Button.style.textAlign = "right";
Button.style.width = "6em";
ButtonLink.style.color = Header.style.color;
ButtonLink.setAttribute( "id", "collapseButton" + tableIndex );
ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" );
ButtonLink.appendChild( ButtonText );
Button.appendChild( document.createTextNode( "[" ) );
Button.appendChild( ButtonLink );
Button.appendChild( document.createTextNode( "]" ) );
$(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){
$(element).remove();
});
Header.insertBefore( Button, Header.childNodes[0]);
tableIndex++;
}
}
for ( var i = 0; i < tableIndex; i++ ) {
if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) {
Common.collapseTable( i );
}
else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) {
var element = NavigationBoxes[i];
while (element = element.parentNode) {
if ( $(element).hasClass( "outercollapse" ) ) {
Common.collapseTable ( i );
break;
}
}
}
}
}
$(Common.createCollapseButtons );
/** Dynamic Navigation Bars (experimental) *************************************
*
* Description: See [[Wikipedia:NavFrame]].
* Maintainers: UNMAINTAINED
*/
// set up the words in your language
Common.NavigationBarHide = '[' + Common.collapseCaption + ']';
Common.NavigationBarShow = '[' + Common.expandCaption + ']';
// shows and hides content and picture (if available) of navigation bars
// Parameters:
// indexNavigationBar: the index of navigation bar to be toggled
Common.toggleNavigationBar=function(indexNavigationBar)
{
var NavToggle = document.getElementById("NavToggle" + indexNavigationBar);
var NavFrame = document.getElementById("NavFrame" + indexNavigationBar);
if (!NavFrame || !NavToggle) {
return false;
}
// if shown now
if (NavToggle.firstChild.data == Common.NavigationBarHide) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) ) {
NavChild.style.display = 'none';
}
if ( $(NavChild).hasClass( 'NavContent') ) {
NavChild.style.display = 'none';
}
}
NavToggle.firstChild.data = Common.NavigationBarShow;
// if hidden now
} else if (NavToggle.firstChild.data == Common.NavigationBarShow) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ($(NavChild).hasClass( 'NavPic')) {
NavChild.style.display = 'block';
}
if ($(NavChild).hasClass( 'NavContent')) {
NavChild.style.display = 'block';
}
}
NavToggle.firstChild.data = Common.NavigationBarHide;
}
}
// adds show/hide-button to navigation bars
Common.createNavigationBarToggleButton=function()
{
var indexNavigationBar = 0;
// iterate over all < div >-elements
var divs = document.getElementsByTagName("div");
for (var i = 0; NavFrame = divs[i]; i++) {
// if found a navigation bar
if ($(NavFrame).hasClass( "NavFrame")) {
indexNavigationBar++;
var NavToggle = document.createElement("a");
NavToggle.className = 'NavToggle';
NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar);
NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');');
var isCollapsed = $(NavFrame).hasClass( "collapsed" );
/*
* Check if any children are already hidden. This loop is here for backwards compatibility:
* the old way of making NavFrames start out collapsed was to manually add style="display:none"
* to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make
* the content visible without JavaScript support), the new recommended way is to add the class
* "collapsed" to the NavFrame itself, just like with collapsible tables.
*/
for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) {
if ( NavChild.style.display == 'none' ) {
isCollapsed = true;
}
}
}
if (isCollapsed) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) {
NavChild.style.display = 'none';
}
}
}
var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide);
NavToggle.appendChild(NavToggleText);
// Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked)
for(var j=0; j < NavFrame.childNodes.length; j++) {
if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) {
$(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){
$(element).remove();
});
NavFrame.childNodes[j].appendChild(NavToggle);
}
}
NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar);
}
}
}
$(Common.createNavigationBarToggleButton );
// Wyszukiwanie Google na stronach podręczników
Common.googleSearchInitialized = false;
Common.insertGoogleSearch=function() {
if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) {
return;
}
Common.googleSearchInitialized = true;
var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE";
var ul = jQuery('#p-tb ul')[0];
if (!ul) {
return;
}
var link = document.createElement('a');
var book = Common.pageInfo.book;
if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) {
google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22"
}
link.href = google.replace(/PAGE/g, encodeURIComponent(book));
link.appendChild(document.createTextNode("Szukaj w podręczniku"));
var li = document.createElement('li');
li.id = "google-trick-search";
li.appendChild(link);
$(ul).children('li#google-trick-search').each(function(i,element){
$(element).remove();
});
ul.insertBefore(li, ul.firstChild);
}
$(Common.insertGoogleSearch);
/*Funkcja do liczenia szerokościm mapska przewijania w pionowego, wtedy x_box_right=="y", lub poziomego, wtedy inny parametr inny niż dla paska pionowego*/
Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){
var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>');
$('body').append(div);
var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")]();
div.css('overflow-'+(x_box_right||"y"), 'scroll');
var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")]();
$(div).remove();
return (w1 - w2);
}
/*Funkcje do obsługi pasków przewijania*/
Common.ScrollBarOverflow=function(){
$('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){
/*start overflow*/
var comp=window.getComputedStyle(element_g, null);
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var overflow=comp.getPropertyValue("overflow");
var overflow_x=$(element_g).hasClass('mw-overflow-x');
if(overflow_x){
var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
if((overflowX)&&(overflowX=="auto")){
element_g.classList.remove("mw-scrollbar-overflow-x");
const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false
if(hasHorizontalScrollbar){
element_g.classList.add("mw-scrollbar-overflow-x");
}
}
}
var overflow_y=$(element_g).hasClass('mw-overflow-y');
if(overflow_y){
var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflowY)&&(overflowY=="auto")){
element_g.classList.remove("mw-scrollbar-overflow-y");
const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false
if(hasVerticalScrollbar){
element_g.classList.add("mw-scrollbar-overflow-y");
}
}
}
/*koniec overflow*/
});
}
$(Common.ScrollBarOverflow);
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow');
Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow');
});
/*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/
Common.StickyXY=function(){
$('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){
var comp=window.getComputedStyle(element_g, null);
function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){
var pozycje_paskow=new Array();
$(element_g).find('*').each(function(i,element){
var comp=window.getComputedStyle(element, null);
var overflow=comp.getPropertyValue("overflow");
var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){
pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft));
}
});
var height_sticky=0;
$('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){
var rect_sticky=el.getBoundingClientRect();
height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]);
});
var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom);
if(StickyXYTopOld===undefined){
var topold_war=parseFloat(element_g.style[top]);
$(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0));
}
if(StickyXYBottomOld===undefined){
var bottomold_war=parseFloat(element_g.style[bottom]);
$(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0));
}
var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5;
var margintop=parseFloat(comp.getPropertyValue("margin-"+top));
margintop=((!isNaN(margintop))?margintop:0);
var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom));
marginbottom=((!isNaN(marginbottom))?marginbottom:0);
var przodek_height=undefined;
element_g.style[height]="auto";
element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[top]="auto";
element_g.style[bottom]="auto";
if(width_box!=null){
element_g.style[width_box]="auto";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[left_box]="auto";
element_g.style[right_box]="0";
$(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){
element.style[width_box]="auto";
element.classList.remove('mw-scrollbar-overflow-x');
element.classList.remove('mw-scrollbar-overflow-y');
});
}
/**/
var parents_node_fun=$(element_g).parents('.mw-parent-node').first();
if((parents_node_fun==null)||(parents_node_fun.length==0)){return;}
var width_rodzic=null;
var rodzic_element=undefined;
var comp_rodz;
parents_node_fun.each(function(i,element){
comp_rodz=window.getComputedStyle(element,null);
przodek_height=parseFloat(comp_rodz.getPropertyValue([height]));
width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null;
rodzic_element=element;
});
var height_box_real=parseFloat(comp.getPropertyValue(height));
var rect_dziecko=element_g.getBoundingClientRect();
var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))];
var rect_rodzic;
parents_node_fun.each(function(i,element){
rect_rodzic=element.getBoundingClientRect();
});
var top_ab=rect_rodzic[top];
var bottom_ab=(wys-rect_rodzic[bottom]);
var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop);
element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px";
element_g.style[height]="100%";
var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)));
element_g.style[top]=top_obj+"px";
element_g.style[bottom]="auto";
if(width_box!=null){
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
rodzic_element.style.position="static";
rodzic_element.style.overflow="hidden";
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
var rect_dziecko=element_g.getBoundingClientRect();
if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){
if(width_box=="width"){
element_g.classList.remove('mw-scrollbar-overflow-x');
}else{
element_g.classList.remove('mw-scrollbar-overflow-y');
}
if(rect_dziecko[width_box]>width_rodzic){
if(width_box=="width"){
element_g.classList.add('mw-scrollbar-overflow-x');
}else{
element_g.classList.add('mw-scrollbar-overflow-y');
}
}
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box));
margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box));
var dlugosc=(width_rodzic-margin_all);
dlugosc=((dlugosc>=0)?dlugosc:0);
element_g.style.whiteSpace="nowrap";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px";
element_g.style[width_box]=width_box_real+"px";
Common.ScrollBarOverflow();
$(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){
var comp_element=window.getComputedStyle(element, null)
element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat (comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px";
element.classList.remove('mw-scrollbar-overflow-'+x_box);
});
element_g.style.whiteSpace="normal";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[width_box]="auto";
var rect_dziecko=element_g.getBoundingClientRect();
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px";
element_g.style[width_box]=width_box_real+"px";
element_g.style[left_box]="0";
element_g.style[right_box]="auto";
rodzic_element.style.position="relative";
}else{
element_g.style.whiteSpace="nowrap";
var szerokosc_box=rect_dziecko[width_box];
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px";
element_g.style[width_box]=(szerokosc_box)+"px";
Common.ScrollBarOverflow();
$(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){
var comp_element=window.getComputedStyle(element, null);
element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat (comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px";
element.classList.remove('mw-scrollbar-overflow-'+x_box);
});
element_g.style.whiteSpace="normal";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[width_box]="auto";
var rect_dziecko=element_g.getBoundingClientRect();
var szerokosc_box=rect_dziecko[width_box];
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px";
element_g.style[width_box]=(szerokosc_box)+"px";
var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box));
if(parseInt(szerokosc)>parseInt(width_rodzic)){
element_g.style[right_box]="0";
element_g.style[left_box]="auto";
rodzic_element.style.overflow="visible";
}else{
element_g.style[left_box]="0";
element_g.style[right_box]="auto";
rodzic_element.style.position="relative";
}
}
}
element_g.style[height]="auto";
element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px";
Common.ScrollBarOverflow();
for(var i in pozycje_paskow){
pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1];
pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2];
}
}
element_g.classList.add('mw-sticky-js');
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var visibility=comp.getPropertyValue("visibility");
if(visibility=="hidden"){return;}
var position=comp.getPropertyValue("position");
if(position!="absolute"){return;}
var sticky_x=$(element_g).hasClass('mw-sticky-x');
var sticky_y=$(element_g).hasClass('mw-sticky-y');
if((sticky_x)&&(!sticky_y)){
var str=$(element_g).parents('.strona_górna, .strona_dolna').first();
if(str.hasClass('strona_dolna')){
FunStickyXY("width","left","right","height","top","bottom","y","x");
}else if(str.hasClass('strona_górna')){
FunStickyXY("width","left","right","height","bottom","top","y","x");
}
}else if((!sticky_x)&&(sticky_y)){
var str=$(element_g).parents('.strona_prawa, .strona_lewa').first();
if(str.hasClass('strona_prawa')){
FunStickyXY("height","top","bottom","width","left","right","x","y");
}else if(str.hasClass('strona_lewa')){
FunStickyXY("height","top","bottom","width","right","left","x","y");
}
}else if((sticky_x)&&(sticky_y)){
FunStickyXY("width","left","right",null);
FunStickyXY("height","top","bottom",null);
}
});
}
$(Common.StickyXY);
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY');
Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY');
});
/*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/
Common.OptimalXY=function(){
$('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){
var comp=window.getComputedStyle(element_g, null);
function FunOptimalXY(width,left,right){
var pozycje_paskow=new Array();
$(element_g).find('*').each(function(i,element){
var comp=window.getComputedStyle(element, null);
var overflow=comp.getPropertyValue("overflow");
var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){
pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft));
}
});
var width_rodzic=null;
var rodzic_node;
var comp_rodz;
$(element_g).parents('.mw-parent-node').first().each(function(i,element){
comp_rodz=window.getComputedStyle(element,null);
width_rodzic=parseFloat(comp_rodz.getPropertyValue([width]));
rodzic_node=element;
});
if((width_rodzic!=null)&&(!isNaN(width_rodzic))){
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
var width_box_real=parseFloat(comp.getPropertyValue(width));
var rect_dziecko=element_g.getBoundingClientRect();
if(width=="width"){
element_g.classList.remove('mw-scrollbar-overflow-x');
}else{
element_g.classList.remove('mw-scrollbar-overflow-y');
}
if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){
var rect_dziecko=element_g.getBoundingClientRect();
if(rect_dziecko[width]>width_rodzic){
if(width=="width"){
element_g.classList.add('mw-scrollbar-overflow-x');
}else{
element_g.classList.add('mw-scrollbar-overflow-y');
}
}
var width_box_real=parseFloat(comp.getPropertyValue(width));
var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right));
margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right));
var dlugosc=(width_rodzic-margin_all);
dlugosc=((dlugosc>=0)?dlugosc:0);
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px";
}else{
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px";
}
var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first();
if(!str.hasClass('strona_start-nawigacja_boksy')){
var rect_dziecko=element_g.getBoundingClientRect();
var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right));
if(parseInt(szerokosc)>parseInt(width_rodzic)){
str.css('position','static');
}else{
str.css('position','relative');
}
}
}
for(var i in pozycje_paskow){
pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1];
pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2];
}
};
element_g.classList.add('mw-optimal-js');
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var visibility=comp.getPropertyValue("visibility");
if(visibility=="hidden"){return;}
var position=comp.getPropertyValue("position");
if(position!="absolute"){return;}
var optimal_x=$(element_g).hasClass('mw-optimal-x');
var optimal_y=$(element_g).hasClass('mw-optimal-y');
if(optimal_x){
FunOptimalXY("width","left","right");
}
if(optimal_y){
FunOptimalXY("height","top","bottom");
}
});
}
$(Common.OptimalXY);
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY');
Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY');
});
/*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/
Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){
$(obiekt).each(function(i,element_f){
var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i);
if((collapsebutton!==null)&&(collapsebutton.length>0)){
var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i);
if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){return;}
$('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){
var href=element_g.getAttribute('href');
if((href!=null)&&(href!="")){
var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*";
var re_frame = new RegExp(col,'g');
var re_javascript=new RegExp("^[\\s;]*javascript:");
if((re_javascript.test(href))&&(re_frame.test(href))){
var href=element_g.getAttribute('href');
if((href!==null)&&(href!="")){
function DodajSkryptJavaScript(fun){
var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g');
var href_nowe=element_g.getAttribute('href');
console.log(href_nowe,"TYTANq");
if(!re.test(href_nowe)){
element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()");
}
}
DodajSkryptJavaScript('Common.ScrollBarOverflow');
DodajSkryptJavaScript('Common.StickyXY');
DodajSkryptJavaScript('Common.OptimalXY');
}
}
}
});
}
});
}
$(function(){
/*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/
Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable');
/*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/
Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar');
/*Koniec dodatkowych funkcji*/
});
/*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz,z_mouse){
/*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/
var tab_transition={'start':true,'run':true,'cancel':true,'end':true};
var tab_przegladarki={'':true,'webkit':true,'moz':true,'o':true};
for(var a in tab_transition){
for(var b in tab_przegladarki){
var zdarzenie=b+'transition'+a;
Common.ZdarzeniaJavaScript(css,zdarzenie,fun_zdarz);
}
}
if(z_mouse){
Common.ZdarzeniaJavaScript(css,"mouseenter",fun_zdarz);
Common.ZdarzeniaJavaScript(css,"mouseleave",fun_zdarz);
}
};
$(function(){
/*Funkcje zdarzeń*/
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY',true);
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY',true);
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY',false);
});
/*Koniec dodatkowych zdarzeń*/
/*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/
Common.StronaStart=function(){
var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks');
elements.parent().show();
$('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){
$(element).css('visibility',"hidden");
$(element).attr('mw-menu-boks',"false");
});
$('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){
var czy_visible=$(element).css('visibility');
$(element).css('visibility',"visible");
$(element).attr('mw-menu-boks',"true");
var str=$(element).parents('.strona_prawa, .strona_lewa').first();
str.css('position','relative');
str.addClass('strona_start-nawigacja_spis');
str.removeClass('strona_start-nawigacja_boksy');
if(czy_visible=="hidden"){
$(Common.ScrollBarOverflow);
$(Common.StickyXY);
}
});
var str=$('.strona_start').find('.strona .ciało_zawartości > .menu > .menu_boks').children('.spis_treści, .boksy');
if(str.length!=2){return;}
$(str[0]).attr('mw-menu-boks',"true");
$(str[1]).attr('mw-menu-boks',"false");
Common.StronaStartZdarzeniePrzycisku=function(){
var id=this;
$(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){
var menu_boks_zmienna=$(element).attr('mw-menu-boks');
menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false");
if(menu_boks_zmienna=="false"){
$(element).css('display',"block");
$(element).attr('mw-menu-boks','true');
}else if(menu_boks_zmienna=="true"){
$(element).css('display',"none");
$(element).attr('mw-menu-boks','false');
}
});
$(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children('.nawigacja_boksy, .nawigacja_spis').each(function(i,element){
var menu_boks_zmienna=$(element).attr('mw-menu-boks');
menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false");
if(menu_boks_zmienna=="false"){
$(element).css('visibility',"visible");
$(element).attr('mw-menu-boks',"true");
var str=$(element).parents('.strona_prawa, .strona_lewa').first();
if($(element).hasClass('nawigacja_boksy')){
str.css('position','static');
str.addClass('strona_start-nawigacja_boksy');
str.removeClass('strona_start-nawigacja_spis');
$(Common.ScrollBarOverflow);
$(Common.OptimalXY);
}else if($(element).hasClass('nawigacja_spis')){
str.css('position','relative');
str.addClass('strona_start-nawigacja_spis');
str.removeClass('strona_start-nawigacja_boksy');
$(Common.ScrollBarOverflow);
$(Common.StickyXY);
}
}else if(menu_boks_zmienna=="true"){
$(element).css('visibility',"hidden");
$(element).attr('mw-menu-boks',"false");
}
});
}
if(Common.StronaStartZdarzeniePrzycisku)Common.ZdarzeniaJavaScript(elements,'click','StronaStartZdarzeniePrzycisku');
}
$(Common.StronaStart);
})(Common_zmienna_z_MediaWiki_Wikibooks,Common);
cthlp72z2ptb42ngxi15wmdcjr8oab0
437889
437888
2022-08-16T15:27:12Z
Persino
2851
javascript
text/javascript
mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true );
/**/
/* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony.
*/
/*
* Zmienna Common.pageInfo, jego elementy, instrukcja obsługi:
* Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber)
* Common.pageInfo.name pełna nazwa strony
* Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash
* Common.pageInfo.book tytuł książki
* Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get"
* Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL
*/
/*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/
var Common_zmienna_z_MediaWiki_Wikibooks=this['Common'];
/*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/
var Common=new Array();
/*Funkcja, by nie było przecieków pamięci*/
(function(Common_zmienna_z_MediaWiki_Wikibooks,Common){
/*Funkcja zwraca zmienną Common ze strony MediaWiki:Common.js, gdy użytkownik ma właną zmienną Common w swoim common.js, w przeciwnym wypadku zwraca undefined.*/
Common.MediaWikiCommon=function(){return Common_zmienna_z_MediaWiki_Wikibooks;}
/*Funkcja zwraca zmienną Common ze strony User:<Użytkownik>/common.js, jeżeli użytkownik ma własną zmienną Common we własnym common.js, w przeciwnym wypadku zwraca Common, ze strony MediaWiki:Common.js.*/
Common.UserCommon=function(){return Common;}
/*Sprawdza, czy użytkownik ma własną zmienną Common.*/
Common.IsUserCommon=function(){return ((Common_zmienna_z_MediaWiki_Wikibooks)?true:false);};
// Frame Busting
Common.LokowanieTopSelf=function(){
if (top != self) top.location.href = self.location.href;
};
$(Common.LokowanieTopSelf);
/*Funkcja zdarzeń odrejestrowania i rejestrowania*/
Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen,tylko_odrejestruj){
/*
css - adres html obiektu,
zdarzenie - zdarzenie jak click,
funkcja_zdarzen - nazwa funkcji zdarzeń w starej przestrzeni Common lub nowej, jak StickyXY,
tylko_odrejestruj - czy tylko zdarzenie ma odrejestrować w starej przestrzeni Common.
*/
if((css)&&(zdarzenie)&&(funkcja_zdarzen)){
/*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/
if((Common_zmienna_z_MediaWiki_Wikibooks)&&(Common_zmienna_z_MediaWiki_Wikibooks[funkcja_zdarzen])){
$(css).off(zdarzenie,Common_zmienna_z_MediaWiki_Wikibooks[funkcja_zdarzen]);
}
if((!tylko_odrejestruj)&&(Common)&&(Common[funkcja_zdarzen])){
/*Rejestrowanie zdarzeń, ale z tej strony .js*/
$(css).on(zdarzenie, Common[funkcja_zdarzen]);
}
}
}
/*Funkcje w przestrzeni nazw Common*/
Common.Naglowek=function(){
/* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */
var hideAll = document.getElementById('mójNagłówekUkryj');
var noFooter = false;
var footers = 0;
var tags = document.getElementsByTagName('div');
for (var i = 0; i < tags.length; i++) {
var el=tags[i].getAttribute("id");
if (el=='mojaStopka')
footers++;
else if (hideAll && (el=='mójNagłówek')) {
tags[i].innerHTML="";
noFooter=true;
}
}
if (noFooter) return;
var footer = document.getElementById('mojaStopka');
if ((footer !== null) && (footers==1)) {
var bodyContent = document.getElementById('bodyContent');
if (bodyContent !== null) {
var s0=document.getElementById('mojaStopka0');
var s1=document.getElementById('mojaStopka1');
if ((s1 !== null) ||
((s0 === null) && (bodyContent.innerHTML.length>8000))){
var strona=document.getElementById('strona');
if(strona!==null){
strona.appendChild(footer);
}else{
var catlinks=document.getElementById('catlinks');
if(catlinks !== null){
bodyContent.insertBefore(footer,catlinks);
}else{
bodyContent.appendChild(footer);
}
}
}
}
}
/* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */
};
$(Common.Naglowek);
/*Informacje o danej stronie*/
Common.PageInfoInit=function(){
var _g = /_/g;
this.name = mw.config.get('wgPageName').replace(/_/g, ' ');
this.namespace = mw.config.get('wgNamespaceNumber');
var i = this.name.search(/\/[^\/]*$/g);
this.title = this.name.slice(i + 1);
this.book = this.name.replace(/\/.*/g, "");
if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) {
re = /\&diff=/g;
this.diff = re.test(document.URL);
re = /\&action=[^\&]*/g;
this.action = document.URL.match(re);
if ( this.action === null ) {
this.action = 'get';
} else {
this.action = this.action[0].slice(8, this.action[0].length);
}
} else {
this.diff = null;
this.action = 'get';
}
}
Common.pageInfo = new Common.PageInfoInit();
/** Collapsible tables *********************************************************
*
* Description: Allows tables to be collapsed, showing only the header. See
* [[en:Wikipedia:NavFrame]].
* Maintainers: [[User:R. Koot]]
*/
Common.autoCollapse = 2;
Common.collapseCaption = "ukryj";
Common.expandCaption = "pokaż";
Common.collapseTable=function( tableIndex )
{
var Button = document.getElementById( "collapseButton" + tableIndex );
var Table = document.getElementById( "collapsibleTable" + tableIndex );
if ( !Table || !Button ) {
return false;
}
var Rows = Table.rows;
if ( Button.firstChild.data == Common.collapseCaption ) {
for ( var i = 1; i < Rows.length; i++ ) {
Rows[i].style.display = "none";
}
Button.firstChild.data = Common.expandCaption;
} else {
for ( var i = 1; i < Rows.length; i++ ) {
Rows[i].style.display = Rows[0].style.display;
}
Button.firstChild.data = Common.collapseCaption;
}
}
Common.createCollapseButtons=function()
{
var tableIndex = 0;
var NavigationBoxes = new Object();
var Tables = document.getElementsByTagName( "table" );
for ( var i = 0; i < Tables.length; i++ ) {
if ( $(Tables[i]).hasClass( "collapsible" ) ) {
/* only add button and increment count if there is a header row to work with */
var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0];
if (!HeaderRow) continue;
var Header = HeaderRow.getElementsByTagName( "th" )[0];
if (!Header) continue;
NavigationBoxes[ tableIndex ] = Tables[i];
Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex );
var Button = document.createElement( "span" );
var ButtonLink = document.createElement( "a" );
var ButtonText = document.createTextNode( Common.collapseCaption );
Button.style.styleFloat = "right";
Button.style.cssFloat = "right";
Button.style.fontWeight = "normal";
Button.style.textAlign = "right";
Button.style.width = "6em";
ButtonLink.style.color = Header.style.color;
ButtonLink.setAttribute( "id", "collapseButton" + tableIndex );
ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" );
ButtonLink.appendChild( ButtonText );
Button.appendChild( document.createTextNode( "[" ) );
Button.appendChild( ButtonLink );
Button.appendChild( document.createTextNode( "]" ) );
$(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){
$(element).remove();
});
Header.insertBefore( Button, Header.childNodes[0]);
tableIndex++;
}
}
for ( var i = 0; i < tableIndex; i++ ) {
if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) {
Common.collapseTable( i );
}
else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) {
var element = NavigationBoxes[i];
while (element = element.parentNode) {
if ( $(element).hasClass( "outercollapse" ) ) {
Common.collapseTable ( i );
break;
}
}
}
}
}
$(Common.createCollapseButtons );
/** Dynamic Navigation Bars (experimental) *************************************
*
* Description: See [[Wikipedia:NavFrame]].
* Maintainers: UNMAINTAINED
*/
// set up the words in your language
Common.NavigationBarHide = '[' + Common.collapseCaption + ']';
Common.NavigationBarShow = '[' + Common.expandCaption + ']';
// shows and hides content and picture (if available) of navigation bars
// Parameters:
// indexNavigationBar: the index of navigation bar to be toggled
Common.toggleNavigationBar=function(indexNavigationBar)
{
var NavToggle = document.getElementById("NavToggle" + indexNavigationBar);
var NavFrame = document.getElementById("NavFrame" + indexNavigationBar);
if (!NavFrame || !NavToggle) {
return false;
}
// if shown now
if (NavToggle.firstChild.data == Common.NavigationBarHide) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) ) {
NavChild.style.display = 'none';
}
if ( $(NavChild).hasClass( 'NavContent') ) {
NavChild.style.display = 'none';
}
}
NavToggle.firstChild.data = Common.NavigationBarShow;
// if hidden now
} else if (NavToggle.firstChild.data == Common.NavigationBarShow) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ($(NavChild).hasClass( 'NavPic')) {
NavChild.style.display = 'block';
}
if ($(NavChild).hasClass( 'NavContent')) {
NavChild.style.display = 'block';
}
}
NavToggle.firstChild.data = Common.NavigationBarHide;
}
}
// adds show/hide-button to navigation bars
Common.createNavigationBarToggleButton=function()
{
var indexNavigationBar = 0;
// iterate over all < div >-elements
var divs = document.getElementsByTagName("div");
for (var i = 0; NavFrame = divs[i]; i++) {
// if found a navigation bar
if ($(NavFrame).hasClass( "NavFrame")) {
indexNavigationBar++;
var NavToggle = document.createElement("a");
NavToggle.className = 'NavToggle';
NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar);
NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');');
var isCollapsed = $(NavFrame).hasClass( "collapsed" );
/*
* Check if any children are already hidden. This loop is here for backwards compatibility:
* the old way of making NavFrames start out collapsed was to manually add style="display:none"
* to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make
* the content visible without JavaScript support), the new recommended way is to add the class
* "collapsed" to the NavFrame itself, just like with collapsible tables.
*/
for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) {
if ( NavChild.style.display == 'none' ) {
isCollapsed = true;
}
}
}
if (isCollapsed) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) {
NavChild.style.display = 'none';
}
}
}
var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide);
NavToggle.appendChild(NavToggleText);
// Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked)
for(var j=0; j < NavFrame.childNodes.length; j++) {
if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) {
$(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){
$(element).remove();
});
NavFrame.childNodes[j].appendChild(NavToggle);
}
}
NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar);
}
}
}
$(Common.createNavigationBarToggleButton );
// Wyszukiwanie Google na stronach podręczników
Common.googleSearchInitialized = false;
Common.insertGoogleSearch=function() {
if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) {
return;
}
Common.googleSearchInitialized = true;
var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE";
var ul = jQuery('#p-tb ul')[0];
if (!ul) {
return;
}
var link = document.createElement('a');
var book = Common.pageInfo.book;
if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) {
google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22"
}
link.href = google.replace(/PAGE/g, encodeURIComponent(book));
link.appendChild(document.createTextNode("Szukaj w podręczniku"));
var li = document.createElement('li');
li.id = "google-trick-search";
li.appendChild(link);
$(ul).children('li#google-trick-search').each(function(i,element){
$(element).remove();
});
ul.insertBefore(li, ul.firstChild);
}
$(Common.insertGoogleSearch);
/*Funkcja do liczenia szerokościm mapska przewijania w pionowego, wtedy x_box_right=="y", lub poziomego, wtedy inny parametr inny niż dla paska pionowego*/
Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){
var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>');
$('body').append(div);
var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")]();
div.css('overflow-'+(x_box_right||"y"), 'scroll');
var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")]();
$(div).remove();
return (w1 - w2);
}
/*Funkcje do obsługi pasków przewijania*/
Common.ScrollBarOverflow=function(){
$('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){
/*start overflow*/
var comp=window.getComputedStyle(element_g, null);
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var overflow=comp.getPropertyValue("overflow");
var overflow_x=$(element_g).hasClass('mw-overflow-x');
if(overflow_x){
var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
if((overflowX)&&(overflowX=="auto")){
element_g.classList.remove("mw-scrollbar-overflow-x");
const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false
if(hasHorizontalScrollbar){
element_g.classList.add("mw-scrollbar-overflow-x");
}
}
}
var overflow_y=$(element_g).hasClass('mw-overflow-y');
if(overflow_y){
var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflowY)&&(overflowY=="auto")){
element_g.classList.remove("mw-scrollbar-overflow-y");
const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false
if(hasVerticalScrollbar){
element_g.classList.add("mw-scrollbar-overflow-y");
}
}
}
/*koniec overflow*/
});
}
$(Common.ScrollBarOverflow);
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow');
Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow');
});
/*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/
Common.StickyXY=function(){
$('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){
var comp=window.getComputedStyle(element_g, null);
function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){
var pozycje_paskow=new Array();
$(element_g).find('*').each(function(i,element){
var comp=window.getComputedStyle(element, null);
var overflow=comp.getPropertyValue("overflow");
var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){
pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft));
}
});
var height_sticky=0;
$('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){
var rect_sticky=el.getBoundingClientRect();
height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]);
});
var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom);
if(StickyXYTopOld===undefined){
var topold_war=parseFloat(element_g.style[top]);
$(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0));
}
if(StickyXYBottomOld===undefined){
var bottomold_war=parseFloat(element_g.style[bottom]);
$(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0));
}
var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5;
var margintop=parseFloat(comp.getPropertyValue("margin-"+top));
margintop=((!isNaN(margintop))?margintop:0);
var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom));
marginbottom=((!isNaN(marginbottom))?marginbottom:0);
var przodek_height=undefined;
element_g.style[height]="auto";
element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[top]="auto";
element_g.style[bottom]="auto";
if(width_box!=null){
element_g.style[width_box]="auto";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[left_box]="auto";
element_g.style[right_box]="0";
$(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){
element.style[width_box]="auto";
element.classList.remove('mw-scrollbar-overflow-x');
element.classList.remove('mw-scrollbar-overflow-y');
});
}
/**/
var parents_node_fun=$(element_g).parents('.mw-parent-node').first();
if((parents_node_fun==null)||(parents_node_fun.length==0)){return;}
var width_rodzic=null;
var rodzic_element=undefined;
var comp_rodz;
parents_node_fun.each(function(i,element){
comp_rodz=window.getComputedStyle(element,null);
przodek_height=parseFloat(comp_rodz.getPropertyValue([height]));
width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null;
rodzic_element=element;
});
var height_box_real=parseFloat(comp.getPropertyValue(height));
var rect_dziecko=element_g.getBoundingClientRect();
var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))];
var rect_rodzic;
parents_node_fun.each(function(i,element){
rect_rodzic=element.getBoundingClientRect();
});
var top_ab=rect_rodzic[top];
var bottom_ab=(wys-rect_rodzic[bottom]);
var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop);
element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px";
element_g.style[height]="100%";
var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)));
element_g.style[top]=top_obj+"px";
element_g.style[bottom]="auto";
if(width_box!=null){
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
rodzic_element.style.position="static";
rodzic_element.style.overflow="hidden";
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
var rect_dziecko=element_g.getBoundingClientRect();
if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){
if(width_box=="width"){
element_g.classList.remove('mw-scrollbar-overflow-x');
}else{
element_g.classList.remove('mw-scrollbar-overflow-y');
}
if(rect_dziecko[width_box]>width_rodzic){
if(width_box=="width"){
element_g.classList.add('mw-scrollbar-overflow-x');
}else{
element_g.classList.add('mw-scrollbar-overflow-y');
}
}
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box));
margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box));
var dlugosc=(width_rodzic-margin_all);
dlugosc=((dlugosc>=0)?dlugosc:0);
element_g.style.whiteSpace="nowrap";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px";
element_g.style[width_box]=width_box_real+"px";
Common.ScrollBarOverflow();
$(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){
var comp_element=window.getComputedStyle(element, null)
element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat (comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px";
element.classList.remove('mw-scrollbar-overflow-'+x_box);
});
element_g.style.whiteSpace="normal";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[width_box]="auto";
var rect_dziecko=element_g.getBoundingClientRect();
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px";
element_g.style[width_box]=width_box_real+"px";
element_g.style[left_box]="0";
element_g.style[right_box]="auto";
rodzic_element.style.position="relative";
}else{
element_g.style.whiteSpace="nowrap";
var szerokosc_box=rect_dziecko[width_box];
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px";
element_g.style[width_box]=(szerokosc_box)+"px";
Common.ScrollBarOverflow();
$(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){
var comp_element=window.getComputedStyle(element, null);
element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat (comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px";
element.classList.remove('mw-scrollbar-overflow-'+x_box);
});
element_g.style.whiteSpace="normal";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[width_box]="auto";
var rect_dziecko=element_g.getBoundingClientRect();
var szerokosc_box=rect_dziecko[width_box];
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px";
element_g.style[width_box]=(szerokosc_box)+"px";
var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box));
if(parseInt(szerokosc)>parseInt(width_rodzic)){
element_g.style[right_box]="0";
element_g.style[left_box]="auto";
rodzic_element.style.overflow="visible";
}else{
element_g.style[left_box]="0";
element_g.style[right_box]="auto";
rodzic_element.style.position="relative";
}
}
}
element_g.style[height]="auto";
element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px";
Common.ScrollBarOverflow();
for(var i in pozycje_paskow){
pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1];
pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2];
}
}
element_g.classList.add('mw-sticky-js');
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var visibility=comp.getPropertyValue("visibility");
if(visibility=="hidden"){return;}
var position=comp.getPropertyValue("position");
if(position!="absolute"){return;}
var sticky_x=$(element_g).hasClass('mw-sticky-x');
var sticky_y=$(element_g).hasClass('mw-sticky-y');
if((sticky_x)&&(!sticky_y)){
var str=$(element_g).parents('.strona_górna, .strona_dolna').first();
if(str.hasClass('strona_dolna')){
FunStickyXY("width","left","right","height","top","bottom","y","x");
}else if(str.hasClass('strona_górna')){
FunStickyXY("width","left","right","height","bottom","top","y","x");
}
}else if((!sticky_x)&&(sticky_y)){
var str=$(element_g).parents('.strona_prawa, .strona_lewa').first();
if(str.hasClass('strona_prawa')){
FunStickyXY("height","top","bottom","width","left","right","x","y");
}else if(str.hasClass('strona_lewa')){
FunStickyXY("height","top","bottom","width","right","left","x","y");
}
}else if((sticky_x)&&(sticky_y)){
FunStickyXY("width","left","right",null);
FunStickyXY("height","top","bottom",null);
}
});
}
$(Common.StickyXY);
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY');
Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY');
});
/*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/
Common.OptimalXY=function(){
$('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){
var comp=window.getComputedStyle(element_g, null);
function FunOptimalXY(width,left,right){
var pozycje_paskow=new Array();
$(element_g).find('*').each(function(i,element){
var comp=window.getComputedStyle(element, null);
var overflow=comp.getPropertyValue("overflow");
var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){
pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft));
}
});
var width_rodzic=null;
var rodzic_node;
var comp_rodz;
$(element_g).parents('.mw-parent-node').first().each(function(i,element){
comp_rodz=window.getComputedStyle(element,null);
width_rodzic=parseFloat(comp_rodz.getPropertyValue([width]));
rodzic_node=element;
});
if((width_rodzic!=null)&&(!isNaN(width_rodzic))){
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
var width_box_real=parseFloat(comp.getPropertyValue(width));
var rect_dziecko=element_g.getBoundingClientRect();
if(width=="width"){
element_g.classList.remove('mw-scrollbar-overflow-x');
}else{
element_g.classList.remove('mw-scrollbar-overflow-y');
}
if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){
var rect_dziecko=element_g.getBoundingClientRect();
if(rect_dziecko[width]>width_rodzic){
if(width=="width"){
element_g.classList.add('mw-scrollbar-overflow-x');
}else{
element_g.classList.add('mw-scrollbar-overflow-y');
}
}
var width_box_real=parseFloat(comp.getPropertyValue(width));
var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right));
margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right));
var dlugosc=(width_rodzic-margin_all);
dlugosc=((dlugosc>=0)?dlugosc:0);
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px";
}else{
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px";
}
var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first();
if(!str.hasClass('strona_start-nawigacja_boksy')){
var rect_dziecko=element_g.getBoundingClientRect();
var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right));
if(parseInt(szerokosc)>parseInt(width_rodzic)){
str.css('position','static');
}else{
str.css('position','relative');
}
}
}
for(var i in pozycje_paskow){
pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1];
pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2];
}
};
element_g.classList.add('mw-optimal-js');
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var visibility=comp.getPropertyValue("visibility");
if(visibility=="hidden"){return;}
var position=comp.getPropertyValue("position");
if(position!="absolute"){return;}
var optimal_x=$(element_g).hasClass('mw-optimal-x');
var optimal_y=$(element_g).hasClass('mw-optimal-y');
if(optimal_x){
FunOptimalXY("width","left","right");
}
if(optimal_y){
FunOptimalXY("height","top","bottom");
}
});
}
$(Common.OptimalXY);
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY');
Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY');
});
/*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/
Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){
$(obiekt).each(function(i,element_f){
var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i);
if((collapsebutton!==null)&&(collapsebutton.length>0)){
var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i);
if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){return;}
$('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){
var href=element_g.getAttribute('href');
if((href!=null)&&(href!="")){
var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*";
var re_frame = new RegExp(col,'g');
var re_javascript=new RegExp("^[\\s;]*javascript:");
if((re_javascript.test(href))&&(re_frame.test(href))){
var href=element_g.getAttribute('href');
if((href!==null)&&(href!="")){
function DodajSkryptJavaScript(fun){
var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g');
var href_nowe=element_g.getAttribute('href');
if(!re.test(href_nowe)){
element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()");
}
}
DodajSkryptJavaScript('Common.ScrollBarOverflow');
DodajSkryptJavaScript('Common.StickyXY');
DodajSkryptJavaScript('Common.OptimalXY');
}
}
}
});
}
});
}
$(function(){
/*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/
Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable');
/*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/
Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar');
/*Koniec dodatkowych funkcji*/
});
/*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz,z_mouse){
/*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/
var tab_transition={'start':true,'run':true,'cancel':true,'end':true};
var tab_przegladarki={'':true,'webkit':true,'moz':true,'o':true};
for(var a in tab_transition){
for(var b in tab_przegladarki){
var zdarzenie=b+'transition'+a;
Common.ZdarzeniaJavaScript(css,zdarzenie,fun_zdarz);
}
}
if(z_mouse){
Common.ZdarzeniaJavaScript(css,"mouseenter",fun_zdarz);
Common.ZdarzeniaJavaScript(css,"mouseleave",fun_zdarz);
}
};
$(function(){
/*Funkcje zdarzeń*/
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY',true);
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY',true);
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY',false);
});
/*Koniec dodatkowych zdarzeń*/
/*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/
Common.StronaStart=function(){
var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks');
elements.parent().show();
$('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){
$(element).css('visibility',"hidden");
$(element).attr('mw-menu-boks',"false");
});
$('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){
var czy_visible=$(element).css('visibility');
$(element).css('visibility',"visible");
$(element).attr('mw-menu-boks',"true");
var str=$(element).parents('.strona_prawa, .strona_lewa').first();
str.css('position','relative');
str.addClass('strona_start-nawigacja_spis');
str.removeClass('strona_start-nawigacja_boksy');
if(czy_visible=="hidden"){
$(Common.ScrollBarOverflow);
$(Common.StickyXY);
}
});
var str=$('.strona_start').find('.strona .ciało_zawartości > .menu > .menu_boks').children('.spis_treści, .boksy');
if(str.length!=2){return;}
$(str[0]).attr('mw-menu-boks',"true");
$(str[1]).attr('mw-menu-boks',"false");
Common.StronaStartZdarzeniePrzycisku=function(){
var id=this;
$(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){
var menu_boks_zmienna=$(element).attr('mw-menu-boks');
menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false");
if(menu_boks_zmienna=="false"){
$(element).css('display',"block");
$(element).attr('mw-menu-boks','true');
}else if(menu_boks_zmienna=="true"){
$(element).css('display',"none");
$(element).attr('mw-menu-boks','false');
}
});
$(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children('.nawigacja_boksy, .nawigacja_spis').each(function(i,element){
var menu_boks_zmienna=$(element).attr('mw-menu-boks');
menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false");
if(menu_boks_zmienna=="false"){
$(element).css('visibility',"visible");
$(element).attr('mw-menu-boks',"true");
var str=$(element).parents('.strona_prawa, .strona_lewa').first();
if($(element).hasClass('nawigacja_boksy')){
str.css('position','static');
str.addClass('strona_start-nawigacja_boksy');
str.removeClass('strona_start-nawigacja_spis');
$(Common.ScrollBarOverflow);
$(Common.OptimalXY);
}else if($(element).hasClass('nawigacja_spis')){
str.css('position','relative');
str.addClass('strona_start-nawigacja_spis');
str.removeClass('strona_start-nawigacja_boksy');
$(Common.ScrollBarOverflow);
$(Common.StickyXY);
}
}else if(menu_boks_zmienna=="true"){
$(element).css('visibility',"hidden");
$(element).attr('mw-menu-boks',"false");
}
});
}
if(Common.StronaStartZdarzeniePrzycisku)Common.ZdarzeniaJavaScript(elements,'click','StronaStartZdarzeniePrzycisku');
}
$(Common.StronaStart);
})(Common_zmienna_z_MediaWiki_Wikibooks,Common);
f9mw0qoh23vjgynq2b8tosvstyanv5t
437891
437889
2022-08-16T15:41:37Z
Persino
2851
javascript
text/javascript
mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true );
/**/
/* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony.
*/
/*
* Zmienna Common.pageInfo, jego elementy, instrukcja obsługi:
* Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber)
* Common.pageInfo.name pełna nazwa strony
* Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash
* Common.pageInfo.book tytuł książki
* Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get"
* Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL
*/
/*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/
var Common_zmienna_z_MediaWiki_Wikibooks=this['Common'];
/*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/
var Common=new Array();
/*Funkcja, by nie było przecieków pamięci*/
(function(Common_zmienna_z_MediaWiki_Wikibooks,Common){
/*Funkcja zwraca zmienną Common ze strony MediaWiki:Common.js, gdy użytkownik ma właną zmienną Common w swoim common.js, w przeciwnym wypadku zwraca undefined.*/
Common.MediaWikiCommon=function(){return Common_zmienna_z_MediaWiki_Wikibooks;}
/*Funkcja zwraca zmienną Common ze strony User:<Użytkownik>/common.js, jeżeli użytkownik ma własną zmienną Common we własnym common.js, w przeciwnym wypadku zwraca Common, ze strony MediaWiki:Common.js.*/
Common.UserCommon=function(){return Common;}
/*Sprawdza, czy użytkownik ma własną zmienną Common.*/
Common.IsUserCommon=function(){return ((Common_zmienna_z_MediaWiki_Wikibooks)?true:false);};
// Frame Busting
Common.LokowanieTopSelf=function(){
if (top != self) top.location.href = self.location.href;
};
$(Common.LokowanieTopSelf);
/*Funkcja zdarzeń odrejestrowania i rejestrowania*/
Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen,tylko_odrejestruj){
/*
css - adres html obiektu,
zdarzenie - zdarzenie jak click,
funkcja_zdarzen - nazwa funkcji zdarzeń w starej przestrzeni Common lub nowej, jak StickyXY,
tylko_odrejestruj - czy tylko zdarzenie ma odrejestrować w starej przestrzeni Common.
*/
if((css)&&(zdarzenie)&&(funkcja_zdarzen)){
/*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/
if((Common_zmienna_z_MediaWiki_Wikibooks)&&(Common_zmienna_z_MediaWiki_Wikibooks[funkcja_zdarzen])){
$(css).off(zdarzenie,Common_zmienna_z_MediaWiki_Wikibooks[funkcja_zdarzen]);
}
if((!tylko_odrejestruj)&&(Common)&&(Common[funkcja_zdarzen])){
/*Rejestrowanie zdarzeń, ale z tej strony .js*/
$(css).on(zdarzenie, Common[funkcja_zdarzen]);
}
}
}
/*Funkcje w przestrzeni nazw Common*/
Common.Naglowek=function(){
/* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */
var hideAll = document.getElementById('mójNagłówekUkryj');
var noFooter = false;
var footers = 0;
var tags = document.getElementsByTagName('div');
for (var i = 0; i < tags.length; i++) {
var el=tags[i].getAttribute("id");
if (el=='mojaStopka')
footers++;
else if (hideAll && (el=='mójNagłówek')) {
tags[i].innerHTML="";
noFooter=true;
}
}
if (noFooter) return;
var footer = document.getElementById('mojaStopka');
if ((footer !== null) && (footers==1)) {
var bodyContent = document.getElementById('bodyContent');
if (bodyContent !== null) {
var s0=document.getElementById('mojaStopka0');
var s1=document.getElementById('mojaStopka1');
if ((s1 !== null) ||
((s0 === null) && (bodyContent.innerHTML.length>8000))){
var strona=document.getElementById('strona');
if(strona!==null){
strona.appendChild(footer);
}else{
var catlinks=document.getElementById('catlinks');
if(catlinks !== null){
bodyContent.insertBefore(footer,catlinks);
}else{
bodyContent.appendChild(footer);
}
}
}
}
}
/* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */
};
$(Common.Naglowek);
/*Informacje o danej stronie*/
Common.PageInfoInit=function(){
var _g = /_/g;
this.name = mw.config.get('wgPageName').replace(/_/g, ' ');
this.namespace = mw.config.get('wgNamespaceNumber');
var i = this.name.search(/\/[^\/]*$/g);
this.title = this.name.slice(i + 1);
this.book = this.name.replace(/\/.*/g, "");
if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) {
re = /\&diff=/g;
this.diff = re.test(document.URL);
re = /\&action=[^\&]*/g;
this.action = document.URL.match(re);
if ( this.action === null ) {
this.action = 'get';
} else {
this.action = this.action[0].slice(8, this.action[0].length);
}
} else {
this.diff = null;
this.action = 'get';
}
}
Common.pageInfo = new Common.PageInfoInit();
/** Collapsible tables *********************************************************
*
* Description: Allows tables to be collapsed, showing only the header. See
* [[en:Wikipedia:NavFrame]].
* Maintainers: [[User:R. Koot]]
*/
Common.autoCollapse = 2;
Common.collapseCaption = "ukryj";
Common.expandCaption = "pokaż";
Common.collapseTable=function( tableIndex )
{
var Button = document.getElementById( "collapseButton" + tableIndex );
var Table = document.getElementById( "collapsibleTable" + tableIndex );
if ( !Table || !Button ) {
return false;
}
var Rows = Table.rows;
if ( Button.firstChild.data == Common.collapseCaption ) {
for ( var i = 1; i < Rows.length; i++ ) {
Rows[i].style.display = "none";
}
Button.firstChild.data = Common.expandCaption;
} else {
for ( var i = 1; i < Rows.length; i++ ) {
Rows[i].style.display = Rows[0].style.display;
}
Button.firstChild.data = Common.collapseCaption;
}
}
Common.createCollapseButtons=function()
{
var tableIndex = 0;
var NavigationBoxes = new Object();
var Tables = document.getElementsByTagName( "table" );
for ( var i = 0; i < Tables.length; i++ ) {
if ( $(Tables[i]).hasClass( "collapsible" ) ) {
/* only add button and increment count if there is a header row to work with */
var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0];
if (!HeaderRow) continue;
var Header = HeaderRow.getElementsByTagName( "th" )[0];
if (!Header) continue;
NavigationBoxes[ tableIndex ] = Tables[i];
Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex );
var Button = document.createElement( "span" );
var ButtonLink = document.createElement( "a" );
var ButtonText = document.createTextNode( Common.collapseCaption );
Button.style.styleFloat = "right";
Button.style.cssFloat = "right";
Button.style.fontWeight = "normal";
Button.style.textAlign = "right";
Button.style.width = "6em";
ButtonLink.style.color = Header.style.color;
ButtonLink.setAttribute( "id", "collapseButton" + tableIndex );
ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" );
ButtonLink.appendChild( ButtonText );
Button.appendChild( document.createTextNode( "[" ) );
Button.appendChild( ButtonLink );
Button.appendChild( document.createTextNode( "]" ) );
$(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){
$(element).remove();
});
Header.insertBefore( Button, Header.childNodes[0]);
tableIndex++;
}
}
for ( var i = 0; i < tableIndex; i++ ) {
if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) {
Common.collapseTable( i );
}
else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) {
var element = NavigationBoxes[i];
while (element = element.parentNode) {
if ( $(element).hasClass( "outercollapse" ) ) {
Common.collapseTable ( i );
break;
}
}
}
}
}
$(Common.createCollapseButtons );
/** Dynamic Navigation Bars (experimental) *************************************
*
* Description: See [[Wikipedia:NavFrame]].
* Maintainers: UNMAINTAINED
*/
// set up the words in your language
Common.NavigationBarHide = '[' + Common.collapseCaption + ']';
Common.NavigationBarShow = '[' + Common.expandCaption + ']';
// shows and hides content and picture (if available) of navigation bars
// Parameters:
// indexNavigationBar: the index of navigation bar to be toggled
Common.toggleNavigationBar=function(indexNavigationBar)
{
var NavToggle = document.getElementById("NavToggle" + indexNavigationBar);
var NavFrame = document.getElementById("NavFrame" + indexNavigationBar);
if (!NavFrame || !NavToggle) {
return false;
}
// if shown now
if (NavToggle.firstChild.data == Common.NavigationBarHide) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) ) {
NavChild.style.display = 'none';
}
if ( $(NavChild).hasClass( 'NavContent') ) {
NavChild.style.display = 'none';
}
}
NavToggle.firstChild.data = Common.NavigationBarShow;
// if hidden now
} else if (NavToggle.firstChild.data == Common.NavigationBarShow) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ($(NavChild).hasClass( 'NavPic')) {
NavChild.style.display = 'block';
}
if ($(NavChild).hasClass( 'NavContent')) {
NavChild.style.display = 'block';
}
}
NavToggle.firstChild.data = Common.NavigationBarHide;
}
}
// adds show/hide-button to navigation bars
Common.createNavigationBarToggleButton=function()
{
var indexNavigationBar = 0;
// iterate over all < div >-elements
var divs = document.getElementsByTagName("div");
for (var i = 0; NavFrame = divs[i]; i++) {
// if found a navigation bar
if ($(NavFrame).hasClass( "NavFrame")) {
indexNavigationBar++;
var NavToggle = document.createElement("a");
NavToggle.className = 'NavToggle';
NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar);
NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');');
var isCollapsed = $(NavFrame).hasClass( "collapsed" );
/*
* Check if any children are already hidden. This loop is here for backwards compatibility:
* the old way of making NavFrames start out collapsed was to manually add style="display:none"
* to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make
* the content visible without JavaScript support), the new recommended way is to add the class
* "collapsed" to the NavFrame itself, just like with collapsible tables.
*/
for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) {
if ( NavChild.style.display == 'none' ) {
isCollapsed = true;
}
}
}
if (isCollapsed) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) {
NavChild.style.display = 'none';
}
}
}
var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide);
NavToggle.appendChild(NavToggleText);
// Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked)
for(var j=0; j < NavFrame.childNodes.length; j++) {
if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) {
$(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){
$(element).remove();
});
NavFrame.childNodes[j].appendChild(NavToggle);
}
}
NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar);
}
}
}
$(Common.createNavigationBarToggleButton );
// Wyszukiwanie Google na stronach podręczników
Common.googleSearchInitialized = false;
Common.insertGoogleSearch=function() {
if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) {
return;
}
Common.googleSearchInitialized = true;
var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE";
var ul = jQuery('#p-tb ul')[0];
if (!ul) {
return;
}
var link = document.createElement('a');
var book = Common.pageInfo.book;
if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) {
google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22"
}
link.href = google.replace(/PAGE/g, encodeURIComponent(book));
link.appendChild(document.createTextNode("Szukaj w podręczniku"));
var li = document.createElement('li');
li.id = "google-trick-search";
li.appendChild(link);
$(ul).children('li#google-trick-search').each(function(i,element){
$(element).remove();
});
ul.insertBefore(li, ul.firstChild);
}
$(Common.insertGoogleSearch);
/*Funkcja do liczenia szerokościm mapska przewijania w pionowego, wtedy x_box_right=="y", lub poziomego, wtedy inny parametr inny niż dla paska pionowego*/
Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){
var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>');
$('body').append(div);
var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")]();
div.css('overflow-'+(x_box_right||"y"), 'scroll');
var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")]();
$(div).remove();
return (w1 - w2);
}
/*Funkcje do obsługi pasków przewijania*/
Common.ScrollBarOverflow=function(){
$('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){
/*start overflow*/
var comp=window.getComputedStyle(element_g, null);
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var overflow=comp.getPropertyValue("overflow");
var overflow_x=$(element_g).hasClass('mw-overflow-x');
if(overflow_x){
var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
if((overflowX)&&(overflowX=="auto")){
element_g.classList.remove("mw-scrollbar-overflow-x");
const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false
if(hasHorizontalScrollbar){
element_g.classList.add("mw-scrollbar-overflow-x");
}
}
}
var overflow_y=$(element_g).hasClass('mw-overflow-y');
if(overflow_y){
var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflowY)&&(overflowY=="auto")){
element_g.classList.remove("mw-scrollbar-overflow-y");
const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false
if(hasVerticalScrollbar){
element_g.classList.add("mw-scrollbar-overflow-y");
}
}
}
/*koniec overflow*/
});
}
$(Common.ScrollBarOverflow);
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow');
Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow');
});
/*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/
Common.StickyXY=function(){
$('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){
var comp=window.getComputedStyle(element_g, null);
function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){
var pozycje_paskow=new Array();
$(element_g).find('*').each(function(i,element){
var comp=window.getComputedStyle(element, null);
var overflow=comp.getPropertyValue("overflow");
var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){
pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft));
}
});
var height_sticky=0;
$('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){
var rect_sticky=el.getBoundingClientRect();
height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]);
});
var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom);
if(StickyXYTopOld===undefined){
var topold_war=parseFloat(element_g.style[top]);
$(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0));
}
if(StickyXYBottomOld===undefined){
var bottomold_war=parseFloat(element_g.style[bottom]);
$(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0));
}
var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5;
var margintop=parseFloat(comp.getPropertyValue("margin-"+top));
margintop=((!isNaN(margintop))?margintop:0);
var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom));
marginbottom=((!isNaN(marginbottom))?marginbottom:0);
var przodek_height=undefined;
element_g.style[height]="auto";
element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[top]="auto";
element_g.style[bottom]="auto";
if(width_box!=null){
element_g.style[width_box]="auto";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[left_box]="auto";
element_g.style[right_box]="0";
$(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){
element.style[width_box]="auto";
element.classList.remove('mw-scrollbar-overflow-x');
element.classList.remove('mw-scrollbar-overflow-y');
});
}
/**/
var parents_node_fun=$(element_g).parents('.mw-parent-node').first();
if((parents_node_fun==null)||(parents_node_fun.length==0)){return;}
var width_rodzic=null;
var rodzic_element=undefined;
var comp_rodz;
parents_node_fun.each(function(i,element){
comp_rodz=window.getComputedStyle(element,null);
przodek_height=parseFloat(comp_rodz.getPropertyValue([height]));
width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null;
rodzic_element=element;
});
var height_box_real=parseFloat(comp.getPropertyValue(height));
var rect_dziecko=element_g.getBoundingClientRect();
var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))];
var rect_rodzic;
parents_node_fun.each(function(i,element){
rect_rodzic=element.getBoundingClientRect();
});
var top_ab=rect_rodzic[top];
var bottom_ab=(wys-rect_rodzic[bottom]);
var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop);
element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px";
element_g.style[height]="100%";
var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)));
element_g.style[top]=top_obj+"px";
element_g.style[bottom]="auto";
if(width_box!=null){
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
rodzic_element.style.position="static";
rodzic_element.style.overflow="hidden";
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
var rect_dziecko=element_g.getBoundingClientRect();
if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){
if(width_box=="width"){
element_g.classList.remove('mw-scrollbar-overflow-x');
}else{
element_g.classList.remove('mw-scrollbar-overflow-y');
}
if(rect_dziecko[width_box]>width_rodzic){
if(width_box=="width"){
element_g.classList.add('mw-scrollbar-overflow-x');
}else{
element_g.classList.add('mw-scrollbar-overflow-y');
}
}
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box));
margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box));
var dlugosc=(width_rodzic-margin_all);
dlugosc=((dlugosc>=0)?dlugosc:0);
element_g.style.whiteSpace="nowrap";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px";
element_g.style[width_box]=width_box_real+"px";
Common.ScrollBarOverflow();
$(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){
var comp_element=window.getComputedStyle(element, null)
element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat (comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px";
element.classList.remove('mw-scrollbar-overflow-'+x_box);
});
element_g.style.whiteSpace="normal";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[width_box]="auto";
var rect_dziecko=element_g.getBoundingClientRect();
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px";
element_g.style[width_box]=width_box_real+"px";
element_g.style[left_box]="0";
element_g.style[right_box]="auto";
rodzic_element.style.position="relative";
}else{
element_g.style.whiteSpace="nowrap";
var szerokosc_box=rect_dziecko[width_box];
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px";
element_g.style[width_box]=(szerokosc_box)+"px";
Common.ScrollBarOverflow();
$(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){
var comp_element=window.getComputedStyle(element, null);
element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat (comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px";
element.classList.remove('mw-scrollbar-overflow-'+x_box);
});
element_g.style.whiteSpace="normal";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[width_box]="auto";
var rect_dziecko=element_g.getBoundingClientRect();
var szerokosc_box=rect_dziecko[width_box];
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px";
element_g.style[width_box]=(szerokosc_box)+"px";
var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box));
if(parseInt(szerokosc)>parseInt(width_rodzic)){
element_g.style[right_box]="0";
element_g.style[left_box]="auto";
rodzic_element.style.overflow="visible";
}else{
element_g.style[left_box]="0";
element_g.style[right_box]="auto";
rodzic_element.style.position="relative";
}
}
}
element_g.style[height]="auto";
element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px";
Common.ScrollBarOverflow();
for(var i in pozycje_paskow){
pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1];
pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2];
}
}
element_g.classList.add('mw-sticky-js');
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var visibility=comp.getPropertyValue("visibility");
if(visibility=="hidden"){return;}
var position=comp.getPropertyValue("position");
if(position!="absolute"){return;}
var sticky_x=$(element_g).hasClass('mw-sticky-x');
var sticky_y=$(element_g).hasClass('mw-sticky-y');
if((sticky_x)&&(!sticky_y)){
var str=$(element_g).parents('.strona_górna, .strona_dolna').first();
if(str.hasClass('strona_dolna')){
FunStickyXY("width","left","right","height","top","bottom","y","x");
}else if(str.hasClass('strona_górna')){
FunStickyXY("width","left","right","height","bottom","top","y","x");
}
}else if((!sticky_x)&&(sticky_y)){
var str=$(element_g).parents('.strona_prawa, .strona_lewa').first();
if(str.hasClass('strona_prawa')){
FunStickyXY("height","top","bottom","width","left","right","x","y");
}else if(str.hasClass('strona_lewa')){
FunStickyXY("height","top","bottom","width","right","left","x","y");
}
}else if((sticky_x)&&(sticky_y)){
FunStickyXY("width","left","right",null);
FunStickyXY("height","top","bottom",null);
}
});
}
$(Common.StickyXY);
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY');
Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY');
});
/*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/
Common.OptimalXY=function(){
$('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){
var comp=window.getComputedStyle(element_g, null);
function FunOptimalXY(width,left,right){
var pozycje_paskow=new Array();
$(element_g).find('*').each(function(i,element){
var comp=window.getComputedStyle(element, null);
var overflow=comp.getPropertyValue("overflow");
var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){
pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft));
}
});
var width_rodzic=null;
var rodzic_node;
var comp_rodz;
$(element_g).parents('.mw-parent-node').first().each(function(i,element){
comp_rodz=window.getComputedStyle(element,null);
width_rodzic=parseFloat(comp_rodz.getPropertyValue([width]));
rodzic_node=element;
});
if((width_rodzic!=null)&&(!isNaN(width_rodzic))){
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
var width_box_real=parseFloat(comp.getPropertyValue(width));
var rect_dziecko=element_g.getBoundingClientRect();
if(width=="width"){
element_g.classList.remove('mw-scrollbar-overflow-x');
}else{
element_g.classList.remove('mw-scrollbar-overflow-y');
}
if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){
var rect_dziecko=element_g.getBoundingClientRect();
if(rect_dziecko[width]>width_rodzic){
if(width=="width"){
element_g.classList.add('mw-scrollbar-overflow-x');
}else{
element_g.classList.add('mw-scrollbar-overflow-y');
}
}
var width_box_real=parseFloat(comp.getPropertyValue(width));
var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right));
margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right));
var dlugosc=(width_rodzic-margin_all);
dlugosc=((dlugosc>=0)?dlugosc:0);
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px";
}else{
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px";
}
var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first();
if(!str.hasClass('strona_start-nawigacja_boksy')){
var rect_dziecko=element_g.getBoundingClientRect();
var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right));
if(parseInt(szerokosc)>parseInt(width_rodzic)){
str.css('position','static');
}else{
str.css('position','relative');
}
}
}
for(var i in pozycje_paskow){
pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1];
pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2];
}
};
element_g.classList.add('mw-optimal-js');
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var visibility=comp.getPropertyValue("visibility");
if(visibility=="hidden"){return;}
var position=comp.getPropertyValue("position");
if(position!="absolute"){return;}
var optimal_x=$(element_g).hasClass('mw-optimal-x');
var optimal_y=$(element_g).hasClass('mw-optimal-y');
if(optimal_x){
FunOptimalXY("width","left","right");
}
if(optimal_y){
FunOptimalXY("height","top","bottom");
}
});
}
$(Common.OptimalXY);
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY');
Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY');
});
/*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/
Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){
$(obiekt).each(function(i,element_f){
var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i);
if((collapsebutton!==null)&&(collapsebutton.length>0)){
var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i);
if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){return;}
$('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){
var href=element_g.getAttribute('href');
if((href!=null)&&(href!="")){
var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*";
var re_frame = new RegExp(col,'g');
var re_javascript=new RegExp("^[\\s;]*javascript:");
if((re_javascript.test(href))&&(re_frame.test(href))){
var href=element_g.getAttribute('href');
if((href!==null)&&(href!="")){
function DodajSkryptJavaScript(fun){
var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g');
var href_nowe=element_g.getAttribute('href');
console.log(href_nowe,"TYTAN")
if(!re.test(href_nowe)){
element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()");
}
}
DodajSkryptJavaScript('Common.ScrollBarOverflow');
DodajSkryptJavaScript('Common.StickyXY');
DodajSkryptJavaScript('Common.OptimalXY');
}
}
}
});
}
});
}
$(function(){
/*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/
Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable');
/*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/
Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar');
/*Koniec dodatkowych funkcji*/
});
/*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz,z_mouse){
/*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/
var tab_transition={'start':true,'run':true,'cancel':true,'end':true};
var tab_przegladarki={'':true,'webkit':true,'moz':true,'o':true};
for(var a in tab_transition){
for(var b in tab_przegladarki){
var zdarzenie=b+'transition'+a;
Common.ZdarzeniaJavaScript(css,zdarzenie,fun_zdarz);
}
}
if(z_mouse){
Common.ZdarzeniaJavaScript(css,"mouseenter",fun_zdarz);
Common.ZdarzeniaJavaScript(css,"mouseleave",fun_zdarz);
}
};
$(function(){
/*Funkcje zdarzeń*/
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY',true);
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY',true);
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY',false);
});
/*Koniec dodatkowych zdarzeń*/
/*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/
Common.StronaStart=function(){
var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks');
elements.parent().show();
$('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){
$(element).css('visibility',"hidden");
$(element).attr('mw-menu-boks',"false");
});
$('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){
var czy_visible=$(element).css('visibility');
$(element).css('visibility',"visible");
$(element).attr('mw-menu-boks',"true");
var str=$(element).parents('.strona_prawa, .strona_lewa').first();
str.css('position','relative');
str.addClass('strona_start-nawigacja_spis');
str.removeClass('strona_start-nawigacja_boksy');
if(czy_visible=="hidden"){
$(Common.ScrollBarOverflow);
$(Common.StickyXY);
}
});
var str=$('.strona_start').find('.strona .ciało_zawartości > .menu > .menu_boks').children('.spis_treści, .boksy');
if(str.length!=2){return;}
$(str[0]).attr('mw-menu-boks',"true");
$(str[1]).attr('mw-menu-boks',"false");
Common.StronaStartZdarzeniePrzycisku=function(){
var id=this;
$(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){
var menu_boks_zmienna=$(element).attr('mw-menu-boks');
menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false");
if(menu_boks_zmienna=="false"){
$(element).css('display',"block");
$(element).attr('mw-menu-boks','true');
}else if(menu_boks_zmienna=="true"){
$(element).css('display',"none");
$(element).attr('mw-menu-boks','false');
}
});
$(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children('.nawigacja_boksy, .nawigacja_spis').each(function(i,element){
var menu_boks_zmienna=$(element).attr('mw-menu-boks');
menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false");
if(menu_boks_zmienna=="false"){
$(element).css('visibility',"visible");
$(element).attr('mw-menu-boks',"true");
var str=$(element).parents('.strona_prawa, .strona_lewa').first();
if($(element).hasClass('nawigacja_boksy')){
str.css('position','static');
str.addClass('strona_start-nawigacja_boksy');
str.removeClass('strona_start-nawigacja_spis');
$(Common.ScrollBarOverflow);
$(Common.OptimalXY);
}else if($(element).hasClass('nawigacja_spis')){
str.css('position','relative');
str.addClass('strona_start-nawigacja_spis');
str.removeClass('strona_start-nawigacja_boksy');
$(Common.ScrollBarOverflow);
$(Common.StickyXY);
}
}else if(menu_boks_zmienna=="true"){
$(element).css('visibility',"hidden");
$(element).attr('mw-menu-boks',"false");
}
});
}
if(Common.StronaStartZdarzeniePrzycisku)Common.ZdarzeniaJavaScript(elements,'click','StronaStartZdarzeniePrzycisku');
}
$(Common.StronaStart);
})(Common_zmienna_z_MediaWiki_Wikibooks,Common);
349jrclqdtnhxxyp47k3sjgb89bnvq9
437892
437891
2022-08-16T15:42:43Z
Persino
2851
javascript
text/javascript
mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true );
/**/
/* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony.
*/
/*
* Zmienna Common.pageInfo, jego elementy, instrukcja obsługi:
* Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber)
* Common.pageInfo.name pełna nazwa strony
* Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash
* Common.pageInfo.book tytuł książki
* Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get"
* Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL
*/
/*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/
var Common_zmienna_z_MediaWiki_Wikibooks=this['Common'];
/*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/
var Common=new Array();
/*Funkcja, by nie było przecieków pamięci*/
(function(Common_zmienna_z_MediaWiki_Wikibooks,Common){
/*Funkcja zwraca zmienną Common ze strony MediaWiki:Common.js, gdy użytkownik ma właną zmienną Common w swoim common.js, w przeciwnym wypadku zwraca undefined.*/
Common.MediaWikiCommon=function(){return Common_zmienna_z_MediaWiki_Wikibooks;}
/*Funkcja zwraca zmienną Common ze strony User:<Użytkownik>/common.js, jeżeli użytkownik ma własną zmienną Common we własnym common.js, w przeciwnym wypadku zwraca Common, ze strony MediaWiki:Common.js.*/
Common.UserCommon=function(){return Common;}
/*Sprawdza, czy użytkownik ma własną zmienną Common.*/
Common.IsUserCommon=function(){return ((Common_zmienna_z_MediaWiki_Wikibooks)?true:false);};
// Frame Busting
Common.LokowanieTopSelf=function(){
if (top != self) top.location.href = self.location.href;
};
$(Common.LokowanieTopSelf);
/*Funkcja zdarzeń odrejestrowania i rejestrowania*/
Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen,tylko_odrejestruj){
/*
css - adres html obiektu,
zdarzenie - zdarzenie jak click,
funkcja_zdarzen - nazwa funkcji zdarzeń w starej przestrzeni Common lub nowej, jak StickyXY,
tylko_odrejestruj - czy tylko zdarzenie ma odrejestrować w starej przestrzeni Common.
*/
if((css)&&(zdarzenie)&&(funkcja_zdarzen)){
/*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/
if((Common_zmienna_z_MediaWiki_Wikibooks)&&(Common_zmienna_z_MediaWiki_Wikibooks[funkcja_zdarzen])){
$(css).off(zdarzenie,Common_zmienna_z_MediaWiki_Wikibooks[funkcja_zdarzen]);
}
if((!tylko_odrejestruj)&&(Common)&&(Common[funkcja_zdarzen])){
/*Rejestrowanie zdarzeń, ale z tej strony .js*/
$(css).on(zdarzenie, Common[funkcja_zdarzen]);
}
}
}
/*Funkcje w przestrzeni nazw Common*/
Common.Naglowek=function(){
/* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */
var hideAll = document.getElementById('mójNagłówekUkryj');
var noFooter = false;
var footers = 0;
var tags = document.getElementsByTagName('div');
for (var i = 0; i < tags.length; i++) {
var el=tags[i].getAttribute("id");
if (el=='mojaStopka')
footers++;
else if (hideAll && (el=='mójNagłówek')) {
tags[i].innerHTML="";
noFooter=true;
}
}
if (noFooter) return;
var footer = document.getElementById('mojaStopka');
if ((footer !== null) && (footers==1)) {
var bodyContent = document.getElementById('bodyContent');
if (bodyContent !== null) {
var s0=document.getElementById('mojaStopka0');
var s1=document.getElementById('mojaStopka1');
if ((s1 !== null) ||
((s0 === null) && (bodyContent.innerHTML.length>8000))){
var strona=document.getElementById('strona');
if(strona!==null){
strona.appendChild(footer);
}else{
var catlinks=document.getElementById('catlinks');
if(catlinks !== null){
bodyContent.insertBefore(footer,catlinks);
}else{
bodyContent.appendChild(footer);
}
}
}
}
}
/* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */
};
$(Common.Naglowek);
/*Informacje o danej stronie*/
Common.PageInfoInit=function(){
var _g = /_/g;
this.name = mw.config.get('wgPageName').replace(/_/g, ' ');
this.namespace = mw.config.get('wgNamespaceNumber');
var i = this.name.search(/\/[^\/]*$/g);
this.title = this.name.slice(i + 1);
this.book = this.name.replace(/\/.*/g, "");
if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) {
re = /\&diff=/g;
this.diff = re.test(document.URL);
re = /\&action=[^\&]*/g;
this.action = document.URL.match(re);
if ( this.action === null ) {
this.action = 'get';
} else {
this.action = this.action[0].slice(8, this.action[0].length);
}
} else {
this.diff = null;
this.action = 'get';
}
}
Common.pageInfo = new Common.PageInfoInit();
/** Collapsible tables *********************************************************
*
* Description: Allows tables to be collapsed, showing only the header. See
* [[en:Wikipedia:NavFrame]].
* Maintainers: [[User:R. Koot]]
*/
Common.autoCollapse = 2;
Common.collapseCaption = "ukryj";
Common.expandCaption = "pokaż";
Common.collapseTable=function( tableIndex )
{
var Button = document.getElementById( "collapseButton" + tableIndex );
var Table = document.getElementById( "collapsibleTable" + tableIndex );
if ( !Table || !Button ) {
return false;
}
var Rows = Table.rows;
if ( Button.firstChild.data == Common.collapseCaption ) {
for ( var i = 1; i < Rows.length; i++ ) {
Rows[i].style.display = "none";
}
Button.firstChild.data = Common.expandCaption;
} else {
for ( var i = 1; i < Rows.length; i++ ) {
Rows[i].style.display = Rows[0].style.display;
}
Button.firstChild.data = Common.collapseCaption;
}
}
Common.createCollapseButtons=function()
{
var tableIndex = 0;
var NavigationBoxes = new Object();
var Tables = document.getElementsByTagName( "table" );
for ( var i = 0; i < Tables.length; i++ ) {
if ( $(Tables[i]).hasClass( "collapsible" ) ) {
/* only add button and increment count if there is a header row to work with */
var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0];
if (!HeaderRow) continue;
var Header = HeaderRow.getElementsByTagName( "th" )[0];
if (!Header) continue;
NavigationBoxes[ tableIndex ] = Tables[i];
Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex );
var Button = document.createElement( "span" );
var ButtonLink = document.createElement( "a" );
var ButtonText = document.createTextNode( Common.collapseCaption );
Button.style.styleFloat = "right";
Button.style.cssFloat = "right";
Button.style.fontWeight = "normal";
Button.style.textAlign = "right";
Button.style.width = "6em";
ButtonLink.style.color = Header.style.color;
ButtonLink.setAttribute( "id", "collapseButton" + tableIndex );
ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" );
ButtonLink.appendChild( ButtonText );
Button.appendChild( document.createTextNode( "[" ) );
Button.appendChild( ButtonLink );
Button.appendChild( document.createTextNode( "]" ) );
$(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){
$(element).remove();
});
Header.insertBefore( Button, Header.childNodes[0]);
tableIndex++;
}
}
for ( var i = 0; i < tableIndex; i++ ) {
if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) {
Common.collapseTable( i );
}
else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) {
var element = NavigationBoxes[i];
while (element = element.parentNode) {
if ( $(element).hasClass( "outercollapse" ) ) {
Common.collapseTable ( i );
break;
}
}
}
}
}
$(Common.createCollapseButtons );
/** Dynamic Navigation Bars (experimental) *************************************
*
* Description: See [[Wikipedia:NavFrame]].
* Maintainers: UNMAINTAINED
*/
// set up the words in your language
Common.NavigationBarHide = '[' + Common.collapseCaption + ']';
Common.NavigationBarShow = '[' + Common.expandCaption + ']';
// shows and hides content and picture (if available) of navigation bars
// Parameters:
// indexNavigationBar: the index of navigation bar to be toggled
Common.toggleNavigationBar=function(indexNavigationBar)
{
var NavToggle = document.getElementById("NavToggle" + indexNavigationBar);
var NavFrame = document.getElementById("NavFrame" + indexNavigationBar);
if (!NavFrame || !NavToggle) {
return false;
}
// if shown now
if (NavToggle.firstChild.data == Common.NavigationBarHide) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) ) {
NavChild.style.display = 'none';
}
if ( $(NavChild).hasClass( 'NavContent') ) {
NavChild.style.display = 'none';
}
}
NavToggle.firstChild.data = Common.NavigationBarShow;
// if hidden now
} else if (NavToggle.firstChild.data == Common.NavigationBarShow) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ($(NavChild).hasClass( 'NavPic')) {
NavChild.style.display = 'block';
}
if ($(NavChild).hasClass( 'NavContent')) {
NavChild.style.display = 'block';
}
}
NavToggle.firstChild.data = Common.NavigationBarHide;
}
}
// adds show/hide-button to navigation bars
Common.createNavigationBarToggleButton=function()
{
var indexNavigationBar = 0;
// iterate over all < div >-elements
var divs = document.getElementsByTagName("div");
for (var i = 0; NavFrame = divs[i]; i++) {
// if found a navigation bar
if ($(NavFrame).hasClass( "NavFrame")) {
indexNavigationBar++;
var NavToggle = document.createElement("a");
NavToggle.className = 'NavToggle';
NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar);
NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');');
var isCollapsed = $(NavFrame).hasClass( "collapsed" );
/*
* Check if any children are already hidden. This loop is here for backwards compatibility:
* the old way of making NavFrames start out collapsed was to manually add style="display:none"
* to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make
* the content visible without JavaScript support), the new recommended way is to add the class
* "collapsed" to the NavFrame itself, just like with collapsible tables.
*/
for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) {
if ( NavChild.style.display == 'none' ) {
isCollapsed = true;
}
}
}
if (isCollapsed) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) {
NavChild.style.display = 'none';
}
}
}
var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide);
NavToggle.appendChild(NavToggleText);
// Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked)
for(var j=0; j < NavFrame.childNodes.length; j++) {
if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) {
$(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){
$(element).remove();
});
NavFrame.childNodes[j].appendChild(NavToggle);
}
}
NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar);
}
}
}
$(Common.createNavigationBarToggleButton );
// Wyszukiwanie Google na stronach podręczników
Common.googleSearchInitialized = false;
Common.insertGoogleSearch=function() {
if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) {
return;
}
Common.googleSearchInitialized = true;
var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE";
var ul = jQuery('#p-tb ul')[0];
if (!ul) {
return;
}
var link = document.createElement('a');
var book = Common.pageInfo.book;
if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) {
google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22"
}
link.href = google.replace(/PAGE/g, encodeURIComponent(book));
link.appendChild(document.createTextNode("Szukaj w podręczniku"));
var li = document.createElement('li');
li.id = "google-trick-search";
li.appendChild(link);
$(ul).children('li#google-trick-search').each(function(i,element){
$(element).remove();
});
ul.insertBefore(li, ul.firstChild);
}
$(Common.insertGoogleSearch);
/*Funkcja do liczenia szerokościm mapska przewijania w pionowego, wtedy x_box_right=="y", lub poziomego, wtedy inny parametr inny niż dla paska pionowego*/
Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){
var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>');
$('body').append(div);
var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")]();
div.css('overflow-'+(x_box_right||"y"), 'scroll');
var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")]();
$(div).remove();
return (w1 - w2);
}
/*Funkcje do obsługi pasków przewijania*/
Common.ScrollBarOverflow=function(){
$('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){
/*start overflow*/
var comp=window.getComputedStyle(element_g, null);
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var overflow=comp.getPropertyValue("overflow");
var overflow_x=$(element_g).hasClass('mw-overflow-x');
if(overflow_x){
var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
if((overflowX)&&(overflowX=="auto")){
element_g.classList.remove("mw-scrollbar-overflow-x");
const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false
if(hasHorizontalScrollbar){
element_g.classList.add("mw-scrollbar-overflow-x");
}
}
}
var overflow_y=$(element_g).hasClass('mw-overflow-y');
if(overflow_y){
var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflowY)&&(overflowY=="auto")){
element_g.classList.remove("mw-scrollbar-overflow-y");
const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false
if(hasVerticalScrollbar){
element_g.classList.add("mw-scrollbar-overflow-y");
}
}
}
/*koniec overflow*/
});
}
$(Common.ScrollBarOverflow);
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow');
Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow');
});
/*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/
Common.StickyXY=function(){
$('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){
var comp=window.getComputedStyle(element_g, null);
function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){
var pozycje_paskow=new Array();
$(element_g).find('*').each(function(i,element){
var comp=window.getComputedStyle(element, null);
var overflow=comp.getPropertyValue("overflow");
var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){
pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft));
}
});
var height_sticky=0;
$('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){
var rect_sticky=el.getBoundingClientRect();
height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]);
});
var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom);
if(StickyXYTopOld===undefined){
var topold_war=parseFloat(element_g.style[top]);
$(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0));
}
if(StickyXYBottomOld===undefined){
var bottomold_war=parseFloat(element_g.style[bottom]);
$(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0));
}
var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5;
var margintop=parseFloat(comp.getPropertyValue("margin-"+top));
margintop=((!isNaN(margintop))?margintop:0);
var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom));
marginbottom=((!isNaN(marginbottom))?marginbottom:0);
var przodek_height=undefined;
element_g.style[height]="auto";
element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[top]="auto";
element_g.style[bottom]="auto";
if(width_box!=null){
element_g.style[width_box]="auto";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[left_box]="auto";
element_g.style[right_box]="0";
$(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){
element.style[width_box]="auto";
element.classList.remove('mw-scrollbar-overflow-x');
element.classList.remove('mw-scrollbar-overflow-y');
});
}
/**/
var parents_node_fun=$(element_g).parents('.mw-parent-node').first();
if((parents_node_fun==null)||(parents_node_fun.length==0)){return;}
var width_rodzic=null;
var rodzic_element=undefined;
var comp_rodz;
parents_node_fun.each(function(i,element){
comp_rodz=window.getComputedStyle(element,null);
przodek_height=parseFloat(comp_rodz.getPropertyValue([height]));
width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null;
rodzic_element=element;
});
var height_box_real=parseFloat(comp.getPropertyValue(height));
var rect_dziecko=element_g.getBoundingClientRect();
var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))];
var rect_rodzic;
parents_node_fun.each(function(i,element){
rect_rodzic=element.getBoundingClientRect();
});
var top_ab=rect_rodzic[top];
var bottom_ab=(wys-rect_rodzic[bottom]);
var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop);
element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px";
element_g.style[height]="100%";
var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)));
element_g.style[top]=top_obj+"px";
element_g.style[bottom]="auto";
if(width_box!=null){
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
rodzic_element.style.position="static";
rodzic_element.style.overflow="hidden";
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
var rect_dziecko=element_g.getBoundingClientRect();
if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){
if(width_box=="width"){
element_g.classList.remove('mw-scrollbar-overflow-x');
}else{
element_g.classList.remove('mw-scrollbar-overflow-y');
}
if(rect_dziecko[width_box]>width_rodzic){
if(width_box=="width"){
element_g.classList.add('mw-scrollbar-overflow-x');
}else{
element_g.classList.add('mw-scrollbar-overflow-y');
}
}
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box));
margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box));
var dlugosc=(width_rodzic-margin_all);
dlugosc=((dlugosc>=0)?dlugosc:0);
element_g.style.whiteSpace="nowrap";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px";
element_g.style[width_box]=width_box_real+"px";
Common.ScrollBarOverflow();
$(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){
var comp_element=window.getComputedStyle(element, null)
element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat (comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px";
element.classList.remove('mw-scrollbar-overflow-'+x_box);
});
element_g.style.whiteSpace="normal";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[width_box]="auto";
var rect_dziecko=element_g.getBoundingClientRect();
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px";
element_g.style[width_box]=width_box_real+"px";
element_g.style[left_box]="0";
element_g.style[right_box]="auto";
rodzic_element.style.position="relative";
}else{
element_g.style.whiteSpace="nowrap";
var szerokosc_box=rect_dziecko[width_box];
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px";
element_g.style[width_box]=(szerokosc_box)+"px";
Common.ScrollBarOverflow();
$(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){
var comp_element=window.getComputedStyle(element, null);
element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat (comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px";
element.classList.remove('mw-scrollbar-overflow-'+x_box);
});
element_g.style.whiteSpace="normal";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[width_box]="auto";
var rect_dziecko=element_g.getBoundingClientRect();
var szerokosc_box=rect_dziecko[width_box];
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px";
element_g.style[width_box]=(szerokosc_box)+"px";
var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box));
if(parseInt(szerokosc)>parseInt(width_rodzic)){
element_g.style[right_box]="0";
element_g.style[left_box]="auto";
rodzic_element.style.overflow="visible";
}else{
element_g.style[left_box]="0";
element_g.style[right_box]="auto";
rodzic_element.style.position="relative";
}
}
}
element_g.style[height]="auto";
element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px";
Common.ScrollBarOverflow();
for(var i in pozycje_paskow){
pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1];
pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2];
}
}
element_g.classList.add('mw-sticky-js');
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var visibility=comp.getPropertyValue("visibility");
if(visibility=="hidden"){return;}
var position=comp.getPropertyValue("position");
if(position!="absolute"){return;}
var sticky_x=$(element_g).hasClass('mw-sticky-x');
var sticky_y=$(element_g).hasClass('mw-sticky-y');
if((sticky_x)&&(!sticky_y)){
var str=$(element_g).parents('.strona_górna, .strona_dolna').first();
if(str.hasClass('strona_dolna')){
FunStickyXY("width","left","right","height","top","bottom","y","x");
}else if(str.hasClass('strona_górna')){
FunStickyXY("width","left","right","height","bottom","top","y","x");
}
}else if((!sticky_x)&&(sticky_y)){
var str=$(element_g).parents('.strona_prawa, .strona_lewa').first();
if(str.hasClass('strona_prawa')){
FunStickyXY("height","top","bottom","width","left","right","x","y");
}else if(str.hasClass('strona_lewa')){
FunStickyXY("height","top","bottom","width","right","left","x","y");
}
}else if((sticky_x)&&(sticky_y)){
FunStickyXY("width","left","right",null);
FunStickyXY("height","top","bottom",null);
}
});
}
$(Common.StickyXY);
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY');
Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY');
});
/*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/
Common.OptimalXY=function(){
$('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){
var comp=window.getComputedStyle(element_g, null);
function FunOptimalXY(width,left,right){
var pozycje_paskow=new Array();
$(element_g).find('*').each(function(i,element){
var comp=window.getComputedStyle(element, null);
var overflow=comp.getPropertyValue("overflow");
var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){
pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft));
}
});
var width_rodzic=null;
var rodzic_node;
var comp_rodz;
$(element_g).parents('.mw-parent-node').first().each(function(i,element){
comp_rodz=window.getComputedStyle(element,null);
width_rodzic=parseFloat(comp_rodz.getPropertyValue([width]));
rodzic_node=element;
});
if((width_rodzic!=null)&&(!isNaN(width_rodzic))){
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
var width_box_real=parseFloat(comp.getPropertyValue(width));
var rect_dziecko=element_g.getBoundingClientRect();
if(width=="width"){
element_g.classList.remove('mw-scrollbar-overflow-x');
}else{
element_g.classList.remove('mw-scrollbar-overflow-y');
}
if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){
var rect_dziecko=element_g.getBoundingClientRect();
if(rect_dziecko[width]>width_rodzic){
if(width=="width"){
element_g.classList.add('mw-scrollbar-overflow-x');
}else{
element_g.classList.add('mw-scrollbar-overflow-y');
}
}
var width_box_real=parseFloat(comp.getPropertyValue(width));
var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right));
margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right));
var dlugosc=(width_rodzic-margin_all);
dlugosc=((dlugosc>=0)?dlugosc:0);
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px";
}else{
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px";
}
var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first();
if(!str.hasClass('strona_start-nawigacja_boksy')){
var rect_dziecko=element_g.getBoundingClientRect();
var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right));
if(parseInt(szerokosc)>parseInt(width_rodzic)){
str.css('position','static');
}else{
str.css('position','relative');
}
}
}
for(var i in pozycje_paskow){
pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1];
pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2];
}
};
element_g.classList.add('mw-optimal-js');
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var visibility=comp.getPropertyValue("visibility");
if(visibility=="hidden"){return;}
var position=comp.getPropertyValue("position");
if(position!="absolute"){return;}
var optimal_x=$(element_g).hasClass('mw-optimal-x');
var optimal_y=$(element_g).hasClass('mw-optimal-y');
if(optimal_x){
FunOptimalXY("width","left","right");
}
if(optimal_y){
FunOptimalXY("height","top","bottom");
}
});
}
$(Common.OptimalXY);
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY');
Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY');
});
/*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/
Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){
$(obiekt).each(function(i,element_f){
var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i);
if((collapsebutton!==null)&&(collapsebutton.length>0)){
var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i);
if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){return;}
$('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){
var href=element_g.getAttribute('href');
if((href!=null)&&(href!="")){
var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*";
var re_frame = new RegExp(col,'g');
var re_javascript=new RegExp("^[\\s;]*javascript:");
if((re_javascript.test(href))&&(re_frame.test(href))){
var href=element_g.getAttribute('href');
if((href!==null)&&(href!="")){
function DodajSkryptJavaScript(fun){
var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g');
var href_nowe=element_g.getAttribute('href');
if(!re.test(href_nowe)){
element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()");
}
}
DodajSkryptJavaScript('Common.ScrollBarOverflow');
DodajSkryptJavaScript('Common.StickyXY');
DodajSkryptJavaScript('Common.OptimalXY');
}
}
}
});
}
});
}
$(function(){
/*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/
Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable');
/*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/
Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar');
/*Koniec dodatkowych funkcji*/
});
/*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz,z_mouse){
/*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/
var tab_transition={'start':true,'run':true,'cancel':true,'end':true};
var tab_przegladarki={'':true,'webkit':true,'moz':true,'o':true};
for(var a in tab_transition){
for(var b in tab_przegladarki){
var zdarzenie=b+'transition'+a;
Common.ZdarzeniaJavaScript(css,zdarzenie,fun_zdarz);
}
}
if(z_mouse){
Common.ZdarzeniaJavaScript(css,"mouseenter",fun_zdarz);
Common.ZdarzeniaJavaScript(css,"mouseleave",fun_zdarz);
}
};
$(function(){
/*Funkcje zdarzeń*/
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY',true);
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY',true);
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY',false);
});
/*Koniec dodatkowych zdarzeń*/
/*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/
Common.StronaStart=function(){
var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks');
elements.parent().show();
$('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){
$(element).css('visibility',"hidden");
$(element).attr('mw-menu-boks',"false");
});
$('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){
var czy_visible=$(element).css('visibility');
$(element).css('visibility',"visible");
$(element).attr('mw-menu-boks',"true");
var str=$(element).parents('.strona_prawa, .strona_lewa').first();
str.css('position','relative');
str.addClass('strona_start-nawigacja_spis');
str.removeClass('strona_start-nawigacja_boksy');
if(czy_visible=="hidden"){
$(Common.ScrollBarOverflow);
$(Common.StickyXY);
}
});
var str=$('.strona_start').find('.strona .ciało_zawartości > .menu > .menu_boks').children('.spis_treści, .boksy');
if(str.length!=2){return;}
$(str[0]).attr('mw-menu-boks',"true");
$(str[1]).attr('mw-menu-boks',"false");
Common.StronaStartZdarzeniePrzycisku=function(){
var id=this;
$(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){
var menu_boks_zmienna=$(element).attr('mw-menu-boks');
menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false");
if(menu_boks_zmienna=="false"){
$(element).css('display',"block");
$(element).attr('mw-menu-boks','true');
}else if(menu_boks_zmienna=="true"){
$(element).css('display',"none");
$(element).attr('mw-menu-boks','false');
}
});
$(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children('.nawigacja_boksy, .nawigacja_spis').each(function(i,element){
var menu_boks_zmienna=$(element).attr('mw-menu-boks');
menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false");
if(menu_boks_zmienna=="false"){
$(element).css('visibility',"visible");
$(element).attr('mw-menu-boks',"true");
var str=$(element).parents('.strona_prawa, .strona_lewa').first();
if($(element).hasClass('nawigacja_boksy')){
str.css('position','static');
str.addClass('strona_start-nawigacja_boksy');
str.removeClass('strona_start-nawigacja_spis');
$(Common.ScrollBarOverflow);
$(Common.OptimalXY);
}else if($(element).hasClass('nawigacja_spis')){
str.css('position','relative');
str.addClass('strona_start-nawigacja_spis');
str.removeClass('strona_start-nawigacja_boksy');
$(Common.ScrollBarOverflow);
$(Common.StickyXY);
}
}else if(menu_boks_zmienna=="true"){
$(element).css('visibility',"hidden");
$(element).attr('mw-menu-boks',"false");
}
});
}
if(Common.StronaStartZdarzeniePrzycisku)Common.ZdarzeniaJavaScript(elements,'click','StronaStartZdarzeniePrzycisku');
}
$(Common.StronaStart);
})(Common_zmienna_z_MediaWiki_Wikibooks,Common);
o9vcl3a4ycpi43wlump7t491nstcttp
437893
437892
2022-08-16T15:45:05Z
Persino
2851
javascript
text/javascript
mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true );
/**/
/* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony.
*/
/*
* Zmienna Common.pageInfo, jego elementy, instrukcja obsługi:
* Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber)
* Common.pageInfo.name pełna nazwa strony
* Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash
* Common.pageInfo.book tytuł książki
* Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get"
* Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL
*/
/*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/
var Common_zmienna_z_MediaWiki_Wikibooks=this['Common'];
/*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/
var Common=new Array();
/*Funkcja, by nie było przecieków pamięci*/
(function(Common_zmienna_z_MediaWiki_Wikibooks,Common){
/*Funkcja zwraca zmienną Common ze strony MediaWiki:Common.js, gdy użytkownik ma właną zmienną Common w swoim common.js, w przeciwnym wypadku zwraca undefined.*/
Common.MediaWikiCommon=function(){return Common_zmienna_z_MediaWiki_Wikibooks;}
/*Funkcja zwraca zmienną Common ze strony User:<Użytkownik>/common.js, jeżeli użytkownik ma własną zmienną Common we własnym common.js, w przeciwnym wypadku zwraca Common, ze strony MediaWiki:Common.js.*/
Common.UserCommon=function(){return Common;}
/*Sprawdza, czy użytkownik ma własną zmienną Common.*/
Common.IsUserCommon=function(){return ((Common_zmienna_z_MediaWiki_Wikibooks)?true:false);};
// Frame Busting
Common.LokowanieTopSelf=function(){
if (top != self) top.location.href = self.location.href;
};
$(Common.LokowanieTopSelf);
/*Funkcja zdarzeń odrejestrowania i rejestrowania*/
Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen,tylko_odrejestruj){
/*
css - adres html obiektu,
zdarzenie - zdarzenie jak click,
funkcja_zdarzen - nazwa funkcji zdarzeń w starej przestrzeni Common lub nowej, jak StickyXY,
tylko_odrejestruj - czy tylko zdarzenie ma odrejestrować w starej przestrzeni Common.
*/
if((css)&&(zdarzenie)&&(funkcja_zdarzen)){
/*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/
if((Common_zmienna_z_MediaWiki_Wikibooks)&&(Common_zmienna_z_MediaWiki_Wikibooks[funkcja_zdarzen])){
$(css).off(zdarzenie,Common_zmienna_z_MediaWiki_Wikibooks[funkcja_zdarzen]);
}
if((!tylko_odrejestruj)&&(Common)&&(Common[funkcja_zdarzen])){
/*Rejestrowanie zdarzeń, ale z tej strony .js*/
$(css).on(zdarzenie, Common[funkcja_zdarzen]);
}
}
}
/*Funkcje w przestrzeni nazw Common*/
Common.Naglowek=function(){
/* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */
var hideAll = document.getElementById('mójNagłówekUkryj');
var noFooter = false;
var footers = 0;
var tags = document.getElementsByTagName('div');
for (var i = 0; i < tags.length; i++) {
var el=tags[i].getAttribute("id");
if (el=='mojaStopka')
footers++;
else if (hideAll && (el=='mójNagłówek')) {
tags[i].innerHTML="";
noFooter=true;
}
}
if (noFooter) return;
var footer = document.getElementById('mojaStopka');
if ((footer !== null) && (footers==1)) {
var bodyContent = document.getElementById('bodyContent');
if (bodyContent !== null) {
var s0=document.getElementById('mojaStopka0');
var s1=document.getElementById('mojaStopka1');
if ((s1 !== null) ||
((s0 === null) && (bodyContent.innerHTML.length>8000))){
var strona=document.getElementById('strona');
if(strona!==null){
strona.appendChild(footer);
}else{
var catlinks=document.getElementById('catlinks');
if(catlinks !== null){
bodyContent.insertBefore(footer,catlinks);
}else{
bodyContent.appendChild(footer);
}
}
}
}
}
/* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */
};
$(Common.Naglowek);
/*Informacje o danej stronie*/
Common.PageInfoInit=function(){
var _g = /_/g;
this.name = mw.config.get('wgPageName').replace(/_/g, ' ');
this.namespace = mw.config.get('wgNamespaceNumber');
var i = this.name.search(/\/[^\/]*$/g);
this.title = this.name.slice(i + 1);
this.book = this.name.replace(/\/.*/g, "");
if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) {
re = /\&diff=/g;
this.diff = re.test(document.URL);
re = /\&action=[^\&]*/g;
this.action = document.URL.match(re);
if ( this.action === null ) {
this.action = 'get';
} else {
this.action = this.action[0].slice(8, this.action[0].length);
}
} else {
this.diff = null;
this.action = 'get';
}
}
Common.pageInfo = new Common.PageInfoInit();
/** Collapsible tables *********************************************************
*
* Description: Allows tables to be collapsed, showing only the header. See
* [[en:Wikipedia:NavFrame]].
* Maintainers: [[User:R. Koot]]
*/
Common.autoCollapse = 2;
Common.collapseCaption = "ukryj";
Common.expandCaption = "pokaż";
Common.collapseTable=function( tableIndex )
{
var Button = document.getElementById( "collapseButton" + tableIndex );
var Table = document.getElementById( "collapsibleTable" + tableIndex );
if ( !Table || !Button ) {
return false;
}
var Rows = Table.rows;
if ( Button.firstChild.data == Common.collapseCaption ) {
for ( var i = 1; i < Rows.length; i++ ) {
Rows[i].style.display = "none";
}
Button.firstChild.data = Common.expandCaption;
} else {
for ( var i = 1; i < Rows.length; i++ ) {
Rows[i].style.display = Rows[0].style.display;
}
Button.firstChild.data = Common.collapseCaption;
}
}
Common.createCollapseButtons=function()
{
var tableIndex = 0;
var NavigationBoxes = new Object();
var Tables = document.getElementsByTagName( "table" );
for ( var i = 0; i < Tables.length; i++ ) {
if ( $(Tables[i]).hasClass( "collapsible" ) ) {
/* only add button and increment count if there is a header row to work with */
var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0];
if (!HeaderRow) continue;
var Header = HeaderRow.getElementsByTagName( "th" )[0];
if (!Header) continue;
NavigationBoxes[ tableIndex ] = Tables[i];
Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex );
var Button = document.createElement( "span" );
var ButtonLink = document.createElement( "a" );
var ButtonText = document.createTextNode( Common.collapseCaption );
Button.style.styleFloat = "right";
Button.style.cssFloat = "right";
Button.style.fontWeight = "normal";
Button.style.textAlign = "right";
Button.style.width = "6em";
ButtonLink.style.color = Header.style.color;
ButtonLink.setAttribute( "id", "collapseButton" + tableIndex );
ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" );
ButtonLink.appendChild( ButtonText );
Button.appendChild( document.createTextNode( "[" ) );
Button.appendChild( ButtonLink );
Button.appendChild( document.createTextNode( "]" ) );
$(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){
$(element).remove();
});
Header.insertBefore( Button, Header.childNodes[0]);
tableIndex++;
}
}
for ( var i = 0; i < tableIndex; i++ ) {
if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) {
Common.collapseTable( i );
}
else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) {
var element = NavigationBoxes[i];
while (element = element.parentNode) {
if ( $(element).hasClass( "outercollapse" ) ) {
Common.collapseTable ( i );
break;
}
}
}
}
}
$(Common.createCollapseButtons );
/** Dynamic Navigation Bars (experimental) *************************************
*
* Description: See [[Wikipedia:NavFrame]].
* Maintainers: UNMAINTAINED
*/
// set up the words in your language
Common.NavigationBarHide = '[' + Common.collapseCaption + ']';
Common.NavigationBarShow = '[' + Common.expandCaption + ']';
// shows and hides content and picture (if available) of navigation bars
// Parameters:
// indexNavigationBar: the index of navigation bar to be toggled
Common.toggleNavigationBar=function(indexNavigationBar)
{
var NavToggle = document.getElementById("NavToggle" + indexNavigationBar);
var NavFrame = document.getElementById("NavFrame" + indexNavigationBar);
if (!NavFrame || !NavToggle) {
return false;
}
// if shown now
if (NavToggle.firstChild.data == Common.NavigationBarHide) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) ) {
NavChild.style.display = 'none';
}
if ( $(NavChild).hasClass( 'NavContent') ) {
NavChild.style.display = 'none';
}
}
NavToggle.firstChild.data = Common.NavigationBarShow;
// if hidden now
} else if (NavToggle.firstChild.data == Common.NavigationBarShow) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ($(NavChild).hasClass( 'NavPic')) {
NavChild.style.display = 'block';
}
if ($(NavChild).hasClass( 'NavContent')) {
NavChild.style.display = 'block';
}
}
NavToggle.firstChild.data = Common.NavigationBarHide;
}
}
// adds show/hide-button to navigation bars
Common.createNavigationBarToggleButton=function()
{
var indexNavigationBar = 0;
// iterate over all < div >-elements
var divs = document.getElementsByTagName("div");
for (var i = 0; NavFrame = divs[i]; i++) {
// if found a navigation bar
if ($(NavFrame).hasClass( "NavFrame")) {
indexNavigationBar++;
var NavToggle = document.createElement("a");
NavToggle.className = 'NavToggle';
NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar);
NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');');
var isCollapsed = $(NavFrame).hasClass( "collapsed" );
/*
* Check if any children are already hidden. This loop is here for backwards compatibility:
* the old way of making NavFrames start out collapsed was to manually add style="display:none"
* to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make
* the content visible without JavaScript support), the new recommended way is to add the class
* "collapsed" to the NavFrame itself, just like with collapsible tables.
*/
for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) {
if ( NavChild.style.display == 'none' ) {
isCollapsed = true;
}
}
}
if (isCollapsed) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) {
NavChild.style.display = 'none';
}
}
}
var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide);
NavToggle.appendChild(NavToggleText);
// Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked)
for(var j=0; j < NavFrame.childNodes.length; j++) {
if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) {
$(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){
$(element).remove();
});
NavFrame.childNodes[j].appendChild(NavToggle);
}
}
NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar);
}
}
}
$(Common.createNavigationBarToggleButton );
// Wyszukiwanie Google na stronach podręczników
Common.googleSearchInitialized = false;
Common.insertGoogleSearch=function() {
if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) {
return;
}
Common.googleSearchInitialized = true;
var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE";
var ul = jQuery('#p-tb ul')[0];
if (!ul) {
return;
}
var link = document.createElement('a');
var book = Common.pageInfo.book;
if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) {
google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22"
}
link.href = google.replace(/PAGE/g, encodeURIComponent(book));
link.appendChild(document.createTextNode("Szukaj w podręczniku"));
var li = document.createElement('li');
li.id = "google-trick-search";
li.appendChild(link);
$(ul).children('li#google-trick-search').each(function(i,element){
$(element).remove();
});
ul.insertBefore(li, ul.firstChild);
}
$(Common.insertGoogleSearch);
/*Funkcja do liczenia szerokościm mapska przewijania w pionowego, wtedy x_box_right=="y", lub poziomego, wtedy inny parametr inny niż dla paska pionowego*/
Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){
var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>');
$('body').append(div);
var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")]();
div.css('overflow-'+(x_box_right||"y"), 'scroll');
var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")]();
$(div).remove();
return (w1 - w2);
}
/*Funkcje do obsługi pasków przewijania*/
Common.ScrollBarOverflow=function(){
$('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){
/*start overflow*/
var comp=window.getComputedStyle(element_g, null);
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var overflow=comp.getPropertyValue("overflow");
var overflow_x=$(element_g).hasClass('mw-overflow-x');
if(overflow_x){
var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
if((overflowX)&&(overflowX=="auto")){
element_g.classList.remove("mw-scrollbar-overflow-x");
const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false
if(hasHorizontalScrollbar){
element_g.classList.add("mw-scrollbar-overflow-x");
}
}
}
var overflow_y=$(element_g).hasClass('mw-overflow-y');
if(overflow_y){
var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflowY)&&(overflowY=="auto")){
element_g.classList.remove("mw-scrollbar-overflow-y");
const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false
if(hasVerticalScrollbar){
element_g.classList.add("mw-scrollbar-overflow-y");
}
}
}
/*koniec overflow*/
});
}
$(Common.ScrollBarOverflow);
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow');
Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow');
});
/*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/
Common.StickyXY=function(){
$('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){
var comp=window.getComputedStyle(element_g, null);
function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){
var pozycje_paskow=new Array();
$(element_g).find('*').each(function(i,element){
var comp=window.getComputedStyle(element, null);
var overflow=comp.getPropertyValue("overflow");
var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){
pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft));
}
});
var height_sticky=0;
$('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){
var rect_sticky=el.getBoundingClientRect();
height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]);
});
var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom);
if(StickyXYTopOld===undefined){
var topold_war=parseFloat(element_g.style[top]);
$(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0));
}
if(StickyXYBottomOld===undefined){
var bottomold_war=parseFloat(element_g.style[bottom]);
$(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0));
}
var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5;
var margintop=parseFloat(comp.getPropertyValue("margin-"+top));
margintop=((!isNaN(margintop))?margintop:0);
var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom));
marginbottom=((!isNaN(marginbottom))?marginbottom:0);
var przodek_height=undefined;
element_g.style[height]="auto";
element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[top]="auto";
element_g.style[bottom]="auto";
if(width_box!=null){
element_g.style[width_box]="auto";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[left_box]="auto";
element_g.style[right_box]="0";
$(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){
element.style[width_box]="auto";
element.classList.remove('mw-scrollbar-overflow-x');
element.classList.remove('mw-scrollbar-overflow-y');
});
}
/**/
var parents_node_fun=$(element_g).parents('.mw-parent-node').first();
if((parents_node_fun==null)||(parents_node_fun.length==0)){return;}
var width_rodzic=null;
var rodzic_element=undefined;
var comp_rodz;
parents_node_fun.each(function(i,element){
comp_rodz=window.getComputedStyle(element,null);
przodek_height=parseFloat(comp_rodz.getPropertyValue([height]));
width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null;
rodzic_element=element;
});
var height_box_real=parseFloat(comp.getPropertyValue(height));
var rect_dziecko=element_g.getBoundingClientRect();
var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))];
var rect_rodzic;
parents_node_fun.each(function(i,element){
rect_rodzic=element.getBoundingClientRect();
});
var top_ab=rect_rodzic[top];
var bottom_ab=(wys-rect_rodzic[bottom]);
var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop);
element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px";
element_g.style[height]="100%";
var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)));
element_g.style[top]=top_obj+"px";
element_g.style[bottom]="auto";
if(width_box!=null){
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
rodzic_element.style.position="static";
rodzic_element.style.overflow="hidden";
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
var rect_dziecko=element_g.getBoundingClientRect();
if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){
if(width_box=="width"){
element_g.classList.remove('mw-scrollbar-overflow-x');
}else{
element_g.classList.remove('mw-scrollbar-overflow-y');
}
if(rect_dziecko[width_box]>width_rodzic){
if(width_box=="width"){
element_g.classList.add('mw-scrollbar-overflow-x');
}else{
element_g.classList.add('mw-scrollbar-overflow-y');
}
}
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box));
margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box));
var dlugosc=(width_rodzic-margin_all);
dlugosc=((dlugosc>=0)?dlugosc:0);
element_g.style.whiteSpace="nowrap";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px";
element_g.style[width_box]=width_box_real+"px";
Common.ScrollBarOverflow();
$(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){
var comp_element=window.getComputedStyle(element, null)
element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat (comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px";
element.classList.remove('mw-scrollbar-overflow-'+x_box);
});
element_g.style.whiteSpace="normal";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[width_box]="auto";
var rect_dziecko=element_g.getBoundingClientRect();
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px";
element_g.style[width_box]=width_box_real+"px";
element_g.style[left_box]="0";
element_g.style[right_box]="auto";
rodzic_element.style.position="relative";
}else{
element_g.style.whiteSpace="nowrap";
var szerokosc_box=rect_dziecko[width_box];
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px";
element_g.style[width_box]=(szerokosc_box)+"px";
Common.ScrollBarOverflow();
$(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){
var comp_element=window.getComputedStyle(element, null);
element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat (comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px";
element.classList.remove('mw-scrollbar-overflow-'+x_box);
});
element_g.style.whiteSpace="normal";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[width_box]="auto";
var rect_dziecko=element_g.getBoundingClientRect();
var szerokosc_box=rect_dziecko[width_box];
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px";
element_g.style[width_box]=(szerokosc_box)+"px";
var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box));
if(parseInt(szerokosc)>parseInt(width_rodzic)){
element_g.style[right_box]="0";
element_g.style[left_box]="auto";
rodzic_element.style.overflow="visible";
}else{
element_g.style[left_box]="0";
element_g.style[right_box]="auto";
rodzic_element.style.position="relative";
}
}
}
element_g.style[height]="auto";
element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px";
Common.ScrollBarOverflow();
for(var i in pozycje_paskow){
pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1];
pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2];
}
}
element_g.classList.add('mw-sticky-js');
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var visibility=comp.getPropertyValue("visibility");
if(visibility=="hidden"){return;}
var position=comp.getPropertyValue("position");
if(position!="absolute"){return;}
var sticky_x=$(element_g).hasClass('mw-sticky-x');
var sticky_y=$(element_g).hasClass('mw-sticky-y');
if((sticky_x)&&(!sticky_y)){
var str=$(element_g).parents('.strona_górna, .strona_dolna').first();
if(str.hasClass('strona_dolna')){
FunStickyXY("width","left","right","height","top","bottom","y","x");
}else if(str.hasClass('strona_górna')){
FunStickyXY("width","left","right","height","bottom","top","y","x");
}
}else if((!sticky_x)&&(sticky_y)){
var str=$(element_g).parents('.strona_prawa, .strona_lewa').first();
if(str.hasClass('strona_prawa')){
FunStickyXY("height","top","bottom","width","left","right","x","y");
}else if(str.hasClass('strona_lewa')){
FunStickyXY("height","top","bottom","width","right","left","x","y");
}
}else if((sticky_x)&&(sticky_y)){
FunStickyXY("width","left","right",null);
FunStickyXY("height","top","bottom",null);
}
});
}
$(Common.StickyXY);
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY');
Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY');
});
/*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/
Common.OptimalXY=function(){
$('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){
var comp=window.getComputedStyle(element_g, null);
function FunOptimalXY(width,left,right){
var pozycje_paskow=new Array();
$(element_g).find('*').each(function(i,element){
var comp=window.getComputedStyle(element, null);
var overflow=comp.getPropertyValue("overflow");
var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){
pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft));
}
});
var width_rodzic=null;
var rodzic_node;
var comp_rodz;
$(element_g).parents('.mw-parent-node').first().each(function(i,element){
comp_rodz=window.getComputedStyle(element,null);
width_rodzic=parseFloat(comp_rodz.getPropertyValue([width]));
rodzic_node=element;
});
if((width_rodzic!=null)&&(!isNaN(width_rodzic))){
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
var width_box_real=parseFloat(comp.getPropertyValue(width));
var rect_dziecko=element_g.getBoundingClientRect();
if(width=="width"){
element_g.classList.remove('mw-scrollbar-overflow-x');
}else{
element_g.classList.remove('mw-scrollbar-overflow-y');
}
if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){
var rect_dziecko=element_g.getBoundingClientRect();
if(rect_dziecko[width]>width_rodzic){
if(width=="width"){
element_g.classList.add('mw-scrollbar-overflow-x');
}else{
element_g.classList.add('mw-scrollbar-overflow-y');
}
}
var width_box_real=parseFloat(comp.getPropertyValue(width));
var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right));
margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right));
var dlugosc=(width_rodzic-margin_all);
dlugosc=((dlugosc>=0)?dlugosc:0);
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px";
}else{
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px";
}
var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first();
if(!str.hasClass('strona_start-nawigacja_boksy')){
var rect_dziecko=element_g.getBoundingClientRect();
var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right));
if(parseInt(szerokosc)>parseInt(width_rodzic)){
str.css('position','static');
}else{
str.css('position','relative');
}
}
}
for(var i in pozycje_paskow){
pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1];
pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2];
}
};
element_g.classList.add('mw-optimal-js');
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var visibility=comp.getPropertyValue("visibility");
if(visibility=="hidden"){return;}
var position=comp.getPropertyValue("position");
if(position!="absolute"){return;}
var optimal_x=$(element_g).hasClass('mw-optimal-x');
var optimal_y=$(element_g).hasClass('mw-optimal-y');
if(optimal_x){
FunOptimalXY("width","left","right");
}
if(optimal_y){
FunOptimalXY("height","top","bottom");
}
});
}
$(Common.OptimalXY);
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY');
Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY');
});
/*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/
Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){
$(obiekt).each(function(i,element_f){
var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i);
if((collapsebutton!==null)&&(collapsebutton.length>0)){
var tabele_lub_ramki=collapsebutton.parents('#'+id_tabeli_lub_ramki+i);
if((tabele_lub_ramki===null)||(tabele_lub_ramki.length==0)){return;}
$('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){
var href=element_g.getAttribute('href');
if((href!=null)&&(href!="")){
var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*";
var re_frame = new RegExp(col,'g');
var re_javascript=new RegExp("^[\\s;]*javascript:");
if((re_javascript.test(href))&&(re_frame.test(href))){
var href=element_g.getAttribute('href');
if((href!==null)&&(href!="")){
function DodajSkryptJavaScript(fun){
var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g');
var href_nowe=element_g.getAttribute('href');
if(!re.test(href_nowe)){
element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()");
}
}
DodajSkryptJavaScript('Common.ScrollBarOverflow');
DodajSkryptJavaScript('Common.StickyXY');
DodajSkryptJavaScript('Common.OptimalXY');
}
}
}
});
}
});
}
$(function(){
/*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/
Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable');
/*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/
Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar');
/*Koniec dodatkowych funkcji*/
});
/*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz,z_mouse){
/*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/
var tab_transition={'start':true,'run':true,'cancel':true,'end':true};
var tab_przegladarki={'':true,'webkit':true,'moz':true,'o':true};
for(var a in tab_transition){
for(var b in tab_przegladarki){
var zdarzenie=b+'transition'+a;
Common.ZdarzeniaJavaScript(css,zdarzenie,fun_zdarz);
}
}
if(z_mouse){
Common.ZdarzeniaJavaScript(css,"mouseenter",fun_zdarz);
Common.ZdarzeniaJavaScript(css,"mouseleave",fun_zdarz);
}
};
$(function(){
/*Funkcje zdarzeń*/
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY',true);
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY',true);
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY',false);
});
/*Koniec dodatkowych zdarzeń*/
/*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/
Common.StronaStart=function(){
var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks');
elements.parent().show();
$('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){
$(element).css('visibility',"hidden");
$(element).attr('mw-menu-boks',"false");
});
$('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){
var czy_visible=$(element).css('visibility');
$(element).css('visibility',"visible");
$(element).attr('mw-menu-boks',"true");
var str=$(element).parents('.strona_prawa, .strona_lewa').first();
str.css('position','relative');
str.addClass('strona_start-nawigacja_spis');
str.removeClass('strona_start-nawigacja_boksy');
if(czy_visible=="hidden"){
$(Common.ScrollBarOverflow);
$(Common.StickyXY);
}
});
var str=$('.strona_start').find('.strona .ciało_zawartości > .menu > .menu_boks').children('.spis_treści, .boksy');
if(str.length!=2){return;}
$(str[0]).attr('mw-menu-boks',"true");
$(str[1]).attr('mw-menu-boks',"false");
Common.StronaStartZdarzeniePrzycisku=function(){
var id=this;
$(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){
var menu_boks_zmienna=$(element).attr('mw-menu-boks');
menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false");
if(menu_boks_zmienna=="false"){
$(element).css('display',"block");
$(element).attr('mw-menu-boks','true');
}else if(menu_boks_zmienna=="true"){
$(element).css('display',"none");
$(element).attr('mw-menu-boks','false');
}
});
$(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children('.nawigacja_boksy, .nawigacja_spis').each(function(i,element){
var menu_boks_zmienna=$(element).attr('mw-menu-boks');
menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false");
if(menu_boks_zmienna=="false"){
$(element).css('visibility',"visible");
$(element).attr('mw-menu-boks',"true");
var str=$(element).parents('.strona_prawa, .strona_lewa').first();
if($(element).hasClass('nawigacja_boksy')){
str.css('position','static');
str.addClass('strona_start-nawigacja_boksy');
str.removeClass('strona_start-nawigacja_spis');
$(Common.ScrollBarOverflow);
$(Common.OptimalXY);
}else if($(element).hasClass('nawigacja_spis')){
str.css('position','relative');
str.addClass('strona_start-nawigacja_spis');
str.removeClass('strona_start-nawigacja_boksy');
$(Common.ScrollBarOverflow);
$(Common.StickyXY);
}
}else if(menu_boks_zmienna=="true"){
$(element).css('visibility',"hidden");
$(element).attr('mw-menu-boks',"false");
}
});
}
if(Common.StronaStartZdarzeniePrzycisku)Common.ZdarzeniaJavaScript(elements,'click','StronaStartZdarzeniePrzycisku');
}
$(Common.StronaStart);
})(Common_zmienna_z_MediaWiki_Wikibooks,Common);
p0i5k7glhz3ku25pvx1wiv55dr9030u
437895
437893
2022-08-16T16:01:16Z
Persino
2851
javascript
text/javascript
mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true );
/**/
/* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony.
*/
/*
* Zmienna Common.pageInfo, jego elementy, instrukcja obsługi:
* Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber)
* Common.pageInfo.name pełna nazwa strony
* Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash
* Common.pageInfo.book tytuł książki
* Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get"
* Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL
*/
/*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/
var Common_zmienna_z_MediaWiki_Wikibooks=this['Common'];
/*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/
var Common=new Array();
/*Funkcja, by nie było przecieków pamięci*/
(function(Common_zmienna_z_MediaWiki_Wikibooks,Common){
/*Funkcja zwraca zmienną Common ze strony MediaWiki:Common.js, gdy użytkownik ma właną zmienną Common w swoim common.js, w przeciwnym wypadku zwraca undefined.*/
Common.MediaWikiCommon=function(){return Common_zmienna_z_MediaWiki_Wikibooks;}
/*Funkcja zwraca zmienną Common ze strony User:<Użytkownik>/common.js, jeżeli użytkownik ma własną zmienną Common we własnym common.js, w przeciwnym wypadku zwraca Common, ze strony MediaWiki:Common.js.*/
Common.UserCommon=function(){return Common;}
/*Sprawdza, czy użytkownik ma własną zmienną Common.*/
Common.IsUserCommon=function(){return ((Common_zmienna_z_MediaWiki_Wikibooks)?true:false);};
// Frame Busting
Common.LokowanieTopSelf=function(){
if (top != self) top.location.href = self.location.href;
};
$(Common.LokowanieTopSelf);
/*Funkcja zdarzeń odrejestrowania i rejestrowania*/
Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen,tylko_odrejestruj){
/*
css - adres html obiektu,
zdarzenie - zdarzenie jak click,
funkcja_zdarzen - nazwa funkcji zdarzeń w starej przestrzeni Common lub nowej, jak StickyXY,
tylko_odrejestruj - czy tylko zdarzenie ma odrejestrować w starej przestrzeni Common.
*/
if((css)&&(zdarzenie)&&(funkcja_zdarzen)){
/*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/
if((Common_zmienna_z_MediaWiki_Wikibooks)&&(Common_zmienna_z_MediaWiki_Wikibooks[funkcja_zdarzen])){
$(css).off(zdarzenie,Common_zmienna_z_MediaWiki_Wikibooks[funkcja_zdarzen]);
}
if((!tylko_odrejestruj)&&(Common)&&(Common[funkcja_zdarzen])){
/*Rejestrowanie zdarzeń, ale z tej strony .js*/
$(css).on(zdarzenie, Common[funkcja_zdarzen]);
}
}
}
/*Funkcje w przestrzeni nazw Common*/
Common.Naglowek=function(){
/* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */
var hideAll = document.getElementById('mójNagłówekUkryj');
var noFooter = false;
var footers = 0;
var tags = document.getElementsByTagName('div');
for (var i = 0; i < tags.length; i++) {
var el=tags[i].getAttribute("id");
if (el=='mojaStopka')
footers++;
else if (hideAll && (el=='mójNagłówek')) {
tags[i].innerHTML="";
noFooter=true;
}
}
if (noFooter) return;
var footer = document.getElementById('mojaStopka');
if ((footer !== null) && (footers==1)) {
var bodyContent = document.getElementById('bodyContent');
if (bodyContent !== null) {
var s0=document.getElementById('mojaStopka0');
var s1=document.getElementById('mojaStopka1');
if ((s1 !== null) ||
((s0 === null) && (bodyContent.innerHTML.length>8000))){
var strona=document.getElementById('strona');
if(strona!==null){
strona.appendChild(footer);
}else{
var catlinks=document.getElementById('catlinks');
if(catlinks !== null){
bodyContent.insertBefore(footer,catlinks);
}else{
bodyContent.appendChild(footer);
}
}
}
}
}
/* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */
};
$(Common.Naglowek);
/*Informacje o danej stronie*/
Common.PageInfoInit=function(){
var _g = /_/g;
this.name = mw.config.get('wgPageName').replace(/_/g, ' ');
this.namespace = mw.config.get('wgNamespaceNumber');
var i = this.name.search(/\/[^\/]*$/g);
this.title = this.name.slice(i + 1);
this.book = this.name.replace(/\/.*/g, "");
if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) {
re = /\&diff=/g;
this.diff = re.test(document.URL);
re = /\&action=[^\&]*/g;
this.action = document.URL.match(re);
if ( this.action === null ) {
this.action = 'get';
} else {
this.action = this.action[0].slice(8, this.action[0].length);
}
} else {
this.diff = null;
this.action = 'get';
}
}
Common.pageInfo = new Common.PageInfoInit();
/** Collapsible tables *********************************************************
*
* Description: Allows tables to be collapsed, showing only the header. See
* [[en:Wikipedia:NavFrame]].
* Maintainers: [[User:R. Koot]]
*/
Common.autoCollapse = 2;
Common.collapseCaption = "ukryj";
Common.expandCaption = "pokaż";
Common.collapseTable=function( tableIndex )
{
var Button = document.getElementById( "collapseButton" + tableIndex );
var Table = document.getElementById( "collapsibleTable" + tableIndex );
if ( !Table || !Button ) {
return false;
}
var Rows = Table.rows;
if ( Button.firstChild.data == Common.collapseCaption ) {
for ( var i = 1; i < Rows.length; i++ ) {
Rows[i].style.display = "none";
}
Button.firstChild.data = Common.expandCaption;
} else {
for ( var i = 1; i < Rows.length; i++ ) {
Rows[i].style.display = Rows[0].style.display;
}
Button.firstChild.data = Common.collapseCaption;
}
}
Common.createCollapseButtons=function()
{
var tableIndex = 0;
var NavigationBoxes = new Object();
var Tables = document.getElementsByTagName( "table" );
for ( var i = 0; i < Tables.length; i++ ) {
if ( $(Tables[i]).hasClass( "collapsible" ) ) {
/* only add button and increment count if there is a header row to work with */
var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0];
if (!HeaderRow) continue;
var Header = HeaderRow.getElementsByTagName( "th" )[0];
if (!Header) continue;
NavigationBoxes[ tableIndex ] = Tables[i];
Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex );
var Button = document.createElement( "span" );
var ButtonLink = document.createElement( "a" );
var ButtonText = document.createTextNode( Common.collapseCaption );
Button.style.styleFloat = "right";
Button.style.cssFloat = "right";
Button.style.fontWeight = "normal";
Button.style.textAlign = "right";
Button.style.width = "6em";
ButtonLink.style.color = Header.style.color;
ButtonLink.setAttribute( "id", "collapseButton" + tableIndex );
ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" );
ButtonLink.appendChild( ButtonText );
Button.appendChild( document.createTextNode( "[" ) );
Button.appendChild( ButtonLink );
Button.appendChild( document.createTextNode( "]" ) );
$(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){
$(element).remove();
});
Header.insertBefore( Button, Header.childNodes[0]);
tableIndex++;
}
}
for ( var i = 0; i < tableIndex; i++ ) {
if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) {
Common.collapseTable( i );
}
else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) {
var element = NavigationBoxes[i];
while (element = element.parentNode) {
if ( $(element).hasClass( "outercollapse" ) ) {
Common.collapseTable ( i );
break;
}
}
}
}
}
$(Common.createCollapseButtons );
/** Dynamic Navigation Bars (experimental) *************************************
*
* Description: See [[Wikipedia:NavFrame]].
* Maintainers: UNMAINTAINED
*/
// set up the words in your language
Common.NavigationBarHide = '[' + Common.collapseCaption + ']';
Common.NavigationBarShow = '[' + Common.expandCaption + ']';
// shows and hides content and picture (if available) of navigation bars
// Parameters:
// indexNavigationBar: the index of navigation bar to be toggled
Common.toggleNavigationBar=function(indexNavigationBar)
{
var NavToggle = document.getElementById("NavToggle" + indexNavigationBar);
var NavFrame = document.getElementById("NavFrame" + indexNavigationBar);
if (!NavFrame || !NavToggle) {
return false;
}
// if shown now
if (NavToggle.firstChild.data == Common.NavigationBarHide) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) ) {
NavChild.style.display = 'none';
}
if ( $(NavChild).hasClass( 'NavContent') ) {
NavChild.style.display = 'none';
}
}
NavToggle.firstChild.data = Common.NavigationBarShow;
// if hidden now
} else if (NavToggle.firstChild.data == Common.NavigationBarShow) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ($(NavChild).hasClass( 'NavPic')) {
NavChild.style.display = 'block';
}
if ($(NavChild).hasClass( 'NavContent')) {
NavChild.style.display = 'block';
}
}
NavToggle.firstChild.data = Common.NavigationBarHide;
}
}
// adds show/hide-button to navigation bars
Common.createNavigationBarToggleButton=function()
{
var indexNavigationBar = 0;
// iterate over all < div >-elements
var divs = document.getElementsByTagName("div");
for (var i = 0; NavFrame = divs[i]; i++) {
// if found a navigation bar
if ($(NavFrame).hasClass( "NavFrame")) {
indexNavigationBar++;
var NavToggle = document.createElement("a");
NavToggle.className = 'NavToggle';
NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar);
NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');');
var isCollapsed = $(NavFrame).hasClass( "collapsed" );
/*
* Check if any children are already hidden. This loop is here for backwards compatibility:
* the old way of making NavFrames start out collapsed was to manually add style="display:none"
* to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make
* the content visible without JavaScript support), the new recommended way is to add the class
* "collapsed" to the NavFrame itself, just like with collapsible tables.
*/
for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) {
if ( NavChild.style.display == 'none' ) {
isCollapsed = true;
}
}
}
if (isCollapsed) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) {
NavChild.style.display = 'none';
}
}
}
var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide);
NavToggle.appendChild(NavToggleText);
// Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked)
for(var j=0; j < NavFrame.childNodes.length; j++) {
if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) {
$(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){
$(element).remove();
});
NavFrame.childNodes[j].appendChild(NavToggle);
}
}
NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar);
}
}
}
$(Common.createNavigationBarToggleButton );
// Wyszukiwanie Google na stronach podręczników
Common.googleSearchInitialized = false;
Common.insertGoogleSearch=function() {
if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) {
return;
}
Common.googleSearchInitialized = true;
var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE";
var ul = jQuery('#p-tb ul')[0];
if (!ul) {
return;
}
var link = document.createElement('a');
var book = Common.pageInfo.book;
if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) {
google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22"
}
link.href = google.replace(/PAGE/g, encodeURIComponent(book));
link.appendChild(document.createTextNode("Szukaj w podręczniku"));
var li = document.createElement('li');
li.id = "google-trick-search";
li.appendChild(link);
$(ul).children('li#google-trick-search').each(function(i,element){
$(element).remove();
});
ul.insertBefore(li, ul.firstChild);
}
$(Common.insertGoogleSearch);
/*Funkcja do liczenia szerokościm mapska przewijania w pionowego, wtedy x_box_right=="y", lub poziomego, wtedy inny parametr inny niż dla paska pionowego*/
Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){
var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>');
$('body').append(div);
var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")]();
div.css('overflow-'+(x_box_right||"y"), 'scroll');
var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")]();
$(div).remove();
return (w1 - w2);
}
/*Funkcje do obsługi pasków przewijania*/
Common.ScrollBarOverflow=function(){
$('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){
/*start overflow*/
var comp=window.getComputedStyle(element_g, null);
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var overflow=comp.getPropertyValue("overflow");
var overflow_x=$(element_g).hasClass('mw-overflow-x');
if(overflow_x){
var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
if((overflowX)&&(overflowX=="auto")){
element_g.classList.remove("mw-scrollbar-overflow-x");
const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false
if(hasHorizontalScrollbar){
element_g.classList.add("mw-scrollbar-overflow-x");
}
}
}
var overflow_y=$(element_g).hasClass('mw-overflow-y');
if(overflow_y){
var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflowY)&&(overflowY=="auto")){
element_g.classList.remove("mw-scrollbar-overflow-y");
const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false
if(hasVerticalScrollbar){
element_g.classList.add("mw-scrollbar-overflow-y");
}
}
}
/*koniec overflow*/
});
}
$(Common.ScrollBarOverflow);
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow');
Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow');
});
/*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/
Common.StickyXY=function(){
$('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){
var comp=window.getComputedStyle(element_g, null);
function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){
var pozycje_paskow=new Array();
$(element_g).find('*').each(function(i,element){
var comp=window.getComputedStyle(element, null);
var overflow=comp.getPropertyValue("overflow");
var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){
pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft));
}
});
var height_sticky=0;
$('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){
var rect_sticky=el.getBoundingClientRect();
height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]);
});
var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom);
if(StickyXYTopOld===undefined){
var topold_war=parseFloat(element_g.style[top]);
$(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0));
}
if(StickyXYBottomOld===undefined){
var bottomold_war=parseFloat(element_g.style[bottom]);
$(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0));
}
var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5;
var margintop=parseFloat(comp.getPropertyValue("margin-"+top));
margintop=((!isNaN(margintop))?margintop:0);
var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom));
marginbottom=((!isNaN(marginbottom))?marginbottom:0);
var przodek_height=undefined;
element_g.style[height]="auto";
element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[top]="auto";
element_g.style[bottom]="auto";
if(width_box!=null){
element_g.style[width_box]="auto";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[left_box]="auto";
element_g.style[right_box]="0";
$(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){
element.style[width_box]="auto";
element.classList.remove('mw-scrollbar-overflow-x');
element.classList.remove('mw-scrollbar-overflow-y');
});
}
/**/
var parents_node_fun=$(element_g).parents('.mw-parent-node').first();
if((parents_node_fun==null)||(parents_node_fun.length==0)){return;}
var width_rodzic=null;
var rodzic_element=undefined;
var comp_rodz;
parents_node_fun.each(function(i,element){
comp_rodz=window.getComputedStyle(element,null);
przodek_height=parseFloat(comp_rodz.getPropertyValue([height]));
width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null;
rodzic_element=element;
});
var height_box_real=parseFloat(comp.getPropertyValue(height));
var rect_dziecko=element_g.getBoundingClientRect();
var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))];
var rect_rodzic;
parents_node_fun.each(function(i,element){
rect_rodzic=element.getBoundingClientRect();
});
var top_ab=rect_rodzic[top];
var bottom_ab=(wys-rect_rodzic[bottom]);
var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop);
element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px";
element_g.style[height]="100%";
var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)));
element_g.style[top]=top_obj+"px";
element_g.style[bottom]="auto";
if(width_box!=null){
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
rodzic_element.style.position="static";
rodzic_element.style.overflow="hidden";
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
var rect_dziecko=element_g.getBoundingClientRect();
if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){
if(width_box=="width"){
element_g.classList.remove('mw-scrollbar-overflow-x');
}else{
element_g.classList.remove('mw-scrollbar-overflow-y');
}
if(rect_dziecko[width_box]>width_rodzic){
if(width_box=="width"){
element_g.classList.add('mw-scrollbar-overflow-x');
}else{
element_g.classList.add('mw-scrollbar-overflow-y');
}
}
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box));
margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box));
var dlugosc=(width_rodzic-margin_all);
dlugosc=((dlugosc>=0)?dlugosc:0);
element_g.style.whiteSpace="nowrap";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px";
element_g.style[width_box]=width_box_real+"px";
Common.ScrollBarOverflow();
$(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){
var comp_element=window.getComputedStyle(element, null)
element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat (comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px";
element.classList.remove('mw-scrollbar-overflow-'+x_box);
});
element_g.style.whiteSpace="normal";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[width_box]="auto";
var rect_dziecko=element_g.getBoundingClientRect();
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px";
element_g.style[width_box]=width_box_real+"px";
element_g.style[left_box]="0";
element_g.style[right_box]="auto";
rodzic_element.style.position="relative";
}else{
element_g.style.whiteSpace="nowrap";
var szerokosc_box=rect_dziecko[width_box];
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px";
element_g.style[width_box]=(szerokosc_box)+"px";
Common.ScrollBarOverflow();
$(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){
var comp_element=window.getComputedStyle(element, null);
element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat (comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px";
element.classList.remove('mw-scrollbar-overflow-'+x_box);
});
element_g.style.whiteSpace="normal";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[width_box]="auto";
var rect_dziecko=element_g.getBoundingClientRect();
var szerokosc_box=rect_dziecko[width_box];
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px";
element_g.style[width_box]=(szerokosc_box)+"px";
var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box));
if(parseInt(szerokosc)>parseInt(width_rodzic)){
element_g.style[right_box]="0";
element_g.style[left_box]="auto";
rodzic_element.style.overflow="visible";
}else{
element_g.style[left_box]="0";
element_g.style[right_box]="auto";
rodzic_element.style.position="relative";
}
}
}
element_g.style[height]="auto";
element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px";
Common.ScrollBarOverflow();
for(var i in pozycje_paskow){
pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1];
pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2];
}
}
element_g.classList.add('mw-sticky-js');
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var visibility=comp.getPropertyValue("visibility");
if(visibility=="hidden"){return;}
var position=comp.getPropertyValue("position");
if(position!="absolute"){return;}
var sticky_x=$(element_g).hasClass('mw-sticky-x');
var sticky_y=$(element_g).hasClass('mw-sticky-y');
if((sticky_x)&&(!sticky_y)){
var str=$(element_g).parents('.strona_górna, .strona_dolna').first();
if(str.hasClass('strona_dolna')){
FunStickyXY("width","left","right","height","top","bottom","y","x");
}else if(str.hasClass('strona_górna')){
FunStickyXY("width","left","right","height","bottom","top","y","x");
}
}else if((!sticky_x)&&(sticky_y)){
var str=$(element_g).parents('.strona_prawa, .strona_lewa').first();
if(str.hasClass('strona_prawa')){
FunStickyXY("height","top","bottom","width","left","right","x","y");
}else if(str.hasClass('strona_lewa')){
FunStickyXY("height","top","bottom","width","right","left","x","y");
}
}else if((sticky_x)&&(sticky_y)){
FunStickyXY("width","left","right",null);
FunStickyXY("height","top","bottom",null);
}
});
}
$(Common.StickyXY);
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY');
Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY');
});
/*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/
Common.OptimalXY=function(){
$('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){
var comp=window.getComputedStyle(element_g, null);
function FunOptimalXY(width,left,right){
var pozycje_paskow=new Array();
$(element_g).find('*').each(function(i,element){
var comp=window.getComputedStyle(element, null);
var overflow=comp.getPropertyValue("overflow");
var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){
pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft));
}
});
var width_rodzic=null;
var rodzic_node;
var comp_rodz;
$(element_g).parents('.mw-parent-node').first().each(function(i,element){
comp_rodz=window.getComputedStyle(element,null);
width_rodzic=parseFloat(comp_rodz.getPropertyValue([width]));
rodzic_node=element;
});
if((width_rodzic!=null)&&(!isNaN(width_rodzic))){
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
var width_box_real=parseFloat(comp.getPropertyValue(width));
var rect_dziecko=element_g.getBoundingClientRect();
if(width=="width"){
element_g.classList.remove('mw-scrollbar-overflow-x');
}else{
element_g.classList.remove('mw-scrollbar-overflow-y');
}
if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){
var rect_dziecko=element_g.getBoundingClientRect();
if(rect_dziecko[width]>width_rodzic){
if(width=="width"){
element_g.classList.add('mw-scrollbar-overflow-x');
}else{
element_g.classList.add('mw-scrollbar-overflow-y');
}
}
var width_box_real=parseFloat(comp.getPropertyValue(width));
var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right));
margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right));
var dlugosc=(width_rodzic-margin_all);
dlugosc=((dlugosc>=0)?dlugosc:0);
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px";
}else{
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px";
}
var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first();
if(!str.hasClass('strona_start-nawigacja_boksy')){
var rect_dziecko=element_g.getBoundingClientRect();
var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right));
if(parseInt(szerokosc)>parseInt(width_rodzic)){
str.css('position','static');
}else{
str.css('position','relative');
}
}
}
for(var i in pozycje_paskow){
pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1];
pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2];
}
};
element_g.classList.add('mw-optimal-js');
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var visibility=comp.getPropertyValue("visibility");
if(visibility=="hidden"){return;}
var position=comp.getPropertyValue("position");
if(position!="absolute"){return;}
var optimal_x=$(element_g).hasClass('mw-optimal-x');
var optimal_y=$(element_g).hasClass('mw-optimal-y');
if(optimal_x){
FunOptimalXY("width","left","right");
}
if(optimal_y){
FunOptimalXY("height","top","bottom");
}
});
}
$(Common.OptimalXY);
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY');
Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY');
});
/*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/
Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){
$(obiekt).each(function(i,element_f){
var id=element_f.getAttribute("id")
if((id)&&(id==id_tabeli_lub_ramki+i)){
var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i);
if((collapsebutton!==null)&&(collapsebutton.length>0)){
$('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){
var href=element_g.getAttribute('href');
if((href!=null)&&(href!="")){
var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*";
var re_frame = new RegExp(col,'g');
var re_javascript=new RegExp("^[\\s;]*javascript:");
if((re_javascript.test(href))&&(re_frame.test(href))){
var href=element_g.getAttribute('href');
if((href!==null)&&(href!="")){
function DodajSkryptJavaScript(fun){
var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g');
var href_nowe=element_g.getAttribute('href');
console.log(href_nowe,"TYTAN");
if(!re.test(href_nowe)){
element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()");
}
}
DodajSkryptJavaScript('Common.ScrollBarOverflow');
DodajSkryptJavaScript('Common.StickyXY');
DodajSkryptJavaScript('Common.OptimalXY');
}
}
}
});
}
}
});
}
$(function(){
/*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/
Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable');
/*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/
Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar');
/*Koniec dodatkowych funkcji*/
});
/*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz,z_mouse){
/*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/
var tab_transition={'start':true,'run':true,'cancel':true,'end':true};
var tab_przegladarki={'':true,'webkit':true,'moz':true,'o':true};
for(var a in tab_transition){
for(var b in tab_przegladarki){
var zdarzenie=b+'transition'+a;
Common.ZdarzeniaJavaScript(css,zdarzenie,fun_zdarz);
}
}
if(z_mouse){
Common.ZdarzeniaJavaScript(css,"mouseenter",fun_zdarz);
Common.ZdarzeniaJavaScript(css,"mouseleave",fun_zdarz);
}
};
$(function(){
/*Funkcje zdarzeń*/
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY',true);
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY',true);
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY',false);
});
/*Koniec dodatkowych zdarzeń*/
/*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/
Common.StronaStart=function(){
var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks');
elements.parent().show();
$('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){
$(element).css('visibility',"hidden");
$(element).attr('mw-menu-boks',"false");
});
$('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){
var czy_visible=$(element).css('visibility');
$(element).css('visibility',"visible");
$(element).attr('mw-menu-boks',"true");
var str=$(element).parents('.strona_prawa, .strona_lewa').first();
str.css('position','relative');
str.addClass('strona_start-nawigacja_spis');
str.removeClass('strona_start-nawigacja_boksy');
if(czy_visible=="hidden"){
$(Common.ScrollBarOverflow);
$(Common.StickyXY);
}
});
var str=$('.strona_start').find('.strona .ciało_zawartości > .menu > .menu_boks').children('.spis_treści, .boksy');
if(str.length!=2){return;}
$(str[0]).attr('mw-menu-boks',"true");
$(str[1]).attr('mw-menu-boks',"false");
Common.StronaStartZdarzeniePrzycisku=function(){
var id=this;
$(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){
var menu_boks_zmienna=$(element).attr('mw-menu-boks');
menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false");
if(menu_boks_zmienna=="false"){
$(element).css('display',"block");
$(element).attr('mw-menu-boks','true');
}else if(menu_boks_zmienna=="true"){
$(element).css('display',"none");
$(element).attr('mw-menu-boks','false');
}
});
$(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children('.nawigacja_boksy, .nawigacja_spis').each(function(i,element){
var menu_boks_zmienna=$(element).attr('mw-menu-boks');
menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false");
if(menu_boks_zmienna=="false"){
$(element).css('visibility',"visible");
$(element).attr('mw-menu-boks',"true");
var str=$(element).parents('.strona_prawa, .strona_lewa').first();
if($(element).hasClass('nawigacja_boksy')){
str.css('position','static');
str.addClass('strona_start-nawigacja_boksy');
str.removeClass('strona_start-nawigacja_spis');
$(Common.ScrollBarOverflow);
$(Common.OptimalXY);
}else if($(element).hasClass('nawigacja_spis')){
str.css('position','relative');
str.addClass('strona_start-nawigacja_spis');
str.removeClass('strona_start-nawigacja_boksy');
$(Common.ScrollBarOverflow);
$(Common.StickyXY);
}
}else if(menu_boks_zmienna=="true"){
$(element).css('visibility',"hidden");
$(element).attr('mw-menu-boks',"false");
}
});
}
if(Common.StronaStartZdarzeniePrzycisku)Common.ZdarzeniaJavaScript(elements,'click','StronaStartZdarzeniePrzycisku');
}
$(Common.StronaStart);
})(Common_zmienna_z_MediaWiki_Wikibooks,Common);
pdvzzoekguzjlp6qy6hg81g0qxiupcx
437896
437895
2022-08-16T16:04:37Z
Persino
2851
javascript
text/javascript
mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true );
/**/
/* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony.
*/
/*
* Zmienna Common.pageInfo, jego elementy, instrukcja obsługi:
* Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber)
* Common.pageInfo.name pełna nazwa strony
* Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash
* Common.pageInfo.book tytuł książki
* Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get"
* Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL
*/
/*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/
var Common_zmienna_z_MediaWiki_Wikibooks=this['Common'];
/*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/
var Common=new Array();
/*Funkcja, by nie było przecieków pamięci*/
(function(Common_zmienna_z_MediaWiki_Wikibooks,Common){
/*Funkcja zwraca zmienną Common ze strony MediaWiki:Common.js, gdy użytkownik ma właną zmienną Common w swoim common.js, w przeciwnym wypadku zwraca undefined.*/
Common.MediaWikiCommon=function(){return Common_zmienna_z_MediaWiki_Wikibooks;}
/*Funkcja zwraca zmienną Common ze strony User:<Użytkownik>/common.js, jeżeli użytkownik ma własną zmienną Common we własnym common.js, w przeciwnym wypadku zwraca Common, ze strony MediaWiki:Common.js.*/
Common.UserCommon=function(){return Common;}
/*Sprawdza, czy użytkownik ma własną zmienną Common.*/
Common.IsUserCommon=function(){return ((Common_zmienna_z_MediaWiki_Wikibooks)?true:false);};
// Frame Busting
Common.LokowanieTopSelf=function(){
if (top != self) top.location.href = self.location.href;
};
$(Common.LokowanieTopSelf);
/*Funkcja zdarzeń odrejestrowania i rejestrowania*/
Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen,tylko_odrejestruj){
/*
css - adres html obiektu,
zdarzenie - zdarzenie jak click,
funkcja_zdarzen - nazwa funkcji zdarzeń w starej przestrzeni Common lub nowej, jak StickyXY,
tylko_odrejestruj - czy tylko zdarzenie ma odrejestrować w starej przestrzeni Common.
*/
if((css)&&(zdarzenie)&&(funkcja_zdarzen)){
/*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/
if((Common_zmienna_z_MediaWiki_Wikibooks)&&(Common_zmienna_z_MediaWiki_Wikibooks[funkcja_zdarzen])){
$(css).off(zdarzenie,Common_zmienna_z_MediaWiki_Wikibooks[funkcja_zdarzen]);
}
if((!tylko_odrejestruj)&&(Common)&&(Common[funkcja_zdarzen])){
/*Rejestrowanie zdarzeń, ale z tej strony .js*/
$(css).on(zdarzenie, Common[funkcja_zdarzen]);
}
}
}
/*Funkcje w przestrzeni nazw Common*/
Common.Naglowek=function(){
/* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */
var hideAll = document.getElementById('mójNagłówekUkryj');
var noFooter = false;
var footers = 0;
var tags = document.getElementsByTagName('div');
for (var i = 0; i < tags.length; i++) {
var el=tags[i].getAttribute("id");
if (el=='mojaStopka')
footers++;
else if (hideAll && (el=='mójNagłówek')) {
tags[i].innerHTML="";
noFooter=true;
}
}
if (noFooter) return;
var footer = document.getElementById('mojaStopka');
if ((footer !== null) && (footers==1)) {
var bodyContent = document.getElementById('bodyContent');
if (bodyContent !== null) {
var s0=document.getElementById('mojaStopka0');
var s1=document.getElementById('mojaStopka1');
if ((s1 !== null) ||
((s0 === null) && (bodyContent.innerHTML.length>8000))){
var strona=document.getElementById('strona');
if(strona!==null){
strona.appendChild(footer);
}else{
var catlinks=document.getElementById('catlinks');
if(catlinks !== null){
bodyContent.insertBefore(footer,catlinks);
}else{
bodyContent.appendChild(footer);
}
}
}
}
}
/* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */
};
$(Common.Naglowek);
/*Informacje o danej stronie*/
Common.PageInfoInit=function(){
var _g = /_/g;
this.name = mw.config.get('wgPageName').replace(/_/g, ' ');
this.namespace = mw.config.get('wgNamespaceNumber');
var i = this.name.search(/\/[^\/]*$/g);
this.title = this.name.slice(i + 1);
this.book = this.name.replace(/\/.*/g, "");
if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) {
re = /\&diff=/g;
this.diff = re.test(document.URL);
re = /\&action=[^\&]*/g;
this.action = document.URL.match(re);
if ( this.action === null ) {
this.action = 'get';
} else {
this.action = this.action[0].slice(8, this.action[0].length);
}
} else {
this.diff = null;
this.action = 'get';
}
}
Common.pageInfo = new Common.PageInfoInit();
/** Collapsible tables *********************************************************
*
* Description: Allows tables to be collapsed, showing only the header. See
* [[en:Wikipedia:NavFrame]].
* Maintainers: [[User:R. Koot]]
*/
Common.autoCollapse = 2;
Common.collapseCaption = "ukryj";
Common.expandCaption = "pokaż";
Common.collapseTable=function( tableIndex )
{
var Button = document.getElementById( "collapseButton" + tableIndex );
var Table = document.getElementById( "collapsibleTable" + tableIndex );
if ( !Table || !Button ) {
return false;
}
var Rows = Table.rows;
if ( Button.firstChild.data == Common.collapseCaption ) {
for ( var i = 1; i < Rows.length; i++ ) {
Rows[i].style.display = "none";
}
Button.firstChild.data = Common.expandCaption;
} else {
for ( var i = 1; i < Rows.length; i++ ) {
Rows[i].style.display = Rows[0].style.display;
}
Button.firstChild.data = Common.collapseCaption;
}
}
Common.createCollapseButtons=function()
{
var tableIndex = 0;
var NavigationBoxes = new Object();
var Tables = document.getElementsByTagName( "table" );
for ( var i = 0; i < Tables.length; i++ ) {
if ( $(Tables[i]).hasClass( "collapsible" ) ) {
/* only add button and increment count if there is a header row to work with */
var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0];
if (!HeaderRow) continue;
var Header = HeaderRow.getElementsByTagName( "th" )[0];
if (!Header) continue;
NavigationBoxes[ tableIndex ] = Tables[i];
Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex );
var Button = document.createElement( "span" );
var ButtonLink = document.createElement( "a" );
var ButtonText = document.createTextNode( Common.collapseCaption );
Button.style.styleFloat = "right";
Button.style.cssFloat = "right";
Button.style.fontWeight = "normal";
Button.style.textAlign = "right";
Button.style.width = "6em";
ButtonLink.style.color = Header.style.color;
ButtonLink.setAttribute( "id", "collapseButton" + tableIndex );
ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" );
ButtonLink.appendChild( ButtonText );
Button.appendChild( document.createTextNode( "[" ) );
Button.appendChild( ButtonLink );
Button.appendChild( document.createTextNode( "]" ) );
$(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){
$(element).remove();
});
Header.insertBefore( Button, Header.childNodes[0]);
tableIndex++;
}
}
for ( var i = 0; i < tableIndex; i++ ) {
if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) {
Common.collapseTable( i );
}
else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) {
var element = NavigationBoxes[i];
while (element = element.parentNode) {
if ( $(element).hasClass( "outercollapse" ) ) {
Common.collapseTable ( i );
break;
}
}
}
}
}
$(Common.createCollapseButtons );
/** Dynamic Navigation Bars (experimental) *************************************
*
* Description: See [[Wikipedia:NavFrame]].
* Maintainers: UNMAINTAINED
*/
// set up the words in your language
Common.NavigationBarHide = '[' + Common.collapseCaption + ']';
Common.NavigationBarShow = '[' + Common.expandCaption + ']';
// shows and hides content and picture (if available) of navigation bars
// Parameters:
// indexNavigationBar: the index of navigation bar to be toggled
Common.toggleNavigationBar=function(indexNavigationBar)
{
var NavToggle = document.getElementById("NavToggle" + indexNavigationBar);
var NavFrame = document.getElementById("NavFrame" + indexNavigationBar);
if (!NavFrame || !NavToggle) {
return false;
}
// if shown now
if (NavToggle.firstChild.data == Common.NavigationBarHide) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) ) {
NavChild.style.display = 'none';
}
if ( $(NavChild).hasClass( 'NavContent') ) {
NavChild.style.display = 'none';
}
}
NavToggle.firstChild.data = Common.NavigationBarShow;
// if hidden now
} else if (NavToggle.firstChild.data == Common.NavigationBarShow) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ($(NavChild).hasClass( 'NavPic')) {
NavChild.style.display = 'block';
}
if ($(NavChild).hasClass( 'NavContent')) {
NavChild.style.display = 'block';
}
}
NavToggle.firstChild.data = Common.NavigationBarHide;
}
}
// adds show/hide-button to navigation bars
Common.createNavigationBarToggleButton=function()
{
var indexNavigationBar = 0;
// iterate over all < div >-elements
var divs = document.getElementsByTagName("div");
for (var i = 0; NavFrame = divs[i]; i++) {
// if found a navigation bar
if ($(NavFrame).hasClass( "NavFrame")) {
indexNavigationBar++;
var NavToggle = document.createElement("a");
NavToggle.className = 'NavToggle';
NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar);
NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');');
var isCollapsed = $(NavFrame).hasClass( "collapsed" );
/*
* Check if any children are already hidden. This loop is here for backwards compatibility:
* the old way of making NavFrames start out collapsed was to manually add style="display:none"
* to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make
* the content visible without JavaScript support), the new recommended way is to add the class
* "collapsed" to the NavFrame itself, just like with collapsible tables.
*/
for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) {
if ( NavChild.style.display == 'none' ) {
isCollapsed = true;
}
}
}
if (isCollapsed) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) {
NavChild.style.display = 'none';
}
}
}
var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide);
NavToggle.appendChild(NavToggleText);
// Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked)
for(var j=0; j < NavFrame.childNodes.length; j++) {
if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) {
$(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){
$(element).remove();
});
NavFrame.childNodes[j].appendChild(NavToggle);
}
}
NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar);
}
}
}
$(Common.createNavigationBarToggleButton );
// Wyszukiwanie Google na stronach podręczników
Common.googleSearchInitialized = false;
Common.insertGoogleSearch=function() {
if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) {
return;
}
Common.googleSearchInitialized = true;
var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE";
var ul = jQuery('#p-tb ul')[0];
if (!ul) {
return;
}
var link = document.createElement('a');
var book = Common.pageInfo.book;
if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) {
google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22"
}
link.href = google.replace(/PAGE/g, encodeURIComponent(book));
link.appendChild(document.createTextNode("Szukaj w podręczniku"));
var li = document.createElement('li');
li.id = "google-trick-search";
li.appendChild(link);
$(ul).children('li#google-trick-search').each(function(i,element){
$(element).remove();
});
ul.insertBefore(li, ul.firstChild);
}
$(Common.insertGoogleSearch);
/*Funkcja do liczenia szerokościm mapska przewijania w pionowego, wtedy x_box_right=="y", lub poziomego, wtedy inny parametr inny niż dla paska pionowego*/
Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){
var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>');
$('body').append(div);
var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")]();
div.css('overflow-'+(x_box_right||"y"), 'scroll');
var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")]();
$(div).remove();
return (w1 - w2);
}
/*Funkcje do obsługi pasków przewijania*/
Common.ScrollBarOverflow=function(){
$('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){
/*start overflow*/
var comp=window.getComputedStyle(element_g, null);
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var overflow=comp.getPropertyValue("overflow");
var overflow_x=$(element_g).hasClass('mw-overflow-x');
if(overflow_x){
var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
if((overflowX)&&(overflowX=="auto")){
element_g.classList.remove("mw-scrollbar-overflow-x");
const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false
if(hasHorizontalScrollbar){
element_g.classList.add("mw-scrollbar-overflow-x");
}
}
}
var overflow_y=$(element_g).hasClass('mw-overflow-y');
if(overflow_y){
var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflowY)&&(overflowY=="auto")){
element_g.classList.remove("mw-scrollbar-overflow-y");
const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false
if(hasVerticalScrollbar){
element_g.classList.add("mw-scrollbar-overflow-y");
}
}
}
/*koniec overflow*/
});
}
$(Common.ScrollBarOverflow);
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow');
Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow');
});
/*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/
Common.StickyXY=function(){
$('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){
var comp=window.getComputedStyle(element_g, null);
function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){
var pozycje_paskow=new Array();
$(element_g).find('*').each(function(i,element){
var comp=window.getComputedStyle(element, null);
var overflow=comp.getPropertyValue("overflow");
var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){
pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft));
}
});
var height_sticky=0;
$('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){
var rect_sticky=el.getBoundingClientRect();
height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]);
});
var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom);
if(StickyXYTopOld===undefined){
var topold_war=parseFloat(element_g.style[top]);
$(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0));
}
if(StickyXYBottomOld===undefined){
var bottomold_war=parseFloat(element_g.style[bottom]);
$(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0));
}
var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5;
var margintop=parseFloat(comp.getPropertyValue("margin-"+top));
margintop=((!isNaN(margintop))?margintop:0);
var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom));
marginbottom=((!isNaN(marginbottom))?marginbottom:0);
var przodek_height=undefined;
element_g.style[height]="auto";
element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[top]="auto";
element_g.style[bottom]="auto";
if(width_box!=null){
element_g.style[width_box]="auto";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[left_box]="auto";
element_g.style[right_box]="0";
$(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){
element.style[width_box]="auto";
element.classList.remove('mw-scrollbar-overflow-x');
element.classList.remove('mw-scrollbar-overflow-y');
});
}
/**/
var parents_node_fun=$(element_g).parents('.mw-parent-node').first();
if((parents_node_fun==null)||(parents_node_fun.length==0)){return;}
var width_rodzic=null;
var rodzic_element=undefined;
var comp_rodz;
parents_node_fun.each(function(i,element){
comp_rodz=window.getComputedStyle(element,null);
przodek_height=parseFloat(comp_rodz.getPropertyValue([height]));
width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null;
rodzic_element=element;
});
var height_box_real=parseFloat(comp.getPropertyValue(height));
var rect_dziecko=element_g.getBoundingClientRect();
var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))];
var rect_rodzic;
parents_node_fun.each(function(i,element){
rect_rodzic=element.getBoundingClientRect();
});
var top_ab=rect_rodzic[top];
var bottom_ab=(wys-rect_rodzic[bottom]);
var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop);
element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px";
element_g.style[height]="100%";
var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)));
element_g.style[top]=top_obj+"px";
element_g.style[bottom]="auto";
if(width_box!=null){
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
rodzic_element.style.position="static";
rodzic_element.style.overflow="hidden";
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
var rect_dziecko=element_g.getBoundingClientRect();
if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){
if(width_box=="width"){
element_g.classList.remove('mw-scrollbar-overflow-x');
}else{
element_g.classList.remove('mw-scrollbar-overflow-y');
}
if(rect_dziecko[width_box]>width_rodzic){
if(width_box=="width"){
element_g.classList.add('mw-scrollbar-overflow-x');
}else{
element_g.classList.add('mw-scrollbar-overflow-y');
}
}
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box));
margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box));
var dlugosc=(width_rodzic-margin_all);
dlugosc=((dlugosc>=0)?dlugosc:0);
element_g.style.whiteSpace="nowrap";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px";
element_g.style[width_box]=width_box_real+"px";
Common.ScrollBarOverflow();
$(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){
var comp_element=window.getComputedStyle(element, null)
element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat (comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px";
element.classList.remove('mw-scrollbar-overflow-'+x_box);
});
element_g.style.whiteSpace="normal";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[width_box]="auto";
var rect_dziecko=element_g.getBoundingClientRect();
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px";
element_g.style[width_box]=width_box_real+"px";
element_g.style[left_box]="0";
element_g.style[right_box]="auto";
rodzic_element.style.position="relative";
}else{
element_g.style.whiteSpace="nowrap";
var szerokosc_box=rect_dziecko[width_box];
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px";
element_g.style[width_box]=(szerokosc_box)+"px";
Common.ScrollBarOverflow();
$(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){
var comp_element=window.getComputedStyle(element, null);
element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat (comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px";
element.classList.remove('mw-scrollbar-overflow-'+x_box);
});
element_g.style.whiteSpace="normal";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[width_box]="auto";
var rect_dziecko=element_g.getBoundingClientRect();
var szerokosc_box=rect_dziecko[width_box];
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px";
element_g.style[width_box]=(szerokosc_box)+"px";
var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box));
if(parseInt(szerokosc)>parseInt(width_rodzic)){
element_g.style[right_box]="0";
element_g.style[left_box]="auto";
rodzic_element.style.overflow="visible";
}else{
element_g.style[left_box]="0";
element_g.style[right_box]="auto";
rodzic_element.style.position="relative";
}
}
}
element_g.style[height]="auto";
element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px";
Common.ScrollBarOverflow();
for(var i in pozycje_paskow){
pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1];
pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2];
}
}
element_g.classList.add('mw-sticky-js');
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var visibility=comp.getPropertyValue("visibility");
if(visibility=="hidden"){return;}
var position=comp.getPropertyValue("position");
if(position!="absolute"){return;}
var sticky_x=$(element_g).hasClass('mw-sticky-x');
var sticky_y=$(element_g).hasClass('mw-sticky-y');
if((sticky_x)&&(!sticky_y)){
var str=$(element_g).parents('.strona_górna, .strona_dolna').first();
if(str.hasClass('strona_dolna')){
FunStickyXY("width","left","right","height","top","bottom","y","x");
}else if(str.hasClass('strona_górna')){
FunStickyXY("width","left","right","height","bottom","top","y","x");
}
}else if((!sticky_x)&&(sticky_y)){
var str=$(element_g).parents('.strona_prawa, .strona_lewa').first();
if(str.hasClass('strona_prawa')){
FunStickyXY("height","top","bottom","width","left","right","x","y");
}else if(str.hasClass('strona_lewa')){
FunStickyXY("height","top","bottom","width","right","left","x","y");
}
}else if((sticky_x)&&(sticky_y)){
FunStickyXY("width","left","right",null);
FunStickyXY("height","top","bottom",null);
}
});
}
$(Common.StickyXY);
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY');
Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY');
});
/*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/
Common.OptimalXY=function(){
$('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){
var comp=window.getComputedStyle(element_g, null);
function FunOptimalXY(width,left,right){
var pozycje_paskow=new Array();
$(element_g).find('*').each(function(i,element){
var comp=window.getComputedStyle(element, null);
var overflow=comp.getPropertyValue("overflow");
var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){
pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft));
}
});
var width_rodzic=null;
var rodzic_node;
var comp_rodz;
$(element_g).parents('.mw-parent-node').first().each(function(i,element){
comp_rodz=window.getComputedStyle(element,null);
width_rodzic=parseFloat(comp_rodz.getPropertyValue([width]));
rodzic_node=element;
});
if((width_rodzic!=null)&&(!isNaN(width_rodzic))){
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
var width_box_real=parseFloat(comp.getPropertyValue(width));
var rect_dziecko=element_g.getBoundingClientRect();
if(width=="width"){
element_g.classList.remove('mw-scrollbar-overflow-x');
}else{
element_g.classList.remove('mw-scrollbar-overflow-y');
}
if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){
var rect_dziecko=element_g.getBoundingClientRect();
if(rect_dziecko[width]>width_rodzic){
if(width=="width"){
element_g.classList.add('mw-scrollbar-overflow-x');
}else{
element_g.classList.add('mw-scrollbar-overflow-y');
}
}
var width_box_real=parseFloat(comp.getPropertyValue(width));
var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right));
margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right));
var dlugosc=(width_rodzic-margin_all);
dlugosc=((dlugosc>=0)?dlugosc:0);
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px";
}else{
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px";
}
var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first();
if(!str.hasClass('strona_start-nawigacja_boksy')){
var rect_dziecko=element_g.getBoundingClientRect();
var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right));
if(parseInt(szerokosc)>parseInt(width_rodzic)){
str.css('position','static');
}else{
str.css('position','relative');
}
}
}
for(var i in pozycje_paskow){
pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1];
pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2];
}
};
element_g.classList.add('mw-optimal-js');
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var visibility=comp.getPropertyValue("visibility");
if(visibility=="hidden"){return;}
var position=comp.getPropertyValue("position");
if(position!="absolute"){return;}
var optimal_x=$(element_g).hasClass('mw-optimal-x');
var optimal_y=$(element_g).hasClass('mw-optimal-y');
if(optimal_x){
FunOptimalXY("width","left","right");
}
if(optimal_y){
FunOptimalXY("height","top","bottom");
}
});
}
$(Common.OptimalXY);
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY');
Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY');
});
/*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/
Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){
$(obiekt).each(function(i,element_f){
var id=element_f.getAttribute("id")
if((id)&&(id==id_tabeli_lub_ramki+i)){
var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i);
if((collapsebutton!==null)&&(collapsebutton.length>0)){
$('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){
var href=element_g.getAttribute('href');
if((href!=null)&&(href!="")){
var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*";
var re_frame = new RegExp(col,'g');
var re_javascript=new RegExp("^[\\s;]*javascript:");
if((re_javascript.test(href))&&(re_frame.test(href))){
var href=element_g.getAttribute('href');
if((href!==null)&&(href!="")){
function DodajSkryptJavaScript(fun){
var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g');
var href_nowe=element_g.getAttribute('href');
if(!re.test(href_nowe)){
element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()");
}
}
DodajSkryptJavaScript('Common.ScrollBarOverflow');
DodajSkryptJavaScript('Common.StickyXY');
DodajSkryptJavaScript('Common.OptimalXY');
}
}
}
});
}
}
});
}
$(function(){
/*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/
Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable');
/*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/
Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar');
/*Koniec dodatkowych funkcji*/
});
/*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz,z_mouse){
/*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/
var tab_transition={'start':true,'run':true,'cancel':true,'end':true};
var tab_przegladarki={'':true,'webkit':true,'moz':true,'o':true};
for(var a in tab_transition){
for(var b in tab_przegladarki){
var zdarzenie=b+'transition'+a;
Common.ZdarzeniaJavaScript(css,zdarzenie,fun_zdarz);
}
}
if(z_mouse){
Common.ZdarzeniaJavaScript(css,"mouseenter",fun_zdarz);
Common.ZdarzeniaJavaScript(css,"mouseleave",fun_zdarz);
}
};
$(function(){
/*Funkcje zdarzeń*/
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY',true);
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY',true);
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY',false);
});
/*Koniec dodatkowych zdarzeń*/
/*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/
Common.StronaStart=function(){
var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks');
elements.parent().show();
$('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){
$(element).css('visibility',"hidden");
$(element).attr('mw-menu-boks',"false");
});
$('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){
var czy_visible=$(element).css('visibility');
$(element).css('visibility',"visible");
$(element).attr('mw-menu-boks',"true");
var str=$(element).parents('.strona_prawa, .strona_lewa').first();
str.css('position','relative');
str.addClass('strona_start-nawigacja_spis');
str.removeClass('strona_start-nawigacja_boksy');
if(czy_visible=="hidden"){
$(Common.ScrollBarOverflow);
$(Common.StickyXY);
}
});
var str=$('.strona_start').find('.strona .ciało_zawartości > .menu > .menu_boks').children('.spis_treści, .boksy');
if(str.length!=2){return;}
$(str[0]).attr('mw-menu-boks',"true");
$(str[1]).attr('mw-menu-boks',"false");
Common.StronaStartZdarzeniePrzycisku=function(){
var id=this;
$(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){
var menu_boks_zmienna=$(element).attr('mw-menu-boks');
menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false");
if(menu_boks_zmienna=="false"){
$(element).css('display',"block");
$(element).attr('mw-menu-boks','true');
}else if(menu_boks_zmienna=="true"){
$(element).css('display',"none");
$(element).attr('mw-menu-boks','false');
}
});
$(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children('.nawigacja_boksy, .nawigacja_spis').each(function(i,element){
var menu_boks_zmienna=$(element).attr('mw-menu-boks');
menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false");
if(menu_boks_zmienna=="false"){
$(element).css('visibility',"visible");
$(element).attr('mw-menu-boks',"true");
var str=$(element).parents('.strona_prawa, .strona_lewa').first();
if($(element).hasClass('nawigacja_boksy')){
str.css('position','static');
str.addClass('strona_start-nawigacja_boksy');
str.removeClass('strona_start-nawigacja_spis');
$(Common.ScrollBarOverflow);
$(Common.OptimalXY);
}else if($(element).hasClass('nawigacja_spis')){
str.css('position','relative');
str.addClass('strona_start-nawigacja_spis');
str.removeClass('strona_start-nawigacja_boksy');
$(Common.ScrollBarOverflow);
$(Common.StickyXY);
}
}else if(menu_boks_zmienna=="true"){
$(element).css('visibility',"hidden");
$(element).attr('mw-menu-boks',"false");
}
});
}
if(Common.StronaStartZdarzeniePrzycisku)Common.ZdarzeniaJavaScript(elements,'click','StronaStartZdarzeniePrzycisku');
}
$(Common.StronaStart);
})(Common_zmienna_z_MediaWiki_Wikibooks,Common);
33ub5tq58syb6gpbvry0unb800yj13v
437897
437896
2022-08-16T16:07:01Z
Persino
2851
javascript
text/javascript
mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true );
/**/
/* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony.
*/
/*
* Zmienna Common.pageInfo, jego elementy, instrukcja obsługi:
* Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber)
* Common.pageInfo.name pełna nazwa strony
* Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash
* Common.pageInfo.book tytuł książki
* Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get"
* Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL
*/
/*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/
var Common_zmienna_z_MediaWiki_Wikibooks=this['Common'];
/*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/
var Common=new Array();
/*Funkcja, by nie było przecieków pamięci*/
(function(Common_zmienna_z_MediaWiki_Wikibooks,Common){
/*Funkcja zwraca zmienną Common ze strony MediaWiki:Common.js, gdy użytkownik ma właną zmienną Common w swoim common.js, w przeciwnym wypadku zwraca undefined.*/
Common.MediaWikiCommon=function(){return Common_zmienna_z_MediaWiki_Wikibooks;}
/*Funkcja zwraca zmienną Common ze strony User:<Użytkownik>/common.js, jeżeli użytkownik ma własną zmienną Common we własnym common.js, w przeciwnym wypadku zwraca Common, ze strony MediaWiki:Common.js.*/
Common.UserCommon=function(){return Common;}
/*Sprawdza, czy użytkownik ma własną zmienną Common.*/
Common.IsUserCommon=function(){return ((Common_zmienna_z_MediaWiki_Wikibooks)?true:false);};
// Frame Busting
Common.LokowanieTopSelf=function(){
if (top != self) top.location.href = self.location.href;
};
$(Common.LokowanieTopSelf);
/*Funkcja zdarzeń odrejestrowania i rejestrowania*/
Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen,tylko_odrejestruj){
/*
css - adres html obiektu,
zdarzenie - zdarzenie jak click,
funkcja_zdarzen - nazwa funkcji zdarzeń w starej przestrzeni Common lub nowej, jak StickyXY,
tylko_odrejestruj - czy tylko zdarzenie ma odrejestrować w starej przestrzeni Common.
*/
if((css)&&(zdarzenie)&&(funkcja_zdarzen)){
/*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/
if((Common_zmienna_z_MediaWiki_Wikibooks)&&(Common_zmienna_z_MediaWiki_Wikibooks[funkcja_zdarzen])){
$(css).off(zdarzenie,Common_zmienna_z_MediaWiki_Wikibooks[funkcja_zdarzen]);
}
if((!tylko_odrejestruj)&&(Common)&&(Common[funkcja_zdarzen])){
/*Rejestrowanie zdarzeń, ale z tej strony .js*/
$(css).on(zdarzenie, Common[funkcja_zdarzen]);
}
}
}
/*Funkcje w przestrzeni nazw Common*/
Common.Naglowek=function(){
/* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */
var hideAll = document.getElementById('mójNagłówekUkryj');
var noFooter = false;
var footers = 0;
var tags = document.getElementsByTagName('div');
for (var i = 0; i < tags.length; i++) {
var el=tags[i].getAttribute("id");
if (el=='mojaStopka')
footers++;
else if (hideAll && (el=='mójNagłówek')) {
tags[i].innerHTML="";
noFooter=true;
}
}
if (noFooter) return;
var footer = document.getElementById('mojaStopka');
if ((footer !== null) && (footers==1)) {
var bodyContent = document.getElementById('bodyContent');
if (bodyContent !== null) {
var s0=document.getElementById('mojaStopka0');
var s1=document.getElementById('mojaStopka1');
if ((s1 !== null) ||
((s0 === null) && (bodyContent.innerHTML.length>8000))){
var strona=document.getElementById('strona');
if(strona!==null){
strona.appendChild(footer);
}else{
var catlinks=document.getElementById('catlinks');
if(catlinks !== null){
bodyContent.insertBefore(footer,catlinks);
}else{
bodyContent.appendChild(footer);
}
}
}
}
}
/* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */
};
$(Common.Naglowek);
/*Informacje o danej stronie*/
Common.PageInfoInit=function(){
var _g = /_/g;
this.name = mw.config.get('wgPageName').replace(/_/g, ' ');
this.namespace = mw.config.get('wgNamespaceNumber');
var i = this.name.search(/\/[^\/]*$/g);
this.title = this.name.slice(i + 1);
this.book = this.name.replace(/\/.*/g, "");
if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) {
re = /\&diff=/g;
this.diff = re.test(document.URL);
re = /\&action=[^\&]*/g;
this.action = document.URL.match(re);
if ( this.action === null ) {
this.action = 'get';
} else {
this.action = this.action[0].slice(8, this.action[0].length);
}
} else {
this.diff = null;
this.action = 'get';
}
}
Common.pageInfo = new Common.PageInfoInit();
/** Collapsible tables *********************************************************
*
* Description: Allows tables to be collapsed, showing only the header. See
* [[en:Wikipedia:NavFrame]].
* Maintainers: [[User:R. Koot]]
*/
Common.autoCollapse = 2;
Common.collapseCaption = "ukryj";
Common.expandCaption = "pokaż";
Common.collapseTable=function( tableIndex )
{
var Button = document.getElementById( "collapseButton" + tableIndex );
var Table = document.getElementById( "collapsibleTable" + tableIndex );
if ( !Table || !Button ) {
return false;
}
var Rows = Table.rows;
if ( Button.firstChild.data == Common.collapseCaption ) {
for ( var i = 1; i < Rows.length; i++ ) {
Rows[i].style.display = "none";
}
Button.firstChild.data = Common.expandCaption;
} else {
for ( var i = 1; i < Rows.length; i++ ) {
Rows[i].style.display = Rows[0].style.display;
}
Button.firstChild.data = Common.collapseCaption;
}
}
Common.createCollapseButtons=function()
{
var tableIndex = 0;
var NavigationBoxes = new Object();
var Tables = document.getElementsByTagName( "table" );
for ( var i = 0; i < Tables.length; i++ ) {
if ( $(Tables[i]).hasClass( "collapsible" ) ) {
/* only add button and increment count if there is a header row to work with */
var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0];
if (!HeaderRow) continue;
var Header = HeaderRow.getElementsByTagName( "th" )[0];
if (!Header) continue;
NavigationBoxes[ tableIndex ] = Tables[i];
Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex );
var Button = document.createElement( "span" );
var ButtonLink = document.createElement( "a" );
var ButtonText = document.createTextNode( Common.collapseCaption );
Button.style.styleFloat = "right";
Button.style.cssFloat = "right";
Button.style.fontWeight = "normal";
Button.style.textAlign = "right";
Button.style.width = "6em";
ButtonLink.style.color = Header.style.color;
ButtonLink.setAttribute( "id", "collapseButton" + tableIndex );
ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" );
ButtonLink.appendChild( ButtonText );
Button.appendChild( document.createTextNode( "[" ) );
Button.appendChild( ButtonLink );
Button.appendChild( document.createTextNode( "]" ) );
$(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){
$(element).remove();
});
Header.insertBefore( Button, Header.childNodes[0]);
tableIndex++;
}
}
for ( var i = 0; i < tableIndex; i++ ) {
if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) {
Common.collapseTable( i );
}
else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) {
var element = NavigationBoxes[i];
while (element = element.parentNode) {
if ( $(element).hasClass( "outercollapse" ) ) {
Common.collapseTable ( i );
break;
}
}
}
}
}
$(Common.createCollapseButtons );
/** Dynamic Navigation Bars (experimental) *************************************
*
* Description: See [[Wikipedia:NavFrame]].
* Maintainers: UNMAINTAINED
*/
// set up the words in your language
Common.NavigationBarHide = '[' + Common.collapseCaption + ']';
Common.NavigationBarShow = '[' + Common.expandCaption + ']';
// shows and hides content and picture (if available) of navigation bars
// Parameters:
// indexNavigationBar: the index of navigation bar to be toggled
Common.toggleNavigationBar=function(indexNavigationBar)
{
var NavToggle = document.getElementById("NavToggle" + indexNavigationBar);
var NavFrame = document.getElementById("NavFrame" + indexNavigationBar);
if (!NavFrame || !NavToggle) {
return false;
}
// if shown now
if (NavToggle.firstChild.data == Common.NavigationBarHide) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) ) {
NavChild.style.display = 'none';
}
if ( $(NavChild).hasClass( 'NavContent') ) {
NavChild.style.display = 'none';
}
}
NavToggle.firstChild.data = Common.NavigationBarShow;
// if hidden now
} else if (NavToggle.firstChild.data == Common.NavigationBarShow) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ($(NavChild).hasClass( 'NavPic')) {
NavChild.style.display = 'block';
}
if ($(NavChild).hasClass( 'NavContent')) {
NavChild.style.display = 'block';
}
}
NavToggle.firstChild.data = Common.NavigationBarHide;
}
}
// adds show/hide-button to navigation bars
Common.createNavigationBarToggleButton=function()
{
var indexNavigationBar = 0;
// iterate over all < div >-elements
var divs = document.getElementsByTagName("div");
for (var i = 0; NavFrame = divs[i]; i++) {
// if found a navigation bar
if ($(NavFrame).hasClass( "NavFrame")) {
indexNavigationBar++;
var NavToggle = document.createElement("a");
NavToggle.className = 'NavToggle';
NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar);
NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');');
var isCollapsed = $(NavFrame).hasClass( "collapsed" );
/*
* Check if any children are already hidden. This loop is here for backwards compatibility:
* the old way of making NavFrames start out collapsed was to manually add style="display:none"
* to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make
* the content visible without JavaScript support), the new recommended way is to add the class
* "collapsed" to the NavFrame itself, just like with collapsible tables.
*/
for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) {
if ( NavChild.style.display == 'none' ) {
isCollapsed = true;
}
}
}
if (isCollapsed) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) {
NavChild.style.display = 'none';
}
}
}
var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide);
NavToggle.appendChild(NavToggleText);
// Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked)
for(var j=0; j < NavFrame.childNodes.length; j++) {
if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) {
$(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){
$(element).remove();
});
NavFrame.childNodes[j].appendChild(NavToggle);
}
}
NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar);
}
}
}
$(Common.createNavigationBarToggleButton );
// Wyszukiwanie Google na stronach podręczników
Common.googleSearchInitialized = false;
Common.insertGoogleSearch=function() {
if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) {
return;
}
Common.googleSearchInitialized = true;
var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE";
var ul = jQuery('#p-tb ul')[0];
if (!ul) {
return;
}
var link = document.createElement('a');
var book = Common.pageInfo.book;
if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) {
google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22"
}
link.href = google.replace(/PAGE/g, encodeURIComponent(book));
link.appendChild(document.createTextNode("Szukaj w podręczniku"));
var li = document.createElement('li');
li.id = "google-trick-search";
li.appendChild(link);
$(ul).children('li#google-trick-search').each(function(i,element){
$(element).remove();
});
ul.insertBefore(li, ul.firstChild);
}
$(Common.insertGoogleSearch);
/*Funkcja do liczenia szerokościm mapska przewijania w pionowego, wtedy x_box_right=="y", lub poziomego, wtedy inny parametr inny niż dla paska pionowego*/
Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){
var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>');
$('body').append(div);
var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")]();
div.css('overflow-'+(x_box_right||"y"), 'scroll');
var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")]();
$(div).remove();
return (w1 - w2);
}
/*Funkcje do obsługi pasków przewijania*/
Common.ScrollBarOverflow=function(){
$('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){
/*start overflow*/
var comp=window.getComputedStyle(element_g, null);
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var overflow=comp.getPropertyValue("overflow");
var overflow_x=$(element_g).hasClass('mw-overflow-x');
if(overflow_x){
var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
if((overflowX)&&(overflowX=="auto")){
element_g.classList.remove("mw-scrollbar-overflow-x");
const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false
if(hasHorizontalScrollbar){
element_g.classList.add("mw-scrollbar-overflow-x");
}
}
}
var overflow_y=$(element_g).hasClass('mw-overflow-y');
if(overflow_y){
var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflowY)&&(overflowY=="auto")){
element_g.classList.remove("mw-scrollbar-overflow-y");
const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false
if(hasVerticalScrollbar){
element_g.classList.add("mw-scrollbar-overflow-y");
}
}
}
/*koniec overflow*/
});
}
$(Common.ScrollBarOverflow);
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow');
Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow');
});
/*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/
Common.StickyXY=function(){
$('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){
var comp=window.getComputedStyle(element_g, null);
function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){
var pozycje_paskow=new Array();
$(element_g).find('*').each(function(i,element){
var comp=window.getComputedStyle(element, null);
var overflow=comp.getPropertyValue("overflow");
var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){
pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft));
}
});
var height_sticky=0;
$('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){
var rect_sticky=el.getBoundingClientRect();
height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]);
});
var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom);
if(StickyXYTopOld===undefined){
var topold_war=parseFloat(element_g.style[top]);
$(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0));
}
if(StickyXYBottomOld===undefined){
var bottomold_war=parseFloat(element_g.style[bottom]);
$(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0));
}
var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5;
var margintop=parseFloat(comp.getPropertyValue("margin-"+top));
margintop=((!isNaN(margintop))?margintop:0);
var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom));
marginbottom=((!isNaN(marginbottom))?marginbottom:0);
var przodek_height=undefined;
element_g.style[height]="auto";
element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[top]="auto";
element_g.style[bottom]="auto";
if(width_box!=null){
element_g.style[width_box]="auto";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[left_box]="auto";
element_g.style[right_box]="0";
$(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){
element.style[width_box]="auto";
element.classList.remove('mw-scrollbar-overflow-x');
element.classList.remove('mw-scrollbar-overflow-y');
});
}
/**/
var parents_node_fun=$(element_g).parents('.mw-parent-node').first();
if((parents_node_fun==null)||(parents_node_fun.length==0)){return;}
var width_rodzic=null;
var rodzic_element=undefined;
var comp_rodz;
parents_node_fun.each(function(i,element){
comp_rodz=window.getComputedStyle(element,null);
przodek_height=parseFloat(comp_rodz.getPropertyValue([height]));
width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null;
rodzic_element=element;
});
var height_box_real=parseFloat(comp.getPropertyValue(height));
var rect_dziecko=element_g.getBoundingClientRect();
var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))];
var rect_rodzic;
parents_node_fun.each(function(i,element){
rect_rodzic=element.getBoundingClientRect();
});
var top_ab=rect_rodzic[top];
var bottom_ab=(wys-rect_rodzic[bottom]);
var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop);
element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px";
element_g.style[height]="100%";
var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)));
element_g.style[top]=top_obj+"px";
element_g.style[bottom]="auto";
if(width_box!=null){
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
rodzic_element.style.position="static";
rodzic_element.style.overflow="hidden";
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
var rect_dziecko=element_g.getBoundingClientRect();
if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){
if(width_box=="width"){
element_g.classList.remove('mw-scrollbar-overflow-x');
}else{
element_g.classList.remove('mw-scrollbar-overflow-y');
}
if(rect_dziecko[width_box]>width_rodzic){
if(width_box=="width"){
element_g.classList.add('mw-scrollbar-overflow-x');
}else{
element_g.classList.add('mw-scrollbar-overflow-y');
}
}
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box));
margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box));
var dlugosc=(width_rodzic-margin_all);
dlugosc=((dlugosc>=0)?dlugosc:0);
element_g.style.whiteSpace="nowrap";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px";
element_g.style[width_box]=width_box_real+"px";
Common.ScrollBarOverflow();
$(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){
var comp_element=window.getComputedStyle(element, null)
element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat (comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px";
element.classList.remove('mw-scrollbar-overflow-'+x_box);
});
element_g.style.whiteSpace="normal";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[width_box]="auto";
var rect_dziecko=element_g.getBoundingClientRect();
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px";
element_g.style[width_box]=width_box_real+"px";
element_g.style[left_box]="0";
element_g.style[right_box]="auto";
rodzic_element.style.position="relative";
}else{
element_g.style.whiteSpace="nowrap";
var szerokosc_box=rect_dziecko[width_box];
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px";
element_g.style[width_box]=(szerokosc_box)+"px";
Common.ScrollBarOverflow();
$(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){
var comp_element=window.getComputedStyle(element, null);
element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat (comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px";
element.classList.remove('mw-scrollbar-overflow-'+x_box);
});
element_g.style.whiteSpace="normal";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[width_box]="auto";
var rect_dziecko=element_g.getBoundingClientRect();
var szerokosc_box=rect_dziecko[width_box];
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px";
element_g.style[width_box]=(szerokosc_box)+"px";
var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box));
if(parseInt(szerokosc)>parseInt(width_rodzic)){
element_g.style[right_box]="0";
element_g.style[left_box]="auto";
rodzic_element.style.overflow="visible";
}else{
element_g.style[left_box]="0";
element_g.style[right_box]="auto";
rodzic_element.style.position="relative";
}
}
}
element_g.style[height]="auto";
element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px";
Common.ScrollBarOverflow();
for(var i in pozycje_paskow){
pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1];
pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2];
}
}
element_g.classList.add('mw-sticky-js');
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var visibility=comp.getPropertyValue("visibility");
if(visibility=="hidden"){return;}
var position=comp.getPropertyValue("position");
if(position!="absolute"){return;}
var sticky_x=$(element_g).hasClass('mw-sticky-x');
var sticky_y=$(element_g).hasClass('mw-sticky-y');
if((sticky_x)&&(!sticky_y)){
var str=$(element_g).parents('.strona_górna, .strona_dolna').first();
if(str.hasClass('strona_dolna')){
FunStickyXY("width","left","right","height","top","bottom","y","x");
}else if(str.hasClass('strona_górna')){
FunStickyXY("width","left","right","height","bottom","top","y","x");
}
}else if((!sticky_x)&&(sticky_y)){
var str=$(element_g).parents('.strona_prawa, .strona_lewa').first();
if(str.hasClass('strona_prawa')){
FunStickyXY("height","top","bottom","width","left","right","x","y");
}else if(str.hasClass('strona_lewa')){
FunStickyXY("height","top","bottom","width","right","left","x","y");
}
}else if((sticky_x)&&(sticky_y)){
FunStickyXY("width","left","right",null);
FunStickyXY("height","top","bottom",null);
}
});
}
$(Common.StickyXY);
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY');
Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY');
});
/*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/
Common.OptimalXY=function(){
$('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){
var comp=window.getComputedStyle(element_g, null);
function FunOptimalXY(width,left,right){
var pozycje_paskow=new Array();
$(element_g).find('*').each(function(i,element){
var comp=window.getComputedStyle(element, null);
var overflow=comp.getPropertyValue("overflow");
var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){
pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft));
}
});
var width_rodzic=null;
var rodzic_node;
var comp_rodz;
$(element_g).parents('.mw-parent-node').first().each(function(i,element){
comp_rodz=window.getComputedStyle(element,null);
width_rodzic=parseFloat(comp_rodz.getPropertyValue([width]));
rodzic_node=element;
});
if((width_rodzic!=null)&&(!isNaN(width_rodzic))){
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
var width_box_real=parseFloat(comp.getPropertyValue(width));
var rect_dziecko=element_g.getBoundingClientRect();
if(width=="width"){
element_g.classList.remove('mw-scrollbar-overflow-x');
}else{
element_g.classList.remove('mw-scrollbar-overflow-y');
}
if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){
var rect_dziecko=element_g.getBoundingClientRect();
if(rect_dziecko[width]>width_rodzic){
if(width=="width"){
element_g.classList.add('mw-scrollbar-overflow-x');
}else{
element_g.classList.add('mw-scrollbar-overflow-y');
}
}
var width_box_real=parseFloat(comp.getPropertyValue(width));
var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right));
margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right));
var dlugosc=(width_rodzic-margin_all);
dlugosc=((dlugosc>=0)?dlugosc:0);
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px";
}else{
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px";
}
var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first();
if(!str.hasClass('strona_start-nawigacja_boksy')){
var rect_dziecko=element_g.getBoundingClientRect();
var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right));
if(parseInt(szerokosc)>parseInt(width_rodzic)){
str.css('position','static');
}else{
str.css('position','relative');
}
}
}
for(var i in pozycje_paskow){
pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1];
pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2];
}
};
element_g.classList.add('mw-optimal-js');
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var visibility=comp.getPropertyValue("visibility");
if(visibility=="hidden"){return;}
var position=comp.getPropertyValue("position");
if(position!="absolute"){return;}
var optimal_x=$(element_g).hasClass('mw-optimal-x');
var optimal_y=$(element_g).hasClass('mw-optimal-y');
if(optimal_x){
FunOptimalXY("width","left","right");
}
if(optimal_y){
FunOptimalXY("height","top","bottom");
}
});
}
$(Common.OptimalXY);
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY');
Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY');
});
/*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/
Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){
$(obiekt).each(function(i,element_f){
var id=element_f.getAttribute("id")
if((id)&&(id==(id_tabeli_lub_ramki+i))){
var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i);
if((collapsebutton!==null)&&(collapsebutton.length>0)){
$('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){
var href=element_g.getAttribute('href');
if((href!=null)&&(href!="")){
var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*";
var re_frame = new RegExp(col,'g');
var re_javascript=new RegExp("^[\\s;]*javascript:");
if((re_javascript.test(href))&&(re_frame.test(href))){
var href=element_g.getAttribute('href');
if((href!==null)&&(href!="")){
function DodajSkryptJavaScript(fun){
var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g');
var href_nowe=element_g.getAttribute('href');
if(!re.test(href_nowe)){
element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()");
}
}
DodajSkryptJavaScript('Common.ScrollBarOverflow');
DodajSkryptJavaScript('Common.StickyXY');
DodajSkryptJavaScript('Common.OptimalXY');
}
}
}
});
}
}
});
}
$(function(){
/*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/
Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable');
/*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/
Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar');
/*Koniec dodatkowych funkcji*/
});
/*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz,z_mouse){
/*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/
var tab_transition={'start':true,'run':true,'cancel':true,'end':true};
var tab_przegladarki={'':true,'webkit':true,'moz':true,'o':true};
for(var a in tab_transition){
for(var b in tab_przegladarki){
var zdarzenie=b+'transition'+a;
Common.ZdarzeniaJavaScript(css,zdarzenie,fun_zdarz);
}
}
if(z_mouse){
Common.ZdarzeniaJavaScript(css,"mouseenter",fun_zdarz);
Common.ZdarzeniaJavaScript(css,"mouseleave",fun_zdarz);
}
};
$(function(){
/*Funkcje zdarzeń*/
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY',true);
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY',true);
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY',false);
});
/*Koniec dodatkowych zdarzeń*/
/*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/
Common.StronaStart=function(){
var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks');
elements.parent().show();
$('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){
$(element).css('visibility',"hidden");
$(element).attr('mw-menu-boks',"false");
});
$('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){
var czy_visible=$(element).css('visibility');
$(element).css('visibility',"visible");
$(element).attr('mw-menu-boks',"true");
var str=$(element).parents('.strona_prawa, .strona_lewa').first();
str.css('position','relative');
str.addClass('strona_start-nawigacja_spis');
str.removeClass('strona_start-nawigacja_boksy');
if(czy_visible=="hidden"){
$(Common.ScrollBarOverflow);
$(Common.StickyXY);
}
});
var str=$('.strona_start').find('.strona .ciało_zawartości > .menu > .menu_boks').children('.spis_treści, .boksy');
if(str.length!=2){return;}
$(str[0]).attr('mw-menu-boks',"true");
$(str[1]).attr('mw-menu-boks',"false");
Common.StronaStartZdarzeniePrzycisku=function(){
var id=this;
$(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){
var menu_boks_zmienna=$(element).attr('mw-menu-boks');
menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false");
if(menu_boks_zmienna=="false"){
$(element).css('display',"block");
$(element).attr('mw-menu-boks','true');
}else if(menu_boks_zmienna=="true"){
$(element).css('display',"none");
$(element).attr('mw-menu-boks','false');
}
});
$(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children('.nawigacja_boksy, .nawigacja_spis').each(function(i,element){
var menu_boks_zmienna=$(element).attr('mw-menu-boks');
menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false");
if(menu_boks_zmienna=="false"){
$(element).css('visibility',"visible");
$(element).attr('mw-menu-boks',"true");
var str=$(element).parents('.strona_prawa, .strona_lewa').first();
if($(element).hasClass('nawigacja_boksy')){
str.css('position','static');
str.addClass('strona_start-nawigacja_boksy');
str.removeClass('strona_start-nawigacja_spis');
$(Common.ScrollBarOverflow);
$(Common.OptimalXY);
}else if($(element).hasClass('nawigacja_spis')){
str.css('position','relative');
str.addClass('strona_start-nawigacja_spis');
str.removeClass('strona_start-nawigacja_boksy');
$(Common.ScrollBarOverflow);
$(Common.StickyXY);
}
}else if(menu_boks_zmienna=="true"){
$(element).css('visibility',"hidden");
$(element).attr('mw-menu-boks',"false");
}
});
}
if(Common.StronaStartZdarzeniePrzycisku)Common.ZdarzeniaJavaScript(elements,'click','StronaStartZdarzeniePrzycisku');
}
$(Common.StronaStart);
})(Common_zmienna_z_MediaWiki_Wikibooks,Common);
9cozo6d1nrwuyaer8rvldz1duqsqtte
437898
437897
2022-08-16T16:48:26Z
Persino
2851
javascript
text/javascript
mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true );
/**/
/* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony.
*/
/*
* Zmienna Common.pageInfo, jego elementy, instrukcja obsługi:
* Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber)
* Common.pageInfo.name pełna nazwa strony
* Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash
* Common.pageInfo.book tytuł książki
* Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get"
* Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL
*/
/*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/
var Common_zmienna_z_MediaWiki_Wikibooks=this['Common'];
/*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/
var Common=new Array();
/*Funkcja, by nie było przecieków pamięci*/
(function(Common_zmienna_z_MediaWiki_Wikibooks,Common){
/*Funkcja zwraca zmienną Common ze strony MediaWiki:Common.js, gdy użytkownik ma właną zmienną Common w swoim common.js, w przeciwnym wypadku zwraca undefined.*/
Common.MediaWikiCommon=function(){return Common_zmienna_z_MediaWiki_Wikibooks;}
/*Funkcja zwraca zmienną Common ze strony User:<Użytkownik>/common.js, jeżeli użytkownik ma własną zmienną Common we własnym common.js, w przeciwnym wypadku zwraca Common, ze strony MediaWiki:Common.js.*/
Common.UserCommon=function(){return Common;}
/*Sprawdza, czy użytkownik ma własną zmienną Common.*/
Common.IsUserCommon=function(){return ((Common_zmienna_z_MediaWiki_Wikibooks)?true:false);};
// Frame Busting
Common.LokowanieTopSelf=function(){
if (top != self) top.location.href = self.location.href;
};
$(Common.LokowanieTopSelf);
/*Funkcja zdarzeń odrejestrowania i rejestrowania*/
Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen,tylko_odrejestruj){
/*
css - adres html obiektu,
zdarzenie - zdarzenie jak click,
funkcja_zdarzen - nazwa funkcji zdarzeń w starej przestrzeni Common lub nowej, jak StickyXY,
tylko_odrejestruj - czy tylko zdarzenie ma odrejestrować w starej przestrzeni Common.
*/
if((css)&&(zdarzenie)&&(funkcja_zdarzen)){
/*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/
if((Common_zmienna_z_MediaWiki_Wikibooks)&&(Common_zmienna_z_MediaWiki_Wikibooks[funkcja_zdarzen])){
$(css).off(zdarzenie,Common_zmienna_z_MediaWiki_Wikibooks[funkcja_zdarzen]);
}
if((!tylko_odrejestruj)&&(Common)&&(Common[funkcja_zdarzen])){
/*Rejestrowanie zdarzeń, ale z tej strony .js*/
$(css).on(zdarzenie, Common[funkcja_zdarzen]);
}
}
}
/*Funkcje w przestrzeni nazw Common*/
Common.Naglowek=function(){
/* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */
var hideAll = document.getElementById('mójNagłówekUkryj');
var noFooter = false;
var footers = 0;
var tags = document.getElementsByTagName('div');
for (var i = 0; i < tags.length; i++) {
var el=tags[i].getAttribute("id");
if (el=='mojaStopka')
footers++;
else if (hideAll && (el=='mójNagłówek')) {
tags[i].innerHTML="";
noFooter=true;
}
}
if (noFooter) return;
var footer = document.getElementById('mojaStopka');
if ((footer !== null) && (footers==1)) {
var bodyContent = document.getElementById('bodyContent');
if (bodyContent !== null) {
var s0=document.getElementById('mojaStopka0');
var s1=document.getElementById('mojaStopka1');
if ((s1 !== null) ||
((s0 === null) && (bodyContent.innerHTML.length>8000))){
var strona=document.getElementById('strona');
if(strona!==null){
strona.appendChild(footer);
}else{
var catlinks=document.getElementById('catlinks');
if(catlinks !== null){
bodyContent.insertBefore(footer,catlinks);
}else{
bodyContent.appendChild(footer);
}
}
}
}
}
/* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */
};
$(Common.Naglowek);
/*Informacje o danej stronie*/
Common.PageInfoInit=function(){
var _g = /_/g;
this.name = mw.config.get('wgPageName').replace(/_/g, ' ');
this.namespace = mw.config.get('wgNamespaceNumber');
var i = this.name.search(/\/[^\/]*$/g);
this.title = this.name.slice(i + 1);
this.book = this.name.replace(/\/.*/g, "");
if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) {
re = /\&diff=/g;
this.diff = re.test(document.URL);
re = /\&action=[^\&]*/g;
this.action = document.URL.match(re);
if ( this.action === null ) {
this.action = 'get';
} else {
this.action = this.action[0].slice(8, this.action[0].length);
}
} else {
this.diff = null;
this.action = 'get';
}
}
Common.pageInfo = new Common.PageInfoInit();
/** Collapsible tables *********************************************************
*
* Description: Allows tables to be collapsed, showing only the header. See
* [[en:Wikipedia:NavFrame]].
* Maintainers: [[User:R. Koot]]
*/
Common.autoCollapse = 2;
Common.collapseCaption = "ukryj";
Common.expandCaption = "pokaż";
Common.collapseTable=function( tableIndex )
{
var Button = document.getElementById( "collapseButton" + tableIndex );
var Table = document.getElementById( "collapsibleTable" + tableIndex );
if ( !Table || !Button ) {
return false;
}
var Rows = Table.rows;
if ( Button.firstChild.data == Common.collapseCaption ) {
for ( var i = 1; i < Rows.length; i++ ) {
Rows[i].style.display = "none";
}
Button.firstChild.data = Common.expandCaption;
} else {
for ( var i = 1; i < Rows.length; i++ ) {
Rows[i].style.display = Rows[0].style.display;
}
Button.firstChild.data = Common.collapseCaption;
}
}
Common.createCollapseButtons=function()
{
var tableIndex = 0;
var NavigationBoxes = new Object();
var Tables = document.getElementsByTagName( "table" );
for ( var i = 0; i < Tables.length; i++ ) {
if ( $(Tables[i]).hasClass( "collapsible" ) ) {
/* only add button and increment count if there is a header row to work with */
var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0];
if (!HeaderRow) continue;
var Header = HeaderRow.getElementsByTagName( "th" )[0];
if (!Header) continue;
NavigationBoxes[ tableIndex ] = Tables[i];
Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex );
var Button = document.createElement( "span" );
var ButtonLink = document.createElement( "a" );
var ButtonText = document.createTextNode( Common.collapseCaption );
Button.style.styleFloat = "right";
Button.style.cssFloat = "right";
Button.style.fontWeight = "normal";
Button.style.textAlign = "right";
Button.style.width = "6em";
ButtonLink.style.color = Header.style.color;
ButtonLink.setAttribute( "id", "collapseButton" + tableIndex );
ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" );
ButtonLink.appendChild( ButtonText );
Button.appendChild( document.createTextNode( "[" ) );
Button.appendChild( ButtonLink );
Button.appendChild( document.createTextNode( "]" ) );
$(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){
$(element).remove();
});
Header.insertBefore( Button, Header.childNodes[0]);
tableIndex++;
}
}
for ( var i = 0; i < tableIndex; i++ ) {
if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) {
Common.collapseTable( i );
}
else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) {
var element = NavigationBoxes[i];
while (element = element.parentNode) {
if ( $(element).hasClass( "outercollapse" ) ) {
Common.collapseTable ( i );
break;
}
}
}
}
}
$(Common.createCollapseButtons );
/** Dynamic Navigation Bars (experimental) *************************************
*
* Description: See [[Wikipedia:NavFrame]].
* Maintainers: UNMAINTAINED
*/
// set up the words in your language
Common.NavigationBarHide = '[' + Common.collapseCaption + ']';
Common.NavigationBarShow = '[' + Common.expandCaption + ']';
// shows and hides content and picture (if available) of navigation bars
// Parameters:
// indexNavigationBar: the index of navigation bar to be toggled
Common.toggleNavigationBar=function(indexNavigationBar)
{
var NavToggle = document.getElementById("NavToggle" + indexNavigationBar);
var NavFrame = document.getElementById("NavFrame" + indexNavigationBar);
if (!NavFrame || !NavToggle) {
return false;
}
// if shown now
if (NavToggle.firstChild.data == Common.NavigationBarHide) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) ) {
NavChild.style.display = 'none';
}
if ( $(NavChild).hasClass( 'NavContent') ) {
NavChild.style.display = 'none';
}
}
NavToggle.firstChild.data = Common.NavigationBarShow;
// if hidden now
} else if (NavToggle.firstChild.data == Common.NavigationBarShow) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ($(NavChild).hasClass( 'NavPic')) {
NavChild.style.display = 'block';
}
if ($(NavChild).hasClass( 'NavContent')) {
NavChild.style.display = 'block';
}
}
NavToggle.firstChild.data = Common.NavigationBarHide;
}
}
// adds show/hide-button to navigation bars
Common.createNavigationBarToggleButton=function()
{
var indexNavigationBar = 0;
// iterate over all < div >-elements
var divs = document.getElementsByTagName("div");
for (var i = 0; NavFrame = divs[i]; i++) {
// if found a navigation bar
if ($(NavFrame).hasClass( "NavFrame")) {
indexNavigationBar++;
var NavToggle = document.createElement("a");
NavToggle.className = 'NavToggle';
NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar);
NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');');
var isCollapsed = $(NavFrame).hasClass( "collapsed" );
/*
* Check if any children are already hidden. This loop is here for backwards compatibility:
* the old way of making NavFrames start out collapsed was to manually add style="display:none"
* to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make
* the content visible without JavaScript support), the new recommended way is to add the class
* "collapsed" to the NavFrame itself, just like with collapsible tables.
*/
for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) {
if ( NavChild.style.display == 'none' ) {
isCollapsed = true;
}
}
}
if (isCollapsed) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) {
NavChild.style.display = 'none';
}
}
}
var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide);
NavToggle.appendChild(NavToggleText);
// Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked)
for(var j=0; j < NavFrame.childNodes.length; j++) {
if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) {
$(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){
$(element).remove();
});
NavFrame.childNodes[j].appendChild(NavToggle);
}
}
NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar);
}
}
}
$(Common.createNavigationBarToggleButton );
// Wyszukiwanie Google na stronach podręczników
Common.googleSearchInitialized = false;
Common.insertGoogleSearch=function() {
if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) {
return;
}
Common.googleSearchInitialized = true;
var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE";
var ul = jQuery('#p-tb ul')[0];
if (!ul) {
return;
}
var link = document.createElement('a');
var book = Common.pageInfo.book;
if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) {
google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22"
}
link.href = google.replace(/PAGE/g, encodeURIComponent(book));
link.appendChild(document.createTextNode("Szukaj w podręczniku"));
var li = document.createElement('li');
li.id = "google-trick-search";
li.appendChild(link);
$(ul).children('li#google-trick-search').each(function(i,element){
$(element).remove();
});
ul.insertBefore(li, ul.firstChild);
}
$(Common.insertGoogleSearch);
/*Funkcja do liczenia szerokościm mapska przewijania w pionowego, wtedy x_box_right=="y", lub poziomego, wtedy inny parametr inny niż dla paska pionowego*/
Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){
var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>');
$('body').append(div);
var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")]();
div.css('overflow-'+(x_box_right||"y"), 'scroll');
var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")]();
$(div).remove();
return (w1 - w2);
}
/*Funkcje do obsługi pasków przewijania*/
Common.ScrollBarOverflow=function(){
$('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){
/*start overflow*/
var comp=window.getComputedStyle(element_g, null);
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var overflow=comp.getPropertyValue("overflow");
var overflow_x=$(element_g).hasClass('mw-overflow-x');
if(overflow_x){
var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
if((overflowX)&&(overflowX=="auto")){
element_g.classList.remove("mw-scrollbar-overflow-x");
const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false
if(hasHorizontalScrollbar){
element_g.classList.add("mw-scrollbar-overflow-x");
}
}
}
var overflow_y=$(element_g).hasClass('mw-overflow-y');
if(overflow_y){
var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflowY)&&(overflowY=="auto")){
element_g.classList.remove("mw-scrollbar-overflow-y");
const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false
if(hasVerticalScrollbar){
element_g.classList.add("mw-scrollbar-overflow-y");
}
}
}
/*koniec overflow*/
});
}
$(Common.ScrollBarOverflow);
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow');
Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow');
});
/*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/
Common.StickyXY=function(){
$('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){
var comp=window.getComputedStyle(element_g, null);
function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){
var pozycje_paskow=new Array();
$(element_g).find('*').each(function(i,element){
var comp=window.getComputedStyle(element, null);
var overflow=comp.getPropertyValue("overflow");
var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){
pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft));
}
});
var height_sticky=0;
$('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){
var rect_sticky=el.getBoundingClientRect();
height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]);
});
var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom);
if(StickyXYTopOld===undefined){
var topold_war=parseFloat(element_g.style[top]);
$(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0));
}
if(StickyXYBottomOld===undefined){
var bottomold_war=parseFloat(element_g.style[bottom]);
$(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0));
}
var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5;
var margintop=parseFloat(comp.getPropertyValue("margin-"+top));
margintop=((!isNaN(margintop))?margintop:0);
var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom));
marginbottom=((!isNaN(marginbottom))?marginbottom:0);
var przodek_height=undefined;
element_g.style[height]="auto";
element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[top]="auto";
element_g.style[bottom]="auto";
if(width_box!=null){
element_g.style[width_box]="auto";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[left_box]="auto";
element_g.style[right_box]="0";
$(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){
element.style[width_box]="auto";
element.classList.remove('mw-scrollbar-overflow-x');
element.classList.remove('mw-scrollbar-overflow-y');
});
}
/**/
var parents_node_fun=$(element_g).parents('.mw-parent-node').first();
if((parents_node_fun==null)||(parents_node_fun.length==0)){return;}
var width_rodzic=null;
var rodzic_element=undefined;
var comp_rodz;
parents_node_fun.each(function(i,element){
comp_rodz=window.getComputedStyle(element,null);
przodek_height=parseFloat(comp_rodz.getPropertyValue([height]));
width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null;
rodzic_element=element;
});
var height_box_real=parseFloat(comp.getPropertyValue(height));
var rect_dziecko=element_g.getBoundingClientRect();
var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))];
var rect_rodzic;
parents_node_fun.each(function(i,element){
rect_rodzic=element.getBoundingClientRect();
});
var top_ab=rect_rodzic[top];
var bottom_ab=(wys-rect_rodzic[bottom]);
var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop);
element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px";
element_g.style[height]="100%";
var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)));
element_g.style[top]=top_obj+"px";
element_g.style[bottom]="auto";
if(width_box!=null){
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
rodzic_element.style.position="static";
rodzic_element.style.overflow="hidden";
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
var rect_dziecko=element_g.getBoundingClientRect();
if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){
if(width_box=="width"){
element_g.classList.remove('mw-scrollbar-overflow-x');
}else{
element_g.classList.remove('mw-scrollbar-overflow-y');
}
if(rect_dziecko[width_box]>width_rodzic){
if(width_box=="width"){
element_g.classList.add('mw-scrollbar-overflow-x');
}else{
element_g.classList.add('mw-scrollbar-overflow-y');
}
}
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box));
margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box));
var dlugosc=(width_rodzic-margin_all);
dlugosc=((dlugosc>=0)?dlugosc:0);
element_g.style.whiteSpace="nowrap";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px";
element_g.style[width_box]=width_box_real+"px";
Common.ScrollBarOverflow();
$(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){
var comp_element=window.getComputedStyle(element, null)
element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat (comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px";
element.classList.remove('mw-scrollbar-overflow-'+x_box);
});
element_g.style.whiteSpace="normal";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[width_box]="auto";
var rect_dziecko=element_g.getBoundingClientRect();
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px";
element_g.style[width_box]=width_box_real+"px";
element_g.style[left_box]="0";
element_g.style[right_box]="auto";
rodzic_element.style.position="relative";
}else{
element_g.style.whiteSpace="nowrap";
var szerokosc_box=rect_dziecko[width_box];
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px";
element_g.style[width_box]=(szerokosc_box)+"px";
Common.ScrollBarOverflow();
$(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){
var comp_element=window.getComputedStyle(element, null);
element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat (comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px";
element.classList.remove('mw-scrollbar-overflow-'+x_box);
});
element_g.style.whiteSpace="normal";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[width_box]="auto";
var rect_dziecko=element_g.getBoundingClientRect();
var szerokosc_box=rect_dziecko[width_box];
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px";
element_g.style[width_box]=(szerokosc_box)+"px";
var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box));
if(parseInt(szerokosc)>parseInt(width_rodzic)){
element_g.style[right_box]="0";
element_g.style[left_box]="auto";
rodzic_element.style.overflow="visible";
}else{
element_g.style[left_box]="0";
element_g.style[right_box]="auto";
rodzic_element.style.position="relative";
}
}
}
element_g.style[height]="auto";
element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px";
Common.ScrollBarOverflow();
for(var i in pozycje_paskow){
pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1];
pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2];
}
}
element_g.classList.add('mw-sticky-js');
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var visibility=comp.getPropertyValue("visibility");
if(visibility=="hidden"){return;}
var position=comp.getPropertyValue("position");
if(position!="absolute"){return;}
var sticky_x=$(element_g).hasClass('mw-sticky-x');
var sticky_y=$(element_g).hasClass('mw-sticky-y');
if((sticky_x)&&(!sticky_y)){
var str=$(element_g).parents('.strona_górna, .strona_dolna').first();
if(str.hasClass('strona_dolna')){
FunStickyXY("width","left","right","height","top","bottom","y","x");
}else if(str.hasClass('strona_górna')){
FunStickyXY("width","left","right","height","bottom","top","y","x");
}
}else if((!sticky_x)&&(sticky_y)){
var str=$(element_g).parents('.strona_prawa, .strona_lewa').first();
if(str.hasClass('strona_prawa')){
FunStickyXY("height","top","bottom","width","left","right","x","y");
}else if(str.hasClass('strona_lewa')){
FunStickyXY("height","top","bottom","width","right","left","x","y");
}
}else if((sticky_x)&&(sticky_y)){
FunStickyXY("width","left","right",null);
FunStickyXY("height","top","bottom",null);
}
});
}
$(Common.StickyXY);
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY');
Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY');
});
/*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/
Common.OptimalXY=function(){
$('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){
var comp=window.getComputedStyle(element_g, null);
function FunOptimalXY(width,left,right){
var pozycje_paskow=new Array();
$(element_g).find('*').each(function(i,element){
var comp=window.getComputedStyle(element, null);
var overflow=comp.getPropertyValue("overflow");
var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){
pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft));
}
});
var width_rodzic=null;
var rodzic_node;
var comp_rodz;
$(element_g).parents('.mw-parent-node').first().each(function(i,element){
comp_rodz=window.getComputedStyle(element,null);
width_rodzic=parseFloat(comp_rodz.getPropertyValue([width]));
rodzic_node=element;
});
if((width_rodzic!=null)&&(!isNaN(width_rodzic))){
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
var width_box_real=parseFloat(comp.getPropertyValue(width));
var rect_dziecko=element_g.getBoundingClientRect();
if(width=="width"){
element_g.classList.remove('mw-scrollbar-overflow-x');
}else{
element_g.classList.remove('mw-scrollbar-overflow-y');
}
if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){
var rect_dziecko=element_g.getBoundingClientRect();
if(rect_dziecko[width]>width_rodzic){
if(width=="width"){
element_g.classList.add('mw-scrollbar-overflow-x');
}else{
element_g.classList.add('mw-scrollbar-overflow-y');
}
}
var width_box_real=parseFloat(comp.getPropertyValue(width));
var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right));
margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right));
var dlugosc=(width_rodzic-margin_all);
dlugosc=((dlugosc>=0)?dlugosc:0);
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px";
}else{
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px";
}
var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first();
if(!str.hasClass('strona_start-nawigacja_boksy')){
var rect_dziecko=element_g.getBoundingClientRect();
var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right));
if(parseInt(szerokosc)>parseInt(width_rodzic)){
str.css('position','static');
}else{
str.css('position','relative');
}
}
}
for(var i in pozycje_paskow){
pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1];
pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2];
}
};
element_g.classList.add('mw-optimal-js');
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var visibility=comp.getPropertyValue("visibility");
if(visibility=="hidden"){return;}
var position=comp.getPropertyValue("position");
if(position!="absolute"){return;}
var optimal_x=$(element_g).hasClass('mw-optimal-x');
var optimal_y=$(element_g).hasClass('mw-optimal-y');
if(optimal_x){
FunOptimalXY("width","left","right");
}
if(optimal_y){
FunOptimalXY("height","top","bottom");
}
});
}
$(Common.OptimalXY);
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY');
Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY');
});
/*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/
Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){
$(obiekt).each(function(i,element_f){
var id=element_f.getAttribute("id")
if((id)&&(id==(id_tabeli_lub_ramki+i))){
var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i);
if((collapsebutton!==null)&&(collapsebutton.length>0)){
$('#mw-content-text .mw-parser-output').find('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){
var href=element_g.getAttribute('href');
if((href!=null)&&(href!="")){
var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*";
var re_frame = new RegExp(col,'g');
var re_javascript=new RegExp("^[\\s;]*javascript:");
if((re_javascript.test(href))&&(re_frame.test(href))){
var href=element_g.getAttribute('href');
if((href!==null)&&(href!="")){
function DodajSkryptJavaScript(fun){
var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g');
var href_nowe=element_g.getAttribute('href');
if(!re.test(href_nowe)){
element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()");
}
}
DodajSkryptJavaScript('Common.ScrollBarOverflow');
DodajSkryptJavaScript('Common.StickyXY');
DodajSkryptJavaScript('Common.OptimalXY');
}
}
}
});
}
}
});
}
$(function(){
/*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/
Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable');
/*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/
Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar');
/*Koniec dodatkowych funkcji*/
});
/*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz,z_mouse){
/*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/
var tab_transition={'start':true,'run':true,'cancel':true,'end':true};
var tab_przegladarki={'':true,'webkit':true,'moz':true,'o':true};
for(var a in tab_transition){
for(var b in tab_przegladarki){
var zdarzenie=b+'transition'+a;
Common.ZdarzeniaJavaScript(css,zdarzenie,fun_zdarz);
}
}
if(z_mouse){
Common.ZdarzeniaJavaScript(css,"mouseenter",fun_zdarz);
Common.ZdarzeniaJavaScript(css,"mouseleave",fun_zdarz);
}
};
$(function(){
/*Funkcje zdarzeń*/
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY',true);
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY',true);
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY',false);
});
/*Koniec dodatkowych zdarzeń*/
/*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/
Common.StronaStart=function(){
var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks');
elements.parent().show();
$('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){
$(element).css('visibility',"hidden");
$(element).attr('mw-menu-boks',"false");
});
$('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){
var czy_visible=$(element).css('visibility');
$(element).css('visibility',"visible");
$(element).attr('mw-menu-boks',"true");
var str=$(element).parents('.strona_prawa, .strona_lewa').first();
str.css('position','relative');
str.addClass('strona_start-nawigacja_spis');
str.removeClass('strona_start-nawigacja_boksy');
if(czy_visible=="hidden"){
$(Common.ScrollBarOverflow);
$(Common.StickyXY);
}
});
var str=$('.strona_start').find('.strona .ciało_zawartości > .menu > .menu_boks').children('.spis_treści, .boksy');
if(str.length!=2){return;}
$(str[0]).attr('mw-menu-boks',"true");
$(str[1]).attr('mw-menu-boks',"false");
Common.StronaStartZdarzeniePrzycisku=function(){
var id=this;
$(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){
var menu_boks_zmienna=$(element).attr('mw-menu-boks');
menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false");
if(menu_boks_zmienna=="false"){
$(element).css('display',"block");
$(element).attr('mw-menu-boks','true');
}else if(menu_boks_zmienna=="true"){
$(element).css('display',"none");
$(element).attr('mw-menu-boks','false');
}
});
$(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children('.nawigacja_boksy, .nawigacja_spis').each(function(i,element){
var menu_boks_zmienna=$(element).attr('mw-menu-boks');
menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false");
if(menu_boks_zmienna=="false"){
$(element).css('visibility',"visible");
$(element).attr('mw-menu-boks',"true");
var str=$(element).parents('.strona_prawa, .strona_lewa').first();
if($(element).hasClass('nawigacja_boksy')){
str.css('position','static');
str.addClass('strona_start-nawigacja_boksy');
str.removeClass('strona_start-nawigacja_spis');
$(Common.ScrollBarOverflow);
$(Common.OptimalXY);
}else if($(element).hasClass('nawigacja_spis')){
str.css('position','relative');
str.addClass('strona_start-nawigacja_spis');
str.removeClass('strona_start-nawigacja_boksy');
$(Common.ScrollBarOverflow);
$(Common.StickyXY);
}
}else if(menu_boks_zmienna=="true"){
$(element).css('visibility',"hidden");
$(element).attr('mw-menu-boks',"false");
}
});
}
if(Common.StronaStartZdarzeniePrzycisku)Common.ZdarzeniaJavaScript(elements,'click','StronaStartZdarzeniePrzycisku');
}
$(Common.StronaStart);
})(Common_zmienna_z_MediaWiki_Wikibooks,Common);
0eqrlgrij76h9msleqy6l1mmsrcnhcv
437899
437898
2022-08-16T18:05:05Z
Persino
2851
javascript
text/javascript
mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true );
/**/
/* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony.
*/
/*
* Zmienna Common.pageInfo, jego elementy, instrukcja obsługi:
* Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber)
* Common.pageInfo.name pełna nazwa strony
* Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash
* Common.pageInfo.book tytuł książki
* Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get"
* Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL
*/
/*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/
var Common_zmienna_z_MediaWiki_Wikibooks=this['Common'];
/*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/
var Common=new Array();
/*Funkcja, by nie było przecieków pamięci*/
(function(Common_zmienna_z_MediaWiki_Wikibooks,Common){
/*Funkcja zwraca zmienną Common ze strony MediaWiki:Common.js*/
Common.MediaWikiCommon=function(){return (Common.IsUserCommon()?Common_zmienna_z_MediaWiki_Wikibooks:Common);}
/*Funkcja zwraca tablicę Common użytkownika, jeżeli taką posiada, w przeciwnym wypadku zwraca undefined*/
Common.UserCommon=function(){return (Common.IsUserCommon()?Common:undefined);}
/*Sprawdza, czy użytkownik ma własną zmienną Common.*/
Common.IsUserCommon=function(){return ((Common_zmienna_z_MediaWiki_Wikibooks)?true:false);};
// Frame Busting
Common.LokowanieTopSelf=function(){
if (top != self) top.location.href = self.location.href;
};
$(Common.LokowanieTopSelf);
/*Funkcja zdarzeń odrejestrowania i rejestrowania*/
Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen,tylko_odrejestruj){
/*
css - adres html obiektu,
zdarzenie - zdarzenie jak click,
funkcja_zdarzen - nazwa funkcji zdarzeń w starej przestrzeni Common lub nowej, jak StickyXY,
tylko_odrejestruj - czy tylko zdarzenie ma odrejestrować w starej przestrzeni Common.
*/
if((css)&&(zdarzenie)&&(funkcja_zdarzen)){
/*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/
if((Common_zmienna_z_MediaWiki_Wikibooks)&&(Common_zmienna_z_MediaWiki_Wikibooks[funkcja_zdarzen])){
$(css).off(zdarzenie,Common_zmienna_z_MediaWiki_Wikibooks[funkcja_zdarzen]);
}
if((!tylko_odrejestruj)&&(Common)&&(Common[funkcja_zdarzen])){
/*Rejestrowanie zdarzeń, ale z tej strony .js*/
$(css).on(zdarzenie, Common[funkcja_zdarzen]);
}
}
}
/*Funkcje w przestrzeni nazw Common*/
Common.Naglowek=function(){
/* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */
var hideAll = document.getElementById('mójNagłówekUkryj');
var noFooter = false;
var footers = 0;
var tags = document.getElementsByTagName('div');
for (var i = 0; i < tags.length; i++) {
var el=tags[i].getAttribute("id");
if (el=='mojaStopka')
footers++;
else if (hideAll && (el=='mójNagłówek')) {
tags[i].innerHTML="";
noFooter=true;
}
}
if (noFooter) return;
var footer = document.getElementById('mojaStopka');
if ((footer !== null) && (footers==1)) {
var bodyContent = document.getElementById('bodyContent');
if (bodyContent !== null) {
var s0=document.getElementById('mojaStopka0');
var s1=document.getElementById('mojaStopka1');
if ((s1 !== null) ||
((s0 === null) && (bodyContent.innerHTML.length>8000))){
var strona=document.getElementById('strona');
if(strona!==null){
strona.appendChild(footer);
}else{
var catlinks=document.getElementById('catlinks');
if(catlinks !== null){
bodyContent.insertBefore(footer,catlinks);
}else{
bodyContent.appendChild(footer);
}
}
}
}
}
/* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */
};
$(Common.Naglowek);
/*Informacje o danej stronie*/
Common.PageInfoInit=function(){
var _g = /_/g;
this.name = mw.config.get('wgPageName').replace(/_/g, ' ');
this.namespace = mw.config.get('wgNamespaceNumber');
var i = this.name.search(/\/[^\/]*$/g);
this.title = this.name.slice(i + 1);
this.book = this.name.replace(/\/.*/g, "");
if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) {
re = /\&diff=/g;
this.diff = re.test(document.URL);
re = /\&action=[^\&]*/g;
this.action = document.URL.match(re);
if ( this.action === null ) {
this.action = 'get';
} else {
this.action = this.action[0].slice(8, this.action[0].length);
}
} else {
this.diff = null;
this.action = 'get';
}
}
Common.pageInfo = new Common.PageInfoInit();
/** Collapsible tables *********************************************************
*
* Description: Allows tables to be collapsed, showing only the header. See
* [[en:Wikipedia:NavFrame]].
* Maintainers: [[User:R. Koot]]
*/
Common.autoCollapse = 2;
Common.collapseCaption = "ukryj";
Common.expandCaption = "pokaż";
Common.collapseTable=function( tableIndex )
{
var Button = document.getElementById( "collapseButton" + tableIndex );
var Table = document.getElementById( "collapsibleTable" + tableIndex );
if ( !Table || !Button ) {
return false;
}
var Rows = Table.rows;
if ( Button.firstChild.data == Common.collapseCaption ) {
for ( var i = 1; i < Rows.length; i++ ) {
Rows[i].style.display = "none";
}
Button.firstChild.data = Common.expandCaption;
} else {
for ( var i = 1; i < Rows.length; i++ ) {
Rows[i].style.display = Rows[0].style.display;
}
Button.firstChild.data = Common.collapseCaption;
}
}
Common.createCollapseButtons=function()
{
var tableIndex = 0;
var NavigationBoxes = new Object();
var Tables = document.getElementsByTagName( "table" );
for ( var i = 0; i < Tables.length; i++ ) {
if ( $(Tables[i]).hasClass( "collapsible" ) ) {
/* only add button and increment count if there is a header row to work with */
var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0];
if (!HeaderRow) continue;
var Header = HeaderRow.getElementsByTagName( "th" )[0];
if (!Header) continue;
NavigationBoxes[ tableIndex ] = Tables[i];
Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex );
var Button = document.createElement( "span" );
var ButtonLink = document.createElement( "a" );
var ButtonText = document.createTextNode( Common.collapseCaption );
Button.style.styleFloat = "right";
Button.style.cssFloat = "right";
Button.style.fontWeight = "normal";
Button.style.textAlign = "right";
Button.style.width = "6em";
ButtonLink.style.color = Header.style.color;
ButtonLink.setAttribute( "id", "collapseButton" + tableIndex );
ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" );
ButtonLink.appendChild( ButtonText );
Button.appendChild( document.createTextNode( "[" ) );
Button.appendChild( ButtonLink );
Button.appendChild( document.createTextNode( "]" ) );
$(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){
$(element).remove();
});
Header.insertBefore( Button, Header.childNodes[0]);
tableIndex++;
}
}
for ( var i = 0; i < tableIndex; i++ ) {
if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) {
Common.collapseTable( i );
}
else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) {
var element = NavigationBoxes[i];
while (element = element.parentNode) {
if ( $(element).hasClass( "outercollapse" ) ) {
Common.collapseTable ( i );
break;
}
}
}
}
}
$(Common.createCollapseButtons );
/** Dynamic Navigation Bars (experimental) *************************************
*
* Description: See [[Wikipedia:NavFrame]].
* Maintainers: UNMAINTAINED
*/
// set up the words in your language
Common.NavigationBarHide = '[' + Common.collapseCaption + ']';
Common.NavigationBarShow = '[' + Common.expandCaption + ']';
// shows and hides content and picture (if available) of navigation bars
// Parameters:
// indexNavigationBar: the index of navigation bar to be toggled
Common.toggleNavigationBar=function(indexNavigationBar)
{
var NavToggle = document.getElementById("NavToggle" + indexNavigationBar);
var NavFrame = document.getElementById("NavFrame" + indexNavigationBar);
if (!NavFrame || !NavToggle) {
return false;
}
// if shown now
if (NavToggle.firstChild.data == Common.NavigationBarHide) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) ) {
NavChild.style.display = 'none';
}
if ( $(NavChild).hasClass( 'NavContent') ) {
NavChild.style.display = 'none';
}
}
NavToggle.firstChild.data = Common.NavigationBarShow;
// if hidden now
} else if (NavToggle.firstChild.data == Common.NavigationBarShow) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ($(NavChild).hasClass( 'NavPic')) {
NavChild.style.display = 'block';
}
if ($(NavChild).hasClass( 'NavContent')) {
NavChild.style.display = 'block';
}
}
NavToggle.firstChild.data = Common.NavigationBarHide;
}
}
// adds show/hide-button to navigation bars
Common.createNavigationBarToggleButton=function()
{
var indexNavigationBar = 0;
// iterate over all < div >-elements
var divs = document.getElementsByTagName("div");
for (var i = 0; NavFrame = divs[i]; i++) {
// if found a navigation bar
if ($(NavFrame).hasClass( "NavFrame")) {
indexNavigationBar++;
var NavToggle = document.createElement("a");
NavToggle.className = 'NavToggle';
NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar);
NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');');
var isCollapsed = $(NavFrame).hasClass( "collapsed" );
/*
* Check if any children are already hidden. This loop is here for backwards compatibility:
* the old way of making NavFrames start out collapsed was to manually add style="display:none"
* to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make
* the content visible without JavaScript support), the new recommended way is to add the class
* "collapsed" to the NavFrame itself, just like with collapsible tables.
*/
for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) {
if ( NavChild.style.display == 'none' ) {
isCollapsed = true;
}
}
}
if (isCollapsed) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) {
NavChild.style.display = 'none';
}
}
}
var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide);
NavToggle.appendChild(NavToggleText);
// Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked)
for(var j=0; j < NavFrame.childNodes.length; j++) {
if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) {
$(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){
$(element).remove();
});
NavFrame.childNodes[j].appendChild(NavToggle);
}
}
NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar);
}
}
}
$(Common.createNavigationBarToggleButton );
// Wyszukiwanie Google na stronach podręczników
Common.googleSearchInitialized = false;
Common.insertGoogleSearch=function() {
if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) {
return;
}
Common.googleSearchInitialized = true;
var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE";
var ul = jQuery('#p-tb ul')[0];
if (!ul) {
return;
}
var link = document.createElement('a');
var book = Common.pageInfo.book;
if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) {
google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22"
}
link.href = google.replace(/PAGE/g, encodeURIComponent(book));
link.appendChild(document.createTextNode("Szukaj w podręczniku"));
var li = document.createElement('li');
li.id = "google-trick-search";
li.appendChild(link);
$(ul).children('li#google-trick-search').each(function(i,element){
$(element).remove();
});
ul.insertBefore(li, ul.firstChild);
}
$(Common.insertGoogleSearch);
/*Funkcja do liczenia szerokościm mapska przewijania w pionowego, wtedy x_box_right=="y", lub poziomego, wtedy inny parametr inny niż dla paska pionowego*/
Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){
var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>');
$('body').append(div);
var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")]();
div.css('overflow-'+(x_box_right||"y"), 'scroll');
var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")]();
$(div).remove();
return (w1 - w2);
}
/*Funkcje do obsługi pasków przewijania*/
Common.ScrollBarOverflow=function(){
$('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){
/*start overflow*/
var comp=window.getComputedStyle(element_g, null);
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var overflow=comp.getPropertyValue("overflow");
var overflow_x=$(element_g).hasClass('mw-overflow-x');
if(overflow_x){
var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
if((overflowX)&&(overflowX=="auto")){
element_g.classList.remove("mw-scrollbar-overflow-x");
const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false
if(hasHorizontalScrollbar){
element_g.classList.add("mw-scrollbar-overflow-x");
}
}
}
var overflow_y=$(element_g).hasClass('mw-overflow-y');
if(overflow_y){
var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflowY)&&(overflowY=="auto")){
element_g.classList.remove("mw-scrollbar-overflow-y");
const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false
if(hasVerticalScrollbar){
element_g.classList.add("mw-scrollbar-overflow-y");
}
}
}
/*koniec overflow*/
});
}
$(Common.ScrollBarOverflow);
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow');
Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow');
});
/*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/
Common.StickyXY=function(){
$('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){
var comp=window.getComputedStyle(element_g, null);
function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){
var pozycje_paskow=new Array();
$(element_g).find('*').each(function(i,element){
var comp=window.getComputedStyle(element, null);
var overflow=comp.getPropertyValue("overflow");
var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){
pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft));
}
});
var height_sticky=0;
$('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){
var rect_sticky=el.getBoundingClientRect();
height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]);
});
var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom);
if(StickyXYTopOld===undefined){
var topold_war=parseFloat(element_g.style[top]);
$(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0));
}
if(StickyXYBottomOld===undefined){
var bottomold_war=parseFloat(element_g.style[bottom]);
$(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0));
}
var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5;
var margintop=parseFloat(comp.getPropertyValue("margin-"+top));
margintop=((!isNaN(margintop))?margintop:0);
var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom));
marginbottom=((!isNaN(marginbottom))?marginbottom:0);
var przodek_height=undefined;
element_g.style[height]="auto";
element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[top]="auto";
element_g.style[bottom]="auto";
if(width_box!=null){
element_g.style[width_box]="auto";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[left_box]="auto";
element_g.style[right_box]="0";
$(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){
element.style[width_box]="auto";
element.classList.remove('mw-scrollbar-overflow-x');
element.classList.remove('mw-scrollbar-overflow-y');
});
}
/**/
var parents_node_fun=$(element_g).parents('.mw-parent-node').first();
if((parents_node_fun==null)||(parents_node_fun.length==0)){return;}
var width_rodzic=null;
var rodzic_element=undefined;
var comp_rodz;
parents_node_fun.each(function(i,element){
comp_rodz=window.getComputedStyle(element,null);
przodek_height=parseFloat(comp_rodz.getPropertyValue([height]));
width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null;
rodzic_element=element;
});
var height_box_real=parseFloat(comp.getPropertyValue(height));
var rect_dziecko=element_g.getBoundingClientRect();
var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))];
var rect_rodzic;
parents_node_fun.each(function(i,element){
rect_rodzic=element.getBoundingClientRect();
});
var top_ab=rect_rodzic[top];
var bottom_ab=(wys-rect_rodzic[bottom]);
var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop);
element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px";
element_g.style[height]="100%";
var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)));
element_g.style[top]=top_obj+"px";
element_g.style[bottom]="auto";
if(width_box!=null){
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
rodzic_element.style.position="static";
rodzic_element.style.overflow="hidden";
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
var rect_dziecko=element_g.getBoundingClientRect();
if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){
if(width_box=="width"){
element_g.classList.remove('mw-scrollbar-overflow-x');
}else{
element_g.classList.remove('mw-scrollbar-overflow-y');
}
if(rect_dziecko[width_box]>width_rodzic){
if(width_box=="width"){
element_g.classList.add('mw-scrollbar-overflow-x');
}else{
element_g.classList.add('mw-scrollbar-overflow-y');
}
}
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box));
margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box));
var dlugosc=(width_rodzic-margin_all);
dlugosc=((dlugosc>=0)?dlugosc:0);
element_g.style.whiteSpace="nowrap";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px";
element_g.style[width_box]=width_box_real+"px";
Common.ScrollBarOverflow();
$(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){
var comp_element=window.getComputedStyle(element, null)
element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat (comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px";
element.classList.remove('mw-scrollbar-overflow-'+x_box);
});
element_g.style.whiteSpace="normal";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[width_box]="auto";
var rect_dziecko=element_g.getBoundingClientRect();
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px";
element_g.style[width_box]=width_box_real+"px";
element_g.style[left_box]="0";
element_g.style[right_box]="auto";
rodzic_element.style.position="relative";
}else{
element_g.style.whiteSpace="nowrap";
var szerokosc_box=rect_dziecko[width_box];
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px";
element_g.style[width_box]=(szerokosc_box)+"px";
Common.ScrollBarOverflow();
$(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){
var comp_element=window.getComputedStyle(element, null);
element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat (comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px";
element.classList.remove('mw-scrollbar-overflow-'+x_box);
});
element_g.style.whiteSpace="normal";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[width_box]="auto";
var rect_dziecko=element_g.getBoundingClientRect();
var szerokosc_box=rect_dziecko[width_box];
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px";
element_g.style[width_box]=(szerokosc_box)+"px";
var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box));
if(parseInt(szerokosc)>parseInt(width_rodzic)){
element_g.style[right_box]="0";
element_g.style[left_box]="auto";
rodzic_element.style.overflow="visible";
}else{
element_g.style[left_box]="0";
element_g.style[right_box]="auto";
rodzic_element.style.position="relative";
}
}
}
element_g.style[height]="auto";
element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px";
Common.ScrollBarOverflow();
for(var i in pozycje_paskow){
pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1];
pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2];
}
}
element_g.classList.add('mw-sticky-js');
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var visibility=comp.getPropertyValue("visibility");
if(visibility=="hidden"){return;}
var position=comp.getPropertyValue("position");
if(position!="absolute"){return;}
var sticky_x=$(element_g).hasClass('mw-sticky-x');
var sticky_y=$(element_g).hasClass('mw-sticky-y');
if((sticky_x)&&(!sticky_y)){
var str=$(element_g).parents('.strona_górna, .strona_dolna').first();
if(str.hasClass('strona_dolna')){
FunStickyXY("width","left","right","height","top","bottom","y","x");
}else if(str.hasClass('strona_górna')){
FunStickyXY("width","left","right","height","bottom","top","y","x");
}
}else if((!sticky_x)&&(sticky_y)){
var str=$(element_g).parents('.strona_prawa, .strona_lewa').first();
if(str.hasClass('strona_prawa')){
FunStickyXY("height","top","bottom","width","left","right","x","y");
}else if(str.hasClass('strona_lewa')){
FunStickyXY("height","top","bottom","width","right","left","x","y");
}
}else if((sticky_x)&&(sticky_y)){
FunStickyXY("width","left","right",null);
FunStickyXY("height","top","bottom",null);
}
});
}
$(Common.StickyXY);
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY');
Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY');
});
/*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/
Common.OptimalXY=function(){
$('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){
var comp=window.getComputedStyle(element_g, null);
function FunOptimalXY(width,left,right){
var pozycje_paskow=new Array();
$(element_g).find('*').each(function(i,element){
var comp=window.getComputedStyle(element, null);
var overflow=comp.getPropertyValue("overflow");
var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){
pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft));
}
});
var width_rodzic=null;
var rodzic_node;
var comp_rodz;
$(element_g).parents('.mw-parent-node').first().each(function(i,element){
comp_rodz=window.getComputedStyle(element,null);
width_rodzic=parseFloat(comp_rodz.getPropertyValue([width]));
rodzic_node=element;
});
if((width_rodzic!=null)&&(!isNaN(width_rodzic))){
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
var width_box_real=parseFloat(comp.getPropertyValue(width));
var rect_dziecko=element_g.getBoundingClientRect();
if(width=="width"){
element_g.classList.remove('mw-scrollbar-overflow-x');
}else{
element_g.classList.remove('mw-scrollbar-overflow-y');
}
if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){
var rect_dziecko=element_g.getBoundingClientRect();
if(rect_dziecko[width]>width_rodzic){
if(width=="width"){
element_g.classList.add('mw-scrollbar-overflow-x');
}else{
element_g.classList.add('mw-scrollbar-overflow-y');
}
}
var width_box_real=parseFloat(comp.getPropertyValue(width));
var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right));
margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right));
var dlugosc=(width_rodzic-margin_all);
dlugosc=((dlugosc>=0)?dlugosc:0);
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px";
}else{
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px";
}
var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first();
if(!str.hasClass('strona_start-nawigacja_boksy')){
var rect_dziecko=element_g.getBoundingClientRect();
var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right));
if(parseInt(szerokosc)>parseInt(width_rodzic)){
str.css('position','static');
}else{
str.css('position','relative');
}
}
}
for(var i in pozycje_paskow){
pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1];
pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2];
}
};
element_g.classList.add('mw-optimal-js');
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var visibility=comp.getPropertyValue("visibility");
if(visibility=="hidden"){return;}
var position=comp.getPropertyValue("position");
if(position!="absolute"){return;}
var optimal_x=$(element_g).hasClass('mw-optimal-x');
var optimal_y=$(element_g).hasClass('mw-optimal-y');
if(optimal_x){
FunOptimalXY("width","left","right");
}
if(optimal_y){
FunOptimalXY("height","top","bottom");
}
});
}
$(Common.OptimalXY);
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY');
Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY');
});
/*Uruchamianie dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz kalkulacyjny CSS*/
Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){
$(obiekt).each(function(i,element_f){
var id=element_f.getAttribute("id")
if((id)&&(id==(id_tabeli_lub_ramki+i))){
var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i);
if((collapsebutton!==null)&&(collapsebutton.length>0)){
$('#mw-content-text .mw-parser-output').find('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){
var href=element_g.getAttribute('href');
if((href!=null)&&(href!="")){
var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*";
var re_frame = new RegExp(col,'g');
var re_javascript=new RegExp("^[\\s;]*javascript:");
if((re_javascript.test(href))&&(re_frame.test(href))){
var href=element_g.getAttribute('href');
if((href!==null)&&(href!="")){
function DodajSkryptJavaScript(fun){
var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g');
var href_nowe=element_g.getAttribute('href');
if(!re.test(href_nowe)){
element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()");
}
}
DodajSkryptJavaScript('Common.ScrollBarOverflow');
DodajSkryptJavaScript('Common.StickyXY');
DodajSkryptJavaScript('Common.OptimalXY');
}
}
}
});
}
}
});
}
$(function(){
/*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/
Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable');
/*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/
Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar');
/*Koniec dodatkowych funkcji*/
});
/*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz,z_mouse){
/*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/
var tab_transition={'start':true,'run':true,'cancel':true,'end':true};
var tab_przegladarki={'':true,'webkit':true,'moz':true,'o':true};
for(var a in tab_transition){
for(var b in tab_przegladarki){
var zdarzenie=b+'transition'+a;
Common.ZdarzeniaJavaScript(css,zdarzenie,fun_zdarz);
}
}
if(z_mouse){
Common.ZdarzeniaJavaScript(css,"mouseenter",fun_zdarz);
Common.ZdarzeniaJavaScript(css,"mouseleave",fun_zdarz);
}
};
$(function(){
/*Funkcje zdarzeń*/
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY',true);
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY',true);
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY',false);
});
/*Koniec dodatkowych zdarzeń*/
/*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/
Common.StronaStart=function(){
var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks');
elements.parent().show();
$('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){
$(element).css('visibility',"hidden");
$(element).attr('mw-menu-boks',"false");
});
$('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){
var czy_visible=$(element).css('visibility');
$(element).css('visibility',"visible");
$(element).attr('mw-menu-boks',"true");
var str=$(element).parents('.strona_prawa, .strona_lewa').first();
str.css('position','relative');
str.addClass('strona_start-nawigacja_spis');
str.removeClass('strona_start-nawigacja_boksy');
if(czy_visible=="hidden"){
$(Common.ScrollBarOverflow);
$(Common.StickyXY);
}
});
var str=$('.strona_start').find('.strona .ciało_zawartości > .menu > .menu_boks').children('.spis_treści, .boksy');
if(str.length!=2){return;}
$(str[0]).attr('mw-menu-boks',"true");
$(str[1]).attr('mw-menu-boks',"false");
Common.StronaStartZdarzeniePrzycisku=function(){
var id=this;
$(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){
var menu_boks_zmienna=$(element).attr('mw-menu-boks');
menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false");
if(menu_boks_zmienna=="false"){
$(element).css('display',"block");
$(element).attr('mw-menu-boks','true');
}else if(menu_boks_zmienna=="true"){
$(element).css('display',"none");
$(element).attr('mw-menu-boks','false');
}
});
$(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children('.nawigacja_boksy, .nawigacja_spis').each(function(i,element){
var menu_boks_zmienna=$(element).attr('mw-menu-boks');
menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false");
if(menu_boks_zmienna=="false"){
$(element).css('visibility',"visible");
$(element).attr('mw-menu-boks',"true");
var str=$(element).parents('.strona_prawa, .strona_lewa').first();
if($(element).hasClass('nawigacja_boksy')){
str.css('position','static');
str.addClass('strona_start-nawigacja_boksy');
str.removeClass('strona_start-nawigacja_spis');
$(Common.ScrollBarOverflow);
$(Common.OptimalXY);
}else if($(element).hasClass('nawigacja_spis')){
str.css('position','relative');
str.addClass('strona_start-nawigacja_spis');
str.removeClass('strona_start-nawigacja_boksy');
$(Common.ScrollBarOverflow);
$(Common.StickyXY);
}
}else if(menu_boks_zmienna=="true"){
$(element).css('visibility',"hidden");
$(element).attr('mw-menu-boks',"false");
}
});
}
if(Common.StronaStartZdarzeniePrzycisku)Common.ZdarzeniaJavaScript(elements,'click','StronaStartZdarzeniePrzycisku');
}
$(Common.StronaStart);
})(Common_zmienna_z_MediaWiki_Wikibooks,Common);
4n02mwez1dxz2rl18qjist2mu534s8d
437901
437899
2022-08-16T18:13:29Z
Persino
2851
javascript
text/javascript
mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true );
/**/
/* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony.
*/
/*
* Zmienna Common.pageInfo, jego elementy, instrukcja obsługi:
* Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber)
* Common.pageInfo.name pełna nazwa strony
* Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash
* Common.pageInfo.book tytuł książki
* Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get"
* Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL
*/
/*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/
var Common_zmienna_z_MediaWiki_Wikibooks=this['Common'];
/*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/
var Common=new Array();
/*Funkcja, by nie było przecieków pamięci*/
(function(Common_zmienna_z_MediaWiki_Wikibooks,Common){
/*Funkcja zwraca zmienną Common ze strony MediaWiki:Common.js*/
Common.MediaWikiCommon=function(){return (Common.IsUserCommon()?Common_zmienna_z_MediaWiki_Wikibooks:Common);}
/*Funkcja zwraca tablicę Common użytkownika, jeżeli taką posiada, w przeciwnym wypadku zwraca undefined*/
Common.UserCommon=function(){return (Common.IsUserCommon()?Common:undefined);}
/*Sprawdza, czy użytkownik ma własną zmienną Common.*/
Common.IsUserCommon=function(){return ((Common_zmienna_z_MediaWiki_Wikibooks)?true:false);};
// Frame Busting
Common.LokowanieTopSelf=function(){
if (top != self) top.location.href = self.location.href;
};
$(Common.LokowanieTopSelf);
/*Funkcja zdarzeń odrejestrowania i rejestrowania*/
Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen,tylko_odrejestruj){
/*
css - adres html obiektu,
zdarzenie - zdarzenie jak click,
funkcja_zdarzen - nazwa funkcji zdarzeń w starej przestrzeni Common lub nowej, jak StickyXY,
tylko_odrejestruj - czy tylko zdarzenie ma odrejestrować w starej przestrzeni Common.
*/
if((css)&&(zdarzenie)&&(funkcja_zdarzen)){
/*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/
if((Common_zmienna_z_MediaWiki_Wikibooks)&&(Common_zmienna_z_MediaWiki_Wikibooks[funkcja_zdarzen])){
$(css).off(zdarzenie,Common_zmienna_z_MediaWiki_Wikibooks[funkcja_zdarzen]);
}
if((!tylko_odrejestruj)&&(Common)&&(Common[funkcja_zdarzen])){
/*Rejestrowanie zdarzeń, ale z tej strony .js*/
$(css).on(zdarzenie, Common[funkcja_zdarzen]);
}
}
}
/*Funkcje w przestrzeni nazw Common*/
Common.Naglowek=function(){
/* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */
var hideAll = document.getElementById('mójNagłówekUkryj');
var noFooter = false;
var footers = 0;
var tags = document.getElementsByTagName('div');
for (var i = 0; i < tags.length; i++) {
var el=tags[i].getAttribute("id");
if (el=='mojaStopka')
footers++;
else if (hideAll && (el=='mójNagłówek')) {
tags[i].innerHTML="";
noFooter=true;
}
}
if (noFooter) return;
var footer = document.getElementById('mojaStopka');
if ((footer !== null) && (footers==1)) {
var bodyContent = document.getElementById('bodyContent');
if (bodyContent !== null) {
var s0=document.getElementById('mojaStopka0');
var s1=document.getElementById('mojaStopka1');
if ((s1 !== null) ||
((s0 === null) && (bodyContent.innerHTML.length>8000))){
var strona=document.getElementById('strona');
if(strona!==null){
strona.appendChild(footer);
}else{
var catlinks=document.getElementById('catlinks');
if(catlinks !== null){
bodyContent.insertBefore(footer,catlinks);
}else{
bodyContent.appendChild(footer);
}
}
}
}
}
/* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */
};
$(Common.Naglowek);
/*Informacje o danej stronie*/
Common.PageInfoInit=function(){
var _g = /_/g;
this.name = mw.config.get('wgPageName').replace(/_/g, ' ');
this.namespace = mw.config.get('wgNamespaceNumber');
var i = this.name.search(/\/[^\/]*$/g);
this.title = this.name.slice(i + 1);
this.book = this.name.replace(/\/.*/g, "");
if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) {
re = /\&diff=/g;
this.diff = re.test(document.URL);
re = /\&action=[^\&]*/g;
this.action = document.URL.match(re);
if ( this.action === null ) {
this.action = 'get';
} else {
this.action = this.action[0].slice(8, this.action[0].length);
}
} else {
this.diff = null;
this.action = 'get';
}
}
Common.pageInfo = new Common.PageInfoInit();
/** Collapsible tables *********************************************************
*
* Description: Allows tables to be collapsed, showing only the header. See
* [[en:Wikipedia:NavFrame]].
* Maintainers: [[User:R. Koot]]
*/
Common.autoCollapse = 2;
Common.collapseCaption = "ukryj";
Common.expandCaption = "pokaż";
Common.collapseTable=function( tableIndex )
{
var Button = document.getElementById( "collapseButton" + tableIndex );
var Table = document.getElementById( "collapsibleTable" + tableIndex );
if ( !Table || !Button ) {
return false;
}
var Rows = Table.rows;
if ( Button.firstChild.data == Common.collapseCaption ) {
for ( var i = 1; i < Rows.length; i++ ) {
Rows[i].style.display = "none";
}
Button.firstChild.data = Common.expandCaption;
} else {
for ( var i = 1; i < Rows.length; i++ ) {
Rows[i].style.display = Rows[0].style.display;
}
Button.firstChild.data = Common.collapseCaption;
}
}
Common.createCollapseButtons=function()
{
var tableIndex = 0;
var NavigationBoxes = new Object();
var Tables = document.getElementsByTagName( "table" );
for ( var i = 0; i < Tables.length; i++ ) {
if ( $(Tables[i]).hasClass( "collapsible" ) ) {
/* only add button and increment count if there is a header row to work with */
var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0];
if (!HeaderRow) continue;
var Header = HeaderRow.getElementsByTagName( "th" )[0];
if (!Header) continue;
NavigationBoxes[ tableIndex ] = Tables[i];
Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex );
var Button = document.createElement( "span" );
var ButtonLink = document.createElement( "a" );
var ButtonText = document.createTextNode( Common.collapseCaption );
Button.style.styleFloat = "right";
Button.style.cssFloat = "right";
Button.style.fontWeight = "normal";
Button.style.textAlign = "right";
Button.style.width = "6em";
ButtonLink.style.color = Header.style.color;
ButtonLink.setAttribute( "id", "collapseButton" + tableIndex );
ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" );
ButtonLink.appendChild( ButtonText );
Button.appendChild( document.createTextNode( "[" ) );
Button.appendChild( ButtonLink );
Button.appendChild( document.createTextNode( "]" ) );
$(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){
$(element).remove();
});
Header.insertBefore( Button, Header.childNodes[0]);
tableIndex++;
}
}
for ( var i = 0; i < tableIndex; i++ ) {
if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) {
Common.collapseTable( i );
}
else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) {
var element = NavigationBoxes[i];
while (element = element.parentNode) {
if ( $(element).hasClass( "outercollapse" ) ) {
Common.collapseTable ( i );
break;
}
}
}
}
}
$(Common.createCollapseButtons );
/** Dynamic Navigation Bars (experimental) *************************************
*
* Description: See [[Wikipedia:NavFrame]].
* Maintainers: UNMAINTAINED
*/
// set up the words in your language
Common.NavigationBarHide = '[' + Common.collapseCaption + ']';
Common.NavigationBarShow = '[' + Common.expandCaption + ']';
// shows and hides content and picture (if available) of navigation bars
// Parameters:
// indexNavigationBar: the index of navigation bar to be toggled
Common.toggleNavigationBar=function(indexNavigationBar)
{
var NavToggle = document.getElementById("NavToggle" + indexNavigationBar);
var NavFrame = document.getElementById("NavFrame" + indexNavigationBar);
if (!NavFrame || !NavToggle) {
return false;
}
// if shown now
if (NavToggle.firstChild.data == Common.NavigationBarHide) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) ) {
NavChild.style.display = 'none';
}
if ( $(NavChild).hasClass( 'NavContent') ) {
NavChild.style.display = 'none';
}
}
NavToggle.firstChild.data = Common.NavigationBarShow;
// if hidden now
} else if (NavToggle.firstChild.data == Common.NavigationBarShow) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ($(NavChild).hasClass( 'NavPic')) {
NavChild.style.display = 'block';
}
if ($(NavChild).hasClass( 'NavContent')) {
NavChild.style.display = 'block';
}
}
NavToggle.firstChild.data = Common.NavigationBarHide;
}
}
// adds show/hide-button to navigation bars
Common.createNavigationBarToggleButton=function()
{
var indexNavigationBar = 0;
// iterate over all < div >-elements
var divs = document.getElementsByTagName("div");
for (var i = 0; NavFrame = divs[i]; i++) {
// if found a navigation bar
if ($(NavFrame).hasClass( "NavFrame")) {
indexNavigationBar++;
var NavToggle = document.createElement("a");
NavToggle.className = 'NavToggle';
NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar);
NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');');
var isCollapsed = $(NavFrame).hasClass( "collapsed" );
/*
* Check if any children are already hidden. This loop is here for backwards compatibility:
* the old way of making NavFrames start out collapsed was to manually add style="display:none"
* to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make
* the content visible without JavaScript support), the new recommended way is to add the class
* "collapsed" to the NavFrame itself, just like with collapsible tables.
*/
for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) {
if ( NavChild.style.display == 'none' ) {
isCollapsed = true;
}
}
}
if (isCollapsed) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) {
NavChild.style.display = 'none';
}
}
}
var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide);
NavToggle.appendChild(NavToggleText);
// Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked)
for(var j=0; j < NavFrame.childNodes.length; j++) {
if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) {
$(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){
$(element).remove();
});
NavFrame.childNodes[j].appendChild(NavToggle);
}
}
NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar);
}
}
}
$(Common.createNavigationBarToggleButton );
// Wyszukiwanie Google na stronach podręczników
Common.googleSearchInitialized = false;
Common.insertGoogleSearch=function() {
if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) {
return;
}
Common.googleSearchInitialized = true;
var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE";
var ul = jQuery('#p-tb ul')[0];
if (!ul) {
return;
}
var link = document.createElement('a');
var book = Common.pageInfo.book;
if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) {
google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22"
}
link.href = google.replace(/PAGE/g, encodeURIComponent(book));
link.appendChild(document.createTextNode("Szukaj w podręczniku"));
var li = document.createElement('li');
li.id = "google-trick-search";
li.appendChild(link);
$(ul).children('li#google-trick-search').each(function(i,element){
$(element).remove();
});
ul.insertBefore(li, ul.firstChild);
}
$(Common.insertGoogleSearch);
/*Funkcja do liczenia szerokościm mapska przewijania w pionowego, wtedy x_box_right=="y", lub poziomego, wtedy inny parametr inny niż dla paska pionowego*/
Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){
var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>');
$('body').append(div);
var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")]();
div.css('overflow-'+(x_box_right||"y"), 'scroll');
var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")]();
$(div).remove();
return (w1 - w2);
}
/*Funkcje do obsługi pasków przewijania*/
Common.ScrollBarOverflow=function(){
$('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){
/*start overflow*/
var comp=window.getComputedStyle(element_g, null);
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var overflow=comp.getPropertyValue("overflow");
var overflow_x=$(element_g).hasClass('mw-overflow-x');
if(overflow_x){
var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
if((overflowX)&&(overflowX=="auto")){
element_g.classList.remove("mw-scrollbar-overflow-x");
const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false
if(hasHorizontalScrollbar){
element_g.classList.add("mw-scrollbar-overflow-x");
}
}
}
var overflow_y=$(element_g).hasClass('mw-overflow-y');
if(overflow_y){
var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflowY)&&(overflowY=="auto")){
element_g.classList.remove("mw-scrollbar-overflow-y");
const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false
if(hasVerticalScrollbar){
element_g.classList.add("mw-scrollbar-overflow-y");
}
}
}
/*koniec overflow*/
});
}
$(Common.ScrollBarOverflow);
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow');
Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow');
});
/*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/
Common.StickyXY=function(){
$('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){
var comp=window.getComputedStyle(element_g, null);
function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){
var pozycje_paskow=new Array();
$(element_g).find('*').each(function(i,element){
var comp=window.getComputedStyle(element, null);
var overflow=comp.getPropertyValue("overflow");
var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){
pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft));
}
});
var height_sticky=0;
$('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){
var rect_sticky=el.getBoundingClientRect();
height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]);
});
var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom);
if(StickyXYTopOld===undefined){
var topold_war=parseFloat(element_g.style[top]);
$(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0));
}
if(StickyXYBottomOld===undefined){
var bottomold_war=parseFloat(element_g.style[bottom]);
$(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0));
}
var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5;
var margintop=parseFloat(comp.getPropertyValue("margin-"+top));
margintop=((!isNaN(margintop))?margintop:0);
var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom));
marginbottom=((!isNaN(marginbottom))?marginbottom:0);
var przodek_height=undefined;
element_g.style[height]="auto";
element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[top]="auto";
element_g.style[bottom]="auto";
if(width_box!=null){
element_g.style[width_box]="auto";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[left_box]="auto";
element_g.style[right_box]="0";
$(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){
element.style[width_box]="auto";
element.classList.remove('mw-scrollbar-overflow-x');
element.classList.remove('mw-scrollbar-overflow-y');
});
}
/**/
var parents_node_fun=$(element_g).parents('.mw-parent-node').first();
if((parents_node_fun==null)||(parents_node_fun.length==0)){return;}
var width_rodzic=null;
var rodzic_element=undefined;
var comp_rodz;
parents_node_fun.each(function(i,element){
comp_rodz=window.getComputedStyle(element,null);
przodek_height=parseFloat(comp_rodz.getPropertyValue([height]));
width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null;
rodzic_element=element;
});
var height_box_real=parseFloat(comp.getPropertyValue(height));
var rect_dziecko=element_g.getBoundingClientRect();
var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))];
var rect_rodzic;
parents_node_fun.each(function(i,element){
rect_rodzic=element.getBoundingClientRect();
});
var top_ab=rect_rodzic[top];
var bottom_ab=(wys-rect_rodzic[bottom]);
var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop);
element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px";
element_g.style[height]="100%";
var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)));
element_g.style[top]=top_obj+"px";
element_g.style[bottom]="auto";
if(width_box!=null){
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
rodzic_element.style.position="static";
rodzic_element.style.overflow="hidden";
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
var rect_dziecko=element_g.getBoundingClientRect();
if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){
if(width_box=="width"){
element_g.classList.remove('mw-scrollbar-overflow-x');
}else{
element_g.classList.remove('mw-scrollbar-overflow-y');
}
if(rect_dziecko[width_box]>width_rodzic){
if(width_box=="width"){
element_g.classList.add('mw-scrollbar-overflow-x');
}else{
element_g.classList.add('mw-scrollbar-overflow-y');
}
}
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box));
margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box));
var dlugosc=(width_rodzic-margin_all);
dlugosc=((dlugosc>=0)?dlugosc:0);
element_g.style.whiteSpace="nowrap";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px";
element_g.style[width_box]=width_box_real+"px";
Common.ScrollBarOverflow();
$(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){
var comp_element=window.getComputedStyle(element, null)
element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat (comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px";
element.classList.remove('mw-scrollbar-overflow-'+x_box);
});
element_g.style.whiteSpace="normal";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[width_box]="auto";
var rect_dziecko=element_g.getBoundingClientRect();
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px";
element_g.style[width_box]=width_box_real+"px";
element_g.style[left_box]="0";
element_g.style[right_box]="auto";
rodzic_element.style.position="relative";
}else{
element_g.style.whiteSpace="nowrap";
var szerokosc_box=rect_dziecko[width_box];
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px";
element_g.style[width_box]=(szerokosc_box)+"px";
Common.ScrollBarOverflow();
$(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){
var comp_element=window.getComputedStyle(element, null);
element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat (comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px";
element.classList.remove('mw-scrollbar-overflow-'+x_box);
});
element_g.style.whiteSpace="normal";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[width_box]="auto";
var rect_dziecko=element_g.getBoundingClientRect();
var szerokosc_box=rect_dziecko[width_box];
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px";
element_g.style[width_box]=(szerokosc_box)+"px";
var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box));
if(parseInt(szerokosc)>parseInt(width_rodzic)){
element_g.style[right_box]="0";
element_g.style[left_box]="auto";
rodzic_element.style.overflow="visible";
}else{
element_g.style[left_box]="0";
element_g.style[right_box]="auto";
rodzic_element.style.position="relative";
}
}
}
element_g.style[height]="auto";
element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px";
Common.ScrollBarOverflow();
for(var i in pozycje_paskow){
pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1];
pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2];
}
}
element_g.classList.add('mw-sticky-js');
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var visibility=comp.getPropertyValue("visibility");
if(visibility=="hidden"){return;}
var position=comp.getPropertyValue("position");
if(position!="absolute"){return;}
var sticky_x=$(element_g).hasClass('mw-sticky-x');
var sticky_y=$(element_g).hasClass('mw-sticky-y');
if((sticky_x)&&(!sticky_y)){
var str=$(element_g).parents('.strona_górna, .strona_dolna').first();
if(str.hasClass('strona_dolna')){
FunStickyXY("width","left","right","height","top","bottom","y","x");
}else if(str.hasClass('strona_górna')){
FunStickyXY("width","left","right","height","bottom","top","y","x");
}
}else if((!sticky_x)&&(sticky_y)){
var str=$(element_g).parents('.strona_prawa, .strona_lewa').first();
if(str.hasClass('strona_prawa')){
FunStickyXY("height","top","bottom","width","left","right","x","y");
}else if(str.hasClass('strona_lewa')){
FunStickyXY("height","top","bottom","width","right","left","x","y");
}
}else if((sticky_x)&&(sticky_y)){
FunStickyXY("width","left","right",null);
FunStickyXY("height","top","bottom",null);
}
});
}
$(Common.StickyXY);
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY');
Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY');
});
/*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/
Common.OptimalXY=function(){
$('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){
var comp=window.getComputedStyle(element_g, null);
function FunOptimalXY(width,left,right){
var pozycje_paskow=new Array();
$(element_g).find('*').each(function(i,element){
var comp=window.getComputedStyle(element, null);
var overflow=comp.getPropertyValue("overflow");
var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){
pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft));
}
});
var width_rodzic=null;
var rodzic_node;
var comp_rodz;
$(element_g).parents('.mw-parent-node').first().each(function(i,element){
comp_rodz=window.getComputedStyle(element,null);
width_rodzic=parseFloat(comp_rodz.getPropertyValue([width]));
rodzic_node=element;
});
if((width_rodzic!=null)&&(!isNaN(width_rodzic))){
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
var width_box_real=parseFloat(comp.getPropertyValue(width));
var rect_dziecko=element_g.getBoundingClientRect();
if(width=="width"){
element_g.classList.remove('mw-scrollbar-overflow-x');
}else{
element_g.classList.remove('mw-scrollbar-overflow-y');
}
if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){
var rect_dziecko=element_g.getBoundingClientRect();
if(rect_dziecko[width]>width_rodzic){
if(width=="width"){
element_g.classList.add('mw-scrollbar-overflow-x');
}else{
element_g.classList.add('mw-scrollbar-overflow-y');
}
}
var width_box_real=parseFloat(comp.getPropertyValue(width));
var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right));
margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right));
var dlugosc=(width_rodzic-margin_all);
dlugosc=((dlugosc>=0)?dlugosc:0);
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px";
}else{
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px";
}
var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first();
if(!str.hasClass('strona_start-nawigacja_boksy')){
var rect_dziecko=element_g.getBoundingClientRect();
var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right));
if(parseInt(szerokosc)>parseInt(width_rodzic)){
str.css('position','static');
}else{
str.css('position','relative');
}
}
}
for(var i in pozycje_paskow){
pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1];
pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2];
}
};
element_g.classList.add('mw-optimal-js');
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var visibility=comp.getPropertyValue("visibility");
if(visibility=="hidden"){return;}
var position=comp.getPropertyValue("position");
if(position!="absolute"){return;}
var optimal_x=$(element_g).hasClass('mw-optimal-x');
var optimal_y=$(element_g).hasClass('mw-optimal-y');
if(optimal_x){
FunOptimalXY("width","left","right");
}
if(optimal_y){
FunOptimalXY("height","top","bottom");
}
});
}
$(Common.OptimalXY);
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY');
Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY');
});
/*Definicja dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz stylów CSS*/
Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){
$(obiekt).each(function(i,element_f){
var id=element_f.getAttribute("id")
if((id)&&(id==(id_tabeli_lub_ramki+i))){
var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i);
if((collapsebutton!==null)&&(collapsebutton.length>0)){
$('#mw-content-text .mw-parser-output').find('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){
var href=element_g.getAttribute('href');
if((href!=null)&&(href!="")){
var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*";
var re_frame = new RegExp(col,'g');
var re_javascript=new RegExp("^[\\s;]*javascript:");
if((re_javascript.test(href))&&(re_frame.test(href))){
var href=element_g.getAttribute('href');
if((href!==null)&&(href!="")){
function DodajSkryptJavaScript(fun){
var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g');
var href_nowe=element_g.getAttribute('href');
if(!re.test(href_nowe)){
element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()");
}
}
DodajSkryptJavaScript('Common.ScrollBarOverflow');
DodajSkryptJavaScript('Common.StickyXY');
DodajSkryptJavaScript('Common.OptimalXY');
}
}
}
});
}
}
});
}
/*Koniec dodatkowych funkcji*/
/*Uruchamianie dodatkowych funkcji dla tabel TABLE i ramek DIV nawigacyjnych.*/
$(function(){
/*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/
Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable');
/*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/
Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar');
});
/*Koniec uruchamiania*/
/*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz,z_mouse){
/*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/
var tab_transition={'start':true,'run':true,'cancel':true,'end':true};
var tab_przegladarki={'':true,'webkit':true,'moz':true,'o':true};
for(var a in tab_transition){
for(var b in tab_przegladarki){
var zdarzenie=b+'transition'+a;
Common.ZdarzeniaJavaScript(css,zdarzenie,fun_zdarz);
}
}
if(z_mouse){
Common.ZdarzeniaJavaScript(css,"mouseenter",fun_zdarz);
Common.ZdarzeniaJavaScript(css,"mouseleave",fun_zdarz);
}
};
$(function(){
/*Funkcje zdarzeń*/
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY',true);
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY',true);
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY',false);
});
/*Koniec dodatkowych zdarzeń*/
/*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/
Common.StronaStart=function(){
var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks');
elements.parent().show();
$('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){
$(element).css('visibility',"hidden");
$(element).attr('mw-menu-boks',"false");
});
$('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){
var czy_visible=$(element).css('visibility');
$(element).css('visibility',"visible");
$(element).attr('mw-menu-boks',"true");
var str=$(element).parents('.strona_prawa, .strona_lewa').first();
str.css('position','relative');
str.addClass('strona_start-nawigacja_spis');
str.removeClass('strona_start-nawigacja_boksy');
if(czy_visible=="hidden"){
$(Common.ScrollBarOverflow);
$(Common.StickyXY);
}
});
var str=$('.strona_start').find('.strona .ciało_zawartości > .menu > .menu_boks').children('.spis_treści, .boksy');
if(str.length!=2){return;}
$(str[0]).attr('mw-menu-boks',"true");
$(str[1]).attr('mw-menu-boks',"false");
Common.StronaStartZdarzeniePrzycisku=function(){
var id=this;
$(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){
var menu_boks_zmienna=$(element).attr('mw-menu-boks');
menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false");
if(menu_boks_zmienna=="false"){
$(element).css('display',"block");
$(element).attr('mw-menu-boks','true');
}else if(menu_boks_zmienna=="true"){
$(element).css('display',"none");
$(element).attr('mw-menu-boks','false');
}
});
$(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children('.nawigacja_boksy, .nawigacja_spis').each(function(i,element){
var menu_boks_zmienna=$(element).attr('mw-menu-boks');
menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false");
if(menu_boks_zmienna=="false"){
$(element).css('visibility',"visible");
$(element).attr('mw-menu-boks',"true");
var str=$(element).parents('.strona_prawa, .strona_lewa').first();
if($(element).hasClass('nawigacja_boksy')){
str.css('position','static');
str.addClass('strona_start-nawigacja_boksy');
str.removeClass('strona_start-nawigacja_spis');
$(Common.ScrollBarOverflow);
$(Common.OptimalXY);
}else if($(element).hasClass('nawigacja_spis')){
str.css('position','relative');
str.addClass('strona_start-nawigacja_spis');
str.removeClass('strona_start-nawigacja_boksy');
$(Common.ScrollBarOverflow);
$(Common.StickyXY);
}
}else if(menu_boks_zmienna=="true"){
$(element).css('visibility',"hidden");
$(element).attr('mw-menu-boks',"false");
}
});
}
if(Common.StronaStartZdarzeniePrzycisku)Common.ZdarzeniaJavaScript(elements,'click','StronaStartZdarzeniePrzycisku');
}
$(Common.StronaStart);
})(Common_zmienna_z_MediaWiki_Wikibooks,Common);
g2n2qyszq9mckayq5s68ruqz925xf1m
437904
437901
2022-08-16T18:23:19Z
Persino
2851
javascript
text/javascript
mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true );
/**/
/* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony.
*/
/*
* Zmienna Common.pageInfo, jego elementy, instrukcja obsługi:
* Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber)
* Common.pageInfo.name pełna nazwa strony
* Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash
* Common.pageInfo.book tytuł książki
* Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get"
* Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL
*/
/*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/
var Common_zmienna_z_MediaWiki_Wikibooks=this['Common'];
/*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/
var Common=new Array();
/*Funkcja, by nie było przecieków pamięci*/
(function(Common_zmienna_z_MediaWiki_Wikibooks,Common){
/*Funkcja zwraca zmienną Common ze strony MediaWiki:Common.js*/
Common.MediaWikiCommon=function(){return (Common.IsUserCommon()?Common_zmienna_z_MediaWiki_Wikibooks:Common);}
/*Funkcja zwraca tablicę Common użytkownika, jeżeli taką posiada, w przeciwnym wypadku zwraca undefined*/
Common.UserCommon=function(){return (Common.IsUserCommon()?Common:undefined);}
/*Funkcja zwraca Common z tej strony*/
Common.NoweCommon=function(){return Common;}
/*Funkcja zwraca Common ze strony MediaWiki:Common.js, jeżeli użytkownik posiada własne Common w jego pliku Common, w przeciwnym wypadku zwraca undefined*/
Common.StareCommon=function(){return Common_zmienna_z_MediaWiki_Wikibooks;}
/*Sprawdza, czy użytkownik ma własną zmienną Common.*/
Common.IsUserCommon=function(){return ((Common_zmienna_z_MediaWiki_Wikibooks)?true:false);};
// Frame Busting
Common.LokowanieTopSelf=function(){
if (top != self) top.location.href = self.location.href;
};
$(Common.LokowanieTopSelf);
/*Funkcja zdarzeń odrejestrowania i rejestrowania*/
Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen,tylko_odrejestruj){
/*
css - adres html obiektu,
zdarzenie - zdarzenie jak click,
funkcja_zdarzen - nazwa funkcji zdarzeń w starej przestrzeni Common lub nowej, jak StickyXY,
tylko_odrejestruj - czy tylko zdarzenie ma odrejestrować w starej przestrzeni Common.
*/
if((css)&&(zdarzenie)&&(funkcja_zdarzen)){
/*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/
if((Common_zmienna_z_MediaWiki_Wikibooks)&&(Common_zmienna_z_MediaWiki_Wikibooks[funkcja_zdarzen])){
$(css).off(zdarzenie,Common_zmienna_z_MediaWiki_Wikibooks[funkcja_zdarzen]);
}
if((!tylko_odrejestruj)&&(Common)&&(Common[funkcja_zdarzen])){
/*Rejestrowanie zdarzeń, ale z tej strony .js*/
$(css).on(zdarzenie, Common[funkcja_zdarzen]);
}
}
}
/*Funkcje w przestrzeni nazw Common*/
Common.Naglowek=function(){
/* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */
var hideAll = document.getElementById('mójNagłówekUkryj');
var noFooter = false;
var footers = 0;
var tags = document.getElementsByTagName('div');
for (var i = 0; i < tags.length; i++) {
var el=tags[i].getAttribute("id");
if (el=='mojaStopka')
footers++;
else if (hideAll && (el=='mójNagłówek')) {
tags[i].innerHTML="";
noFooter=true;
}
}
if (noFooter) return;
var footer = document.getElementById('mojaStopka');
if ((footer !== null) && (footers==1)) {
var bodyContent = document.getElementById('bodyContent');
if (bodyContent !== null) {
var s0=document.getElementById('mojaStopka0');
var s1=document.getElementById('mojaStopka1');
if ((s1 !== null) ||
((s0 === null) && (bodyContent.innerHTML.length>8000))){
var strona=document.getElementById('strona');
if(strona!==null){
strona.appendChild(footer);
}else{
var catlinks=document.getElementById('catlinks');
if(catlinks !== null){
bodyContent.insertBefore(footer,catlinks);
}else{
bodyContent.appendChild(footer);
}
}
}
}
}
/* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */
};
$(Common.Naglowek);
/*Informacje o danej stronie*/
Common.PageInfoInit=function(){
var _g = /_/g;
this.name = mw.config.get('wgPageName').replace(/_/g, ' ');
this.namespace = mw.config.get('wgNamespaceNumber');
var i = this.name.search(/\/[^\/]*$/g);
this.title = this.name.slice(i + 1);
this.book = this.name.replace(/\/.*/g, "");
if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) {
re = /\&diff=/g;
this.diff = re.test(document.URL);
re = /\&action=[^\&]*/g;
this.action = document.URL.match(re);
if ( this.action === null ) {
this.action = 'get';
} else {
this.action = this.action[0].slice(8, this.action[0].length);
}
} else {
this.diff = null;
this.action = 'get';
}
}
Common.pageInfo = new Common.PageInfoInit();
/** Collapsible tables *********************************************************
*
* Description: Allows tables to be collapsed, showing only the header. See
* [[en:Wikipedia:NavFrame]].
* Maintainers: [[User:R. Koot]]
*/
Common.autoCollapse = 2;
Common.collapseCaption = "ukryj";
Common.expandCaption = "pokaż";
Common.collapseTable=function( tableIndex )
{
var Button = document.getElementById( "collapseButton" + tableIndex );
var Table = document.getElementById( "collapsibleTable" + tableIndex );
if ( !Table || !Button ) {
return false;
}
var Rows = Table.rows;
if ( Button.firstChild.data == Common.collapseCaption ) {
for ( var i = 1; i < Rows.length; i++ ) {
Rows[i].style.display = "none";
}
Button.firstChild.data = Common.expandCaption;
} else {
for ( var i = 1; i < Rows.length; i++ ) {
Rows[i].style.display = Rows[0].style.display;
}
Button.firstChild.data = Common.collapseCaption;
}
}
Common.createCollapseButtons=function()
{
var tableIndex = 0;
var NavigationBoxes = new Object();
var Tables = document.getElementsByTagName( "table" );
for ( var i = 0; i < Tables.length; i++ ) {
if ( $(Tables[i]).hasClass( "collapsible" ) ) {
/* only add button and increment count if there is a header row to work with */
var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0];
if (!HeaderRow) continue;
var Header = HeaderRow.getElementsByTagName( "th" )[0];
if (!Header) continue;
NavigationBoxes[ tableIndex ] = Tables[i];
Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex );
var Button = document.createElement( "span" );
var ButtonLink = document.createElement( "a" );
var ButtonText = document.createTextNode( Common.collapseCaption );
Button.style.styleFloat = "right";
Button.style.cssFloat = "right";
Button.style.fontWeight = "normal";
Button.style.textAlign = "right";
Button.style.width = "6em";
ButtonLink.style.color = Header.style.color;
ButtonLink.setAttribute( "id", "collapseButton" + tableIndex );
ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" );
ButtonLink.appendChild( ButtonText );
Button.appendChild( document.createTextNode( "[" ) );
Button.appendChild( ButtonLink );
Button.appendChild( document.createTextNode( "]" ) );
$(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){
$(element).remove();
});
Header.insertBefore( Button, Header.childNodes[0]);
tableIndex++;
}
}
for ( var i = 0; i < tableIndex; i++ ) {
if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) {
Common.collapseTable( i );
}
else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) {
var element = NavigationBoxes[i];
while (element = element.parentNode) {
if ( $(element).hasClass( "outercollapse" ) ) {
Common.collapseTable ( i );
break;
}
}
}
}
}
$(Common.createCollapseButtons );
/** Dynamic Navigation Bars (experimental) *************************************
*
* Description: See [[Wikipedia:NavFrame]].
* Maintainers: UNMAINTAINED
*/
// set up the words in your language
Common.NavigationBarHide = '[' + Common.collapseCaption + ']';
Common.NavigationBarShow = '[' + Common.expandCaption + ']';
// shows and hides content and picture (if available) of navigation bars
// Parameters:
// indexNavigationBar: the index of navigation bar to be toggled
Common.toggleNavigationBar=function(indexNavigationBar)
{
var NavToggle = document.getElementById("NavToggle" + indexNavigationBar);
var NavFrame = document.getElementById("NavFrame" + indexNavigationBar);
if (!NavFrame || !NavToggle) {
return false;
}
// if shown now
if (NavToggle.firstChild.data == Common.NavigationBarHide) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) ) {
NavChild.style.display = 'none';
}
if ( $(NavChild).hasClass( 'NavContent') ) {
NavChild.style.display = 'none';
}
}
NavToggle.firstChild.data = Common.NavigationBarShow;
// if hidden now
} else if (NavToggle.firstChild.data == Common.NavigationBarShow) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ($(NavChild).hasClass( 'NavPic')) {
NavChild.style.display = 'block';
}
if ($(NavChild).hasClass( 'NavContent')) {
NavChild.style.display = 'block';
}
}
NavToggle.firstChild.data = Common.NavigationBarHide;
}
}
// adds show/hide-button to navigation bars
Common.createNavigationBarToggleButton=function()
{
var indexNavigationBar = 0;
// iterate over all < div >-elements
var divs = document.getElementsByTagName("div");
for (var i = 0; NavFrame = divs[i]; i++) {
// if found a navigation bar
if ($(NavFrame).hasClass( "NavFrame")) {
indexNavigationBar++;
var NavToggle = document.createElement("a");
NavToggle.className = 'NavToggle';
NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar);
NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');');
var isCollapsed = $(NavFrame).hasClass( "collapsed" );
/*
* Check if any children are already hidden. This loop is here for backwards compatibility:
* the old way of making NavFrames start out collapsed was to manually add style="display:none"
* to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make
* the content visible without JavaScript support), the new recommended way is to add the class
* "collapsed" to the NavFrame itself, just like with collapsible tables.
*/
for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) {
if ( NavChild.style.display == 'none' ) {
isCollapsed = true;
}
}
}
if (isCollapsed) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) {
NavChild.style.display = 'none';
}
}
}
var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide);
NavToggle.appendChild(NavToggleText);
// Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked)
for(var j=0; j < NavFrame.childNodes.length; j++) {
if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) {
$(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){
$(element).remove();
});
NavFrame.childNodes[j].appendChild(NavToggle);
}
}
NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar);
}
}
}
$(Common.createNavigationBarToggleButton );
// Wyszukiwanie Google na stronach podręczników
Common.googleSearchInitialized = false;
Common.insertGoogleSearch=function() {
if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) {
return;
}
Common.googleSearchInitialized = true;
var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE";
var ul = jQuery('#p-tb ul')[0];
if (!ul) {
return;
}
var link = document.createElement('a');
var book = Common.pageInfo.book;
if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) {
google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22"
}
link.href = google.replace(/PAGE/g, encodeURIComponent(book));
link.appendChild(document.createTextNode("Szukaj w podręczniku"));
var li = document.createElement('li');
li.id = "google-trick-search";
li.appendChild(link);
$(ul).children('li#google-trick-search').each(function(i,element){
$(element).remove();
});
ul.insertBefore(li, ul.firstChild);
}
$(Common.insertGoogleSearch);
/*Funkcja do liczenia szerokościm mapska przewijania w pionowego, wtedy x_box_right=="y", lub poziomego, wtedy inny parametr inny niż dla paska pionowego*/
Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){
var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>');
$('body').append(div);
var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")]();
div.css('overflow-'+(x_box_right||"y"), 'scroll');
var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")]();
$(div).remove();
return (w1 - w2);
}
/*Funkcje do obsługi pasków przewijania*/
Common.ScrollBarOverflow=function(){
$('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){
/*start overflow*/
var comp=window.getComputedStyle(element_g, null);
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var overflow=comp.getPropertyValue("overflow");
var overflow_x=$(element_g).hasClass('mw-overflow-x');
if(overflow_x){
var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
if((overflowX)&&(overflowX=="auto")){
element_g.classList.remove("mw-scrollbar-overflow-x");
const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false
if(hasHorizontalScrollbar){
element_g.classList.add("mw-scrollbar-overflow-x");
}
}
}
var overflow_y=$(element_g).hasClass('mw-overflow-y');
if(overflow_y){
var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflowY)&&(overflowY=="auto")){
element_g.classList.remove("mw-scrollbar-overflow-y");
const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false
if(hasVerticalScrollbar){
element_g.classList.add("mw-scrollbar-overflow-y");
}
}
}
/*koniec overflow*/
});
}
$(Common.ScrollBarOverflow);
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow');
Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow');
});
/*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/
Common.StickyXY=function(){
$('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){
var comp=window.getComputedStyle(element_g, null);
function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){
var pozycje_paskow=new Array();
$(element_g).find('*').each(function(i,element){
var comp=window.getComputedStyle(element, null);
var overflow=comp.getPropertyValue("overflow");
var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){
pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft));
}
});
var height_sticky=0;
$('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){
var rect_sticky=el.getBoundingClientRect();
height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]);
});
var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom);
if(StickyXYTopOld===undefined){
var topold_war=parseFloat(element_g.style[top]);
$(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0));
}
if(StickyXYBottomOld===undefined){
var bottomold_war=parseFloat(element_g.style[bottom]);
$(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0));
}
var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5;
var margintop=parseFloat(comp.getPropertyValue("margin-"+top));
margintop=((!isNaN(margintop))?margintop:0);
var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom));
marginbottom=((!isNaN(marginbottom))?marginbottom:0);
var przodek_height=undefined;
element_g.style[height]="auto";
element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[top]="auto";
element_g.style[bottom]="auto";
if(width_box!=null){
element_g.style[width_box]="auto";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[left_box]="auto";
element_g.style[right_box]="0";
$(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){
element.style[width_box]="auto";
element.classList.remove('mw-scrollbar-overflow-x');
element.classList.remove('mw-scrollbar-overflow-y');
});
}
/**/
var parents_node_fun=$(element_g).parents('.mw-parent-node').first();
if((parents_node_fun==null)||(parents_node_fun.length==0)){return;}
var width_rodzic=null;
var rodzic_element=undefined;
var comp_rodz;
parents_node_fun.each(function(i,element){
comp_rodz=window.getComputedStyle(element,null);
przodek_height=parseFloat(comp_rodz.getPropertyValue([height]));
width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null;
rodzic_element=element;
});
var height_box_real=parseFloat(comp.getPropertyValue(height));
var rect_dziecko=element_g.getBoundingClientRect();
var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))];
var rect_rodzic;
parents_node_fun.each(function(i,element){
rect_rodzic=element.getBoundingClientRect();
});
var top_ab=rect_rodzic[top];
var bottom_ab=(wys-rect_rodzic[bottom]);
var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop);
element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px";
element_g.style[height]="100%";
var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)));
element_g.style[top]=top_obj+"px";
element_g.style[bottom]="auto";
if(width_box!=null){
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
rodzic_element.style.position="static";
rodzic_element.style.overflow="hidden";
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
var rect_dziecko=element_g.getBoundingClientRect();
if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){
if(width_box=="width"){
element_g.classList.remove('mw-scrollbar-overflow-x');
}else{
element_g.classList.remove('mw-scrollbar-overflow-y');
}
if(rect_dziecko[width_box]>width_rodzic){
if(width_box=="width"){
element_g.classList.add('mw-scrollbar-overflow-x');
}else{
element_g.classList.add('mw-scrollbar-overflow-y');
}
}
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box));
margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box));
var dlugosc=(width_rodzic-margin_all);
dlugosc=((dlugosc>=0)?dlugosc:0);
element_g.style.whiteSpace="nowrap";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px";
element_g.style[width_box]=width_box_real+"px";
Common.ScrollBarOverflow();
$(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){
var comp_element=window.getComputedStyle(element, null)
element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat (comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px";
element.classList.remove('mw-scrollbar-overflow-'+x_box);
});
element_g.style.whiteSpace="normal";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[width_box]="auto";
var rect_dziecko=element_g.getBoundingClientRect();
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px";
element_g.style[width_box]=width_box_real+"px";
element_g.style[left_box]="0";
element_g.style[right_box]="auto";
rodzic_element.style.position="relative";
}else{
element_g.style.whiteSpace="nowrap";
var szerokosc_box=rect_dziecko[width_box];
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px";
element_g.style[width_box]=(szerokosc_box)+"px";
Common.ScrollBarOverflow();
$(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){
var comp_element=window.getComputedStyle(element, null);
element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat (comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px";
element.classList.remove('mw-scrollbar-overflow-'+x_box);
});
element_g.style.whiteSpace="normal";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[width_box]="auto";
var rect_dziecko=element_g.getBoundingClientRect();
var szerokosc_box=rect_dziecko[width_box];
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px";
element_g.style[width_box]=(szerokosc_box)+"px";
var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box));
if(parseInt(szerokosc)>parseInt(width_rodzic)){
element_g.style[right_box]="0";
element_g.style[left_box]="auto";
rodzic_element.style.overflow="visible";
}else{
element_g.style[left_box]="0";
element_g.style[right_box]="auto";
rodzic_element.style.position="relative";
}
}
}
element_g.style[height]="auto";
element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px";
Common.ScrollBarOverflow();
for(var i in pozycje_paskow){
pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1];
pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2];
}
}
element_g.classList.add('mw-sticky-js');
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var visibility=comp.getPropertyValue("visibility");
if(visibility=="hidden"){return;}
var position=comp.getPropertyValue("position");
if(position!="absolute"){return;}
var sticky_x=$(element_g).hasClass('mw-sticky-x');
var sticky_y=$(element_g).hasClass('mw-sticky-y');
if((sticky_x)&&(!sticky_y)){
var str=$(element_g).parents('.strona_górna, .strona_dolna').first();
if(str.hasClass('strona_dolna')){
FunStickyXY("width","left","right","height","top","bottom","y","x");
}else if(str.hasClass('strona_górna')){
FunStickyXY("width","left","right","height","bottom","top","y","x");
}
}else if((!sticky_x)&&(sticky_y)){
var str=$(element_g).parents('.strona_prawa, .strona_lewa').first();
if(str.hasClass('strona_prawa')){
FunStickyXY("height","top","bottom","width","left","right","x","y");
}else if(str.hasClass('strona_lewa')){
FunStickyXY("height","top","bottom","width","right","left","x","y");
}
}else if((sticky_x)&&(sticky_y)){
FunStickyXY("width","left","right",null);
FunStickyXY("height","top","bottom",null);
}
});
}
$(Common.StickyXY);
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY');
Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY');
});
/*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/
Common.OptimalXY=function(){
$('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){
var comp=window.getComputedStyle(element_g, null);
function FunOptimalXY(width,left,right){
var pozycje_paskow=new Array();
$(element_g).find('*').each(function(i,element){
var comp=window.getComputedStyle(element, null);
var overflow=comp.getPropertyValue("overflow");
var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){
pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft));
}
});
var width_rodzic=null;
var rodzic_node;
var comp_rodz;
$(element_g).parents('.mw-parent-node').first().each(function(i,element){
comp_rodz=window.getComputedStyle(element,null);
width_rodzic=parseFloat(comp_rodz.getPropertyValue([width]));
rodzic_node=element;
});
if((width_rodzic!=null)&&(!isNaN(width_rodzic))){
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
var width_box_real=parseFloat(comp.getPropertyValue(width));
var rect_dziecko=element_g.getBoundingClientRect();
if(width=="width"){
element_g.classList.remove('mw-scrollbar-overflow-x');
}else{
element_g.classList.remove('mw-scrollbar-overflow-y');
}
if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){
var rect_dziecko=element_g.getBoundingClientRect();
if(rect_dziecko[width]>width_rodzic){
if(width=="width"){
element_g.classList.add('mw-scrollbar-overflow-x');
}else{
element_g.classList.add('mw-scrollbar-overflow-y');
}
}
var width_box_real=parseFloat(comp.getPropertyValue(width));
var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right));
margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right));
var dlugosc=(width_rodzic-margin_all);
dlugosc=((dlugosc>=0)?dlugosc:0);
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px";
}else{
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px";
}
var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first();
if(!str.hasClass('strona_start-nawigacja_boksy')){
var rect_dziecko=element_g.getBoundingClientRect();
var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right));
if(parseInt(szerokosc)>parseInt(width_rodzic)){
str.css('position','static');
}else{
str.css('position','relative');
}
}
}
for(var i in pozycje_paskow){
pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1];
pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2];
}
};
element_g.classList.add('mw-optimal-js');
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var visibility=comp.getPropertyValue("visibility");
if(visibility=="hidden"){return;}
var position=comp.getPropertyValue("position");
if(position!="absolute"){return;}
var optimal_x=$(element_g).hasClass('mw-optimal-x');
var optimal_y=$(element_g).hasClass('mw-optimal-y');
if(optimal_x){
FunOptimalXY("width","left","right");
}
if(optimal_y){
FunOptimalXY("height","top","bottom");
}
});
}
$(Common.OptimalXY);
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY');
Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY');
});
/*Definicja dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz stylów CSS*/
Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){
$(obiekt).each(function(i,element_f){
var id=element_f.getAttribute("id")
if((id)&&(id==(id_tabeli_lub_ramki+i))){
var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i);
if((collapsebutton!==null)&&(collapsebutton.length>0)){
$('#mw-content-text .mw-parser-output').find('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){
var href=element_g.getAttribute('href');
if((href!=null)&&(href!="")){
var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*";
var re_frame = new RegExp(col,'g');
var re_javascript=new RegExp("^[\\s;]*javascript:");
if((re_javascript.test(href))&&(re_frame.test(href))){
var href=element_g.getAttribute('href');
if((href!==null)&&(href!="")){
function DodajSkryptJavaScript(fun){
var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g');
var href_nowe=element_g.getAttribute('href');
if(!re.test(href_nowe)){
element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()");
}
}
DodajSkryptJavaScript('Common.ScrollBarOverflow');
DodajSkryptJavaScript('Common.StickyXY');
DodajSkryptJavaScript('Common.OptimalXY');
}
}
}
});
}
}
});
}
/*Koniec dodatkowych funkcji*/
/*Uruchamianie dodatkowych funkcji dla tabel TABLE i ramek DIV nawigacyjnych.*/
$(function(){
/*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/
Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable');
/*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/
Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar');
});
/*Koniec uruchamiania*/
/*Uruchamianie dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz,z_mouse){
/*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/
var tab_transition={'start':true,'run':true,'cancel':true,'end':true};
var tab_przegladarki={'':true,'webkit':true,'moz':true,'o':true};
for(var a in tab_transition){
for(var b in tab_przegladarki){
var zdarzenie=b+'transition'+a;
Common.ZdarzeniaJavaScript(css,zdarzenie,fun_zdarz);
}
}
if(z_mouse){
Common.ZdarzeniaJavaScript(css,"mouseenter",fun_zdarz);
Common.ZdarzeniaJavaScript(css,"mouseleave",fun_zdarz);
}
};
$(function(){
/*Funkcje zdarzeń*/
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY',true);
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY',true);
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY',false);
});
/*Koniec dodatkowych zdarzeń*/
/*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/
Common.StronaStart=function(){
var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks');
elements.parent().show();
$('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){
$(element).css('visibility',"hidden");
$(element).attr('mw-menu-boks',"false");
});
$('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){
var czy_visible=$(element).css('visibility');
$(element).css('visibility',"visible");
$(element).attr('mw-menu-boks',"true");
var str=$(element).parents('.strona_prawa, .strona_lewa').first();
str.css('position','relative');
str.addClass('strona_start-nawigacja_spis');
str.removeClass('strona_start-nawigacja_boksy');
if(czy_visible=="hidden"){
$(Common.ScrollBarOverflow);
$(Common.StickyXY);
}
});
var str=$('.strona_start').find('.strona .ciało_zawartości > .menu > .menu_boks').children('.spis_treści, .boksy');
if(str.length!=2){return;}
$(str[0]).attr('mw-menu-boks',"true");
$(str[1]).attr('mw-menu-boks',"false");
Common.StronaStartZdarzeniePrzycisku=function(){
var id=this;
$(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){
var menu_boks_zmienna=$(element).attr('mw-menu-boks');
menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false");
if(menu_boks_zmienna=="false"){
$(element).css('display',"block");
$(element).attr('mw-menu-boks','true');
}else if(menu_boks_zmienna=="true"){
$(element).css('display',"none");
$(element).attr('mw-menu-boks','false');
}
});
$(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children('.nawigacja_boksy, .nawigacja_spis').each(function(i,element){
var menu_boks_zmienna=$(element).attr('mw-menu-boks');
menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false");
if(menu_boks_zmienna=="false"){
$(element).css('visibility',"visible");
$(element).attr('mw-menu-boks',"true");
var str=$(element).parents('.strona_prawa, .strona_lewa').first();
if($(element).hasClass('nawigacja_boksy')){
str.css('position','static');
str.addClass('strona_start-nawigacja_boksy');
str.removeClass('strona_start-nawigacja_spis');
$(Common.ScrollBarOverflow);
$(Common.OptimalXY);
}else if($(element).hasClass('nawigacja_spis')){
str.css('position','relative');
str.addClass('strona_start-nawigacja_spis');
str.removeClass('strona_start-nawigacja_boksy');
$(Common.ScrollBarOverflow);
$(Common.StickyXY);
}
}else if(menu_boks_zmienna=="true"){
$(element).css('visibility',"hidden");
$(element).attr('mw-menu-boks',"false");
}
});
}
if(Common.StronaStartZdarzeniePrzycisku)Common.ZdarzeniaJavaScript(elements,'click','StronaStartZdarzeniePrzycisku');
}
$(Common.StronaStart);
})(Common_zmienna_z_MediaWiki_Wikibooks,Common);
kgarlkm6ai4a7oqh6lmvf661pvupitp
437907
437904
2022-08-16T18:37:52Z
Persino
2851
javascript
text/javascript
mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true );
/**/
/* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony.
*/
/*
* Zmienna Common.pageInfo, jego elementy, instrukcja obsługi:
* Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber)
* Common.pageInfo.name pełna nazwa strony
* Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash
* Common.pageInfo.book tytuł książki
* Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get"
* Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL
*/
/*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/
var Common_zmienna_z_MediaWiki_Wikibooks=this['Common'];
/*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/
var Common=new Array();
/*Funkcja, by nie było przecieków pamięci*/
(function(Common_zmienna_z_MediaWiki_Wikibooks,Common){
/*Funkcja zwraca zmienną Common ze strony MediaWiki:Common.js*/
Common.MediaWikiCommon=function(){return (Common.IsUserCommon()?Common_zmienna_z_MediaWiki_Wikibooks:Common);}
/*Funkcja zwraca tablicę Common użytkownika, jeżeli taką posiada, w przeciwnym wypadku zwraca undefined*/
Common.UserCommon=function(){return (Common.IsUserCommon()?Common:undefined);}
/*Funkcja zwraca Common z tej strony*/
Common.NoweCommon=function(){return Common;}
/*Funkcja zwraca Common ze strony MediaWiki:Common.js, jeżeli użytkownik posiada własne Common w jego pliku Common, w przeciwnym wypadku zwraca undefined*/
Common.StareCommon=function(){return Common_zmienna_z_MediaWiki_Wikibooks;}
/*Sprawdza, czy użytkownik ma własną zmienną Common.*/
Common.IsUserCommon=function(){return ((Common_zmienna_z_MediaWiki_Wikibooks)?true:false);};
// Frame Busting
Common.LokowanieTopSelf=function(){
if (top != self) top.location.href = self.location.href;
};
$(Common.LokowanieTopSelf);
/*Funkcja zdarzeń odrejestrowania i rejestrowania*/
Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen,tylko_odrejestruj){
/*
css - adres html obiektu,
zdarzenie - zdarzenie jak click,
funkcja_zdarzen - nazwa funkcji zdarzeń w starej przestrzeni Common lub nowej, jak StickyXY,
tylko_odrejestruj - czy tylko zdarzenie ma odrejestrować w starej przestrzeni Common.
*/
if((css)&&(zdarzenie)&&(funkcja_zdarzen)){
/*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/
if((Common_zmienna_z_MediaWiki_Wikibooks)&&(Common_zmienna_z_MediaWiki_Wikibooks[funkcja_zdarzen])){
$(css).off(zdarzenie,Common_zmienna_z_MediaWiki_Wikibooks[funkcja_zdarzen]);
}
if((!tylko_odrejestruj)&&(Common)&&(Common[funkcja_zdarzen])){
/*Rejestrowanie zdarzeń, ale z tej strony .js*/
$(css).on(zdarzenie, Common[funkcja_zdarzen]);
}
}
}
/*Funkcje w przestrzeni nazw Common*/
Common.Naglowek=function(){
/* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */
var hideAll = document.getElementById('mójNagłówekUkryj');
var noFooter = false;
var footers = 0;
var tags = document.getElementsByTagName('div');
for (var i = 0; i < tags.length; i++) {
var el=tags[i].getAttribute("id");
if (el=='mojaStopka')
footers++;
else if (hideAll && (el=='mójNagłówek')) {
tags[i].innerHTML="";
noFooter=true;
}
}
if (noFooter) return;
var footer = document.getElementById('mojaStopka');
if ((footer !== null) && (footers==1)) {
var bodyContent = document.getElementById('bodyContent');
if (bodyContent !== null) {
var s0=document.getElementById('mojaStopka0');
var s1=document.getElementById('mojaStopka1');
if ((s1 !== null) ||
((s0 === null) && (bodyContent.innerHTML.length>8000))){
var strona=document.getElementById('strona');
if(strona!==null){
strona.appendChild(footer);
}else{
var catlinks=document.getElementById('catlinks');
if(catlinks !== null){
bodyContent.insertBefore(footer,catlinks);
}else{
bodyContent.appendChild(footer);
}
}
}
}
}
/* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */
};
$(Common.Naglowek);
/*Informacje o danej stronie*/
Common.PageInfoInit=function(){
var _g = /_/g;
this.name = mw.config.get('wgPageName').replace(/_/g, ' ');
this.namespace = mw.config.get('wgNamespaceNumber');
var i = this.name.search(/\/[^\/]*$/g);
this.title = this.name.slice(i + 1);
this.book = this.name.replace(/\/.*/g, "");
if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) {
re = /\&diff=/g;
this.diff = re.test(document.URL);
re = /\&action=[^\&]*/g;
this.action = document.URL.match(re);
if ( this.action === null ) {
this.action = 'get';
} else {
this.action = this.action[0].slice(8, this.action[0].length);
}
} else {
this.diff = null;
this.action = 'get';
}
}
Common.pageInfo = new Common.PageInfoInit();
/** Collapsible tables *********************************************************
*
* Description: Allows tables to be collapsed, showing only the header. See
* [[en:Wikipedia:NavFrame]].
* Maintainers: [[User:R. Koot]]
*/
Common.autoCollapse = 2;
Common.collapseCaption = "ukryj";
Common.expandCaption = "pokaż";
Common.collapseTable=function( tableIndex )
{
var Button = document.getElementById( "collapseButton" + tableIndex );
var Table = document.getElementById( "collapsibleTable" + tableIndex );
if ( !Table || !Button ) {
return false;
}
var Rows = Table.rows;
if ( Button.firstChild.data == Common.collapseCaption ) {
for ( var i = 1; i < Rows.length; i++ ) {
Rows[i].style.display = "none";
}
Button.firstChild.data = Common.expandCaption;
} else {
for ( var i = 1; i < Rows.length; i++ ) {
Rows[i].style.display = Rows[0].style.display;
}
Button.firstChild.data = Common.collapseCaption;
}
}
Common.createCollapseButtons=function()
{
var tableIndex = 0;
var NavigationBoxes = new Object();
var Tables = document.getElementsByTagName( "table" );
for ( var i = 0; i < Tables.length; i++ ) {
if ( $(Tables[i]).hasClass( "collapsible" ) ) {
/* only add button and increment count if there is a header row to work with */
var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0];
if (!HeaderRow) continue;
var Header = HeaderRow.getElementsByTagName( "th" )[0];
if (!Header) continue;
NavigationBoxes[ tableIndex ] = Tables[i];
Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex );
var Button = document.createElement( "span" );
var ButtonLink = document.createElement( "a" );
var ButtonText = document.createTextNode( Common.collapseCaption );
Button.style.styleFloat = "right";
Button.style.cssFloat = "right";
Button.style.fontWeight = "normal";
Button.style.textAlign = "right";
Button.style.width = "6em";
ButtonLink.style.color = Header.style.color;
ButtonLink.setAttribute( "id", "collapseButton" + tableIndex );
ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" );
ButtonLink.appendChild( ButtonText );
Button.appendChild( document.createTextNode( "[" ) );
Button.appendChild( ButtonLink );
Button.appendChild( document.createTextNode( "]" ) );
$(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){
$(element).remove();
});
Header.insertBefore( Button, Header.childNodes[0]);
tableIndex++;
}
}
for ( var i = 0; i < tableIndex; i++ ) {
if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) {
Common.collapseTable( i );
}
else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) {
var element = NavigationBoxes[i];
while (element = element.parentNode) {
if ( $(element).hasClass( "outercollapse" ) ) {
Common.collapseTable ( i );
break;
}
}
}
}
}
$(Common.createCollapseButtons );
/** Dynamic Navigation Bars (experimental) *************************************
*
* Description: See [[Wikipedia:NavFrame]].
* Maintainers: UNMAINTAINED
*/
// set up the words in your language
Common.NavigationBarHide = '[' + Common.collapseCaption + ']';
Common.NavigationBarShow = '[' + Common.expandCaption + ']';
// shows and hides content and picture (if available) of navigation bars
// Parameters:
// indexNavigationBar: the index of navigation bar to be toggled
Common.toggleNavigationBar=function(indexNavigationBar)
{
var NavToggle = document.getElementById("NavToggle" + indexNavigationBar);
var NavFrame = document.getElementById("NavFrame" + indexNavigationBar);
if (!NavFrame || !NavToggle) {
return false;
}
// if shown now
if (NavToggle.firstChild.data == Common.NavigationBarHide) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) ) {
NavChild.style.display = 'none';
}
if ( $(NavChild).hasClass( 'NavContent') ) {
NavChild.style.display = 'none';
}
}
NavToggle.firstChild.data = Common.NavigationBarShow;
// if hidden now
} else if (NavToggle.firstChild.data == Common.NavigationBarShow) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ($(NavChild).hasClass( 'NavPic')) {
NavChild.style.display = 'block';
}
if ($(NavChild).hasClass( 'NavContent')) {
NavChild.style.display = 'block';
}
}
NavToggle.firstChild.data = Common.NavigationBarHide;
}
}
// adds show/hide-button to navigation bars
Common.createNavigationBarToggleButton=function()
{
var indexNavigationBar = 0;
// iterate over all < div >-elements
var divs = document.getElementsByTagName("div");
for (var i = 0; NavFrame = divs[i]; i++) {
// if found a navigation bar
if ($(NavFrame).hasClass( "NavFrame")) {
indexNavigationBar++;
var NavToggle = document.createElement("a");
NavToggle.className = 'NavToggle';
NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar);
NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');');
var isCollapsed = $(NavFrame).hasClass( "collapsed" );
/*
* Check if any children are already hidden. This loop is here for backwards compatibility:
* the old way of making NavFrames start out collapsed was to manually add style="display:none"
* to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make
* the content visible without JavaScript support), the new recommended way is to add the class
* "collapsed" to the NavFrame itself, just like with collapsible tables.
*/
for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) {
if ( NavChild.style.display == 'none' ) {
isCollapsed = true;
}
}
}
if (isCollapsed) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) {
NavChild.style.display = 'none';
}
}
}
var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide);
NavToggle.appendChild(NavToggleText);
// Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked)
for(var j=0; j < NavFrame.childNodes.length; j++) {
if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) {
$(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){
$(element).remove();
});
NavFrame.childNodes[j].appendChild(NavToggle);
}
}
NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar);
}
}
}
$(Common.createNavigationBarToggleButton );
// Wyszukiwanie Google na stronach podręczników
Common.googleSearchInitialized = false;
Common.insertGoogleSearch=function() {
if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) {
return;
}
Common.googleSearchInitialized = true;
var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE";
var ul = jQuery('#p-tb ul')[0];
if (!ul) {
return;
}
var link = document.createElement('a');
var book = Common.pageInfo.book;
if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) {
google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22"
}
link.href = google.replace(/PAGE/g, encodeURIComponent(book));
link.appendChild(document.createTextNode("Szukaj w podręczniku"));
var li = document.createElement('li');
li.id = "google-trick-search";
li.appendChild(link);
$(ul).children('li#google-trick-search').each(function(i,element){
$(element).remove();
});
ul.insertBefore(li, ul.firstChild);
}
$(Common.insertGoogleSearch);
/*Funkcja do liczenia szerokościm mapska przewijania w pionowego, wtedy x_box_right=="y", lub poziomego, wtedy inny parametr inny niż dla paska pionowego*/
Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){
var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>');
$('body').append(div);
var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")]();
div.css('overflow-'+(x_box_right||"y"), 'scroll');
var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")]();
$(div).remove();
return (w1 - w2);
}
/*Funkcje do obsługi pasków przewijania*/
Common.ScrollBarOverflow=function(){
$('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){
/*start overflow*/
var comp=window.getComputedStyle(element_g, null);
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var overflow=comp.getPropertyValue("overflow");
var overflow_x=$(element_g).hasClass('mw-overflow-x');
if(overflow_x){
var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
if((overflowX)&&(overflowX=="auto")){
element_g.classList.remove("mw-scrollbar-overflow-x");
const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false
if(hasHorizontalScrollbar){
element_g.classList.add("mw-scrollbar-overflow-x");
}
}
}
var overflow_y=$(element_g).hasClass('mw-overflow-y');
if(overflow_y){
var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflowY)&&(overflowY=="auto")){
element_g.classList.remove("mw-scrollbar-overflow-y");
const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false
if(hasVerticalScrollbar){
element_g.classList.add("mw-scrollbar-overflow-y");
}
}
}
/*koniec overflow*/
});
}
/*Uruchamianie funkcji Common.ScrollBarOverflow*/
$(Common.ScrollBarOverflow);
/*Uruchamianie zdarzeń dla elementu Window, używając funkcji Common.ScrollBarOverflow*/
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow');
Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow');
});
/*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/
Common.StickyXY=function(){
$('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){
var comp=window.getComputedStyle(element_g, null);
function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){
var pozycje_paskow=new Array();
$(element_g).find('*').each(function(i,element){
var comp=window.getComputedStyle(element, null);
var overflow=comp.getPropertyValue("overflow");
var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){
pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft));
}
});
var height_sticky=0;
$('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){
var rect_sticky=el.getBoundingClientRect();
height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]);
});
var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom);
if(StickyXYTopOld===undefined){
var topold_war=parseFloat(element_g.style[top]);
$(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0));
}
if(StickyXYBottomOld===undefined){
var bottomold_war=parseFloat(element_g.style[bottom]);
$(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0));
}
var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5;
var margintop=parseFloat(comp.getPropertyValue("margin-"+top));
margintop=((!isNaN(margintop))?margintop:0);
var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom));
marginbottom=((!isNaN(marginbottom))?marginbottom:0);
var przodek_height=undefined;
element_g.style[height]="auto";
element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[top]="auto";
element_g.style[bottom]="auto";
if(width_box!=null){
element_g.style[width_box]="auto";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[left_box]="auto";
element_g.style[right_box]="0";
$(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){
element.style[width_box]="auto";
element.classList.remove('mw-scrollbar-overflow-x');
element.classList.remove('mw-scrollbar-overflow-y');
});
}
/**/
var parents_node_fun=$(element_g).parents('.mw-parent-node').first();
if((parents_node_fun==null)||(parents_node_fun.length==0)){return;}
var width_rodzic=null;
var rodzic_element=undefined;
var comp_rodz;
parents_node_fun.each(function(i,element){
comp_rodz=window.getComputedStyle(element,null);
przodek_height=parseFloat(comp_rodz.getPropertyValue([height]));
width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null;
rodzic_element=element;
});
var height_box_real=parseFloat(comp.getPropertyValue(height));
var rect_dziecko=element_g.getBoundingClientRect();
var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))];
var rect_rodzic;
parents_node_fun.each(function(i,element){
rect_rodzic=element.getBoundingClientRect();
});
var top_ab=rect_rodzic[top];
var bottom_ab=(wys-rect_rodzic[bottom]);
var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop);
element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px";
element_g.style[height]="100%";
var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)));
element_g.style[top]=top_obj+"px";
element_g.style[bottom]="auto";
if(width_box!=null){
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
rodzic_element.style.position="static";
rodzic_element.style.overflow="hidden";
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
var rect_dziecko=element_g.getBoundingClientRect();
if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){
if(width_box=="width"){
element_g.classList.remove('mw-scrollbar-overflow-x');
}else{
element_g.classList.remove('mw-scrollbar-overflow-y');
}
if(rect_dziecko[width_box]>width_rodzic){
if(width_box=="width"){
element_g.classList.add('mw-scrollbar-overflow-x');
}else{
element_g.classList.add('mw-scrollbar-overflow-y');
}
}
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box));
margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box));
var dlugosc=(width_rodzic-margin_all);
dlugosc=((dlugosc>=0)?dlugosc:0);
element_g.style.whiteSpace="nowrap";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px";
element_g.style[width_box]=width_box_real+"px";
Common.ScrollBarOverflow();
$(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){
var comp_element=window.getComputedStyle(element, null)
element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat (comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px";
element.classList.remove('mw-scrollbar-overflow-'+x_box);
});
element_g.style.whiteSpace="normal";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[width_box]="auto";
var rect_dziecko=element_g.getBoundingClientRect();
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px";
element_g.style[width_box]=width_box_real+"px";
element_g.style[left_box]="0";
element_g.style[right_box]="auto";
rodzic_element.style.position="relative";
}else{
element_g.style.whiteSpace="nowrap";
var szerokosc_box=rect_dziecko[width_box];
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px";
element_g.style[width_box]=(szerokosc_box)+"px";
Common.ScrollBarOverflow();
$(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){
var comp_element=window.getComputedStyle(element, null);
element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat (comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px";
element.classList.remove('mw-scrollbar-overflow-'+x_box);
});
element_g.style.whiteSpace="normal";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[width_box]="auto";
var rect_dziecko=element_g.getBoundingClientRect();
var szerokosc_box=rect_dziecko[width_box];
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px";
element_g.style[width_box]=(szerokosc_box)+"px";
var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box));
if(parseInt(szerokosc)>parseInt(width_rodzic)){
element_g.style[right_box]="0";
element_g.style[left_box]="auto";
rodzic_element.style.overflow="visible";
}else{
element_g.style[left_box]="0";
element_g.style[right_box]="auto";
rodzic_element.style.position="relative";
}
}
}
element_g.style[height]="auto";
element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px";
Common.ScrollBarOverflow();
for(var i in pozycje_paskow){
pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1];
pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2];
}
}
element_g.classList.add('mw-sticky-js');
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var visibility=comp.getPropertyValue("visibility");
if(visibility=="hidden"){return;}
var position=comp.getPropertyValue("position");
if(position!="absolute"){return;}
var sticky_x=$(element_g).hasClass('mw-sticky-x');
var sticky_y=$(element_g).hasClass('mw-sticky-y');
if((sticky_x)&&(!sticky_y)){
var str=$(element_g).parents('.strona_górna, .strona_dolna').first();
if(str.hasClass('strona_dolna')){
FunStickyXY("width","left","right","height","top","bottom","y","x");
}else if(str.hasClass('strona_górna')){
FunStickyXY("width","left","right","height","bottom","top","y","x");
}
}else if((!sticky_x)&&(sticky_y)){
var str=$(element_g).parents('.strona_prawa, .strona_lewa').first();
if(str.hasClass('strona_prawa')){
FunStickyXY("height","top","bottom","width","left","right","x","y");
}else if(str.hasClass('strona_lewa')){
FunStickyXY("height","top","bottom","width","right","left","x","y");
}
}else if((sticky_x)&&(sticky_y)){
FunStickyXY("width","left","right",null);
FunStickyXY("height","top","bottom",null);
}
});
}
/*Uruchamianie funkcji Common StickyXY*/
$(Common.StickyXY);
/*Uruchamianie zdarzeń dla elementu Window, używając funkcji Common.StickyXY*/
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY');
Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY');
});
/*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/
Common.OptimalXY=function(){
$('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){
var comp=window.getComputedStyle(element_g, null);
function FunOptimalXY(width,left,right){
var pozycje_paskow=new Array();
$(element_g).find('*').each(function(i,element){
var comp=window.getComputedStyle(element, null);
var overflow=comp.getPropertyValue("overflow");
var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){
pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft));
}
});
var width_rodzic=null;
var rodzic_node;
var comp_rodz;
$(element_g).parents('.mw-parent-node').first().each(function(i,element){
comp_rodz=window.getComputedStyle(element,null);
width_rodzic=parseFloat(comp_rodz.getPropertyValue([width]));
rodzic_node=element;
});
if((width_rodzic!=null)&&(!isNaN(width_rodzic))){
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
var width_box_real=parseFloat(comp.getPropertyValue(width));
var rect_dziecko=element_g.getBoundingClientRect();
if(width=="width"){
element_g.classList.remove('mw-scrollbar-overflow-x');
}else{
element_g.classList.remove('mw-scrollbar-overflow-y');
}
if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){
var rect_dziecko=element_g.getBoundingClientRect();
if(rect_dziecko[width]>width_rodzic){
if(width=="width"){
element_g.classList.add('mw-scrollbar-overflow-x');
}else{
element_g.classList.add('mw-scrollbar-overflow-y');
}
}
var width_box_real=parseFloat(comp.getPropertyValue(width));
var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right));
margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right));
var dlugosc=(width_rodzic-margin_all);
dlugosc=((dlugosc>=0)?dlugosc:0);
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px";
}else{
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px";
}
var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first();
if(!str.hasClass('strona_start-nawigacja_boksy')){
var rect_dziecko=element_g.getBoundingClientRect();
var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right));
if(parseInt(szerokosc)>parseInt(width_rodzic)){
str.css('position','static');
}else{
str.css('position','relative');
}
}
}
for(var i in pozycje_paskow){
pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1];
pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2];
}
};
element_g.classList.add('mw-optimal-js');
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var visibility=comp.getPropertyValue("visibility");
if(visibility=="hidden"){return;}
var position=comp.getPropertyValue("position");
if(position!="absolute"){return;}
var optimal_x=$(element_g).hasClass('mw-optimal-x');
var optimal_y=$(element_g).hasClass('mw-optimal-y');
if(optimal_x){
FunOptimalXY("width","left","right");
}
if(optimal_y){
FunOptimalXY("height","top","bottom");
}
});
}
/*Uruchamianie funkcji Common.OptimalXY*/
$(Common.OptimalXY);
/*Uruchamianie zdarzeń dla elementu Window, używając funkcji OptimalXY*/
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY');
Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY');
});
/*Definicja dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz stylów CSS*/
Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){
$(obiekt).each(function(i,element_f){
var id=element_f.getAttribute("id")
if((id)&&(id==(id_tabeli_lub_ramki+i))){
var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i);
if((collapsebutton!==null)&&(collapsebutton.length>0)){
$('#mw-content-text .mw-parser-output').find('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){
var href=element_g.getAttribute('href');
if((href!=null)&&(href!="")){
var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*";
var re_frame = new RegExp(col,'g');
var re_javascript=new RegExp("^[\\s;]*javascript:");
if((re_javascript.test(href))&&(re_frame.test(href))){
var href=element_g.getAttribute('href');
if((href!==null)&&(href!="")){
function DodajSkryptJavaScript(fun){
var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g');
var href_nowe=element_g.getAttribute('href');
if(!re.test(href_nowe)){
element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()");
}
}
DodajSkryptJavaScript('Common.ScrollBarOverflow');
DodajSkryptJavaScript('Common.StickyXY');
DodajSkryptJavaScript('Common.OptimalXY');
}
}
}
});
}
}
});
}
/*Koniec dodatkowych funkcji*/
/*Uruchamianie dodatkowych funkcji dla tabel TABLE i ramek DIV nawigacyjnych.*/
$(function(){
/*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/
Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable');
/*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/
Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar');
});
/*Koniec uruchamiania*/
/*Definicje dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz,z_mouse){
/*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/
var tab_transition={'start':true,'run':true,'cancel':true,'end':true};
var tab_przegladarki={'':true,'webkit':true,'moz':true,'o':true};
for(var a in tab_transition){
for(var b in tab_przegladarki){
var zdarzenie=b+'transition'+a;
Common.ZdarzeniaJavaScript(css,zdarzenie,fun_zdarz);
}
}
if(z_mouse){
Common.ZdarzeniaJavaScript(css,"mouseenter",fun_zdarz);
Common.ZdarzeniaJavaScript(css,"mouseleave",fun_zdarz);
}
};
/*Koniec dodatkowych zdarzeń*/
/*Uruchamianie dodatkowych zdarzeń*/
$(function(){
/*Funkcje zdarzeń*/
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY',true);
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY',true);
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY',false);
});
/*Koniec uruchamiania dodatkowych zdarzeń*/
/*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/
Common.StronaStart=function(){
var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks');
elements.parent().show();
$('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){
$(element).css('visibility',"hidden");
$(element).attr('mw-menu-boks',"false");
});
$('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){
var czy_visible=$(element).css('visibility');
$(element).css('visibility',"visible");
$(element).attr('mw-menu-boks',"true");
var str=$(element).parents('.strona_prawa, .strona_lewa').first();
str.css('position','relative');
str.addClass('strona_start-nawigacja_spis');
str.removeClass('strona_start-nawigacja_boksy');
if(czy_visible=="hidden"){
$(Common.ScrollBarOverflow);
$(Common.StickyXY);
}
});
var str=$('.strona_start').find('.strona .ciało_zawartości > .menu > .menu_boks').children('.spis_treści, .boksy');
if(str.length!=2){return;}
$(str[0]).attr('mw-menu-boks',"true");
$(str[1]).attr('mw-menu-boks',"false");
Common.StronaStartZdarzeniePrzycisku=function(){
var id=this;
$(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){
var menu_boks_zmienna=$(element).attr('mw-menu-boks');
menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false");
if(menu_boks_zmienna=="false"){
$(element).css('display',"block");
$(element).attr('mw-menu-boks','true');
}else if(menu_boks_zmienna=="true"){
$(element).css('display',"none");
$(element).attr('mw-menu-boks','false');
}
});
$(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children('.nawigacja_boksy, .nawigacja_spis').each(function(i,element){
var menu_boks_zmienna=$(element).attr('mw-menu-boks');
menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false");
if(menu_boks_zmienna=="false"){
$(element).css('visibility',"visible");
$(element).attr('mw-menu-boks',"true");
var str=$(element).parents('.strona_prawa, .strona_lewa').first();
if($(element).hasClass('nawigacja_boksy')){
str.css('position','static');
str.addClass('strona_start-nawigacja_boksy');
str.removeClass('strona_start-nawigacja_spis');
$(Common.ScrollBarOverflow);
$(Common.OptimalXY);
}else if($(element).hasClass('nawigacja_spis')){
str.css('position','relative');
str.addClass('strona_start-nawigacja_spis');
str.removeClass('strona_start-nawigacja_boksy');
$(Common.ScrollBarOverflow);
$(Common.StickyXY);
}
}else if(menu_boks_zmienna=="true"){
$(element).css('visibility',"hidden");
$(element).attr('mw-menu-boks',"false");
}
});
}
if(Common.StronaStartZdarzeniePrzycisku)Common.ZdarzeniaJavaScript(elements,'click','StronaStartZdarzeniePrzycisku');
}
$(Common.StronaStart);
})(Common_zmienna_z_MediaWiki_Wikibooks,Common);
poy5191mc9woxx42m6f431h8v2b6rd2
437911
437907
2022-08-16T19:04:30Z
Persino
2851
javascript
text/javascript
mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true );
/**/
/* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony.
*/
/*
* Zmienna Common.pageInfo, jego elementy, instrukcja obsługi:
* Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber)
* Common.pageInfo.name pełna nazwa strony
* Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash
* Common.pageInfo.book tytuł książki
* Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get"
* Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL
*/
/*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/
var Common_zmienna_z_MediaWiki_Wikibooks=this['Common'];
/*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/
var Common=new Array();
/*Funkcja, by nie było przecieków pamięci*/
(function(Common_zmienna_z_MediaWiki_Wikibooks,Common){
/*Funkcja zwraca zmienną Common ze strony MediaWiki:Common.js*/
Common.MediaWikiCommon=function(){return (Common.IsUserCommon()?Common_zmienna_z_MediaWiki_Wikibooks:Common);}
/*Funkcja zwraca tablicę Common użytkownika, jeżeli taką posiada, w przeciwnym wypadku zwraca undefined*/
Common.UserCommon=function(){return (Common.IsUserCommon()?Common:undefined);}
/*Funkcja zwraca Common z tej strony*/
Common.NoweCommon=function(){return Common;}
/*Funkcja zwraca Common ze strony MediaWiki:Common.js, jeżeli użytkownik posiada własne Common w jego pliku Common, w przeciwnym wypadku zwraca undefined*/
Common.StareCommon=function(){return Common_zmienna_z_MediaWiki_Wikibooks;}
/*Sprawdza, czy użytkownik ma własną zmienną Common.*/
Common.IsUserCommon=function(){return ((Common_zmienna_z_MediaWiki_Wikibooks)?true:false);};
// Frame Busting
Common.LokowanieTopSelf=function(){
if (top != self) top.location.href = self.location.href;
};
/*Uruchamianie funkcji Common.LokowanieTopSelf*/
$(Common.LokowanieTopSelf);
/*Funkcja zdarzeń odrejestrowania i rejestrowania*/
Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen,tylko_odrejestruj){
/*
css - adres html obiektu,
zdarzenie - zdarzenie jak click,
funkcja_zdarzen - nazwa funkcji zdarzeń w starej przestrzeni Common lub nowej, jak StickyXY,
tylko_odrejestruj - czy tylko zdarzenie ma odrejestrować w starej przestrzeni Common.
*/
if((css)&&(zdarzenie)&&(funkcja_zdarzen)){
/*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/
if((Common_zmienna_z_MediaWiki_Wikibooks)&&(Common_zmienna_z_MediaWiki_Wikibooks[funkcja_zdarzen])){
$(css).off(zdarzenie,Common_zmienna_z_MediaWiki_Wikibooks[funkcja_zdarzen]);
}
if((!tylko_odrejestruj)&&(Common)&&(Common[funkcja_zdarzen])){
/*Rejestrowanie zdarzeń, ale z tej strony .js*/
$(css).on(zdarzenie, Common[funkcja_zdarzen]);
}
}
}
/*Funkcje w przestrzeni nazw Common*/
Common.Naglowek=function(){
/* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */
var hideAll = document.getElementById('mójNagłówekUkryj');
var noFooter = false;
var footers = 0;
var tags = document.getElementsByTagName('div');
for (var i = 0; i < tags.length; i++) {
var el=tags[i].getAttribute("id");
if (el=='mojaStopka')
footers++;
else if (hideAll && (el=='mójNagłówek')) {
tags[i].innerHTML="";
noFooter=true;
}
}
if (noFooter) return;
var footer = document.getElementById('mojaStopka');
if ((footer !== null) && (footers==1)) {
var bodyContent = document.getElementById('bodyContent');
if (bodyContent !== null) {
var s0=document.getElementById('mojaStopka0');
var s1=document.getElementById('mojaStopka1');
if ((s1 !== null) ||
((s0 === null) && (bodyContent.innerHTML.length>8000))){
var strona=document.getElementById('strona');
if(strona!==null){
strona.appendChild(footer);
}else{
var catlinks=document.getElementById('catlinks');
if(catlinks !== null){
bodyContent.insertBefore(footer,catlinks);
}else{
bodyContent.appendChild(footer);
}
}
}
}
}
/* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */
};
$(Common.Naglowek);
/*Informacje o danej stronie*/
Common.PageInfoInit=function(){
var _g = /_/g;
this.name = mw.config.get('wgPageName').replace(/_/g, ' ');
this.namespace = mw.config.get('wgNamespaceNumber');
var i = this.name.search(/\/[^\/]*$/g);
this.title = this.name.slice(i + 1);
this.book = this.name.replace(/\/.*/g, "");
if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) {
re = /\&diff=/g;
this.diff = re.test(document.URL);
re = /\&action=[^\&]*/g;
this.action = document.URL.match(re);
if ( this.action === null ) {
this.action = 'get';
} else {
this.action = this.action[0].slice(8, this.action[0].length);
}
} else {
this.diff = null;
this.action = 'get';
}
}
Common.pageInfo = new Common.PageInfoInit();
/** Collapsible tables *********************************************************
*
* Description: Allows tables to be collapsed, showing only the header. See
* [[en:Wikipedia:NavFrame]].
* Maintainers: [[User:R. Koot]]
*/
Common.autoCollapse = 2;
Common.collapseCaption = "ukryj";
Common.expandCaption = "pokaż";
Common.collapseTable=function( tableIndex )
{
var Button = document.getElementById( "collapseButton" + tableIndex );
var Table = document.getElementById( "collapsibleTable" + tableIndex );
if ( !Table || !Button ) {
return false;
}
var Rows = Table.rows;
if ( Button.firstChild.data == Common.collapseCaption ) {
for ( var i = 1; i < Rows.length; i++ ) {
Rows[i].style.display = "none";
}
Button.firstChild.data = Common.expandCaption;
} else {
for ( var i = 1; i < Rows.length; i++ ) {
Rows[i].style.display = Rows[0].style.display;
}
Button.firstChild.data = Common.collapseCaption;
}
}
Common.createCollapseButtons=function()
{
var tableIndex = 0;
var NavigationBoxes = new Object();
var Tables = document.getElementsByTagName( "table" );
for ( var i = 0; i < Tables.length; i++ ) {
if ( $(Tables[i]).hasClass( "collapsible" ) ) {
/* only add button and increment count if there is a header row to work with */
var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0];
if (!HeaderRow) continue;
var Header = HeaderRow.getElementsByTagName( "th" )[0];
if (!Header) continue;
NavigationBoxes[ tableIndex ] = Tables[i];
Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex );
var Button = document.createElement( "span" );
var ButtonLink = document.createElement( "a" );
var ButtonText = document.createTextNode( Common.collapseCaption );
Button.style.styleFloat = "right";
Button.style.cssFloat = "right";
Button.style.fontWeight = "normal";
Button.style.textAlign = "right";
Button.style.width = "6em";
ButtonLink.style.color = Header.style.color;
ButtonLink.setAttribute( "id", "collapseButton" + tableIndex );
ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" );
ButtonLink.appendChild( ButtonText );
Button.appendChild( document.createTextNode( "[" ) );
Button.appendChild( ButtonLink );
Button.appendChild( document.createTextNode( "]" ) );
$(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){
$(element).remove();
});
Header.insertBefore( Button, Header.childNodes[0]);
tableIndex++;
}
}
for ( var i = 0; i < tableIndex; i++ ) {
if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) {
Common.collapseTable( i );
}
else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) {
var element = NavigationBoxes[i];
while (element = element.parentNode) {
if ( $(element).hasClass( "outercollapse" ) ) {
Common.collapseTable ( i );
break;
}
}
}
}
}
$(Common.createCollapseButtons );
/** Dynamic Navigation Bars (experimental) *************************************
*
* Description: See [[Wikipedia:NavFrame]].
* Maintainers: UNMAINTAINED
*/
// set up the words in your language
Common.NavigationBarHide = '[' + Common.collapseCaption + ']';
Common.NavigationBarShow = '[' + Common.expandCaption + ']';
// shows and hides content and picture (if available) of navigation bars
// Parameters:
// indexNavigationBar: the index of navigation bar to be toggled
Common.toggleNavigationBar=function(indexNavigationBar)
{
var NavToggle = document.getElementById("NavToggle" + indexNavigationBar);
var NavFrame = document.getElementById("NavFrame" + indexNavigationBar);
if (!NavFrame || !NavToggle) {
return false;
}
// if shown now
if (NavToggle.firstChild.data == Common.NavigationBarHide) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) ) {
NavChild.style.display = 'none';
}
if ( $(NavChild).hasClass( 'NavContent') ) {
NavChild.style.display = 'none';
}
}
NavToggle.firstChild.data = Common.NavigationBarShow;
// if hidden now
} else if (NavToggle.firstChild.data == Common.NavigationBarShow) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ($(NavChild).hasClass( 'NavPic')) {
NavChild.style.display = 'block';
}
if ($(NavChild).hasClass( 'NavContent')) {
NavChild.style.display = 'block';
}
}
NavToggle.firstChild.data = Common.NavigationBarHide;
}
}
// adds show/hide-button to navigation bars
Common.createNavigationBarToggleButton=function()
{
var indexNavigationBar = 0;
// iterate over all < div >-elements
var divs = document.getElementsByTagName("div");
for (var i = 0; NavFrame = divs[i]; i++) {
// if found a navigation bar
if ($(NavFrame).hasClass( "NavFrame")) {
indexNavigationBar++;
var NavToggle = document.createElement("a");
NavToggle.className = 'NavToggle';
NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar);
NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');');
var isCollapsed = $(NavFrame).hasClass( "collapsed" );
/*
* Check if any children are already hidden. This loop is here for backwards compatibility:
* the old way of making NavFrames start out collapsed was to manually add style="display:none"
* to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make
* the content visible without JavaScript support), the new recommended way is to add the class
* "collapsed" to the NavFrame itself, just like with collapsible tables.
*/
for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) {
if ( NavChild.style.display == 'none' ) {
isCollapsed = true;
}
}
}
if (isCollapsed) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) {
NavChild.style.display = 'none';
}
}
}
var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide);
NavToggle.appendChild(NavToggleText);
// Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked)
for(var j=0; j < NavFrame.childNodes.length; j++) {
if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) {
$(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){
$(element).remove();
});
NavFrame.childNodes[j].appendChild(NavToggle);
}
}
NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar);
}
}
}
$(Common.createNavigationBarToggleButton );
// Wyszukiwanie Google na stronach podręczników
Common.googleSearchInitialized = false;
Common.insertGoogleSearch=function() {
if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) {
return;
}
Common.googleSearchInitialized = true;
var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE";
var ul = jQuery('#p-tb ul')[0];
if (!ul) {
return;
}
var link = document.createElement('a');
var book = Common.pageInfo.book;
if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) {
google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22"
}
link.href = google.replace(/PAGE/g, encodeURIComponent(book));
link.appendChild(document.createTextNode("Szukaj w podręczniku"));
var li = document.createElement('li');
li.id = "google-trick-search";
li.appendChild(link);
$(ul).children('li#google-trick-search').each(function(i,element){
$(element).remove();
});
ul.insertBefore(li, ul.firstChild);
}
$(Common.insertGoogleSearch);
/*Funkcja do liczenia szerokościm mapska przewijania w pionowego, wtedy x_box_right=="y", lub poziomego, wtedy inny parametr inny niż dla paska pionowego*/
Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){
var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>');
$('body').append(div);
var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")]();
div.css('overflow-'+(x_box_right||"y"), 'scroll');
var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")]();
$(div).remove();
return (w1 - w2);
}
/*Funkcje do obsługi pasków przewijania*/
Common.ScrollBarOverflow=function(){
$('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){
/*start overflow*/
var comp=window.getComputedStyle(element_g, null);
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var overflow=comp.getPropertyValue("overflow");
var overflow_x=$(element_g).hasClass('mw-overflow-x');
if(overflow_x){
var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
if((overflowX)&&(overflowX=="auto")){
element_g.classList.remove("mw-scrollbar-overflow-x");
const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false
if(hasHorizontalScrollbar){
element_g.classList.add("mw-scrollbar-overflow-x");
}
}
}
var overflow_y=$(element_g).hasClass('mw-overflow-y');
if(overflow_y){
var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflowY)&&(overflowY=="auto")){
element_g.classList.remove("mw-scrollbar-overflow-y");
const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false
if(hasVerticalScrollbar){
element_g.classList.add("mw-scrollbar-overflow-y");
}
}
}
/*koniec overflow*/
});
}
/*Uruchamianie funkcji Common.ScrollBarOverflow*/
$(Common.ScrollBarOverflow);
/*Uruchamianie zdarzeń dla elementu Window, używając funkcji Common.ScrollBarOverflow*/
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow');
Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow');
});
/*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/
Common.StickyXY=function(){
$('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){
var comp=window.getComputedStyle(element_g, null);
function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){
var pozycje_paskow=new Array();
$(element_g).find('*').each(function(i,element){
var comp=window.getComputedStyle(element, null);
var overflow=comp.getPropertyValue("overflow");
var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){
pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft));
}
});
var height_sticky=0;
$('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){
var rect_sticky=el.getBoundingClientRect();
height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]);
});
var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom);
if(StickyXYTopOld===undefined){
var topold_war=parseFloat(element_g.style[top]);
$(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0));
}
if(StickyXYBottomOld===undefined){
var bottomold_war=parseFloat(element_g.style[bottom]);
$(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0));
}
var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5;
var margintop=parseFloat(comp.getPropertyValue("margin-"+top));
margintop=((!isNaN(margintop))?margintop:0);
var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom));
marginbottom=((!isNaN(marginbottom))?marginbottom:0);
var przodek_height=undefined;
element_g.style[height]="auto";
element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[top]="auto";
element_g.style[bottom]="auto";
if(width_box!=null){
element_g.style[width_box]="auto";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[left_box]="auto";
element_g.style[right_box]="0";
$(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){
element.style[width_box]="auto";
element.classList.remove('mw-scrollbar-overflow-x');
element.classList.remove('mw-scrollbar-overflow-y');
});
}
/**/
var parents_node_fun=$(element_g).parents('.mw-parent-node').first();
if((parents_node_fun==null)||(parents_node_fun.length==0)){return;}
var width_rodzic=null;
var rodzic_element=undefined;
var comp_rodz;
parents_node_fun.each(function(i,element){
comp_rodz=window.getComputedStyle(element,null);
przodek_height=parseFloat(comp_rodz.getPropertyValue([height]));
width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null;
rodzic_element=element;
});
var height_box_real=parseFloat(comp.getPropertyValue(height));
var rect_dziecko=element_g.getBoundingClientRect();
var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))];
var rect_rodzic;
parents_node_fun.each(function(i,element){
rect_rodzic=element.getBoundingClientRect();
});
var top_ab=rect_rodzic[top];
var bottom_ab=(wys-rect_rodzic[bottom]);
var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop);
element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px";
element_g.style[height]="100%";
var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)));
element_g.style[top]=top_obj+"px";
element_g.style[bottom]="auto";
if(width_box!=null){
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
rodzic_element.style.position="static";
rodzic_element.style.overflow="hidden";
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
var rect_dziecko=element_g.getBoundingClientRect();
if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){
if(width_box=="width"){
element_g.classList.remove('mw-scrollbar-overflow-x');
}else{
element_g.classList.remove('mw-scrollbar-overflow-y');
}
if(rect_dziecko[width_box]>width_rodzic){
if(width_box=="width"){
element_g.classList.add('mw-scrollbar-overflow-x');
}else{
element_g.classList.add('mw-scrollbar-overflow-y');
}
}
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box));
margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box));
var dlugosc=(width_rodzic-margin_all);
dlugosc=((dlugosc>=0)?dlugosc:0);
element_g.style.whiteSpace="nowrap";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px";
element_g.style[width_box]=width_box_real+"px";
Common.ScrollBarOverflow();
$(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){
var comp_element=window.getComputedStyle(element, null)
element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat (comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px";
element.classList.remove('mw-scrollbar-overflow-'+x_box);
});
element_g.style.whiteSpace="normal";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[width_box]="auto";
var rect_dziecko=element_g.getBoundingClientRect();
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px";
element_g.style[width_box]=width_box_real+"px";
element_g.style[left_box]="0";
element_g.style[right_box]="auto";
rodzic_element.style.position="relative";
}else{
element_g.style.whiteSpace="nowrap";
var szerokosc_box=rect_dziecko[width_box];
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px";
element_g.style[width_box]=(szerokosc_box)+"px";
Common.ScrollBarOverflow();
$(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){
var comp_element=window.getComputedStyle(element, null);
element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat (comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px";
element.classList.remove('mw-scrollbar-overflow-'+x_box);
});
element_g.style.whiteSpace="normal";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[width_box]="auto";
var rect_dziecko=element_g.getBoundingClientRect();
var szerokosc_box=rect_dziecko[width_box];
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px";
element_g.style[width_box]=(szerokosc_box)+"px";
var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box));
if(parseInt(szerokosc)>parseInt(width_rodzic)){
element_g.style[right_box]="0";
element_g.style[left_box]="auto";
rodzic_element.style.overflow="visible";
}else{
element_g.style[left_box]="0";
element_g.style[right_box]="auto";
rodzic_element.style.position="relative";
}
}
}
element_g.style[height]="auto";
element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px";
Common.ScrollBarOverflow();
for(var i in pozycje_paskow){
pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1];
pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2];
}
}
element_g.classList.add('mw-sticky-js');
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var visibility=comp.getPropertyValue("visibility");
if(visibility=="hidden"){return;}
var position=comp.getPropertyValue("position");
if(position!="absolute"){return;}
var sticky_x=$(element_g).hasClass('mw-sticky-x');
var sticky_y=$(element_g).hasClass('mw-sticky-y');
if((sticky_x)&&(!sticky_y)){
var str=$(element_g).parents('.strona_górna, .strona_dolna').first();
if(str.hasClass('strona_dolna')){
FunStickyXY("width","left","right","height","top","bottom","y","x");
}else if(str.hasClass('strona_górna')){
FunStickyXY("width","left","right","height","bottom","top","y","x");
}
}else if((!sticky_x)&&(sticky_y)){
var str=$(element_g).parents('.strona_prawa, .strona_lewa').first();
if(str.hasClass('strona_prawa')){
FunStickyXY("height","top","bottom","width","left","right","x","y");
}else if(str.hasClass('strona_lewa')){
FunStickyXY("height","top","bottom","width","right","left","x","y");
}
}else if((sticky_x)&&(sticky_y)){
FunStickyXY("width","left","right",null);
FunStickyXY("height","top","bottom",null);
}
});
}
/*Uruchamianie funkcji Common StickyXY*/
$(Common.StickyXY);
/*Uruchamianie zdarzeń dla elementu Window, używając funkcji Common.StickyXY*/
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY');
Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY');
});
/*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/
Common.OptimalXY=function(){
$('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){
var comp=window.getComputedStyle(element_g, null);
function FunOptimalXY(width,left,right){
var pozycje_paskow=new Array();
$(element_g).find('*').each(function(i,element){
var comp=window.getComputedStyle(element, null);
var overflow=comp.getPropertyValue("overflow");
var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){
pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft));
}
});
var width_rodzic=null;
var rodzic_node;
var comp_rodz;
$(element_g).parents('.mw-parent-node').first().each(function(i,element){
comp_rodz=window.getComputedStyle(element,null);
width_rodzic=parseFloat(comp_rodz.getPropertyValue([width]));
rodzic_node=element;
});
if((width_rodzic!=null)&&(!isNaN(width_rodzic))){
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
var width_box_real=parseFloat(comp.getPropertyValue(width));
var rect_dziecko=element_g.getBoundingClientRect();
if(width=="width"){
element_g.classList.remove('mw-scrollbar-overflow-x');
}else{
element_g.classList.remove('mw-scrollbar-overflow-y');
}
if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){
var rect_dziecko=element_g.getBoundingClientRect();
if(rect_dziecko[width]>width_rodzic){
if(width=="width"){
element_g.classList.add('mw-scrollbar-overflow-x');
}else{
element_g.classList.add('mw-scrollbar-overflow-y');
}
}
var width_box_real=parseFloat(comp.getPropertyValue(width));
var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right));
margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right));
var dlugosc=(width_rodzic-margin_all);
dlugosc=((dlugosc>=0)?dlugosc:0);
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px";
}else{
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px";
}
var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first();
if(!str.hasClass('strona_start-nawigacja_boksy')){
var rect_dziecko=element_g.getBoundingClientRect();
var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right));
if(parseInt(szerokosc)>parseInt(width_rodzic)){
str.css('position','static');
}else{
str.css('position','relative');
}
}
}
for(var i in pozycje_paskow){
pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1];
pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2];
}
};
element_g.classList.add('mw-optimal-js');
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var visibility=comp.getPropertyValue("visibility");
if(visibility=="hidden"){return;}
var position=comp.getPropertyValue("position");
if(position!="absolute"){return;}
var optimal_x=$(element_g).hasClass('mw-optimal-x');
var optimal_y=$(element_g).hasClass('mw-optimal-y');
if(optimal_x){
FunOptimalXY("width","left","right");
}
if(optimal_y){
FunOptimalXY("height","top","bottom");
}
});
}
/*Uruchamianie funkcji Common.OptimalXY*/
$(Common.OptimalXY);
/*Uruchamianie zdarzeń dla elementu Window, używając funkcji OptimalXY*/
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY');
Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY');
});
/*Definicja dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz stylów CSS*/
Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){
$(obiekt).each(function(i,element_f){
var id=element_f.getAttribute("id")
if((id)&&(id==(id_tabeli_lub_ramki+i))){
var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i);
if((collapsebutton!==null)&&(collapsebutton.length>0)){
$('#mw-content-text .mw-parser-output').find('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){
var href=element_g.getAttribute('href');
if((href!=null)&&(href!="")){
var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*";
var re_frame = new RegExp(col,'g');
var re_javascript=new RegExp("^[\\s;]*javascript:");
if((re_javascript.test(href))&&(re_frame.test(href))){
var href=element_g.getAttribute('href');
if((href!==null)&&(href!="")){
function DodajSkryptJavaScript(fun){
var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g');
var href_nowe=element_g.getAttribute('href');
if(!re.test(href_nowe)){
element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()");
}
}
DodajSkryptJavaScript('Common.ScrollBarOverflow');
DodajSkryptJavaScript('Common.StickyXY');
DodajSkryptJavaScript('Common.OptimalXY');
}
}
}
});
}
}
});
}
/*Koniec dodatkowych funkcji*/
/*Uruchamianie dodatkowych funkcji dla tabel TABLE i ramek DIV nawigacyjnych.*/
$(function(){
/*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/
Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable');
/*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/
Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar');
});
/*Koniec uruchamiania*/
/*Definicje dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz,z_mouse){
/*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/
var tab_transition={'start':true,'run':true,'cancel':true,'end':true};
var tab_przegladarki={'':true,'webkit':true,'moz':true,'o':true};
for(var a in tab_transition){
for(var b in tab_przegladarki){
var zdarzenie=b+'transition'+a;
Common.ZdarzeniaJavaScript(css,zdarzenie,fun_zdarz);
}
}
if(z_mouse){
Common.ZdarzeniaJavaScript(css,"mouseenter",fun_zdarz);
Common.ZdarzeniaJavaScript(css,"mouseleave",fun_zdarz);
}
};
/*Koniec dodatkowych zdarzeń*/
/*Uruchamianie dodatkowych zdarzeń*/
$(function(){
/*Funkcje zdarzeń*/
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY',true);
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY',true);
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY',false);
});
/*Koniec uruchamiania dodatkowych zdarzeń*/
/*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/
Common.StronaStart=function(){
var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks');
elements.parent().show();
$('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){
$(element).css('visibility',"hidden");
$(element).attr('mw-menu-boks',"false");
});
$('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){
var czy_visible=$(element).css('visibility');
$(element).css('visibility',"visible");
$(element).attr('mw-menu-boks',"true");
var str=$(element).parents('.strona_prawa, .strona_lewa').first();
str.css('position','relative');
str.addClass('strona_start-nawigacja_spis');
str.removeClass('strona_start-nawigacja_boksy');
if(czy_visible=="hidden"){
$(Common.ScrollBarOverflow);
$(Common.StickyXY);
}
});
var str=$('.strona_start').find('.strona .ciało_zawartości > .menu > .menu_boks').children('.spis_treści, .boksy');
if(str.length!=2){return;}
$(str[0]).attr('mw-menu-boks',"true");
$(str[1]).attr('mw-menu-boks',"false");
Common.StronaStartZdarzeniePrzycisku=function(){
var id=this;
$(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){
var menu_boks_zmienna=$(element).attr('mw-menu-boks');
menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false");
if(menu_boks_zmienna=="false"){
$(element).css('display',"block");
$(element).attr('mw-menu-boks','true');
}else if(menu_boks_zmienna=="true"){
$(element).css('display',"none");
$(element).attr('mw-menu-boks','false');
}
});
$(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children('.nawigacja_boksy, .nawigacja_spis').each(function(i,element){
var menu_boks_zmienna=$(element).attr('mw-menu-boks');
menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false");
if(menu_boks_zmienna=="false"){
$(element).css('visibility',"visible");
$(element).attr('mw-menu-boks',"true");
var str=$(element).parents('.strona_prawa, .strona_lewa').first();
if($(element).hasClass('nawigacja_boksy')){
str.css('position','static');
str.addClass('strona_start-nawigacja_boksy');
str.removeClass('strona_start-nawigacja_spis');
$(Common.ScrollBarOverflow);
$(Common.OptimalXY);
}else if($(element).hasClass('nawigacja_spis')){
str.css('position','relative');
str.addClass('strona_start-nawigacja_spis');
str.removeClass('strona_start-nawigacja_boksy');
$(Common.ScrollBarOverflow);
$(Common.StickyXY);
}
}else if(menu_boks_zmienna=="true"){
$(element).css('visibility',"hidden");
$(element).attr('mw-menu-boks',"false");
}
});
}
if(Common.StronaStartZdarzeniePrzycisku)Common.ZdarzeniaJavaScript(elements,'click','StronaStartZdarzeniePrzycisku');
}
$(Common.StronaStart);
})(Common_zmienna_z_MediaWiki_Wikibooks,Common);
31f6324kt7zpsqudutzye20sd4hfjd8
437912
437911
2022-08-16T19:08:02Z
Persino
2851
javascript
text/javascript
mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true );
/**/
/* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony.
*/
/*
* Zmienna Common.pageInfo, jego elementy, instrukcja obsługi:
* Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber)
* Common.pageInfo.name pełna nazwa strony
* Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash
* Common.pageInfo.book tytuł książki
* Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get"
* Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL
*/
/*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/
var Common_zmienna_z_MediaWiki_Wikibooks=this['Common'];
/*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/
var Common=new Array();
/*Funkcja, by nie było przecieków pamięci*/
(function(Common_zmienna_z_MediaWiki_Wikibooks,Common){
/*Funkcja zwraca zmienną Common ze strony MediaWiki:Common.js*/
Common.MediaWikiCommon=function(){return (Common.IsUserCommon()?Common_zmienna_z_MediaWiki_Wikibooks:Common);}
/*Funkcja zwraca tablicę Common użytkownika, jeżeli taką posiada, w przeciwnym wypadku zwraca undefined*/
Common.UserCommon=function(){return (Common.IsUserCommon()?Common:undefined);}
/*Funkcja zwraca Common z tej strony*/
Common.NoweCommon=function(){return Common;}
/*Funkcja zwraca Common ze strony MediaWiki:Common.js, jeżeli użytkownik posiada własne Common w jego pliku Common, w przeciwnym wypadku zwraca undefined*/
Common.StareCommon=function(){return Common_zmienna_z_MediaWiki_Wikibooks;}
/*Sprawdza, czy użytkownik ma własną zmienną Common*/
Common.IsUserCommon=function(){return ((Common_zmienna_z_MediaWiki_Wikibooks)?true:false);};
// Frame Busting
Common.LokowanieTopSelf=function(){
if (top != self) top.location.href = self.location.href;
};
/*Uruchamianie funkcji Common.LokowanieTopSelf*/
$(Common.LokowanieTopSelf);
/*Funkcja zdarzeń odrejestrowania i rejestrowania*/
Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen,tylko_odrejestruj){
/*
css - adres html obiektu,
zdarzenie - zdarzenie jak click,
funkcja_zdarzen - nazwa funkcji zdarzeń w starej przestrzeni Common lub nowej, jak StickyXY,
tylko_odrejestruj - czy tylko zdarzenie ma odrejestrować w starej przestrzeni Common.
*/
if((css)&&(zdarzenie)&&(funkcja_zdarzen)){
/*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/
if((Common_zmienna_z_MediaWiki_Wikibooks)&&(Common_zmienna_z_MediaWiki_Wikibooks[funkcja_zdarzen])){
$(css).off(zdarzenie,Common_zmienna_z_MediaWiki_Wikibooks[funkcja_zdarzen]);
}
if((!tylko_odrejestruj)&&(Common)&&(Common[funkcja_zdarzen])){
/*Rejestrowanie zdarzeń, ale z tej strony .js*/
$(css).on(zdarzenie, Common[funkcja_zdarzen]);
}
}
}
/*Funkcje w przestrzeni nazw Common*/
Common.Naglowek=function(){
/* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */
var hideAll = document.getElementById('mójNagłówekUkryj');
var noFooter = false;
var footers = 0;
var tags = document.getElementsByTagName('div');
for (var i = 0; i < tags.length; i++) {
var el=tags[i].getAttribute("id");
if (el=='mojaStopka')
footers++;
else if (hideAll && (el=='mójNagłówek')) {
tags[i].innerHTML="";
noFooter=true;
}
}
if (noFooter) return;
var footer = document.getElementById('mojaStopka');
if ((footer !== null) && (footers==1)) {
var bodyContent = document.getElementById('bodyContent');
if (bodyContent !== null) {
var s0=document.getElementById('mojaStopka0');
var s1=document.getElementById('mojaStopka1');
if ((s1 !== null) ||
((s0 === null) && (bodyContent.innerHTML.length>8000))){
var strona=document.getElementById('strona');
if(strona!==null){
strona.appendChild(footer);
}else{
var catlinks=document.getElementById('catlinks');
if(catlinks !== null){
bodyContent.insertBefore(footer,catlinks);
}else{
bodyContent.appendChild(footer);
}
}
}
}
}
/* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */
};
$(Common.Naglowek);
/*Informacje o danej stronie*/
Common.PageInfoInit=function(){
var _g = /_/g;
this.name = mw.config.get('wgPageName').replace(/_/g, ' ');
this.namespace = mw.config.get('wgNamespaceNumber');
var i = this.name.search(/\/[^\/]*$/g);
this.title = this.name.slice(i + 1);
this.book = this.name.replace(/\/.*/g, "");
if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) {
re = /\&diff=/g;
this.diff = re.test(document.URL);
re = /\&action=[^\&]*/g;
this.action = document.URL.match(re);
if ( this.action === null ) {
this.action = 'get';
} else {
this.action = this.action[0].slice(8, this.action[0].length);
}
} else {
this.diff = null;
this.action = 'get';
}
}
Common.pageInfo = new Common.PageInfoInit();
/** Collapsible tables *********************************************************
*
* Description: Allows tables to be collapsed, showing only the header. See
* [[en:Wikipedia:NavFrame]].
* Maintainers: [[User:R. Koot]]
*/
Common.autoCollapse = 2;
Common.collapseCaption = "ukryj";
Common.expandCaption = "pokaż";
Common.collapseTable=function( tableIndex )
{
var Button = document.getElementById( "collapseButton" + tableIndex );
var Table = document.getElementById( "collapsibleTable" + tableIndex );
if ( !Table || !Button ) {
return false;
}
var Rows = Table.rows;
if ( Button.firstChild.data == Common.collapseCaption ) {
for ( var i = 1; i < Rows.length; i++ ) {
Rows[i].style.display = "none";
}
Button.firstChild.data = Common.expandCaption;
} else {
for ( var i = 1; i < Rows.length; i++ ) {
Rows[i].style.display = Rows[0].style.display;
}
Button.firstChild.data = Common.collapseCaption;
}
}
Common.createCollapseButtons=function()
{
var tableIndex = 0;
var NavigationBoxes = new Object();
var Tables = document.getElementsByTagName( "table" );
for ( var i = 0; i < Tables.length; i++ ) {
if ( $(Tables[i]).hasClass( "collapsible" ) ) {
/* only add button and increment count if there is a header row to work with */
var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0];
if (!HeaderRow) continue;
var Header = HeaderRow.getElementsByTagName( "th" )[0];
if (!Header) continue;
NavigationBoxes[ tableIndex ] = Tables[i];
Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex );
var Button = document.createElement( "span" );
var ButtonLink = document.createElement( "a" );
var ButtonText = document.createTextNode( Common.collapseCaption );
Button.style.styleFloat = "right";
Button.style.cssFloat = "right";
Button.style.fontWeight = "normal";
Button.style.textAlign = "right";
Button.style.width = "6em";
ButtonLink.style.color = Header.style.color;
ButtonLink.setAttribute( "id", "collapseButton" + tableIndex );
ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" );
ButtonLink.appendChild( ButtonText );
Button.appendChild( document.createTextNode( "[" ) );
Button.appendChild( ButtonLink );
Button.appendChild( document.createTextNode( "]" ) );
$(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){
$(element).remove();
});
Header.insertBefore( Button, Header.childNodes[0]);
tableIndex++;
}
}
for ( var i = 0; i < tableIndex; i++ ) {
if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) {
Common.collapseTable( i );
}
else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) {
var element = NavigationBoxes[i];
while (element = element.parentNode) {
if ( $(element).hasClass( "outercollapse" ) ) {
Common.collapseTable ( i );
break;
}
}
}
}
}
$(Common.createCollapseButtons );
/** Dynamic Navigation Bars (experimental) *************************************
*
* Description: See [[Wikipedia:NavFrame]].
* Maintainers: UNMAINTAINED
*/
// set up the words in your language
Common.NavigationBarHide = '[' + Common.collapseCaption + ']';
Common.NavigationBarShow = '[' + Common.expandCaption + ']';
// shows and hides content and picture (if available) of navigation bars
// Parameters:
// indexNavigationBar: the index of navigation bar to be toggled
Common.toggleNavigationBar=function(indexNavigationBar)
{
var NavToggle = document.getElementById("NavToggle" + indexNavigationBar);
var NavFrame = document.getElementById("NavFrame" + indexNavigationBar);
if (!NavFrame || !NavToggle) {
return false;
}
// if shown now
if (NavToggle.firstChild.data == Common.NavigationBarHide) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) ) {
NavChild.style.display = 'none';
}
if ( $(NavChild).hasClass( 'NavContent') ) {
NavChild.style.display = 'none';
}
}
NavToggle.firstChild.data = Common.NavigationBarShow;
// if hidden now
} else if (NavToggle.firstChild.data == Common.NavigationBarShow) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ($(NavChild).hasClass( 'NavPic')) {
NavChild.style.display = 'block';
}
if ($(NavChild).hasClass( 'NavContent')) {
NavChild.style.display = 'block';
}
}
NavToggle.firstChild.data = Common.NavigationBarHide;
}
}
// adds show/hide-button to navigation bars
Common.createNavigationBarToggleButton=function()
{
var indexNavigationBar = 0;
// iterate over all < div >-elements
var divs = document.getElementsByTagName("div");
for (var i = 0; NavFrame = divs[i]; i++) {
// if found a navigation bar
if ($(NavFrame).hasClass( "NavFrame")) {
indexNavigationBar++;
var NavToggle = document.createElement("a");
NavToggle.className = 'NavToggle';
NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar);
NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');');
var isCollapsed = $(NavFrame).hasClass( "collapsed" );
/*
* Check if any children are already hidden. This loop is here for backwards compatibility:
* the old way of making NavFrames start out collapsed was to manually add style="display:none"
* to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make
* the content visible without JavaScript support), the new recommended way is to add the class
* "collapsed" to the NavFrame itself, just like with collapsible tables.
*/
for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) {
if ( NavChild.style.display == 'none' ) {
isCollapsed = true;
}
}
}
if (isCollapsed) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) {
NavChild.style.display = 'none';
}
}
}
var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide);
NavToggle.appendChild(NavToggleText);
// Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked)
for(var j=0; j < NavFrame.childNodes.length; j++) {
if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) {
$(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){
$(element).remove();
});
NavFrame.childNodes[j].appendChild(NavToggle);
}
}
NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar);
}
}
}
$(Common.createNavigationBarToggleButton );
// Wyszukiwanie Google na stronach podręczników
Common.googleSearchInitialized = false;
Common.insertGoogleSearch=function() {
if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) {
return;
}
Common.googleSearchInitialized = true;
var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE";
var ul = jQuery('#p-tb ul')[0];
if (!ul) {
return;
}
var link = document.createElement('a');
var book = Common.pageInfo.book;
if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) {
google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22"
}
link.href = google.replace(/PAGE/g, encodeURIComponent(book));
link.appendChild(document.createTextNode("Szukaj w podręczniku"));
var li = document.createElement('li');
li.id = "google-trick-search";
li.appendChild(link);
$(ul).children('li#google-trick-search').each(function(i,element){
$(element).remove();
});
ul.insertBefore(li, ul.firstChild);
}
$(Common.insertGoogleSearch);
/*Funkcja do liczenia szerokościm mapska przewijania w pionowego, wtedy x_box_right=="y", lub poziomego, wtedy inny parametr inny niż dla paska pionowego*/
Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){
var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>');
$('body').append(div);
var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")]();
div.css('overflow-'+(x_box_right||"y"), 'scroll');
var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")]();
$(div).remove();
return (w1 - w2);
}
/*Funkcje do obsługi pasków przewijania*/
Common.ScrollBarOverflow=function(){
$('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){
/*start overflow*/
var comp=window.getComputedStyle(element_g, null);
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var overflow=comp.getPropertyValue("overflow");
var overflow_x=$(element_g).hasClass('mw-overflow-x');
if(overflow_x){
var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
if((overflowX)&&(overflowX=="auto")){
element_g.classList.remove("mw-scrollbar-overflow-x");
const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false
if(hasHorizontalScrollbar){
element_g.classList.add("mw-scrollbar-overflow-x");
}
}
}
var overflow_y=$(element_g).hasClass('mw-overflow-y');
if(overflow_y){
var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflowY)&&(overflowY=="auto")){
element_g.classList.remove("mw-scrollbar-overflow-y");
const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false
if(hasVerticalScrollbar){
element_g.classList.add("mw-scrollbar-overflow-y");
}
}
}
/*koniec overflow*/
});
}
/*Uruchamianie funkcji Common.ScrollBarOverflow*/
$(Common.ScrollBarOverflow);
/*Uruchamianie zdarzeń dla elementu Window, używając funkcji Common.ScrollBarOverflow*/
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow');
Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow');
});
/*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/
Common.StickyXY=function(){
$('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){
var comp=window.getComputedStyle(element_g, null);
function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){
var pozycje_paskow=new Array();
$(element_g).find('*').each(function(i,element){
var comp=window.getComputedStyle(element, null);
var overflow=comp.getPropertyValue("overflow");
var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){
pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft));
}
});
var height_sticky=0;
$('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){
var rect_sticky=el.getBoundingClientRect();
height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]);
});
var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom);
if(StickyXYTopOld===undefined){
var topold_war=parseFloat(element_g.style[top]);
$(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0));
}
if(StickyXYBottomOld===undefined){
var bottomold_war=parseFloat(element_g.style[bottom]);
$(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0));
}
var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5;
var margintop=parseFloat(comp.getPropertyValue("margin-"+top));
margintop=((!isNaN(margintop))?margintop:0);
var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom));
marginbottom=((!isNaN(marginbottom))?marginbottom:0);
var przodek_height=undefined;
element_g.style[height]="auto";
element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[top]="auto";
element_g.style[bottom]="auto";
if(width_box!=null){
element_g.style[width_box]="auto";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[left_box]="auto";
element_g.style[right_box]="0";
$(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){
element.style[width_box]="auto";
element.classList.remove('mw-scrollbar-overflow-x');
element.classList.remove('mw-scrollbar-overflow-y');
});
}
/**/
var parents_node_fun=$(element_g).parents('.mw-parent-node').first();
if((parents_node_fun==null)||(parents_node_fun.length==0)){return;}
var width_rodzic=null;
var rodzic_element=undefined;
var comp_rodz;
parents_node_fun.each(function(i,element){
comp_rodz=window.getComputedStyle(element,null);
przodek_height=parseFloat(comp_rodz.getPropertyValue([height]));
width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null;
rodzic_element=element;
});
var height_box_real=parseFloat(comp.getPropertyValue(height));
var rect_dziecko=element_g.getBoundingClientRect();
var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))];
var rect_rodzic;
parents_node_fun.each(function(i,element){
rect_rodzic=element.getBoundingClientRect();
});
var top_ab=rect_rodzic[top];
var bottom_ab=(wys-rect_rodzic[bottom]);
var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop);
element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px";
element_g.style[height]="100%";
var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)));
element_g.style[top]=top_obj+"px";
element_g.style[bottom]="auto";
if(width_box!=null){
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
rodzic_element.style.position="static";
rodzic_element.style.overflow="hidden";
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
var rect_dziecko=element_g.getBoundingClientRect();
if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){
if(width_box=="width"){
element_g.classList.remove('mw-scrollbar-overflow-x');
}else{
element_g.classList.remove('mw-scrollbar-overflow-y');
}
if(rect_dziecko[width_box]>width_rodzic){
if(width_box=="width"){
element_g.classList.add('mw-scrollbar-overflow-x');
}else{
element_g.classList.add('mw-scrollbar-overflow-y');
}
}
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box));
margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box));
var dlugosc=(width_rodzic-margin_all);
dlugosc=((dlugosc>=0)?dlugosc:0);
element_g.style.whiteSpace="nowrap";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px";
element_g.style[width_box]=width_box_real+"px";
Common.ScrollBarOverflow();
$(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){
var comp_element=window.getComputedStyle(element, null)
element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat (comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px";
element.classList.remove('mw-scrollbar-overflow-'+x_box);
});
element_g.style.whiteSpace="normal";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[width_box]="auto";
var rect_dziecko=element_g.getBoundingClientRect();
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px";
element_g.style[width_box]=width_box_real+"px";
element_g.style[left_box]="0";
element_g.style[right_box]="auto";
rodzic_element.style.position="relative";
}else{
element_g.style.whiteSpace="nowrap";
var szerokosc_box=rect_dziecko[width_box];
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px";
element_g.style[width_box]=(szerokosc_box)+"px";
Common.ScrollBarOverflow();
$(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){
var comp_element=window.getComputedStyle(element, null);
element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat (comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px";
element.classList.remove('mw-scrollbar-overflow-'+x_box);
});
element_g.style.whiteSpace="normal";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[width_box]="auto";
var rect_dziecko=element_g.getBoundingClientRect();
var szerokosc_box=rect_dziecko[width_box];
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px";
element_g.style[width_box]=(szerokosc_box)+"px";
var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box));
if(parseInt(szerokosc)>parseInt(width_rodzic)){
element_g.style[right_box]="0";
element_g.style[left_box]="auto";
rodzic_element.style.overflow="visible";
}else{
element_g.style[left_box]="0";
element_g.style[right_box]="auto";
rodzic_element.style.position="relative";
}
}
}
element_g.style[height]="auto";
element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px";
Common.ScrollBarOverflow();
for(var i in pozycje_paskow){
pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1];
pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2];
}
}
element_g.classList.add('mw-sticky-js');
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var visibility=comp.getPropertyValue("visibility");
if(visibility=="hidden"){return;}
var position=comp.getPropertyValue("position");
if(position!="absolute"){return;}
var sticky_x=$(element_g).hasClass('mw-sticky-x');
var sticky_y=$(element_g).hasClass('mw-sticky-y');
if((sticky_x)&&(!sticky_y)){
var str=$(element_g).parents('.strona_górna, .strona_dolna').first();
if(str.hasClass('strona_dolna')){
FunStickyXY("width","left","right","height","top","bottom","y","x");
}else if(str.hasClass('strona_górna')){
FunStickyXY("width","left","right","height","bottom","top","y","x");
}
}else if((!sticky_x)&&(sticky_y)){
var str=$(element_g).parents('.strona_prawa, .strona_lewa').first();
if(str.hasClass('strona_prawa')){
FunStickyXY("height","top","bottom","width","left","right","x","y");
}else if(str.hasClass('strona_lewa')){
FunStickyXY("height","top","bottom","width","right","left","x","y");
}
}else if((sticky_x)&&(sticky_y)){
FunStickyXY("width","left","right",null);
FunStickyXY("height","top","bottom",null);
}
});
}
/*Uruchamianie funkcji Common StickyXY*/
$(Common.StickyXY);
/*Uruchamianie zdarzeń dla elementu Window, używając funkcji Common.StickyXY*/
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY');
Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY');
});
/*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/
Common.OptimalXY=function(){
$('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){
var comp=window.getComputedStyle(element_g, null);
function FunOptimalXY(width,left,right){
var pozycje_paskow=new Array();
$(element_g).find('*').each(function(i,element){
var comp=window.getComputedStyle(element, null);
var overflow=comp.getPropertyValue("overflow");
var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){
pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft));
}
});
var width_rodzic=null;
var rodzic_node;
var comp_rodz;
$(element_g).parents('.mw-parent-node').first().each(function(i,element){
comp_rodz=window.getComputedStyle(element,null);
width_rodzic=parseFloat(comp_rodz.getPropertyValue([width]));
rodzic_node=element;
});
if((width_rodzic!=null)&&(!isNaN(width_rodzic))){
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
var width_box_real=parseFloat(comp.getPropertyValue(width));
var rect_dziecko=element_g.getBoundingClientRect();
if(width=="width"){
element_g.classList.remove('mw-scrollbar-overflow-x');
}else{
element_g.classList.remove('mw-scrollbar-overflow-y');
}
if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){
var rect_dziecko=element_g.getBoundingClientRect();
if(rect_dziecko[width]>width_rodzic){
if(width=="width"){
element_g.classList.add('mw-scrollbar-overflow-x');
}else{
element_g.classList.add('mw-scrollbar-overflow-y');
}
}
var width_box_real=parseFloat(comp.getPropertyValue(width));
var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right));
margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right));
var dlugosc=(width_rodzic-margin_all);
dlugosc=((dlugosc>=0)?dlugosc:0);
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px";
}else{
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px";
}
var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first();
if(!str.hasClass('strona_start-nawigacja_boksy')){
var rect_dziecko=element_g.getBoundingClientRect();
var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right));
if(parseInt(szerokosc)>parseInt(width_rodzic)){
str.css('position','static');
}else{
str.css('position','relative');
}
}
}
for(var i in pozycje_paskow){
pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1];
pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2];
}
};
element_g.classList.add('mw-optimal-js');
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var visibility=comp.getPropertyValue("visibility");
if(visibility=="hidden"){return;}
var position=comp.getPropertyValue("position");
if(position!="absolute"){return;}
var optimal_x=$(element_g).hasClass('mw-optimal-x');
var optimal_y=$(element_g).hasClass('mw-optimal-y');
if(optimal_x){
FunOptimalXY("width","left","right");
}
if(optimal_y){
FunOptimalXY("height","top","bottom");
}
});
}
/*Uruchamianie funkcji Common.OptimalXY*/
$(Common.OptimalXY);
/*Uruchamianie zdarzeń dla elementu Window, używając funkcji OptimalXY*/
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY');
Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY');
});
/*Definicja dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz stylów CSS*/
Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){
$(obiekt).each(function(i,element_f){
var id=element_f.getAttribute("id")
if((id)&&(id==(id_tabeli_lub_ramki+i))){
var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i);
if((collapsebutton!==null)&&(collapsebutton.length>0)){
$('#mw-content-text .mw-parser-output').find('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){
var href=element_g.getAttribute('href');
if((href!=null)&&(href!="")){
var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*";
var re_frame = new RegExp(col,'g');
var re_javascript=new RegExp("^[\\s;]*javascript:");
if((re_javascript.test(href))&&(re_frame.test(href))){
var href=element_g.getAttribute('href');
if((href!==null)&&(href!="")){
function DodajSkryptJavaScript(fun){
var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g');
var href_nowe=element_g.getAttribute('href');
if(!re.test(href_nowe)){
element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()");
}
}
DodajSkryptJavaScript('Common.ScrollBarOverflow');
DodajSkryptJavaScript('Common.StickyXY');
DodajSkryptJavaScript('Common.OptimalXY');
}
}
}
});
}
}
});
}
/*Koniec dodatkowych funkcji*/
/*Uruchamianie dodatkowych funkcji dla tabel TABLE i ramek DIV nawigacyjnych.*/
$(function(){
/*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/
Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable');
/*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/
Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar');
});
/*Koniec uruchamiania*/
/*Definicje dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz,z_mouse){
/*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/
var tab_transition={'start':true,'run':true,'cancel':true,'end':true};
var tab_przegladarki={'':true,'webkit':true,'moz':true,'o':true};
for(var a in tab_transition){
for(var b in tab_przegladarki){
var zdarzenie=b+'transition'+a;
Common.ZdarzeniaJavaScript(css,zdarzenie,fun_zdarz);
}
}
if(z_mouse){
Common.ZdarzeniaJavaScript(css,"mouseenter",fun_zdarz);
Common.ZdarzeniaJavaScript(css,"mouseleave",fun_zdarz);
}
};
/*Koniec dodatkowych zdarzeń*/
/*Uruchamianie dodatkowych zdarzeń*/
$(function(){
/*Funkcje zdarzeń*/
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY',true);
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY',true);
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY',false);
});
/*Koniec uruchamiania dodatkowych zdarzeń*/
/*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/
Common.StronaStart=function(){
var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks');
elements.parent().show();
$('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){
$(element).css('visibility',"hidden");
$(element).attr('mw-menu-boks',"false");
});
$('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){
var czy_visible=$(element).css('visibility');
$(element).css('visibility',"visible");
$(element).attr('mw-menu-boks',"true");
var str=$(element).parents('.strona_prawa, .strona_lewa').first();
str.css('position','relative');
str.addClass('strona_start-nawigacja_spis');
str.removeClass('strona_start-nawigacja_boksy');
if(czy_visible=="hidden"){
$(Common.ScrollBarOverflow);
$(Common.StickyXY);
}
});
var str=$('.strona_start').find('.strona .ciało_zawartości > .menu > .menu_boks').children('.spis_treści, .boksy');
if(str.length!=2){return;}
$(str[0]).attr('mw-menu-boks',"true");
$(str[1]).attr('mw-menu-boks',"false");
Common.StronaStartZdarzeniePrzycisku=function(){
var id=this;
$(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){
var menu_boks_zmienna=$(element).attr('mw-menu-boks');
menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false");
if(menu_boks_zmienna=="false"){
$(element).css('display',"block");
$(element).attr('mw-menu-boks','true');
}else if(menu_boks_zmienna=="true"){
$(element).css('display',"none");
$(element).attr('mw-menu-boks','false');
}
});
$(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children('.nawigacja_boksy, .nawigacja_spis').each(function(i,element){
var menu_boks_zmienna=$(element).attr('mw-menu-boks');
menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false");
if(menu_boks_zmienna=="false"){
$(element).css('visibility',"visible");
$(element).attr('mw-menu-boks',"true");
var str=$(element).parents('.strona_prawa, .strona_lewa').first();
if($(element).hasClass('nawigacja_boksy')){
str.css('position','static');
str.addClass('strona_start-nawigacja_boksy');
str.removeClass('strona_start-nawigacja_spis');
$(Common.ScrollBarOverflow);
$(Common.OptimalXY);
}else if($(element).hasClass('nawigacja_spis')){
str.css('position','relative');
str.addClass('strona_start-nawigacja_spis');
str.removeClass('strona_start-nawigacja_boksy');
$(Common.ScrollBarOverflow);
$(Common.StickyXY);
}
}else if(menu_boks_zmienna=="true"){
$(element).css('visibility',"hidden");
$(element).attr('mw-menu-boks',"false");
}
});
}
if(Common.StronaStartZdarzeniePrzycisku)Common.ZdarzeniaJavaScript(elements,'click','StronaStartZdarzeniePrzycisku');
}
$(Common.StronaStart);
})(Common_zmienna_z_MediaWiki_Wikibooks,Common);
jg1fufkk1bdh733qb658rww3d9jw56c
437937
437912
2022-08-17T03:25:17Z
Persino
2851
javascript
text/javascript
mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true );
/**/
/* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony.
*/
/*
* Zmienna Common.pageInfo, jego elementy, instrukcja obsługi:
* Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber)
* Common.pageInfo.name pełna nazwa strony
* Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash
* Common.pageInfo.book tytuł książki
* Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get"
* Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL
*/
/*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/
var Common_zmienna_z_MediaWiki_Wikibooks=this['Common'];
/*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/
var Common=new Array();
/*Funkcja, by nie było przecieków pamięci*/
(function(Common_zmienna_z_MediaWiki_Wikibooks,Common){
/*Funkcja zwraca zmienną Common ze strony MediaWiki:Common.js*/
Common.MediaWikiCommon=function(){return (Common.IsUserCommon()?Common_zmienna_z_MediaWiki_Wikibooks:Common);}
/*Funkcja zwraca tablicę Common użytkownika, jeżeli taką posiada, w przeciwnym wypadku zwraca undefined*/
Common.UserCommon=function(){return (Common.IsUserCommon()?Common:undefined);}
/*Funkcja zwraca Common z tej strony*/
Common.NoweCommon=function(){return Common;}
/*Funkcja zwraca Common ze strony MediaWiki:Common.js, jeżeli użytkownik posiada własne Common w jego pliku Common, w przeciwnym wypadku zwraca undefined*/
Common.StareCommon=function(){return Common_zmienna_z_MediaWiki_Wikibooks;}
/*Sprawdza, czy użytkownik ma własną zmienną Common*/
Common.IsUserCommon=function(){return ((Common_zmienna_z_MediaWiki_Wikibooks)?true:false);};
// Frame Busting
Common.LokowanieTopSelf=function(){
if (top != self) top.location.href = self.location.href;
};
/*Uruchamianie funkcji Common.LokowanieTopSelf*/
$(Common.LokowanieTopSelf);
/*Funkcja zdarzeń odrejestrowania i rejestrowania*/
Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen,tylko_odrejestruj){
/*
css - adres html obiektu,
zdarzenie - zdarzenie jak click,
funkcja_zdarzen - nazwa funkcji zdarzeń w starej przestrzeni Common lub nowej, jak StickyXY,
tylko_odrejestruj - czy tylko zdarzenie ma odrejestrować w starej przestrzeni Common.
*/
if((css)&&(zdarzenie)&&(funkcja_zdarzen)){
/*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/
if((Common_zmienna_z_MediaWiki_Wikibooks)&&(Common_zmienna_z_MediaWiki_Wikibooks[funkcja_zdarzen])){
$(css).off(zdarzenie,Common_zmienna_z_MediaWiki_Wikibooks[funkcja_zdarzen]);
}
if((!tylko_odrejestruj)&&(Common)&&(Common[funkcja_zdarzen])){
/*Rejestrowanie zdarzeń, ale z tej strony .js*/
$(css).on(zdarzenie, Common[funkcja_zdarzen]);
}
}
}
/*Funkcje w przestrzeni nazw Common*/
Common.Naglowek=function(){
/* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */
var hideAll = document.getElementById('mójNagłówekUkryj');
var noFooter = false;
var footers = 0;
var tags = document.getElementsByTagName('div');
for (var i = 0; i < tags.length; i++) {
var el=tags[i].getAttribute("id");
if (el=='mojaStopka')
footers++;
else if (hideAll && (el=='mójNagłówek')) {
tags[i].innerHTML="";
noFooter=true;
}
}
if (noFooter) return;
var footer = document.getElementById('mojaStopka');
if ((footer !== null) && (footers==1)) {
var bodyContent = document.getElementById('bodyContent');
if (bodyContent !== null) {
var s0=document.getElementById('mojaStopka0');
var s1=document.getElementById('mojaStopka1');
if ((s1 !== null) ||
((s0 === null) && (bodyContent.innerHTML.length>8000))){
var strona=document.getElementById('strona');
if(strona!==null){
strona.appendChild(footer);
}else{
var catlinks=document.getElementById('catlinks');
if(catlinks !== null){
bodyContent.insertBefore(footer,catlinks);
}else{
bodyContent.appendChild(footer);
}
}
}
}
}
/* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */
};
$(Common.Naglowek);
/*Informacje o danej stronie*/
Common.PageInfoInit=function(){
var _g = /_/g;
this.name = mw.config.get('wgPageName').replace(/_/g, ' ');
this.namespace = mw.config.get('wgNamespaceNumber');
var i = this.name.search(/\/[^\/]*$/g);
this.title = this.name.slice(i + 1);
this.book = this.name.replace(/\/.*/g, "");
if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) {
re = /\&diff=/g;
this.diff = re.test(document.URL);
re = /\&action=[^\&]*/g;
this.action = document.URL.match(re);
if ( this.action === null ) {
this.action = 'get';
} else {
this.action = this.action[0].slice(8, this.action[0].length);
}
} else {
this.diff = null;
this.action = 'get';
}
}
Common.pageInfo = new Common.PageInfoInit();
/** Collapsible tables *********************************************************
*
* Description: Allows tables to be collapsed, showing only the header. See
* [[en:Wikipedia:NavFrame]].
* Maintainers: [[User:R. Koot]]
*/
Common.autoCollapse = 2;
Common.collapseCaption = "ukryj";
Common.expandCaption = "pokaż";
Common.collapseTable=function( tableIndex )
{
var Button = document.getElementById( "collapseButton" + tableIndex );
var Table = document.getElementById( "collapsibleTable" + tableIndex );
if ( !Table || !Button ) {
return false;
}
var Rows = Table.rows;
if ( Button.firstChild.data == Common.collapseCaption ) {
for ( var i = 1; i < Rows.length; i++ ) {
Rows[i].style.display = "none";
}
Button.firstChild.data = Common.expandCaption;
} else {
for ( var i = 1; i < Rows.length; i++ ) {
Rows[i].style.display = Rows[0].style.display;
}
Button.firstChild.data = Common.collapseCaption;
}
}
Common.createCollapseButtons=function()
{
var tableIndex = 0;
var NavigationBoxes = new Object();
var Tables = document.getElementsByTagName( "table" );
for ( var i = 0; i < Tables.length; i++ ) {
if ( $(Tables[i]).hasClass( "collapsible" ) ) {
/* only add button and increment count if there is a header row to work with */
var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0];
if (!HeaderRow) continue;
var Header = HeaderRow.getElementsByTagName( "th" )[0];
if (!Header) continue;
NavigationBoxes[ tableIndex ] = Tables[i];
Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex );
var Button = document.createElement( "span" );
var ButtonLink = document.createElement( "a" );
var ButtonText = document.createTextNode( Common.collapseCaption );
Button.style.styleFloat = "right";
Button.style.cssFloat = "right";
Button.style.fontWeight = "normal";
Button.style.textAlign = "right";
Button.style.width = "6em";
ButtonLink.style.color = Header.style.color;
ButtonLink.setAttribute( "id", "collapseButton" + tableIndex );
ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" );
ButtonLink.appendChild( ButtonText );
Button.appendChild( document.createTextNode( "[" ) );
Button.appendChild( ButtonLink );
Button.appendChild( document.createTextNode( "]" ) );
$(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){
$(element).remove();
});
Header.insertBefore( Button, Header.childNodes[0]);
tableIndex++;
}
}
for ( var i = 0; i < tableIndex; i++ ) {
if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) {
Common.collapseTable( i );
}
else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) {
var element = NavigationBoxes[i];
while (element = element.parentNode) {
if ( $(element).hasClass( "outercollapse" ) ) {
Common.collapseTable ( i );
break;
}
}
}
}
}
$(Common.createCollapseButtons );
/** Dynamic Navigation Bars (experimental) *************************************
*
* Description: See [[Wikipedia:NavFrame]].
* Maintainers: UNMAINTAINED
*/
// set up the words in your language
Common.NavigationBarHide = '[' + Common.collapseCaption + ']';
Common.NavigationBarShow = '[' + Common.expandCaption + ']';
// shows and hides content and picture (if available) of navigation bars
// Parameters:
// indexNavigationBar: the index of navigation bar to be toggled
Common.toggleNavigationBar=function(indexNavigationBar)
{
var NavToggle = document.getElementById("NavToggle" + indexNavigationBar);
var NavFrame = document.getElementById("NavFrame" + indexNavigationBar);
if (!NavFrame || !NavToggle) {
return false;
}
// if shown now
if (NavToggle.firstChild.data == Common.NavigationBarHide) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) ) {
NavChild.style.display = 'none';
}
if ( $(NavChild).hasClass( 'NavContent') ) {
NavChild.style.display = 'none';
}
}
NavToggle.firstChild.data = Common.NavigationBarShow;
// if hidden now
} else if (NavToggle.firstChild.data == Common.NavigationBarShow) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ($(NavChild).hasClass( 'NavPic')) {
NavChild.style.display = 'block';
}
if ($(NavChild).hasClass( 'NavContent')) {
NavChild.style.display = 'block';
}
}
NavToggle.firstChild.data = Common.NavigationBarHide;
}
}
// adds show/hide-button to navigation bars
Common.createNavigationBarToggleButton=function()
{
var indexNavigationBar = 0;
// iterate over all < div >-elements
var divs = document.getElementsByTagName("div");
for (var i = 0; NavFrame = divs[i]; i++) {
// if found a navigation bar
if ($(NavFrame).hasClass( "NavFrame")) {
indexNavigationBar++;
var NavToggle = document.createElement("a");
NavToggle.className = 'NavToggle';
NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar);
NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');');
var isCollapsed = $(NavFrame).hasClass( "collapsed" );
/*
* Check if any children are already hidden. This loop is here for backwards compatibility:
* the old way of making NavFrames start out collapsed was to manually add style="display:none"
* to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make
* the content visible without JavaScript support), the new recommended way is to add the class
* "collapsed" to the NavFrame itself, just like with collapsible tables.
*/
for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) {
if ( NavChild.style.display == 'none' ) {
isCollapsed = true;
}
}
}
if (isCollapsed) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) {
NavChild.style.display = 'none';
}
}
}
var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide);
NavToggle.appendChild(NavToggleText);
// Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked)
for(var j=0; j < NavFrame.childNodes.length; j++) {
if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) {
$(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){
$(element).remove();
});
NavFrame.childNodes[j].appendChild(NavToggle);
}
}
NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar);
}
}
}
$(Common.createNavigationBarToggleButton );
// Wyszukiwanie Google na stronach podręczników
Common.googleSearchInitialized = false;
Common.insertGoogleSearch=function() {
if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) {
return;
}
Common.googleSearchInitialized = true;
var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE";
var ul = jQuery('#p-tb ul')[0];
if (!ul) {
return;
}
var link = document.createElement('a');
var book = Common.pageInfo.book;
if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) {
google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22"
}
link.href = google.replace(/PAGE/g, encodeURIComponent(book));
link.appendChild(document.createTextNode("Szukaj w podręczniku"));
var li = document.createElement('li');
li.id = "google-trick-search";
li.appendChild(link);
$(ul).children('li#google-trick-search').each(function(i,element){
$(element).remove();
});
ul.insertBefore(li, ul.firstChild);
}
$(Common.insertGoogleSearch);
/*Funkcja do liczenia szerokościm mapska przewijania w pionowego, wtedy x_box_right=="y", lub poziomego, wtedy inny parametr inny niż dla paska pionowego*/
Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){
var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>');
$('body').append(div);
var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")]();
div.css('overflow-'+(x_box_right||"y"), 'scroll');
var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")]();
$(div).remove();
return (w1 - w2);
}
/*Funkcje do obsługi pasków przewijania*/
Common.ScrollBarOverflow=function(){
$('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){
/*start overflow*/
var comp=window.getComputedStyle(element_g, null);
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var overflow=comp.getPropertyValue("overflow");
var overflow_x=$(element_g).hasClass('mw-overflow-x');
if(overflow_x){
var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
if((overflowX)&&(overflowX=="auto")){
element_g.classList.remove("mw-scrollbar-overflow-x");
const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false
if(hasHorizontalScrollbar){
element_g.classList.add("mw-scrollbar-overflow-x");
}
}
}
var overflow_y=$(element_g).hasClass('mw-overflow-y');
if(overflow_y){
var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflowY)&&(overflowY=="auto")){
element_g.classList.remove("mw-scrollbar-overflow-y");
const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false
if(hasVerticalScrollbar){
element_g.classList.add("mw-scrollbar-overflow-y");
}
}
}
/*koniec overflow*/
});
}
/*Uruchamianie funkcji Common.ScrollBarOverflow*/
$(Common.ScrollBarOverflow);
/*Uruchamianie zdarzeń dla elementu Window, używając funkcji Common.ScrollBarOverflow*/
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow');
Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow');
});
/*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/
Common.StickyXY=function(){
$('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){
var comp=window.getComputedStyle(element_g, null);
function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){
var pozycje_paskow=new Array();
$(element_g).find('*').each(function(i,element){
var comp=window.getComputedStyle(element, null);
var overflow=comp.getPropertyValue("overflow");
var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){
pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft));
}
});
var height_sticky=0;
$('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){
var rect_sticky=el.getBoundingClientRect();
height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]);
});
var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom);
if(StickyXYTopOld===undefined){
var topold_war=parseFloat(element_g.style[top]);
$(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0));
}
if(StickyXYBottomOld===undefined){
var bottomold_war=parseFloat(element_g.style[bottom]);
$(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0));
}
var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5;
var margintop=parseFloat(comp.getPropertyValue("margin-"+top));
margintop=((!isNaN(margintop))?margintop:0);
var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom));
marginbottom=((!isNaN(marginbottom))?marginbottom:0);
var przodek_height=undefined;
element_g.style[height]="auto";
element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[top]="auto";
element_g.style[bottom]="auto";
if(width_box!=null){
element_g.style[width_box]="auto";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[left_box]="auto";
element_g.style[right_box]="0";
$(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){
element.style[width_box]="auto";
element.classList.remove('mw-scrollbar-overflow-x');
element.classList.remove('mw-scrollbar-overflow-y');
});
}
/**/
var parents_node_fun=$(element_g).parents('.mw-parent-node').first();
if((parents_node_fun==null)||(parents_node_fun.length==0)){return;}
var width_rodzic=null;
var rodzic_element=undefined;
var comp_rodz;
parents_node_fun.each(function(i,element){
comp_rodz=window.getComputedStyle(element,null);
przodek_height=parseFloat(comp_rodz.getPropertyValue([height]));
width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null;
rodzic_element=element;
});
var height_box_real=parseFloat(comp.getPropertyValue(height));
var rect_dziecko=element_g.getBoundingClientRect();
var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))];
var rect_rodzic;
parents_node_fun.each(function(i,element){
rect_rodzic=element.getBoundingClientRect();
});
var top_ab=rect_rodzic[top];
var bottom_ab=(wys-rect_rodzic[bottom]);
var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop);
element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px";
element_g.style[height]="100%";
var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)));
element_g.style[top]=top_obj+"px";
element_g.style[bottom]="auto";
if(width_box!=null){
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
rodzic_element.style.position="static";
rodzic_element.style.overflow="hidden";
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
var rect_dziecko=element_g.getBoundingClientRect();
if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){
if(width_box=="width"){
element_g.classList.remove('mw-scrollbar-overflow-x');
}else{
element_g.classList.remove('mw-scrollbar-overflow-y');
}
if(rect_dziecko[width_box]>width_rodzic){
if(width_box=="width"){
element_g.classList.add('mw-scrollbar-overflow-x');
}else{
element_g.classList.add('mw-scrollbar-overflow-y');
}
}
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box));
margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box));
var dlugosc=(width_rodzic-margin_all);
dlugosc=((dlugosc>=0)?dlugosc:0);
element_g.style.whiteSpace="nowrap";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px";
element_g.style[width_box]=width_box_real+"px";
Common.ScrollBarOverflow();
$(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){
var comp_element=window.getComputedStyle(element, null)
element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat (comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px";
element.classList.remove('mw-scrollbar-overflow-'+x_box);
});
element_g.style.whiteSpace="normal";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[width_box]="auto";
var rect_dziecko=element_g.getBoundingClientRect();
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px";
element_g.style[width_box]=width_box_real+"px";
element_g.style[left_box]="0";
element_g.style[right_box]="auto";
rodzic_element.style.position="relative";
}else{
element_g.style.whiteSpace="nowrap";
var szerokosc_box=rect_dziecko[width_box];
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px";
element_g.style[width_box]=(szerokosc_box)+"px";
Common.ScrollBarOverflow();
$(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){
var comp_element=window.getComputedStyle(element, null);
element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat (comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px";
element.classList.remove('mw-scrollbar-overflow-'+x_box);
});
element_g.style.whiteSpace="normal";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[width_box]="auto";
var rect_dziecko=element_g.getBoundingClientRect();
var szerokosc_box=rect_dziecko[width_box];
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px";
element_g.style[width_box]=(szerokosc_box)+"px";
var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box));
if(parseInt(szerokosc)>parseInt(width_rodzic)){
element_g.style[right_box]="0";
element_g.style[left_box]="auto";
rodzic_element.style.overflow="visible";
}else{
element_g.style[left_box]="0";
element_g.style[right_box]="auto";
rodzic_element.style.position="relative";
}
}
}
element_g.style[height]="auto";
element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px";
Common.ScrollBarOverflow();
for(var i in pozycje_paskow){
pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1];
pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2];
}
}
element_g.classList.add('mw-sticky-js');
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var visibility=comp.getPropertyValue("visibility");
if(visibility=="hidden"){return;}
var position=comp.getPropertyValue("position");
if(position!="absolute"){return;}
var sticky_x=$(element_g).hasClass('mw-sticky-x');
var sticky_y=$(element_g).hasClass('mw-sticky-y');
if((sticky_x)&&(!sticky_y)){
var str=$(element_g).parents('.strona_górna, .strona_dolna').first();
if(str.hasClass('strona_dolna')){
FunStickyXY("width","left","right","height","top","bottom","y","x");
}else if(str.hasClass('strona_górna')){
FunStickyXY("width","left","right","height","bottom","top","y","x");
}
}else if((!sticky_x)&&(sticky_y)){
var str=$(element_g).parents('.strona_prawa, .strona_lewa').first();
if(str.hasClass('strona_prawa')){
FunStickyXY("height","top","bottom","width","left","right","x","y");
}else if(str.hasClass('strona_lewa')){
FunStickyXY("height","top","bottom","width","right","left","x","y");
}
}else if((sticky_x)&&(sticky_y)){
FunStickyXY("width","left","right",null);
FunStickyXY("height","top","bottom",null);
}
});
}
/*Uruchamianie funkcji Common StickyXY*/
$(Common.StickyXY);
/*Uruchamianie zdarzeń dla elementu Window, używając funkcji Common.StickyXY*/
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY');
Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY');
});
/*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/
Common.OptimalXY=function(){
$('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){
var comp=window.getComputedStyle(element_g, null);
function FunOptimalXY(width,left,right){
var pozycje_paskow=new Array();
$(element_g).find('*').each(function(i,element){
var comp=window.getComputedStyle(element, null);
var overflow=comp.getPropertyValue("overflow");
var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){
pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft));
}
});
var width_rodzic=null;
var rodzic_node;
var comp_rodz;
$(element_g).parents('.mw-parent-node').first().each(function(i,element){
comp_rodz=window.getComputedStyle(element,null);
width_rodzic=parseFloat(comp_rodz.getPropertyValue([width]));
rodzic_node=element;
});
if((width_rodzic!=null)&&(!isNaN(width_rodzic))){
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
var width_box_real=parseFloat(comp.getPropertyValue(width));
var rect_dziecko=element_g.getBoundingClientRect();
if(width=="width"){
element_g.classList.remove('mw-scrollbar-overflow-x');
}else{
element_g.classList.remove('mw-scrollbar-overflow-y');
}
if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){
var rect_dziecko=element_g.getBoundingClientRect();
if(rect_dziecko[width]>width_rodzic){
if(width=="width"){
element_g.classList.add('mw-scrollbar-overflow-x');
}else{
element_g.classList.add('mw-scrollbar-overflow-y');
}
}
var width_box_real=parseFloat(comp.getPropertyValue(width));
var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right));
margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right));
var dlugosc=(width_rodzic-margin_all);
dlugosc=((dlugosc>=0)?dlugosc:0);
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px";
}else{
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px";
}
var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first();
if(!str.hasClass('strona_start-nawigacja_boksy')){
var rect_dziecko=element_g.getBoundingClientRect();
var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right));
if(parseInt(szerokosc)>parseInt(width_rodzic)){
str.css('position','static');
}else{
str.css('position','relative');
}
}
}
for(var i in pozycje_paskow){
pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1];
pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2];
}
};
element_g.classList.add('mw-optimal-js');
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var visibility=comp.getPropertyValue("visibility");
if(visibility=="hidden"){return;}
var position=comp.getPropertyValue("position");
if(position!="absolute"){return;}
var optimal_x=$(element_g).hasClass('mw-optimal-x');
var optimal_y=$(element_g).hasClass('mw-optimal-y');
if(optimal_x){
FunOptimalXY("width","left","right");
}
if(optimal_y){
FunOptimalXY("height","top","bottom");
}
});
}
/*Uruchamianie funkcji Common.OptimalXY*/
$(Common.OptimalXY);
/*Uruchamianie zdarzeń dla elementu Window, używając funkcji OptimalXY*/
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY');
Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY');
});
/*Definicja dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz stylów CSS*/
Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){
$(obiekt).each(function(i,element_f){
var id=element_f.getAttribute("id")
if((id)&&(id==(id_tabeli_lub_ramki+i))){
var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i);
if((collapsebutton!==null)&&(collapsebutton.length>0)){
$('#mw-content-text .mw-parser-output').find('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){
var href=element_g.getAttribute('href');
if((href!=null)&&(href!="")){
var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*";
var re_frame = new RegExp(col,'g');
var re_javascript=new RegExp("^[\\s;]*javascript:");
if((re_javascript.test(href))&&(re_frame.test(href))){
var href=element_g.getAttribute('href');
if((href!==null)&&(href!="")){
function DodajSkryptJavaScript(fun){
var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g');
var href_nowe=element_g.getAttribute('href');
if(!re.test(href_nowe)){
element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()");
}
}
DodajSkryptJavaScript('Common.ScrollBarOverflow');
DodajSkryptJavaScript('Common.StickyXY');
DodajSkryptJavaScript('Common.OptimalXY');
}
}
}
});
}
}
});
}
/*Koniec dodatkowych funkcji*/
/*Uruchamianie dodatkowych funkcji dla tabel TABLE i ramek DIV nawigacyjnych.*/
$(function(){
/*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/
Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable');
/*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/
Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar');
});
/*Koniec uruchamiania*/
/*Definicje dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz,z_mouse){
/*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/
var tab_transition={'start':true,'run':true,'cancel':true,'end':true};
var tab_przegladarki={'':true,'webkit':true,'moz':true,'o':true};
for(var a in tab_transition){
for(var b in tab_przegladarki){
var zdarzenie=b+'transition'+a;
Common.ZdarzeniaJavaScript(css,zdarzenie,fun_zdarz);
}
}
if(z_mouse){
Common.ZdarzeniaJavaScript(css,"mouseenter",fun_zdarz);
Common.ZdarzeniaJavaScript(css,"mouseleave",fun_zdarz);
}
};
/*Koniec dodatkowych zdarzeń*/
/*Uruchamianie dodatkowych zdarzeń*/
$(function(){
/*Funkcje zdarzeń*/
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY',true);
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY',true);
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY',false);
});
/*Koniec uruchamiania dodatkowych zdarzeń*/
/*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/
Common.StronaStart=function(){
var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks');
elements.parent().show();
$('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){
$(element).css('visibility',"hidden");
$(element).attr('mw-menu-boks',"false");
});
$('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){
var czy_visible=$(element).css('visibility');
$(element).css('visibility',"visible");
$(element).attr('mw-menu-boks',"true");
var str=$(element).parents('.strona_prawa, .strona_lewa').first();
str.css('position','relative');
str.addClass('strona_start-nawigacja_spis');
str.removeClass('strona_start-nawigacja_boksy');
if(czy_visible=="hidden"){
$(Common.ScrollBarOverflow);
$(Common.StickyXY);
}
});
var str=$('.strona_start').find('.strona .ciało_zawartości > .menu > .menu_boks').children('.spis_treści, .boksy');
if(str.length!=2){return;}
$(str[0]).attr('mw-menu-boks',"true");
$(str[1]).attr('mw-menu-boks',"false");
Common.StronaStartZdarzeniePrzycisku=function(){
var id=this;
$(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){
var menu_boks_zmienna=$(element).attr('mw-menu-boks');
menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false");
if(menu_boks_zmienna=="false"){
$(element).css('display',"block");
$(element).attr('mw-menu-boks','true');
}else if(menu_boks_zmienna=="true"){
$(element).css('display',"none");
$(element).attr('mw-menu-boks','false');
}
});
$(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children('.nawigacja_boksy, .nawigacja_spis').each(function(i,element){
var menu_boks_zmienna=$(element).attr('mw-menu-boks');
menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false");
if(menu_boks_zmienna=="false"){
$(element).css('visibility',"visible");
$(element).attr('mw-menu-boks',"true");
var str=$(element).parents('.strona_prawa, .strona_lewa').first();
if($(element).hasClass('nawigacja_boksy')){
str.css('position','static');
str.addClass('strona_start-nawigacja_boksy');
str.removeClass('strona_start-nawigacja_spis');
$(Common.ScrollBarOverflow);
$(Common.OptimalXY);
}else if($(element).hasClass('nawigacja_spis')){
str.css('position','relative');
str.addClass('strona_start-nawigacja_spis');
str.removeClass('strona_start-nawigacja_boksy');
$(Common.ScrollBarOverflow);
$(Common.StickyXY);
}
}else if(menu_boks_zmienna=="true"){
$(element).css('visibility',"hidden");
$(element).attr('mw-menu-boks',"false");
}
});
}
console.log(Common.StronaStartZdarzeniePrzycisku,elements,'click');
if(Common.StronaStartZdarzeniePrzycisku)Common.ZdarzeniaJavaScript(elements,'click','StronaStartZdarzeniePrzycisku');
}
$(Common.StronaStart);
})(Common_zmienna_z_MediaWiki_Wikibooks,Common);
q33p6rbibfu1glls1fjjuscqlcclqir
437938
437937
2022-08-17T03:29:48Z
Persino
2851
javascript
text/javascript
mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true );
/**/
/* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony.
*/
/*
* Zmienna Common.pageInfo, jego elementy, instrukcja obsługi:
* Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber)
* Common.pageInfo.name pełna nazwa strony
* Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash
* Common.pageInfo.book tytuł książki
* Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get"
* Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL
*/
/*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/
var Common_zmienna_z_MediaWiki_Wikibooks=this['Common'];
/*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/
var Common=new Array();
/*Funkcja, by nie było przecieków pamięci*/
(function(Common_zmienna_z_MediaWiki_Wikibooks,Common){
/*Funkcja zwraca zmienną Common ze strony MediaWiki:Common.js*/
Common.MediaWikiCommon=function(){return (Common.IsUserCommon()?Common_zmienna_z_MediaWiki_Wikibooks:Common);}
/*Funkcja zwraca tablicę Common użytkownika, jeżeli taką posiada, w przeciwnym wypadku zwraca undefined*/
Common.UserCommon=function(){return (Common.IsUserCommon()?Common:undefined);}
/*Funkcja zwraca Common z tej strony*/
Common.NoweCommon=function(){return Common;}
/*Funkcja zwraca Common ze strony MediaWiki:Common.js, jeżeli użytkownik posiada własne Common w jego pliku Common, w przeciwnym wypadku zwraca undefined*/
Common.StareCommon=function(){return Common_zmienna_z_MediaWiki_Wikibooks;}
/*Sprawdza, czy użytkownik ma własną zmienną Common*/
Common.IsUserCommon=function(){return ((Common_zmienna_z_MediaWiki_Wikibooks)?true:false);};
// Frame Busting
Common.LokowanieTopSelf=function(){
if (top != self) top.location.href = self.location.href;
};
/*Uruchamianie funkcji Common.LokowanieTopSelf*/
$(Common.LokowanieTopSelf);
/*Funkcja zdarzeń odrejestrowania i rejestrowania*/
Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen,tylko_odrejestruj){
/*
css - adres html obiektu,
zdarzenie - zdarzenie jak click,
funkcja_zdarzen - nazwa funkcji zdarzeń w starej przestrzeni Common lub nowej, jak StickyXY,
tylko_odrejestruj - czy tylko zdarzenie ma odrejestrować w starej przestrzeni Common.
*/
if((css)&&(zdarzenie)&&(funkcja_zdarzen)){
/*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/
if((Common_zmienna_z_MediaWiki_Wikibooks)&&(Common_zmienna_z_MediaWiki_Wikibooks[funkcja_zdarzen])){
$(css).off(zdarzenie,Common_zmienna_z_MediaWiki_Wikibooks[funkcja_zdarzen]);
}
if((!tylko_odrejestruj)&&(Common)&&(Common[funkcja_zdarzen])){
/*Rejestrowanie zdarzeń, ale z tej strony .js*/
$(css).on(zdarzenie, Common[funkcja_zdarzen]);
}
}
}
/*Funkcje w przestrzeni nazw Common*/
Common.Naglowek=function(){
/* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */
var hideAll = document.getElementById('mójNagłówekUkryj');
var noFooter = false;
var footers = 0;
var tags = document.getElementsByTagName('div');
for (var i = 0; i < tags.length; i++) {
var el=tags[i].getAttribute("id");
if (el=='mojaStopka')
footers++;
else if (hideAll && (el=='mójNagłówek')) {
tags[i].innerHTML="";
noFooter=true;
}
}
if (noFooter) return;
var footer = document.getElementById('mojaStopka');
if ((footer !== null) && (footers==1)) {
var bodyContent = document.getElementById('bodyContent');
if (bodyContent !== null) {
var s0=document.getElementById('mojaStopka0');
var s1=document.getElementById('mojaStopka1');
if ((s1 !== null) ||
((s0 === null) && (bodyContent.innerHTML.length>8000))){
var strona=document.getElementById('strona');
if(strona!==null){
strona.appendChild(footer);
}else{
var catlinks=document.getElementById('catlinks');
if(catlinks !== null){
bodyContent.insertBefore(footer,catlinks);
}else{
bodyContent.appendChild(footer);
}
}
}
}
}
/* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */
};
$(Common.Naglowek);
/*Informacje o danej stronie*/
Common.PageInfoInit=function(){
var _g = /_/g;
this.name = mw.config.get('wgPageName').replace(/_/g, ' ');
this.namespace = mw.config.get('wgNamespaceNumber');
var i = this.name.search(/\/[^\/]*$/g);
this.title = this.name.slice(i + 1);
this.book = this.name.replace(/\/.*/g, "");
if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) {
re = /\&diff=/g;
this.diff = re.test(document.URL);
re = /\&action=[^\&]*/g;
this.action = document.URL.match(re);
if ( this.action === null ) {
this.action = 'get';
} else {
this.action = this.action[0].slice(8, this.action[0].length);
}
} else {
this.diff = null;
this.action = 'get';
}
}
Common.pageInfo = new Common.PageInfoInit();
/** Collapsible tables *********************************************************
*
* Description: Allows tables to be collapsed, showing only the header. See
* [[en:Wikipedia:NavFrame]].
* Maintainers: [[User:R. Koot]]
*/
Common.autoCollapse = 2;
Common.collapseCaption = "ukryj";
Common.expandCaption = "pokaż";
Common.collapseTable=function( tableIndex )
{
var Button = document.getElementById( "collapseButton" + tableIndex );
var Table = document.getElementById( "collapsibleTable" + tableIndex );
if ( !Table || !Button ) {
return false;
}
var Rows = Table.rows;
if ( Button.firstChild.data == Common.collapseCaption ) {
for ( var i = 1; i < Rows.length; i++ ) {
Rows[i].style.display = "none";
}
Button.firstChild.data = Common.expandCaption;
} else {
for ( var i = 1; i < Rows.length; i++ ) {
Rows[i].style.display = Rows[0].style.display;
}
Button.firstChild.data = Common.collapseCaption;
}
}
Common.createCollapseButtons=function()
{
var tableIndex = 0;
var NavigationBoxes = new Object();
var Tables = document.getElementsByTagName( "table" );
for ( var i = 0; i < Tables.length; i++ ) {
if ( $(Tables[i]).hasClass( "collapsible" ) ) {
/* only add button and increment count if there is a header row to work with */
var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0];
if (!HeaderRow) continue;
var Header = HeaderRow.getElementsByTagName( "th" )[0];
if (!Header) continue;
NavigationBoxes[ tableIndex ] = Tables[i];
Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex );
var Button = document.createElement( "span" );
var ButtonLink = document.createElement( "a" );
var ButtonText = document.createTextNode( Common.collapseCaption );
Button.style.styleFloat = "right";
Button.style.cssFloat = "right";
Button.style.fontWeight = "normal";
Button.style.textAlign = "right";
Button.style.width = "6em";
ButtonLink.style.color = Header.style.color;
ButtonLink.setAttribute( "id", "collapseButton" + tableIndex );
ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" );
ButtonLink.appendChild( ButtonText );
Button.appendChild( document.createTextNode( "[" ) );
Button.appendChild( ButtonLink );
Button.appendChild( document.createTextNode( "]" ) );
$(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){
$(element).remove();
});
Header.insertBefore( Button, Header.childNodes[0]);
tableIndex++;
}
}
for ( var i = 0; i < tableIndex; i++ ) {
if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) {
Common.collapseTable( i );
}
else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) {
var element = NavigationBoxes[i];
while (element = element.parentNode) {
if ( $(element).hasClass( "outercollapse" ) ) {
Common.collapseTable ( i );
break;
}
}
}
}
}
$(Common.createCollapseButtons );
/** Dynamic Navigation Bars (experimental) *************************************
*
* Description: See [[Wikipedia:NavFrame]].
* Maintainers: UNMAINTAINED
*/
// set up the words in your language
Common.NavigationBarHide = '[' + Common.collapseCaption + ']';
Common.NavigationBarShow = '[' + Common.expandCaption + ']';
// shows and hides content and picture (if available) of navigation bars
// Parameters:
// indexNavigationBar: the index of navigation bar to be toggled
Common.toggleNavigationBar=function(indexNavigationBar)
{
var NavToggle = document.getElementById("NavToggle" + indexNavigationBar);
var NavFrame = document.getElementById("NavFrame" + indexNavigationBar);
if (!NavFrame || !NavToggle) {
return false;
}
// if shown now
if (NavToggle.firstChild.data == Common.NavigationBarHide) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) ) {
NavChild.style.display = 'none';
}
if ( $(NavChild).hasClass( 'NavContent') ) {
NavChild.style.display = 'none';
}
}
NavToggle.firstChild.data = Common.NavigationBarShow;
// if hidden now
} else if (NavToggle.firstChild.data == Common.NavigationBarShow) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ($(NavChild).hasClass( 'NavPic')) {
NavChild.style.display = 'block';
}
if ($(NavChild).hasClass( 'NavContent')) {
NavChild.style.display = 'block';
}
}
NavToggle.firstChild.data = Common.NavigationBarHide;
}
}
// adds show/hide-button to navigation bars
Common.createNavigationBarToggleButton=function()
{
var indexNavigationBar = 0;
// iterate over all < div >-elements
var divs = document.getElementsByTagName("div");
for (var i = 0; NavFrame = divs[i]; i++) {
// if found a navigation bar
if ($(NavFrame).hasClass( "NavFrame")) {
indexNavigationBar++;
var NavToggle = document.createElement("a");
NavToggle.className = 'NavToggle';
NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar);
NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');');
var isCollapsed = $(NavFrame).hasClass( "collapsed" );
/*
* Check if any children are already hidden. This loop is here for backwards compatibility:
* the old way of making NavFrames start out collapsed was to manually add style="display:none"
* to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make
* the content visible without JavaScript support), the new recommended way is to add the class
* "collapsed" to the NavFrame itself, just like with collapsible tables.
*/
for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) {
if ( NavChild.style.display == 'none' ) {
isCollapsed = true;
}
}
}
if (isCollapsed) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) {
NavChild.style.display = 'none';
}
}
}
var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide);
NavToggle.appendChild(NavToggleText);
// Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked)
for(var j=0; j < NavFrame.childNodes.length; j++) {
if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) {
$(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){
$(element).remove();
});
NavFrame.childNodes[j].appendChild(NavToggle);
}
}
NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar);
}
}
}
$(Common.createNavigationBarToggleButton );
// Wyszukiwanie Google na stronach podręczników
Common.googleSearchInitialized = false;
Common.insertGoogleSearch=function() {
if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) {
return;
}
Common.googleSearchInitialized = true;
var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE";
var ul = jQuery('#p-tb ul')[0];
if (!ul) {
return;
}
var link = document.createElement('a');
var book = Common.pageInfo.book;
if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) {
google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22"
}
link.href = google.replace(/PAGE/g, encodeURIComponent(book));
link.appendChild(document.createTextNode("Szukaj w podręczniku"));
var li = document.createElement('li');
li.id = "google-trick-search";
li.appendChild(link);
$(ul).children('li#google-trick-search').each(function(i,element){
$(element).remove();
});
ul.insertBefore(li, ul.firstChild);
}
$(Common.insertGoogleSearch);
/*Funkcja do liczenia szerokościm mapska przewijania w pionowego, wtedy x_box_right=="y", lub poziomego, wtedy inny parametr inny niż dla paska pionowego*/
Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){
var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>');
$('body').append(div);
var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")]();
div.css('overflow-'+(x_box_right||"y"), 'scroll');
var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")]();
$(div).remove();
return (w1 - w2);
}
/*Funkcje do obsługi pasków przewijania*/
Common.ScrollBarOverflow=function(){
$('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){
/*start overflow*/
var comp=window.getComputedStyle(element_g, null);
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var overflow=comp.getPropertyValue("overflow");
var overflow_x=$(element_g).hasClass('mw-overflow-x');
if(overflow_x){
var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
if((overflowX)&&(overflowX=="auto")){
element_g.classList.remove("mw-scrollbar-overflow-x");
const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false
if(hasHorizontalScrollbar){
element_g.classList.add("mw-scrollbar-overflow-x");
}
}
}
var overflow_y=$(element_g).hasClass('mw-overflow-y');
if(overflow_y){
var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflowY)&&(overflowY=="auto")){
element_g.classList.remove("mw-scrollbar-overflow-y");
const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false
if(hasVerticalScrollbar){
element_g.classList.add("mw-scrollbar-overflow-y");
}
}
}
/*koniec overflow*/
});
}
/*Uruchamianie funkcji Common.ScrollBarOverflow*/
$(Common.ScrollBarOverflow);
/*Uruchamianie zdarzeń dla elementu Window, używając funkcji Common.ScrollBarOverflow*/
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow');
Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow');
});
/*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/
Common.StickyXY=function(){
$('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){
var comp=window.getComputedStyle(element_g, null);
function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){
var pozycje_paskow=new Array();
$(element_g).find('*').each(function(i,element){
var comp=window.getComputedStyle(element, null);
var overflow=comp.getPropertyValue("overflow");
var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){
pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft));
}
});
var height_sticky=0;
$('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){
var rect_sticky=el.getBoundingClientRect();
height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]);
});
var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom);
if(StickyXYTopOld===undefined){
var topold_war=parseFloat(element_g.style[top]);
$(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0));
}
if(StickyXYBottomOld===undefined){
var bottomold_war=parseFloat(element_g.style[bottom]);
$(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0));
}
var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5;
var margintop=parseFloat(comp.getPropertyValue("margin-"+top));
margintop=((!isNaN(margintop))?margintop:0);
var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom));
marginbottom=((!isNaN(marginbottom))?marginbottom:0);
var przodek_height=undefined;
element_g.style[height]="auto";
element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[top]="auto";
element_g.style[bottom]="auto";
if(width_box!=null){
element_g.style[width_box]="auto";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[left_box]="auto";
element_g.style[right_box]="0";
$(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){
element.style[width_box]="auto";
element.classList.remove('mw-scrollbar-overflow-x');
element.classList.remove('mw-scrollbar-overflow-y');
});
}
/**/
var parents_node_fun=$(element_g).parents('.mw-parent-node').first();
if((parents_node_fun==null)||(parents_node_fun.length==0)){return;}
var width_rodzic=null;
var rodzic_element=undefined;
var comp_rodz;
parents_node_fun.each(function(i,element){
comp_rodz=window.getComputedStyle(element,null);
przodek_height=parseFloat(comp_rodz.getPropertyValue([height]));
width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null;
rodzic_element=element;
});
var height_box_real=parseFloat(comp.getPropertyValue(height));
var rect_dziecko=element_g.getBoundingClientRect();
var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))];
var rect_rodzic;
parents_node_fun.each(function(i,element){
rect_rodzic=element.getBoundingClientRect();
});
var top_ab=rect_rodzic[top];
var bottom_ab=(wys-rect_rodzic[bottom]);
var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop);
element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px";
element_g.style[height]="100%";
var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)));
element_g.style[top]=top_obj+"px";
element_g.style[bottom]="auto";
if(width_box!=null){
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
rodzic_element.style.position="static";
rodzic_element.style.overflow="hidden";
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
var rect_dziecko=element_g.getBoundingClientRect();
if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){
if(width_box=="width"){
element_g.classList.remove('mw-scrollbar-overflow-x');
}else{
element_g.classList.remove('mw-scrollbar-overflow-y');
}
if(rect_dziecko[width_box]>width_rodzic){
if(width_box=="width"){
element_g.classList.add('mw-scrollbar-overflow-x');
}else{
element_g.classList.add('mw-scrollbar-overflow-y');
}
}
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box));
margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box));
var dlugosc=(width_rodzic-margin_all);
dlugosc=((dlugosc>=0)?dlugosc:0);
element_g.style.whiteSpace="nowrap";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px";
element_g.style[width_box]=width_box_real+"px";
Common.ScrollBarOverflow();
$(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){
var comp_element=window.getComputedStyle(element, null)
element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat (comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px";
element.classList.remove('mw-scrollbar-overflow-'+x_box);
});
element_g.style.whiteSpace="normal";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[width_box]="auto";
var rect_dziecko=element_g.getBoundingClientRect();
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px";
element_g.style[width_box]=width_box_real+"px";
element_g.style[left_box]="0";
element_g.style[right_box]="auto";
rodzic_element.style.position="relative";
}else{
element_g.style.whiteSpace="nowrap";
var szerokosc_box=rect_dziecko[width_box];
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px";
element_g.style[width_box]=(szerokosc_box)+"px";
Common.ScrollBarOverflow();
$(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){
var comp_element=window.getComputedStyle(element, null);
element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat (comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px";
element.classList.remove('mw-scrollbar-overflow-'+x_box);
});
element_g.style.whiteSpace="normal";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[width_box]="auto";
var rect_dziecko=element_g.getBoundingClientRect();
var szerokosc_box=rect_dziecko[width_box];
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px";
element_g.style[width_box]=(szerokosc_box)+"px";
var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box));
if(parseInt(szerokosc)>parseInt(width_rodzic)){
element_g.style[right_box]="0";
element_g.style[left_box]="auto";
rodzic_element.style.overflow="visible";
}else{
element_g.style[left_box]="0";
element_g.style[right_box]="auto";
rodzic_element.style.position="relative";
}
}
}
element_g.style[height]="auto";
element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px";
Common.ScrollBarOverflow();
for(var i in pozycje_paskow){
pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1];
pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2];
}
}
element_g.classList.add('mw-sticky-js');
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var visibility=comp.getPropertyValue("visibility");
if(visibility=="hidden"){return;}
var position=comp.getPropertyValue("position");
if(position!="absolute"){return;}
var sticky_x=$(element_g).hasClass('mw-sticky-x');
var sticky_y=$(element_g).hasClass('mw-sticky-y');
if((sticky_x)&&(!sticky_y)){
var str=$(element_g).parents('.strona_górna, .strona_dolna').first();
if(str.hasClass('strona_dolna')){
FunStickyXY("width","left","right","height","top","bottom","y","x");
}else if(str.hasClass('strona_górna')){
FunStickyXY("width","left","right","height","bottom","top","y","x");
}
}else if((!sticky_x)&&(sticky_y)){
var str=$(element_g).parents('.strona_prawa, .strona_lewa').first();
if(str.hasClass('strona_prawa')){
FunStickyXY("height","top","bottom","width","left","right","x","y");
}else if(str.hasClass('strona_lewa')){
FunStickyXY("height","top","bottom","width","right","left","x","y");
}
}else if((sticky_x)&&(sticky_y)){
FunStickyXY("width","left","right",null);
FunStickyXY("height","top","bottom",null);
}
});
}
/*Uruchamianie funkcji Common StickyXY*/
$(Common.StickyXY);
/*Uruchamianie zdarzeń dla elementu Window, używając funkcji Common.StickyXY*/
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY');
Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY');
});
/*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/
Common.OptimalXY=function(){
$('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){
var comp=window.getComputedStyle(element_g, null);
function FunOptimalXY(width,left,right){
var pozycje_paskow=new Array();
$(element_g).find('*').each(function(i,element){
var comp=window.getComputedStyle(element, null);
var overflow=comp.getPropertyValue("overflow");
var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){
pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft));
}
});
var width_rodzic=null;
var rodzic_node;
var comp_rodz;
$(element_g).parents('.mw-parent-node').first().each(function(i,element){
comp_rodz=window.getComputedStyle(element,null);
width_rodzic=parseFloat(comp_rodz.getPropertyValue([width]));
rodzic_node=element;
});
if((width_rodzic!=null)&&(!isNaN(width_rodzic))){
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
var width_box_real=parseFloat(comp.getPropertyValue(width));
var rect_dziecko=element_g.getBoundingClientRect();
if(width=="width"){
element_g.classList.remove('mw-scrollbar-overflow-x');
}else{
element_g.classList.remove('mw-scrollbar-overflow-y');
}
if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){
var rect_dziecko=element_g.getBoundingClientRect();
if(rect_dziecko[width]>width_rodzic){
if(width=="width"){
element_g.classList.add('mw-scrollbar-overflow-x');
}else{
element_g.classList.add('mw-scrollbar-overflow-y');
}
}
var width_box_real=parseFloat(comp.getPropertyValue(width));
var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right));
margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right));
var dlugosc=(width_rodzic-margin_all);
dlugosc=((dlugosc>=0)?dlugosc:0);
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px";
}else{
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px";
}
var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first();
if(!str.hasClass('strona_start-nawigacja_boksy')){
var rect_dziecko=element_g.getBoundingClientRect();
var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right));
if(parseInt(szerokosc)>parseInt(width_rodzic)){
str.css('position','static');
}else{
str.css('position','relative');
}
}
}
for(var i in pozycje_paskow){
pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1];
pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2];
}
};
element_g.classList.add('mw-optimal-js');
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var visibility=comp.getPropertyValue("visibility");
if(visibility=="hidden"){return;}
var position=comp.getPropertyValue("position");
if(position!="absolute"){return;}
var optimal_x=$(element_g).hasClass('mw-optimal-x');
var optimal_y=$(element_g).hasClass('mw-optimal-y');
if(optimal_x){
FunOptimalXY("width","left","right");
}
if(optimal_y){
FunOptimalXY("height","top","bottom");
}
});
}
/*Uruchamianie funkcji Common.OptimalXY*/
$(Common.OptimalXY);
/*Uruchamianie zdarzeń dla elementu Window, używając funkcji OptimalXY*/
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY');
Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY');
});
/*Definicja dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz stylów CSS*/
Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){
$(obiekt).each(function(i,element_f){
var id=element_f.getAttribute("id")
if((id)&&(id==(id_tabeli_lub_ramki+i))){
var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i);
if((collapsebutton!==null)&&(collapsebutton.length>0)){
$('#mw-content-text .mw-parser-output').find('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){
var href=element_g.getAttribute('href');
if((href!=null)&&(href!="")){
var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*";
var re_frame = new RegExp(col,'g');
var re_javascript=new RegExp("^[\\s;]*javascript:");
if((re_javascript.test(href))&&(re_frame.test(href))){
var href=element_g.getAttribute('href');
if((href!==null)&&(href!="")){
function DodajSkryptJavaScript(fun){
var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g');
var href_nowe=element_g.getAttribute('href');
if(!re.test(href_nowe)){
element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()");
}
}
DodajSkryptJavaScript('Common.ScrollBarOverflow');
DodajSkryptJavaScript('Common.StickyXY');
DodajSkryptJavaScript('Common.OptimalXY');
}
}
}
});
}
}
});
}
/*Koniec dodatkowych funkcji*/
/*Uruchamianie dodatkowych funkcji dla tabel TABLE i ramek DIV nawigacyjnych.*/
$(function(){
/*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/
Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable');
/*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/
Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar');
});
/*Koniec uruchamiania*/
/*Definicje dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz,z_mouse){
/*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/
var tab_transition={'start':true,'run':true,'cancel':true,'end':true};
var tab_przegladarki={'':true,'webkit':true,'moz':true,'o':true};
for(var a in tab_transition){
for(var b in tab_przegladarki){
var zdarzenie=b+'transition'+a;
Common.ZdarzeniaJavaScript(css,zdarzenie,fun_zdarz);
}
}
if(z_mouse){
Common.ZdarzeniaJavaScript(css,"mouseenter",fun_zdarz);
Common.ZdarzeniaJavaScript(css,"mouseleave",fun_zdarz);
}
};
/*Koniec dodatkowych zdarzeń*/
/*Uruchamianie dodatkowych zdarzeń*/
$(function(){
/*Funkcje zdarzeń*/
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY',true);
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY',true);
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY',false);
});
/*Koniec uruchamiania dodatkowych zdarzeń*/
/*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/
Common.StronaStart=function(){
var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks');
elements.parent().show();
$('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){
$(element).css('visibility',"hidden");
$(element).attr('mw-menu-boks',"false");
});
$('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){
var czy_visible=$(element).css('visibility');
$(element).css('visibility',"visible");
$(element).attr('mw-menu-boks',"true");
var str=$(element).parents('.strona_prawa, .strona_lewa').first();
str.css('position','relative');
str.addClass('strona_start-nawigacja_spis');
str.removeClass('strona_start-nawigacja_boksy');
if(czy_visible=="hidden"){
$(Common.ScrollBarOverflow);
$(Common.StickyXY);
}
});
$('.strona_start').find('.strona .ciało_zawartości > .menu > .menu_boks').children('.spis_treści, .boksy').each(function(i,element){
if($(element).hasClass('spis_treści')) $(element).attr('mw-menu-boks',"true");
if($(element).hasClass('boksy')) $(element).attr('mw-menu-boks',"false");
});
Common.StronaStartZdarzeniePrzycisku=function(){
var id=this;
$(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){
var menu_boks_zmienna=$(element).attr('mw-menu-boks');
menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false");
if(menu_boks_zmienna=="false"){
$(element).css('display',"block");
$(element).attr('mw-menu-boks','true');
}else if(menu_boks_zmienna=="true"){
$(element).css('display',"none");
$(element).attr('mw-menu-boks','false');
}
});
$(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children('.nawigacja_boksy, .nawigacja_spis').each(function(i,element){
var menu_boks_zmienna=$(element).attr('mw-menu-boks');
menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false");
if(menu_boks_zmienna=="false"){
$(element).css('visibility',"visible");
$(element).attr('mw-menu-boks',"true");
var str=$(element).parents('.strona_prawa, .strona_lewa').first();
if($(element).hasClass('nawigacja_boksy')){
str.css('position','static');
str.addClass('strona_start-nawigacja_boksy');
str.removeClass('strona_start-nawigacja_spis');
$(Common.ScrollBarOverflow);
$(Common.OptimalXY);
}else if($(element).hasClass('nawigacja_spis')){
str.css('position','relative');
str.addClass('strona_start-nawigacja_spis');
str.removeClass('strona_start-nawigacja_boksy');
$(Common.ScrollBarOverflow);
$(Common.StickyXY);
}
}else if(menu_boks_zmienna=="true"){
$(element).css('visibility',"hidden");
$(element).attr('mw-menu-boks',"false");
}
});
}
if(Common.StronaStartZdarzeniePrzycisku)Common.ZdarzeniaJavaScript(elements,'click','StronaStartZdarzeniePrzycisku');
}
$(Common.StronaStart);
})(Common_zmienna_z_MediaWiki_Wikibooks,Common);
e2el0guku08pv3z3gac5drox7k9bvt7
437940
437938
2022-08-17T03:37:15Z
Persino
2851
javascript
text/javascript
mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true );
/**/
/* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony.
*/
/*
* Zmienna Common.pageInfo, jego elementy, instrukcja obsługi:
* Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber)
* Common.pageInfo.name pełna nazwa strony
* Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash
* Common.pageInfo.book tytuł książki
* Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get"
* Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL
*/
/*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/
var Common_zmienna_z_MediaWiki_Wikibooks=this['Common'];
/*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/
var Common=new Array();
/*Funkcja, by nie było przecieków pamięci*/
(function(Common_zmienna_z_MediaWiki_Wikibooks,Common){
/*Funkcja zwraca zmienną Common ze strony MediaWiki:Common.js*/
Common.MediaWikiCommon=function(){return (Common.IsUserCommon()?Common_zmienna_z_MediaWiki_Wikibooks:Common);}
/*Funkcja zwraca tablicę Common użytkownika, jeżeli taką posiada, w przeciwnym wypadku zwraca undefined*/
Common.UserCommon=function(){return (Common.IsUserCommon()?Common:undefined);}
/*Funkcja zwraca Common z tej strony*/
Common.NoweCommon=function(){return Common;}
/*Funkcja zwraca Common ze strony MediaWiki:Common.js, jeżeli użytkownik posiada własne Common w jego pliku Common, w przeciwnym wypadku zwraca undefined*/
Common.StareCommon=function(){return Common_zmienna_z_MediaWiki_Wikibooks;}
/*Sprawdza, czy użytkownik ma własną zmienną Common*/
Common.IsUserCommon=function(){return ((Common_zmienna_z_MediaWiki_Wikibooks)?true:false);};
// Frame Busting
Common.LokowanieTopSelf=function(){
if (top != self) top.location.href = self.location.href;
};
/*Uruchamianie funkcji Common.LokowanieTopSelf*/
$(Common.LokowanieTopSelf);
/*Funkcja zdarzeń odrejestrowania i rejestrowania*/
Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen,tylko_odrejestruj){
/*
css - adres html obiektu,
zdarzenie - zdarzenie jak click,
funkcja_zdarzen - nazwa funkcji zdarzeń w starej przestrzeni Common lub nowej, jak StickyXY,
tylko_odrejestruj - czy tylko zdarzenie ma odrejestrować w starej przestrzeni Common.
*/
if((css)&&(zdarzenie)&&(funkcja_zdarzen)){
/*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/
if((Common_zmienna_z_MediaWiki_Wikibooks)&&(Common_zmienna_z_MediaWiki_Wikibooks[funkcja_zdarzen])){
$(css).off(zdarzenie,Common_zmienna_z_MediaWiki_Wikibooks[funkcja_zdarzen]);
}
if((!tylko_odrejestruj)&&(Common)&&(Common[funkcja_zdarzen])){
/*Rejestrowanie zdarzeń, ale z tej strony .js*/
$(css).on(zdarzenie, Common[funkcja_zdarzen]);
}
}
}
/*Funkcje w przestrzeni nazw Common*/
Common.Naglowek=function(){
/* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */
var hideAll = document.getElementById('mójNagłówekUkryj');
var noFooter = false;
var footers = 0;
var tags = document.getElementsByTagName('div');
for (var i = 0; i < tags.length; i++) {
var el=tags[i].getAttribute("id");
if (el=='mojaStopka')
footers++;
else if (hideAll && (el=='mójNagłówek')) {
tags[i].innerHTML="";
noFooter=true;
}
}
if (noFooter) return;
var footer = document.getElementById('mojaStopka');
if ((footer !== null) && (footers==1)) {
var bodyContent = document.getElementById('bodyContent');
if (bodyContent !== null) {
var s0=document.getElementById('mojaStopka0');
var s1=document.getElementById('mojaStopka1');
if ((s1 !== null) ||
((s0 === null) && (bodyContent.innerHTML.length>8000))){
var strona=document.getElementById('strona');
if(strona!==null){
strona.appendChild(footer);
}else{
var catlinks=document.getElementById('catlinks');
if(catlinks !== null){
bodyContent.insertBefore(footer,catlinks);
}else{
bodyContent.appendChild(footer);
}
}
}
}
}
/* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */
};
$(Common.Naglowek);
/*Informacje o danej stronie*/
Common.PageInfoInit=function(){
var _g = /_/g;
this.name = mw.config.get('wgPageName').replace(/_/g, ' ');
this.namespace = mw.config.get('wgNamespaceNumber');
var i = this.name.search(/\/[^\/]*$/g);
this.title = this.name.slice(i + 1);
this.book = this.name.replace(/\/.*/g, "");
if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) {
re = /\&diff=/g;
this.diff = re.test(document.URL);
re = /\&action=[^\&]*/g;
this.action = document.URL.match(re);
if ( this.action === null ) {
this.action = 'get';
} else {
this.action = this.action[0].slice(8, this.action[0].length);
}
} else {
this.diff = null;
this.action = 'get';
}
}
Common.pageInfo = new Common.PageInfoInit();
/** Collapsible tables *********************************************************
*
* Description: Allows tables to be collapsed, showing only the header. See
* [[en:Wikipedia:NavFrame]].
* Maintainers: [[User:R. Koot]]
*/
Common.autoCollapse = 2;
Common.collapseCaption = "ukryj";
Common.expandCaption = "pokaż";
Common.collapseTable=function( tableIndex )
{
var Button = document.getElementById( "collapseButton" + tableIndex );
var Table = document.getElementById( "collapsibleTable" + tableIndex );
if ( !Table || !Button ) {
return false;
}
var Rows = Table.rows;
if ( Button.firstChild.data == Common.collapseCaption ) {
for ( var i = 1; i < Rows.length; i++ ) {
Rows[i].style.display = "none";
}
Button.firstChild.data = Common.expandCaption;
} else {
for ( var i = 1; i < Rows.length; i++ ) {
Rows[i].style.display = Rows[0].style.display;
}
Button.firstChild.data = Common.collapseCaption;
}
}
Common.createCollapseButtons=function()
{
var tableIndex = 0;
var NavigationBoxes = new Object();
var Tables = document.getElementsByTagName( "table" );
for ( var i = 0; i < Tables.length; i++ ) {
if ( $(Tables[i]).hasClass( "collapsible" ) ) {
/* only add button and increment count if there is a header row to work with */
var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0];
if (!HeaderRow) continue;
var Header = HeaderRow.getElementsByTagName( "th" )[0];
if (!Header) continue;
NavigationBoxes[ tableIndex ] = Tables[i];
Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex );
var Button = document.createElement( "span" );
var ButtonLink = document.createElement( "a" );
var ButtonText = document.createTextNode( Common.collapseCaption );
Button.style.styleFloat = "right";
Button.style.cssFloat = "right";
Button.style.fontWeight = "normal";
Button.style.textAlign = "right";
Button.style.width = "6em";
ButtonLink.style.color = Header.style.color;
ButtonLink.setAttribute( "id", "collapseButton" + tableIndex );
ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" );
ButtonLink.appendChild( ButtonText );
Button.appendChild( document.createTextNode( "[" ) );
Button.appendChild( ButtonLink );
Button.appendChild( document.createTextNode( "]" ) );
$(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){
$(element).remove();
});
Header.insertBefore( Button, Header.childNodes[0]);
tableIndex++;
}
}
for ( var i = 0; i < tableIndex; i++ ) {
if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) {
Common.collapseTable( i );
}
else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) {
var element = NavigationBoxes[i];
while (element = element.parentNode) {
if ( $(element).hasClass( "outercollapse" ) ) {
Common.collapseTable ( i );
break;
}
}
}
}
}
$(Common.createCollapseButtons );
/** Dynamic Navigation Bars (experimental) *************************************
*
* Description: See [[Wikipedia:NavFrame]].
* Maintainers: UNMAINTAINED
*/
// set up the words in your language
Common.NavigationBarHide = '[' + Common.collapseCaption + ']';
Common.NavigationBarShow = '[' + Common.expandCaption + ']';
// shows and hides content and picture (if available) of navigation bars
// Parameters:
// indexNavigationBar: the index of navigation bar to be toggled
Common.toggleNavigationBar=function(indexNavigationBar)
{
var NavToggle = document.getElementById("NavToggle" + indexNavigationBar);
var NavFrame = document.getElementById("NavFrame" + indexNavigationBar);
if (!NavFrame || !NavToggle) {
return false;
}
// if shown now
if (NavToggle.firstChild.data == Common.NavigationBarHide) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) ) {
NavChild.style.display = 'none';
}
if ( $(NavChild).hasClass( 'NavContent') ) {
NavChild.style.display = 'none';
}
}
NavToggle.firstChild.data = Common.NavigationBarShow;
// if hidden now
} else if (NavToggle.firstChild.data == Common.NavigationBarShow) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ($(NavChild).hasClass( 'NavPic')) {
NavChild.style.display = 'block';
}
if ($(NavChild).hasClass( 'NavContent')) {
NavChild.style.display = 'block';
}
}
NavToggle.firstChild.data = Common.NavigationBarHide;
}
}
// adds show/hide-button to navigation bars
Common.createNavigationBarToggleButton=function()
{
var indexNavigationBar = 0;
// iterate over all < div >-elements
var divs = document.getElementsByTagName("div");
for (var i = 0; NavFrame = divs[i]; i++) {
// if found a navigation bar
if ($(NavFrame).hasClass( "NavFrame")) {
indexNavigationBar++;
var NavToggle = document.createElement("a");
NavToggle.className = 'NavToggle';
NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar);
NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');');
var isCollapsed = $(NavFrame).hasClass( "collapsed" );
/*
* Check if any children are already hidden. This loop is here for backwards compatibility:
* the old way of making NavFrames start out collapsed was to manually add style="display:none"
* to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make
* the content visible without JavaScript support), the new recommended way is to add the class
* "collapsed" to the NavFrame itself, just like with collapsible tables.
*/
for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) {
if ( NavChild.style.display == 'none' ) {
isCollapsed = true;
}
}
}
if (isCollapsed) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) {
NavChild.style.display = 'none';
}
}
}
var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide);
NavToggle.appendChild(NavToggleText);
// Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked)
for(var j=0; j < NavFrame.childNodes.length; j++) {
if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) {
$(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){
$(element).remove();
});
NavFrame.childNodes[j].appendChild(NavToggle);
}
}
NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar);
}
}
}
$(Common.createNavigationBarToggleButton );
// Wyszukiwanie Google na stronach podręczników
Common.googleSearchInitialized = false;
Common.insertGoogleSearch=function() {
if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) {
return;
}
Common.googleSearchInitialized = true;
var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE";
var ul = jQuery('#p-tb ul')[0];
if (!ul) {
return;
}
var link = document.createElement('a');
var book = Common.pageInfo.book;
if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) {
google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22"
}
link.href = google.replace(/PAGE/g, encodeURIComponent(book));
link.appendChild(document.createTextNode("Szukaj w podręczniku"));
var li = document.createElement('li');
li.id = "google-trick-search";
li.appendChild(link);
$(ul).children('li#google-trick-search').each(function(i,element){
$(element).remove();
});
ul.insertBefore(li, ul.firstChild);
}
$(Common.insertGoogleSearch);
/*Funkcja do liczenia szerokościm mapska przewijania w pionowego, wtedy x_box_right=="y", lub poziomego, wtedy inny parametr inny niż dla paska pionowego*/
Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){
var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>');
$('body').append(div);
var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")]();
div.css('overflow-'+(x_box_right||"y"), 'scroll');
var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")]();
$(div).remove();
return (w1 - w2);
}
/*Funkcje do obsługi pasków przewijania*/
Common.ScrollBarOverflow=function(){
$('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){
/*start overflow*/
var comp=window.getComputedStyle(element_g, null);
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var overflow=comp.getPropertyValue("overflow");
var overflow_x=$(element_g).hasClass('mw-overflow-x');
if(overflow_x){
var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
if((overflowX)&&(overflowX=="auto")){
element_g.classList.remove("mw-scrollbar-overflow-x");
const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false
if(hasHorizontalScrollbar){
element_g.classList.add("mw-scrollbar-overflow-x");
}
}
}
var overflow_y=$(element_g).hasClass('mw-overflow-y');
if(overflow_y){
var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflowY)&&(overflowY=="auto")){
element_g.classList.remove("mw-scrollbar-overflow-y");
const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false
if(hasVerticalScrollbar){
element_g.classList.add("mw-scrollbar-overflow-y");
}
}
}
/*koniec overflow*/
});
}
/*Uruchamianie funkcji Common.ScrollBarOverflow*/
$(Common.ScrollBarOverflow);
/*Uruchamianie zdarzeń dla elementu Window, używając funkcji Common.ScrollBarOverflow*/
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow');
Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow');
});
/*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/
Common.StickyXY=function(){
$('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){
var comp=window.getComputedStyle(element_g, null);
function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){
var pozycje_paskow=new Array();
$(element_g).find('*').each(function(i,element){
var comp=window.getComputedStyle(element, null);
var overflow=comp.getPropertyValue("overflow");
var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){
pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft));
}
});
var height_sticky=0;
$('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){
var rect_sticky=el.getBoundingClientRect();
height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]);
});
var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom);
if(StickyXYTopOld===undefined){
var topold_war=parseFloat(element_g.style[top]);
$(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0));
}
if(StickyXYBottomOld===undefined){
var bottomold_war=parseFloat(element_g.style[bottom]);
$(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0));
}
var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5;
var margintop=parseFloat(comp.getPropertyValue("margin-"+top));
margintop=((!isNaN(margintop))?margintop:0);
var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom));
marginbottom=((!isNaN(marginbottom))?marginbottom:0);
var przodek_height=undefined;
element_g.style[height]="auto";
element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[top]="auto";
element_g.style[bottom]="auto";
if(width_box!=null){
element_g.style[width_box]="auto";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[left_box]="auto";
element_g.style[right_box]="0";
$(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){
element.style[width_box]="auto";
element.classList.remove('mw-scrollbar-overflow-x');
element.classList.remove('mw-scrollbar-overflow-y');
});
}
/**/
var parents_node_fun=$(element_g).parents('.mw-parent-node').first();
if((parents_node_fun==null)||(parents_node_fun.length==0)){return;}
var width_rodzic=null;
var rodzic_element=undefined;
var comp_rodz;
parents_node_fun.each(function(i,element){
comp_rodz=window.getComputedStyle(element,null);
przodek_height=parseFloat(comp_rodz.getPropertyValue([height]));
width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null;
rodzic_element=element;
});
var height_box_real=parseFloat(comp.getPropertyValue(height));
var rect_dziecko=element_g.getBoundingClientRect();
var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))];
var rect_rodzic;
parents_node_fun.each(function(i,element){
rect_rodzic=element.getBoundingClientRect();
});
var top_ab=rect_rodzic[top];
var bottom_ab=(wys-rect_rodzic[bottom]);
var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop);
element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px";
element_g.style[height]="100%";
var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)));
element_g.style[top]=top_obj+"px";
element_g.style[bottom]="auto";
if(width_box!=null){
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
rodzic_element.style.position="static";
rodzic_element.style.overflow="hidden";
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
var rect_dziecko=element_g.getBoundingClientRect();
if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){
if(width_box=="width"){
element_g.classList.remove('mw-scrollbar-overflow-x');
}else{
element_g.classList.remove('mw-scrollbar-overflow-y');
}
if(rect_dziecko[width_box]>width_rodzic){
if(width_box=="width"){
element_g.classList.add('mw-scrollbar-overflow-x');
}else{
element_g.classList.add('mw-scrollbar-overflow-y');
}
}
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box));
margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box));
var dlugosc=(width_rodzic-margin_all);
dlugosc=((dlugosc>=0)?dlugosc:0);
element_g.style.whiteSpace="nowrap";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px";
element_g.style[width_box]=width_box_real+"px";
Common.ScrollBarOverflow();
$(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){
var comp_element=window.getComputedStyle(element, null)
element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat (comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px";
element.classList.remove('mw-scrollbar-overflow-'+x_box);
});
element_g.style.whiteSpace="normal";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[width_box]="auto";
var rect_dziecko=element_g.getBoundingClientRect();
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px";
element_g.style[width_box]=width_box_real+"px";
element_g.style[left_box]="0";
element_g.style[right_box]="auto";
rodzic_element.style.position="relative";
}else{
element_g.style.whiteSpace="nowrap";
var szerokosc_box=rect_dziecko[width_box];
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px";
element_g.style[width_box]=(szerokosc_box)+"px";
Common.ScrollBarOverflow();
$(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){
var comp_element=window.getComputedStyle(element, null);
element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat (comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px";
element.classList.remove('mw-scrollbar-overflow-'+x_box);
});
element_g.style.whiteSpace="normal";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[width_box]="auto";
var rect_dziecko=element_g.getBoundingClientRect();
var szerokosc_box=rect_dziecko[width_box];
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px";
element_g.style[width_box]=(szerokosc_box)+"px";
var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box));
if(parseInt(szerokosc)>parseInt(width_rodzic)){
element_g.style[right_box]="0";
element_g.style[left_box]="auto";
rodzic_element.style.overflow="visible";
}else{
element_g.style[left_box]="0";
element_g.style[right_box]="auto";
rodzic_element.style.position="relative";
}
}
}
element_g.style[height]="auto";
element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px";
Common.ScrollBarOverflow();
for(var i in pozycje_paskow){
pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1];
pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2];
}
}
element_g.classList.add('mw-sticky-js');
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var visibility=comp.getPropertyValue("visibility");
if(visibility=="hidden"){return;}
var position=comp.getPropertyValue("position");
if(position!="absolute"){return;}
var sticky_x=$(element_g).hasClass('mw-sticky-x');
var sticky_y=$(element_g).hasClass('mw-sticky-y');
if((sticky_x)&&(!sticky_y)){
var str=$(element_g).parents('.strona_górna, .strona_dolna').first();
if(str.hasClass('strona_dolna')){
FunStickyXY("width","left","right","height","top","bottom","y","x");
}else if(str.hasClass('strona_górna')){
FunStickyXY("width","left","right","height","bottom","top","y","x");
}
}else if((!sticky_x)&&(sticky_y)){
var str=$(element_g).parents('.strona_prawa, .strona_lewa').first();
if(str.hasClass('strona_prawa')){
FunStickyXY("height","top","bottom","width","left","right","x","y");
}else if(str.hasClass('strona_lewa')){
FunStickyXY("height","top","bottom","width","right","left","x","y");
}
}else if((sticky_x)&&(sticky_y)){
FunStickyXY("width","left","right",null);
FunStickyXY("height","top","bottom",null);
}
});
}
/*Uruchamianie funkcji Common StickyXY*/
$(Common.StickyXY);
/*Uruchamianie zdarzeń dla elementu Window, używając funkcji Common.StickyXY*/
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY');
Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY');
});
/*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/
Common.OptimalXY=function(){
$('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){
var comp=window.getComputedStyle(element_g, null);
function FunOptimalXY(width,left,right){
var pozycje_paskow=new Array();
$(element_g).find('*').each(function(i,element){
var comp=window.getComputedStyle(element, null);
var overflow=comp.getPropertyValue("overflow");
var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){
pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft));
}
});
var width_rodzic=null;
var rodzic_node;
var comp_rodz;
$(element_g).parents('.mw-parent-node').first().each(function(i,element){
comp_rodz=window.getComputedStyle(element,null);
width_rodzic=parseFloat(comp_rodz.getPropertyValue([width]));
rodzic_node=element;
});
if((width_rodzic!=null)&&(!isNaN(width_rodzic))){
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
var width_box_real=parseFloat(comp.getPropertyValue(width));
var rect_dziecko=element_g.getBoundingClientRect();
if(width=="width"){
element_g.classList.remove('mw-scrollbar-overflow-x');
}else{
element_g.classList.remove('mw-scrollbar-overflow-y');
}
if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){
var rect_dziecko=element_g.getBoundingClientRect();
if(rect_dziecko[width]>width_rodzic){
if(width=="width"){
element_g.classList.add('mw-scrollbar-overflow-x');
}else{
element_g.classList.add('mw-scrollbar-overflow-y');
}
}
var width_box_real=parseFloat(comp.getPropertyValue(width));
var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right));
margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right));
var dlugosc=(width_rodzic-margin_all);
dlugosc=((dlugosc>=0)?dlugosc:0);
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px";
}else{
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px";
}
var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first();
if(!str.hasClass('strona_start-nawigacja_boksy')){
var rect_dziecko=element_g.getBoundingClientRect();
var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right));
if(parseInt(szerokosc)>parseInt(width_rodzic)){
str.css('position','static');
}else{
str.css('position','relative');
}
}
}
for(var i in pozycje_paskow){
pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1];
pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2];
}
};
element_g.classList.add('mw-optimal-js');
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var visibility=comp.getPropertyValue("visibility");
if(visibility=="hidden"){return;}
var position=comp.getPropertyValue("position");
if(position!="absolute"){return;}
var optimal_x=$(element_g).hasClass('mw-optimal-x');
var optimal_y=$(element_g).hasClass('mw-optimal-y');
if(optimal_x){
FunOptimalXY("width","left","right");
}
if(optimal_y){
FunOptimalXY("height","top","bottom");
}
});
}
/*Uruchamianie funkcji Common.OptimalXY*/
$(Common.OptimalXY);
/*Uruchamianie zdarzeń dla elementu Window, używając funkcji OptimalXY*/
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY');
Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY');
});
/*Definicja dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz stylów CSS*/
Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){
$(obiekt).each(function(i,element_f){
var id=element_f.getAttribute("id")
if((id)&&(id==(id_tabeli_lub_ramki+i))){
var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i);
if((collapsebutton!==null)&&(collapsebutton.length>0)){
$('#mw-content-text .mw-parser-output').find('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){
var href=element_g.getAttribute('href');
if((href!=null)&&(href!="")){
var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*";
var re_frame = new RegExp(col,'g');
var re_javascript=new RegExp("^[\\s;]*javascript:");
if((re_javascript.test(href))&&(re_frame.test(href))){
var href=element_g.getAttribute('href');
if((href!==null)&&(href!="")){
function DodajSkryptJavaScript(fun){
var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g');
var href_nowe=element_g.getAttribute('href');
if(!re.test(href_nowe)){
element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()");
}
}
DodajSkryptJavaScript('Common.ScrollBarOverflow');
DodajSkryptJavaScript('Common.StickyXY');
DodajSkryptJavaScript('Common.OptimalXY');
}
}
}
});
}
}
});
}
/*Koniec dodatkowych funkcji*/
/*Uruchamianie dodatkowych funkcji dla tabel TABLE i ramek DIV nawigacyjnych.*/
$(function(){
/*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/
Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable');
/*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/
Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar');
});
/*Koniec uruchamiania*/
/*Definicje dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz,z_mouse){
/*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/
var tab_transition={'start':true,'run':true,'cancel':true,'end':true};
var tab_przegladarki={'':true,'webkit':true,'moz':true,'o':true};
for(var a in tab_transition){
for(var b in tab_przegladarki){
var zdarzenie=b+'transition'+a;
Common.ZdarzeniaJavaScript(css,zdarzenie,fun_zdarz);
}
}
if(z_mouse){
Common.ZdarzeniaJavaScript(css,"mouseenter",fun_zdarz);
Common.ZdarzeniaJavaScript(css,"mouseleave",fun_zdarz);
}
};
/*Koniec dodatkowych zdarzeń*/
/*Uruchamianie dodatkowych zdarzeń*/
$(function(){
/*Funkcje zdarzeń*/
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY',true);
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY',true);
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY',false);
});
/*Koniec uruchamiania dodatkowych zdarzeń*/
/*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/
Common.StronaStart=function(){
var elements=$('.strona_start .strona .ciało_zawartości > .menu > .menu_boks');
elements.parent().show();
$('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){
$(element).css('visibility',"hidden");
$(element).attr('mw-menu-boks',"false");
});
$('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){
var czy_visible=$(element).css('visibility');
$(element).css('visibility',"visible");
$(element).attr('mw-menu-boks',"true");
var str=$(element).parents('.strona_prawa, .strona_lewa').first();
str.css('position','relative');
str.addClass('strona_start-nawigacja_spis');
str.removeClass('strona_start-nawigacja_boksy');
if(czy_visible=="hidden"){
$(Common.ScrollBarOverflow);
$(Common.StickyXY);
}
});
$('.strona_start').find('.strona .ciało_zawartości > .menu > .menu_boks').children('.spis_treści, .boksy').each(function(i,element){
if($(element).hasClass('boksy')) $(element).attr('mw-menu-boks',"true");
if($(element).hasClass('spis_treści')) $(element).attr('mw-menu-boks',"false");
});
Common.StronaStartZdarzeniePrzycisku=function(){
var id=this;
$(id).parents('.strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){
var menu_boks_zmienna=$(element).attr('mw-menu-boks');
menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false");
if(menu_boks_zmienna=="false"){
$(element).css('display',"block");
$(element).attr('mw-menu-boks','true');
}else if(menu_boks_zmienna=="true"){
$(element).css('display',"none");
$(element).attr('mw-menu-boks','false');
}
});
$(id).parents('.strona_start').first().find('.strona_lewa, .strona_prawa').children('.nawigacja_boksy, .nawigacja_spis').each(function(i,element){
var menu_boks_zmienna=$(element).attr('mw-menu-boks');
menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false");
if(menu_boks_zmienna=="false"){
$(element).css('visibility',"visible");
$(element).attr('mw-menu-boks',"true");
var str=$(element).parents('.strona_prawa, .strona_lewa').first();
if($(element).hasClass('nawigacja_boksy')){
str.css('position','static');
str.addClass('strona_start-nawigacja_boksy');
str.removeClass('strona_start-nawigacja_spis');
$(Common.ScrollBarOverflow);
$(Common.OptimalXY);
}else if($(element).hasClass('nawigacja_spis')){
str.css('position','relative');
str.addClass('strona_start-nawigacja_spis');
str.removeClass('strona_start-nawigacja_boksy');
$(Common.ScrollBarOverflow);
$(Common.StickyXY);
}
}else if(menu_boks_zmienna=="true"){
$(element).css('visibility',"hidden");
$(element).attr('mw-menu-boks',"false");
}
});
}
if(Common.StronaStartZdarzeniePrzycisku)Common.ZdarzeniaJavaScript(elements,'click','StronaStartZdarzeniePrzycisku');
}
$(Common.StronaStart);
})(Common_zmienna_z_MediaWiki_Wikibooks,Common);
fp4bw7ccv24l5646g1u763s01vsu4fl
437941
437940
2022-08-17T03:47:41Z
Persino
2851
javascript
text/javascript
mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true );
/**/
/* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony.
*/
/*
* Zmienna Common.pageInfo, jego elementy, instrukcja obsługi:
* Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber)
* Common.pageInfo.name pełna nazwa strony
* Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash
* Common.pageInfo.book tytuł książki
* Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get"
* Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL
*/
/*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/
var Common_zmienna_z_MediaWiki_Wikibooks=this['Common'];
/*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/
var Common=new Array();
/*Funkcja, by nie było przecieków pamięci*/
(function(Common_zmienna_z_MediaWiki_Wikibooks,Common){
/*Funkcja zwraca zmienną Common ze strony MediaWiki:Common.js*/
Common.MediaWikiCommon=function(){return (Common.IsUserCommon()?Common_zmienna_z_MediaWiki_Wikibooks:Common);}
/*Funkcja zwraca tablicę Common użytkownika, jeżeli taką posiada, w przeciwnym wypadku zwraca undefined*/
Common.UserCommon=function(){return (Common.IsUserCommon()?Common:undefined);}
/*Funkcja zwraca Common z tej strony*/
Common.NoweCommon=function(){return Common;}
/*Funkcja zwraca Common ze strony MediaWiki:Common.js, jeżeli użytkownik posiada własne Common w jego pliku Common, w przeciwnym wypadku zwraca undefined*/
Common.StareCommon=function(){return Common_zmienna_z_MediaWiki_Wikibooks;}
/*Sprawdza, czy użytkownik ma własną zmienną Common*/
Common.IsUserCommon=function(){return ((Common_zmienna_z_MediaWiki_Wikibooks)?true:false);};
// Frame Busting
Common.LokowanieTopSelf=function(){
if (top != self) top.location.href = self.location.href;
};
/*Uruchamianie funkcji Common.LokowanieTopSelf*/
$(Common.LokowanieTopSelf);
/*Funkcja zdarzeń odrejestrowania i rejestrowania*/
Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen,tylko_odrejestruj){
/*
css - adres html obiektu,
zdarzenie - zdarzenie jak click,
funkcja_zdarzen - nazwa funkcji zdarzeń w starej przestrzeni Common lub nowej, jak StickyXY,
tylko_odrejestruj - czy tylko zdarzenie ma odrejestrować w starej przestrzeni Common.
*/
if((css)&&(zdarzenie)&&(funkcja_zdarzen)){
/*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/
if((Common_zmienna_z_MediaWiki_Wikibooks)&&(Common_zmienna_z_MediaWiki_Wikibooks[funkcja_zdarzen])){
$(css).off(zdarzenie,Common_zmienna_z_MediaWiki_Wikibooks[funkcja_zdarzen]);
}
if((!tylko_odrejestruj)&&(Common)&&(Common[funkcja_zdarzen])){
/*Rejestrowanie zdarzeń, ale z tej strony .js*/
$(css).on(zdarzenie, Common[funkcja_zdarzen]);
}
}
}
/*Funkcje w przestrzeni nazw Common*/
Common.Naglowek=function(){
/* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */
var hideAll = document.getElementById('mójNagłówekUkryj');
var noFooter = false;
var footers = 0;
var tags = document.getElementsByTagName('div');
for (var i = 0; i < tags.length; i++) {
var el=tags[i].getAttribute("id");
if (el=='mojaStopka')
footers++;
else if (hideAll && (el=='mójNagłówek')) {
tags[i].innerHTML="";
noFooter=true;
}
}
if (noFooter) return;
var footer = document.getElementById('mojaStopka');
if ((footer !== null) && (footers==1)) {
var bodyContent = document.getElementById('bodyContent');
if (bodyContent !== null) {
var s0=document.getElementById('mojaStopka0');
var s1=document.getElementById('mojaStopka1');
if ((s1 !== null) ||
((s0 === null) && (bodyContent.innerHTML.length>8000))){
var strona=document.getElementById('strona');
if(strona!==null){
strona.appendChild(footer);
}else{
var catlinks=document.getElementById('catlinks');
if(catlinks !== null){
bodyContent.insertBefore(footer,catlinks);
}else{
bodyContent.appendChild(footer);
}
}
}
}
}
/* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */
};
$(Common.Naglowek);
/*Informacje o danej stronie*/
Common.PageInfoInit=function(){
var _g = /_/g;
this.name = mw.config.get('wgPageName').replace(/_/g, ' ');
this.namespace = mw.config.get('wgNamespaceNumber');
var i = this.name.search(/\/[^\/]*$/g);
this.title = this.name.slice(i + 1);
this.book = this.name.replace(/\/.*/g, "");
if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) {
re = /\&diff=/g;
this.diff = re.test(document.URL);
re = /\&action=[^\&]*/g;
this.action = document.URL.match(re);
if ( this.action === null ) {
this.action = 'get';
} else {
this.action = this.action[0].slice(8, this.action[0].length);
}
} else {
this.diff = null;
this.action = 'get';
}
}
Common.pageInfo = new Common.PageInfoInit();
/** Collapsible tables *********************************************************
*
* Description: Allows tables to be collapsed, showing only the header. See
* [[en:Wikipedia:NavFrame]].
* Maintainers: [[User:R. Koot]]
*/
Common.autoCollapse = 2;
Common.collapseCaption = "ukryj";
Common.expandCaption = "pokaż";
Common.collapseTable=function( tableIndex )
{
var Button = document.getElementById( "collapseButton" + tableIndex );
var Table = document.getElementById( "collapsibleTable" + tableIndex );
if ( !Table || !Button ) {
return false;
}
var Rows = Table.rows;
if ( Button.firstChild.data == Common.collapseCaption ) {
for ( var i = 1; i < Rows.length; i++ ) {
Rows[i].style.display = "none";
}
Button.firstChild.data = Common.expandCaption;
} else {
for ( var i = 1; i < Rows.length; i++ ) {
Rows[i].style.display = Rows[0].style.display;
}
Button.firstChild.data = Common.collapseCaption;
}
}
Common.createCollapseButtons=function()
{
var tableIndex = 0;
var NavigationBoxes = new Object();
var Tables = document.getElementsByTagName( "table" );
for ( var i = 0; i < Tables.length; i++ ) {
if ( $(Tables[i]).hasClass( "collapsible" ) ) {
/* only add button and increment count if there is a header row to work with */
var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0];
if (!HeaderRow) continue;
var Header = HeaderRow.getElementsByTagName( "th" )[0];
if (!Header) continue;
NavigationBoxes[ tableIndex ] = Tables[i];
Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex );
var Button = document.createElement( "span" );
var ButtonLink = document.createElement( "a" );
var ButtonText = document.createTextNode( Common.collapseCaption );
Button.style.styleFloat = "right";
Button.style.cssFloat = "right";
Button.style.fontWeight = "normal";
Button.style.textAlign = "right";
Button.style.width = "6em";
ButtonLink.style.color = Header.style.color;
ButtonLink.setAttribute( "id", "collapseButton" + tableIndex );
ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" );
ButtonLink.appendChild( ButtonText );
Button.appendChild( document.createTextNode( "[" ) );
Button.appendChild( ButtonLink );
Button.appendChild( document.createTextNode( "]" ) );
$(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){
$(element).remove();
});
Header.insertBefore( Button, Header.childNodes[0]);
tableIndex++;
}
}
for ( var i = 0; i < tableIndex; i++ ) {
if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) {
Common.collapseTable( i );
}
else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) {
var element = NavigationBoxes[i];
while (element = element.parentNode) {
if ( $(element).hasClass( "outercollapse" ) ) {
Common.collapseTable ( i );
break;
}
}
}
}
}
$(Common.createCollapseButtons );
/** Dynamic Navigation Bars (experimental) *************************************
*
* Description: See [[Wikipedia:NavFrame]].
* Maintainers: UNMAINTAINED
*/
// set up the words in your language
Common.NavigationBarHide = '[' + Common.collapseCaption + ']';
Common.NavigationBarShow = '[' + Common.expandCaption + ']';
// shows and hides content and picture (if available) of navigation bars
// Parameters:
// indexNavigationBar: the index of navigation bar to be toggled
Common.toggleNavigationBar=function(indexNavigationBar)
{
var NavToggle = document.getElementById("NavToggle" + indexNavigationBar);
var NavFrame = document.getElementById("NavFrame" + indexNavigationBar);
if (!NavFrame || !NavToggle) {
return false;
}
// if shown now
if (NavToggle.firstChild.data == Common.NavigationBarHide) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) ) {
NavChild.style.display = 'none';
}
if ( $(NavChild).hasClass( 'NavContent') ) {
NavChild.style.display = 'none';
}
}
NavToggle.firstChild.data = Common.NavigationBarShow;
// if hidden now
} else if (NavToggle.firstChild.data == Common.NavigationBarShow) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ($(NavChild).hasClass( 'NavPic')) {
NavChild.style.display = 'block';
}
if ($(NavChild).hasClass( 'NavContent')) {
NavChild.style.display = 'block';
}
}
NavToggle.firstChild.data = Common.NavigationBarHide;
}
}
// adds show/hide-button to navigation bars
Common.createNavigationBarToggleButton=function()
{
var indexNavigationBar = 0;
// iterate over all < div >-elements
var divs = document.getElementsByTagName("div");
for (var i = 0; NavFrame = divs[i]; i++) {
// if found a navigation bar
if ($(NavFrame).hasClass( "NavFrame")) {
indexNavigationBar++;
var NavToggle = document.createElement("a");
NavToggle.className = 'NavToggle';
NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar);
NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');');
var isCollapsed = $(NavFrame).hasClass( "collapsed" );
/*
* Check if any children are already hidden. This loop is here for backwards compatibility:
* the old way of making NavFrames start out collapsed was to manually add style="display:none"
* to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make
* the content visible without JavaScript support), the new recommended way is to add the class
* "collapsed" to the NavFrame itself, just like with collapsible tables.
*/
for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) {
if ( NavChild.style.display == 'none' ) {
isCollapsed = true;
}
}
}
if (isCollapsed) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) {
NavChild.style.display = 'none';
}
}
}
var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide);
NavToggle.appendChild(NavToggleText);
// Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked)
for(var j=0; j < NavFrame.childNodes.length; j++) {
if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) {
$(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){
$(element).remove();
});
NavFrame.childNodes[j].appendChild(NavToggle);
}
}
NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar);
}
}
}
$(Common.createNavigationBarToggleButton );
// Wyszukiwanie Google na stronach podręczników
Common.googleSearchInitialized = false;
Common.insertGoogleSearch=function() {
if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) {
return;
}
Common.googleSearchInitialized = true;
var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE";
var ul = jQuery('#p-tb ul')[0];
if (!ul) {
return;
}
var link = document.createElement('a');
var book = Common.pageInfo.book;
if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) {
google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22"
}
link.href = google.replace(/PAGE/g, encodeURIComponent(book));
link.appendChild(document.createTextNode("Szukaj w podręczniku"));
var li = document.createElement('li');
li.id = "google-trick-search";
li.appendChild(link);
$(ul).children('li#google-trick-search').each(function(i,element){
$(element).remove();
});
ul.insertBefore(li, ul.firstChild);
}
$(Common.insertGoogleSearch);
/*Funkcja do liczenia szerokościm mapska przewijania w pionowego, wtedy x_box_right=="y", lub poziomego, wtedy inny parametr inny niż dla paska pionowego*/
Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){
var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>');
$('body').append(div);
var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")]();
div.css('overflow-'+(x_box_right||"y"), 'scroll');
var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")]();
$(div).remove();
return (w1 - w2);
}
/*Funkcje do obsługi pasków przewijania*/
Common.ScrollBarOverflow=function(){
$('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){
/*start overflow*/
var comp=window.getComputedStyle(element_g, null);
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var overflow=comp.getPropertyValue("overflow");
var overflow_x=$(element_g).hasClass('mw-overflow-x');
if(overflow_x){
var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
if((overflowX)&&(overflowX=="auto")){
element_g.classList.remove("mw-scrollbar-overflow-x");
const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false
if(hasHorizontalScrollbar){
element_g.classList.add("mw-scrollbar-overflow-x");
}
}
}
var overflow_y=$(element_g).hasClass('mw-overflow-y');
if(overflow_y){
var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflowY)&&(overflowY=="auto")){
element_g.classList.remove("mw-scrollbar-overflow-y");
const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false
if(hasVerticalScrollbar){
element_g.classList.add("mw-scrollbar-overflow-y");
}
}
}
/*koniec overflow*/
});
}
/*Uruchamianie funkcji Common.ScrollBarOverflow*/
$(Common.ScrollBarOverflow);
/*Uruchamianie zdarzeń dla elementu Window, używając funkcji Common.ScrollBarOverflow*/
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow');
Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow');
});
/*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/
Common.StickyXY=function(){
$('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){
var comp=window.getComputedStyle(element_g, null);
function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){
var pozycje_paskow=new Array();
$(element_g).find('*').each(function(i,element){
var comp=window.getComputedStyle(element, null);
var overflow=comp.getPropertyValue("overflow");
var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){
pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft));
}
});
var height_sticky=0;
$('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){
var rect_sticky=el.getBoundingClientRect();
height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]);
});
var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom);
if(StickyXYTopOld===undefined){
var topold_war=parseFloat(element_g.style[top]);
$(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0));
}
if(StickyXYBottomOld===undefined){
var bottomold_war=parseFloat(element_g.style[bottom]);
$(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0));
}
var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5;
var margintop=parseFloat(comp.getPropertyValue("margin-"+top));
margintop=((!isNaN(margintop))?margintop:0);
var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom));
marginbottom=((!isNaN(marginbottom))?marginbottom:0);
var przodek_height=undefined;
element_g.style[height]="auto";
element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[top]="auto";
element_g.style[bottom]="auto";
if(width_box!=null){
element_g.style[width_box]="auto";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[left_box]="auto";
element_g.style[right_box]="0";
$(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){
element.style[width_box]="auto";
element.classList.remove('mw-scrollbar-overflow-x');
element.classList.remove('mw-scrollbar-overflow-y');
});
}
/**/
var parents_node_fun=$(element_g).parents('.mw-parent-node').first();
if((parents_node_fun==null)||(parents_node_fun.length==0)){return;}
var width_rodzic=null;
var rodzic_element=undefined;
var comp_rodz;
parents_node_fun.each(function(i,element){
comp_rodz=window.getComputedStyle(element,null);
przodek_height=parseFloat(comp_rodz.getPropertyValue([height]));
width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null;
rodzic_element=element;
});
var height_box_real=parseFloat(comp.getPropertyValue(height));
var rect_dziecko=element_g.getBoundingClientRect();
var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))];
var rect_rodzic;
parents_node_fun.each(function(i,element){
rect_rodzic=element.getBoundingClientRect();
});
var top_ab=rect_rodzic[top];
var bottom_ab=(wys-rect_rodzic[bottom]);
var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop);
element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px";
element_g.style[height]="100%";
var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)));
element_g.style[top]=top_obj+"px";
element_g.style[bottom]="auto";
if(width_box!=null){
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
rodzic_element.style.position="static";
rodzic_element.style.overflow="hidden";
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
var rect_dziecko=element_g.getBoundingClientRect();
if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){
if(width_box=="width"){
element_g.classList.remove('mw-scrollbar-overflow-x');
}else{
element_g.classList.remove('mw-scrollbar-overflow-y');
}
if(rect_dziecko[width_box]>width_rodzic){
if(width_box=="width"){
element_g.classList.add('mw-scrollbar-overflow-x');
}else{
element_g.classList.add('mw-scrollbar-overflow-y');
}
}
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box));
margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box));
var dlugosc=(width_rodzic-margin_all);
dlugosc=((dlugosc>=0)?dlugosc:0);
element_g.style.whiteSpace="nowrap";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px";
element_g.style[width_box]=width_box_real+"px";
Common.ScrollBarOverflow();
$(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){
var comp_element=window.getComputedStyle(element, null)
element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat (comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px";
element.classList.remove('mw-scrollbar-overflow-'+x_box);
});
element_g.style.whiteSpace="normal";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[width_box]="auto";
var rect_dziecko=element_g.getBoundingClientRect();
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px";
element_g.style[width_box]=width_box_real+"px";
element_g.style[left_box]="0";
element_g.style[right_box]="auto";
rodzic_element.style.position="relative";
}else{
element_g.style.whiteSpace="nowrap";
var szerokosc_box=rect_dziecko[width_box];
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px";
element_g.style[width_box]=(szerokosc_box)+"px";
Common.ScrollBarOverflow();
$(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){
var comp_element=window.getComputedStyle(element, null);
element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat (comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px";
element.classList.remove('mw-scrollbar-overflow-'+x_box);
});
element_g.style.whiteSpace="normal";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[width_box]="auto";
var rect_dziecko=element_g.getBoundingClientRect();
var szerokosc_box=rect_dziecko[width_box];
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px";
element_g.style[width_box]=(szerokosc_box)+"px";
var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box));
if(parseInt(szerokosc)>parseInt(width_rodzic)){
element_g.style[right_box]="0";
element_g.style[left_box]="auto";
rodzic_element.style.overflow="visible";
}else{
element_g.style[left_box]="0";
element_g.style[right_box]="auto";
rodzic_element.style.position="relative";
}
}
}
element_g.style[height]="auto";
element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px";
Common.ScrollBarOverflow();
for(var i in pozycje_paskow){
pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1];
pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2];
}
}
element_g.classList.add('mw-sticky-js');
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var visibility=comp.getPropertyValue("visibility");
if(visibility=="hidden"){return;}
var position=comp.getPropertyValue("position");
if(position!="absolute"){return;}
var sticky_x=$(element_g).hasClass('mw-sticky-x');
var sticky_y=$(element_g).hasClass('mw-sticky-y');
if((sticky_x)&&(!sticky_y)){
var str=$(element_g).parents('.strona_górna, .strona_dolna').first();
if(str.hasClass('strona_dolna')){
FunStickyXY("width","left","right","height","top","bottom","y","x");
}else if(str.hasClass('strona_górna')){
FunStickyXY("width","left","right","height","bottom","top","y","x");
}
}else if((!sticky_x)&&(sticky_y)){
var str=$(element_g).parents('.strona_prawa, .strona_lewa').first();
if(str.hasClass('strona_prawa')){
FunStickyXY("height","top","bottom","width","left","right","x","y");
}else if(str.hasClass('strona_lewa')){
FunStickyXY("height","top","bottom","width","right","left","x","y");
}
}else if((sticky_x)&&(sticky_y)){
FunStickyXY("width","left","right",null);
FunStickyXY("height","top","bottom",null);
}
});
}
/*Uruchamianie funkcji Common StickyXY*/
$(Common.StickyXY);
/*Uruchamianie zdarzeń dla elementu Window, używając funkcji Common.StickyXY*/
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY');
Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY');
});
/*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/
Common.OptimalXY=function(){
$('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){
var comp=window.getComputedStyle(element_g, null);
function FunOptimalXY(width,left,right){
var pozycje_paskow=new Array();
$(element_g).find('*').each(function(i,element){
var comp=window.getComputedStyle(element, null);
var overflow=comp.getPropertyValue("overflow");
var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){
pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft));
}
});
var width_rodzic=null;
var rodzic_node;
var comp_rodz;
$(element_g).parents('.mw-parent-node').first().each(function(i,element){
comp_rodz=window.getComputedStyle(element,null);
width_rodzic=parseFloat(comp_rodz.getPropertyValue([width]));
rodzic_node=element;
});
if((width_rodzic!=null)&&(!isNaN(width_rodzic))){
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
var width_box_real=parseFloat(comp.getPropertyValue(width));
var rect_dziecko=element_g.getBoundingClientRect();
if(width=="width"){
element_g.classList.remove('mw-scrollbar-overflow-x');
}else{
element_g.classList.remove('mw-scrollbar-overflow-y');
}
if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){
var rect_dziecko=element_g.getBoundingClientRect();
if(rect_dziecko[width]>width_rodzic){
if(width=="width"){
element_g.classList.add('mw-scrollbar-overflow-x');
}else{
element_g.classList.add('mw-scrollbar-overflow-y');
}
}
var width_box_real=parseFloat(comp.getPropertyValue(width));
var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right));
margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right));
var dlugosc=(width_rodzic-margin_all);
dlugosc=((dlugosc>=0)?dlugosc:0);
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px";
}else{
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px";
}
var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first();
if(!str.hasClass('strona_start-nawigacja_boksy')){
var rect_dziecko=element_g.getBoundingClientRect();
var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right));
if(parseInt(szerokosc)>parseInt(width_rodzic)){
str.css('position','static');
}else{
str.css('position','relative');
}
}
}
for(var i in pozycje_paskow){
pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1];
pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2];
}
};
element_g.classList.add('mw-optimal-js');
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var visibility=comp.getPropertyValue("visibility");
if(visibility=="hidden"){return;}
var position=comp.getPropertyValue("position");
if(position!="absolute"){return;}
var optimal_x=$(element_g).hasClass('mw-optimal-x');
var optimal_y=$(element_g).hasClass('mw-optimal-y');
if(optimal_x){
FunOptimalXY("width","left","right");
}
if(optimal_y){
FunOptimalXY("height","top","bottom");
}
});
}
/*Uruchamianie funkcji Common.OptimalXY*/
$(Common.OptimalXY);
/*Uruchamianie zdarzeń dla elementu Window, używając funkcji OptimalXY*/
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY');
Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY');
});
/*Definicja dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz stylów CSS*/
Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){
$(obiekt).each(function(i,element_f){
var id=element_f.getAttribute("id")
if((id)&&(id==(id_tabeli_lub_ramki+i))){
var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i);
if((collapsebutton!==null)&&(collapsebutton.length>0)){
$('#mw-content-text .mw-parser-output').find('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){
var href=element_g.getAttribute('href');
if((href!=null)&&(href!="")){
var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*";
var re_frame = new RegExp(col,'g');
var re_javascript=new RegExp("^[\\s;]*javascript:");
if((re_javascript.test(href))&&(re_frame.test(href))){
var href=element_g.getAttribute('href');
if((href!==null)&&(href!="")){
function DodajSkryptJavaScript(fun){
var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g');
var href_nowe=element_g.getAttribute('href');
if(!re.test(href_nowe)){
element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()");
}
}
DodajSkryptJavaScript('Common.ScrollBarOverflow');
DodajSkryptJavaScript('Common.StickyXY');
DodajSkryptJavaScript('Common.OptimalXY');
}
}
}
});
}
}
});
}
/*Koniec dodatkowych funkcji*/
/*Uruchamianie dodatkowych funkcji dla tabel TABLE i ramek DIV nawigacyjnych.*/
$(function(){
/*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/
Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable');
/*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/
Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar');
});
/*Koniec uruchamiania*/
/*Definicje dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz,z_mouse){
/*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/
var tab_transition={'start':true,'run':true,'cancel':true,'end':true};
var tab_przegladarki={'':true,'webkit':true,'moz':true,'o':true};
for(var a in tab_transition){
for(var b in tab_przegladarki){
var zdarzenie=b+'transition'+a;
Common.ZdarzeniaJavaScript(css,zdarzenie,fun_zdarz);
}
}
if(z_mouse){
Common.ZdarzeniaJavaScript(css,"mouseenter",fun_zdarz);
Common.ZdarzeniaJavaScript(css,"mouseleave",fun_zdarz);
}
};
/*Koniec dodatkowych zdarzeń*/
/*Uruchamianie dodatkowych zdarzeń*/
$(function(){
/*Funkcje zdarzeń*/
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY',true);
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY',true);
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY',false);
});
/*Koniec uruchamiania dodatkowych zdarzeń*/
/*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/
Common.StronaStart=function(){
var elements=$('#mw-content-text .mw-parser-output').find('.strona_start .strona .ciało_zawartości > .menu > .menu_boks');
elements.parent().show();
$('#mw-content-text .mw-parser-output').find('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){
$(element).css('visibility',"hidden");
$(element).attr('mw-menu-boks',"false");
});
$('#mw-content-text .mw-parser-output').find('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){
var czy_visible=$(element).css('visibility');
$(element).css('visibility',"visible");
$(element).attr('mw-menu-boks',"true");
var str=$(element).parents('.strona_prawa, .strona_lewa').first();
str.css('position','relative');
str.addClass('strona_start-nawigacja_spis');
str.removeClass('strona_start-nawigacja_boksy');
if(czy_visible=="hidden"){
$(Common.ScrollBarOverflow);
$(Common.StickyXY);
}
});
$('#mw-content-text .mw-parser-output').find('.strona_start').find('.strona .ciało_zawartości > .menu > .menu_boks').children('.spis_treści, .boksy').each(function(i,element){
if($(element).hasClass('boksy')) $(element).attr('mw-menu-boks',"true");
if($(element).hasClass('spis_treści')) $(element).attr('mw-menu-boks',"false");
});
Common.StronaStartZdarzeniePrzycisku=function(){
var id=this;
$(id).parents('#mw-content-text .mw-parser-output .strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){
var menu_boks_zmienna=$(element).attr('mw-menu-boks');
menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false");
if(menu_boks_zmienna=="false"){
$(element).css('display',"block");
$(element).attr('mw-menu-boks','true');
}else if(menu_boks_zmienna=="true"){
$(element).css('display',"none");
$(element).attr('mw-menu-boks','false');
}
});
$(id).parents('#mw-content-text .mw-parser-output .strona_start').first().find('.strona_lewa, .strona_prawa').children('.nawigacja_boksy, .nawigacja_spis').each(function(i,element){
var menu_boks_zmienna=$(element).attr('mw-menu-boks');
menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false");
if(menu_boks_zmienna=="false"){
$(element).css('visibility',"visible");
$(element).attr('mw-menu-boks',"true");
var str=$(element).parents('.strona_prawa, .strona_lewa').first();
if($(element).hasClass('nawigacja_boksy')){
str.css('position','static');
str.addClass('strona_start-nawigacja_boksy');
str.removeClass('strona_start-nawigacja_spis');
$(Common.ScrollBarOverflow);
$(Common.OptimalXY);
}else if($(element).hasClass('nawigacja_spis')){
str.css('position','relative');
str.addClass('strona_start-nawigacja_spis');
str.removeClass('strona_start-nawigacja_boksy');
$(Common.ScrollBarOverflow);
$(Common.StickyXY);
}
}else if(menu_boks_zmienna=="true"){
$(element).css('visibility',"hidden");
$(element).attr('mw-menu-boks',"false");
}
});
}
if(Common.StronaStartZdarzeniePrzycisku)Common.ZdarzeniaJavaScript(elements,'click','StronaStartZdarzeniePrzycisku');
}
$(Common.StronaStart);
})(Common_zmienna_z_MediaWiki_Wikibooks,Common);
2jf1ea1kr6n2l49pjybbb6emk8l1ovj
437942
437941
2022-08-17T04:18:27Z
Persino
2851
javascript
text/javascript
mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true );
/**/
/* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony.
*/
/*
* Zmienna Common.pageInfo, jego elementy, instrukcja obsługi:
* Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber)
* Common.pageInfo.name pełna nazwa strony
* Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash
* Common.pageInfo.book tytuł książki
* Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get"
* Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL
*/
/*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/
var Common_zmienna_z_MediaWiki_Wikibooks=this['Common'];
/*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/
var Common=new Array();
/*Funkcja, by nie było przecieków pamięci*/
(function(Common_zmienna_z_MediaWiki_Wikibooks,Common){
/*Funkcja zwraca zmienną Common ze strony MediaWiki:Common.js*/
Common.MediaWikiCommon=function(){return (Common.IsUserCommon()?Common_zmienna_z_MediaWiki_Wikibooks:Common);}
/*Funkcja zwraca tablicę Common użytkownika, jeżeli taką posiada, w przeciwnym wypadku zwraca undefined*/
Common.UserCommon=function(){return (Common.IsUserCommon()?Common:undefined);}
/*Funkcja zwraca Common z tej strony*/
Common.NoweCommon=function(){return Common;}
/*Funkcja zwraca Common ze strony MediaWiki:Common.js, jeżeli użytkownik posiada własne Common w jego pliku Common, w przeciwnym wypadku zwraca undefined*/
Common.StareCommon=function(){return Common_zmienna_z_MediaWiki_Wikibooks;}
/*Sprawdza, czy użytkownik ma własną zmienną Common*/
Common.IsUserCommon=function(){return ((Common_zmienna_z_MediaWiki_Wikibooks)?true:false);};
// Frame Busting
Common.LokowanieTopSelf=function(){
if (top != self) top.location.href = self.location.href;
};
/*Uruchamianie funkcji Common.LokowanieTopSelf*/
$(Common.LokowanieTopSelf);
/*Funkcja zdarzeń odrejestrowania i rejestrowania*/
Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen,tylko_odrejestruj){
/*
css - adres html obiektu,
zdarzenie - zdarzenie jak click,
funkcja_zdarzen - nazwa funkcji zdarzeń w starej przestrzeni Common lub nowej, jak StickyXY,
tylko_odrejestruj - czy tylko zdarzenie ma odrejestrować w starej przestrzeni Common.
*/
if((css)&&(zdarzenie)&&(funkcja_zdarzen)){
/*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/
if((Common_zmienna_z_MediaWiki_Wikibooks)&&(Common_zmienna_z_MediaWiki_Wikibooks[funkcja_zdarzen])){
$(css).off(zdarzenie,Common_zmienna_z_MediaWiki_Wikibooks[funkcja_zdarzen]);
}
if((!tylko_odrejestruj)&&(Common)&&(Common[funkcja_zdarzen])){
/*Rejestrowanie zdarzeń, ale z tej strony .js*/
$(css).on(zdarzenie, Common[funkcja_zdarzen]);
}
}
}
/*Funkcje w przestrzeni nazw Common*/
Common.Naglowek=function(){
/* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */
var hideAll = document.getElementById('mójNagłówekUkryj');
var noFooter = false;
var footers = 0;
var tags = document.getElementsByTagName('div');
for (var i = 0; i < tags.length; i++) {
var el=tags[i].getAttribute("id");
if (el=='mojaStopka')
footers++;
else if (hideAll && (el=='mójNagłówek')) {
tags[i].innerHTML="";
noFooter=true;
}
}
if (noFooter) return;
var footer = document.getElementById('mojaStopka');
if ((footer !== null) && (footers==1)) {
var bodyContent = document.getElementById('bodyContent');
if (bodyContent !== null) {
var s0=document.getElementById('mojaStopka0');
var s1=document.getElementById('mojaStopka1');
if ((s1 !== null) ||
((s0 === null) && (bodyContent.innerHTML.length>8000))){
var strona=document.getElementById('strona');
if(strona!==null){
strona.appendChild(footer);
}else{
var catlinks=document.getElementById('catlinks');
if(catlinks !== null){
bodyContent.insertBefore(footer,catlinks);
}else{
bodyContent.appendChild(footer);
}
}
}
}
}
/* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */
};
$(Common.Naglowek);
/*Informacje o danej stronie*/
Common.PageInfoInit=function(){
var _g = /_/g;
this.name = mw.config.get('wgPageName').replace(/_/g, ' ');
this.namespace = mw.config.get('wgNamespaceNumber');
var i = this.name.search(/\/[^\/]*$/g);
this.title = this.name.slice(i + 1);
this.book = this.name.replace(/\/.*/g, "");
if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) {
re = /\&diff=/g;
this.diff = re.test(document.URL);
re = /\&action=[^\&]*/g;
this.action = document.URL.match(re);
if ( this.action === null ) {
this.action = 'get';
} else {
this.action = this.action[0].slice(8, this.action[0].length);
}
} else {
this.diff = null;
this.action = 'get';
}
}
Common.pageInfo = new Common.PageInfoInit();
/** Collapsible tables *********************************************************
*
* Description: Allows tables to be collapsed, showing only the header. See
* [[en:Wikipedia:NavFrame]].
* Maintainers: [[User:R. Koot]]
*/
Common.autoCollapse = 2;
Common.collapseCaption = "ukryj";
Common.expandCaption = "pokaż";
Common.collapseTable=function( tableIndex )
{
var Button = document.getElementById( "collapseButton" + tableIndex );
var Table = document.getElementById( "collapsibleTable" + tableIndex );
if ( !Table || !Button ) {
return false;
}
var Rows = Table.rows;
if ( Button.firstChild.data == Common.collapseCaption ) {
for ( var i = 1; i < Rows.length; i++ ) {
Rows[i].style.display = "none";
}
Button.firstChild.data = Common.expandCaption;
} else {
for ( var i = 1; i < Rows.length; i++ ) {
Rows[i].style.display = Rows[0].style.display;
}
Button.firstChild.data = Common.collapseCaption;
}
}
Common.createCollapseButtons=function()
{
var tableIndex = 0;
var NavigationBoxes = new Object();
var Tables = document.getElementsByTagName( "table" );
for ( var i = 0; i < Tables.length; i++ ) {
if ( $(Tables[i]).hasClass( "collapsible" ) ) {
/* only add button and increment count if there is a header row to work with */
var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0];
if (!HeaderRow) continue;
var Header = HeaderRow.getElementsByTagName( "th" )[0];
if (!Header) continue;
NavigationBoxes[ tableIndex ] = Tables[i];
Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex );
var Button = document.createElement( "span" );
var ButtonLink = document.createElement( "a" );
var ButtonText = document.createTextNode( Common.collapseCaption );
Button.style.styleFloat = "right";
Button.style.cssFloat = "right";
Button.style.fontWeight = "normal";
Button.style.textAlign = "right";
Button.style.width = "6em";
ButtonLink.style.color = Header.style.color;
ButtonLink.setAttribute( "id", "collapseButton" + tableIndex );
ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" );
ButtonLink.appendChild( ButtonText );
Button.appendChild( document.createTextNode( "[" ) );
Button.appendChild( ButtonLink );
Button.appendChild( document.createTextNode( "]" ) );
$(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){
$(element).remove();
});
Header.insertBefore( Button, Header.childNodes[0]);
tableIndex++;
}
}
for ( var i = 0; i < tableIndex; i++ ) {
if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) {
Common.collapseTable( i );
}
else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) {
var element = NavigationBoxes[i];
while (element = element.parentNode) {
if ( $(element).hasClass( "outercollapse" ) ) {
Common.collapseTable ( i );
break;
}
}
}
}
}
$(Common.createCollapseButtons );
/** Dynamic Navigation Bars (experimental) *************************************
*
* Description: See [[Wikipedia:NavFrame]].
* Maintainers: UNMAINTAINED
*/
// set up the words in your language
Common.NavigationBarHide = '[' + Common.collapseCaption + ']';
Common.NavigationBarShow = '[' + Common.expandCaption + ']';
// shows and hides content and picture (if available) of navigation bars
// Parameters:
// indexNavigationBar: the index of navigation bar to be toggled
Common.toggleNavigationBar=function(indexNavigationBar)
{
var NavToggle = document.getElementById("NavToggle" + indexNavigationBar);
var NavFrame = document.getElementById("NavFrame" + indexNavigationBar);
if (!NavFrame || !NavToggle) {
return false;
}
// if shown now
if (NavToggle.firstChild.data == Common.NavigationBarHide) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) ) {
NavChild.style.display = 'none';
}
if ( $(NavChild).hasClass( 'NavContent') ) {
NavChild.style.display = 'none';
}
}
NavToggle.firstChild.data = Common.NavigationBarShow;
// if hidden now
} else if (NavToggle.firstChild.data == Common.NavigationBarShow) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ($(NavChild).hasClass( 'NavPic')) {
NavChild.style.display = 'block';
}
if ($(NavChild).hasClass( 'NavContent')) {
NavChild.style.display = 'block';
}
}
NavToggle.firstChild.data = Common.NavigationBarHide;
}
}
// adds show/hide-button to navigation bars
Common.createNavigationBarToggleButton=function()
{
var indexNavigationBar = 0;
// iterate over all < div >-elements
var divs = document.getElementsByTagName("div");
for (var i = 0; NavFrame = divs[i]; i++) {
// if found a navigation bar
if ($(NavFrame).hasClass( "NavFrame")) {
indexNavigationBar++;
var NavToggle = document.createElement("a");
NavToggle.className = 'NavToggle';
NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar);
NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');');
var isCollapsed = $(NavFrame).hasClass( "collapsed" );
/*
* Check if any children are already hidden. This loop is here for backwards compatibility:
* the old way of making NavFrames start out collapsed was to manually add style="display:none"
* to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make
* the content visible without JavaScript support), the new recommended way is to add the class
* "collapsed" to the NavFrame itself, just like with collapsible tables.
*/
for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) {
if ( NavChild.style.display == 'none' ) {
isCollapsed = true;
}
}
}
if (isCollapsed) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) {
NavChild.style.display = 'none';
}
}
}
var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide);
NavToggle.appendChild(NavToggleText);
// Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked)
for(var j=0; j < NavFrame.childNodes.length; j++) {
if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) {
$(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){
$(element).remove();
});
NavFrame.childNodes[j].appendChild(NavToggle);
}
}
NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar);
}
}
}
$(Common.createNavigationBarToggleButton );
// Wyszukiwanie Google na stronach podręczników
Common.googleSearchInitialized = false;
Common.insertGoogleSearch=function() {
if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) {
return;
}
Common.googleSearchInitialized = true;
var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE";
var ul = jQuery('#p-tb ul')[0];
if (!ul) {
return;
}
var link = document.createElement('a');
var book = Common.pageInfo.book;
if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) {
google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22"
}
link.href = google.replace(/PAGE/g, encodeURIComponent(book));
link.appendChild(document.createTextNode("Szukaj w podręczniku"));
var li = document.createElement('li');
li.id = "google-trick-search";
li.appendChild(link);
$(ul).children('li#google-trick-search').each(function(i,element){
$(element).remove();
});
ul.insertBefore(li, ul.firstChild);
}
$(Common.insertGoogleSearch);
/*Funkcja do liczenia szerokościm mapska przewijania w pionowego, wtedy x_box_right=="y", lub poziomego, wtedy inny parametr inny niż dla paska pionowego*/
Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){
var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>');
$('body').append(div);
var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")]();
div.css('overflow-'+(x_box_right||"y"), 'scroll');
var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")]();
$(div).remove();
return (w1 - w2);
}
/*Funkcje do obsługi pasków przewijania*/
Common.ScrollBarOverflow=function(){
$('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){
/*start overflow*/
var comp=window.getComputedStyle(element_g, null);
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var overflow=comp.getPropertyValue("overflow");
var overflow_x=$(element_g).hasClass('mw-overflow-x');
if(overflow_x){
var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
if((overflowX)&&(overflowX=="auto")){
element_g.classList.remove("mw-scrollbar-overflow-x");
const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false
if(hasHorizontalScrollbar){
element_g.classList.add("mw-scrollbar-overflow-x");
}
}
}
var overflow_y=$(element_g).hasClass('mw-overflow-y');
if(overflow_y){
var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflowY)&&(overflowY=="auto")){
element_g.classList.remove("mw-scrollbar-overflow-y");
const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false
if(hasVerticalScrollbar){
element_g.classList.add("mw-scrollbar-overflow-y");
}
}
}
/*koniec overflow*/
});
}
/*Uruchamianie funkcji Common.ScrollBarOverflow*/
$(Common.ScrollBarOverflow);
/*Uruchamianie zdarzeń dla elementu Window, używając funkcji Common.ScrollBarOverflow*/
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow');
Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow');
});
/*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/
Common.StickyXY=function(){
$('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){
var comp=window.getComputedStyle(element_g, null);
function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){
var pozycje_paskow=new Array();
$(element_g).find('*').each(function(i,element){
var comp=window.getComputedStyle(element, null);
var overflow=comp.getPropertyValue("overflow");
var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){
pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft));
}
});
var height_sticky=0;
$('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){
var rect_sticky=el.getBoundingClientRect();
height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]);
});
var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom);
if(StickyXYTopOld===undefined){
var topold_war=parseFloat(element_g.style[top]);
$(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0));
}
if(StickyXYBottomOld===undefined){
var bottomold_war=parseFloat(element_g.style[bottom]);
$(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0));
}
var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5;
var margintop=parseFloat(comp.getPropertyValue("margin-"+top));
margintop=((!isNaN(margintop))?margintop:0);
var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom));
marginbottom=((!isNaN(marginbottom))?marginbottom:0);
var przodek_height=undefined;
element_g.style[height]="auto";
element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[top]="auto";
element_g.style[bottom]="auto";
if(width_box!=null){
element_g.style[width_box]="auto";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[left_box]="auto";
element_g.style[right_box]="0";
$(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){
element.style[width_box]="auto";
element.classList.remove('mw-scrollbar-overflow-x');
element.classList.remove('mw-scrollbar-overflow-y');
});
}
/**/
var parents_node_fun=$(element_g).parents('.mw-parent-node').first();
if((parents_node_fun==null)||(parents_node_fun.length==0)){return;}
var width_rodzic=null;
var rodzic_element=undefined;
var comp_rodz;
parents_node_fun.each(function(i,element){
comp_rodz=window.getComputedStyle(element,null);
przodek_height=parseFloat(comp_rodz.getPropertyValue([height]));
width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null;
rodzic_element=element;
});
var height_box_real=parseFloat(comp.getPropertyValue(height));
var rect_dziecko=element_g.getBoundingClientRect();
var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))];
var rect_rodzic;
parents_node_fun.each(function(i,element){
rect_rodzic=element.getBoundingClientRect();
});
var top_ab=rect_rodzic[top];
var bottom_ab=(wys-rect_rodzic[bottom]);
var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop);
element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px";
element_g.style[height]="100%";
var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)));
element_g.style[top]=top_obj+"px";
element_g.style[bottom]="auto";
if(width_box!=null){
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
rodzic_element.style.position="static";
rodzic_element.style.overflow="hidden";
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
var rect_dziecko=element_g.getBoundingClientRect();
if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){
if(width_box=="width"){
element_g.classList.remove('mw-scrollbar-overflow-x');
}else{
element_g.classList.remove('mw-scrollbar-overflow-y');
}
if(rect_dziecko[width_box]>width_rodzic){
if(width_box=="width"){
element_g.classList.add('mw-scrollbar-overflow-x');
}else{
element_g.classList.add('mw-scrollbar-overflow-y');
}
}
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box));
margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box));
var dlugosc=(width_rodzic-margin_all);
dlugosc=((dlugosc>=0)?dlugosc:0);
element_g.style.whiteSpace="nowrap";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px";
element_g.style[width_box]=width_box_real+"px";
Common.ScrollBarOverflow();
$(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){
var comp_element=window.getComputedStyle(element, null)
element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat (comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px";
element.classList.remove('mw-scrollbar-overflow-'+x_box);
});
element_g.style.whiteSpace="normal";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[width_box]="auto";
var rect_dziecko=element_g.getBoundingClientRect();
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px";
element_g.style[width_box]=width_box_real+"px";
element_g.style[left_box]="0";
element_g.style[right_box]="auto";
rodzic_element.style.position="relative";
}else{
element_g.style.whiteSpace="nowrap";
var szerokosc_box=rect_dziecko[width_box];
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px";
element_g.style[width_box]=(szerokosc_box)+"px";
Common.ScrollBarOverflow();
$(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){
var comp_element=window.getComputedStyle(element, null);
element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat (comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px";
element.classList.remove('mw-scrollbar-overflow-'+x_box);
});
element_g.style.whiteSpace="normal";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[width_box]="auto";
var rect_dziecko=element_g.getBoundingClientRect();
var szerokosc_box=rect_dziecko[width_box];
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px";
element_g.style[width_box]=(szerokosc_box)+"px";
var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box));
if(parseInt(szerokosc)>parseInt(width_rodzic)){
element_g.style[right_box]="0";
element_g.style[left_box]="auto";
rodzic_element.style.overflow="visible";
}else{
element_g.style[left_box]="0";
element_g.style[right_box]="auto";
rodzic_element.style.position="relative";
}
}
}
element_g.style[height]="auto";
element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px";
Common.ScrollBarOverflow();
for(var i in pozycje_paskow){
pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1];
pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2];
}
}
element_g.classList.add('mw-sticky-js');
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var visibility=comp.getPropertyValue("visibility");
if(visibility=="hidden"){return;}
var position=comp.getPropertyValue("position");
if(position!="absolute"){return;}
var sticky_x=$(element_g).hasClass('mw-sticky-x');
var sticky_y=$(element_g).hasClass('mw-sticky-y');
if((sticky_x)&&(!sticky_y)){
var str=$(element_g).parents('.strona_górna, .strona_dolna').first();
if(str.hasClass('strona_dolna')){
FunStickyXY("width","left","right","height","top","bottom","y","x");
}else if(str.hasClass('strona_górna')){
FunStickyXY("width","left","right","height","bottom","top","y","x");
}
}else if((!sticky_x)&&(sticky_y)){
var str=$(element_g).parents('.strona_prawa, .strona_lewa').first();
if(str.hasClass('strona_prawa')){
FunStickyXY("height","top","bottom","width","left","right","x","y");
}else if(str.hasClass('strona_lewa')){
FunStickyXY("height","top","bottom","width","right","left","x","y");
}
}else if((sticky_x)&&(sticky_y)){
FunStickyXY("width","left","right",null);
FunStickyXY("height","top","bottom",null);
}
});
}
/*Uruchamianie funkcji Common StickyXY*/
$(Common.StickyXY);
/*Uruchamianie zdarzeń dla elementu Window, używając funkcji Common.StickyXY*/
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY');
Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY');
});
/*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/
Common.OptimalXY=function(){
$('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){
var comp=window.getComputedStyle(element_g, null);
function FunOptimalXY(width,left,right){
var pozycje_paskow=new Array();
$(element_g).find('*').each(function(i,element){
var comp=window.getComputedStyle(element, null);
var overflow=comp.getPropertyValue("overflow");
var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){
pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft));
}
});
var width_rodzic=null;
var rodzic_node;
var comp_rodz;
$(element_g).parents('.mw-parent-node').first().each(function(i,element){
comp_rodz=window.getComputedStyle(element,null);
width_rodzic=parseFloat(comp_rodz.getPropertyValue([width]));
rodzic_node=element;
});
if((width_rodzic!=null)&&(!isNaN(width_rodzic))){
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
var width_box_real=parseFloat(comp.getPropertyValue(width));
var rect_dziecko=element_g.getBoundingClientRect();
if(width=="width"){
element_g.classList.remove('mw-scrollbar-overflow-x');
}else{
element_g.classList.remove('mw-scrollbar-overflow-y');
}
if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){
var rect_dziecko=element_g.getBoundingClientRect();
if(rect_dziecko[width]>width_rodzic){
if(width=="width"){
element_g.classList.add('mw-scrollbar-overflow-x');
}else{
element_g.classList.add('mw-scrollbar-overflow-y');
}
}
var width_box_real=parseFloat(comp.getPropertyValue(width));
var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right));
margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right));
var dlugosc=(width_rodzic-margin_all);
dlugosc=((dlugosc>=0)?dlugosc:0);
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px";
}else{
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px";
}
var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first();
if(!str.hasClass('strona_start-nawigacja_boksy')){
var rect_dziecko=element_g.getBoundingClientRect();
var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right));
if(parseInt(szerokosc)>parseInt(width_rodzic)){
str.css('position','static');
}else{
str.css('position','relative');
}
}
}
for(var i in pozycje_paskow){
pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1];
pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2];
}
};
element_g.classList.add('mw-optimal-js');
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var visibility=comp.getPropertyValue("visibility");
if(visibility=="hidden"){return;}
var position=comp.getPropertyValue("position");
if(position!="absolute"){return;}
var optimal_x=$(element_g).hasClass('mw-optimal-x');
var optimal_y=$(element_g).hasClass('mw-optimal-y');
if(optimal_x){
FunOptimalXY("width","left","right");
}
if(optimal_y){
FunOptimalXY("height","top","bottom");
}
});
}
/*Uruchamianie funkcji Common.OptimalXY*/
$(Common.OptimalXY);
/*Uruchamianie zdarzeń dla elementu Window, używając funkcji OptimalXY*/
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY');
Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY');
});
/*Definicja dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz stylów CSS*/
Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){
$(obiekt).each(function(i,element_f){
var id=element_f.getAttribute("id")
if((id)&&(id==(id_tabeli_lub_ramki+i))){
var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i);
if((collapsebutton!==null)&&(collapsebutton.length>0)){
$('#mw-content-text .mw-parser-output').find('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){
var href=element_g.getAttribute('href');
if((href!=null)&&(href!="")){
var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*";
var re_frame = new RegExp(col,'g');
var re_javascript=new RegExp("^[\\s;]*javascript:");
if((re_javascript.test(href))&&(re_frame.test(href))){
var href=element_g.getAttribute('href');
if((href!==null)&&(href!="")){
function DodajSkryptJavaScript(fun){
var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g');
var href_nowe=element_g.getAttribute('href');
if(!re.test(href_nowe)){
element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()");
}
}
DodajSkryptJavaScript('Common.ScrollBarOverflow');
DodajSkryptJavaScript('Common.StickyXY');
DodajSkryptJavaScript('Common.OptimalXY');
}
}
}
});
}
}
});
}
/*Koniec dodatkowych funkcji*/
/*Uruchamianie dodatkowych funkcji dla tabel TABLE i ramek DIV nawigacyjnych.*/
$(function(){
/*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/
Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable');
/*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/
Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar');
});
/*Koniec uruchamiania*/
/*Definicje dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz,z_mouse){
/*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/
var tab_transition={'start':true,'run':true,'cancel':true,'end':true};
var tab_przegladarki={'':true,'webkit':true,'moz':true,'o':true};
for(var a in tab_transition){
for(var b in tab_przegladarki){
var zdarzenie=b+'transition'+a;
Common.ZdarzeniaJavaScript(css,zdarzenie,fun_zdarz);
}
}
if(z_mouse){
Common.ZdarzeniaJavaScript(css,"mouseenter",fun_zdarz);
Common.ZdarzeniaJavaScript(css,"mouseleave",fun_zdarz);
}
};
/*Koniec dodatkowych zdarzeń*/
/*Uruchamianie dodatkowych zdarzeń*/
$(function(){
/*Funkcje zdarzeń*/
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY',true);
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY',true);
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY',false);
});
/*Koniec uruchamiania dodatkowych zdarzeń*/
/*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/
Common.StronaStart=function(){
var elements=$('#mw-content-text .mw-parser-output').find('.strona_start .strona .ciało_zawartości > .menu > .menu_boks');
elements.parent().show();
$('#mw-content-text .mw-parser-output').find('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){
$(element).css('visibility',"hidden");
$(element).attr('mw-menu-boks',"false");
});
$('#mw-content-text .mw-parser-output').find('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){
var czy_visible=$(element).css('visibility');
$(element).css('visibility',"visible");
$(element).attr('mw-menu-boks',"true");
var str=$(element).parents('.strona_prawa, .strona_lewa').first();
str.css('position','relative');
str.addClass('strona_start-nawigacja_spis');
str.removeClass('strona_start-nawigacja_boksy');
if(czy_visible=="hidden"){
$(Common.ScrollBarOverflow);
$(Common.StickyXY);
}
});
$('#mw-content-text .mw-parser-output').find('.strona_start').find('.strona .ciało_zawartości > .menu > .menu_boks').children('.spis_treści, .boksy').each(function(i,element){
if($(element).hasClass('boksy')) $(element).attr('mw-menu-boks',"true");else if($(element).hasClass('spis_treści')) $(element).attr('mw-menu-boks',"false");
});
Common.StronaStartZdarzeniePrzycisku=function(){
var id=this;
$(id).parents('#mw-content-text .mw-parser-output .strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){
var menu_boks_zmienna=$(element).attr('mw-menu-boks');
menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false");
if(menu_boks_zmienna=="false"){
$(element).css('display',"block");
$(element).attr('mw-menu-boks','true');
}else if(menu_boks_zmienna=="true"){
$(element).css('display',"none");
$(element).attr('mw-menu-boks','false');
}
});
$(id).parents('#mw-content-text .mw-parser-output .strona_start').first().find('.strona_lewa, .strona_prawa').children('.nawigacja_boksy, .nawigacja_spis').each(function(i,element){
var menu_boks_zmienna=$(element).attr('mw-menu-boks');
menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false");
if(menu_boks_zmienna=="false"){
$(element).css('visibility',"visible");
$(element).attr('mw-menu-boks',"true");
var str=$(element).parents('.strona_prawa, .strona_lewa').first();
if($(element).hasClass('nawigacja_boksy')){
str.css('position','static');
str.addClass('strona_start-nawigacja_boksy');
str.removeClass('strona_start-nawigacja_spis');
$(Common.ScrollBarOverflow);
$(Common.OptimalXY);
}else if($(element).hasClass('nawigacja_spis')){
str.css('position','relative');
str.addClass('strona_start-nawigacja_spis');
str.removeClass('strona_start-nawigacja_boksy');
$(Common.ScrollBarOverflow);
$(Common.StickyXY);
}
}else if(menu_boks_zmienna=="true"){
$(element).css('visibility',"hidden");
$(element).attr('mw-menu-boks',"false");
}
});
}
if(Common.StronaStartZdarzeniePrzycisku)Common.ZdarzeniaJavaScript(elements,'click','StronaStartZdarzeniePrzycisku');
}
$(Common.StronaStart);
})(Common_zmienna_z_MediaWiki_Wikibooks,Common);
aten4kup9ip0ssifof0edqgge5id3k4
437958
437942
2022-08-17T09:04:54Z
Persino
2851
javascript
text/javascript
mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true );
/**/
/* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony.
*/
/*
* Zmienna Common.pageInfo, jego elementy, instrukcja obsługi:
* Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber)
* Common.pageInfo.name pełna nazwa strony
* Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash
* Common.pageInfo.book tytuł książki
* Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get"
* Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL
*/
/*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/
var Common_zmienna_z_MediaWiki_Wikibooks=this['Common'];
/*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/
var Common=new Array();
/*Funkcja, by nie było przecieków pamięci*/
(function(Common_zmienna_z_MediaWiki_Wikibooks,Common){
/*Sprawdza, czy użytkownik ma własną zmienną Common*/
Common.IsUserCommon=function(){return ((Common_zmienna_z_MediaWiki_Wikibooks)?true:false);};
/*Funkcja zwraca zmienną Common ze strony MediaWiki:Common.js*/
Common.MediaWikiCommon=function(){return (Common.IsUserCommon()?Common_zmienna_z_MediaWiki_Wikibooks:Common);}
/*Funkcja zwraca tablicę Common użytkownika, jeżeli taką posiada, w przeciwnym wypadku zwraca undefined*/
Common.UserCommon=function(){return (Common.IsUserCommon()?Common:undefined);}
/*Funkcja zwraca Common z tej strony*/
Common.NoweCommon=function(){return Common;}
/*Funkcja zwraca Common ze strony MediaWiki:Common.js, jeżeli użytkownik posiada własne Common w jego pliku Common, w przeciwnym wypadku zwraca undefined*/
Common.StareCommon=function(){return Common_zmienna_z_MediaWiki_Wikibooks;}
// Frame Busting
Common.LokowanieTopSelf=function(){
if (top != self) top.location.href = self.location.href;
};
/*Uruchamianie funkcji Common.LokowanieTopSelf*/
$(Common.LokowanieTopSelf);
/*Funkcja zdarzeń odrejestrowania i rejestrowania*/
Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen,tylko_odrejestruj){
/*
css - adres html obiektu,
zdarzenie - zdarzenie jak click,
funkcja_zdarzen - nazwa funkcji zdarzeń w starej przestrzeni Common lub nowej, jak StickyXY,
tylko_odrejestruj - czy tylko zdarzenie ma odrejestrować w starej przestrzeni Common.
*/
if((css)&&(zdarzenie)&&(funkcja_zdarzen)){
/*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/
if((Common_zmienna_z_MediaWiki_Wikibooks)&&(Common_zmienna_z_MediaWiki_Wikibooks[funkcja_zdarzen])){
$(css).off(zdarzenie,Common_zmienna_z_MediaWiki_Wikibooks[funkcja_zdarzen]);
}
if((!tylko_odrejestruj)&&(Common)&&(Common[funkcja_zdarzen])){
/*Rejestrowanie zdarzeń, ale z tej strony .js*/
$(css).on(zdarzenie, Common[funkcja_zdarzen]);
}
}
}
/*Funkcje w przestrzeni nazw Common*/
Common.Naglowek=function(){
/* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */
var hideAll = document.getElementById('mójNagłówekUkryj');
var noFooter = false;
var footers = 0;
var tags = document.getElementsByTagName('div');
for (var i = 0; i < tags.length; i++) {
var el=tags[i].getAttribute("id");
if (el=='mojaStopka')
footers++;
else if (hideAll && (el=='mójNagłówek')) {
tags[i].innerHTML="";
noFooter=true;
}
}
if (noFooter) return;
var footer = document.getElementById('mojaStopka');
if ((footer !== null) && (footers==1)) {
var bodyContent = document.getElementById('bodyContent');
if (bodyContent !== null) {
var s0=document.getElementById('mojaStopka0');
var s1=document.getElementById('mojaStopka1');
if ((s1 !== null) ||
((s0 === null) && (bodyContent.innerHTML.length>8000))){
var strona=document.getElementById('strona');
if(strona!==null){
strona.appendChild(footer);
}else{
var catlinks=document.getElementById('catlinks');
if(catlinks !== null){
bodyContent.insertBefore(footer,catlinks);
}else{
bodyContent.appendChild(footer);
}
}
}
}
}
/* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */
};
$(Common.Naglowek);
/*Informacje o danej stronie*/
Common.PageInfoInit=function(){
var _g = /_/g;
this.name = mw.config.get('wgPageName').replace(/_/g, ' ');
this.namespace = mw.config.get('wgNamespaceNumber');
var i = this.name.search(/\/[^\/]*$/g);
this.title = this.name.slice(i + 1);
this.book = this.name.replace(/\/.*/g, "");
if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) {
re = /\&diff=/g;
this.diff = re.test(document.URL);
re = /\&action=[^\&]*/g;
this.action = document.URL.match(re);
if ( this.action === null ) {
this.action = 'get';
} else {
this.action = this.action[0].slice(8, this.action[0].length);
}
} else {
this.diff = null;
this.action = 'get';
}
}
Common.pageInfo = new Common.PageInfoInit();
/** Collapsible tables *********************************************************
*
* Description: Allows tables to be collapsed, showing only the header. See
* [[en:Wikipedia:NavFrame]].
* Maintainers: [[User:R. Koot]]
*/
Common.autoCollapse = 2;
Common.collapseCaption = "ukryj";
Common.expandCaption = "pokaż";
Common.collapseTable=function( tableIndex )
{
var Button = document.getElementById( "collapseButton" + tableIndex );
var Table = document.getElementById( "collapsibleTable" + tableIndex );
if ( !Table || !Button ) {
return false;
}
var Rows = Table.rows;
if ( Button.firstChild.data == Common.collapseCaption ) {
for ( var i = 1; i < Rows.length; i++ ) {
Rows[i].style.display = "none";
}
Button.firstChild.data = Common.expandCaption;
} else {
for ( var i = 1; i < Rows.length; i++ ) {
Rows[i].style.display = Rows[0].style.display;
}
Button.firstChild.data = Common.collapseCaption;
}
}
Common.createCollapseButtons=function()
{
var tableIndex = 0;
var NavigationBoxes = new Object();
var Tables = document.getElementsByTagName( "table" );
for ( var i = 0; i < Tables.length; i++ ) {
if ( $(Tables[i]).hasClass( "collapsible" ) ) {
/* only add button and increment count if there is a header row to work with */
var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0];
if (!HeaderRow) continue;
var Header = HeaderRow.getElementsByTagName( "th" )[0];
if (!Header) continue;
NavigationBoxes[ tableIndex ] = Tables[i];
Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex );
var Button = document.createElement( "span" );
var ButtonLink = document.createElement( "a" );
var ButtonText = document.createTextNode( Common.collapseCaption );
Button.style.styleFloat = "right";
Button.style.cssFloat = "right";
Button.style.fontWeight = "normal";
Button.style.textAlign = "right";
Button.style.width = "6em";
ButtonLink.style.color = Header.style.color;
ButtonLink.setAttribute( "id", "collapseButton" + tableIndex );
ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" );
ButtonLink.appendChild( ButtonText );
Button.appendChild( document.createTextNode( "[" ) );
Button.appendChild( ButtonLink );
Button.appendChild( document.createTextNode( "]" ) );
$(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){
$(element).remove();
});
Header.insertBefore( Button, Header.childNodes[0]);
tableIndex++;
}
}
for ( var i = 0; i < tableIndex; i++ ) {
if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) {
Common.collapseTable( i );
}
else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) {
var element = NavigationBoxes[i];
while (element = element.parentNode) {
if ( $(element).hasClass( "outercollapse" ) ) {
Common.collapseTable ( i );
break;
}
}
}
}
}
$(Common.createCollapseButtons );
/** Dynamic Navigation Bars (experimental) *************************************
*
* Description: See [[Wikipedia:NavFrame]].
* Maintainers: UNMAINTAINED
*/
// set up the words in your language
Common.NavigationBarHide = '[' + Common.collapseCaption + ']';
Common.NavigationBarShow = '[' + Common.expandCaption + ']';
// shows and hides content and picture (if available) of navigation bars
// Parameters:
// indexNavigationBar: the index of navigation bar to be toggled
Common.toggleNavigationBar=function(indexNavigationBar)
{
var NavToggle = document.getElementById("NavToggle" + indexNavigationBar);
var NavFrame = document.getElementById("NavFrame" + indexNavigationBar);
if (!NavFrame || !NavToggle) {
return false;
}
// if shown now
if (NavToggle.firstChild.data == Common.NavigationBarHide) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) ) {
NavChild.style.display = 'none';
}
if ( $(NavChild).hasClass( 'NavContent') ) {
NavChild.style.display = 'none';
}
}
NavToggle.firstChild.data = Common.NavigationBarShow;
// if hidden now
} else if (NavToggle.firstChild.data == Common.NavigationBarShow) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ($(NavChild).hasClass( 'NavPic')) {
NavChild.style.display = 'block';
}
if ($(NavChild).hasClass( 'NavContent')) {
NavChild.style.display = 'block';
}
}
NavToggle.firstChild.data = Common.NavigationBarHide;
}
}
// adds show/hide-button to navigation bars
Common.createNavigationBarToggleButton=function()
{
var indexNavigationBar = 0;
// iterate over all < div >-elements
var divs = document.getElementsByTagName("div");
for (var i = 0; NavFrame = divs[i]; i++) {
// if found a navigation bar
if ($(NavFrame).hasClass( "NavFrame")) {
indexNavigationBar++;
var NavToggle = document.createElement("a");
NavToggle.className = 'NavToggle';
NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar);
NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');');
var isCollapsed = $(NavFrame).hasClass( "collapsed" );
/*
* Check if any children are already hidden. This loop is here for backwards compatibility:
* the old way of making NavFrames start out collapsed was to manually add style="display:none"
* to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make
* the content visible without JavaScript support), the new recommended way is to add the class
* "collapsed" to the NavFrame itself, just like with collapsible tables.
*/
for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) {
if ( NavChild.style.display == 'none' ) {
isCollapsed = true;
}
}
}
if (isCollapsed) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) {
NavChild.style.display = 'none';
}
}
}
var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide);
NavToggle.appendChild(NavToggleText);
// Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked)
for(var j=0; j < NavFrame.childNodes.length; j++) {
if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) {
$(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){
$(element).remove();
});
NavFrame.childNodes[j].appendChild(NavToggle);
}
}
NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar);
}
}
}
$(Common.createNavigationBarToggleButton );
// Wyszukiwanie Google na stronach podręczników
Common.googleSearchInitialized = false;
Common.insertGoogleSearch=function() {
if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) {
return;
}
Common.googleSearchInitialized = true;
var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE";
var ul = jQuery('#p-tb ul')[0];
if (!ul) {
return;
}
var link = document.createElement('a');
var book = Common.pageInfo.book;
if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) {
google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22"
}
link.href = google.replace(/PAGE/g, encodeURIComponent(book));
link.appendChild(document.createTextNode("Szukaj w podręczniku"));
var li = document.createElement('li');
li.id = "google-trick-search";
li.appendChild(link);
$(ul).children('li#google-trick-search').each(function(i,element){
$(element).remove();
});
ul.insertBefore(li, ul.firstChild);
}
$(Common.insertGoogleSearch);
/*Funkcja do liczenia szerokościm mapska przewijania w pionowego, wtedy x_box_right=="y", lub poziomego, wtedy inny parametr inny niż dla paska pionowego*/
Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){
var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>');
$('body').append(div);
var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")]();
div.css('overflow-'+(x_box_right||"y"), 'scroll');
var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")]();
$(div).remove();
return (w1 - w2);
}
/*Funkcje do obsługi pasków przewijania*/
Common.ScrollBarOverflow=function(){
$('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){
/*start overflow*/
var comp=window.getComputedStyle(element_g, null);
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var overflow=comp.getPropertyValue("overflow");
var overflow_x=$(element_g).hasClass('mw-overflow-x');
if(overflow_x){
var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
if((overflowX)&&(overflowX=="auto")){
element_g.classList.remove("mw-scrollbar-overflow-x");
const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false
if(hasHorizontalScrollbar){
element_g.classList.add("mw-scrollbar-overflow-x");
}
}
}
var overflow_y=$(element_g).hasClass('mw-overflow-y');
if(overflow_y){
var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflowY)&&(overflowY=="auto")){
element_g.classList.remove("mw-scrollbar-overflow-y");
const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false
if(hasVerticalScrollbar){
element_g.classList.add("mw-scrollbar-overflow-y");
}
}
}
/*koniec overflow*/
});
}
/*Uruchamianie funkcji Common.ScrollBarOverflow*/
$(Common.ScrollBarOverflow);
/*Uruchamianie zdarzeń dla elementu Window, używając funkcji Common.ScrollBarOverflow*/
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow');
Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow');
});
/*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/
Common.StickyXY=function(){
$('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){
var comp=window.getComputedStyle(element_g, null);
function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){
var pozycje_paskow=new Array();
$(element_g).find('*').each(function(i,element){
var comp=window.getComputedStyle(element, null);
var overflow=comp.getPropertyValue("overflow");
var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){
pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft));
}
});
var height_sticky=0;
$('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){
var rect_sticky=el.getBoundingClientRect();
height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]);
});
var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom);
if(StickyXYTopOld===undefined){
var topold_war=parseFloat(element_g.style[top]);
$(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0));
}
if(StickyXYBottomOld===undefined){
var bottomold_war=parseFloat(element_g.style[bottom]);
$(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0));
}
var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5;
var margintop=parseFloat(comp.getPropertyValue("margin-"+top));
margintop=((!isNaN(margintop))?margintop:0);
var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom));
marginbottom=((!isNaN(marginbottom))?marginbottom:0);
var przodek_height=undefined;
element_g.style[height]="auto";
element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[top]="auto";
element_g.style[bottom]="auto";
if(width_box!=null){
element_g.style[width_box]="auto";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[left_box]="auto";
element_g.style[right_box]="0";
$(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){
element.style[width_box]="auto";
element.classList.remove('mw-scrollbar-overflow-x');
element.classList.remove('mw-scrollbar-overflow-y');
});
}
/**/
var parents_node_fun=$(element_g).parents('.mw-parent-node').first();
if((parents_node_fun==null)||(parents_node_fun.length==0)){return;}
var width_rodzic=null;
var rodzic_element=undefined;
var comp_rodz;
parents_node_fun.each(function(i,element){
comp_rodz=window.getComputedStyle(element,null);
przodek_height=parseFloat(comp_rodz.getPropertyValue([height]));
width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null;
rodzic_element=element;
});
var height_box_real=parseFloat(comp.getPropertyValue(height));
var rect_dziecko=element_g.getBoundingClientRect();
var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))];
var rect_rodzic;
parents_node_fun.each(function(i,element){
rect_rodzic=element.getBoundingClientRect();
});
var top_ab=rect_rodzic[top];
var bottom_ab=(wys-rect_rodzic[bottom]);
var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop);
element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px";
element_g.style[height]="100%";
var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)));
element_g.style[top]=top_obj+"px";
element_g.style[bottom]="auto";
if(width_box!=null){
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
rodzic_element.style.position="static";
rodzic_element.style.overflow="hidden";
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
var rect_dziecko=element_g.getBoundingClientRect();
if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){
if(width_box=="width"){
element_g.classList.remove('mw-scrollbar-overflow-x');
}else{
element_g.classList.remove('mw-scrollbar-overflow-y');
}
if(rect_dziecko[width_box]>width_rodzic){
if(width_box=="width"){
element_g.classList.add('mw-scrollbar-overflow-x');
}else{
element_g.classList.add('mw-scrollbar-overflow-y');
}
}
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box));
margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box));
var dlugosc=(width_rodzic-margin_all);
dlugosc=((dlugosc>=0)?dlugosc:0);
element_g.style.whiteSpace="nowrap";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px";
element_g.style[width_box]=width_box_real+"px";
Common.ScrollBarOverflow();
$(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){
var comp_element=window.getComputedStyle(element, null)
element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat (comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px";
element.classList.remove('mw-scrollbar-overflow-'+x_box);
});
element_g.style.whiteSpace="normal";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[width_box]="auto";
var rect_dziecko=element_g.getBoundingClientRect();
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px";
element_g.style[width_box]=width_box_real+"px";
element_g.style[left_box]="0";
element_g.style[right_box]="auto";
rodzic_element.style.position="relative";
}else{
element_g.style.whiteSpace="nowrap";
var szerokosc_box=rect_dziecko[width_box];
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px";
element_g.style[width_box]=(szerokosc_box)+"px";
Common.ScrollBarOverflow();
$(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){
var comp_element=window.getComputedStyle(element, null);
element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat (comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px";
element.classList.remove('mw-scrollbar-overflow-'+x_box);
});
element_g.style.whiteSpace="normal";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[width_box]="auto";
var rect_dziecko=element_g.getBoundingClientRect();
var szerokosc_box=rect_dziecko[width_box];
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px";
element_g.style[width_box]=(szerokosc_box)+"px";
var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box));
if(parseInt(szerokosc)>parseInt(width_rodzic)){
element_g.style[right_box]="0";
element_g.style[left_box]="auto";
rodzic_element.style.overflow="visible";
}else{
element_g.style[left_box]="0";
element_g.style[right_box]="auto";
rodzic_element.style.position="relative";
}
}
}
element_g.style[height]="auto";
element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px";
Common.ScrollBarOverflow();
for(var i in pozycje_paskow){
pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1];
pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2];
}
}
element_g.classList.add('mw-sticky-js');
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var visibility=comp.getPropertyValue("visibility");
if(visibility=="hidden"){return;}
var position=comp.getPropertyValue("position");
if(position!="absolute"){return;}
var sticky_x=$(element_g).hasClass('mw-sticky-x');
var sticky_y=$(element_g).hasClass('mw-sticky-y');
if((sticky_x)&&(!sticky_y)){
var str=$(element_g).parents('.strona_górna, .strona_dolna').first();
if(str.hasClass('strona_dolna')){
FunStickyXY("width","left","right","height","top","bottom","y","x");
}else if(str.hasClass('strona_górna')){
FunStickyXY("width","left","right","height","bottom","top","y","x");
}
}else if((!sticky_x)&&(sticky_y)){
var str=$(element_g).parents('.strona_prawa, .strona_lewa').first();
if(str.hasClass('strona_prawa')){
FunStickyXY("height","top","bottom","width","left","right","x","y");
}else if(str.hasClass('strona_lewa')){
FunStickyXY("height","top","bottom","width","right","left","x","y");
}
}else if((sticky_x)&&(sticky_y)){
FunStickyXY("width","left","right",null);
FunStickyXY("height","top","bottom",null);
}
});
}
/*Uruchamianie funkcji Common StickyXY*/
$(Common.StickyXY);
/*Uruchamianie zdarzeń dla elementu Window, używając funkcji Common.StickyXY*/
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY');
Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY');
});
/*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/
Common.OptimalXY=function(){
$('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){
var comp=window.getComputedStyle(element_g, null);
function FunOptimalXY(width,left,right){
var pozycje_paskow=new Array();
$(element_g).find('*').each(function(i,element){
var comp=window.getComputedStyle(element, null);
var overflow=comp.getPropertyValue("overflow");
var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){
pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft));
}
});
var width_rodzic=null;
var rodzic_node;
var comp_rodz;
$(element_g).parents('.mw-parent-node').first().each(function(i,element){
comp_rodz=window.getComputedStyle(element,null);
width_rodzic=parseFloat(comp_rodz.getPropertyValue([width]));
rodzic_node=element;
});
if((width_rodzic!=null)&&(!isNaN(width_rodzic))){
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
var width_box_real=parseFloat(comp.getPropertyValue(width));
var rect_dziecko=element_g.getBoundingClientRect();
if(width=="width"){
element_g.classList.remove('mw-scrollbar-overflow-x');
}else{
element_g.classList.remove('mw-scrollbar-overflow-y');
}
if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){
var rect_dziecko=element_g.getBoundingClientRect();
if(rect_dziecko[width]>width_rodzic){
if(width=="width"){
element_g.classList.add('mw-scrollbar-overflow-x');
}else{
element_g.classList.add('mw-scrollbar-overflow-y');
}
}
var width_box_real=parseFloat(comp.getPropertyValue(width));
var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right));
margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right));
var dlugosc=(width_rodzic-margin_all);
dlugosc=((dlugosc>=0)?dlugosc:0);
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px";
}else{
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px";
}
var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first();
if(!str.hasClass('strona_start-nawigacja_boksy')){
var rect_dziecko=element_g.getBoundingClientRect();
var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right));
if(parseInt(szerokosc)>parseInt(width_rodzic)){
str.css('position','static');
}else{
str.css('position','relative');
}
}
}
for(var i in pozycje_paskow){
pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1];
pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2];
}
};
element_g.classList.add('mw-optimal-js');
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var visibility=comp.getPropertyValue("visibility");
if(visibility=="hidden"){return;}
var position=comp.getPropertyValue("position");
if(position!="absolute"){return;}
var optimal_x=$(element_g).hasClass('mw-optimal-x');
var optimal_y=$(element_g).hasClass('mw-optimal-y');
if(optimal_x){
FunOptimalXY("width","left","right");
}
if(optimal_y){
FunOptimalXY("height","top","bottom");
}
});
}
/*Uruchamianie funkcji Common.OptimalXY*/
$(Common.OptimalXY);
/*Uruchamianie zdarzeń dla elementu Window, używając funkcji OptimalXY*/
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY');
Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY');
});
/*Definicja dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz stylów CSS*/
Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){
$(obiekt).each(function(i,element_f){
var id=element_f.getAttribute("id")
if((id)&&(id==(id_tabeli_lub_ramki+i))){
var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i);
if((collapsebutton!==null)&&(collapsebutton.length>0)){
$('#mw-content-text .mw-parser-output').find('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){
var href=element_g.getAttribute('href');
if((href!=null)&&(href!="")){
var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*";
var re_frame = new RegExp(col,'g');
var re_javascript=new RegExp("^[\\s;]*javascript:");
if((re_javascript.test(href))&&(re_frame.test(href))){
var href=element_g.getAttribute('href');
if((href!==null)&&(href!="")){
function DodajSkryptJavaScript(fun){
var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g');
var href_nowe=element_g.getAttribute('href');
if(!re.test(href_nowe)){
element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()");
}
}
DodajSkryptJavaScript('Common.ScrollBarOverflow');
DodajSkryptJavaScript('Common.StickyXY');
DodajSkryptJavaScript('Common.OptimalXY');
}
}
}
});
}
}
});
}
/*Koniec dodatkowych funkcji*/
/*Uruchamianie dodatkowych funkcji dla tabel TABLE i ramek DIV nawigacyjnych.*/
$(function(){
/*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/
Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable');
/*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/
Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar');
});
/*Koniec uruchamiania*/
/*Definicje dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz,z_mouse){
/*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/
var tab_transition={'start':true,'run':true,'cancel':true,'end':true};
var tab_przegladarki={'':true,'webkit':true,'moz':true,'o':true};
for(var a in tab_transition){
for(var b in tab_przegladarki){
var zdarzenie=b+'transition'+a;
Common.ZdarzeniaJavaScript(css,zdarzenie,fun_zdarz);
}
}
if(z_mouse){
Common.ZdarzeniaJavaScript(css,"mouseenter",fun_zdarz);
Common.ZdarzeniaJavaScript(css,"mouseleave",fun_zdarz);
}
};
/*Koniec dodatkowych zdarzeń*/
/*Uruchamianie dodatkowych zdarzeń*/
$(function(){
/*Funkcje zdarzeń*/
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY',true);
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY',true);
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY',false);
});
/*Koniec uruchamiania dodatkowych zdarzeń*/
/*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/
Common.StronaStart=function(){
var elements=$('#mw-content-text .mw-parser-output').find('.strona_start .strona .ciało_zawartości > .menu > .menu_boks');
elements.parent().show();
$('#mw-content-text .mw-parser-output').find('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){
$(element).css('visibility',"hidden");
$(element).attr('mw-menu-boks',"false");
});
$('#mw-content-text .mw-parser-output').find('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){
var czy_visible=$(element).css('visibility');
$(element).css('visibility',"visible");
$(element).attr('mw-menu-boks',"true");
var str=$(element).parents('.strona_prawa, .strona_lewa').first();
str.css('position','relative');
str.addClass('strona_start-nawigacja_spis');
str.removeClass('strona_start-nawigacja_boksy');
if(czy_visible=="hidden"){
$(Common.ScrollBarOverflow);
$(Common.StickyXY);
}
});
$('#mw-content-text .mw-parser-output').find('.strona_start').find('.strona .ciało_zawartości > .menu > .menu_boks').children('.spis_treści, .boksy').each(function(i,element){
if($(element).hasClass('boksy')) $(element).attr('mw-menu-boks',"true");else if($(element).hasClass('spis_treści')) $(element).attr('mw-menu-boks',"false");
});
Common.StronaStartZdarzeniePrzycisku=function(){
var id=this;
$(id).parents('#mw-content-text .mw-parser-output .strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){
var menu_boks_zmienna=$(element).attr('mw-menu-boks');
menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false");
if(menu_boks_zmienna=="false"){
$(element).css('display',"block");
$(element).attr('mw-menu-boks','true');
}else if(menu_boks_zmienna=="true"){
$(element).css('display',"none");
$(element).attr('mw-menu-boks','false');
}
});
$(id).parents('#mw-content-text .mw-parser-output .strona_start').first().find('.strona_lewa, .strona_prawa').children('.nawigacja_boksy, .nawigacja_spis').each(function(i,element){
var menu_boks_zmienna=$(element).attr('mw-menu-boks');
menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false");
if(menu_boks_zmienna=="false"){
$(element).css('visibility',"visible");
$(element).attr('mw-menu-boks',"true");
var str=$(element).parents('.strona_prawa, .strona_lewa').first();
if($(element).hasClass('nawigacja_boksy')){
str.css('position','static');
str.addClass('strona_start-nawigacja_boksy');
str.removeClass('strona_start-nawigacja_spis');
$(Common.ScrollBarOverflow);
$(Common.OptimalXY);
}else if($(element).hasClass('nawigacja_spis')){
str.css('position','relative');
str.addClass('strona_start-nawigacja_spis');
str.removeClass('strona_start-nawigacja_boksy');
$(Common.ScrollBarOverflow);
$(Common.StickyXY);
}
}else if(menu_boks_zmienna=="true"){
$(element).css('visibility',"hidden");
$(element).attr('mw-menu-boks',"false");
}
});
}
if(Common.StronaStartZdarzeniePrzycisku)Common.ZdarzeniaJavaScript(elements,'click','StronaStartZdarzeniePrzycisku');
}
$(Common.StronaStart);
})(Common_zmienna_z_MediaWiki_Wikibooks,Common);
ei50bnhx1nxoo9tsjovr4lxqmsv3zfk
437960
437958
2022-08-17T09:08:20Z
Persino
2851
javascript
text/javascript
mw.loader.load( '//pl.wikibooks.org/w/index.php?action=raw&ctype=text/javascript&title=Wikipedysta:Persino/Gadget-StronicowyParser.js', 'text/javascript', true );
/**/
/* Umieszczony tutaj kod JavaScript zostanie załadowany przez każdego użytkownika, podczas każdego ładowania strony.
*/
/*
* Zmienna Common.pageInfo, jego elementy, instrukcja obsługi:
* Common.pageInfo.namespace numer przestrzeni nazw (równe wgNamespaceNumber)
* Common.pageInfo.name pełna nazwa strony
* Common.pageInfo.title tytuł strony, czyli ostatnia część po '/' albo jest równe pageInfo.name, gdy nigdzie nie występuje slash
* Common.pageInfo.book tytuł książki
* Common.pageInfo.action akcja taka jaka jest w adresie URL pod "action=", w przypadku normalnego czytania strony, action jest równe "get"
* Common.pageInfo.diff null w przypadku, gdy nie porównujemy wersji, w przeciwnym wypadku wartość występującą w adresie URL
*/
/*Uzyskanie dostępu do tablicy - przestrzeni: Common, z innej strony .js*/
var Common_zmienna_z_MediaWiki_Wikibooks=this['Common'];
/*Przestrzeń nazw: Common, zdefiniowanym za pomocą tablicy*/
var Common=new Array();
/*Funkcja, by nie było przecieków pamięci*/
(function(Common_zmienna_z_MediaWiki_Wikibooks,Common){
/*Sprawdza, czy użytkownik ma własną zmienną Common*/
Common.IsUserCommon=function(){return ((Common_zmienna_z_MediaWiki_Wikibooks)?true:false);};
/*Funkcja zwraca zmienną Common ze strony MediaWiki:Common.js*/
Common.MediaWikiCommon=function(){return (Common.IsUserCommon()?Common_zmienna_z_MediaWiki_Wikibooks:Common);}
/*Funkcja zwraca tablicę Common użytkownika, jeżeli taką posiada, w przeciwnym wypadku zwraca undefined*/
Common.UserCommon=function(){return (Common.IsUserCommon()?Common:undefined);}
/*Funkcja zwraca Common z tej strony*/
Common.NoweCommon=function(){return Common;}
/*Funkcja zwraca Common ze strony MediaWiki:Common.js, jeżeli użytkownik posiada własne Common w jego pliku Common, w przeciwnym wypadku zwraca undefined*/
Common.StareCommon=function(){return Common_zmienna_z_MediaWiki_Wikibooks;}
// Frame Busting
Common.LokowanieTopSelf=function(){
if (top != self) top.location.href = self.location.href;
};
/*Uruchamianie funkcji Common.LokowanieTopSelf*/
$(Common.LokowanieTopSelf);
/*Funkcja zdarzeń odrejestrowania i rejestrowania*/
Common.ZdarzeniaJavaScript=function(css,zdarzenie,funkcja_zdarzen,tylko_odrejestruj){
/*
css - adres html obiektu,
zdarzenie - zdarzenie jak click,
funkcja_zdarzen - nazwa funkcji zdarzeń w starej przestrzeni Common lub nowej, jak StickyXY,
tylko_odrejestruj - czy tylko zdarzenie ma odrejestrować w starej przestrzeni Common.
*/
if((css)&&(zdarzenie)&&(funkcja_zdarzen)){
/*Odrejestrowanie zdarzeń o nazwie: funkcja_zdarzen, ale z innej strony .js jak: Common.StickyXY*/
if((Common_zmienna_z_MediaWiki_Wikibooks)&&(Common_zmienna_z_MediaWiki_Wikibooks[funkcja_zdarzen])){
$(css).off(zdarzenie,Common_zmienna_z_MediaWiki_Wikibooks[funkcja_zdarzen]);
}
if((!tylko_odrejestruj)&&(Common)&&(Common[funkcja_zdarzen])){
/*Rejestrowanie zdarzeń, ale z tej strony .js*/
$(css).on(zdarzenie, Common[funkcja_zdarzen]);
}
}
}
/*Funkcje w przestrzeni nazw Common*/
Common.Naglowek=function(){
/* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */
var hideAll = document.getElementById('mójNagłówekUkryj');
var noFooter = false;
var footers = 0;
var tags = document.getElementsByTagName('div');
for (var i = 0; i < tags.length; i++) {
var el=tags[i].getAttribute("id");
if (el=='mojaStopka')
footers++;
else if (hideAll && (el=='mójNagłówek')) {
tags[i].innerHTML="";
noFooter=true;
}
}
if (noFooter) return;
var footer = document.getElementById('mojaStopka');
if ((footer !== null) && (footers==1)) {
var bodyContent = document.getElementById('bodyContent');
if (bodyContent !== null) {
var s0=document.getElementById('mojaStopka0');
var s1=document.getElementById('mojaStopka1');
if ((s1 !== null) ||
((s0 === null) && (bodyContent.innerHTML.length>8000))){
var strona=document.getElementById('strona');
if(strona!==null){
strona.appendChild(footer);
}else{
var catlinks=document.getElementById('catlinks');
if(catlinks !== null){
bodyContent.insertBefore(footer,catlinks);
}else{
bodyContent.appendChild(footer);
}
}
}
}
}
/* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */
};
$(Common.Naglowek);
/*Informacje o danej stronie*/
Common.PageInfoInit=function(){
var _g = /_/g;
this.name = mw.config.get('wgPageName').replace(/_/g, ' ');
this.namespace = mw.config.get('wgNamespaceNumber');
var i = this.name.search(/\/[^\/]*$/g);
this.title = this.name.slice(i + 1);
this.book = this.name.replace(/\/.*/g, "");
if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) {
re = /\&diff=/g;
this.diff = re.test(document.URL);
re = /\&action=[^\&]*/g;
this.action = document.URL.match(re);
if ( this.action === null ) {
this.action = 'get';
} else {
this.action = this.action[0].slice(8, this.action[0].length);
}
} else {
this.diff = null;
this.action = 'get';
}
}
Common.pageInfo = new Common.PageInfoInit();
/** Collapsible tables *********************************************************
*
* Description: Allows tables to be collapsed, showing only the header. See
* [[en:Wikipedia:NavFrame]].
* Maintainers: [[User:R. Koot]]
*/
Common.autoCollapse = 2;
Common.collapseCaption = "ukryj";
Common.expandCaption = "pokaż";
Common.collapseTable=function( tableIndex )
{
var Button = document.getElementById( "collapseButton" + tableIndex );
var Table = document.getElementById( "collapsibleTable" + tableIndex );
if ( !Table || !Button ) {
return false;
}
var Rows = Table.rows;
if ( Button.firstChild.data == Common.collapseCaption ) {
for ( var i = 1; i < Rows.length; i++ ) {
Rows[i].style.display = "none";
}
Button.firstChild.data = Common.expandCaption;
} else {
for ( var i = 1; i < Rows.length; i++ ) {
Rows[i].style.display = Rows[0].style.display;
}
Button.firstChild.data = Common.collapseCaption;
}
}
Common.createCollapseButtons=function()
{
var tableIndex = 0;
var NavigationBoxes = new Object();
var Tables = document.getElementsByTagName( "table" );
for ( var i = 0; i < Tables.length; i++ ) {
if ( $(Tables[i]).hasClass( "collapsible" ) ) {
/* only add button and increment count if there is a header row to work with */
var HeaderRow = Tables[i].getElementsByTagName( "tr" )[0];
if (!HeaderRow) continue;
var Header = HeaderRow.getElementsByTagName( "th" )[0];
if (!Header) continue;
NavigationBoxes[ tableIndex ] = Tables[i];
Tables[i].setAttribute( "id", "collapsibleTable" + tableIndex );
var Button = document.createElement( "span" );
var ButtonLink = document.createElement( "a" );
var ButtonText = document.createTextNode( Common.collapseCaption );
Button.style.styleFloat = "right";
Button.style.cssFloat = "right";
Button.style.fontWeight = "normal";
Button.style.textAlign = "right";
Button.style.width = "6em";
ButtonLink.style.color = Header.style.color;
ButtonLink.setAttribute( "id", "collapseButton" + tableIndex );
ButtonLink.setAttribute( "href", "javascript:Common.collapseTable(" + tableIndex + ");" );
ButtonLink.appendChild( ButtonText );
Button.appendChild( document.createTextNode( "[" ) );
Button.appendChild( ButtonLink );
Button.appendChild( document.createTextNode( "]" ) );
$(Header.childNodes[0]).has('a#collapseButton' + tableIndex).each(function(i,element){
$(element).remove();
});
Header.insertBefore( Button, Header.childNodes[0]);
tableIndex++;
}
}
for ( var i = 0; i < tableIndex; i++ ) {
if ( $(NavigationBoxes[i]).hasClass( "collapsed" ) || ( tableIndex >= Common.autoCollapse && $(NavigationBoxes[i]).hasClass( "autocollapse" ) ) ) {
Common.collapseTable( i );
}
else if ( $(NavigationBoxes[i]).hasClass( "innercollapse" ) ) {
var element = NavigationBoxes[i];
while (element = element.parentNode) {
if ( $(element).hasClass( "outercollapse" ) ) {
Common.collapseTable ( i );
break;
}
}
}
}
}
$(Common.createCollapseButtons );
/** Dynamic Navigation Bars (experimental) *************************************
*
* Description: See [[Wikipedia:NavFrame]].
* Maintainers: UNMAINTAINED
*/
// set up the words in your language
Common.NavigationBarHide = '[' + Common.collapseCaption + ']';
Common.NavigationBarShow = '[' + Common.expandCaption + ']';
// shows and hides content and picture (if available) of navigation bars
// Parameters:
// indexNavigationBar: the index of navigation bar to be toggled
Common.toggleNavigationBar=function(indexNavigationBar)
{
var NavToggle = document.getElementById("NavToggle" + indexNavigationBar);
var NavFrame = document.getElementById("NavFrame" + indexNavigationBar);
if (!NavFrame || !NavToggle) {
return false;
}
// if shown now
if (NavToggle.firstChild.data == Common.NavigationBarHide) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) ) {
NavChild.style.display = 'none';
}
if ( $(NavChild).hasClass( 'NavContent') ) {
NavChild.style.display = 'none';
}
}
NavToggle.firstChild.data = Common.NavigationBarShow;
// if hidden now
} else if (NavToggle.firstChild.data == Common.NavigationBarShow) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ($(NavChild).hasClass( 'NavPic')) {
NavChild.style.display = 'block';
}
if ($(NavChild).hasClass( 'NavContent')) {
NavChild.style.display = 'block';
}
}
NavToggle.firstChild.data = Common.NavigationBarHide;
}
}
// adds show/hide-button to navigation bars
Common.createNavigationBarToggleButton=function()
{
var indexNavigationBar = 0;
// iterate over all < div >-elements
var divs = document.getElementsByTagName("div");
for (var i = 0; NavFrame = divs[i]; i++) {
// if found a navigation bar
if ($(NavFrame).hasClass( "NavFrame")) {
indexNavigationBar++;
var NavToggle = document.createElement("a");
NavToggle.className = 'NavToggle';
NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar);
NavToggle.setAttribute('href', 'javascript:Common.toggleNavigationBar(' + indexNavigationBar + ');');
var isCollapsed = $(NavFrame).hasClass( "collapsed" );
/*
* Check if any children are already hidden. This loop is here for backwards compatibility:
* the old way of making NavFrames start out collapsed was to manually add style="display:none"
* to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make
* the content visible without JavaScript support), the new recommended way is to add the class
* "collapsed" to the NavFrame itself, just like with collapsible tables.
*/
for (var NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) {
if ( NavChild.style.display == 'none' ) {
isCollapsed = true;
}
}
}
if (isCollapsed) {
for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) {
NavChild.style.display = 'none';
}
}
}
var NavToggleText = document.createTextNode(isCollapsed ? Common.NavigationBarShow : Common.NavigationBarHide);
NavToggle.appendChild(NavToggleText);
// Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked)
for(var j=0; j < NavFrame.childNodes.length; j++) {
if ($(NavFrame.childNodes[j]).hasClass( "NavHead")) {
$(NavFrame.childNodes[j]).children('a.NavToggle#NavToggle' + indexNavigationBar).each(function(i,element){
$(element).remove();
});
NavFrame.childNodes[j].appendChild(NavToggle);
}
}
NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar);
}
}
}
$(Common.createNavigationBarToggleButton );
// Wyszukiwanie Google na stronach podręczników
Common.googleSearchInitialized = false;
Common.insertGoogleSearch=function() {
if ( mw.config.get('wgNamespaceNumber') != 0 || Common.googleSearchInitialized ) {
return;
}
Common.googleSearchInitialized = true;
var google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/PAGE&sitesearch=pl.wikibooks.org/wiki/PAGE";
var ul = jQuery('#p-tb ul')[0];
if (!ul) {
return;
}
var link = document.createElement('a');
var book = Common.pageInfo.book;
if ( book.length == 1 || book.indexOf('++') != -1 || encodeURIComponent(book) != book ) {
google = "http://www.google.com/custom?sa=Google+Search&domains=pl.wikibooks.org/wiki/&sitesearch=pl.wikibooks.org/wiki/&q=%22PAGE%22"
}
link.href = google.replace(/PAGE/g, encodeURIComponent(book));
link.appendChild(document.createTextNode("Szukaj w podręczniku"));
var li = document.createElement('li');
li.id = "google-trick-search";
li.appendChild(link);
$(ul).children('li#google-trick-search').each(function(i,element){
$(element).remove();
});
ul.insertBefore(li, ul.firstChild);
}
$(Common.insertGoogleSearch);
/*Funkcja do liczenia szerokościm mapska przewijania w pionowego, wtedy x_box_right=="y", lub poziomego, wtedy inny parametr inny niż dla paska pionowego*/
Common.PobierzSzerokoscPaskaPrzewijania=function(x_box_right){
var div = $('<div style="width:50px;height:50px;overflow:hidden;position:absolute;top:-200px;left:-200px;"><div style="height:100px;"></div></div>');
$('body').append(div);
var w1 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")]();
div.css('overflow-'+(x_box_right||"y"), 'scroll');
var w2 = $('div', div)["inner"+((x_box_right=="y")?"Width":"Height")]();
$(div).remove();
return (w1 - w2);
}
/*Funkcje do obsługi pasków przewijania*/
Common.ScrollBarOverflow=function(){
$('*.mw-overflow-x, *.mw-overflow-y').each(function(i,element_g){
/*start overflow*/
var comp=window.getComputedStyle(element_g, null);
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var overflow=comp.getPropertyValue("overflow");
var overflow_x=$(element_g).hasClass('mw-overflow-x');
if(overflow_x){
var overflowX=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
if((overflowX)&&(overflowX=="auto")){
element_g.classList.remove("mw-scrollbar-overflow-x");
const hasHorizontalScrollbar = element_g.scrollWidth > element_g.clientWidth; // true lub false
if(hasHorizontalScrollbar){
element_g.classList.add("mw-scrollbar-overflow-x");
}
}
}
var overflow_y=$(element_g).hasClass('mw-overflow-y');
if(overflow_y){
var overflowY=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflowY)&&(overflowY=="auto")){
element_g.classList.remove("mw-scrollbar-overflow-y");
const hasVerticalScrollbar = element_g.scrollHeight > element_g.clientHeight; // true lub false
if(hasVerticalScrollbar){
element_g.classList.add("mw-scrollbar-overflow-y");
}
}
}
/*koniec overflow*/
});
}
/*Uruchamianie funkcji Common.ScrollBarOverflow*/
$(Common.ScrollBarOverflow);
/*Uruchamianie zdarzeń dla elementu Window, używając funkcji Common.ScrollBarOverflow*/
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,'scroll', 'ScrollBarOverflow');
Common.ZdarzeniaJavaScript(window,'resize', 'ScrollBarOverflow');
});
/*Funkcja symulująca właściwości position:sticky, wszędzie tam, gdzie nie można go użyć.*/
Common.StickyXY=function(){
$('*.mw-sticky-x, *.mw-sticky-y').each(function(i,element_g){
var comp=window.getComputedStyle(element_g, null);
function FunStickyXY(height,top,bottom,width_box,left_box,right_box,x_box,x_box_right){
var pozycje_paskow=new Array();
$(element_g).find('*').each(function(i,element){
var comp=window.getComputedStyle(element, null);
var overflow=comp.getPropertyValue("overflow");
var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){
pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft));
}
});
var height_sticky=0;
$('html.client-js.vector-sticky-header-enabled body.skin-vector-search-vue.vector-sticky-header-visible header.vector-sticky-header, html.client-js body.skin-timeless #mw-header-container ~ #mw-header-hack').each(function(i,el){
var rect_sticky=el.getBoundingClientRect();
height_sticky=parseInt(rect_sticky[height]+rect_sticky[top]);
});
var StickyXYTopOld=$(element_g).data('stickyXYOld-'+top);var StickyXYBottomOld=$(element_g).data('stickyXYOld-'+bottom);
if(StickyXYTopOld===undefined){
var topold_war=parseFloat(element_g.style[top]);
$(element_g).data('stickyXYOld-'+top,((!isNaN(topold_war))?topold_war:0));
}
if(StickyXYBottomOld===undefined){
var bottomold_war=parseFloat(element_g.style[bottom]);
$(element_g).data('stickyXYOld-'+bottom,((!isNaN(bottomold_war))?bottomold_war:0));
}
var topold=$(element_g).data('stickyXYOld-'+top)+height_sticky+5;
var margintop=parseFloat(comp.getPropertyValue("margin-"+top));
margintop=((!isNaN(margintop))?margintop:0);
var marginbottom=parseFloat(comp.getPropertyValue("margin-"+bottom));
marginbottom=((!isNaN(marginbottom))?marginbottom:0);
var przodek_height=undefined;
element_g.style[height]="auto";
element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[top]="auto";
element_g.style[bottom]="auto";
if(width_box!=null){
element_g.style[width_box]="auto";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[left_box]="auto";
element_g.style[right_box]="0";
$(element_g).find('.mw-not-overflow-'+x_box+'.mw-overflow-'+x_box).each(function(i,element){
element.style[width_box]="auto";
element.classList.remove('mw-scrollbar-overflow-x');
element.classList.remove('mw-scrollbar-overflow-y');
});
}
/**/
var parents_node_fun=$(element_g).parents('.mw-parent-node').first();
if((parents_node_fun==null)||(parents_node_fun.length==0)){return;}
var width_rodzic=null;
var rodzic_element=undefined;
var comp_rodz;
parents_node_fun.each(function(i,element){
comp_rodz=window.getComputedStyle(element,null);
przodek_height=parseFloat(comp_rodz.getPropertyValue([height]));
width_rodzic=width_box?parseFloat(comp_rodz.getPropertyValue([width_box])):null;
rodzic_element=element;
});
var height_box_real=parseFloat(comp.getPropertyValue(height));
var rect_dziecko=element_g.getBoundingClientRect();
var wys=document.documentElement["client"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))];
var rect_rodzic;
parents_node_fun.each(function(i,element){
rect_rodzic=element.getBoundingClientRect();
});
var top_ab=rect_rodzic[top];
var bottom_ab=(wys-rect_rodzic[bottom]);
var maxheight=Math.min(przodek_height,wys-((rect_rodzic[top]>=0)?(rect_rodzic[top]):(0))-((bottom_ab>=0)?(bottom_ab):(0)))-(((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)))+((bottom_ab<=0)?($(element_g).data('stickyXYOld-'+bottom)+5):(Math.max(0,$(element_g).data('stickyXYOld-'+bottom)+5-bottom_ab)))+marginbottom+margintop);
element_g.style["max"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(((maxheight>=0)?maxheight:0)*(height_box_real/rect_dziecko[height]))+"px";
element_g.style[height]="100%";
var top_obj=(((top_ab>=0)?0:(-top_ab)))+((top_ab<=0)?(topold):(Math.max(0,topold-top_ab)));
element_g.style[top]=top_obj+"px";
element_g.style[bottom]="auto";
if(width_box!=null){
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
rodzic_element.style.position="static";
rodzic_element.style.overflow="hidden";
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
var rect_dziecko=element_g.getBoundingClientRect();
if(parseInt(width_box_real)>parseInt(rect_dziecko[width_box])){
if(width_box=="width"){
element_g.classList.remove('mw-scrollbar-overflow-x');
}else{
element_g.classList.remove('mw-scrollbar-overflow-y');
}
if(rect_dziecko[width_box]>width_rodzic){
if(width_box=="width"){
element_g.classList.add('mw-scrollbar-overflow-x');
}else{
element_g.classList.add('mw-scrollbar-overflow-y');
}
}
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
var margin_all=parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box));
margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left_box))+parseFloat(comp_rodz.getPropertyValue("padding-"+right_box));
var dlugosc=(width_rodzic-margin_all);
dlugosc=((dlugosc>=0)?dlugosc:0);
element_g.style.whiteSpace="nowrap";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px";
element_g.style[width_box]=width_box_real+"px";
Common.ScrollBarOverflow();
$(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){
var comp_element=window.getComputedStyle(element, null)
element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat (comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px";
element.classList.remove('mw-scrollbar-overflow-'+x_box);
});
element_g.style.whiteSpace="normal";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[width_box]="auto";
var rect_dziecko=element_g.getBoundingClientRect();
var width_box_real=parseFloat(comp.getPropertyValue(width_box));
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width_box]))+"px";
element_g.style[width_box]=width_box_real+"px";
element_g.style[left_box]="0";
element_g.style[right_box]="auto";
rodzic_element.style.position="relative";
}else{
element_g.style.whiteSpace="nowrap";
var szerokosc_box=rect_dziecko[width_box];
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px";
element_g.style[width_box]=(szerokosc_box)+"px";
Common.ScrollBarOverflow();
$(element_g).find('.mw-overflow-'+x_box+'.mw-not-overflow-'+x_box+'.mw-scrollbar-overflow-'+x_box).each(function(i,element){
var comp_element=window.getComputedStyle(element, null);
element.style[width_box]=(element["scroll"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]+Common.PobierzSzerokoscPaskaPrzewijania(x_box_right)+parseFloat (comp_element.getPropertyValue('padding-'+left_box))+parseFloat(comp_element.getPropertyValue('padding-'+right_box)))+"px";
element.classList.remove('mw-scrollbar-overflow-'+x_box);
});
element_g.style.whiteSpace="normal";
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
element_g.style[width_box]="auto";
var rect_dziecko=element_g.getBoundingClientRect();
var szerokosc_box=rect_dziecko[width_box];
element_g.style["max"+(width_box.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(szerokosc_box)+"px";
element_g.style[width_box]=(szerokosc_box)+"px";
var szerokosc=rect_dziecko[width_box]+parseFloat(comp.getPropertyValue("margin-"+left_box))+parseFloat(comp.getPropertyValue("margin-"+right_box));
if(parseInt(szerokosc)>parseInt(width_rodzic)){
element_g.style[right_box]="0";
element_g.style[left_box]="auto";
rodzic_element.style.overflow="visible";
}else{
element_g.style[left_box]="0";
element_g.style[right_box]="auto";
rodzic_element.style.position="relative";
}
}
}
element_g.style[height]="auto";
element_g.style[height]=(element_g["offset"+(height.replace(/^(.)/g,function(s){return s.toUpperCase();}))])+"px";
Common.ScrollBarOverflow();
for(var i in pozycje_paskow){
pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1];
pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2];
}
}
element_g.classList.add('mw-sticky-js');
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var visibility=comp.getPropertyValue("visibility");
if(visibility=="hidden"){return;}
var position=comp.getPropertyValue("position");
if(position!="absolute"){return;}
var sticky_x=$(element_g).hasClass('mw-sticky-x');
var sticky_y=$(element_g).hasClass('mw-sticky-y');
if((sticky_x)&&(!sticky_y)){
var str=$(element_g).parents('.strona_górna, .strona_dolna').first();
if(str.hasClass('strona_dolna')){
FunStickyXY("width","left","right","height","top","bottom","y","x");
}else if(str.hasClass('strona_górna')){
FunStickyXY("width","left","right","height","bottom","top","y","x");
}
}else if((!sticky_x)&&(sticky_y)){
var str=$(element_g).parents('.strona_prawa, .strona_lewa').first();
if(str.hasClass('strona_prawa')){
FunStickyXY("height","top","bottom","width","left","right","x","y");
}else if(str.hasClass('strona_lewa')){
FunStickyXY("height","top","bottom","width","right","left","x","y");
}
}else if((sticky_x)&&(sticky_y)){
FunStickyXY("width","left","right",null);
FunStickyXY("height","top","bottom",null);
}
});
}
/*Uruchamianie funkcji Common StickyXY*/
$(Common.StickyXY);
/*Uruchamianie zdarzeń dla elementu Window, używając funkcji Common.StickyXY*/
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,'scroll', 'StickyXY');
Common.ZdarzeniaJavaScript(window,'resize', 'StickyXY');
});
/*Funkcja do ustawiania maksymalnego rozmiaru dziecka, względem rodzica, przy position:absolute*/
Common.OptimalXY=function(){
$('*.mw-optimal-x, *.mw-optimal-y').each(function(i,element_g){
var comp=window.getComputedStyle(element_g, null);
function FunOptimalXY(width,left,right){
var pozycje_paskow=new Array();
$(element_g).find('*').each(function(i,element){
var comp=window.getComputedStyle(element, null);
var overflow=comp.getPropertyValue("overflow");
var overflow_x=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-x"));
var overflow_y=(((overflow)&&(overflow!=""))?overflow:comp.getPropertyValue("overflow-y"));
if((overflow_x=="auto")||(overflow_x=="scroll")||(overflow_y=="auto")||(overflow_y=="scroll")){
pozycje_paskow.push(new Array(element,element.scrollTop,element.scrollLeft));
}
});
var width_rodzic=null;
var rodzic_node;
var comp_rodz;
$(element_g).parents('.mw-parent-node').first().each(function(i,element){
comp_rodz=window.getComputedStyle(element,null);
width_rodzic=parseFloat(comp_rodz.getPropertyValue([width]));
rodzic_node=element;
});
if((width_rodzic!=null)&&(!isNaN(width_rodzic))){
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]="none";
var width_box_real=parseFloat(comp.getPropertyValue(width));
var rect_dziecko=element_g.getBoundingClientRect();
if(width=="width"){
element_g.classList.remove('mw-scrollbar-overflow-x');
}else{
element_g.classList.remove('mw-scrollbar-overflow-y');
}
if(parseInt(width_box_real)>parseInt(rect_dziecko[width])){
var rect_dziecko=element_g.getBoundingClientRect();
if(rect_dziecko[width]>width_rodzic){
if(width=="width"){
element_g.classList.add('mw-scrollbar-overflow-x');
}else{
element_g.classList.add('mw-scrollbar-overflow-y');
}
}
var width_box_real=parseFloat(comp.getPropertyValue(width));
var margin_all=parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right));
margin_all+=parseFloat(comp_rodz.getPropertyValue("padding-"+left))+parseFloat(comp_rodz.getPropertyValue("padding-"+right));
var dlugosc=(width_rodzic-margin_all);
dlugosc=((dlugosc>=0)?dlugosc:0);
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(dlugosc*(width_box_real/rect_dziecko[width]))+"px";
}else{
element_g.style["max"+(width.replace(/^(.)/g,function(s){return s.toUpperCase();}))]=(rect_dziecko[width])+"px";
}
var str=$(element_g).parents('.strona_prawa, .strona_lewa, .strona_górna, .strona_dolna').first();
if(!str.hasClass('strona_start-nawigacja_boksy')){
var rect_dziecko=element_g.getBoundingClientRect();
var szerokosc=rect_dziecko[width]+parseFloat(comp.getPropertyValue("margin-"+left))+parseFloat(comp.getPropertyValue("margin-"+right));
if(parseInt(szerokosc)>parseInt(width_rodzic)){
str.css('position','static');
}else{
str.css('position','relative');
}
}
}
for(var i in pozycje_paskow){
pozycje_paskow[i][0].scrollTop=pozycje_paskow[i][1];
pozycje_paskow[i][0].scrollLeft=pozycje_paskow[i][2];
}
};
element_g.classList.add('mw-optimal-js');
var display=comp.getPropertyValue("display");
if(display=="none"){return;}
var visibility=comp.getPropertyValue("visibility");
if(visibility=="hidden"){return;}
var position=comp.getPropertyValue("position");
if(position!="absolute"){return;}
var optimal_x=$(element_g).hasClass('mw-optimal-x');
var optimal_y=$(element_g).hasClass('mw-optimal-y');
if(optimal_x){
FunOptimalXY("width","left","right");
}
if(optimal_y){
FunOptimalXY("height","top","bottom");
}
});
}
/*Uruchamianie funkcji Common.OptimalXY*/
$(Common.OptimalXY);
/*Uruchamianie zdarzeń dla elementu Window, używając funkcji OptimalXY*/
$(function(){
/*Zdarzenia*/
Common.ZdarzeniaJavaScript(window,"scroll",'OptimalXY');
Common.ZdarzeniaJavaScript(window,"resize",'OptimalXY');
});
/*Definicja dodatkowych funkcji, niż standardowe, w href w linkach rozwijanej tabeli TABLE lub ramki DIV, jeśli ona generuje zwiększenie rozmiarów, aby w rodzicu pojawił się pasek przewijania, z dodatkowymi opcjami generowanej przez arkusz stylów CSS*/
Common.RamkiTableIDiv=function(obiekt,id_tabeli_lub_ramki,id_nazwa_a,fun_obiektu){
$(obiekt).each(function(i,element_f){
var id=element_f.getAttribute("id")
if((id)&&(id==(id_tabeli_lub_ramki+i))){
var collapsebutton=$(element_f).find('a#'+id_nazwa_a+i);
if((collapsebutton!==null)&&(collapsebutton.length>0)){
$('#mw-content-text .mw-parser-output').find('*.mw-overflow-x a#'+id_nazwa_a+i+', *.mw-overflow-y a#'+id_nazwa_a+i).each(function(j,element_g){
var href=element_g.getAttribute('href');
if((href!=null)&&(href!="")){
var col="[\\s;\\(\\,]*javascript:"+fun_obiektu.replace(/\./g,"\\.")+"\\s*\\(\\s*"+i+"\\s*\\)[\\s;\\)\\,]*";
var re_frame = new RegExp(col,'g');
var re_javascript=new RegExp("^[\\s;]*javascript:");
if((re_javascript.test(href))&&(re_frame.test(href))){
var href=element_g.getAttribute('href');
if((href!==null)&&(href!="")){
function DodajSkryptJavaScript(fun){
var re=new RegExp("javascript:"+fun.replace(/\./g,"\\.")+"\\s*\\(\\s*\\)",'g');
var href_nowe=element_g.getAttribute('href');
if(!re.test(href_nowe)){
element_g.setAttribute('href',href_nowe.replace(/[;\s]*$/g,"")+';javascript:'+fun+"()");
}
}
DodajSkryptJavaScript('Common.ScrollBarOverflow');
DodajSkryptJavaScript('Common.StickyXY');
DodajSkryptJavaScript('Common.OptimalXY');
}
}
}
});
}
}
});
}
/*Koniec dodatkowych funkcji*/
/*Uruchamianie dodatkowych funkcji dla tabel TABLE i ramek DIV nawigacyjnych.*/
$(function(){
/*Dla menu rozwijanego tabeli TABLE zdefiniowanej na stronie MediaWiki:Common.js*/
Common.RamkiTableIDiv("table.collapsible",'collapsibleTable','collapseButton','Common.collapseTable');
/*Dla menu rozwijanej ramki DIV zdefiniowanej na stronie MediaWiki:Common.js*/
Common.RamkiTableIDiv("div.NavFrame",'NavFrame','NavToggle','Common.toggleNavigationBar');
});
/*Koniec uruchamiania*/
/*Definicje dodatkowych zdarzeń do Common.StickyXY i Common.OptimalXY*/
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY=function(css,fun_zdarz,z_mouse){
/*Zdarzenia dodatkowe - odrejestrowanie wcześniejszych zdarzeń i rejestrowanie następnych*/
var tab_transition={'start':true,'run':true,'cancel':true,'end':true};
var tab_przegladarki={'':true,'webkit':true,'moz':true,'o':true};
for(var a in tab_transition){
for(var b in tab_przegladarki){
var zdarzenie=b+'transition'+a;
Common.ZdarzeniaJavaScript(css,zdarzenie,fun_zdarz);
}
}
if(z_mouse){
Common.ZdarzeniaJavaScript(css,"mouseenter",fun_zdarz);
Common.ZdarzeniaJavaScript(css,"mouseleave",fun_zdarz);
}
};
/*Koniec dodatkowych zdarzeń*/
/*Uruchamianie dodatkowych zdarzeń*/
$(function(){
/*Funkcje zdarzeń*/
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("*.mw-sticky-x, *.mw-sticky-y",'StickyXY',true);
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY('*.mw-optimal-x, *.mw-optimal-y','OptimalXY',true);
Common.ZdarzeniaJavaScriptDodatkoweFunkcyjneXY("body.skin-vector-search-vue .vector-sticky-header",'StickyXY',false);
});
/*Koniec uruchamiania dodatkowych zdarzeń*/
/*Program do obsługi szablonu StronaStart i jego pokrewnych książkowych*/
Common.StronaStart=function(){
var elements=$('#mw-content-text .mw-parser-output').find('.strona_start .strona .ciało_zawartości > .menu > .menu_boks');
elements.parent().show();
$('#mw-content-text .mw-parser-output').find('.strona_start').find('.strona_lewa .nawigacja_boksy, .strona_prawa .nawigacja_boksy').each(function(i,element){
$(element).css('visibility',"hidden");
$(element).attr('mw-menu-boks',"false");
});
$('#mw-content-text .mw-parser-output').find('.strona_start').find('.strona_lewa .nawigacja_spis, .strona_prawa .nawigacja_spis').each(function(i,element){
var czy_visible=$(element).css('visibility');
$(element).css('visibility',"visible");
$(element).attr('mw-menu-boks',"true");
var str=$(element).parents('.strona_prawa, .strona_lewa').first();
str.css('position','relative');
str.addClass('strona_start-nawigacja_spis');
str.removeClass('strona_start-nawigacja_boksy');
if(czy_visible=="hidden"){
$(Common.ScrollBarOverflow);
$(Common.StickyXY);
}
});
$('#mw-content-text .mw-parser-output').find('.strona_start').find('.strona .ciało_zawartości > .menu > .menu_boks').children('.spis_treści, .boksy').each(function(i,element){
if($(element).hasClass('boksy')) $(element).attr('mw-menu-boks',"true");else if($(element).hasClass('spis_treści')) $(element).attr('mw-menu-boks',"false");
});
Common.StronaStartZdarzeniePrzycisku=function(){
var id=this;
$(id).parents('#mw-content-text .mw-parser-output .strona_start').first().find('.strona .ciało_zawartości > .menu > .menu_boks').children().each(function(i,element){
var menu_boks_zmienna=$(element).attr('mw-menu-boks');
menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false");
if(menu_boks_zmienna=="false"){
$(element).css('display',"block");
$(element).attr('mw-menu-boks','true');
}else if(menu_boks_zmienna=="true"){
$(element).css('display',"none");
$(element).attr('mw-menu-boks','false');
}
});
$(id).parents('#mw-content-text .mw-parser-output .strona_start').first().find('.strona_lewa, .strona_prawa').children('.nawigacja_boksy, .nawigacja_spis').each(function(i,element){
var menu_boks_zmienna=$(element).attr('mw-menu-boks');
menu_boks_zmienna=(((menu_boks_zmienna)&&(menu_boks_zmienna!=""))?menu_boks_zmienna:"false");
if(menu_boks_zmienna=="false"){
$(element).css('visibility',"visible");
$(element).attr('mw-menu-boks',"true");
var str=$(element).parents('.strona_prawa, .strona_lewa').first();
if($(element).hasClass('nawigacja_boksy')){
str.css('position','static');
str.addClass('strona_start-nawigacja_boksy');
str.removeClass('strona_start-nawigacja_spis');
$(Common.ScrollBarOverflow);
$(Common.OptimalXY);
}else if($(element).hasClass('nawigacja_spis')){
str.css('position','relative');
str.addClass('strona_start-nawigacja_spis');
str.removeClass('strona_start-nawigacja_boksy');
$(Common.ScrollBarOverflow);
$(Common.StickyXY);
}
}else if(menu_boks_zmienna=="true"){
$(element).css('visibility',"hidden");
$(element).attr('mw-menu-boks',"false");
}
});
}
if(Common.StronaStartZdarzeniePrzycisku)Common.ZdarzeniaJavaScript(elements,'click','StronaStartZdarzeniePrzycisku');
}
$(Common.StronaStart);
})(Common_zmienna_z_MediaWiki_Wikibooks,Common);
gpp71ong2at0fxqqtxal24tkfuyutl3