Wikibooks
plwikibooks
https://pl.wikibooks.org/wiki/Wikibooks:Strona_g%C5%82%C3%B3wna
MediaWiki 1.47.0-wmf.3
first-letter
Media
Specjalna
Dyskusja
Wikipedysta
Dyskusja wikipedysty
Wikibooks
Dyskusja Wikibooks
Plik
Dyskusja pliku
MediaWiki
Dyskusja MediaWiki
Szablon
Dyskusja szablonu
Pomoc
Dyskusja pomocy
Kategoria
Dyskusja kategorii
Wikijunior
Dyskusja Wikijuniora
TimedText
TimedText talk
Moduł
Dyskusja modułu
Wydarzenie
Dyskusja wydarzenia
Niemiecki/Słowotwórstwo/Zrostek/Tabela zrostków derywacyjnych
0
22422
543524
542180
2026-05-20T11:41:07Z
EdytaT
2664
543524
wikitext
text/x-wiki
{{Podrozdział|[[Niemiecki|Język niemiecki]]<br>[[Niemiecki/Słowotwórstwo|Słowotwórstwo]]|Tabela zrostków derywacyjnych}}
== Zrostki derywacyjne (''Derivationsaffixe'') w języku niemieckim ==
=== Afiksy rzeczownikowe (''Nominalaffixe'') ===
{|class="wikitable"
|+
! Przedrostki (''Präfixe'')
! Przedrostki (''Präfixe'')<br> pochodzenia obcego
! Przyrostki (''Suffixe'')
! Przyrostki (''Suffixe'')<br> pochodzenia obcego
|-
| erz-, ge-, haupt-, [http://pl.wiktionary.org/wiki/miss- miss-], [http://pl.wiktionary.org/wiki/un- un-], [http://pl.wiktionary.org/wiki/ur- ur-]
| a-/an-, anti-, de-/des-, dis-, ex- hyper-, in-, inter-, ko-/kon-, kom-, non-, prä-, pro-, re-, super-, trans-, ultra-
| [http://pl.wiktionary.org/wiki/-bold -bold], [http://pl.wiktionary.org/wiki/-chen -chen], [http://pl.wiktionary.org/wiki/-de -de], [http://pl.wiktionary.org/wiki/-e -e], [http://pl.wiktionary.org/wiki/-ei -(er/el)ei], [http://pl.wiktionary.org/wiki/-er -er], [http://pl.wiktionary.org/wiki/-heit -heit], [http://pl.wiktionary.org/wiki/-keit -keit]/[http://pl.wiktionary.org/wiki/-igkeit -igkeit], [http://pl.wiktionary.org/wiki/-icht -icht], [http://pl.wiktionary.org/wiki/-ian -ian]/[http://pl.wiktionary.org/wiki/-jan -jan], [http://pl.wiktionary.org/wiki/-i -i], [http://pl.wiktionary.org/wiki/-in -in], [http://pl.wiktionary.org/wiki/-kein -kein], [http://pl.wiktionary.org/wiki/-ler -ler], [http://pl.wiktionary.org/wiki/-ling -ling], [http://pl.wiktionary.org/wiki/-ner -ner], [http://pl.wiktionary.org/wiki/-nis -nis], [http://pl.wiktionary.org/wiki/-or -or], [http://pl.wiktionary.org/wiki/-rich -rich], [http://pl.wiktionary.org/wiki/-s -s], [http://pl.wiktionary.org/wiki/-sal -sal], [http://pl.wiktionary.org/wiki/-schaft -schaft], [http://pl.wiktionary.org/wiki/-sel -sel], [http://pl.wiktionary.org/wiki/-t -t], [http://pl.wiktionary.org/wiki/-tel -tel], [http://pl.wiktionary.org/wiki/-tum -tum], [http://pl.wiktionary.org/wiki/-ung -ung], [http://pl.wiktionary.org/wiki/-werk -werk], [http://pl.wiktionary.org/wiki/-wesen -wesen]
| -ament/-ement, -ant/-ent, -anz/-enz, -age, -ar/-är, -arium, -at, -aille, -ade, -asmus/[http://pl.wiktionary.org/wiki/-de -ismus], -ee, -elle, -esse, -ette, -(er)ie, -eur, -ier, -iere, -ik, -iker, -ine, -(at/t/x)ion, [http://pl.wiktionary.org/wiki/-de -ist], -(i)tät, -(at/it)or, -ose, -ur
|-
|}
=== Afiksy przymiotnikowe (''Adjektivaffixe'') ===
{|class="wikitable"
|+
! Przedrostki (''Präfixe'')
! Przedrostki (''Präfixe'')<br> pochodzenia obcego
! Przyrostki (''Suffixe'')
! Przyrostki (''Suffixe'')<br> pochodzenia obcego
|-
| erz-, [http://pl.wiktionary.org/wiki/miss- miss-], [http://pl.wiktionary.org/wiki/un- un-], [http://pl.wiktionary.org/wiki/ur- ur-]
| a-/an-, anti-, de-/des-, dis-, ex- hyper-, in-/il-/-im/-ir, inter-, ko-/kon-/kor-, non-, par-, post-, prä-, pro-, super-, trans-, ultra-
| [http://pl.wiktionary.org/wiki/-bar -bar], [http://pl.wiktionary.org/wiki/-ern -e(r)n], [http://pl.wiktionary.org/wiki/-er -er], [http://pl.wiktionary.org/wiki/-fach -fach], [http://pl.wiktionary.org/wiki/-haft -haft], [http://pl.wiktionary.org/wiki/-icht -icht], [http://pl.wiktionary.org/wiki/-ig -ig], [http://pl.wiktionary.org/wiki/-isch -isch], [http://pl.wiktionary.org/wiki/-lich -lich], [http://pl.wiktionary.org/wiki/-los -los], [http://pl.wiktionary.org/wiki/-mäßig -mäßig], [http://pl.wiktionary.org/wiki/-sam -sam], [http://pl.wiktionary.org/wiki/-voll -voll]
| -abel/-ibel, -al/-ell, -ant/-ent, -ar/-är, -esk, -iv, -oid, -os/-õs
|-
|}
=== Afiksy czasownikowe (''Verbalaffixe'') ===
{|class="wikitable"
|+
! Przedrostki (''Präfixe'')
! Przedrostki (''Präfixe'')<br> pochodzenia obcego
! Przyrostki (''Suffixe'')
! Przyrostki (''Suffixe'')<br> pochodzenia obcego
|-
| [http://pl.wiktionary.org/wiki/ab- ab-], [http://pl.wiktionary.org/wiki/an- an-], [http://pl.wiktionary.org/wiki/auf- auf-], [http://pl.wiktionary.org/wiki/aus- aus-], [http://pl.wiktionary.org/wiki/be- be-], bei-, dar-, ein-, [http://pl.wiktionary.org/wiki/ent- ent-], er-, ge-, los-, [http://pl.wiktionary.org/wiki/miss- miss-], nach-, ob, über-, [http://pl.wiktionary.org/wiki/ver- ver-], vor-, weg-, wider-, zer-, zu-
| de-/des-/dis-, in-, inter-, ko-/kom-/kon-/kor-/kol-, prä-, re-, trans-
| -ig, -(is/ifiz)ier, -(e)l, -(e)r
|
|-
|}
=== Afiksy przysłówkowe (''Adverbialaffixe'') ===
{|class="wikitable"
|+
! Przedrostki (''Präfixe'')
! Przedrostki (''Präfixe'')<br> pochodzenia obcego
! Przyrostki (''Suffixe'')
! Przyrostki (''Suffixe'')<br> pochodzenia obcego
|-
|
|
| -dings, -ens, -halben/-halber, hin-, lei, -lings, -mals, -maßen, -s, -wärts, -weg, -weise
|
|-
|}
=== Sufixoidy (''Suffixoide'') ===
* Sufixoidy (''Suffixoide''), inaczej półprzyrostki, to cząstki słowotwórcze, które stoją na pograniczu samodzielnego słowa i przyrostka. W nowym złożeniu zatracają swoje pierwotne znaczenie i pełni funkcję cząstki tworzącej nowe słowo.
<small>[http://www.staff.uni-mainz.de/steinbac/Lehre/Grammatik/Wortbildung.pdf Uni Mainz, ''Wortbildung'', 2012]</small>
<small>[http://mmtux.idf.uni-heidelberg.de/ProGram/Grammatik/Wortbildung/Wortbildung.htm Uni Heidelberg, ''Wortbildung'', 2012]</small>
rgs1wfvi1jtibltv2u1am4bswqz7ok7
543525
543524
2026-05-20T11:43:52Z
EdytaT
2664
/* Sufixoidy (Suffixoide) */
543525
wikitext
text/x-wiki
{{Podrozdział|[[Niemiecki|Język niemiecki]]<br>[[Niemiecki/Słowotwórstwo|Słowotwórstwo]]|Tabela zrostków derywacyjnych}}
== Zrostki derywacyjne (''Derivationsaffixe'') w języku niemieckim ==
=== Afiksy rzeczownikowe (''Nominalaffixe'') ===
{|class="wikitable"
|+
! Przedrostki (''Präfixe'')
! Przedrostki (''Präfixe'')<br> pochodzenia obcego
! Przyrostki (''Suffixe'')
! Przyrostki (''Suffixe'')<br> pochodzenia obcego
|-
| erz-, ge-, haupt-, [http://pl.wiktionary.org/wiki/miss- miss-], [http://pl.wiktionary.org/wiki/un- un-], [http://pl.wiktionary.org/wiki/ur- ur-]
| a-/an-, anti-, de-/des-, dis-, ex- hyper-, in-, inter-, ko-/kon-, kom-, non-, prä-, pro-, re-, super-, trans-, ultra-
| [http://pl.wiktionary.org/wiki/-bold -bold], [http://pl.wiktionary.org/wiki/-chen -chen], [http://pl.wiktionary.org/wiki/-de -de], [http://pl.wiktionary.org/wiki/-e -e], [http://pl.wiktionary.org/wiki/-ei -(er/el)ei], [http://pl.wiktionary.org/wiki/-er -er], [http://pl.wiktionary.org/wiki/-heit -heit], [http://pl.wiktionary.org/wiki/-keit -keit]/[http://pl.wiktionary.org/wiki/-igkeit -igkeit], [http://pl.wiktionary.org/wiki/-icht -icht], [http://pl.wiktionary.org/wiki/-ian -ian]/[http://pl.wiktionary.org/wiki/-jan -jan], [http://pl.wiktionary.org/wiki/-i -i], [http://pl.wiktionary.org/wiki/-in -in], [http://pl.wiktionary.org/wiki/-kein -kein], [http://pl.wiktionary.org/wiki/-ler -ler], [http://pl.wiktionary.org/wiki/-ling -ling], [http://pl.wiktionary.org/wiki/-ner -ner], [http://pl.wiktionary.org/wiki/-nis -nis], [http://pl.wiktionary.org/wiki/-or -or], [http://pl.wiktionary.org/wiki/-rich -rich], [http://pl.wiktionary.org/wiki/-s -s], [http://pl.wiktionary.org/wiki/-sal -sal], [http://pl.wiktionary.org/wiki/-schaft -schaft], [http://pl.wiktionary.org/wiki/-sel -sel], [http://pl.wiktionary.org/wiki/-t -t], [http://pl.wiktionary.org/wiki/-tel -tel], [http://pl.wiktionary.org/wiki/-tum -tum], [http://pl.wiktionary.org/wiki/-ung -ung], [http://pl.wiktionary.org/wiki/-werk -werk], [http://pl.wiktionary.org/wiki/-wesen -wesen]
| -ament/-ement, -ant/-ent, -anz/-enz, -age, -ar/-är, -arium, -at, -aille, -ade, -asmus/[http://pl.wiktionary.org/wiki/-de -ismus], -ee, -elle, -esse, -ette, -(er)ie, -eur, -ier, -iere, -ik, -iker, -ine, -(at/t/x)ion, [http://pl.wiktionary.org/wiki/-de -ist], -(i)tät, -(at/it)or, -ose, -ur
|-
|}
=== Afiksy przymiotnikowe (''Adjektivaffixe'') ===
{|class="wikitable"
|+
! Przedrostki (''Präfixe'')
! Przedrostki (''Präfixe'')<br> pochodzenia obcego
! Przyrostki (''Suffixe'')
! Przyrostki (''Suffixe'')<br> pochodzenia obcego
|-
| erz-, [http://pl.wiktionary.org/wiki/miss- miss-], [http://pl.wiktionary.org/wiki/un- un-], [http://pl.wiktionary.org/wiki/ur- ur-]
| a-/an-, anti-, de-/des-, dis-, ex- hyper-, in-/il-/-im/-ir, inter-, ko-/kon-/kor-, non-, par-, post-, prä-, pro-, super-, trans-, ultra-
| [http://pl.wiktionary.org/wiki/-bar -bar], [http://pl.wiktionary.org/wiki/-ern -e(r)n], [http://pl.wiktionary.org/wiki/-er -er], [http://pl.wiktionary.org/wiki/-fach -fach], [http://pl.wiktionary.org/wiki/-haft -haft], [http://pl.wiktionary.org/wiki/-icht -icht], [http://pl.wiktionary.org/wiki/-ig -ig], [http://pl.wiktionary.org/wiki/-isch -isch], [http://pl.wiktionary.org/wiki/-lich -lich], [http://pl.wiktionary.org/wiki/-los -los], [http://pl.wiktionary.org/wiki/-mäßig -mäßig], [http://pl.wiktionary.org/wiki/-sam -sam], [http://pl.wiktionary.org/wiki/-voll -voll]
| -abel/-ibel, -al/-ell, -ant/-ent, -ar/-är, -esk, -iv, -oid, -os/-õs
|-
|}
=== Afiksy czasownikowe (''Verbalaffixe'') ===
{|class="wikitable"
|+
! Przedrostki (''Präfixe'')
! Przedrostki (''Präfixe'')<br> pochodzenia obcego
! Przyrostki (''Suffixe'')
! Przyrostki (''Suffixe'')<br> pochodzenia obcego
|-
| [http://pl.wiktionary.org/wiki/ab- ab-], [http://pl.wiktionary.org/wiki/an- an-], [http://pl.wiktionary.org/wiki/auf- auf-], [http://pl.wiktionary.org/wiki/aus- aus-], [http://pl.wiktionary.org/wiki/be- be-], bei-, dar-, ein-, [http://pl.wiktionary.org/wiki/ent- ent-], er-, ge-, los-, [http://pl.wiktionary.org/wiki/miss- miss-], nach-, ob, über-, [http://pl.wiktionary.org/wiki/ver- ver-], vor-, weg-, wider-, zer-, zu-
| de-/des-/dis-, in-, inter-, ko-/kom-/kon-/kor-/kol-, prä-, re-, trans-
| -ig, -(is/ifiz)ier, -(e)l, -(e)r
|
|-
|}
=== Afiksy przysłówkowe (''Adverbialaffixe'') ===
{|class="wikitable"
|+
! Przedrostki (''Präfixe'')
! Przedrostki (''Präfixe'')<br> pochodzenia obcego
! Przyrostki (''Suffixe'')
! Przyrostki (''Suffixe'')<br> pochodzenia obcego
|-
|
|
| -dings, -ens, -halben/-halber, hin-, lei, -lings, -mals, -maßen, -s, -wärts, -weg, -weise
|
|-
|}
=== Sufixoidy (''Suffixoide'') ===
* Sufixoidy (''Suffixoide''), inaczej półprzyrostki, to cząstki słowotwórcze, które stoją na pograniczu samodzielnego słowa i przyrostka. W nowym złożeniu zatracają swoje pierwotne znaczenie i pełni funkcję cząstki tworzącej nowe słowo.
* -artig
* -arm
* -fest
* -frei
* -haltig
* -los
* -mäßig
* -wärts
<small>[http://www.staff.uni-mainz.de/steinbac/Lehre/Grammatik/Wortbildung.pdf Uni Mainz, ''Wortbildung'', 2012]</small>
<small>[http://mmtux.idf.uni-heidelberg.de/ProGram/Grammatik/Wortbildung/Wortbildung.htm Uni Heidelberg, ''Wortbildung'', 2012]</small>
mhtky9fpm1c74antkgb3winayptgo1b
543526
543525
2026-05-20T11:47:54Z
EdytaT
2664
/* Sufixoidy (Suffixoide) */
543526
wikitext
text/x-wiki
{{Podrozdział|[[Niemiecki|Język niemiecki]]<br>[[Niemiecki/Słowotwórstwo|Słowotwórstwo]]|Tabela zrostków derywacyjnych}}
== Zrostki derywacyjne (''Derivationsaffixe'') w języku niemieckim ==
=== Afiksy rzeczownikowe (''Nominalaffixe'') ===
{|class="wikitable"
|+
! Przedrostki (''Präfixe'')
! Przedrostki (''Präfixe'')<br> pochodzenia obcego
! Przyrostki (''Suffixe'')
! Przyrostki (''Suffixe'')<br> pochodzenia obcego
|-
| erz-, ge-, haupt-, [http://pl.wiktionary.org/wiki/miss- miss-], [http://pl.wiktionary.org/wiki/un- un-], [http://pl.wiktionary.org/wiki/ur- ur-]
| a-/an-, anti-, de-/des-, dis-, ex- hyper-, in-, inter-, ko-/kon-, kom-, non-, prä-, pro-, re-, super-, trans-, ultra-
| [http://pl.wiktionary.org/wiki/-bold -bold], [http://pl.wiktionary.org/wiki/-chen -chen], [http://pl.wiktionary.org/wiki/-de -de], [http://pl.wiktionary.org/wiki/-e -e], [http://pl.wiktionary.org/wiki/-ei -(er/el)ei], [http://pl.wiktionary.org/wiki/-er -er], [http://pl.wiktionary.org/wiki/-heit -heit], [http://pl.wiktionary.org/wiki/-keit -keit]/[http://pl.wiktionary.org/wiki/-igkeit -igkeit], [http://pl.wiktionary.org/wiki/-icht -icht], [http://pl.wiktionary.org/wiki/-ian -ian]/[http://pl.wiktionary.org/wiki/-jan -jan], [http://pl.wiktionary.org/wiki/-i -i], [http://pl.wiktionary.org/wiki/-in -in], [http://pl.wiktionary.org/wiki/-kein -kein], [http://pl.wiktionary.org/wiki/-ler -ler], [http://pl.wiktionary.org/wiki/-ling -ling], [http://pl.wiktionary.org/wiki/-ner -ner], [http://pl.wiktionary.org/wiki/-nis -nis], [http://pl.wiktionary.org/wiki/-or -or], [http://pl.wiktionary.org/wiki/-rich -rich], [http://pl.wiktionary.org/wiki/-s -s], [http://pl.wiktionary.org/wiki/-sal -sal], [http://pl.wiktionary.org/wiki/-schaft -schaft], [http://pl.wiktionary.org/wiki/-sel -sel], [http://pl.wiktionary.org/wiki/-t -t], [http://pl.wiktionary.org/wiki/-tel -tel], [http://pl.wiktionary.org/wiki/-tum -tum], [http://pl.wiktionary.org/wiki/-ung -ung], [http://pl.wiktionary.org/wiki/-werk -werk], [http://pl.wiktionary.org/wiki/-wesen -wesen]
| -ament/-ement, -ant/-ent, -anz/-enz, -age, -ar/-är, -arium, -at, -aille, -ade, -asmus/[http://pl.wiktionary.org/wiki/-de -ismus], -ee, -elle, -esse, -ette, -(er)ie, -eur, -ier, -iere, -ik, -iker, -ine, -(at/t/x)ion, [http://pl.wiktionary.org/wiki/-de -ist], -(i)tät, -(at/it)or, -ose, -ur
|-
|}
=== Afiksy przymiotnikowe (''Adjektivaffixe'') ===
{|class="wikitable"
|+
! Przedrostki (''Präfixe'')
! Przedrostki (''Präfixe'')<br> pochodzenia obcego
! Przyrostki (''Suffixe'')
! Przyrostki (''Suffixe'')<br> pochodzenia obcego
|-
| erz-, [http://pl.wiktionary.org/wiki/miss- miss-], [http://pl.wiktionary.org/wiki/un- un-], [http://pl.wiktionary.org/wiki/ur- ur-]
| a-/an-, anti-, de-/des-, dis-, ex- hyper-, in-/il-/-im/-ir, inter-, ko-/kon-/kor-, non-, par-, post-, prä-, pro-, super-, trans-, ultra-
| [http://pl.wiktionary.org/wiki/-bar -bar], [http://pl.wiktionary.org/wiki/-ern -e(r)n], [http://pl.wiktionary.org/wiki/-er -er], [http://pl.wiktionary.org/wiki/-fach -fach], [http://pl.wiktionary.org/wiki/-haft -haft], [http://pl.wiktionary.org/wiki/-icht -icht], [http://pl.wiktionary.org/wiki/-ig -ig], [http://pl.wiktionary.org/wiki/-isch -isch], [http://pl.wiktionary.org/wiki/-lich -lich], [http://pl.wiktionary.org/wiki/-los -los], [http://pl.wiktionary.org/wiki/-mäßig -mäßig], [http://pl.wiktionary.org/wiki/-sam -sam], [http://pl.wiktionary.org/wiki/-voll -voll]
| -abel/-ibel, -al/-ell, -ant/-ent, -ar/-är, -esk, -iv, -oid, -os/-õs
|-
|}
=== Afiksy czasownikowe (''Verbalaffixe'') ===
{|class="wikitable"
|+
! Przedrostki (''Präfixe'')
! Przedrostki (''Präfixe'')<br> pochodzenia obcego
! Przyrostki (''Suffixe'')
! Przyrostki (''Suffixe'')<br> pochodzenia obcego
|-
| [http://pl.wiktionary.org/wiki/ab- ab-], [http://pl.wiktionary.org/wiki/an- an-], [http://pl.wiktionary.org/wiki/auf- auf-], [http://pl.wiktionary.org/wiki/aus- aus-], [http://pl.wiktionary.org/wiki/be- be-], bei-, dar-, ein-, [http://pl.wiktionary.org/wiki/ent- ent-], er-, ge-, los-, [http://pl.wiktionary.org/wiki/miss- miss-], nach-, ob, über-, [http://pl.wiktionary.org/wiki/ver- ver-], vor-, weg-, wider-, zer-, zu-
| de-/des-/dis-, in-, inter-, ko-/kom-/kon-/kor-/kol-, prä-, re-, trans-
| -ig, -(is/ifiz)ier, -(e)l, -(e)r
|
|-
|}
=== Afiksy przysłówkowe (''Adverbialaffixe'') ===
{|class="wikitable"
|+
! Przedrostki (''Präfixe'')
! Przedrostki (''Präfixe'')<br> pochodzenia obcego
! Przyrostki (''Suffixe'')
! Przyrostki (''Suffixe'')<br> pochodzenia obcego
|-
|
|
| -dings, -ens, -halben/-halber, hin-, lei, -lings, -mals, -maßen, -s, -wärts, -weg, -weise
|
|-
|}
=== Sufixoidy (''Suffixoide'') ===
* Sufixoidy (''Suffixoide''), inaczej półprzyrostki, to cząstki słowotwórcze, które stoją na pograniczu samodzielnego słowa i przyrostka. W nowym złożeniu zatracają swoje pierwotne znaczenie i pełni funkcję cząstki tworzącej nowe słowo.
* [http://pl.wiktionary.org/wiki/-artig -artig]
* [http://pl.wiktionary.org/wiki/-artig -arm]
* [http://pl.wiktionary.org/wiki/-artig -fest]
* [http://pl.wiktionary.org/wiki/-artig -frei]
* [http://pl.wiktionary.org/wiki/-artig -haltig]
* [http://pl.wiktionary.org/wiki/-artig -los]
* [http://pl.wiktionary.org/wiki/-artig -mäßig]
* [http://pl.wiktionary.org/wiki/-artig -reich]
* [http://pl.wiktionary.org/wiki/-artig -wärts]
<small>[http://www.staff.uni-mainz.de/steinbac/Lehre/Grammatik/Wortbildung.pdf Uni Mainz, ''Wortbildung'', 2012]</small>
<small>[http://mmtux.idf.uni-heidelberg.de/ProGram/Grammatik/Wortbildung/Wortbildung.htm Uni Heidelberg, ''Wortbildung'', 2012]</small>
5uz9bpwl6bqq3013zjk523wimrgjhpa
543527
543526
2026-05-20T11:51:49Z
EdytaT
2664
/* Sufixoidy (Suffixoide) */
543527
wikitext
text/x-wiki
{{Podrozdział|[[Niemiecki|Język niemiecki]]<br>[[Niemiecki/Słowotwórstwo|Słowotwórstwo]]|Tabela zrostków derywacyjnych}}
== Zrostki derywacyjne (''Derivationsaffixe'') w języku niemieckim ==
=== Afiksy rzeczownikowe (''Nominalaffixe'') ===
{|class="wikitable"
|+
! Przedrostki (''Präfixe'')
! Przedrostki (''Präfixe'')<br> pochodzenia obcego
! Przyrostki (''Suffixe'')
! Przyrostki (''Suffixe'')<br> pochodzenia obcego
|-
| erz-, ge-, haupt-, [http://pl.wiktionary.org/wiki/miss- miss-], [http://pl.wiktionary.org/wiki/un- un-], [http://pl.wiktionary.org/wiki/ur- ur-]
| a-/an-, anti-, de-/des-, dis-, ex- hyper-, in-, inter-, ko-/kon-, kom-, non-, prä-, pro-, re-, super-, trans-, ultra-
| [http://pl.wiktionary.org/wiki/-bold -bold], [http://pl.wiktionary.org/wiki/-chen -chen], [http://pl.wiktionary.org/wiki/-de -de], [http://pl.wiktionary.org/wiki/-e -e], [http://pl.wiktionary.org/wiki/-ei -(er/el)ei], [http://pl.wiktionary.org/wiki/-er -er], [http://pl.wiktionary.org/wiki/-heit -heit], [http://pl.wiktionary.org/wiki/-keit -keit]/[http://pl.wiktionary.org/wiki/-igkeit -igkeit], [http://pl.wiktionary.org/wiki/-icht -icht], [http://pl.wiktionary.org/wiki/-ian -ian]/[http://pl.wiktionary.org/wiki/-jan -jan], [http://pl.wiktionary.org/wiki/-i -i], [http://pl.wiktionary.org/wiki/-in -in], [http://pl.wiktionary.org/wiki/-kein -kein], [http://pl.wiktionary.org/wiki/-ler -ler], [http://pl.wiktionary.org/wiki/-ling -ling], [http://pl.wiktionary.org/wiki/-ner -ner], [http://pl.wiktionary.org/wiki/-nis -nis], [http://pl.wiktionary.org/wiki/-or -or], [http://pl.wiktionary.org/wiki/-rich -rich], [http://pl.wiktionary.org/wiki/-s -s], [http://pl.wiktionary.org/wiki/-sal -sal], [http://pl.wiktionary.org/wiki/-schaft -schaft], [http://pl.wiktionary.org/wiki/-sel -sel], [http://pl.wiktionary.org/wiki/-t -t], [http://pl.wiktionary.org/wiki/-tel -tel], [http://pl.wiktionary.org/wiki/-tum -tum], [http://pl.wiktionary.org/wiki/-ung -ung], [http://pl.wiktionary.org/wiki/-werk -werk], [http://pl.wiktionary.org/wiki/-wesen -wesen]
| -ament/-ement, -ant/-ent, -anz/-enz, -age, -ar/-är, -arium, -at, -aille, -ade, -asmus/[http://pl.wiktionary.org/wiki/-de -ismus], -ee, -elle, -esse, -ette, -(er)ie, -eur, -ier, -iere, -ik, -iker, -ine, -(at/t/x)ion, [http://pl.wiktionary.org/wiki/-de -ist], -(i)tät, -(at/it)or, -ose, -ur
|-
|}
=== Afiksy przymiotnikowe (''Adjektivaffixe'') ===
{|class="wikitable"
|+
! Przedrostki (''Präfixe'')
! Przedrostki (''Präfixe'')<br> pochodzenia obcego
! Przyrostki (''Suffixe'')
! Przyrostki (''Suffixe'')<br> pochodzenia obcego
|-
| erz-, [http://pl.wiktionary.org/wiki/miss- miss-], [http://pl.wiktionary.org/wiki/un- un-], [http://pl.wiktionary.org/wiki/ur- ur-]
| a-/an-, anti-, de-/des-, dis-, ex- hyper-, in-/il-/-im/-ir, inter-, ko-/kon-/kor-, non-, par-, post-, prä-, pro-, super-, trans-, ultra-
| [http://pl.wiktionary.org/wiki/-bar -bar], [http://pl.wiktionary.org/wiki/-ern -e(r)n], [http://pl.wiktionary.org/wiki/-er -er], [http://pl.wiktionary.org/wiki/-fach -fach], [http://pl.wiktionary.org/wiki/-haft -haft], [http://pl.wiktionary.org/wiki/-icht -icht], [http://pl.wiktionary.org/wiki/-ig -ig], [http://pl.wiktionary.org/wiki/-isch -isch], [http://pl.wiktionary.org/wiki/-lich -lich], [http://pl.wiktionary.org/wiki/-los -los], [http://pl.wiktionary.org/wiki/-mäßig -mäßig], [http://pl.wiktionary.org/wiki/-sam -sam], [http://pl.wiktionary.org/wiki/-voll -voll]
| -abel/-ibel, -al/-ell, -ant/-ent, -ar/-är, -esk, -iv, -oid, -os/-õs
|-
|}
=== Afiksy czasownikowe (''Verbalaffixe'') ===
{|class="wikitable"
|+
! Przedrostki (''Präfixe'')
! Przedrostki (''Präfixe'')<br> pochodzenia obcego
! Przyrostki (''Suffixe'')
! Przyrostki (''Suffixe'')<br> pochodzenia obcego
|-
| [http://pl.wiktionary.org/wiki/ab- ab-], [http://pl.wiktionary.org/wiki/an- an-], [http://pl.wiktionary.org/wiki/auf- auf-], [http://pl.wiktionary.org/wiki/aus- aus-], [http://pl.wiktionary.org/wiki/be- be-], bei-, dar-, ein-, [http://pl.wiktionary.org/wiki/ent- ent-], er-, ge-, los-, [http://pl.wiktionary.org/wiki/miss- miss-], nach-, ob, über-, [http://pl.wiktionary.org/wiki/ver- ver-], vor-, weg-, wider-, zer-, zu-
| de-/des-/dis-, in-, inter-, ko-/kom-/kon-/kor-/kol-, prä-, re-, trans-
| -ig, -(is/ifiz)ier, -(e)l, -(e)r
|
|-
|}
=== Afiksy przysłówkowe (''Adverbialaffixe'') ===
{|class="wikitable"
|+
! Przedrostki (''Präfixe'')
! Przedrostki (''Präfixe'')<br> pochodzenia obcego
! Przyrostki (''Suffixe'')
! Przyrostki (''Suffixe'')<br> pochodzenia obcego
|-
|
|
| -dings, -ens, -halben/-halber, hin-, lei, -lings, -mals, -maßen, -s, -wärts, -weg, -weise
|
|-
|}
=== Sufixoidy (''Suffixoide'') ===
* Sufixoidy (''Suffixoide''), inaczej półprzyrostki, to cząstki słowotwórcze, które stoją na pograniczu samodzielnego słowa i przyrostka. W nowym złożeniu zatracają swoje pierwotne znaczenie i pełni funkcję cząstki tworzącej nowe słowo.
* [http://pl.wiktionary.org/wiki/-artig -artig]
* [http://pl.wiktionary.org/wiki/-artig -arm]
* [http://pl.wiktionary.org/wiki/-artig -fest]
* [http://pl.wiktionary.org/wiki/-artig -frei]
* [http://pl.wiktionary.org/wiki/-artig -haltig]
* [http://pl.wiktionary.org/wiki/-artig -los]
* [http://pl.wiktionary.org/wiki/-artig -mäßig]
* [http://pl.wiktionary.org/wiki/-artig -reich]
* [http://pl.wiktionary.org/wiki/-artig -wärts]
stedrw3e2a4uh0hf3bfh4hie683qni8
543528
543527
2026-05-20T11:54:39Z
EdytaT
2664
543528
wikitext
text/x-wiki
{{Podrozdział|[[Niemiecki|Język niemiecki]]<br>[[Niemiecki/Słowotwórstwo|Słowotwórstwo]]|Tabela zrostków derywacyjnych}}
== Zrostki derywacyjne (''Derivationsaffixe'') w języku niemieckim ==
=== Afiksy rzeczownikowe (''Nominalaffixe'') ===
{|class="wikitable"
|+
! Przedrostki (''Präfixe'')
! Przedrostki (''Präfixe'')<br> pochodzenia obcego
! Przyrostki (''Suffixe'')
! Przyrostki (''Suffixe'')<br> pochodzenia obcego
|-
| erz-, ge-, haupt-, [http://pl.wiktionary.org/wiki/miss- miss-], [http://pl.wiktionary.org/wiki/un- un-], [http://pl.wiktionary.org/wiki/ur- ur-]
| a-/an-, anti-, de-/des-, dis-, ex- hyper-, in-, inter-, ko-/kon-, kom-, non-, prä-, pro-, re-, super-, trans-, ultra-
| [http://pl.wiktionary.org/wiki/-bold -bold], [http://pl.wiktionary.org/wiki/-chen -chen], [http://pl.wiktionary.org/wiki/-de -de], [http://pl.wiktionary.org/wiki/-e -e], [http://pl.wiktionary.org/wiki/-ei -(er/el)ei], [http://pl.wiktionary.org/wiki/-er -er], [http://pl.wiktionary.org/wiki/-heit -heit], [http://pl.wiktionary.org/wiki/-keit -keit]/[http://pl.wiktionary.org/wiki/-igkeit -igkeit], [http://pl.wiktionary.org/wiki/-icht -icht], [http://pl.wiktionary.org/wiki/-ian -ian]/[http://pl.wiktionary.org/wiki/-jan -jan], [http://pl.wiktionary.org/wiki/-i -i], [http://pl.wiktionary.org/wiki/-in -in], [http://pl.wiktionary.org/wiki/-kein -kein], [http://pl.wiktionary.org/wiki/-ler -ler], [http://pl.wiktionary.org/wiki/-ling -ling], [http://pl.wiktionary.org/wiki/-ner -ner], [http://pl.wiktionary.org/wiki/-nis -nis], [http://pl.wiktionary.org/wiki/-or -or], [http://pl.wiktionary.org/wiki/-rich -rich], [http://pl.wiktionary.org/wiki/-s -s], [http://pl.wiktionary.org/wiki/-sal -sal], [http://pl.wiktionary.org/wiki/-schaft -schaft], [http://pl.wiktionary.org/wiki/-sel -sel], [http://pl.wiktionary.org/wiki/-t -t], [http://pl.wiktionary.org/wiki/-tel -tel], [http://pl.wiktionary.org/wiki/-tum -tum], [http://pl.wiktionary.org/wiki/-ung -ung], [http://pl.wiktionary.org/wiki/-werk -werk], [http://pl.wiktionary.org/wiki/-wesen -wesen]
| -ament/-ement, -ant/-ent, -anz/-enz, -age, -ar/-är, -arium, -at, -aille, -ade, -asmus/[http://pl.wiktionary.org/wiki/-de -ismus], -ee, -elle, -esse, -ette, -(er)ie, -eur, -ier, -iere, -ik, -iker, -ine, -(at/t/x)ion, [http://pl.wiktionary.org/wiki/-de -ist], -(i)tät, -(at/it)or, -ose, -ur
|-
|}
=== Afiksy przymiotnikowe (''Adjektivaffixe'') ===
{|class="wikitable"
|+
! Przedrostki (''Präfixe'')
! Przedrostki (''Präfixe'')<br> pochodzenia obcego
! Przyrostki (''Suffixe'')
! Przyrostki (''Suffixe'')<br> pochodzenia obcego
|-
| erz-, [http://pl.wiktionary.org/wiki/miss- miss-], [http://pl.wiktionary.org/wiki/un- un-], [http://pl.wiktionary.org/wiki/ur- ur-]
| a-/an-, anti-, de-/des-, dis-, ex- hyper-, in-/il-/-im/-ir, inter-, ko-/kon-/kor-, non-, par-, post-, prä-, pro-, super-, trans-, ultra-
| [http://pl.wiktionary.org/wiki/-bar -bar], [http://pl.wiktionary.org/wiki/-ern -e(r)n], [http://pl.wiktionary.org/wiki/-er -er], [http://pl.wiktionary.org/wiki/-fach -fach], [http://pl.wiktionary.org/wiki/-haft -haft], [http://pl.wiktionary.org/wiki/-icht -icht], [http://pl.wiktionary.org/wiki/-ig -ig], [http://pl.wiktionary.org/wiki/-isch -isch], [http://pl.wiktionary.org/wiki/-lich -lich], [http://pl.wiktionary.org/wiki/-los -los], [http://pl.wiktionary.org/wiki/-sam -sam], [http://pl.wiktionary.org/wiki/-voll -voll]
| -abel/-ibel, -al/-ell, -ant/-ent, -ar/-är, -esk, -iv, -oid, -os/-õs
|-
|}
=== Afiksy czasownikowe (''Verbalaffixe'') ===
{|class="wikitable"
|+
! Przedrostki (''Präfixe'')
! Przedrostki (''Präfixe'')<br> pochodzenia obcego
! Przyrostki (''Suffixe'')
! Przyrostki (''Suffixe'')<br> pochodzenia obcego
|-
| [http://pl.wiktionary.org/wiki/ab- ab-], [http://pl.wiktionary.org/wiki/an- an-], [http://pl.wiktionary.org/wiki/auf- auf-], [http://pl.wiktionary.org/wiki/aus- aus-], [http://pl.wiktionary.org/wiki/be- be-], bei-, dar-, ein-, [http://pl.wiktionary.org/wiki/ent- ent-], er-, ge-, los-, [http://pl.wiktionary.org/wiki/miss- miss-], nach-, ob, über-, [http://pl.wiktionary.org/wiki/ver- ver-], vor-, weg-, wider-, zer-, zu-
| de-/des-/dis-, in-, inter-, ko-/kom-/kon-/kor-/kol-, prä-, re-, trans-
| -ig, -(is/ifiz)ier, -(e)l, -(e)r
|
|-
|}
=== Afiksy przysłówkowe (''Adverbialaffixe'') ===
{|class="wikitable"
|+
! Przedrostki (''Präfixe'')
! Przedrostki (''Präfixe'')<br> pochodzenia obcego
! Przyrostki (''Suffixe'')
! Przyrostki (''Suffixe'')<br> pochodzenia obcego
|-
|
|
| -dings, -ens, -halben/-halber, hin-, lei, -lings, -mals, -maßen, -s, -wärts, -weg, -weise
|
|-
|}
=== Sufixoidy (''Suffixoide'') ===
* Sufixoidy (''Suffixoide''), inaczej półprzyrostki, to cząstki słowotwórcze, które stoją na pograniczu samodzielnego słowa i przyrostka. W nowym złożeniu zatracają swoje pierwotne znaczenie i pełni funkcję cząstki tworzącej nowe słowo.
* [http://pl.wiktionary.org/wiki/-artig -artig]
* [http://pl.wiktionary.org/wiki/-artig -arm]
* [http://pl.wiktionary.org/wiki/-artig -fest]
* [http://pl.wiktionary.org/wiki/-artig -frei]
* [http://pl.wiktionary.org/wiki/-artig -haltig]
* [http://pl.wiktionary.org/wiki/-artig -los]
* [http://pl.wiktionary.org/wiki/-artig -mäßig]
* [http://pl.wiktionary.org/wiki/-artig -reich]
* [http://pl.wiktionary.org/wiki/-artig -wärts]
qm33uckg9jf4xlbigga4fj4ibratw8o
543529
543528
2026-05-20T11:56:30Z
EdytaT
2664
543529
wikitext
text/x-wiki
{{Podrozdział|[[Niemiecki|Język niemiecki]]<br>[[Niemiecki/Słowotwórstwo|Słowotwórstwo]]|Tabela zrostków derywacyjnych}}
== Zrostki derywacyjne (''Derivationsaffixe'') w języku niemieckim ==
=== Afiksy rzeczownikowe (''Nominalaffixe'') ===
{|class="wikitable"
|+
! Przedrostki (''Präfixe'')
! Przedrostki (''Präfixe'')<br> pochodzenia obcego
! Przyrostki (''Suffixe'')
! Przyrostki (''Suffixe'')<br> pochodzenia obcego
|-
| erz-, ge-, haupt-, [http://pl.wiktionary.org/wiki/miss- miss-], [http://pl.wiktionary.org/wiki/un- un-], [http://pl.wiktionary.org/wiki/ur- ur-]
| a-/an-, anti-, de-/des-, dis-, ex- hyper-, in-, inter-, ko-/kon-, kom-, non-, prä-, pro-, re-, super-, trans-, ultra-
| [http://pl.wiktionary.org/wiki/-bold -bold], [http://pl.wiktionary.org/wiki/-chen -chen], [http://pl.wiktionary.org/wiki/-de -de], [http://pl.wiktionary.org/wiki/-e -e], [http://pl.wiktionary.org/wiki/-ei -(er/el)ei], [http://pl.wiktionary.org/wiki/-er -er], [http://pl.wiktionary.org/wiki/-heit -heit], [http://pl.wiktionary.org/wiki/-keit -keit]/[http://pl.wiktionary.org/wiki/-igkeit -igkeit], [http://pl.wiktionary.org/wiki/-icht -icht], [http://pl.wiktionary.org/wiki/-ian -ian]/[http://pl.wiktionary.org/wiki/-jan -jan], [http://pl.wiktionary.org/wiki/-i -i], [http://pl.wiktionary.org/wiki/-in -in], [http://pl.wiktionary.org/wiki/-kein -kein], [http://pl.wiktionary.org/wiki/-ler -ler], [http://pl.wiktionary.org/wiki/-ling -ling], [http://pl.wiktionary.org/wiki/-ner -ner], [http://pl.wiktionary.org/wiki/-nis -nis], [http://pl.wiktionary.org/wiki/-or -or], [http://pl.wiktionary.org/wiki/-rich -rich], [http://pl.wiktionary.org/wiki/-s -s], [http://pl.wiktionary.org/wiki/-sal -sal], [http://pl.wiktionary.org/wiki/-schaft -schaft], [http://pl.wiktionary.org/wiki/-sel -sel], [http://pl.wiktionary.org/wiki/-t -t], [http://pl.wiktionary.org/wiki/-tel -tel], [http://pl.wiktionary.org/wiki/-tum -tum], [http://pl.wiktionary.org/wiki/-ung -ung], [http://pl.wiktionary.org/wiki/-werk -werk], [http://pl.wiktionary.org/wiki/-wesen -wesen]
| -ament/-ement, -ant/-ent, -anz/-enz, -age, -ar/-är, -arium, -at, -aille, -ade, -asmus/[http://pl.wiktionary.org/wiki/-de -ismus], -ee, -elle, -esse, -ette, -(er)ie, -eur, -ier, -iere, -ik, -iker, -ine, -(at/t/x)ion, [http://pl.wiktionary.org/wiki/-de -ist], -(i)tät, -(at/it)or, -ose, -ur
|-
|}
=== Afiksy przymiotnikowe (''Adjektivaffixe'') ===
{|class="wikitable"
|+
! Przedrostki (''Präfixe'')
! Przedrostki (''Präfixe'')<br> pochodzenia obcego
! Przyrostki (''Suffixe'')
! Przyrostki (''Suffixe'')<br> pochodzenia obcego
|-
| erz-, [http://pl.wiktionary.org/wiki/miss- miss-], [http://pl.wiktionary.org/wiki/un- un-], [http://pl.wiktionary.org/wiki/ur- ur-]
| a-/an-, anti-, de-/des-, dis-, ex- hyper-, in-/il-/-im/-ir, inter-, ko-/kon-/kor-, non-, par-, post-, prä-, pro-, super-, trans-, ultra-
| [http://pl.wiktionary.org/wiki/-bar -bar], [http://pl.wiktionary.org/wiki/-ern -e(r)n], [http://pl.wiktionary.org/wiki/-er -er], [http://pl.wiktionary.org/wiki/-fach -fach], [http://pl.wiktionary.org/wiki/-haft -haft], [http://pl.wiktionary.org/wiki/-icht -icht], [http://pl.wiktionary.org/wiki/-ig -ig], [http://pl.wiktionary.org/wiki/-isch -isch], [http://pl.wiktionary.org/wiki/-lich -lich], [http://pl.wiktionary.org/wiki/-los -los], [http://pl.wiktionary.org/wiki/-sam -sam], [http://pl.wiktionary.org/wiki/-voll -voll]
| -abel/-ibel, -al/-ell, -ant/-ent, -ar/-är, -esk, -iv, -oid, -os/-õs
|-
|}
=== Afiksy czasownikowe (''Verbalaffixe'') ===
{|class="wikitable"
|+
! Przedrostki (''Präfixe'')
! Przedrostki (''Präfixe'')<br> pochodzenia obcego
! Przyrostki (''Suffixe'')
! Przyrostki (''Suffixe'')<br> pochodzenia obcego
|-
| [http://pl.wiktionary.org/wiki/ab- ab-], [http://pl.wiktionary.org/wiki/an- an-], [http://pl.wiktionary.org/wiki/auf- auf-], [http://pl.wiktionary.org/wiki/aus- aus-], [http://pl.wiktionary.org/wiki/be- be-], bei-, dar-, ein-, [http://pl.wiktionary.org/wiki/ent- ent-], er-, ge-, los-, [http://pl.wiktionary.org/wiki/miss- miss-], nach-, ob, über-, [http://pl.wiktionary.org/wiki/ver- ver-], vor-, weg-, wider-, zer-, zu-
| de-/des-/dis-, in-, inter-, ko-/kom-/kon-/kor-/kol-, prä-, re-, trans-
| -ig, -(is/ifiz)ier, -(e)l, -(e)r
|
|-
|}
=== Afiksy przysłówkowe (''Adverbialaffixe'') ===
{|class="wikitable"
|+
! Przedrostki (''Präfixe'')
! Przedrostki (''Präfixe'')<br> pochodzenia obcego
! Przyrostki (''Suffixe'')
! Przyrostki (''Suffixe'')<br> pochodzenia obcego
|-
|
|
| -dings, -ens, -halben/-halber, hin-, lei, -lings, -mals, -maßen, -s, -wärts, -weg, -weise
|
|-
|}
=== Sufixoidy (''Suffixoide'') ===
* Sufixoidy (''Suffixoide''), inaczej półprzyrostki, to cząstki słowotwórcze, które stoją na pograniczu samodzielnego słowa i przyrostka. W nowym złożeniu zatracają swoje pierwotne znaczenie i pełni funkcję cząstki tworzącej nowe słowo.
* [http://pl.wiktionary.org/wiki/-artig -artig]
* [http://pl.wiktionary.org/wiki/-artig -arm]
* [http://pl.wiktionary.org/wiki/-artig -fest]
* [http://pl.wiktionary.org/wiki/-artig -frei]
* [http://pl.wiktionary.org/wiki/-artig -haltig]
* [http://pl.wiktionary.org/wiki/-artig -los]
* [http://pl.wiktionary.org/wiki/-artig -mäßig]
* [http://pl.wiktionary.org/wiki/-artig -reich]
ix1q193zh7tg5qljpgjtbsuqdtik7ld
Szablon:Status
10
27687
543456
543453
2026-05-19T12:15:02Z
Persino
2851
543456
wikitext
text/x-wiki
<includeonly><!--
-->{{#switch:{{#if:{{{artykuł|}}}<!--
-->|strona artykułu<!--
-->|{{#invoke:Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych=tak}}<!--
-->}}<!--
-->|podręcznik|podręcznik dla dzieci|strona artykułu=<!--
-->{{#invoke:Ramka|Szablon|parametry funkcji modułu pudełek=tak|Nazwa=Status/silnik
| ukończona = {{Zastąp|ciąg={{{1|}}}|wzór=^%s*[%-%+]?%s*0*(%d+)%%?%s*$|zamień=%1}}
| polecana = {{#if:{{Dopasuj|ciąg={{{1}}}|wzór=^%s*(%+).*$}}|tak}}
| typ = {{{typ|}}}
| nie kategorie =
| id = {{{id|}}}
| styl plik = height:100%;display:flex;flex-direction:column;align-items: stretch;justify-content: center;
| pl:w = {{Jeśli niepuste
|{{#invoke:wiki|WikidaneOdpowiednikStrony|wyspecjalizowana=tak|nazwa strony={{#invoke:Pudełko|Pełna nazwa jednostki}}|kod języka bazy=pl|kod projektu bazy=b|kod języka=pl|kod projektu=w}}
|{{#invoke:wiki|WikidaneOdpowiednikStrony|wyspecjalizowana=tak|nazwa strony={{#invoke:Pudełko|Pełna nazwa jednostki}}|kod języka bazy=pl|kod projektu bazy=w|kod języka=pl|kod projektu=w}}
}}
| en:b = {{Jeśli niepuste
|{{#invoke:wiki|WikidaneOdpowiednikStrony|wyspecjalizowana=tak|nazwa strony={{#invoke:Pudełko|Pełna nazwa jednostki}}|kod języka bazy=pl|kod projektu bazy=b|kod języka=en|kod projektu=b}}
|{{#invoke:wiki|WikidaneOdpowiednikStrony|wyspecjalizowana=tak|nazwa strony={{#invoke:Pudełko|Pełna nazwa jednostki}}|kod języka bazy=pl|kod projektu bazy=w|kod języka=en|kod projektu=b}}
}}
| pl:s = {{Jeśli niepuste
|{{#invoke:wiki|WikidaneOdpowiednikStrony|wyspecjalizowana=tak|nazwa strony={{#invoke:Pudełko|Pełna nazwa jednostki}}|kod języka bazy=pl|kod projektu bazy=b|kod języka=pl|kod projektu=s}}
|{{#invoke:wiki|WikidaneOdpowiednikStrony|wyspecjalizowana=tak|nazwa strony={{#invoke:Pudełko|Pełna nazwa jednostki}}|kod języka bazy=pl|kod projektu bazy=w|kod języka=pl|kod projektu=s}}
}}
| pl:q = {{Jeśli niepuste
|{{#invoke:wiki|WikidaneOdpowiednikStrony|wyspecjalizowana=tak|nazwa strony={{#invoke:Pudełko|Pełna nazwa jednostki}}|kod języka bazy=pl|kod projektu bazy=b|kod języka=pl|kod projektu=q}}
|{{#invoke:wiki|WikidaneOdpowiednikStrony|wyspecjalizowana=tak|nazwa strony={{#invoke:Pudełko|Pełna nazwa jednostki}}|kod języka bazy=pl|kod projektu bazy=w|kod języka=pl|kod projektu=q}}
}}
| pl:wikt = {{Jeśli niepuste
|{{#invoke:wiki|WikidaneOdpowiednikStrony|wyspecjalizowana=tak|nazwa strony={{#invoke:Pudełko|Pełna nazwa jednostki}}|kod języka bazy=pl|kod projektu bazy=b|kod języka=pl|kod projektu=wikt}}
|{{#invoke:wiki|WikidaneOdpowiednikStrony|wyspecjalizowana=tak|nazwa strony={{#invoke:Pudełko|Pełna nazwa jednostki}}|kod języka bazy=pl|kod projektu bazy=w|kod języka=pl|kod projektu=wikt}}
}}
| en:v = {{Jeśli niepuste
|{{#invoke:wiki|WikidaneOdpowiednikStrony|wyspecjalizowana=tak|nazwa strony={{#invoke:Pudełko|Pełna nazwa jednostki}}|kod języka bazy=pl|kod projektu bazy=b|kod języka=en|kod projektu=v}}
|{{#invoke:wiki|WikidaneOdpowiednikStrony|wyspecjalizowana=tak|nazwa strony={{#invoke:Pudełko|Pełna nazwa jednostki}}|kod języka bazy=pl|kod projektu bazy=w|kod języka=en|kod projektu=v}}
}}
| d = {{Jeśli niepuste
|{{#invoke:Wikidane|id|{{#invoke:Pudełko|Pełna nazwa jednostki}}|id=plwikibooks}}
|{{#invoke:Wikidane|id|{{#invoke:Pudełko|Pełna nazwa jednostki}}|id=plwiki}}
}}<!--
-->}}<!--
-->{{#if:{{{1|}}}|<!--
-->{{#if:{{Dopasuj|ciąg={{{1}}}|wzór=^%s*([%+%-]).*$}}|<!--
-->{{#ifeq:{{#invoke:Pudełko|Nazwa przestrzeni nazw 2}}|Wikijunior|<!--
-->{{#invoke:Skrót|Kategoria|Wikijunior}}<!--
-->{{#if:{{{junior|}}}|<!--
-->{{#invoke:Ramka|PrzetwarzajIterującCiąg
|ciąg={{{junior}}}
| 1= {{((}}#if:{{((}}ciąg{{))}}
{{!}}{{((}}#invoke:Skrót{{!}}Kategoria{{!}}Wikijunior:{{((}}ucfirst:{{((}}ciąg{{))}}{{))}}{{))}}
{{))}}<!--
-->}}<!--
-->}}<!--
-->}}<!--
-->{{#if:{{{archiwalna|}}}|{{#invoke:Skrót|Kategoria|Archiwalne}}}}<!--
-->{{#if:{{Dopasuj|ciąg={{#invoke:Pudełko|Nazwa jednostki 2}}|wzór=^([^/]+)$}}|<!--
-->{{#invoke:Skrót|Kategoria|Wszystkie książki}}<!--
-->{{#invoke:Skrót|Kategoria|Spis alfabetyczny/{{Dopasuj|ciąg={{#invoke:Pudełko|Nazwa jednostki 2}}|wzór=^(.).*$}}}}<!--
-->{{#if:{{{poziom|}}}|<!--
-->{{#invoke:Ramka|PrzetwarzajIterującCiąg
|ciąg={{{poziom}}}
| 1= {{((}}#if:{{((}}ciąg{{))}}<!--
-->{{!}}{{((}}#invoke:Skrót{{!}}Kategoria{{!}}{{((}}ciąg{{))}}{{))}}<!--
-->{{))}}{{((}}#if:{{(((}}typ{{!}}{{)))}}{{!}}<!--<!--
-->{{((}}#switch:{{((}}ucfirst:{{((}}ciąg{{))}}{{))}}<!--
-->{{!}}Studia{{=}}{{((}}#invoke:Skrót{{!}}Kategoria{{!}}Akademickie książki {{(((}}typ{{)))}}{{))}}<!--
-->{{))}}<!--
-->{{))}}<!--
-->}}<!--
<!-- -->}}<!--
-->}}<!--
-->{{#if:{{{korzeń|}}}|<!--
-->{{#invoke:Skrót|Kategoria|{{{korzeń}}}|*}}<!--
-->}}<!--
-->{{#if:{{{główna|}}}|<!--
-->{{#invoke:Skrót|Kategoria|{{{główna}}}|sortuj spacją=tak}}<!--
-->}}<!--
-->{{#if:{{{rodzaj|}}}|<!--
-->{{#invoke:Ramka|PrzetwarzajIterującCiąg
|ciąg={{{rodzaj}}}
| 1= {{((}}#if:{{((}}ciąg{{))}}<!--
-->{{!}}{{((}}#invoke:Skrót{{!}}Kategoria{{!}}{{((}}ciąg{{))}}{{))}}<!--
-->{{))}}<!--
-->}}<!--
-->}}<!--
-->{{#if:{{#invoke:Ramka|Powtarzaj|start=2|{{((}}Dopasuj{{!}}ciąg{{=}}{{(((}}{{((}}_{{))}}{{)))}}{{!}}wzór{{=}}^%s*([Kk]siążka)%s*:%s*.+${{))}}}}
|
|{{#ifexist:{{Ns:Category}}:Książka:{{#invoke:Pudełko|Pełna nazwa jednostki 2}}|{{#invoke:Skrót|Kategoria|Książka:{{#invoke:Pudełko|Pełna nazwa jednostki 2}}|sortuj spacją={{#if:{{{książka|}}}||tak}}}}}}
}}
{{#invoke:Ramka|Powtarzaj|start=2|<!--
-->{{((}}#if:{{(((}}{{((}}_{{))}}{{!}}{{)))}}{{!}}<!--
-->{{((}}#ifeq:{{((}}ucfirst:{{((}}Dopasuj{{!}}ciąg{{=}}{{(((}}{{((}}_{{))}}{{)))}}{{!}}wzór{{=}}^%s*([Kk]siążka)%s*:%s*{{))}}{{))}}{{!}}Książka<!--
-->{{!}}<!--
-->{{((}}#invoke:Skrót{{!}}Kategoria{{!}}{{(((}}{{((}}_{{))}}{{)))}}{{!}}sortuj spacją{{=}}<!--
-->{{((}}#if:{{(((}}książka{{!}}{{)))}}{{!}}{{!}}tak{{))}}<!--
-->{{))}}<!--
-->{{!}}<!--
-->{{((}}#invoke:Skrót{{!}}Kategoria{{!}}{{(((}}{{((}}_{{))}}{{)))}}{{))}}<!--
-->{{))}}<!--
-->{{((}}#if:{{(((}}język{{!}}{{)))}}{{!}}
{{((}}#ifeq:{{((}}ucfirst:{{(((}}{{((}}_{{))}}{{)))}}{{))}}{{!}}Języki{{!}}<!--
-->{{((}}#invoke:Skrót{{!}}Kategoria{{!}}{{(((}}{{((}}_{{))}}{{)))}} {{(((}}język{{)))}}{{))}}<!--
-->{{))}}<!--
-->{{))}}<!--
-->{{))}}<!--
-->}}<!--
-->}}<!--
-->{{#if:{{Dopasuj|ciąg={{{1}}}|wzór=^%s*(%+).*$}}
|{{#invoke:Ramka|Powtarzaj|start=2|<!--
-->{{((}}#if:{{(((}}{{((}}_{{))}}{{!}}{{)))}}{{!}}<!--
-->{{((}}#ifeq:{{((}}ucfirst:{{((}}Dopasuj{{!}}ciąg{{=}}{{(((}}{{((}}_{{))}}{{)))}}{{!}}wzór{{=}}^%s*([Kk]siążka)%s*:%s*{{))}}{{))}}{{!}}Książka{{!}}{{!}}<!--
-->{{((}}#invoke:Skrót{{!}}Kategoria{{!}}Polecane książki/{{((}}ucfirst:{{(((}}{{((}}_{{))}}{{)))}}{{))}}{{))}}<!--
-->{{))}}<!--
-->{{((}}#if:{{(((}}język{{!}}{{)))}}{{!}}
{{((}}#ifeq:{{((}}ucfirst:{{(((}}{{((}}_{{))}}{{)))}}{{))}}{{!}}Języki{{!}}
{{((}}#invoke:Skrót{{!}}Kategoria{{!}}Polecane książki/{{((}}ucfirst:{{(((}}{{((}}_{{))}}{{)))}} {{(((}}język{{)))}}{{))}}{{))}}
{{))}}<!--
-->{{))}}<!--
-->{{))}}<!--
-->}}<!--
-->{{#if:{{Dopasuj|ciąg={{#invoke:Pudełko|Nazwa jednostki 2}}|wzór=^([^/]+)$}}|<!--
-->{{#invoke:Skrót|Kategoria|Polecane książki}}<!--
-->{{#invoke:Skrót|Kategoria|Polecane książki/Spis alfabetyczny/{{Dopasuj|ciąg={{#invoke:Pudełko|Nazwa jednostki 2}}|wzór=^(.).*$}}}}<!--
-->{{#if:{{{poziom|}}}|<!--
-->{{#invoke:Ramka|PrzetwarzajIterującCiąg
|ciąg={{{poziom}}}
| 1= {{((}}#if:{{((}}ciąg{{))}}<!--
-->{{!}}{{((}}#invoke:Skrót{{!}}Kategoria{{!}}Polecane książki/{{((}}ucfirst:{{((}}ciąg{{))}}{{))}}{{))}}<!--
-->{{))}}{{((}}#if:{{(((}}typ{{!}}{{)))}}{{!}}<!--
-->{{((}}#switch:{{((}}ucfirst:{{((}}ciąg{{))}}{{))}}<!--
-->{{!}}Studia{{=}}{{((}}#invoke:Skrót{{!}}Kategoria{{!}}Polecane książki/Akademickie książki {{(((}}typ{{)))}}{{))}}<!--
-->{{))}}<!--
-->{{))}}<!--
-->}}<!--
<!-- -->}}<!--
-->}}<!--
-->}}
<!--
-->}}<!--
-->|jednostka użytkownika=<!--
-->{{#invoke:Ramka|Szablon|parametry funkcji modułu pudełek=tak|Nazwa=Status/silnik|ukończona={{Zastąp|ciąg={{{1|}}}|wzór=^%s*[%-%+]?%s*0*(%d+)%%?%s*$|zamień=%1}}|polecana=|typ=|nie kategorie=tak|id={{{id|}}}}}<!--
-->{{#invoke:Skrót|Kategoria|Wszystkie książki użytkowników}}<!--
-->|jednostka brudnopisu projektu=<!--
-->{{#invoke:Ramka|Szablon|parametry funkcji modułu pudełek=tak|Nazwa=Status/silnik|ukończona={{Zastąp|ciąg={{{1|}}}|wzór=^%s*[%-%+]?%s*0*(%d+)%%?%s*$|zamień=%1}}|polecana=|typ=|nie kategorie=tak|id={{{id|}}}}}<!--
-->{{#invoke:Skrót|Kategoria|Wszystkie książki w brudnopisie projektu}}<!--
-->|#default={{Błąd|Aby kompletność statusu działała, musisz wstawić szablon do strony głównej podręcznika.|tag=span}}<!--
-->{{#invoke:Skrót|Kategoria|Szablon status wywołano na innej stronie, niż dla której go przystosowano}}<!--
-->}}<!--
--></includeonly><noinclude>{{Dokumentacja}}</noinclude>
khdf31ve3w6w2cej7ov3lntwbge2vam
543457
543456
2026-05-19T12:25:28Z
Persino
2851
543457
wikitext
text/x-wiki
<includeonly><!--
-->{{#switch:{{#if:{{{artykuł|}}}<!--
-->|strona artykułu<!--
-->|{{#invoke:Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych=tak}}<!--
-->}}<!--
-->|podręcznik|podręcznik dla dzieci|strona artykułu=<!--
-->{{#invoke:Ramka|Szablon|parametry funkcji modułu pudełek=tak|Nazwa=Status/silnik
| ukończona = {{Zastąp|ciąg={{{1|}}}|wzór=^%s*[%-%+]?%s*0*(%d+)%%?%s*$|zamień=%1}}
| polecana = {{#if:{{Dopasuj|ciąg={{{1}}}|wzór=^%s*(%+).*$}}|tak}}
| typ = {{{typ|}}}
| nie kategorie =
| id = {{{id|}}}
| styl plik =
| rozmiar plik = 1.2em
| pl:w = {{Jeśli niepuste
|{{#invoke:wiki|WikidaneOdpowiednikStrony|wyspecjalizowana=tak|nazwa strony={{#invoke:Pudełko|Pełna nazwa jednostki}}|kod języka bazy=pl|kod projektu bazy=b|kod języka=pl|kod projektu=w}}
|{{#invoke:wiki|WikidaneOdpowiednikStrony|wyspecjalizowana=tak|nazwa strony={{#invoke:Pudełko|Pełna nazwa jednostki}}|kod języka bazy=pl|kod projektu bazy=w|kod języka=pl|kod projektu=w}}
}}
| en:b = {{Jeśli niepuste
|{{#invoke:wiki|WikidaneOdpowiednikStrony|wyspecjalizowana=tak|nazwa strony={{#invoke:Pudełko|Pełna nazwa jednostki}}|kod języka bazy=pl|kod projektu bazy=b|kod języka=en|kod projektu=b}}
|{{#invoke:wiki|WikidaneOdpowiednikStrony|wyspecjalizowana=tak|nazwa strony={{#invoke:Pudełko|Pełna nazwa jednostki}}|kod języka bazy=pl|kod projektu bazy=w|kod języka=en|kod projektu=b}}
}}
| pl:s = {{Jeśli niepuste
|{{#invoke:wiki|WikidaneOdpowiednikStrony|wyspecjalizowana=tak|nazwa strony={{#invoke:Pudełko|Pełna nazwa jednostki}}|kod języka bazy=pl|kod projektu bazy=b|kod języka=pl|kod projektu=s}}
|{{#invoke:wiki|WikidaneOdpowiednikStrony|wyspecjalizowana=tak|nazwa strony={{#invoke:Pudełko|Pełna nazwa jednostki}}|kod języka bazy=pl|kod projektu bazy=w|kod języka=pl|kod projektu=s}}
}}
| pl:q = {{Jeśli niepuste
|{{#invoke:wiki|WikidaneOdpowiednikStrony|wyspecjalizowana=tak|nazwa strony={{#invoke:Pudełko|Pełna nazwa jednostki}}|kod języka bazy=pl|kod projektu bazy=b|kod języka=pl|kod projektu=q}}
|{{#invoke:wiki|WikidaneOdpowiednikStrony|wyspecjalizowana=tak|nazwa strony={{#invoke:Pudełko|Pełna nazwa jednostki}}|kod języka bazy=pl|kod projektu bazy=w|kod języka=pl|kod projektu=q}}
}}
| pl:wikt = {{Jeśli niepuste
|{{#invoke:wiki|WikidaneOdpowiednikStrony|wyspecjalizowana=tak|nazwa strony={{#invoke:Pudełko|Pełna nazwa jednostki}}|kod języka bazy=pl|kod projektu bazy=b|kod języka=pl|kod projektu=wikt}}
|{{#invoke:wiki|WikidaneOdpowiednikStrony|wyspecjalizowana=tak|nazwa strony={{#invoke:Pudełko|Pełna nazwa jednostki}}|kod języka bazy=pl|kod projektu bazy=w|kod języka=pl|kod projektu=wikt}}
}}
| en:v = {{Jeśli niepuste
|{{#invoke:wiki|WikidaneOdpowiednikStrony|wyspecjalizowana=tak|nazwa strony={{#invoke:Pudełko|Pełna nazwa jednostki}}|kod języka bazy=pl|kod projektu bazy=b|kod języka=en|kod projektu=v}}
|{{#invoke:wiki|WikidaneOdpowiednikStrony|wyspecjalizowana=tak|nazwa strony={{#invoke:Pudełko|Pełna nazwa jednostki}}|kod języka bazy=pl|kod projektu bazy=w|kod języka=en|kod projektu=v}}
}}
| d = {{Jeśli niepuste
|{{#invoke:Wikidane|id|{{#invoke:Pudełko|Pełna nazwa jednostki}}|id=plwikibooks}}
|{{#invoke:Wikidane|id|{{#invoke:Pudełko|Pełna nazwa jednostki}}|id=plwiki}}
}}<!--
-->}}<!--
-->{{#if:{{{1|}}}|<!--
-->{{#if:{{Dopasuj|ciąg={{{1}}}|wzór=^%s*([%+%-]).*$}}|<!--
-->{{#ifeq:{{#invoke:Pudełko|Nazwa przestrzeni nazw 2}}|Wikijunior|<!--
-->{{#invoke:Skrót|Kategoria|Wikijunior}}<!--
-->{{#if:{{{junior|}}}|<!--
-->{{#invoke:Ramka|PrzetwarzajIterującCiąg
|ciąg={{{junior}}}
| 1= {{((}}#if:{{((}}ciąg{{))}}
{{!}}{{((}}#invoke:Skrót{{!}}Kategoria{{!}}Wikijunior:{{((}}ucfirst:{{((}}ciąg{{))}}{{))}}{{))}}
{{))}}<!--
-->}}<!--
-->}}<!--
-->}}<!--
-->{{#if:{{{archiwalna|}}}|{{#invoke:Skrót|Kategoria|Archiwalne}}}}<!--
-->{{#if:{{Dopasuj|ciąg={{#invoke:Pudełko|Nazwa jednostki 2}}|wzór=^([^/]+)$}}|<!--
-->{{#invoke:Skrót|Kategoria|Wszystkie książki}}<!--
-->{{#invoke:Skrót|Kategoria|Spis alfabetyczny/{{Dopasuj|ciąg={{#invoke:Pudełko|Nazwa jednostki 2}}|wzór=^(.).*$}}}}<!--
-->{{#if:{{{poziom|}}}|<!--
-->{{#invoke:Ramka|PrzetwarzajIterującCiąg
|ciąg={{{poziom}}}
| 1= {{((}}#if:{{((}}ciąg{{))}}<!--
-->{{!}}{{((}}#invoke:Skrót{{!}}Kategoria{{!}}{{((}}ciąg{{))}}{{))}}<!--
-->{{))}}{{((}}#if:{{(((}}typ{{!}}{{)))}}{{!}}<!--<!--
-->{{((}}#switch:{{((}}ucfirst:{{((}}ciąg{{))}}{{))}}<!--
-->{{!}}Studia{{=}}{{((}}#invoke:Skrót{{!}}Kategoria{{!}}Akademickie książki {{(((}}typ{{)))}}{{))}}<!--
-->{{))}}<!--
-->{{))}}<!--
-->}}<!--
<!-- -->}}<!--
-->}}<!--
-->{{#if:{{{korzeń|}}}|<!--
-->{{#invoke:Skrót|Kategoria|{{{korzeń}}}|*}}<!--
-->}}<!--
-->{{#if:{{{główna|}}}|<!--
-->{{#invoke:Skrót|Kategoria|{{{główna}}}|sortuj spacją=tak}}<!--
-->}}<!--
-->{{#if:{{{rodzaj|}}}|<!--
-->{{#invoke:Ramka|PrzetwarzajIterującCiąg
|ciąg={{{rodzaj}}}
| 1= {{((}}#if:{{((}}ciąg{{))}}<!--
-->{{!}}{{((}}#invoke:Skrót{{!}}Kategoria{{!}}{{((}}ciąg{{))}}{{))}}<!--
-->{{))}}<!--
-->}}<!--
-->}}<!--
-->{{#if:{{#invoke:Ramka|Powtarzaj|start=2|{{((}}Dopasuj{{!}}ciąg{{=}}{{(((}}{{((}}_{{))}}{{)))}}{{!}}wzór{{=}}^%s*([Kk]siążka)%s*:%s*.+${{))}}}}
|
|{{#ifexist:{{Ns:Category}}:Książka:{{#invoke:Pudełko|Pełna nazwa jednostki 2}}|{{#invoke:Skrót|Kategoria|Książka:{{#invoke:Pudełko|Pełna nazwa jednostki 2}}|sortuj spacją={{#if:{{{książka|}}}||tak}}}}}}
}}
{{#invoke:Ramka|Powtarzaj|start=2|<!--
-->{{((}}#if:{{(((}}{{((}}_{{))}}{{!}}{{)))}}{{!}}<!--
-->{{((}}#ifeq:{{((}}ucfirst:{{((}}Dopasuj{{!}}ciąg{{=}}{{(((}}{{((}}_{{))}}{{)))}}{{!}}wzór{{=}}^%s*([Kk]siążka)%s*:%s*{{))}}{{))}}{{!}}Książka<!--
-->{{!}}<!--
-->{{((}}#invoke:Skrót{{!}}Kategoria{{!}}{{(((}}{{((}}_{{))}}{{)))}}{{!}}sortuj spacją{{=}}<!--
-->{{((}}#if:{{(((}}książka{{!}}{{)))}}{{!}}{{!}}tak{{))}}<!--
-->{{))}}<!--
-->{{!}}<!--
-->{{((}}#invoke:Skrót{{!}}Kategoria{{!}}{{(((}}{{((}}_{{))}}{{)))}}{{))}}<!--
-->{{))}}<!--
-->{{((}}#if:{{(((}}język{{!}}{{)))}}{{!}}
{{((}}#ifeq:{{((}}ucfirst:{{(((}}{{((}}_{{))}}{{)))}}{{))}}{{!}}Języki{{!}}<!--
-->{{((}}#invoke:Skrót{{!}}Kategoria{{!}}{{(((}}{{((}}_{{))}}{{)))}} {{(((}}język{{)))}}{{))}}<!--
-->{{))}}<!--
-->{{))}}<!--
-->{{))}}<!--
-->}}<!--
-->}}<!--
-->{{#if:{{Dopasuj|ciąg={{{1}}}|wzór=^%s*(%+).*$}}
|{{#invoke:Ramka|Powtarzaj|start=2|<!--
-->{{((}}#if:{{(((}}{{((}}_{{))}}{{!}}{{)))}}{{!}}<!--
-->{{((}}#ifeq:{{((}}ucfirst:{{((}}Dopasuj{{!}}ciąg{{=}}{{(((}}{{((}}_{{))}}{{)))}}{{!}}wzór{{=}}^%s*([Kk]siążka)%s*:%s*{{))}}{{))}}{{!}}Książka{{!}}{{!}}<!--
-->{{((}}#invoke:Skrót{{!}}Kategoria{{!}}Polecane książki/{{((}}ucfirst:{{(((}}{{((}}_{{))}}{{)))}}{{))}}{{))}}<!--
-->{{))}}<!--
-->{{((}}#if:{{(((}}język{{!}}{{)))}}{{!}}
{{((}}#ifeq:{{((}}ucfirst:{{(((}}{{((}}_{{))}}{{)))}}{{))}}{{!}}Języki{{!}}
{{((}}#invoke:Skrót{{!}}Kategoria{{!}}Polecane książki/{{((}}ucfirst:{{(((}}{{((}}_{{))}}{{)))}} {{(((}}język{{)))}}{{))}}{{))}}
{{))}}<!--
-->{{))}}<!--
-->{{))}}<!--
-->}}<!--
-->{{#if:{{Dopasuj|ciąg={{#invoke:Pudełko|Nazwa jednostki 2}}|wzór=^([^/]+)$}}|<!--
-->{{#invoke:Skrót|Kategoria|Polecane książki}}<!--
-->{{#invoke:Skrót|Kategoria|Polecane książki/Spis alfabetyczny/{{Dopasuj|ciąg={{#invoke:Pudełko|Nazwa jednostki 2}}|wzór=^(.).*$}}}}<!--
-->{{#if:{{{poziom|}}}|<!--
-->{{#invoke:Ramka|PrzetwarzajIterującCiąg
|ciąg={{{poziom}}}
| 1= {{((}}#if:{{((}}ciąg{{))}}<!--
-->{{!}}{{((}}#invoke:Skrót{{!}}Kategoria{{!}}Polecane książki/{{((}}ucfirst:{{((}}ciąg{{))}}{{))}}{{))}}<!--
-->{{))}}{{((}}#if:{{(((}}typ{{!}}{{)))}}{{!}}<!--
-->{{((}}#switch:{{((}}ucfirst:{{((}}ciąg{{))}}{{))}}<!--
-->{{!}}Studia{{=}}{{((}}#invoke:Skrót{{!}}Kategoria{{!}}Polecane książki/Akademickie książki {{(((}}typ{{)))}}{{))}}<!--
-->{{))}}<!--
-->{{))}}<!--
-->}}<!--
<!-- -->}}<!--
-->}}<!--
-->}}
<!--
-->}}<!--
-->|jednostka użytkownika=<!--
-->{{#invoke:Ramka|Szablon|parametry funkcji modułu pudełek=tak|Nazwa=Status/silnik|ukończona={{Zastąp|ciąg={{{1|}}}|wzór=^%s*[%-%+]?%s*0*(%d+)%%?%s*$|zamień=%1}}|polecana=|typ=|nie kategorie=tak|id={{{id|}}}}}<!--
-->{{#invoke:Skrót|Kategoria|Wszystkie książki użytkowników}}<!--
-->|jednostka brudnopisu projektu=<!--
-->{{#invoke:Ramka|Szablon|parametry funkcji modułu pudełek=tak|Nazwa=Status/silnik|ukończona={{Zastąp|ciąg={{{1|}}}|wzór=^%s*[%-%+]?%s*0*(%d+)%%?%s*$|zamień=%1}}|polecana=|typ=|nie kategorie=tak|id={{{id|}}}}}<!--
-->{{#invoke:Skrót|Kategoria|Wszystkie książki w brudnopisie projektu}}<!--
-->|#default={{Błąd|Aby kompletność statusu działała, musisz wstawić szablon do strony głównej podręcznika.|tag=span}}<!--
-->{{#invoke:Skrót|Kategoria|Szablon status wywołano na innej stronie, niż dla której go przystosowano}}<!--
-->}}<!--
--></includeonly><noinclude>{{Dokumentacja}}</noinclude>
1j8bg59ouj7lhkrl8sy3t0l9vrcedvf
543458
543457
2026-05-19T12:29:12Z
Persino
2851
543458
wikitext
text/x-wiki
<includeonly><!--
-->{{#switch:{{#if:{{{artykuł|}}}<!--
-->|strona artykułu<!--
-->|{{#invoke:Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych=tak}}<!--
-->}}<!--
-->|podręcznik|podręcznik dla dzieci|strona artykułu=<!--
-->{{#invoke:Ramka|Szablon|parametry funkcji modułu pudełek=tak|Nazwa=Status/silnik
| ukończona = {{Zastąp|ciąg={{{1|}}}|wzór=^%s*[%-%+]?%s*0*(%d+)%%?%s*$|zamień=%1}}
| polecana = {{#if:{{Dopasuj|ciąg={{{1}}}|wzór=^%s*(%+).*$}}|tak}}
| typ = {{{typ|}}}
| nie kategorie =
| id = {{{id|}}}
| styl plik =
| rozmiar plik = 1.2em
| pl:w = {{Jeśli niepuste
|{{#invoke:wiki|WikidaneOdpowiednikStrony|wyspecjalizowana=tak|nazwa strony={{#invoke:Pudełko|Pełna nazwa jednostki}}|kod języka bazy=pl|kod projektu bazy=b|kod języka=pl|kod projektu=w}}
|{{#invoke:wiki|WikidaneOdpowiednikStrony|wyspecjalizowana=tak|nazwa strony={{#invoke:Pudełko|Pełna nazwa jednostki}}|kod języka bazy=pl|kod projektu bazy=w|kod języka=pl|kod projektu=w}}
}}
| en:b = {{Jeśli niepuste
|{{#invoke:wiki|WikidaneOdpowiednikStrony|wyspecjalizowana=tak|nazwa strony={{#invoke:Pudełko|Pełna nazwa jednostki}}|kod języka bazy=pl|kod projektu bazy=b|kod języka=en|kod projektu=b}}
|{{#invoke:wiki|WikidaneOdpowiednikStrony|wyspecjalizowana=tak|nazwa strony={{#invoke:Pudełko|Pełna nazwa jednostki}}|kod języka bazy=pl|kod projektu bazy=w|kod języka=en|kod projektu=b}}
}}
| pl:s = {{Jeśli niepuste
|{{#invoke:wiki|WikidaneOdpowiednikStrony|wyspecjalizowana=tak|nazwa strony={{#invoke:Pudełko|Pełna nazwa jednostki}}|kod języka bazy=pl|kod projektu bazy=b|kod języka=pl|kod projektu=s}}
|{{#invoke:wiki|WikidaneOdpowiednikStrony|wyspecjalizowana=tak|nazwa strony={{#invoke:Pudełko|Pełna nazwa jednostki}}|kod języka bazy=pl|kod projektu bazy=w|kod języka=pl|kod projektu=s}}
}}
| pl:q = {{Jeśli niepuste
|{{#invoke:wiki|WikidaneOdpowiednikStrony|wyspecjalizowana=tak|nazwa strony={{#invoke:Pudełko|Pełna nazwa jednostki}}|kod języka bazy=pl|kod projektu bazy=b|kod języka=pl|kod projektu=q}}
|{{#invoke:wiki|WikidaneOdpowiednikStrony|wyspecjalizowana=tak|nazwa strony={{#invoke:Pudełko|Pełna nazwa jednostki}}|kod języka bazy=pl|kod projektu bazy=w|kod języka=pl|kod projektu=q}}
}}
| pl:wikt = {{Jeśli niepuste
|{{#invoke:wiki|WikidaneOdpowiednikStrony|wyspecjalizowana=tak|nazwa strony={{#invoke:Pudełko|Pełna nazwa jednostki}}|kod języka bazy=pl|kod projektu bazy=b|kod języka=pl|kod projektu=wikt}}
|{{#invoke:wiki|WikidaneOdpowiednikStrony|wyspecjalizowana=tak|nazwa strony={{#invoke:Pudełko|Pełna nazwa jednostki}}|kod języka bazy=pl|kod projektu bazy=w|kod języka=pl|kod projektu=wikt}}
}}
| en:v = {{Jeśli niepuste
|{{#invoke:wiki|WikidaneOdpowiednikStrony|wyspecjalizowana=tak|nazwa strony={{#invoke:Pudełko|Pełna nazwa jednostki}}|kod języka bazy=pl|kod projektu bazy=b|kod języka=en|kod projektu=v}}
|{{#invoke:wiki|WikidaneOdpowiednikStrony|wyspecjalizowana=tak|nazwa strony={{#invoke:Pudełko|Pełna nazwa jednostki}}|kod języka bazy=pl|kod projektu bazy=w|kod języka=en|kod projektu=v}}
}}
| d = {{Jeśli niepuste
|{{#invoke:Wikidane|id|{{#invoke:Pudełko|Pełna nazwa jednostki}}|id=plwikibooks}}
|{{#invoke:Wikidane|id|{{#invoke:Pudełko|Pełna nazwa jednostki}}|id=plwiki}}
}}<!--
-->}}<!--
-->{{#if:{{{1|}}}|<!--
-->{{#if:{{Dopasuj|ciąg={{{1}}}|wzór=^%s*([%+%-]).*$}}|<!--
-->{{#ifeq:{{#invoke:Pudełko|Nazwa przestrzeni nazw 2}}|Wikijunior|<!--
-->{{#invoke:Skrót|Kategoria|Wikijunior}}<!--
-->{{#if:{{{junior|}}}|<!--
-->{{#invoke:Ramka|PrzetwarzajIterującCiąg
|ciąg={{{junior}}}
| 1= {{((}}#if:{{((}}ciąg{{))}}
{{!}}{{((}}#invoke:Skrót{{!}}Kategoria{{!}}Wikijunior:{{((}}ucfirst:{{((}}ciąg{{))}}{{))}}{{))}}
{{))}}<!--
-->}}<!--
-->}}<!--
-->}}<!--
-->{{#if:{{{archiwalna|}}}|{{#invoke:Skrót|Kategoria|Archiwalne}}}}<!--
-->{{#if:{{Dopasuj|ciąg={{#invoke:Pudełko|Nazwa jednostki 2}}|wzór=^([^/]+)$}}|<!--
-->{{#invoke:Skrót|Kategoria|Wszystkie książki}}<!--
-->{{#invoke:Skrót|Kategoria|Spis alfabetyczny/{{Dopasuj|ciąg={{#invoke:Pudełko|Nazwa jednostki 2}}|wzór=^(.).*$}}}}<!--
-->{{#if:{{{poziom|}}}|<!--
-->{{#invoke:Ramka|PrzetwarzajIterującCiąg
|ciąg={{{poziom}}}
| 1= {{((}}#if:{{((}}ciąg{{))}}<!--
-->{{!}}{{((}}#invoke:Skrót{{!}}Kategoria{{!}}{{((}}ciąg{{))}}{{))}}<!--
-->{{))}}{{((}}#if:{{(((}}typ{{!}}{{)))}}{{!}}<!--<!--
-->{{((}}#switch:{{((}}ucfirst:{{((}}ciąg{{))}}{{))}}<!--
-->{{!}}Studia{{=}}{{((}}#invoke:Skrót{{!}}Kategoria{{!}}Akademickie książki {{(((}}typ{{)))}}{{))}}<!--
-->{{))}}<!--
-->{{))}}<!--
-->}}<!--
<!-- -->}}<!--
-->}}<!--
-->{{#if:{{{korzeń|}}}|<!--
-->{{#invoke:Skrót|Kategoria|{{{korzeń}}}|*}}<!--
-->}}<!--
-->{{#if:{{{główna|}}}|<!--
-->{{#invoke:Skrót|Kategoria|{{{główna}}}|sortuj spacją=tak}}<!--
-->}}<!--
-->{{#if:{{{rodzaj|}}}|<!--
-->{{#invoke:Ramka|PrzetwarzajIterującCiąg
|ciąg={{{rodzaj}}}
| 1= {{((}}#if:{{((}}ciąg{{))}}<!--
-->{{!}}{{((}}#invoke:Skrót{{!}}Kategoria{{!}}{{((}}ciąg{{))}}{{))}}<!--
-->{{))}}<!--
-->}}<!--
-->}}<!--
-->{{#if:{{#invoke:Ramka|Powtarzaj|start=2|{{((}}Dopasuj{{!}}ciąg{{=}}{{(((}}{{((}}_{{))}}{{)))}}{{!}}wzór{{=}}^%s*([Kk]siążka)%s*:%s*.+${{))}}}}
|
|{{#ifexist:{{Ns:Category}}:Książka:{{#invoke:Pudełko|Pełna nazwa jednostki 2}}|{{#invoke:Skrót|Kategoria|Książka:{{#invoke:Pudełko|Pełna nazwa jednostki 2}}|sortuj spacją={{#if:{{{książka|}}}||tak}}}}}}
}}
{{#invoke:Ramka|Powtarzaj|start=2|<!--
-->{{((}}#if:{{(((}}{{((}}_{{))}}{{!}}{{)))}}{{!}}<!--
-->{{((}}#ifeq:{{((}}ucfirst:{{((}}Dopasuj{{!}}ciąg{{=}}{{(((}}{{((}}_{{))}}{{)))}}{{!}}wzór{{=}}^%s*([Kk]siążka)%s*:%s*{{))}}{{))}}{{!}}Książka<!--
-->{{!}}<!--
-->{{((}}#invoke:Skrót{{!}}Kategoria{{!}}{{(((}}{{((}}_{{))}}{{)))}}{{!}}sortuj spacją{{=}}<!--
-->{{((}}#if:{{(((}}książka{{!}}{{)))}}{{!}}{{!}}tak{{))}}<!--
-->{{))}}<!--
-->{{!}}<!--
-->{{((}}#invoke:Skrót{{!}}Kategoria{{!}}{{(((}}{{((}}_{{))}}{{)))}}{{))}}<!--
-->{{))}}<!--
-->{{((}}#if:{{(((}}język{{!}}{{)))}}{{!}}
{{((}}#ifeq:{{((}}ucfirst:{{(((}}{{((}}_{{))}}{{)))}}{{))}}{{!}}Języki{{!}}<!--
-->{{((}}#invoke:Skrót{{!}}Kategoria{{!}}{{(((}}{{((}}_{{))}}{{)))}} {{(((}}język{{)))}}{{))}}<!--
-->{{))}}<!--
-->{{))}}<!--
-->{{))}}<!--
-->}}<!--
-->}}<!--
-->{{#if:{{Dopasuj|ciąg={{{1}}}|wzór=^%s*(%+).*$}}
|{{#invoke:Ramka|Powtarzaj|start=2|<!--
-->{{((}}#if:{{(((}}{{((}}_{{))}}{{!}}{{)))}}{{!}}<!--
-->{{((}}#ifeq:{{((}}ucfirst:{{((}}Dopasuj{{!}}ciąg{{=}}{{(((}}{{((}}_{{))}}{{)))}}{{!}}wzór{{=}}^%s*([Kk]siążka)%s*:%s*{{))}}{{))}}{{!}}Książka{{!}}{{!}}<!--
-->{{((}}#invoke:Skrót{{!}}Kategoria{{!}}Polecane książki/{{((}}ucfirst:{{(((}}{{((}}_{{))}}{{)))}}{{))}}{{))}}<!--
-->{{))}}<!--
-->{{((}}#if:{{(((}}język{{!}}{{)))}}{{!}}
{{((}}#ifeq:{{((}}ucfirst:{{(((}}{{((}}_{{))}}{{)))}}{{))}}{{!}}Języki{{!}}
{{((}}#invoke:Skrót{{!}}Kategoria{{!}}Polecane książki/{{((}}ucfirst:{{(((}}{{((}}_{{))}}{{)))}} {{(((}}język{{)))}}{{))}}{{))}}
{{))}}<!--
-->{{))}}<!--
-->{{))}}<!--
-->}}<!--
-->{{#if:{{Dopasuj|ciąg={{#invoke:Pudełko|Nazwa jednostki 2}}|wzór=^([^/]+)$}}|<!--
-->{{#invoke:Skrót|Kategoria|Polecane książki}}<!--
-->{{#invoke:Skrót|Kategoria|Polecane książki/Spis alfabetyczny/{{Dopasuj|ciąg={{#invoke:Pudełko|Nazwa jednostki 2}}|wzór=^(.).*$}}}}<!--
-->{{#if:{{{poziom|}}}|<!--
-->{{#invoke:Ramka|PrzetwarzajIterującCiąg
|ciąg={{{poziom}}}
| 1= {{((}}#if:{{((}}ciąg{{))}}<!--
-->{{!}}{{((}}#invoke:Skrót{{!}}Kategoria{{!}}Polecane książki/{{((}}ucfirst:{{((}}ciąg{{))}}{{))}}{{))}}<!--
-->{{))}}{{((}}#if:{{(((}}typ{{!}}{{)))}}{{!}}<!--
-->{{((}}#switch:{{((}}ucfirst:{{((}}ciąg{{))}}{{))}}<!--
-->{{!}}Studia{{=}}{{((}}#invoke:Skrót{{!}}Kategoria{{!}}Polecane książki/Akademickie książki {{(((}}typ{{)))}}{{))}}<!--
-->{{))}}<!--
-->{{))}}<!--
-->}}<!--
<!-- -->}}<!--
-->}}<!--
-->}}
<!--
-->}}<!--
-->|jednostka użytkownika=<!--
-->{{#invoke:Ramka|Szablon|parametry funkcji modułu pudełek=tak|Nazwa=Status/silnik|ukończona={{Zastąp|ciąg={{{1|}}}|wzór=^%s*[%-%+]?%s*0*(%d+)%%?%s*$|zamień=%1}}|polecana=|typ=|nie kategorie=tak|id={{{id|}}}|styl plik=|rozmiar plik=1.2em}}<!--
-->{{#invoke:Skrót|Kategoria|Wszystkie książki użytkowników}}<!--
-->|jednostka brudnopisu projektu=<!--
-->{{#invoke:Ramka|Szablon|parametry funkcji modułu pudełek=tak|Nazwa=Status/silnik|ukończona={{Zastąp|ciąg={{{1|}}}|wzór=^%s*[%-%+]?%s*0*(%d+)%%?%s*$|zamień=%1}}|polecana=|typ=|nie kategorie=tak|id={{{id|}}}|styl plik=|rozmiar plik=1.2em}}<!--
-->{{#invoke:Skrót|Kategoria|Wszystkie książki w brudnopisie projektu}}<!--
-->|#default={{Błąd|Aby kompletność statusu działała, musisz wstawić szablon do strony głównej podręcznika.|tag=span}}<!--
-->{{#invoke:Skrót|Kategoria|Szablon status wywołano na innej stronie, niż dla której go przystosowano}}<!--
-->}}<!--
--></includeonly><noinclude>{{Dokumentacja}}</noinclude>
afucm0ca5exlj8i08h6b49l6jxy4gpz
543460
543458
2026-05-19T12:31:39Z
Persino
2851
543460
wikitext
text/x-wiki
<includeonly><!--
-->{{#switch:{{#if:{{{artykuł|}}}<!--
-->|strona artykułu<!--
-->|{{#invoke:Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych=tak}}<!--
-->}}<!--
-->|podręcznik|podręcznik dla dzieci|strona artykułu=<!--
-->{{#invoke:Ramka|Szablon|parametry funkcji modułu pudełek=tak|Nazwa=Status/silnik
| ukończona = {{Zastąp|ciąg={{{1|}}}|wzór=^%s*[%-%+]?%s*0*(%d+)%%?%s*$|zamień=%1}}
| polecana = {{#if:{{Dopasuj|ciąg={{{1}}}|wzór=^%s*(%+).*$}}|tak}}
| typ = {{{typ|}}}
| nie kategorie =
| id = {{{id|}}}
| styl plik =
| rozmiar plik = 1.2emx1.2em
| pl:w = {{Jeśli niepuste
|{{#invoke:wiki|WikidaneOdpowiednikStrony|wyspecjalizowana=tak|nazwa strony={{#invoke:Pudełko|Pełna nazwa jednostki}}|kod języka bazy=pl|kod projektu bazy=b|kod języka=pl|kod projektu=w}}
|{{#invoke:wiki|WikidaneOdpowiednikStrony|wyspecjalizowana=tak|nazwa strony={{#invoke:Pudełko|Pełna nazwa jednostki}}|kod języka bazy=pl|kod projektu bazy=w|kod języka=pl|kod projektu=w}}
}}
| en:b = {{Jeśli niepuste
|{{#invoke:wiki|WikidaneOdpowiednikStrony|wyspecjalizowana=tak|nazwa strony={{#invoke:Pudełko|Pełna nazwa jednostki}}|kod języka bazy=pl|kod projektu bazy=b|kod języka=en|kod projektu=b}}
|{{#invoke:wiki|WikidaneOdpowiednikStrony|wyspecjalizowana=tak|nazwa strony={{#invoke:Pudełko|Pełna nazwa jednostki}}|kod języka bazy=pl|kod projektu bazy=w|kod języka=en|kod projektu=b}}
}}
| pl:s = {{Jeśli niepuste
|{{#invoke:wiki|WikidaneOdpowiednikStrony|wyspecjalizowana=tak|nazwa strony={{#invoke:Pudełko|Pełna nazwa jednostki}}|kod języka bazy=pl|kod projektu bazy=b|kod języka=pl|kod projektu=s}}
|{{#invoke:wiki|WikidaneOdpowiednikStrony|wyspecjalizowana=tak|nazwa strony={{#invoke:Pudełko|Pełna nazwa jednostki}}|kod języka bazy=pl|kod projektu bazy=w|kod języka=pl|kod projektu=s}}
}}
| pl:q = {{Jeśli niepuste
|{{#invoke:wiki|WikidaneOdpowiednikStrony|wyspecjalizowana=tak|nazwa strony={{#invoke:Pudełko|Pełna nazwa jednostki}}|kod języka bazy=pl|kod projektu bazy=b|kod języka=pl|kod projektu=q}}
|{{#invoke:wiki|WikidaneOdpowiednikStrony|wyspecjalizowana=tak|nazwa strony={{#invoke:Pudełko|Pełna nazwa jednostki}}|kod języka bazy=pl|kod projektu bazy=w|kod języka=pl|kod projektu=q}}
}}
| pl:wikt = {{Jeśli niepuste
|{{#invoke:wiki|WikidaneOdpowiednikStrony|wyspecjalizowana=tak|nazwa strony={{#invoke:Pudełko|Pełna nazwa jednostki}}|kod języka bazy=pl|kod projektu bazy=b|kod języka=pl|kod projektu=wikt}}
|{{#invoke:wiki|WikidaneOdpowiednikStrony|wyspecjalizowana=tak|nazwa strony={{#invoke:Pudełko|Pełna nazwa jednostki}}|kod języka bazy=pl|kod projektu bazy=w|kod języka=pl|kod projektu=wikt}}
}}
| en:v = {{Jeśli niepuste
|{{#invoke:wiki|WikidaneOdpowiednikStrony|wyspecjalizowana=tak|nazwa strony={{#invoke:Pudełko|Pełna nazwa jednostki}}|kod języka bazy=pl|kod projektu bazy=b|kod języka=en|kod projektu=v}}
|{{#invoke:wiki|WikidaneOdpowiednikStrony|wyspecjalizowana=tak|nazwa strony={{#invoke:Pudełko|Pełna nazwa jednostki}}|kod języka bazy=pl|kod projektu bazy=w|kod języka=en|kod projektu=v}}
}}
| d = {{Jeśli niepuste
|{{#invoke:Wikidane|id|{{#invoke:Pudełko|Pełna nazwa jednostki}}|id=plwikibooks}}
|{{#invoke:Wikidane|id|{{#invoke:Pudełko|Pełna nazwa jednostki}}|id=plwiki}}
}}<!--
-->}}<!--
-->{{#if:{{{1|}}}|<!--
-->{{#if:{{Dopasuj|ciąg={{{1}}}|wzór=^%s*([%+%-]).*$}}|<!--
-->{{#ifeq:{{#invoke:Pudełko|Nazwa przestrzeni nazw 2}}|Wikijunior|<!--
-->{{#invoke:Skrót|Kategoria|Wikijunior}}<!--
-->{{#if:{{{junior|}}}|<!--
-->{{#invoke:Ramka|PrzetwarzajIterującCiąg
|ciąg={{{junior}}}
| 1= {{((}}#if:{{((}}ciąg{{))}}
{{!}}{{((}}#invoke:Skrót{{!}}Kategoria{{!}}Wikijunior:{{((}}ucfirst:{{((}}ciąg{{))}}{{))}}{{))}}
{{))}}<!--
-->}}<!--
-->}}<!--
-->}}<!--
-->{{#if:{{{archiwalna|}}}|{{#invoke:Skrót|Kategoria|Archiwalne}}}}<!--
-->{{#if:{{Dopasuj|ciąg={{#invoke:Pudełko|Nazwa jednostki 2}}|wzór=^([^/]+)$}}|<!--
-->{{#invoke:Skrót|Kategoria|Wszystkie książki}}<!--
-->{{#invoke:Skrót|Kategoria|Spis alfabetyczny/{{Dopasuj|ciąg={{#invoke:Pudełko|Nazwa jednostki 2}}|wzór=^(.).*$}}}}<!--
-->{{#if:{{{poziom|}}}|<!--
-->{{#invoke:Ramka|PrzetwarzajIterującCiąg
|ciąg={{{poziom}}}
| 1= {{((}}#if:{{((}}ciąg{{))}}<!--
-->{{!}}{{((}}#invoke:Skrót{{!}}Kategoria{{!}}{{((}}ciąg{{))}}{{))}}<!--
-->{{))}}{{((}}#if:{{(((}}typ{{!}}{{)))}}{{!}}<!--<!--
-->{{((}}#switch:{{((}}ucfirst:{{((}}ciąg{{))}}{{))}}<!--
-->{{!}}Studia{{=}}{{((}}#invoke:Skrót{{!}}Kategoria{{!}}Akademickie książki {{(((}}typ{{)))}}{{))}}<!--
-->{{))}}<!--
-->{{))}}<!--
-->}}<!--
<!-- -->}}<!--
-->}}<!--
-->{{#if:{{{korzeń|}}}|<!--
-->{{#invoke:Skrót|Kategoria|{{{korzeń}}}|*}}<!--
-->}}<!--
-->{{#if:{{{główna|}}}|<!--
-->{{#invoke:Skrót|Kategoria|{{{główna}}}|sortuj spacją=tak}}<!--
-->}}<!--
-->{{#if:{{{rodzaj|}}}|<!--
-->{{#invoke:Ramka|PrzetwarzajIterującCiąg
|ciąg={{{rodzaj}}}
| 1= {{((}}#if:{{((}}ciąg{{))}}<!--
-->{{!}}{{((}}#invoke:Skrót{{!}}Kategoria{{!}}{{((}}ciąg{{))}}{{))}}<!--
-->{{))}}<!--
-->}}<!--
-->}}<!--
-->{{#if:{{#invoke:Ramka|Powtarzaj|start=2|{{((}}Dopasuj{{!}}ciąg{{=}}{{(((}}{{((}}_{{))}}{{)))}}{{!}}wzór{{=}}^%s*([Kk]siążka)%s*:%s*.+${{))}}}}
|
|{{#ifexist:{{Ns:Category}}:Książka:{{#invoke:Pudełko|Pełna nazwa jednostki 2}}|{{#invoke:Skrót|Kategoria|Książka:{{#invoke:Pudełko|Pełna nazwa jednostki 2}}|sortuj spacją={{#if:{{{książka|}}}||tak}}}}}}
}}
{{#invoke:Ramka|Powtarzaj|start=2|<!--
-->{{((}}#if:{{(((}}{{((}}_{{))}}{{!}}{{)))}}{{!}}<!--
-->{{((}}#ifeq:{{((}}ucfirst:{{((}}Dopasuj{{!}}ciąg{{=}}{{(((}}{{((}}_{{))}}{{)))}}{{!}}wzór{{=}}^%s*([Kk]siążka)%s*:%s*{{))}}{{))}}{{!}}Książka<!--
-->{{!}}<!--
-->{{((}}#invoke:Skrót{{!}}Kategoria{{!}}{{(((}}{{((}}_{{))}}{{)))}}{{!}}sortuj spacją{{=}}<!--
-->{{((}}#if:{{(((}}książka{{!}}{{)))}}{{!}}{{!}}tak{{))}}<!--
-->{{))}}<!--
-->{{!}}<!--
-->{{((}}#invoke:Skrót{{!}}Kategoria{{!}}{{(((}}{{((}}_{{))}}{{)))}}{{))}}<!--
-->{{))}}<!--
-->{{((}}#if:{{(((}}język{{!}}{{)))}}{{!}}
{{((}}#ifeq:{{((}}ucfirst:{{(((}}{{((}}_{{))}}{{)))}}{{))}}{{!}}Języki{{!}}<!--
-->{{((}}#invoke:Skrót{{!}}Kategoria{{!}}{{(((}}{{((}}_{{))}}{{)))}} {{(((}}język{{)))}}{{))}}<!--
-->{{))}}<!--
-->{{))}}<!--
-->{{))}}<!--
-->}}<!--
-->}}<!--
-->{{#if:{{Dopasuj|ciąg={{{1}}}|wzór=^%s*(%+).*$}}
|{{#invoke:Ramka|Powtarzaj|start=2|<!--
-->{{((}}#if:{{(((}}{{((}}_{{))}}{{!}}{{)))}}{{!}}<!--
-->{{((}}#ifeq:{{((}}ucfirst:{{((}}Dopasuj{{!}}ciąg{{=}}{{(((}}{{((}}_{{))}}{{)))}}{{!}}wzór{{=}}^%s*([Kk]siążka)%s*:%s*{{))}}{{))}}{{!}}Książka{{!}}{{!}}<!--
-->{{((}}#invoke:Skrót{{!}}Kategoria{{!}}Polecane książki/{{((}}ucfirst:{{(((}}{{((}}_{{))}}{{)))}}{{))}}{{))}}<!--
-->{{))}}<!--
-->{{((}}#if:{{(((}}język{{!}}{{)))}}{{!}}
{{((}}#ifeq:{{((}}ucfirst:{{(((}}{{((}}_{{))}}{{)))}}{{))}}{{!}}Języki{{!}}
{{((}}#invoke:Skrót{{!}}Kategoria{{!}}Polecane książki/{{((}}ucfirst:{{(((}}{{((}}_{{))}}{{)))}} {{(((}}język{{)))}}{{))}}{{))}}
{{))}}<!--
-->{{))}}<!--
-->{{))}}<!--
-->}}<!--
-->{{#if:{{Dopasuj|ciąg={{#invoke:Pudełko|Nazwa jednostki 2}}|wzór=^([^/]+)$}}|<!--
-->{{#invoke:Skrót|Kategoria|Polecane książki}}<!--
-->{{#invoke:Skrót|Kategoria|Polecane książki/Spis alfabetyczny/{{Dopasuj|ciąg={{#invoke:Pudełko|Nazwa jednostki 2}}|wzór=^(.).*$}}}}<!--
-->{{#if:{{{poziom|}}}|<!--
-->{{#invoke:Ramka|PrzetwarzajIterującCiąg
|ciąg={{{poziom}}}
| 1= {{((}}#if:{{((}}ciąg{{))}}<!--
-->{{!}}{{((}}#invoke:Skrót{{!}}Kategoria{{!}}Polecane książki/{{((}}ucfirst:{{((}}ciąg{{))}}{{))}}{{))}}<!--
-->{{))}}{{((}}#if:{{(((}}typ{{!}}{{)))}}{{!}}<!--
-->{{((}}#switch:{{((}}ucfirst:{{((}}ciąg{{))}}{{))}}<!--
-->{{!}}Studia{{=}}{{((}}#invoke:Skrót{{!}}Kategoria{{!}}Polecane książki/Akademickie książki {{(((}}typ{{)))}}{{))}}<!--
-->{{))}}<!--
-->{{))}}<!--
-->}}<!--
<!-- -->}}<!--
-->}}<!--
-->}}
<!--
-->}}<!--
-->|jednostka użytkownika=<!--
-->{{#invoke:Ramka|Szablon|parametry funkcji modułu pudełek=tak|Nazwa=Status/silnik|ukończona={{Zastąp|ciąg={{{1|}}}|wzór=^%s*[%-%+]?%s*0*(%d+)%%?%s*$|zamień=%1}}|polecana=|typ=|nie kategorie=tak|id={{{id|}}}|styl plik=|rozmiar plik=1.2emx1.2em}}<!--
-->{{#invoke:Skrót|Kategoria|Wszystkie książki użytkowników}}<!--
-->|jednostka brudnopisu projektu=<!--
-->{{#invoke:Ramka|Szablon|parametry funkcji modułu pudełek=tak|Nazwa=Status/silnik|ukończona={{Zastąp|ciąg={{{1|}}}|wzór=^%s*[%-%+]?%s*0*(%d+)%%?%s*$|zamień=%1}}|polecana=|typ=|nie kategorie=tak|id={{{id|}}}|styl plik=|rozmiar plik=1.2emx1.2em}}<!--
-->{{#invoke:Skrót|Kategoria|Wszystkie książki w brudnopisie projektu}}<!--
-->|#default={{Błąd|Aby kompletność statusu działała, musisz wstawić szablon do strony głównej podręcznika.|tag=span}}<!--
-->{{#invoke:Skrót|Kategoria|Szablon status wywołano na innej stronie, niż dla której go przystosowano}}<!--
-->}}<!--
--></includeonly><noinclude>{{Dokumentacja}}</noinclude>
p0gmin1zce5yo9yd3c579mzf6m37nc7
543461
543460
2026-05-19T12:41:34Z
Persino
2851
543461
wikitext
text/x-wiki
<includeonly><!--
-->{{#switch:{{#if:{{{artykuł|}}}<!--
-->|strona artykułu<!--
-->|{{#invoke:Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych=tak}}<!--
-->}}<!--
-->|podręcznik|podręcznik dla dzieci|strona artykułu=<!--
-->{{#invoke:Ramka|Szablon|parametry funkcji modułu pudełek=tak|Nazwa=Status/silnik
| ukończona = {{Zastąp|ciąg={{{1|}}}|wzór=^%s*[%-%+]?%s*0*(%d+)%%?%s*$|zamień=%1}}
| polecana = {{#if:{{Dopasuj|ciąg={{{1}}}|wzór=^%s*(%+).*$}}|tak}}
| typ = {{{typ|}}}
| nie kategorie =
| id = {{{id|}}}
| styl plik =
| rozmiar plik = 1.2emx1.2em
| pl:w = {{Jeśli niepuste
|{{#invoke:wiki|WikidaneOdpowiednikStrony|wyspecjalizowana=tak|nazwa strony={{#invoke:Pudełko|Pełna nazwa jednostki}}|kod języka bazy=pl|kod projektu bazy=b|kod języka=pl|kod projektu=w}}
|{{#invoke:wiki|WikidaneOdpowiednikStrony|wyspecjalizowana=tak|nazwa strony={{#invoke:Pudełko|Pełna nazwa jednostki}}|kod języka bazy=pl|kod projektu bazy=w|kod języka=pl|kod projektu=w}}
}}
| en:b = {{Jeśli niepuste
|{{#invoke:wiki|WikidaneOdpowiednikStrony|wyspecjalizowana=tak|nazwa strony={{#invoke:Pudełko|Pełna nazwa jednostki}}|kod języka bazy=pl|kod projektu bazy=b|kod języka=en|kod projektu=b}}
|{{#invoke:wiki|WikidaneOdpowiednikStrony|wyspecjalizowana=tak|nazwa strony={{#invoke:Pudełko|Pełna nazwa jednostki}}|kod języka bazy=pl|kod projektu bazy=w|kod języka=en|kod projektu=b}}
}}
| pl:s = {{Jeśli niepuste
|{{#invoke:wiki|WikidaneOdpowiednikStrony|wyspecjalizowana=tak|nazwa strony={{#invoke:Pudełko|Pełna nazwa jednostki}}|kod języka bazy=pl|kod projektu bazy=b|kod języka=pl|kod projektu=s}}
|{{#invoke:wiki|WikidaneOdpowiednikStrony|wyspecjalizowana=tak|nazwa strony={{#invoke:Pudełko|Pełna nazwa jednostki}}|kod języka bazy=pl|kod projektu bazy=w|kod języka=pl|kod projektu=s}}
}}
| pl:q = {{Jeśli niepuste
|{{#invoke:wiki|WikidaneOdpowiednikStrony|wyspecjalizowana=tak|nazwa strony={{#invoke:Pudełko|Pełna nazwa jednostki}}|kod języka bazy=pl|kod projektu bazy=b|kod języka=pl|kod projektu=q}}
|{{#invoke:wiki|WikidaneOdpowiednikStrony|wyspecjalizowana=tak|nazwa strony={{#invoke:Pudełko|Pełna nazwa jednostki}}|kod języka bazy=pl|kod projektu bazy=w|kod języka=pl|kod projektu=q}}
}}
| pl:wikt = {{Jeśli niepuste
|{{#invoke:wiki|WikidaneOdpowiednikStrony|wyspecjalizowana=tak|nazwa strony={{#invoke:Pudełko|Pełna nazwa jednostki}}|kod języka bazy=pl|kod projektu bazy=b|kod języka=pl|kod projektu=wikt}}
|{{#invoke:wiki|WikidaneOdpowiednikStrony|wyspecjalizowana=tak|nazwa strony={{#invoke:Pudełko|Pełna nazwa jednostki}}|kod języka bazy=pl|kod projektu bazy=w|kod języka=pl|kod projektu=wikt}}
}}
| en:v = {{Jeśli niepuste
|{{#invoke:wiki|WikidaneOdpowiednikStrony|wyspecjalizowana=tak|nazwa strony={{#invoke:Pudełko|Pełna nazwa jednostki}}|kod języka bazy=pl|kod projektu bazy=b|kod języka=en|kod projektu=v}}
|{{#invoke:wiki|WikidaneOdpowiednikStrony|wyspecjalizowana=tak|nazwa strony={{#invoke:Pudełko|Pełna nazwa jednostki}}|kod języka bazy=pl|kod projektu bazy=w|kod języka=en|kod projektu=v}}
}}
| d = {{Jeśli niepuste
|{{#invoke:Wikidane|id|{{#invoke:Pudełko|Pełna nazwa jednostki}}|idwiki=plwikibooks}}
|{{#invoke:Wikidane|id|{{#invoke:Pudełko|Pełna nazwa jednostki}}|idwiki=plwiki}}
}}<!--
-->}}<!--
-->{{#if:{{{1|}}}|<!--
-->{{#if:{{Dopasuj|ciąg={{{1}}}|wzór=^%s*([%+%-]).*$}}|<!--
-->{{#ifeq:{{#invoke:Pudełko|Nazwa przestrzeni nazw 2}}|Wikijunior|<!--
-->{{#invoke:Skrót|Kategoria|Wikijunior}}<!--
-->{{#if:{{{junior|}}}|<!--
-->{{#invoke:Ramka|PrzetwarzajIterującCiąg
|ciąg={{{junior}}}
| 1= {{((}}#if:{{((}}ciąg{{))}}
{{!}}{{((}}#invoke:Skrót{{!}}Kategoria{{!}}Wikijunior:{{((}}ucfirst:{{((}}ciąg{{))}}{{))}}{{))}}
{{))}}<!--
-->}}<!--
-->}}<!--
-->}}<!--
-->{{#if:{{{archiwalna|}}}|{{#invoke:Skrót|Kategoria|Archiwalne}}}}<!--
-->{{#if:{{Dopasuj|ciąg={{#invoke:Pudełko|Nazwa jednostki 2}}|wzór=^([^/]+)$}}|<!--
-->{{#invoke:Skrót|Kategoria|Wszystkie książki}}<!--
-->{{#invoke:Skrót|Kategoria|Spis alfabetyczny/{{Dopasuj|ciąg={{#invoke:Pudełko|Nazwa jednostki 2}}|wzór=^(.).*$}}}}<!--
-->{{#if:{{{poziom|}}}|<!--
-->{{#invoke:Ramka|PrzetwarzajIterującCiąg
|ciąg={{{poziom}}}
| 1= {{((}}#if:{{((}}ciąg{{))}}<!--
-->{{!}}{{((}}#invoke:Skrót{{!}}Kategoria{{!}}{{((}}ciąg{{))}}{{))}}<!--
-->{{))}}{{((}}#if:{{(((}}typ{{!}}{{)))}}{{!}}<!--<!--
-->{{((}}#switch:{{((}}ucfirst:{{((}}ciąg{{))}}{{))}}<!--
-->{{!}}Studia{{=}}{{((}}#invoke:Skrót{{!}}Kategoria{{!}}Akademickie książki {{(((}}typ{{)))}}{{))}}<!--
-->{{))}}<!--
-->{{))}}<!--
-->}}<!--
<!-- -->}}<!--
-->}}<!--
-->{{#if:{{{korzeń|}}}|<!--
-->{{#invoke:Skrót|Kategoria|{{{korzeń}}}|*}}<!--
-->}}<!--
-->{{#if:{{{główna|}}}|<!--
-->{{#invoke:Skrót|Kategoria|{{{główna}}}|sortuj spacją=tak}}<!--
-->}}<!--
-->{{#if:{{{rodzaj|}}}|<!--
-->{{#invoke:Ramka|PrzetwarzajIterującCiąg
|ciąg={{{rodzaj}}}
| 1= {{((}}#if:{{((}}ciąg{{))}}<!--
-->{{!}}{{((}}#invoke:Skrót{{!}}Kategoria{{!}}{{((}}ciąg{{))}}{{))}}<!--
-->{{))}}<!--
-->}}<!--
-->}}<!--
-->{{#if:{{#invoke:Ramka|Powtarzaj|start=2|{{((}}Dopasuj{{!}}ciąg{{=}}{{(((}}{{((}}_{{))}}{{)))}}{{!}}wzór{{=}}^%s*([Kk]siążka)%s*:%s*.+${{))}}}}
|
|{{#ifexist:{{Ns:Category}}:Książka:{{#invoke:Pudełko|Pełna nazwa jednostki 2}}|{{#invoke:Skrót|Kategoria|Książka:{{#invoke:Pudełko|Pełna nazwa jednostki 2}}|sortuj spacją={{#if:{{{książka|}}}||tak}}}}}}
}}
{{#invoke:Ramka|Powtarzaj|start=2|<!--
-->{{((}}#if:{{(((}}{{((}}_{{))}}{{!}}{{)))}}{{!}}<!--
-->{{((}}#ifeq:{{((}}ucfirst:{{((}}Dopasuj{{!}}ciąg{{=}}{{(((}}{{((}}_{{))}}{{)))}}{{!}}wzór{{=}}^%s*([Kk]siążka)%s*:%s*{{))}}{{))}}{{!}}Książka<!--
-->{{!}}<!--
-->{{((}}#invoke:Skrót{{!}}Kategoria{{!}}{{(((}}{{((}}_{{))}}{{)))}}{{!}}sortuj spacją{{=}}<!--
-->{{((}}#if:{{(((}}książka{{!}}{{)))}}{{!}}{{!}}tak{{))}}<!--
-->{{))}}<!--
-->{{!}}<!--
-->{{((}}#invoke:Skrót{{!}}Kategoria{{!}}{{(((}}{{((}}_{{))}}{{)))}}{{))}}<!--
-->{{))}}<!--
-->{{((}}#if:{{(((}}język{{!}}{{)))}}{{!}}
{{((}}#ifeq:{{((}}ucfirst:{{(((}}{{((}}_{{))}}{{)))}}{{))}}{{!}}Języki{{!}}<!--
-->{{((}}#invoke:Skrót{{!}}Kategoria{{!}}{{(((}}{{((}}_{{))}}{{)))}} {{(((}}język{{)))}}{{))}}<!--
-->{{))}}<!--
-->{{))}}<!--
-->{{))}}<!--
-->}}<!--
-->}}<!--
-->{{#if:{{Dopasuj|ciąg={{{1}}}|wzór=^%s*(%+).*$}}
|{{#invoke:Ramka|Powtarzaj|start=2|<!--
-->{{((}}#if:{{(((}}{{((}}_{{))}}{{!}}{{)))}}{{!}}<!--
-->{{((}}#ifeq:{{((}}ucfirst:{{((}}Dopasuj{{!}}ciąg{{=}}{{(((}}{{((}}_{{))}}{{)))}}{{!}}wzór{{=}}^%s*([Kk]siążka)%s*:%s*{{))}}{{))}}{{!}}Książka{{!}}{{!}}<!--
-->{{((}}#invoke:Skrót{{!}}Kategoria{{!}}Polecane książki/{{((}}ucfirst:{{(((}}{{((}}_{{))}}{{)))}}{{))}}{{))}}<!--
-->{{))}}<!--
-->{{((}}#if:{{(((}}język{{!}}{{)))}}{{!}}
{{((}}#ifeq:{{((}}ucfirst:{{(((}}{{((}}_{{))}}{{)))}}{{))}}{{!}}Języki{{!}}
{{((}}#invoke:Skrót{{!}}Kategoria{{!}}Polecane książki/{{((}}ucfirst:{{(((}}{{((}}_{{))}}{{)))}} {{(((}}język{{)))}}{{))}}{{))}}
{{))}}<!--
-->{{))}}<!--
-->{{))}}<!--
-->}}<!--
-->{{#if:{{Dopasuj|ciąg={{#invoke:Pudełko|Nazwa jednostki 2}}|wzór=^([^/]+)$}}|<!--
-->{{#invoke:Skrót|Kategoria|Polecane książki}}<!--
-->{{#invoke:Skrót|Kategoria|Polecane książki/Spis alfabetyczny/{{Dopasuj|ciąg={{#invoke:Pudełko|Nazwa jednostki 2}}|wzór=^(.).*$}}}}<!--
-->{{#if:{{{poziom|}}}|<!--
-->{{#invoke:Ramka|PrzetwarzajIterującCiąg
|ciąg={{{poziom}}}
| 1= {{((}}#if:{{((}}ciąg{{))}}<!--
-->{{!}}{{((}}#invoke:Skrót{{!}}Kategoria{{!}}Polecane książki/{{((}}ucfirst:{{((}}ciąg{{))}}{{))}}{{))}}<!--
-->{{))}}{{((}}#if:{{(((}}typ{{!}}{{)))}}{{!}}<!--
-->{{((}}#switch:{{((}}ucfirst:{{((}}ciąg{{))}}{{))}}<!--
-->{{!}}Studia{{=}}{{((}}#invoke:Skrót{{!}}Kategoria{{!}}Polecane książki/Akademickie książki {{(((}}typ{{)))}}{{))}}<!--
-->{{))}}<!--
-->{{))}}<!--
-->}}<!--
<!-- -->}}<!--
-->}}<!--
-->}}
<!--
-->}}<!--
-->|jednostka użytkownika=<!--
-->{{#invoke:Ramka|Szablon|parametry funkcji modułu pudełek=tak|Nazwa=Status/silnik|ukończona={{Zastąp|ciąg={{{1|}}}|wzór=^%s*[%-%+]?%s*0*(%d+)%%?%s*$|zamień=%1}}|polecana=|typ=|nie kategorie=tak|id={{{id|}}}|styl plik=|rozmiar plik=1.2emx1.2em}}<!--
-->{{#invoke:Skrót|Kategoria|Wszystkie książki użytkowników}}<!--
-->|jednostka brudnopisu projektu=<!--
-->{{#invoke:Ramka|Szablon|parametry funkcji modułu pudełek=tak|Nazwa=Status/silnik|ukończona={{Zastąp|ciąg={{{1|}}}|wzór=^%s*[%-%+]?%s*0*(%d+)%%?%s*$|zamień=%1}}|polecana=|typ=|nie kategorie=tak|id={{{id|}}}|styl plik=|rozmiar plik=1.2emx1.2em}}<!--
-->{{#invoke:Skrót|Kategoria|Wszystkie książki w brudnopisie projektu}}<!--
-->|#default={{Błąd|Aby kompletność statusu działała, musisz wstawić szablon do strony głównej podręcznika.|tag=span}}<!--
-->{{#invoke:Skrót|Kategoria|Szablon status wywołano na innej stronie, niż dla której go przystosowano}}<!--
-->}}<!--
--></includeonly><noinclude>{{Dokumentacja}}</noinclude>
t41ykffzlmvz01t654nqhh6u532pod7
543462
543461
2026-05-19T12:55:12Z
Persino
2851
543462
wikitext
text/x-wiki
<includeonly><!--
-->{{#switch:{{#if:{{{artykuł|}}}<!--
-->|strona artykułu<!--
-->|{{#invoke:Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych=tak}}<!--
-->}}<!--
-->|podręcznik|podręcznik dla dzieci|strona artykułu=<!--
-->{{#invoke:Ramka|Szablon|parametry funkcji modułu pudełek=tak|Nazwa=Status/silnik
| ukończona = {{Zastąp|ciąg={{{1|}}}|wzór=^%s*[%-%+]?%s*0*(%d+)%%?%s*$|zamień=%1}}
| polecana = {{#if:{{Dopasuj|ciąg={{{1}}}|wzór=^%s*(%+).*$}}|tak}}
| typ = {{{typ|}}}
| nie kategorie =
| id = {{{id|}}}
| styl plik = height:fit-content;
| rozmiar plik = 1.2emx1.2em
| pl:w = {{Jeśli niepuste
|{{#invoke:wiki|WikidaneOdpowiednikStrony|wyspecjalizowana=tak|nazwa strony={{#invoke:Pudełko|Pełna nazwa jednostki}}|kod języka bazy=pl|kod projektu bazy=b|kod języka=pl|kod projektu=w}}
|{{#invoke:wiki|WikidaneOdpowiednikStrony|wyspecjalizowana=tak|nazwa strony={{#invoke:Pudełko|Pełna nazwa jednostki}}|kod języka bazy=pl|kod projektu bazy=w|kod języka=pl|kod projektu=w}}
}}
| en:b = {{Jeśli niepuste
|{{#invoke:wiki|WikidaneOdpowiednikStrony|wyspecjalizowana=tak|nazwa strony={{#invoke:Pudełko|Pełna nazwa jednostki}}|kod języka bazy=pl|kod projektu bazy=b|kod języka=en|kod projektu=b}}
|{{#invoke:wiki|WikidaneOdpowiednikStrony|wyspecjalizowana=tak|nazwa strony={{#invoke:Pudełko|Pełna nazwa jednostki}}|kod języka bazy=pl|kod projektu bazy=w|kod języka=en|kod projektu=b}}
}}
| pl:s = {{Jeśli niepuste
|{{#invoke:wiki|WikidaneOdpowiednikStrony|wyspecjalizowana=tak|nazwa strony={{#invoke:Pudełko|Pełna nazwa jednostki}}|kod języka bazy=pl|kod projektu bazy=b|kod języka=pl|kod projektu=s}}
|{{#invoke:wiki|WikidaneOdpowiednikStrony|wyspecjalizowana=tak|nazwa strony={{#invoke:Pudełko|Pełna nazwa jednostki}}|kod języka bazy=pl|kod projektu bazy=w|kod języka=pl|kod projektu=s}}
}}
| pl:q = {{Jeśli niepuste
|{{#invoke:wiki|WikidaneOdpowiednikStrony|wyspecjalizowana=tak|nazwa strony={{#invoke:Pudełko|Pełna nazwa jednostki}}|kod języka bazy=pl|kod projektu bazy=b|kod języka=pl|kod projektu=q}}
|{{#invoke:wiki|WikidaneOdpowiednikStrony|wyspecjalizowana=tak|nazwa strony={{#invoke:Pudełko|Pełna nazwa jednostki}}|kod języka bazy=pl|kod projektu bazy=w|kod języka=pl|kod projektu=q}}
}}
| pl:wikt = {{Jeśli niepuste
|{{#invoke:wiki|WikidaneOdpowiednikStrony|wyspecjalizowana=tak|nazwa strony={{#invoke:Pudełko|Pełna nazwa jednostki}}|kod języka bazy=pl|kod projektu bazy=b|kod języka=pl|kod projektu=wikt}}
|{{#invoke:wiki|WikidaneOdpowiednikStrony|wyspecjalizowana=tak|nazwa strony={{#invoke:Pudełko|Pełna nazwa jednostki}}|kod języka bazy=pl|kod projektu bazy=w|kod języka=pl|kod projektu=wikt}}
}}
| en:v = {{Jeśli niepuste
|{{#invoke:wiki|WikidaneOdpowiednikStrony|wyspecjalizowana=tak|nazwa strony={{#invoke:Pudełko|Pełna nazwa jednostki}}|kod języka bazy=pl|kod projektu bazy=b|kod języka=en|kod projektu=v}}
|{{#invoke:wiki|WikidaneOdpowiednikStrony|wyspecjalizowana=tak|nazwa strony={{#invoke:Pudełko|Pełna nazwa jednostki}}|kod języka bazy=pl|kod projektu bazy=w|kod języka=en|kod projektu=v}}
}}
| d = {{Jeśli niepuste
|{{#invoke:Wikidane|id|{{#invoke:Pudełko|Pełna nazwa jednostki}}|idwiki=plwikibooks}}
|{{#invoke:Wikidane|id|{{#invoke:Pudełko|Pełna nazwa jednostki}}|idwiki=plwiki}}
}}<!--
-->}}<!--
-->{{#if:{{{1|}}}|<!--
-->{{#if:{{Dopasuj|ciąg={{{1}}}|wzór=^%s*([%+%-]).*$}}|<!--
-->{{#ifeq:{{#invoke:Pudełko|Nazwa przestrzeni nazw 2}}|Wikijunior|<!--
-->{{#invoke:Skrót|Kategoria|Wikijunior}}<!--
-->{{#if:{{{junior|}}}|<!--
-->{{#invoke:Ramka|PrzetwarzajIterującCiąg
|ciąg={{{junior}}}
| 1= {{((}}#if:{{((}}ciąg{{))}}
{{!}}{{((}}#invoke:Skrót{{!}}Kategoria{{!}}Wikijunior:{{((}}ucfirst:{{((}}ciąg{{))}}{{))}}{{))}}
{{))}}<!--
-->}}<!--
-->}}<!--
-->}}<!--
-->{{#if:{{{archiwalna|}}}|{{#invoke:Skrót|Kategoria|Archiwalne}}}}<!--
-->{{#if:{{Dopasuj|ciąg={{#invoke:Pudełko|Nazwa jednostki 2}}|wzór=^([^/]+)$}}|<!--
-->{{#invoke:Skrót|Kategoria|Wszystkie książki}}<!--
-->{{#invoke:Skrót|Kategoria|Spis alfabetyczny/{{Dopasuj|ciąg={{#invoke:Pudełko|Nazwa jednostki 2}}|wzór=^(.).*$}}}}<!--
-->{{#if:{{{poziom|}}}|<!--
-->{{#invoke:Ramka|PrzetwarzajIterującCiąg
|ciąg={{{poziom}}}
| 1= {{((}}#if:{{((}}ciąg{{))}}<!--
-->{{!}}{{((}}#invoke:Skrót{{!}}Kategoria{{!}}{{((}}ciąg{{))}}{{))}}<!--
-->{{))}}{{((}}#if:{{(((}}typ{{!}}{{)))}}{{!}}<!--<!--
-->{{((}}#switch:{{((}}ucfirst:{{((}}ciąg{{))}}{{))}}<!--
-->{{!}}Studia{{=}}{{((}}#invoke:Skrót{{!}}Kategoria{{!}}Akademickie książki {{(((}}typ{{)))}}{{))}}<!--
-->{{))}}<!--
-->{{))}}<!--
-->}}<!--
<!-- -->}}<!--
-->}}<!--
-->{{#if:{{{korzeń|}}}|<!--
-->{{#invoke:Skrót|Kategoria|{{{korzeń}}}|*}}<!--
-->}}<!--
-->{{#if:{{{główna|}}}|<!--
-->{{#invoke:Skrót|Kategoria|{{{główna}}}|sortuj spacją=tak}}<!--
-->}}<!--
-->{{#if:{{{rodzaj|}}}|<!--
-->{{#invoke:Ramka|PrzetwarzajIterującCiąg
|ciąg={{{rodzaj}}}
| 1= {{((}}#if:{{((}}ciąg{{))}}<!--
-->{{!}}{{((}}#invoke:Skrót{{!}}Kategoria{{!}}{{((}}ciąg{{))}}{{))}}<!--
-->{{))}}<!--
-->}}<!--
-->}}<!--
-->{{#if:{{#invoke:Ramka|Powtarzaj|start=2|{{((}}Dopasuj{{!}}ciąg{{=}}{{(((}}{{((}}_{{))}}{{)))}}{{!}}wzór{{=}}^%s*([Kk]siążka)%s*:%s*.+${{))}}}}
|
|{{#ifexist:{{Ns:Category}}:Książka:{{#invoke:Pudełko|Pełna nazwa jednostki 2}}|{{#invoke:Skrót|Kategoria|Książka:{{#invoke:Pudełko|Pełna nazwa jednostki 2}}|sortuj spacją={{#if:{{{książka|}}}||tak}}}}}}
}}
{{#invoke:Ramka|Powtarzaj|start=2|<!--
-->{{((}}#if:{{(((}}{{((}}_{{))}}{{!}}{{)))}}{{!}}<!--
-->{{((}}#ifeq:{{((}}ucfirst:{{((}}Dopasuj{{!}}ciąg{{=}}{{(((}}{{((}}_{{))}}{{)))}}{{!}}wzór{{=}}^%s*([Kk]siążka)%s*:%s*{{))}}{{))}}{{!}}Książka<!--
-->{{!}}<!--
-->{{((}}#invoke:Skrót{{!}}Kategoria{{!}}{{(((}}{{((}}_{{))}}{{)))}}{{!}}sortuj spacją{{=}}<!--
-->{{((}}#if:{{(((}}książka{{!}}{{)))}}{{!}}{{!}}tak{{))}}<!--
-->{{))}}<!--
-->{{!}}<!--
-->{{((}}#invoke:Skrót{{!}}Kategoria{{!}}{{(((}}{{((}}_{{))}}{{)))}}{{))}}<!--
-->{{))}}<!--
-->{{((}}#if:{{(((}}język{{!}}{{)))}}{{!}}
{{((}}#ifeq:{{((}}ucfirst:{{(((}}{{((}}_{{))}}{{)))}}{{))}}{{!}}Języki{{!}}<!--
-->{{((}}#invoke:Skrót{{!}}Kategoria{{!}}{{(((}}{{((}}_{{))}}{{)))}} {{(((}}język{{)))}}{{))}}<!--
-->{{))}}<!--
-->{{))}}<!--
-->{{))}}<!--
-->}}<!--
-->}}<!--
-->{{#if:{{Dopasuj|ciąg={{{1}}}|wzór=^%s*(%+).*$}}
|{{#invoke:Ramka|Powtarzaj|start=2|<!--
-->{{((}}#if:{{(((}}{{((}}_{{))}}{{!}}{{)))}}{{!}}<!--
-->{{((}}#ifeq:{{((}}ucfirst:{{((}}Dopasuj{{!}}ciąg{{=}}{{(((}}{{((}}_{{))}}{{)))}}{{!}}wzór{{=}}^%s*([Kk]siążka)%s*:%s*{{))}}{{))}}{{!}}Książka{{!}}{{!}}<!--
-->{{((}}#invoke:Skrót{{!}}Kategoria{{!}}Polecane książki/{{((}}ucfirst:{{(((}}{{((}}_{{))}}{{)))}}{{))}}{{))}}<!--
-->{{))}}<!--
-->{{((}}#if:{{(((}}język{{!}}{{)))}}{{!}}
{{((}}#ifeq:{{((}}ucfirst:{{(((}}{{((}}_{{))}}{{)))}}{{))}}{{!}}Języki{{!}}
{{((}}#invoke:Skrót{{!}}Kategoria{{!}}Polecane książki/{{((}}ucfirst:{{(((}}{{((}}_{{))}}{{)))}} {{(((}}język{{)))}}{{))}}{{))}}
{{))}}<!--
-->{{))}}<!--
-->{{))}}<!--
-->}}<!--
-->{{#if:{{Dopasuj|ciąg={{#invoke:Pudełko|Nazwa jednostki 2}}|wzór=^([^/]+)$}}|<!--
-->{{#invoke:Skrót|Kategoria|Polecane książki}}<!--
-->{{#invoke:Skrót|Kategoria|Polecane książki/Spis alfabetyczny/{{Dopasuj|ciąg={{#invoke:Pudełko|Nazwa jednostki 2}}|wzór=^(.).*$}}}}<!--
-->{{#if:{{{poziom|}}}|<!--
-->{{#invoke:Ramka|PrzetwarzajIterującCiąg
|ciąg={{{poziom}}}
| 1= {{((}}#if:{{((}}ciąg{{))}}<!--
-->{{!}}{{((}}#invoke:Skrót{{!}}Kategoria{{!}}Polecane książki/{{((}}ucfirst:{{((}}ciąg{{))}}{{))}}{{))}}<!--
-->{{))}}{{((}}#if:{{(((}}typ{{!}}{{)))}}{{!}}<!--
-->{{((}}#switch:{{((}}ucfirst:{{((}}ciąg{{))}}{{))}}<!--
-->{{!}}Studia{{=}}{{((}}#invoke:Skrót{{!}}Kategoria{{!}}Polecane książki/Akademickie książki {{(((}}typ{{)))}}{{))}}<!--
-->{{))}}<!--
-->{{))}}<!--
-->}}<!--
<!-- -->}}<!--
-->}}<!--
-->}}
<!--
-->}}<!--
-->|jednostka użytkownika=<!--
-->{{#invoke:Ramka|Szablon|parametry funkcji modułu pudełek=tak|Nazwa=Status/silnik|ukończona={{Zastąp|ciąg={{{1|}}}|wzór=^%s*[%-%+]?%s*0*(%d+)%%?%s*$|zamień=%1}}|polecana=|typ=|nie kategorie=tak|id={{{id|}}}|styl plik=|rozmiar plik=1.2emx1.2em}}<!--
-->{{#invoke:Skrót|Kategoria|Wszystkie książki użytkowników}}<!--
-->|jednostka brudnopisu projektu=<!--
-->{{#invoke:Ramka|Szablon|parametry funkcji modułu pudełek=tak|Nazwa=Status/silnik|ukończona={{Zastąp|ciąg={{{1|}}}|wzór=^%s*[%-%+]?%s*0*(%d+)%%?%s*$|zamień=%1}}|polecana=|typ=|nie kategorie=tak|id={{{id|}}}|styl plik=|rozmiar plik=1.2emx1.2em}}<!--
-->{{#invoke:Skrót|Kategoria|Wszystkie książki w brudnopisie projektu}}<!--
-->|#default={{Błąd|Aby kompletność statusu działała, musisz wstawić szablon do strony głównej podręcznika.|tag=span}}<!--
-->{{#invoke:Skrót|Kategoria|Szablon status wywołano na innej stronie, niż dla której go przystosowano}}<!--
-->}}<!--
--></includeonly><noinclude>{{Dokumentacja}}</noinclude>
qqoud41yhf2cdrdkyapkuul76pysika
543465
543462
2026-05-19T13:06:40Z
Persino
2851
543465
wikitext
text/x-wiki
<includeonly><!--
-->{{#switch:{{#if:{{{artykuł|}}}<!--
-->|strona artykułu<!--
-->|{{#invoke:Pudełko|Typ jednostki|obsługiwane opisy jako strony jednostek programowych=tak}}<!--
-->}}<!--
-->|podręcznik|podręcznik dla dzieci|strona artykułu=<!--
-->{{#invoke:Ramka|Szablon|parametry funkcji modułu pudełek=tak|Nazwa=Status/silnik
| ukończona = {{Zastąp|ciąg={{{1|}}}|wzór=^%s*[%-%+]?%s*0*(%d+)%%?%s*$|zamień=%1}}
| polecana = {{#if:{{Dopasuj|ciąg={{{1}}}|wzór=^%s*(%+).*$}}|tak}}
| typ = {{{typ|}}}
| nie kategorie =
| id = {{{id|}}}
| styl plik = width:fit-content;height:fit-content;
| rozmiar plik = 1.2emx1.2em
| pl:w = {{Jeśli niepuste
|{{#invoke:wiki|WikidaneOdpowiednikStrony|wyspecjalizowana=tak|nazwa strony={{#invoke:Pudełko|Pełna nazwa jednostki}}|kod języka bazy=pl|kod projektu bazy=b|kod języka=pl|kod projektu=w}}
|{{#invoke:wiki|WikidaneOdpowiednikStrony|wyspecjalizowana=tak|nazwa strony={{#invoke:Pudełko|Pełna nazwa jednostki}}|kod języka bazy=pl|kod projektu bazy=w|kod języka=pl|kod projektu=w}}
}}
| en:b = {{Jeśli niepuste
|{{#invoke:wiki|WikidaneOdpowiednikStrony|wyspecjalizowana=tak|nazwa strony={{#invoke:Pudełko|Pełna nazwa jednostki}}|kod języka bazy=pl|kod projektu bazy=b|kod języka=en|kod projektu=b}}
|{{#invoke:wiki|WikidaneOdpowiednikStrony|wyspecjalizowana=tak|nazwa strony={{#invoke:Pudełko|Pełna nazwa jednostki}}|kod języka bazy=pl|kod projektu bazy=w|kod języka=en|kod projektu=b}}
}}
| pl:s = {{Jeśli niepuste
|{{#invoke:wiki|WikidaneOdpowiednikStrony|wyspecjalizowana=tak|nazwa strony={{#invoke:Pudełko|Pełna nazwa jednostki}}|kod języka bazy=pl|kod projektu bazy=b|kod języka=pl|kod projektu=s}}
|{{#invoke:wiki|WikidaneOdpowiednikStrony|wyspecjalizowana=tak|nazwa strony={{#invoke:Pudełko|Pełna nazwa jednostki}}|kod języka bazy=pl|kod projektu bazy=w|kod języka=pl|kod projektu=s}}
}}
| pl:q = {{Jeśli niepuste
|{{#invoke:wiki|WikidaneOdpowiednikStrony|wyspecjalizowana=tak|nazwa strony={{#invoke:Pudełko|Pełna nazwa jednostki}}|kod języka bazy=pl|kod projektu bazy=b|kod języka=pl|kod projektu=q}}
|{{#invoke:wiki|WikidaneOdpowiednikStrony|wyspecjalizowana=tak|nazwa strony={{#invoke:Pudełko|Pełna nazwa jednostki}}|kod języka bazy=pl|kod projektu bazy=w|kod języka=pl|kod projektu=q}}
}}
| pl:wikt = {{Jeśli niepuste
|{{#invoke:wiki|WikidaneOdpowiednikStrony|wyspecjalizowana=tak|nazwa strony={{#invoke:Pudełko|Pełna nazwa jednostki}}|kod języka bazy=pl|kod projektu bazy=b|kod języka=pl|kod projektu=wikt}}
|{{#invoke:wiki|WikidaneOdpowiednikStrony|wyspecjalizowana=tak|nazwa strony={{#invoke:Pudełko|Pełna nazwa jednostki}}|kod języka bazy=pl|kod projektu bazy=w|kod języka=pl|kod projektu=wikt}}
}}
| en:v = {{Jeśli niepuste
|{{#invoke:wiki|WikidaneOdpowiednikStrony|wyspecjalizowana=tak|nazwa strony={{#invoke:Pudełko|Pełna nazwa jednostki}}|kod języka bazy=pl|kod projektu bazy=b|kod języka=en|kod projektu=v}}
|{{#invoke:wiki|WikidaneOdpowiednikStrony|wyspecjalizowana=tak|nazwa strony={{#invoke:Pudełko|Pełna nazwa jednostki}}|kod języka bazy=pl|kod projektu bazy=w|kod języka=en|kod projektu=v}}
}}
| d = {{Jeśli niepuste
|{{#invoke:Wikidane|id|{{#invoke:Pudełko|Pełna nazwa jednostki}}|idwiki=plwikibooks}}
|{{#invoke:Wikidane|id|{{#invoke:Pudełko|Pełna nazwa jednostki}}|idwiki=plwiki}}
}}<!--
-->}}<!--
-->{{#if:{{{1|}}}|<!--
-->{{#if:{{Dopasuj|ciąg={{{1}}}|wzór=^%s*([%+%-]).*$}}|<!--
-->{{#ifeq:{{#invoke:Pudełko|Nazwa przestrzeni nazw 2}}|Wikijunior|<!--
-->{{#invoke:Skrót|Kategoria|Wikijunior}}<!--
-->{{#if:{{{junior|}}}|<!--
-->{{#invoke:Ramka|PrzetwarzajIterującCiąg
|ciąg={{{junior}}}
| 1= {{((}}#if:{{((}}ciąg{{))}}
{{!}}{{((}}#invoke:Skrót{{!}}Kategoria{{!}}Wikijunior:{{((}}ucfirst:{{((}}ciąg{{))}}{{))}}{{))}}
{{))}}<!--
-->}}<!--
-->}}<!--
-->}}<!--
-->{{#if:{{{archiwalna|}}}|{{#invoke:Skrót|Kategoria|Archiwalne}}}}<!--
-->{{#if:{{Dopasuj|ciąg={{#invoke:Pudełko|Nazwa jednostki 2}}|wzór=^([^/]+)$}}|<!--
-->{{#invoke:Skrót|Kategoria|Wszystkie książki}}<!--
-->{{#invoke:Skrót|Kategoria|Spis alfabetyczny/{{Dopasuj|ciąg={{#invoke:Pudełko|Nazwa jednostki 2}}|wzór=^(.).*$}}}}<!--
-->{{#if:{{{poziom|}}}|<!--
-->{{#invoke:Ramka|PrzetwarzajIterującCiąg
|ciąg={{{poziom}}}
| 1= {{((}}#if:{{((}}ciąg{{))}}<!--
-->{{!}}{{((}}#invoke:Skrót{{!}}Kategoria{{!}}{{((}}ciąg{{))}}{{))}}<!--
-->{{))}}{{((}}#if:{{(((}}typ{{!}}{{)))}}{{!}}<!--<!--
-->{{((}}#switch:{{((}}ucfirst:{{((}}ciąg{{))}}{{))}}<!--
-->{{!}}Studia{{=}}{{((}}#invoke:Skrót{{!}}Kategoria{{!}}Akademickie książki {{(((}}typ{{)))}}{{))}}<!--
-->{{))}}<!--
-->{{))}}<!--
-->}}<!--
<!-- -->}}<!--
-->}}<!--
-->{{#if:{{{korzeń|}}}|<!--
-->{{#invoke:Skrót|Kategoria|{{{korzeń}}}|*}}<!--
-->}}<!--
-->{{#if:{{{główna|}}}|<!--
-->{{#invoke:Skrót|Kategoria|{{{główna}}}|sortuj spacją=tak}}<!--
-->}}<!--
-->{{#if:{{{rodzaj|}}}|<!--
-->{{#invoke:Ramka|PrzetwarzajIterującCiąg
|ciąg={{{rodzaj}}}
| 1= {{((}}#if:{{((}}ciąg{{))}}<!--
-->{{!}}{{((}}#invoke:Skrót{{!}}Kategoria{{!}}{{((}}ciąg{{))}}{{))}}<!--
-->{{))}}<!--
-->}}<!--
-->}}<!--
-->{{#if:{{#invoke:Ramka|Powtarzaj|start=2|{{((}}Dopasuj{{!}}ciąg{{=}}{{(((}}{{((}}_{{))}}{{)))}}{{!}}wzór{{=}}^%s*([Kk]siążka)%s*:%s*.+${{))}}}}
|
|{{#ifexist:{{Ns:Category}}:Książka:{{#invoke:Pudełko|Pełna nazwa jednostki 2}}|{{#invoke:Skrót|Kategoria|Książka:{{#invoke:Pudełko|Pełna nazwa jednostki 2}}|sortuj spacją={{#if:{{{książka|}}}||tak}}}}}}
}}
{{#invoke:Ramka|Powtarzaj|start=2|<!--
-->{{((}}#if:{{(((}}{{((}}_{{))}}{{!}}{{)))}}{{!}}<!--
-->{{((}}#ifeq:{{((}}ucfirst:{{((}}Dopasuj{{!}}ciąg{{=}}{{(((}}{{((}}_{{))}}{{)))}}{{!}}wzór{{=}}^%s*([Kk]siążka)%s*:%s*{{))}}{{))}}{{!}}Książka<!--
-->{{!}}<!--
-->{{((}}#invoke:Skrót{{!}}Kategoria{{!}}{{(((}}{{((}}_{{))}}{{)))}}{{!}}sortuj spacją{{=}}<!--
-->{{((}}#if:{{(((}}książka{{!}}{{)))}}{{!}}{{!}}tak{{))}}<!--
-->{{))}}<!--
-->{{!}}<!--
-->{{((}}#invoke:Skrót{{!}}Kategoria{{!}}{{(((}}{{((}}_{{))}}{{)))}}{{))}}<!--
-->{{))}}<!--
-->{{((}}#if:{{(((}}język{{!}}{{)))}}{{!}}
{{((}}#ifeq:{{((}}ucfirst:{{(((}}{{((}}_{{))}}{{)))}}{{))}}{{!}}Języki{{!}}<!--
-->{{((}}#invoke:Skrót{{!}}Kategoria{{!}}{{(((}}{{((}}_{{))}}{{)))}} {{(((}}język{{)))}}{{))}}<!--
-->{{))}}<!--
-->{{))}}<!--
-->{{))}}<!--
-->}}<!--
-->}}<!--
-->{{#if:{{Dopasuj|ciąg={{{1}}}|wzór=^%s*(%+).*$}}
|{{#invoke:Ramka|Powtarzaj|start=2|<!--
-->{{((}}#if:{{(((}}{{((}}_{{))}}{{!}}{{)))}}{{!}}<!--
-->{{((}}#ifeq:{{((}}ucfirst:{{((}}Dopasuj{{!}}ciąg{{=}}{{(((}}{{((}}_{{))}}{{)))}}{{!}}wzór{{=}}^%s*([Kk]siążka)%s*:%s*{{))}}{{))}}{{!}}Książka{{!}}{{!}}<!--
-->{{((}}#invoke:Skrót{{!}}Kategoria{{!}}Polecane książki/{{((}}ucfirst:{{(((}}{{((}}_{{))}}{{)))}}{{))}}{{))}}<!--
-->{{))}}<!--
-->{{((}}#if:{{(((}}język{{!}}{{)))}}{{!}}
{{((}}#ifeq:{{((}}ucfirst:{{(((}}{{((}}_{{))}}{{)))}}{{))}}{{!}}Języki{{!}}
{{((}}#invoke:Skrót{{!}}Kategoria{{!}}Polecane książki/{{((}}ucfirst:{{(((}}{{((}}_{{))}}{{)))}} {{(((}}język{{)))}}{{))}}{{))}}
{{))}}<!--
-->{{))}}<!--
-->{{))}}<!--
-->}}<!--
-->{{#if:{{Dopasuj|ciąg={{#invoke:Pudełko|Nazwa jednostki 2}}|wzór=^([^/]+)$}}|<!--
-->{{#invoke:Skrót|Kategoria|Polecane książki}}<!--
-->{{#invoke:Skrót|Kategoria|Polecane książki/Spis alfabetyczny/{{Dopasuj|ciąg={{#invoke:Pudełko|Nazwa jednostki 2}}|wzór=^(.).*$}}}}<!--
-->{{#if:{{{poziom|}}}|<!--
-->{{#invoke:Ramka|PrzetwarzajIterującCiąg
|ciąg={{{poziom}}}
| 1= {{((}}#if:{{((}}ciąg{{))}}<!--
-->{{!}}{{((}}#invoke:Skrót{{!}}Kategoria{{!}}Polecane książki/{{((}}ucfirst:{{((}}ciąg{{))}}{{))}}{{))}}<!--
-->{{))}}{{((}}#if:{{(((}}typ{{!}}{{)))}}{{!}}<!--
-->{{((}}#switch:{{((}}ucfirst:{{((}}ciąg{{))}}{{))}}<!--
-->{{!}}Studia{{=}}{{((}}#invoke:Skrót{{!}}Kategoria{{!}}Polecane książki/Akademickie książki {{(((}}typ{{)))}}{{))}}<!--
-->{{))}}<!--
-->{{))}}<!--
-->}}<!--
<!-- -->}}<!--
-->}}<!--
-->}}
<!--
-->}}<!--
-->|jednostka użytkownika=<!--
-->{{#invoke:Ramka|Szablon|parametry funkcji modułu pudełek=tak|Nazwa=Status/silnik|ukończona={{Zastąp|ciąg={{{1|}}}|wzór=^%s*[%-%+]?%s*0*(%d+)%%?%s*$|zamień=%1}}|polecana=|typ=|nie kategorie=tak|id={{{id|}}}|styl plik=width:fit-content;height:fit-content;|rozmiar plik=1.2emx1.2em}}<!--
-->{{#invoke:Skrót|Kategoria|Wszystkie książki użytkowników}}<!--
-->|jednostka brudnopisu projektu=<!--
-->{{#invoke:Ramka|Szablon|parametry funkcji modułu pudełek=tak|Nazwa=Status/silnik|ukończona={{Zastąp|ciąg={{{1|}}}|wzór=^%s*[%-%+]?%s*0*(%d+)%%?%s*$|zamień=%1}}|polecana=|typ=|nie kategorie=tak|id={{{id|}}}|styl plik=width:fit-content;height:fit-content;|rozmiar plik=1.2emx1.2em}}<!--
-->{{#invoke:Skrót|Kategoria|Wszystkie książki w brudnopisie projektu}}<!--
-->|#default={{Błąd|Aby kompletność statusu działała, musisz wstawić szablon do strony głównej podręcznika.|tag=span}}<!--
-->{{#invoke:Skrót|Kategoria|Szablon status wywołano na innej stronie, niż dla której go przystosowano}}<!--
-->}}<!--
--></includeonly><noinclude>{{Dokumentacja}}</noinclude>
cflffpv9az21sb8p3zdoa3zqmy0g3l1
Depilacja
0
30704
543521
532214
2026-05-19T20:40:09Z
Persino
2851
543521
wikitext
text/x-wiki
{{Status|100%|Pielęgnacja ciała}}
{{Rozdział|Depilacja}}
<inputbox>
type=search
width=40
namespaces=(Główna)**,
prefix=Depilacja
searchbuttonlabel=Szukaj
break=no
placeholder=Wyszukaj
</inputbox>
Witamy w poradniku depilacji!
W tym podręczniku znajdziesz instrukcje depilowania różnych części ciała. Jeśli chcesz – podziel się z nami własnym pomysłem.
[[Plik:Mujer afeitando sus piernas.jpg|thumb|Depilacja]]
== Depilacja ==
# [[Depilacja/Depilacja_palców_u_rąk_i_stóp|Depilacja palców u rąk i stóp]]
# [[Depilacja/Depilacja płatków uszu|Depilacja płatków uszu]]
n72ba9850twiweqeavs5e9ika3picmy
543522
543521
2026-05-19T20:40:39Z
Persino
2851
543522
wikitext
text/x-wiki
{{Status|-100%|Pielęgnacja ciała}}
{{Rozdział|Depilacja}}
<inputbox>
type=search
width=40
namespaces=(Główna)**,
prefix=Depilacja
searchbuttonlabel=Szukaj
break=no
placeholder=Wyszukaj
</inputbox>
Witamy w poradniku depilacji!
W tym podręczniku znajdziesz instrukcje depilowania różnych części ciała. Jeśli chcesz – podziel się z nami własnym pomysłem.
[[Plik:Mujer afeitando sus piernas.jpg|thumb|Depilacja]]
== Depilacja ==
# [[Depilacja/Depilacja_palców_u_rąk_i_stóp|Depilacja palców u rąk i stóp]]
# [[Depilacja/Depilacja płatków uszu|Depilacja płatków uszu]]
q2df2znvouk6dsvaatdtiohieyoo3ef
543523
543522
2026-05-19T20:49:27Z
Persino
2851
543523
wikitext
text/x-wiki
{{Status|-100%|Pielęgnacja ciała}}
{{Rozdział|Depilacja}}
{{FormularzWejścia|typ=search|szerokość=40|przestrzenie=(Główna)**|przedrostek=Depilacja|szukaj=Szukaj|przerwa=no|zastępczy=Wyszukaj}}
Witamy w poradniku depilacji!
W tym podręczniku znajdziesz instrukcje depilowania różnych części ciała. Jeśli chcesz – podziel się z nami własnym pomysłem.
[[Plik:Mujer afeitando sus piernas.jpg|thumb|Depilacja]]
== Depilacja ==
# [[Depilacja/Depilacja_palców_u_rąk_i_stóp|Depilacja palców u rąk i stóp]]
# [[Depilacja/Depilacja płatków uszu|Depilacja płatków uszu]]
93geebtgsb5z3doy1h1dtp7y4bbfe3e
Fryzjerstwo
0
31638
543520
518902
2026-05-19T20:33:44Z
Persino
2851
543520
wikitext
text/x-wiki
{{status|-50%|Pielęgnacja ciała|Fryzjerstwo}}
# [[w:Włosy|Wstęp]]
# [[/Problemy|Rodzaje włosów]]
## [[/Problemy#Tekstura|Tekstura]]
## [[/Problemy#Gęstość|Gęstość]]
## [[/Problemy#Porowatość|Porowatość]]
## [[/Problemy#Elastyczność|Elastyczność]]
# [[/Narzędzia i sprzęt używany we fryzjerstwie/]]
## Narzędzia skrawające
## Narzędzia do stylizacji
## Narzędzia do kolorowania
## Inne niezbędne wyposażenie
# [[/Techniki strzyżenia włosów/]]
## Podstawowe fryzury
## Zaawansowane fryzury
## Techniki strzyżenia męskiego
## Techniki strzyżenia damskiego
# [[/Techniki układania włosów/]]
## Suszenie suszarką
## Prostowanie
## kręcenie
## upięcie włosów
# [[/Techniki koloryzacji włosów/]]
## Rodzaje koloru włosów
## Techniki koloryzacji dla różnych typów włosów
## Techniki Ombre i Balayage
## Techniki podkreślania włosów
# [[/Pielęgnacja/]]
## Szampon i kondycjonowanie
## Zabiegi na włosy
## Techniki ochrony włosów
## Zalecenia dotyczące produktów do stylizacji włosów
# [[/Kosmetyki/]]
## lakier do włosów
## pianka
## żel
# [[/Akcesoria/]]
## spinki
## opaski
## spinki do włosów
# [[/Bibliografia/]]
aihcrbkrg4ec2f4q7ctgsa3sdp99i8z
Szablon:Status/silnik
10
56658
543459
543455
2026-05-19T12:29:56Z
Persino
2851
543459
wikitext
text/x-wiki
<includeonly>{{#if:{{#invoke:Parametry|Not|{{{nie kategorie|}}}}}|<!--
-->{{#invoke:Skrót|Kategoria|{{#switch: {{{ukończona|}}}
| 0 = Zalążki
| 25 = Rozpoczęte książki
| 50 = Książki wymagające dopracowania
| 75 = Książki na ukończeniu
| 100 = Kompletne książki
| #default = Zalążki
}}}}<!--
-->{{#if:{{{polecana|}}}|{{#invoke:Skrót|Kategoria|Polecane książki/{{#switch: {{{ukończona|}}}
| 0 = Zalążki
| 25 = Rozpoczęte książki
| 50 = Książki wymagające dopracowania
| 75 = Książki na ukończeniu
| 100 = Kompletne książki
| #default = Zalążki
}}}}}}<!--
-->{{#if:{{{typ|}}}|{{#invoke:Skrót|Kategoria|{{#switch: {{{ukończona|}}}
| 0 = Zalążki
| 25 = Rozpoczęte książki
| 50 = Książki wymagające dopracowania
| 75 = Książki na ukończeniu
| 100 = Kompletne książki
| #default = Zalążki
}} {{{typ}}}}}}}<!--
-->{{#if:{{#invoke:Parametry|And|{{{polecana|}}}|{{{typ|}}}}}|{{#invoke:Skrót|Kategoria|Polecane książki/{{#switch: {{{ukończona|}}}
| 0 = Zalążki
| 25 = Rozpoczęte książki
| 50 = Książki wymagające dopracowania
| 75 = Książki na ukończeniu
| 100 = Kompletne książki
| #default = Zalążki
}} {{{typ}}}}}}}<!--
-->{{#if:{{{pl:w|}}}|{{#invoke:Skrót|Kategoria|Hasła na polskiej Wikipedii}}}}<!--
-->{{#if:{{{en:b|}}}|{{#invoke:Skrót|Kategoria|Podręczniki na angielskim Wikibooks'ie}}}}<!--
-->{{#if:{{{pl:s|}}}|{{#invoke:Skrót|Kategoria|Książki na polskich Wikiźródłach}}}}<!--
-->{{#if:{{{pl:q|}}}|{{#invoke:Skrót|Kategoria|Hasła na polskich Wikicytatach}}}}<!--
-->{{#if:{{{pl:wikt|}}}|{{#invoke:Skrót|Kategoria|Hasła na polskim Wikisłowniku}}}}<!--
-->{{#if:{{{en:v|}}}|{{#invoke:Skrót|Kategoria|Skrypty na angielskim Wikiwersytecie}}}}<!--
-->{{#if:{{{d|}}}|{{#invoke:Skrót|Kategoria|Identyfikatory na Wikidanych}}}}<!--
-->}}<!--
-->{{#ifeq:{{{id|}}}|stary|<!--
-->{{Div|klasa=metadata topicon|id=status-icon|<!--
-->{{Plik|plik={{#switch: {{{ukończona|}}}
| 0 = 00
| 25 = 25
| 50 = 50
| 75 = 75
| 100 = 100
| #default = 00
}}%.svg|rozmiar=24px|opis={{#switch: {{{ukończona|}}}
| 0 = 0%
| 25 = 25%
| 50 = 50%
| 75 = 75%
| 100 = 100%
| #default = 0%
}} Status|link={{Ns:Category}}:{{#switch: {{{ukończona|}}}
| 0 = Zalążki
| 25 = Rozpoczęte książki
| 50 = Książki wymagające dopracowania
| 75 = Książki na ukończeniu
| 100 = Kompletne książki
| #default = Zalążki
}}}}}}<!--
-->|<!--
-->{{DivLinia}}<!-- Na wypadek, gdy by istniały wolne linie pomiędzy szablonem {{Status}}, a pozostałą częścią wikikodu. --><!--
-->{{#tag:indicator|<!--
-->{{Plik|plik={{#switch: {{{ukończona|}}}
| 0 = 00
| 25 = 25
| 50 = 50
| 75 = 75
| 100 = 100
| #default = 00
}}%.svg|rozmiar={{{rozmiar plik|1.2em}}}|opis={{#switch: {{{ukończona|}}}
| 0 = 0%
| 25 = 25%
| 50 = 50%
| 75 = 75%
| 100 = 100%
| #default = 0%
}} Status|link={{Ns:Category}}:{{#switch: {{{ukończona|}}}
| 0 = Zalążki
| 25 = Rozpoczęte książki
| 50 = Książki wymagające dopracowania
| 75 = Książki na ukończeniu
| 100 = Kompletne książki
| #default = Zalążki
}}}}|name=indicator_status_skrot|class=metadata topicon|id=status-icon}}<!--
-->{{#if:{{{pl:w|}}}|{{#tag:indicator|<!--
-->{{Plik
| plik = Wikipedia-logo.svg
| rozmiar = {{{rozmiar plik|1.2em}}}
| opis = Hasła na polskiej Wikipedii
| link = w:{{{pl:w|}}}
}}|name=indicator_status_polska_Wikipedia|class=metadata topicon|id=status-icon}}}}<!--
-->{{#if:{{{en:b|}}}|{{#tag:indicator|<!--
-->{{Plik
| plik = Wikibooks-logo.svg
| rozmiar = {{{rozmiar plik|1.2em}}}
| opis = Podręczniki na angielskim Wikibooks'ie
| link = en:{{{en:b|}}}
}}|name=indicator_status_angielski_Wikibooks|class=metadata topicon|id=status-icon}}}}<!--
-->{{#if:{{{pl:s|}}}|{{#tag:indicator|<!--
-->{{Plik
| plik = Wikisource-logo.svg
| rozmiar = {{{rozmiar plik|1.2em}}}
| opis = Książki na polskich Wikiźródłach
| link = s:{{{pl:s|}}}
}}|name=indicator_status_polskie_Wikiźródła|class=metadata topicon|id=status-icon}}}}<!--
-->{{#if:{{{pl:q|}}}|{{#tag:indicator|<!--
-->{{Plik
| plik = Wikiquote-logo.svg
| rozmiar = {{{rozmiar plik|1.2em}}}
| opis = Hasła na polskich Wikicytatach
| link = q:{{{pl:q|}}}
}}|name=indicator_status_polskie_Wikicytaty|class=metadata topicon|id=status-icon}}}}<!--
-->{{#if:{{{pl:wikt|}}}|{{#tag:indicator|<!--
-->{{Plik
| plik = WiktionaryPl nodesc.svg
| rozmiar = {{{rozmiar plik|1.2em}}}
| opis = Hasła na polskim Wikisłowniku
| link = wikt:{{{pl:wikt|}}}
}}|name=indicator_status_polski_Wikisłownik|class=metadata topicon|id=status-icon}}}}<!--
-->{{#if:{{{en:v|}}}|{{#tag:indicator|<!--
-->{{Plik
| plik = Wikiversity-logo.svg
| rozmiar = {{{rozmiar plik|1.2em}}}
| opis = Skrypty na angielskim Wikiwersytecie
| link = en:v:{{{en:v|}}}
}}|name=indicator_status_angielski_Wikiwersytet|class=metadata topicon|id=status-icon}}}}<!--
-->{{#if:{{{d|}}}|{{#tag:indicator|<!--
-->{{Plik
| plik = Wikidata-logo.svg
| rozmiar = {{{rozmiar plik|1.2em}}}
| opis = Identyfikatory na Wikidanych
| link = d:{{{d|}}}
}}|name=indicator_status_Wikidane|class=metadata topicon|id=status-icon}}}}<!--
-->}}{{#switch: {{{ukończona|}}}
|0|25|50|75|100 =
|#default = {{Br}}{{Błąd|Aby kompletność statusu działała, musisz ustawić stopień 0%, 25%, 50%, 75%, albo 100%!|tag=span}}{{Kategoria|Szablon status z nieodpowiednim pierwszym numerowanym parametrze}}
}}</includeonly><noinclude>{{Dokumentacja|zawartość=Szablon pomocniczy, silnik, do szablonu {{s|Status}}.}}{{Kategoria|Szablony - silniki}}</noinclude>
oin3tb5o6zn4bvb9be4x5btr29sjs1m
543463
543459
2026-05-19T12:58:20Z
Persino
2851
543463
wikitext
text/x-wiki
<includeonly>{{#if:{{#invoke:Parametry|Not|{{{nie kategorie|}}}}}|<!--
-->{{#invoke:Skrót|Kategoria|{{#switch: {{{ukończona|}}}
| 0 = Zalążki
| 25 = Rozpoczęte książki
| 50 = Książki wymagające dopracowania
| 75 = Książki na ukończeniu
| 100 = Kompletne książki
| #default = Zalążki
}}}}<!--
-->{{#if:{{{polecana|}}}|{{#invoke:Skrót|Kategoria|Polecane książki/{{#switch: {{{ukończona|}}}
| 0 = Zalążki
| 25 = Rozpoczęte książki
| 50 = Książki wymagające dopracowania
| 75 = Książki na ukończeniu
| 100 = Kompletne książki
| #default = Zalążki
}}}}}}<!--
-->{{#if:{{{typ|}}}|{{#invoke:Skrót|Kategoria|{{#switch: {{{ukończona|}}}
| 0 = Zalążki
| 25 = Rozpoczęte książki
| 50 = Książki wymagające dopracowania
| 75 = Książki na ukończeniu
| 100 = Kompletne książki
| #default = Zalążki
}} {{{typ}}}}}}}<!--
-->{{#if:{{#invoke:Parametry|And|{{{polecana|}}}|{{{typ|}}}}}|{{#invoke:Skrót|Kategoria|Polecane książki/{{#switch: {{{ukończona|}}}
| 0 = Zalążki
| 25 = Rozpoczęte książki
| 50 = Książki wymagające dopracowania
| 75 = Książki na ukończeniu
| 100 = Kompletne książki
| #default = Zalążki
}} {{{typ}}}}}}}<!--
-->{{#if:{{{pl:w|}}}|{{#invoke:Skrót|Kategoria|Hasła na polskiej Wikipedii}}}}<!--
-->{{#if:{{{en:b|}}}|{{#invoke:Skrót|Kategoria|Podręczniki na angielskim Wikibooks'ie}}}}<!--
-->{{#if:{{{pl:s|}}}|{{#invoke:Skrót|Kategoria|Książki na polskich Wikiźródłach}}}}<!--
-->{{#if:{{{pl:q|}}}|{{#invoke:Skrót|Kategoria|Hasła na polskich Wikicytatach}}}}<!--
-->{{#if:{{{pl:wikt|}}}|{{#invoke:Skrót|Kategoria|Hasła na polskim Wikisłowniku}}}}<!--
-->{{#if:{{{en:v|}}}|{{#invoke:Skrót|Kategoria|Skrypty na angielskim Wikiwersytecie}}}}<!--
-->{{#if:{{{d|}}}|{{#invoke:Skrót|Kategoria|Identyfikatory na Wikidanych}}}}<!--
-->}}<!--
-->{{#ifeq:{{{id|}}}|stary|<!--
-->{{Div|klasa=metadata topicon|id=status-icon|<!--
-->{{Plik|plik={{#switch: {{{ukończona|}}}
| 0 = 00
| 25 = 25
| 50 = 50
| 75 = 75
| 100 = 100
| #default = 00
}}%.svg|rozmiar=24px|opis={{#switch: {{{ukończona|}}}
| 0 = 0%
| 25 = 25%
| 50 = 50%
| 75 = 75%
| 100 = 100%
| #default = 0%
}} Status|link={{Ns:Category}}:{{#switch: {{{ukończona|}}}
| 0 = Zalążki
| 25 = Rozpoczęte książki
| 50 = Książki wymagające dopracowania
| 75 = Książki na ukończeniu
| 100 = Kompletne książki
| #default = Zalążki
}}}}}}<!--
-->|<!--
-->{{DivLinia}}<!-- Na wypadek, gdy by istniały wolne linie pomiędzy szablonem {{Status}}, a pozostałą częścią wikikodu. --><!--
-->{{#tag:indicator|<!--
-->{{Plik|plik={{#switch: {{{ukończona|}}}
| 0 = 00
| 25 = 25
| 50 = 50
| 75 = 75
| 100 = 100
| #default = 00
}}%.svg|rozmiar={{{rozmiar plik|}}}|styl={{{styl plik|}}}|opis={{#switch: {{{ukończona|}}}
| 0 = 0%
| 25 = 25%
| 50 = 50%
| 75 = 75%
| 100 = 100%
| #default = 0%
}} Status|link={{Ns:Category}}:{{#switch: {{{ukończona|}}}
| 0 = Zalążki
| 25 = Rozpoczęte książki
| 50 = Książki wymagające dopracowania
| 75 = Książki na ukończeniu
| 100 = Kompletne książki
| #default = Zalążki
}}}}|name=indicator_status_skrot|class=metadata topicon|id=status-icon}}<!--
-->{{#if:{{{pl:w|}}}|{{#tag:indicator|<!--
-->{{Plik
| plik = Wikipedia-logo.svg
| rozmiar = {{{rozmiar plik|}}}
| styl = {{{styl plik|}}}
| opis = Hasła na polskiej Wikipedii
| link = w:{{{pl:w|}}}
}}|name=indicator_status_polska_Wikipedia|class=metadata topicon|id=status-icon}}}}<!--
-->{{#if:{{{en:b|}}}|{{#tag:indicator|<!--
-->{{Plik
| plik = Wikibooks-logo.svg
| rozmiar = {{{rozmiar plik|}}}
| styl = {{{styl plik|}}}
| opis = Podręczniki na angielskim Wikibooks'ie
| link = en:{{{en:b|}}}
}}|name=indicator_status_angielski_Wikibooks|class=metadata topicon|id=status-icon}}}}<!--
-->{{#if:{{{pl:s|}}}|{{#tag:indicator|<!--
-->{{Plik
| plik = Wikisource-logo.svg
| rozmiar = {{{rozmiar plik|}}}
| styl = {{{styl plik|}}}
| opis = Książki na polskich Wikiźródłach
| link = s:{{{pl:s|}}}
}}|name=indicator_status_polskie_Wikiźródła|class=metadata topicon|id=status-icon}}}}<!--
-->{{#if:{{{pl:q|}}}|{{#tag:indicator|<!--
-->{{Plik
| plik = Wikiquote-logo.svg
| rozmiar = {{{rozmiar plik|}}}
| styl = {{{styl plik|}}}
| opis = Hasła na polskich Wikicytatach
| link = q:{{{pl:q|}}}
}}|name=indicator_status_polskie_Wikicytaty|class=metadata topicon|id=status-icon}}}}<!--
-->{{#if:{{{pl:wikt|}}}|{{#tag:indicator|<!--
-->{{Plik
| plik = WiktionaryPl nodesc.svg
| rozmiar = {{{rozmiar plik|}}}
| styl = {{{styl plik|}}}
| opis = Hasła na polskim Wikisłowniku
| link = wikt:{{{pl:wikt|}}}
}}|name=indicator_status_polski_Wikisłownik|class=metadata topicon|id=status-icon}}}}<!--
-->{{#if:{{{en:v|}}}|{{#tag:indicator|<!--
-->{{Plik
| plik = Wikiversity-logo.svg
| rozmiar = {{{rozmiar plik|}}}
| styl = {{{styl plik|}}}
| opis = Skrypty na angielskim Wikiwersytecie
| link = en:v:{{{en:v|}}}
}}|name=indicator_status_angielski_Wikiwersytet|class=metadata topicon|id=status-icon}}}}<!--
-->{{#if:{{{d|}}}|{{#tag:indicator|<!--
-->{{Plik
| plik = Wikidata-logo.svg
| rozmiar = {{{rozmiar plik|}}}
| styl = {{{styl plik|}}}
| opis = Identyfikatory na Wikidanych
| link = d:{{{d|}}}
}}|name=indicator_status_Wikidane|class=metadata topicon|id=status-icon}}}}<!--
-->}}{{#switch: {{{ukończona|}}}
|0|25|50|75|100 =
|#default = {{Br}}{{Błąd|Aby kompletność statusu działała, musisz ustawić stopień 0%, 25%, 50%, 75%, albo 100%!|tag=span}}{{Kategoria|Szablon status z nieodpowiednim pierwszym numerowanym parametrze}}
}}</includeonly><noinclude>{{Dokumentacja|zawartość=Szablon pomocniczy, silnik, do szablonu {{s|Status}}.}}{{Kategoria|Szablony - silniki}}</noinclude>
jp8ctggs0sgl9dt3qvg1cb91z8ephua
543464
543463
2026-05-19T13:02:43Z
Persino
2851
543464
wikitext
text/x-wiki
<includeonly>{{#if:{{#invoke:Parametry|Not|{{{nie kategorie|}}}}}|<!--
-->{{#invoke:Skrót|Kategoria|{{#switch: {{{ukończona|}}}
| 0 = Zalążki
| 25 = Rozpoczęte książki
| 50 = Książki wymagające dopracowania
| 75 = Książki na ukończeniu
| 100 = Kompletne książki
| #default = Zalążki
}}}}<!--
-->{{#if:{{{polecana|}}}|{{#invoke:Skrót|Kategoria|Polecane książki/{{#switch: {{{ukończona|}}}
| 0 = Zalążki
| 25 = Rozpoczęte książki
| 50 = Książki wymagające dopracowania
| 75 = Książki na ukończeniu
| 100 = Kompletne książki
| #default = Zalążki
}}}}}}<!--
-->{{#if:{{{typ|}}}|{{#invoke:Skrót|Kategoria|{{#switch: {{{ukończona|}}}
| 0 = Zalążki
| 25 = Rozpoczęte książki
| 50 = Książki wymagające dopracowania
| 75 = Książki na ukończeniu
| 100 = Kompletne książki
| #default = Zalążki
}} {{{typ}}}}}}}<!--
-->{{#if:{{#invoke:Parametry|And|{{{polecana|}}}|{{{typ|}}}}}|{{#invoke:Skrót|Kategoria|Polecane książki/{{#switch: {{{ukończona|}}}
| 0 = Zalążki
| 25 = Rozpoczęte książki
| 50 = Książki wymagające dopracowania
| 75 = Książki na ukończeniu
| 100 = Kompletne książki
| #default = Zalążki
}} {{{typ}}}}}}}<!--
-->{{#if:{{{pl:w|}}}|{{#invoke:Skrót|Kategoria|Hasła na polskiej Wikipedii}}}}<!--
-->{{#if:{{{en:b|}}}|{{#invoke:Skrót|Kategoria|Podręczniki na angielskim Wikibooks'ie}}}}<!--
-->{{#if:{{{pl:s|}}}|{{#invoke:Skrót|Kategoria|Książki na polskich Wikiźródłach}}}}<!--
-->{{#if:{{{pl:q|}}}|{{#invoke:Skrót|Kategoria|Hasła na polskich Wikicytatach}}}}<!--
-->{{#if:{{{pl:wikt|}}}|{{#invoke:Skrót|Kategoria|Hasła na polskim Wikisłowniku}}}}<!--
-->{{#if:{{{en:v|}}}|{{#invoke:Skrót|Kategoria|Skrypty na angielskim Wikiwersytecie}}}}<!--
-->{{#if:{{{d|}}}|{{#invoke:Skrót|Kategoria|Identyfikatory na Wikidanych}}}}<!--
-->}}<!--
-->{{#ifeq:{{{id|}}}|stary|<!--
-->{{Div|klasa=metadata topicon|id=status-icon|<!--
-->{{Plik|plik={{#switch: {{{ukończona|}}}
| 0 = 00
| 25 = 25
| 50 = 50
| 75 = 75
| 100 = 100
| #default = 00
}}%.svg|rozmiar=24px|opis={{#switch: {{{ukończona|}}}
| 0 = 0%
| 25 = 25%
| 50 = 50%
| 75 = 75%
| 100 = 100%
| #default = 0%
}} Status|link={{Ns:Category}}:{{#switch: {{{ukończona|}}}
| 0 = Zalążki
| 25 = Rozpoczęte książki
| 50 = Książki wymagające dopracowania
| 75 = Książki na ukończeniu
| 100 = Kompletne książki
| #default = Zalążki
}}}}}}<!--
-->|<!--
-->{{DivLinia}}<!-- Na wypadek, gdy by istniały wolne linie pomiędzy szablonem {{Status}}, a pozostałą częścią wikikodu. --><!--
-->{{#tag:indicator|<!--
-->{{Plik|plik={{#switch: {{{ukończona|}}}
| 0 = 00
| 25 = 25
| 50 = 50
| 75 = 75
| 100 = 100
| #default = 00
}}%.svg|rozmiar={{{rozmiar plik|}}}|styl={{{styl plik|}}}|pozycja=brak|opis={{#switch: {{{ukończona|}}}
| 0 = 0%
| 25 = 25%
| 50 = 50%
| 75 = 75%
| 100 = 100%
| #default = 0%
}} Status|link={{Ns:Category}}:{{#switch: {{{ukończona|}}}
| 0 = Zalążki
| 25 = Rozpoczęte książki
| 50 = Książki wymagające dopracowania
| 75 = Książki na ukończeniu
| 100 = Kompletne książki
| #default = Zalążki
}}}}|name=indicator_status_skrot|class=metadata topicon|id=status-icon}}<!--
-->{{#if:{{{pl:w|}}}|{{#tag:indicator|<!--
-->{{Plik
| plik = Wikipedia-logo.svg
| rozmiar = {{{rozmiar plik|}}}
| styl = {{{styl plik|}}}
| pozycja = brak
| opis = Hasła na polskiej Wikipedii
| link = w:{{{pl:w|}}}
}}|name=indicator_status_polska_Wikipedia|class=metadata topicon|id=status-icon}}}}<!--
-->{{#if:{{{en:b|}}}|{{#tag:indicator|<!--
-->{{Plik
| plik = Wikibooks-logo.svg
| rozmiar = {{{rozmiar plik|}}}
| styl = {{{styl plik|}}}
| pozycja = brak
| opis = Podręczniki na angielskim Wikibooks'ie
| link = en:{{{en:b|}}}
}}|name=indicator_status_angielski_Wikibooks|class=metadata topicon|id=status-icon}}}}<!--
-->{{#if:{{{pl:s|}}}|{{#tag:indicator|<!--
-->{{Plik
| plik = Wikisource-logo.svg
| rozmiar = {{{rozmiar plik|}}}
| styl = {{{styl plik|}}}
| pozycja = brak
| opis = Książki na polskich Wikiźródłach
| link = s:{{{pl:s|}}}
}}|name=indicator_status_polskie_Wikiźródła|class=metadata topicon|id=status-icon}}}}<!--
-->{{#if:{{{pl:q|}}}|{{#tag:indicator|<!--
-->{{Plik
| plik = Wikiquote-logo.svg
| rozmiar = {{{rozmiar plik|}}}
| styl = {{{styl plik|}}}
| pozycja = brak
| opis = Hasła na polskich Wikicytatach
| link = q:{{{pl:q|}}}
}}|name=indicator_status_polskie_Wikicytaty|class=metadata topicon|id=status-icon}}}}<!--
-->{{#if:{{{pl:wikt|}}}|{{#tag:indicator|<!--
-->{{Plik
| plik = WiktionaryPl nodesc.svg
| rozmiar = {{{rozmiar plik|}}}
| styl = {{{styl plik|}}}
| pozycja = brak
| opis = Hasła na polskim Wikisłowniku
| link = wikt:{{{pl:wikt|}}}
}}|name=indicator_status_polski_Wikisłownik|class=metadata topicon|id=status-icon}}}}<!--
-->{{#if:{{{en:v|}}}|{{#tag:indicator|<!--
-->{{Plik
| plik = Wikiversity-logo.svg
| rozmiar = {{{rozmiar plik|}}}
| styl = {{{styl plik|}}}
| pozycja = brak
| opis = Skrypty na angielskim Wikiwersytecie
| link = en:v:{{{en:v|}}}
}}|name=indicator_status_angielski_Wikiwersytet|class=metadata topicon|id=status-icon}}}}<!--
-->{{#if:{{{d|}}}|{{#tag:indicator|<!--
-->{{Plik
| plik = Wikidata-logo.svg
| rozmiar = {{{rozmiar plik|}}}
| styl = {{{styl plik|}}}
| pozycja = brak
| opis = Identyfikatory na Wikidanych
| link = d:{{{d|}}}
}}|name=indicator_status_Wikidane|class=metadata topicon|id=status-icon}}}}<!--
-->}}{{#switch: {{{ukończona|}}}
|0|25|50|75|100 =
|#default = {{Br}}{{Błąd|Aby kompletność statusu działała, musisz ustawić stopień 0%, 25%, 50%, 75%, albo 100%!|tag=span}}{{Kategoria|Szablon status z nieodpowiednim pierwszym numerowanym parametrze}}
}}</includeonly><noinclude>{{Dokumentacja|zawartość=Szablon pomocniczy, silnik, do szablonu {{s|Status}}.}}{{Kategoria|Szablony - silniki}}</noinclude>
j4id7l4gbesim0okh6ugx4zd5xqcfhf
Terapia zajęciowa/Klasyfikacja
0
58305
543507
534198
2026-05-19T20:14:01Z
Persino
2851
543507
wikitext
text/x-wiki
Nie ma jednej powszechnie przyjętej klasyfikacji. Tutejsza została wyprowadzona z klasyfikacja rodzajów, metod, technik i form terapii zajęciowej autorstwa Magdaleny Nawrot, Elżbiety Kopij, Elżbiety Suskiej, Anny Woroniuk i Agnieszki Kuczyńskiej oraz częściowo zmodyfikowana{{r|klasyfikacja}}
Większość technik terapii można wpisać w różnym miejscu klasyfikacji w zależności od wybranych dla konkretnego scenariusza celów.
== rodzaj: ergoterapia ==
* metoda: dziewiarstwo
** technika: robienie na drutach
** technika: szydełkowanie
* metoda: tkactwo
** technika: tkanie na krośnie
** technika: tkanie na ramkach
** technika: wyplatanie [[w:makrama|makram]]
* metoda: hafciarstwo
** technika: haft płaski
** technika: haft wypukły (reliefowy)
** technika: haft nakładany
** technika: haft ażurowy
** technika: krzyżykowy
* metoda: krawiectwo
** technika: szycie rzeczy użytkowych
** technika: naprawianie odzieży
* metoda: wikliniarstwo
** technika: żeberkowo- krzyżowa
** technika: spiralna
* metoda: kaletnictwo
* metoda: metaloplastyka
** technika: ślusarstwo (na zimno)
** technika: kowalstwo (na ciepło)
** technika: odlewnictwo metali
** technika: grawerstwo
** technika: emalierstwo
* metoda: garncarstwo (i ceramika?) (w zależności od temperatury i rodzaju gliny)
** technika: gliniane
** technika: kamionkowe
** technika: porcelanowe
* metoda: stolarstwo
** technika:
* metoda: ciesielstwo
** technika:
* metoda: [[w:ogrodoterapia]] (hortiterapia, ogrodolecznictwo, hortikuloterapia, terapia ogrodnicza)
** technika: wszelkie prace w ogrodzie, kopanie ziemi, grabienie, sadzenie, sianie, zbieranie, podlewanie, pielęgnowanie roślin, krzewów, traw, drzew itp.
* metoda: [[w:introligatorstwo|introligatorstwo]]
** technika:
* metoda: wytwarzanie świec
== rodzaj: [[w:arteterapia|arteterapia]] ==
* metoda: rysunek
** technika: rysowanie kredkami ołówkowymi,
** technika: rysowanie kredkami świecowymi,
** technika: rysowanie kredkami pastelami,
** technika: rysowanie ołówkiem,
** technika: rysowanie węglem
* metoda: malarstwo
** technika: malowanie farbami akrylowymi,
** technika: akwarelą,
** technika: witrażowymi,
** technika: olejnymi, do szkła
* metoda: grafika
** technika: linoryt,
** technika: akwatinta,
** technika: akwaforta,
** technika: mezzotinta,
** technika: drzeworyt
* metoda: rzeźba
** technika: rzeźbienie w drewnie,
** technika: lepienie z gliny,
** technika: lepienie z modeliny,
** technika: lepienie z masy plastycznej,
** technika: lepienie z masy papierowej
* metoda: sztuki użytkowe
** technika: witraż,
** technika: fotografia
** technika: plakat
* metoda: choreoterapia
** technika: taniec
** technika: ćwiczenia muzyczno-ruchowe
** technika: improwizacje ruchowe przy muzyce
* metoda: muzykoterapia
** technika: muzykoterapia czynna
** technika: muzykoterapia bierna
* metoda: biblioterapia
** technika: czytanie na głos fragmentów książek, wierszy i rozmowa po przeczytaniu;
** technika: słuchanie tekstów biblioterapeutycznych
** technika: bajkoterapia
** technika: biblioterapia reminescencyjną np kronika do wspominania przeszłości
** technika: [[Terapia zajęciowa/Biblioterapia wychowawcza|biblioterapia wychowawcza]]
** technika:cz biblioterapia kliniczna
** technika: biblioterapia instytucjonalna
* metoda: filmoterapia
** technika: projekcja filmów i dyskusja po nich
* metoda: teatroterapia
** technika: psychodrama,
** technika: [[Terapia zajęciowa/Drama|drama]],
** technika: pantomima,
** technika: oglądanie spektakli
* metoda: zdobnictwo i dekoratorstwo
** technika: dot art (malowanie kropkowe)
** technika: [[wikt:sutasz|sutasz]]
** technika: [[w:decoupage]]
* metoda: [[w:plastykoterapia|plastykoterapia]]
* metoda: [[w:Koloroterapia|koloroterapia]] (inaczej chromoterapia) [[Plik:Star of life caution.svg|20px]]
* metoda: [[w:papieroplastyka|papieroplastyka]]
** technika: [[w:quilling|quilling]]
== rodzaj: socjoterapia ==
* metoda: ludoterapia
** technika: zabawy manipulacyjne, tematyczne, dydaktyczne
** technika: gry planszowe
** technika: [[w:modelarstwo|modelarstwo]]
** technika: [[terapia zajęciowa/Zabawy paluszkowe i wyliczanki|zabawy paluszkowe i wyliczanki]]
* metoda: terapia ruchem
** technika: ćwiczenie ogólnie usprawniające,
** technika: ćwiczenia oddechowe
** technika: ćwiczenia w odciążeniu
** technika: gimnastyka z elementami jogi
** technika: gry i zabawy ruchowe
** technika: trening samoobsługi / trening umiejętności higienicznych - mycie się, czesanie, ubieranie, przemieszczanie, itp.
** technika: trening kulinarny
** technika: trening umiejętności praktycznych i technicznych - pranie, prasowanie, szycie, dbałość o odzież i obuwie, drobne naprawy i usuwanie niewielkich usterek, obsługa pralki automatycznej, odkurzacza, żelazka, maszyny do szycia, kuchni gazowej, elektrycznej i mikrofalowej, spożywanie posiłku łyżką o pogrubionym trzonku,
* metoda: trening umiejętności społecznych
** technika: trening umiejętności interpersonalnych
** technika: trening aktywnego słuchania
** technika: trening asertywności,
** technika: trening komunikacji,
** technika: trening komunikacji za pomocą piktogramów
** technika: trening nawiązywania i podtrzymywania relacji,
** technika: trening rozwiązywania konfliktów;
** technika: trening ekonomiczny (budżetowy)
** technika: trening komputerowy
** technika: nauka spędzania czasu wolnego
** technika: trening rozpoznawania emocji własnych i innych ludzi
** technika: [[terapia zajęciowa/Trening pamięci|trening pamięci]] (porównaj [[w:trening kognitywny|trening kognitywny]])
** technika: [[terapia zajęciowa/Trening orientacji przestrzennej|trening orientacji przestrzennej]]
** technika: trening orientacji w schemacie własnego ciała
** technika: trening lekowy
* metoda: rekreacja
** technika: [[terapia zajęciowa/Trening relaksacyjny|trening relaksacyjny]]
** technika: zajęcia relaksacyjne z elementami [[w:aromaterapia|aromaterapii]]
** technika: wyjście do muzeum /teatru /kina
** technika: wieczorki taneczne
** technika: [[w:talasoterapia|talasoterapia]]
** technika: [[w:sylwoterapia|silwoterapia sylwoterapia]] [[Plik:Star of life caution.svg|20px]]
** technika: [[w:Shinrin-yoku|Shinrin-yoku]]
** technika: [[terapia zajęciowa/Trening umiejętności organizacji czasu wolnego|trening umiejętności organizacji czasu wolnego]]
* metoda: [[terapia zajęciowa/Zooterapia|zooterapia (animaloterapia)]] [[w:zooterapia|wikipedia]]
** technika: [[w:onoterapia]]
** technika: [[w:hipoterapia]]
** technika: [[w:felinoterapia]]
** technika: [[w:dogoterapia]]
== Przypisy ==
{{Przypisy|
{{o|n=klasyfikacja|r={{Cytuj |autor = Magdalena Nawrot, Elżbieta Kopij, Elżbieta Suska, Anna Woroniuk, Agnieszka Kuczyńska |url = https://docplayer.pl/5502761-Klasyfikacja-rodzajow-metod-technik-i-form-terapii-zajeciowej.html |tytuł = Klasyfikacja rodzajów, metod, technik i form terapii zajęciowej |data dostępu = 2021-09-21}}}}
}}
{{BrClear}}
<noinclude><!--
++++ DODAWAJ KATEGORIE PONIŻEJ TEJ LINII -->
{{Wolumin}}
</noinclude>
6lltc68xr07612b6yrzeeno8mzfcdyj
Moduł:StronicowyParser/StronaSubst
828
58521
543505
543357
2026-05-19T19:42:36Z
Persino
2851
543505
Scribunto
text/plain
local p={};
function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun,NieFun,FunRozdzial,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)
local nazwy_modul=require("Module:Nazwy");
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
if((pelnanazwastrony) or ((not nazwa_przestrzeni)or(not nazwa_przestrzeni_ksiazki)or(not nazwa_ksiazki)or(not nazwa_artykulu)))then
local args_nowe;
if(not pelnanazwastrony)then
args_nowe={
["nazwa przestrzeni nazw"]=nil,
["nazwa jednostki"]=nil,
};
else
args_nowe={
["nazwa przestrzeni nazw"]="",
["nazwa jednostki"]=pelnanazwastrony,
};
end;
if((not tab_lista_artykulow_w_ksiazce_spis)or(pelnanazwastrony))then
stronicowyparser_potrzebne_modul:AnalizujArgumentySzablonu{args=args_nowe};
stronicowyparser_potrzebne_modul:ParametryKonteneraWoluminu({args=args_nowe},tabela_listy_danych_analizy_ksiazki);
local lista_artykulow_w_ksiazkach_w_danej_przestrzeni;local lista_artykulow_w_ksiazkach_w_danej_przestrzeni_ksiazki;local tab_lista_artykulow_w_ksiazce;local tab_lista_zmiennych_w_artykule;
tab_lista_artykulow_w_ksiazce_spis,lista_artykulow_w_ksiazkach_w_danej_przestrzeni,lista_artykulow_w_ksiazkach_w_danej_przestrzeni_ksiazki,tab_lista_artykulow_w_ksiazce,tab_lista_zmiennych_w_artykule=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu({args=args_nowe},tabela_listy_danych_analizy_ksiazki,false);
if(not tab_lista_artykulow_w_ksiazce_spis)then
--local blad_modul=require("Module:Błąd");
--return blad_modul.error{tag="span",tekst="Nie znalazłem takiej książki."};
return;
end;
local self_zmienna,tabela_listy_danych_analizy_ksiazki=stronicowyparser_potrzebne_modul:Self(tabela_listy_danych_analizy_ksiazki);
nazwa_przestrzeni=self_zmienna.nazwa_przestrzeni_podana;
nazwa_przestrzeni_ksiazki=self_zmienna.nazwa_przestrzeni_woluminu_podana;
nazwa_ksiazki=self_zmienna.nazwa_woluminu_podana;
nazwa_artykulu=self_zmienna.nazwa_podstrony_woluminu_podana;
else
nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
nazwa_przestrzeni_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu;
nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_woluminu;
nazwa_artykulu=tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu;
end;
else
local lista_artykulow_w_ksiazkach_w_danej_przestrzeni;local lista_artykulow_w_ksiazkach_w_danej_przestrzeni_ksiazki;local tab_lista_artykulow_w_ksiazce;local tab_lista_zmiennych_w_artykule;
tab_lista_artykulow_w_ksiazce_spis,lista_artykulow_w_ksiazkach_w_danej_przestrzeni,lista_artykulow_w_ksiazkach_w_danej_przestrzeni_ksiazki,tab_lista_artykulow_w_ksiazce,tab_lista_zmiennych_w_artykule=stronicowyparser_potrzebne_modul:TabelaListyStronWoluminu({args={}},tabela_listy_danych_analizy_ksiazki,false,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
if(not tab_lista_artykulow_w_ksiazce_spis)then
--local blad_modul=require("Module:Błąd");
--return blad_modul.error{tag="span",tekst="Nie znalazłem takiej książki."};
return;
end;
end;
local parametry_modul=require("Module:Parametry");
if(tab_lista_artykulow_w_ksiazce_spis)then
local nazwy_np_modul=mw.loadData("Module:Nazwy/Np");
if((nazwa_przestrzeni==nazwy_np_modul.Main)
or(nazwa_przestrzeni==nazwy_np_modul.Wikijunior)
or((nazwa_przestrzeni==nazwy_np_modul.Wikibooks)and(mw.ustring.match(nazwa_przestrzeni_ksiazki,"^Brudnopis/([^/]+)$")))
or((nazwa_przestrzeni==nazwy_np_modul.User)and(mw.ustring.match(nazwa_przestrzeni_ksiazki,"^([^/]+)$"))))then
-----
local tab_artykul={};
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce_spis)do
if(tab_lista[2])then
for _,artykul_w_bazie_element in ipairs(tab_lista[2])do
local artykul_w_bazie=artykul_w_bazie_element[1];
local czy_table=stronicowyparser_potrzebne_modul.CzyTabelaStronyWoluminuSpisuRzeczy(artykul_w_bazie);
artykul_w_bazie=czy_table and artykul_w_bazie[1] or artykul_w_bazie;
local artykul_bez_naglowka_w_bazie=stronicowyparser_potrzebne_modul.TylkoNazwaStronyWoluminuZTabeliPublikacji(artykul_w_bazie);
if(not tab_artykul[artykul_bez_naglowka_w_bazie])then
tab_artykul[artykul_bez_naglowka_w_bazie]=true;
end;
end;
end;
end;
--local ksiazka=mw.ustring.match(nazwa_ksiazki,"([^/]+)$");
if(
((nazwa_artykulu~="Wersja do druku")and(nazwa_ksiazki~=nazwa_artykulu))
and(tab_artykul[nazwa_artykulu])
)then
return NieFun(nil);
end;
-----
if((nazwa_artykulu~="Spis treści")and(nazwa_artykulu~="Spis rzeczy")and(nazwa_artykulu~="Bibliografia")and(nazwa_artykulu~="Licencja"))then
if((nazwa_ksiazki==nazwa_artykulu)or(nazwa_artykulu=="Wersja do druku"))then
return TakFun(tab_lista_artykulow_w_ksiazce_spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
else
local function StronaRozdzial()
for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce_spis)do
local rozdzial=tab_lista[1][1];
if(rozdzial==nazwa_artykulu)then
return TakFun(tab_lista_artykulow_w_ksiazce_spis,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
end;
end;
return;
end;
if(not FunRozdzial)then
local val=StronaRozdzial();
if(val)then return val;end;
else
local val=FunRozdzial(tab_lista_artykulow_w_ksiazce_spis,nazwa_artykulu,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki);
if(val)then return val;end;
end;
end;
end;
end;
end
return NieFun(nil);
end;
function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
local stronicowyparser_rozdzialy_modul=require("Module:StronicowyParser/Rozdziały");
local nazwy_modul=require("Module:Nazwy");
local toc_nowe={};
local tab_powtarzane={};
local function Powtarzane(rozdzial)
local b=1;
for i=1,#tab_powtarzane,1 do
if(tab_powtarzane[i]==rozdzial)then
b=b+1;
end;
end;
tab_powtarzane[#tab_powtarzane+1]=rozdzial;
return b;
end;
local function CzyStronaSubst()
if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then
glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak";
end;
end;
local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)
local szablonowe_modul=require("Module:Szablonowe");
local iterator=szablonowe_modul:IteratorSzablonowyZakodowanegoTekstu(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony);
for szablon,obiekt,kod in iterator do
if(obiekt=="SZABLON")then
szablon=szablonowe_modul.UzyskanieWynikuZOperacjiSzablonowychNaSzablonachZnacznikachParserachZmiennychOrazModyfikatorachZDanychObiektuSZABLON(szablon,tablica_danych_parametrow_szablonu_strony,kod,nazwa_modulu_strony,function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
if(nazwa_szablonu=="StronaSubst")then return StronaSubst(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod);end;
if(nazwa_szablonu=="KsiążkaSubst")then return KsiazkaSubst(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod);end;
end);
end;
end;
end;
local function StronaSubstParametr(strona,naglowek_strony,link,p,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)
local str="<div style=\"display:block;\" class=\"rozdział_książki\">\n";
local parametry_modul=require("Module:Parametry");
local czy_link=parametry_modul.CzyTak(link);
local adres=((nazwa_przestrzeni~="")and (nazwa_przestrzeni..":") or "")..((nazwa_przestrzeni_ksiazki~="")and(nazwa_przestrzeni_ksiazki.."/") or "")..nazwa_ksiazki.."/"..strona
if(not czy_link)then
str=str..stronicowyparser_rozdzialy_modul.NapisWprowadzeniaTekstu(naglowek_strony,p);
else
local linki_modul=require("Module:Linki");
local str_link=linki_modul["Link wewnętrzny"]{
["strona"]=adres,
["nazwa"]=naglowek_strony,
};
str=str..stronicowyparser_rozdzialy_modul.NapisWprowadzeniaTekstu(str_link,p);
end;
if(postep)then
str=str.."<div class=\"postęp_ładowania_artykułu\"><div class=\"pasek_postępu\"></div> <span style=\"color:blue\">Ładuję artykuł...</span></div>";
end;
str=str.."<div class=\"strona_subst\" style=\"display:"..((not postep)and "block" or "none")..";\">"..((not czy_link) and (adres) or "").."</div>\n";
str=str.."</div>";
return str;
end;
local function ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(strona,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)
local nazwa_strony=strona[1];
local czy_table_strona=stronicowyparser_potrzebne_modul.CzyTabelaStronyWoluminuSpisuRzeczy(nazwa_strony);
local nazwa_strony_parametr=czy_table_strona and nazwa_strony[1] or nazwa_strony;
nazwa_strony=stronicowyparser_potrzebne_modul.UzyskanieTylkoNazwyLubTabeliNazwyLinkuStronyWoluminuZTabeliZParametramiOrazIdentyfikatorem(nazwa_strony_parametr,false);
-------
if((nazwa_strony~="Wersja do druku")and(nazwa_ksiazki~=nazwa_strony))then
local nazwa_strony_z_naglowkiem=naglowki and stronicowyparser_potrzebne_modul.UzyskanieNazwyStronyWoluminuZParametramiOrazIdentyfikatoremZTabeliWoluminu(nazwa_strony_parametr,true) or nazwa_strony;
local tab_naglowek_strony=stronicowyparser_potrzebne_modul.UzyskanieTylkoNazwyLubTabeliNazwyLinkuStronyWoluminuZTabeliZParametramiOrazIdentyfikatorem(nazwa_strony_parametr,true);
local naglowek;
local parametry_modul=require("Module:Parametry");
if(parametry_modul.TypeTable(tab_naglowek_strony))then
naglowek=parametry_modul["CzyTakCiąg"](tab_naglowek_strony[3]) and tab_naglowek_strony[3] or nil;
end;
if(not naglowki or not naglowek)then
naglowek=mw.ustring.match(nazwa_strony_z_naglowkiem,"/([^/]*)$") or nazwa_strony_z_naglowkiem;
end;
local liczba_powtarzanego=Powtarzane(naglowek);
if((naglowki or (not tablica_stron[nazwa_strony]))and(not sekcje))then
if(not naglowki)then
tablica_stron[nazwa_strony]=true;
end;
table.insert(toc_nowe,{{mw.ustring.gsub(naglowek,"[%s_]+","_")..((liczba_powtarzanego>1) and ("_"..liczba_powtarzanego) or ""), naglowek,},m_uzyskane,})
wikikod=((wikikod~="")and (wikikod.."\n") or "")..StronaSubstParametr(nazwa_strony_z_naglowkiem,naglowek,nil,m_uzyskane,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
elseif((sekcje)and(not tablica_stron[nazwa_strony]))then
local specjalne_modul=require("Module:Specjalne");
local function SpisTOC(toc,licznik, element_w_tablicy)
local naglowek_rozdzialu=element_w_tablicy[1][2];
local numer_link_naglowek=Powtarzane(naglowek_rozdzialu);
local link=nazwa_strony.."#"..element_w_tablicy[1][1];
local poziom_rozdzialu=element_w_tablicy[2];
local poziom_rozdzialu_sekcji=HNumer(poziom_rozdzialu+m_roznica);
local id_naglowka,naglowek_rozdzialu=specjalne_modul["PrzetwórzNagłówek"](naglowek_rozdzialu,true,true);
table.insert(toc_nowe,{{id_naglowka..((numer_link_naglowek>1) and ("_"..numer_link_naglowek) or ""), naglowek_rozdzialu,}, poziom_rozdzialu_sekcji, })
wikikod=((wikikod~="")and (wikikod.."\n") or "")..StronaSubstParametr(link,naglowek_rozdzialu,nil,poziom_rozdzialu_sekcji,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
end;
table.insert(toc_nowe,{{mw.ustring.gsub(naglowek,"[%s_]+","_")..((liczba_powtarzanego>1) and ("_"..liczba_powtarzanego) or ""), naglowek,},m_uzyskane,})
tablica_stron[nazwa_strony]=true;
wikikod=((wikikod~="")and (wikikod.."\n") or "")..StronaSubstParametr(nazwa_strony,naglowek,nil,m_uzyskane,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
local nazwa_modulu=((nazwa_przestrzeni~="")and (nazwa_przestrzeni..":") or "")..((nazwa_przestrzeni_ksiazki~="")and (nazwa_przestrzeni_ksiazki.."/") or "")..nazwa_ksiazki.."/"..nazwa_strony;
local stronicowyparser_glownafunkcjazbieraniadanych_modul=require("Module:StronicowyParser/GłównaFunkcjaZbieraniaDanychStron");
local stronicowyparser_tekst_modul=require("Module:StronicowyParser/Tekst");
local tekst_rozwiniety_calego_artykulu=stronicowyparser_tekst_modul.SpreparowanyWikikodStrony(nil,nazwa_modulu,true);
if(tekst_rozwiniety_calego_artykulu)then
local szablonowe_modul=require("Module:Szablonowe");
local tablica_obiektow_strony_dany_modul_uzyskany;
tekst_rozwiniety_calego_artykulu,tablica_obiektow_strony_dany_modul_uzyskany=szablonowe_modul:KodujWzoryMatematyczneTekstu(tekst_rozwiniety_calego_artykulu);
local tablica_obiektow_strony_danych_kodow_specjalnych_modul;
tekst_rozwiniety_calego_artykulu,tablica_obiektow_strony_danych_kodow_specjalnych_modul=szablonowe_modul:KodowanieInaczejZakodowanychNormKodowychTekstuWedleJegoTablicyKodowania(tekst_rozwiniety_calego_artykulu,nazwa_modulu,tablica_obiektow_strony_dany_modul_uzyskany);
-----
local toc=stronicowyparser_glownafunkcjazbieraniadanych_modul.SpisRzeczyWedlePodanegoTekstu(nil,tekst_rozwiniety_calego_artykulu,nazwa_modulu,false,true,nil,nil,nil,nil,nil,nil,tablica_obiektow_strony_dany_modul_uzyskany,nil,tablica_obiektow_strony_danych_kodow_specjalnych_modul,nil,true);
if(toc)then
local nazwa_strony_naglowka=toc.nazwa_strony;
for licznik, element_w_tablicy in ipairs(toc)do
SpisTOC(toc,licznik, element_w_tablicy);
end;
end;
end;
end;
end;
return tablica_stron,wikikod,toc_nowe;
end;
local function PoziomNapisowyWprowadzeniaTekstu(tab_lista,licznik_rozdzial_centrowany,licznik_rozdzial_dodatni,licznik_rozdzial_srednikowy,licznik_rozdzial_zerowy)
local m=tab_lista[1][2][1] or 0;
local czy_centrowany=false;
local czy_srednikowy=false;
if(m>0)then
local czy_centrowany=tab_lista[1][2][4] or false;
if(czy_centrowany)then
licznik_rozdzial_dodatni=0;
licznik_rozdzial_zerowy=0;
licznik_rozdzial_centrowany=2;
licznik_rozdzial_srednikowy=0;
czy_centrowany=true;
else
licznik_rozdzial_dodatni=m;
licznik_rozdzial_zerowy=0;
licznik_rozdzial_srednikowy=0;
end;
elseif(m==0)then
licznik_zerowy_rozdzial=1;
else
local przedrostek_listy=tab_lista[1][2][2];
if(przedrostek_listy)then
if(mw.ustring.match(przedrostek_listy,"^;+"))then
licznik_rozdzial_srednikowy=math.abs(m);
licznik_rozdzial_zerowy=0;
czy_srednikowy=true;
end;
end;
end;
m=(((not czy_centrowany)and(not czy_srednikowy))and(math.abs(m)) or 0)+((m<=0) and (licznik_rozdzial_dodatni+licznik_rozdzial_srednikowy+licznik_rozdzial_zerowy) or 0)+licznik_rozdzial_centrowany;
return m;
end;
local function PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,strona,liczba_stron_zerowych,liczba_stron_srednikowych)
local czy_srednikowy=false;
local roznica=(strona[2][1]>0)and strona[2][1] or 0;
if(roznica==0)then
liczba_stron_zerowych=1;
elseif(roznica>0)then
local przedrostek_listy=strona[2][2];
if(przedrostek_listy)then
if(mw.ustring.match(przedrostek_listy,"^;+"))then
liczba_stron_zerowych=0;
liczba_stron_srednikowych=roznica;
czy_srednikowy=true;
end;
end;
end;
local m_roznica=m+((not czy_srednikowy) and roznica or 0)+liczba_stron_zerowych+liczba_stron_srednikowych;
return m_roznica;
end;
local function ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)
if(tab_lista[2])then
local liczba_stron_zerowych=0;
local liczba_stron_srednikowych=0;
for _,strona in ipairs(tab_lista[2])do
local m_roznica=PoziomNapisowyWprowadzeniaTekstuArtykularny(tab_lista,m,strona,liczba_stron_zerowych,liczba_stron_srednikowych);
local m_uzyskane=HNumer(m_roznica);
--local PobierzParametr=parametry_modul.PobierzParametr(strona[1]);
--local nazwa_strony_parametr=PobierzParametr(1);
--local nazwa_strony,_=mw.ustring.gsub(nazwa_strony_parametr,"^([^#]*)(#.*)$","%1");
----
tablica_stron,wikikod,toc_nowe=ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego(strona,naglowki,sekcje,postep,tablica_stron,wikikod,toc_nowe,HNumer,m_roznica,m_uzyskane,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
----
end;
end;
return tablica_stron,wikikod,toc_nowe;
end;
local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)
local strona=tabela_parametrow_szablonu[1];
local link=tabela_parametrow_szablonu["link"];
local parametry_modul=require("Module:Parametry");
strona=parametry_modul["Odstępy"]{nazwa=strona,["wewnątrz"]="tak",};
local czy_link=parametry_modul.CzyTak(link);
if(czy_artykul_aktualny)then
if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"])then
glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"]={};
end;
if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona])then
glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona]={};
end;
if(glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")])then
return;
end;
else
if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"])then
glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"]={};
end;
local tablica_ksiazkasubstinne=glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"];
if(not tablica_ksiazkasubstinne[nazwa_przestrzeni])then
tablica_ksiazkasubstinne[nazwa_przestrzeni]={};
end;
local tablica_nazwa_przestrzeni=tablica_ksiazkasubstinne[nazwa_przestrzeni];
if(not tablica_nazwa_przestrzeni[nazwa_przestrzeni_ksiazki])then
tablica_nazwa_przestrzeni[nazwa_przestrzeni_ksiazki]={};
end;
local tablica_nazwa_przestrzeni_ksiazki=tablica_nazwa_przestrzeni[nazwa_przestrzeni_ksiazki];
if(not tablica_nazwa_przestrzeni_ksiazki[nazwa_ksiazki])then
tablica_nazwa_przestrzeni_ksiazki[nazwa_ksiazki]={};
end;
local tablica_nazwa_ksiazki=tablica_nazwa_przestrzeni_ksiazki[nazwa_ksiazki];
if(not tablica_nazwa_ksiazki[strona])then
tablica_nazwa_ksiazki[strona]={};
end;
if(tablica_nazwa_ksiazki[strona][(czy_link and "tak" or "")])then
return;
end;
end;
local szablonowe_modul=require("Module:Szablonowe");
local postep=parametry_modul.CzyTak(tabela_parametrow_szablonu["postęp"]);
if((strona=="Wersja do druku")or(strona==nazwa_ksiazki))then return "";end;
if(glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"]
and glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona]
and glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]
)then
return glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")];
end;
local naglowek=mw.ustring.match(strona,"/([^/]*)$") or strona;
--end;
local liczba_powtarzanego=Powtarzane(naglowek);
table.insert(toc_nowe,{{mw.ustring.gsub(naglowek,"[%s_]+","_")..((liczba_powtarzanego>1) and ("_"..liczba_powtarzanego) or ""), naglowek,},1,})
local str=StronaSubstParametr(strona,naglowek,link,nil,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
if(czy_artykul_aktualny)then
glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str;
else
glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str;
end;
return str;
end;
local function AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki)
if(czy_artykul_aktualny)then
if(glowna_tablica.tabela_listy_danych_analizy_ksiazki["KsiążkaSubst"])then
return;
end;
else
if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["KsiążkaSubstInneRozdział"])then
glowna_tablica.tabela_listy_danych_analizy_ksiazki["KsiążkaSubstInneRozdział"]={};
end;
local tablica_ksiazkasubstinne=glowna_tablica.tabela_listy_danych_analizy_ksiazki["KsiążkaSubstInneRozdział"];
if(not tablica_ksiazkasubstinne[nazwa_przestrzeni])then
tablica_ksiazkasubstinne[nazwa_przestrzeni]={};
end;
local tablica_nazwa_przestrzeni=tablica_ksiazkasubstinne[nazwa_przestrzeni];
if(not tablica_nazwa_przestrzeni[nazwa_przestrzeni_ksiazki])then
tablica_nazwa_przestrzeni[nazwa_przestrzeni_ksiazki]={};
end;
local tablica_nazwa_przestrzeni_ksiazki=tablica_nazwa_przestrzeni[nazwa_przestrzeni_ksiazki];
if(not tablica_nazwa_przestrzeni_ksiazki[nazwa_ksiazki])then
tablica_nazwa_przestrzeni_ksiazki[nazwa_ksiazki]={};
end;
local tablica_nazwa_ksiazki=tablica_nazwa_przestrzeni_ksiazki[nazwa_ksiazki];
if(tablica_nazwa_ksiazki[substrona])then
return;
end;
end;
local parametry_modul=require("Module:Parametry");
local html_modul=require("Module:Html");
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
local tablica_stron={};
local naglowki=parametry_modul.CzyTak(tabela_parametrow_szablonu["nagłówki"]);
local postep=parametry_modul.CzyTak(tabela_parametrow_szablonu["postęp"]);
local sekcje=parametry_modul.CzyTak(tabela_parametrow_szablonu["sekcje"]);
local ktore=tonumber(tabela_parametrow_szablonu["które"]) or 1;
local licznik_numer_tego_samego_rozdzialu=1;
for _,tab_lista in ipairs(tab_lista_artykulow_w_ksiazce)do
local rozdzial=tab_lista[1][1];
if(substrona==rozdzial)then
if(ktore==licznik_numer_tego_samego_rozdzialu)then
local wikikod="";
local HNumer=stronicowyparser_potrzebne_modul.LiczonyHNumer();
tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,0,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
if(czy_artykul_aktualny)then
glowna_tablica.tabela_listy_danych_analizy_ksiazki["KsiążkaSubst"]=wikikod;
else
glowna_tablica.tabela_listy_danych_analizy_ksiazki["KsiążkaSubstInneRozdział"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][substrona]=wikikod;
end;
return wikikod;
end;
licznik_numer_tego_samego_rozdzialu=licznik_numer_tego_samego_rozdzialu+1;
end;
end;
return "";
end;
local function AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)
mw.log(nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
if(czy_artykul_aktualny)then
if(glowna_tablica.tabela_listy_danych_analizy_ksiazki["KsiążkaSubst"])then
return;
end;
else
if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["KsiążkaSubstInne"])then
glowna_tablica.tabela_listy_danych_analizy_ksiazki["KsiążkaSubstInne"]={};
end;
local tablica_ksiazkasubstinne=glowna_tablica.tabela_listy_danych_analizy_ksiazki["KsiążkaSubstInne"];
if(not tablica_ksiazkasubstinne[nazwa_przestrzeni])then
tablica_ksiazkasubstinne[nazwa_przestrzeni]={};
end;
local tablica_nazwa_przestrzeni=tablica_ksiazkasubstinne[nazwa_przestrzeni];
if(not tablica_nazwa_przestrzeni[nazwa_przestrzeni_ksiazki])then
tablica_nazwa_przestrzeni[nazwa_przestrzeni_ksiazki]={};
end;
local tablica_nazwa_przestrzeni_ksiazki=tablica_nazwa_przestrzeni[nazwa_przestrzeni_ksiazki];
if(tablica_nazwa_przestrzeni_ksiazki[nazwa_ksiazki])then
return;
end;
end;
local szablonowe_modul=require("Module:Szablonowe");
local parametry_modul=require("Module:Parametry");
local naglowki=parametry_modul.CzyTak(tabela_parametrow_szablonu["nagłówki"]);
local sekcje=parametry_modul.CzyTak(tabela_parametrow_szablonu["sekcje"]);
local postep=parametry_modul.CzyTak(tabela_parametrow_szablonu["postęp"]);
local wikikod="<div class=\"klasa_książki\">";
local stronicowyparser_potrzebne_modul=require("Module:StronicowyParser/Potrzebne");
local HNumer=stronicowyparser_potrzebne_modul.LiczonyHNumer();
local tablica_stron={};
local licznik_rozdzial_dodatni=0;
local licznik_rozdzial_zerowy=0;
local licznik_rozdzial_centrowany=0;
local licznik_rozdzial_srednikowy=0;
for _,tab_lista in pairs(tab_lista_artykulow_w_ksiazce)do
local rozdzial=tab_lista[1][1];
wikikod=wikikod.."<div class=\"klasa_naglowka klasa_nagłówka\">";
local m=tab_lista[1][2][1] or 0;
local czy_centrowany=false;
local czy_srednikowy=false;
local m=PoziomNapisowyWprowadzeniaTekstu(tab_lista,licznik_rozdzial_centrowany,licznik_rozdzial_dodatni,licznik_rozdzial_srednikowy,licznik_rozdzial_zerowy);
----
if((m~=0)and(rozdzial)and(type(rozdzial)=="string")and(rozdzial~="")and(rozdzial~="Spis treści")and(rozdzial~="Bibliografia")and(rozdzial~="Zobacz też")and(rozdzial~="Inne")and(rozdzial~="Licencja")
)then
local m_uzyskane=HNumer(m);
wikikod=((wikikod~="")and (wikikod.."\n") or "")..stronicowyparser_rozdzialy_modul.NapisWprowadzeniaTekstu(rozdzial,m_uzyskane);
local liczba_powtarzanego=Powtarzane(rozdzial);
table.insert(toc_nowe,{{mw.ustring.gsub(rozdzial,"[%s_]+","_")..((liczba_powtarzanego>1) and ("_"..liczba_powtarzanego) or ""), rozdzial,},m_uzyskane,})
end;
tablica_stron,wikikod,toc_nowe=ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu(tab_lista,m,naglowki,sekcje,postep,HNumer,tablica_stron,wikikod,toc_nowe,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
wikikod=wikikod.."</div>";
end;
wikikod=wikikod.."</div>";
if(czy_artykul_aktualny)then
glowna_tablica.tabela_listy_danych_analizy_ksiazki["KsiążkaSubst"]=wikikod;
else
glowna_tablica.tabela_listy_danych_analizy_ksiazki["KsiążkaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki]=wikikod;
end;
return wikikod;
end;
local NieFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)
return function(parametr) return "";end;
end;
local TakFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)
return function(tab_lista_artykulow_w_ksiazce,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)
AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
return "tak";
end;
end;
local FunRozdzial=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)
return function(tab_lista_artykulow_w_ksiazce,substrona,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki)
AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki);
return "tak";
end;
end;
----
local szablonowe_modul=require("Module:Szablonowe");
local ksiazkowe_modul=require("Module:Książkowe");
WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
local nazwa_przestrzeni_nazw=tabela_parametrow_szablonu["nazwa przestrzeni nazw"];
local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"];
local nazwa_przestrzeni;local nazwa_przestrzeni_ksiazki;local nazwa_ksiazki;local nazwa_artykulu;
local czy_artykul_aktualny;
if((not nazwa_przestrzeni_nazw)and(not nazwa_jednostki))then
czy_artykul_aktualny=true;
local tabela_listy_danych_analizy_ksiazki=glowna_tablica.tabela_listy_danych_analizy_ksiazki;
nazwa_przestrzeni=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni;
nazwa_przestrzeni_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_przestrzeni_woluminu;
nazwa_ksiazki=tabela_listy_danych_analizy_ksiazki.nazwa_woluminu;
nazwa_artykulu=tabela_listy_danych_analizy_ksiazki.nazwa_podstrony_woluminu;
else
local tabela_nazw={};
local pelnanazwastrony=(nazwa_przestrzeni_nazw or nazwy_modul["NazwaPrzestrzeni"](nil,tabela_nazwy))..":"..(nazwa_jednostki or nazwy_modul["NAZWASTRONY"](nil,tabela_nazwy));
tabela_nazw={};
nazwa_przestrzeni=ksiazkowe_modul["NazwaPrzestrzeni"](pelnanazwastrony,tabela_nazw);
nazwa_przestrzeni_ksiazki=ksiazkowe_modul["NazwaPrzestrzeniKsiążki"](pelnanazwastrony,tabela_nazw);
nazwa_ksiazki=(nazwa_przestrzeni_ksiazki~="") and ksiazkowe_modul["NazwaTytułuKsiążki"](pelnanazwastrony,tabela_nazw) or ksiazkowe_modul["NazwaKsiążki"](pelnanazwastrony,tabela_nazw);
nazwa_artykulu=ksiazkowe_modul["NazwaArtykułuKsiążki"](pelnanazwastrony,tabela_nazw);
end;
StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
end,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
local nazwa_przestrzeni_nazw=tabela_parametrow_szablonu["nazwa przestrzeni nazw"];
local nazwa_jednostki=tabela_parametrow_szablonu["nazwa jednostki"];
local spis_artykulow=nil;local pelnanazwastrony;local czy_artykul_aktualny;
if((not nazwa_przestrzeni_nazw)and(not nazwa_jednostki))then
spis_artykulow=spis;
czy_artykul_aktualny=true;
else
local tabela_nazw={};
pelnanazwastrony=(nazwa_przestrzeni_nazw or nazwy_modul["NAZWAPRZESTRZENI"](nil,tabela_nazwy))..":"..(nazwa_jednostki or nazwy_modul["NAZWASTRONY"](nil,tabela_nazwy));
end;
p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny));
end);
CzyStronaSubst();
glowna_tablica.tabela_listy_danych_analizy_ksiazki.TOC_StronaZbiorcza=toc_nowe;
return tekst_rozwiniety_calego_artykulu;
end;
return p;
ad8fv93xrfkats2frrbv3x9dvh5i7c4
Terapia zajęciowa/Trening pamięci
0
59059
543514
445412
2026-05-19T20:20:15Z
Persino
2851
Persino przeniósł(-osła) stronę [[Terapia zajęciowa/trening pamięci]] do [[Terapia zajęciowa/Trening pamięci]], bez pozostawienia przekierowania pod starym tytułem
445412
wikitext
text/x-wiki
Zalecany dla osób które w wyniku urazu czaszkowo-mózgowego mają trudności z przechowywaniem i odtwarzaniem informacji.
* z seniorami
** środki i materiały: kalendarze, zegary, listy, krzyżówki
l3k2a2b1rougfpip35sxq6supvw1qrj
Terapia zajęciowa/Trening orientacji przestrzennej
0
59060
543512
445389
2026-05-19T20:18:31Z
Persino
2851
543512
wikitext
text/x-wiki
Dla dorosłych osób niewidomych.
[[Kategoria:Książka:Terapia zajęciowa]]
6cdl3a0xcdmy9ls3j6flzh1umjfawc4
543513
543512
2026-05-19T20:19:12Z
Persino
2851
Persino przeniósł(-osła) stronę [[Terapia zajęciowa/trening orientacji przestrzennej]] do [[Terapia zajęciowa/Trening orientacji przestrzennej]], bez pozostawienia przekierowania pod starym tytułem
543512
wikitext
text/x-wiki
Dla dorosłych osób niewidomych.
[[Kategoria:Książka:Terapia zajęciowa]]
6cdl3a0xcdmy9ls3j6flzh1umjfawc4
Terapia zajęciowa/Trening relaksacyjny
0
59066
543515
445388
2026-05-19T20:21:02Z
Persino
2851
543515
wikitext
text/x-wiki
Zalecany dla pacjentów z chorobą wieńcową, którzy przeżywają silny stres i związane z nim napięcie emocjonalne.
[[Kategoria:Książka:Terapia zajęciowa]]
qkew3jtqs07g5qaq039qobvzc9xo9gv
543516
543515
2026-05-19T20:21:21Z
Persino
2851
Persino przeniósł(-osła) stronę [[Terapia zajęciowa/trening relaksacyjny]] do [[Terapia zajęciowa/Trening relaksacyjny]], bez pozostawienia przekierowania pod starym tytułem
543515
wikitext
text/x-wiki
Zalecany dla pacjentów z chorobą wieńcową, którzy przeżywają silny stres i związane z nim napięcie emocjonalne.
[[Kategoria:Książka:Terapia zajęciowa]]
qkew3jtqs07g5qaq039qobvzc9xo9gv
Terapia zajęciowa/Drama
0
59067
543509
445387
2026-05-19T20:15:24Z
Persino
2851
Persino przeniósł(-osła) stronę [[Terapia zajęciowa/drama]] do [[Terapia zajęciowa/Drama]], bez pozostawienia przekierowania pod starym tytułem
445387
wikitext
text/x-wiki
Zalecana w celu zmotywowania do rozwoju umiejętności interpersonalnych dla pacjentów z zespołem Downa.
[[Kategoria:Książka:Terapia zajęciowa]]
0gl60jeo0ai34g1z7c55j5d1jciw1pa
Terapia zajęciowa/Biblioterapia wychowawcza
0
59068
543508
445392
2026-05-19T20:14:37Z
Persino
2851
Persino przeniósł(-osła) stronę [[Terapia zajęciowa/biblioterapia wychowawcza]] do [[Terapia zajęciowa/Biblioterapia wychowawcza]], bez pozostawienia przekierowania pod starym tytułem
445392
wikitext
text/x-wiki
Zalecana dla dzieci z rodzin dysfunkcyjnych
Może być klasyfikowana jako technika w ramach rodzaju:
* ergoterapia
* socjoterapia
5nmzh2gncm7eo6lkb8mg56q6a3o5cci
Terapia zajęciowa/Pracownie
0
59069
543510
445394
2026-05-19T20:17:38Z
Persino
2851
Persino przeniósł(-osła) stronę [[Terapia zajęciowa/pracownie]] do [[Terapia zajęciowa/Pracownie]], bez pozostawienia przekierowania pod starym tytułem
445394
wikitext
text/x-wiki
warsztat tkacki zalecany dla osób po amputacji kończyny górnej w celu rozwijania mięśni obręczy kończyny górnej.
84q90eou7ggwuq1yhop20tmbqzryxr6
543511
543510
2026-05-19T20:17:53Z
Persino
2851
543511
wikitext
text/x-wiki
Warsztat tkacki zalecany dla osób po amputacji kończyny górnej w celu rozwijania mięśni obręczy kończyny górnej.
osn8qlubmkg3u04phkpw3rnjxim9lsl
Terapia zajęciowa/Trening umiejętności organizacji czasu wolnego
0
59084
543517
446097
2026-05-19T20:22:04Z
Persino
2851
Persino przeniósł(-osła) stronę [[Terapia zajęciowa/trening umiejętności organizacji czasu wolnego]] do [[Terapia zajęciowa/Trening umiejętności organizacji czasu wolnego]], bez pozostawienia przekierowania pod starym tytułem
446097
wikitext
text/x-wiki
Może być prowadzony w celu rozwijania zainteresowań literaturą i internetem.
79hk4l9906b6twpzi9slgzb8ltp3y3m
Terapia zajęciowa/Zooterapia
0
59085
543519
446112
2026-05-19T20:23:50Z
Persino
2851
Persino przeniósł(-osła) stronę [[Terapia zajęciowa/zooterapia]] do [[Terapia zajęciowa/Zooterapia]], bez pozostawienia przekierowania pod starym tytułem
446112
wikitext
text/x-wiki
Metoda kontaktowa polegająca na nawiązywaniu emocjonalnej więzi ze zwierzętami, stosowana w aktywizacji osób starszych.
kmpalcs7uasieeb92segeq2hz7h1htx
Terapia zajęciowa/Zabawy paluszkowe i wyliczanki
0
59130
543518
446919
2026-05-19T20:22:53Z
Persino
2851
Persino przeniósł(-osła) stronę [[Terapia zajęciowa/zabawy paluszkowe i wyliczanki]] do [[Terapia zajęciowa/Zabawy paluszkowe i wyliczanki]], bez pozostawienia przekierowania pod starym tytułem
446919
wikitext
text/x-wiki
Zalecane dla:
* dzieci z zaburzeniami rozwoju mowy.
[[Kategoria:Książka:Terapia zajęciowa]]
bi4to2nd3lcfnl3lp23aj8gma0qj5qo
Silotski
0
60329
543482
497470
2026-05-19T17:14:39Z
Persino
2851
Persino przeniósł(-osła) stronę [[Język silotski]] do [[Silotski]], bez pozostawienia przekierowania pod starym tytułem
476742
wikitext
text/x-wiki
{{status|-50%|Języki|język=indoeuropejskie}}
{{Rozdział|Podręcznik|Język silotski}}
To jest wiki poświęcona bogatemu i fascynującemu językowi silotskiemu. Językiem silotski mówi się głównie w regionie Sylhet w Indiach, niektórych obszarach wiejskich Bangladeszu oraz w społecznościach diaspory na całym świecie. silotski to wyjątkowy język indoaryjski o długiej i różnorodnej historii. Ta wikibook ma na celu dogłębną eksplorację Silotce, od jej cech językowych i rozwoju historycznego po znaczenie kulturowe. Niezależnie od tego, czy jesteś entuzjastą języków, członkiem społeczności językowej Silot, czy po prostu ciekawi Cię ten piękny język, ta wikibook jest Twoją bramą do zrozumienia i dowiedzenia się więcej o języku Silot. Dołącz do nas, aby odkryć zawiłości silotski, jednego z ukrytych skarbów językowych Azji Południowej.
== Alfabet silotski ==
{|class="wikitable" style="margin:auto";
| [[File:SYLOTI NAGRI LETTER A.svg|50px]] || [[File:SYLOTI NAGRI LETTER I.svg|50px]] || [[File:SYLOTI NAGRI LETTER U.svg|50px]] || [[File:SYLOTI NAGRI LETTER E.svg|50px]] || [[File:SYLOTI NAGRI LETTER O.svg|50px]]
|-
! /a/ !! /i/ !! /ʊ/ !! /ɛ/ !! /ɔ/
|}
{|class="wikitable" style="margin:auto";
|-
| [[File:SYLOTI NAGRI VOWEL SIGN A.svg|50px]] || [[File:SYLOTI NAGRI VOWEL SIGN I.svg|50px]] || [[File:SYLOTI NAGRI VOWEL SIGN U.svg|50px]] || [[File:SYLOTI NAGRI VOWEL SIGN E.svg|50px]] || [[File:SYLOTI NAGRI VOWEL SIGN OO.svg|50px]]
|-
! /a/ !! /i/ !! /ʊ/ !! /ɛ/ !! /ɔ/
|}
{|class="wikitable" style="margin:auto";
| [[File:SYLOTI NAGRI LETTER KO.svg|50px]] || [[File:SYLOTI NAGRI LETTER KHO.svg|50px]] || [[File:SYLOTI NAGRI LETTER GO.svg|50px]] || [[File:SYLOTI NAGRI LETTER GHO.svg|50px]] || [[File:SYLOTI NAGRI SIGN ANUSVARA.svg|50px]]
|-
! /xɔ/ !! /xɔ́/ !! /ɡɔ/ !! /ɡɔ́/ !! /ŋɔ/
|-
| [[File:SYLOTI NAGRI LETTER CO.svg|50px]] || [[File:SYLOTI NAGRI LETTER CHO.svg|50px]] || [[File:SYLOTI NAGRI LETTER JO.svg|50px]] || [[File:SYLOTI NAGRI LETTER JHO.svg|50px]] ||
|-
! /sɔ/ !! /sɔ́/ !! /zɔ/ !! /zɔ́/ !!
|-
| [[File:SYLOTI NAGRI LETTER TTO.svg|50px]] || [[File:SYLOTI NAGRI LETTER TTHO.svg|50px]] || [[File:SYLOTI NAGRI LETTER DDO.svg|50px]] || [[File:SYLOTI NAGRI LETTER DDHO.svg|50px]] ||
|-
! /ʈɔ/ !! /ʈɔ́/ !! /ɖɔ/ !! /ɖɔ́/ !!
|-
| [[File:SYLOTI NAGRI LETTER TO.svg|50px]] || [[File:SYLOTI NAGRI LETTER THO.svg|50px]] || [[File:SYLOTI NAGRI LETTER DO.svg|50px]] || [[File:SYLOTI NAGRI LETTER DHO.svg|50px]] || [[File:SYLOTI NAGRI LETTER NO.svg|50px]]
|-
! /t̪ɔ/ !! /t̪ɔ́/ !! /d̪ɔ/ !! /d̪ɔ́/ !! /nɔ/
|-
| [[File:SYLOTI NAGRI LETTER PO.svg|50px]] || [[File:SYLOTI NAGRI LETTER PHO.svg|50px]] || [[File:SYLOTI NAGRI LETTER BO.svg|50px]] || [[File:SYLOTI NAGRI LETTER BHO.svg|50px]] || [[File:SYLOTI NAGRI LETTER MO.svg|50px]]
|-
! /fɔ/ !! /fɔ́/ !! /bɔ/ !! /bɔ́/ !! /mɔ/
|-
| [[File:SYLOTI NAGRI LETTER RO.svg|50px]] || [[File:SYLOTI NAGRI LETTER LO.svg|50px]] || [[File:SYLOTI NAGRI LETTER RRO.svg|50px]] || [[File:SYLOTI NAGRI LETTER SO.svg|50px]] || [[File:SYLOTI NAGRI LETTER HO.svg|50px]]
|-
! /ɾɔ/ !! /lɔ/ !! /ɽɔ/ !! /ʃɔ/ !! /ɦɔ/
|}
3q6ejqbe7ahoustc3ltmdhe28p25bz3
Wikibooks:Moduły/StronicowyParser/StronaSubst
4
63523
543468
543373
2026-05-19T15:12:43Z
Persino
2851
/* {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} */
543468
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} ==
Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}.
Gdy dany artykuł, jest nie równy: {{Code|Wersja do druku}}, i subnazwie ksiązki {{LinkPatrz|nazwa_artykulu}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun,NieFun,FunRozdzial,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
; Najważniejsze zmienne{{Dk}}
* {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}},
* {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}.
; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}}
* {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}.
; Funkcje{{Dk}}
* {{Code|TakFun}} {{Patrz|TakFun}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową,
* {{Code|NieFun}} {{Patrz|NieFun}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa,
* {{Code|FunRozdzial}} {{Patrz|FunRozdzial}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału.
; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}}
* {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy,
* {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka,
* {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły,
* {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki.
A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana.
Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza.
== {{Code|p.LiczOperacjeStronZbiorczych}} ==
Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej.
=== Opis funkcji ===
Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}.
Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst}}).
Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}},
* {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony,
* {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}},
* {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}},
* {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}},
* {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić.
=== Funkcje lokalne ===
==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ====
==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ====
Funkcja wyszukuje w zakodowanym tekście szablony {{LinkPatrz|StronaSubst}} i {{LinkPatrz|KsiążkaSubst}}, wywołując dla nich odpowiednie funkcje {{Code|StronaSubst}} i {{Code|KsiążkaSubst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}},
* {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}},
* {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}},
* {{Code|StronaSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst}},
* {{Code|KsiazkaSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst}}.
Przykłady wykorzystania:
<syntaxhighlight lang="lua">
WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
...
StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
end,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
...
p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny));
end
);
</syntaxhighlight>
Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}.
==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ====
==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ====
==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ====
==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ====
==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ====
==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ====
==== KsiążkaSubst ====
===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} =====
===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} =====
==== Funkcje analizujące strony zbiorcze lub inne ====
===== {{Śródtytuł|NieFun}}{{Code|NieFun}} =====
===== {{Śródtytuł|TakFun}}{{Code|TakFun}} =====
===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} =====
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
7bpw3jefa51csq1kbox6s5uoq4e8ilz
543469
543468
2026-05-19T15:13:13Z
Persino
2851
/* {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} */
543469
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} ==
Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}.
Gdy dany artykuł, jest nie równy: {{Code|Wersja do druku}}, i subnazwie ksiązki {{LinkPatrz|nazwa_artykulu}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun,NieFun,FunRozdzial,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
; Najważniejsze zmienne{{Dk}}
* {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}},
* {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}.
; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}}
* {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}.
; Funkcje{{Dk}}
* {{Code|TakFun}} {{Patrz|TakFun}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową,
* {{Code|NieFun}} {{Patrz|NieFun}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa,
* {{Code|FunRozdzial}} {{Patrz|FunRozdzial}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału.
; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}}
* {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy,
* {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka,
* {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły,
* {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki.
A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana.
Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza.
== {{Code|p.LiczOperacjeStronZbiorczych}} ==
Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej.
=== Opis funkcji ===
Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}.
Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst}}).
Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}},
* {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony,
* {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}},
* {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}},
* {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}},
* {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić.
=== Funkcje lokalne ===
==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ====
==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ====
Funkcja wyszukuje w zakodowanym tekście szablony {{LinkPatrz|StronaSubst}} i {{LinkPatrz|KsiążkaSubst}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} i {{Code|KsiążkaSubst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}},
* {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}},
* {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}},
* {{Code|StronaSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst}},
* {{Code|KsiazkaSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst}}.
Przykłady wykorzystania:
<syntaxhighlight lang="lua">
WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
...
StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
end,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
...
p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny));
end
);
</syntaxhighlight>
Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}.
==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ====
==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ====
==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ====
==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ====
==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ====
==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ====
==== KsiążkaSubst ====
===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} =====
===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} =====
==== Funkcje analizujące strony zbiorcze lub inne ====
===== {{Śródtytuł|NieFun}}{{Code|NieFun}} =====
===== {{Śródtytuł|TakFun}}{{Code|TakFun}} =====
===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} =====
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
4ky1np8izv14u75ekqp0czb0o7uu0d4
543470
543469
2026-05-19T15:26:38Z
Persino
2851
/* {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} */
543470
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} ==
Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}.
Gdy dany artykuł, jest nie równy: {{Code|Wersja do druku}}, i subnazwie ksiązki {{LinkPatrz|nazwa_artykulu}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun,NieFun,FunRozdzial,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
; Najważniejsze zmienne{{Dk}}
* {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}},
* {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}.
; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}}
* {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}.
; Funkcje{{Dk}}
* {{Code|TakFun}} {{Patrz|TakFun}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową,
* {{Code|NieFun}} {{Patrz|NieFun}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa,
* {{Code|FunRozdzial}} {{Patrz|FunRozdzial}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału.
; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}}
* {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy,
* {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka,
* {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły,
* {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki.
A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana.
Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza.
== {{Code|p.LiczOperacjeStronZbiorczych}} ==
Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej.
=== Opis funkcji ===
Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}.
Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst}}).
Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}},
* {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony,
* {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}},
* {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}},
* {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}},
* {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić.
=== Funkcje lokalne ===
==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ====
Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function CzyStronaSubst()...end;
</syntaxhighlight>
Parametry funkcji:
* Brak parametrów.
Przykład analizy funkcji:
<syntaxhighlight lang="lua">
local function CzyStronaSubst()
if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then
glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak";
end;
end;
</syntaxhighlight>
==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ====
Funkcja wyszukuje w zakodowanym tekście szablony {{LinkPatrz|StronaSubst}} i {{LinkPatrz|KsiążkaSubst}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} i {{Code|KsiążkaSubst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}},
* {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}},
* {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}},
* {{Code|StronaSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst}},
* {{Code|KsiazkaSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst}}.
Przykłady wykorzystania:
<syntaxhighlight lang="lua">
WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
...
StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
end,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
...
p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny));
end
);
</syntaxhighlight>
Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}.
==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ====
==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ====
==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ====
==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ====
==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ====
==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ====
==== KsiążkaSubst ====
===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} =====
===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} =====
==== Funkcje analizujące strony zbiorcze lub inne ====
===== {{Śródtytuł|NieFun}}{{Code|NieFun}} =====
===== {{Śródtytuł|TakFun}}{{Code|TakFun}} =====
===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} =====
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
7fyljj6ot94pktv01sduumy7hhqt7co
543471
543470
2026-05-19T15:28:03Z
Persino
2851
/* {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} */
543471
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} ==
Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}.
Gdy dany artykuł, jest nie równy: {{Code|Wersja do druku}}, i subnazwie ksiązki {{LinkPatrz|nazwa_artykulu}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun,NieFun,FunRozdzial,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
; Najważniejsze zmienne{{Dk}}
* {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}},
* {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}.
; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}}
* {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}.
; Funkcje{{Dk}}
* {{Code|TakFun}} {{Patrz|TakFun}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową,
* {{Code|NieFun}} {{Patrz|NieFun}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa,
* {{Code|FunRozdzial}} {{Patrz|FunRozdzial}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału.
; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}}
* {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy,
* {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka,
* {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły,
* {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki.
A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana.
Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza.
== {{Code|p.LiczOperacjeStronZbiorczych}} ==
Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej.
=== Opis funkcji ===
Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}.
Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst}}).
Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}},
* {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony,
* {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}},
* {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}},
* {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}},
* {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić.
=== Funkcje lokalne ===
==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ====
Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function CzyStronaSubst()...end;
</syntaxhighlight>
Parametry funkcji:
* Brak parametrów.
Przykład analizy funkcji:
<syntaxhighlight lang="lua">
local function CzyStronaSubst()
if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then
glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak";
end;
end;
</syntaxhighlight>
==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ====
Funkcja wyszukuje w zakodowanym tekście szablony {{LinkPatrz|StronaSubst}} i {{LinkPatrz|KsiążkaSubst}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} i {{Code|KsiążkaSubst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}},
* {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}},
* {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}},
* {{Code|StronaSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst}},
* {{Code|KsiazkaSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst}}.
Przykłady wykorzystania:
<syntaxhighlight lang="lua">
WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
...
StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
end,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
...
p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny));
end
);
</syntaxhighlight>
Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}.
==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ====
==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ====
==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ====
==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ====
==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ====
==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ====
==== KsiążkaSubst ====
===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} =====
===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} =====
==== Funkcje analizujące strony zbiorcze lub inne ====
===== {{Śródtytuł|NieFun}}{{Code|NieFun}} =====
===== {{Śródtytuł|TakFun}}{{Code|TakFun}} =====
===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} =====
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
btxcu05dgq7mf3xmmorbsu6jr6iaa6m
543472
543471
2026-05-19T15:59:37Z
Persino
2851
wy
543472
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} ==
Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}.
Gdy dany artykuł, jest nie równy: {{Code|Wersja do druku}}, i subnazwie ksiązki {{LinkPatrz|nazwa_artykulu}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun,NieFun,FunRozdzial,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
; Najważniejsze zmienne{{Dk}}
* {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}},
* {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}.
; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}}
* {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}.
; Funkcje{{Dk}}
* {{Code|TakFun}} {{Patrz|TakFun}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową,
* {{Code|NieFun}} {{Patrz|NieFun}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa,
* {{Code|FunRozdzial}} {{Patrz|FunRozdzial}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału.
; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}}
* {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy,
* {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka,
* {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły,
* {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki.
A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana.
Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza.
== {{Code|p.LiczOperacjeStronZbiorczych}} ==
Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej.
=== Opis funkcji ===
Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}.
Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst}}).
Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}},
* {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony,
* {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}},
* {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}},
* {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}},
* {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić.
=== Funkcje lokalne ===
==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ====
Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function CzyStronaSubst()...end;
</syntaxhighlight>
Parametry funkcji:
* Brak parametrów.
Przykład analizy funkcji:
<syntaxhighlight lang="lua">
local function CzyStronaSubst()
if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then
glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak";
end;
end;
</syntaxhighlight>
==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ====
Funkcja wyszukuje w zakodowanym tekście szablony {{LinkPatrz|StronaSubst}} i {{LinkPatrz|KsiążkaSubst}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} i {{Code|KsiążkaSubst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}},
* {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}},
* {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}},
* {{Code|StronaSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst}},
* {{Code|KsiazkaSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst}}.
Przykłady wykorzystania:
<syntaxhighlight lang="lua">
WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
...
StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
end,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
...
p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny));
end
);
</syntaxhighlight>
Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}.
==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ====
==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ====
==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ====
==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ====
==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ====
==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ====
Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst}}, na danym artykule, w ksiażce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej.
Funkcja korzysta z: {{LinkaPatrz|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_paStronaSubstInnerametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst}},
* {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki,
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}:
* {{Code|1}} - artykuł danej książki,
* {{Code|link}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem.
Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, prawidziwego funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica:
<syntaxhighlight lang="lua">
glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str;
</syntaxhighlight>
A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, fałszywego dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica:
<syntaxhighlight lang="lua">
glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str;
</syntaxhighlight>
==== KsiążkaSubst ====
===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} =====
===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} =====
==== Funkcje analizujące strony zbiorcze lub inne ====
===== {{Śródtytuł|NieFun}}{{Code|NieFun}} =====
===== {{Śródtytuł|TakFun}}{{Code|TakFun}} =====
===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} =====
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
de32icw2auqb6rzb3qcl0mafzjloerx
543473
543472
2026-05-19T16:05:57Z
Persino
2851
/* {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} */
543473
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} ==
Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}.
Gdy dany artykuł, jest nie równy: {{Code|Wersja do druku}}, i subnazwie ksiązki {{LinkPatrz|nazwa_artykulu}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun,NieFun,FunRozdzial,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
; Najważniejsze zmienne{{Dk}}
* {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}},
* {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}.
; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}}
* {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}.
; Funkcje{{Dk}}
* {{Code|TakFun}} {{Patrz|TakFun}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową,
* {{Code|NieFun}} {{Patrz|NieFun}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa,
* {{Code|FunRozdzial}} {{Patrz|FunRozdzial}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału.
; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}}
* {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy,
* {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka,
* {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły,
* {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki.
A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana.
Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza.
== {{Code|p.LiczOperacjeStronZbiorczych}} ==
Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej.
=== Opis funkcji ===
Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}.
Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst}}).
Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}},
* {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony,
* {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}},
* {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}},
* {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}},
* {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić.
=== Funkcje lokalne ===
==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ====
Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function CzyStronaSubst()...end;
</syntaxhighlight>
Parametry funkcji:
* Brak parametrów.
Przykład analizy funkcji:
<syntaxhighlight lang="lua">
local function CzyStronaSubst()
if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then
glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak";
end;
end;
</syntaxhighlight>
==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ====
Funkcja wyszukuje w zakodowanym tekście szablony {{LinkPatrz|StronaSubst}} i {{LinkPatrz|KsiążkaSubst}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} i {{Code|KsiążkaSubst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}},
* {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}},
* {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}},
* {{Code|StronaSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst}},
* {{Code|KsiazkaSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst}}.
Przykłady wykorzystania:
<syntaxhighlight lang="lua">
WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
...
StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
end,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
...
p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny));
end
);
</syntaxhighlight>
Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}.
==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ====
==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ====
==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ====
==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ====
==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ====
==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ====
Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst}}, na danym artykule, w ksiażce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej.
Funkcja korzysta z: {{LinkaPatrz|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_paStronaSubstInnerametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst}},
* {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki,
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}:
* {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki,
* {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem.
Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, prawidziwego funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica:
<syntaxhighlight lang="lua">
glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str;
</syntaxhighlight>
A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, fałszywego dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica:
<syntaxhighlight lang="lua">
glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str;
</syntaxhighlight>
{{Hr}}
W obu tworzonych tabelach zależy od parametru, zależy od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty.
==== KsiążkaSubst ====
===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} =====
===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} =====
==== Funkcje analizujące strony zbiorcze lub inne ====
===== {{Śródtytuł|NieFun}}{{Code|NieFun}} =====
===== {{Śródtytuł|TakFun}}{{Code|TakFun}} =====
===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} =====
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
k7hy165dmze7aqtxcm54swhnvcjo8s4
543474
543473
2026-05-19T16:06:44Z
Persino
2851
/* {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} */
543474
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} ==
Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}.
Gdy dany artykuł, jest nie równy: {{Code|Wersja do druku}}, i subnazwie ksiązki {{LinkPatrz|nazwa_artykulu}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun,NieFun,FunRozdzial,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
; Najważniejsze zmienne{{Dk}}
* {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}},
* {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}.
; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}}
* {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}.
; Funkcje{{Dk}}
* {{Code|TakFun}} {{Patrz|TakFun}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową,
* {{Code|NieFun}} {{Patrz|NieFun}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa,
* {{Code|FunRozdzial}} {{Patrz|FunRozdzial}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału.
; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}}
* {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy,
* {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka,
* {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły,
* {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki.
A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana.
Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza.
== {{Code|p.LiczOperacjeStronZbiorczych}} ==
Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej.
=== Opis funkcji ===
Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}.
Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst}}).
Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}},
* {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony,
* {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}},
* {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}},
* {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}},
* {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić.
=== Funkcje lokalne ===
==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ====
Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function CzyStronaSubst()...end;
</syntaxhighlight>
Parametry funkcji:
* Brak parametrów.
Przykład analizy funkcji:
<syntaxhighlight lang="lua">
local function CzyStronaSubst()
if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then
glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak";
end;
end;
</syntaxhighlight>
==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ====
Funkcja wyszukuje w zakodowanym tekście szablony {{LinkPatrz|StronaSubst}} i {{LinkPatrz|KsiążkaSubst}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} i {{Code|KsiążkaSubst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}},
* {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}},
* {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}},
* {{Code|StronaSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst}},
* {{Code|KsiazkaSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst}}.
Przykłady wykorzystania:
<syntaxhighlight lang="lua">
WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
...
StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
end,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
...
p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny));
end
);
</syntaxhighlight>
Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}.
==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ====
==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ====
==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ====
==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ====
==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ====
==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ====
Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst}}, na danym artykule, w ksiażce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej.
Funkcja korzysta z: {{LinkŚródtytuł|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_paStronaSubstInnerametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst}},
* {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki,
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}:
* {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki,
* {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem.
Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, prawidziwego funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica:
<syntaxhighlight lang="lua">
glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str;
</syntaxhighlight>
A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, fałszywego dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica:
<syntaxhighlight lang="lua">
glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str;
</syntaxhighlight>
{{Hr}}
W obu tworzonych tabelach zależy od parametru, zależy od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty.
==== KsiążkaSubst ====
===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} =====
===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} =====
==== Funkcje analizujące strony zbiorcze lub inne ====
===== {{Śródtytuł|NieFun}}{{Code|NieFun}} =====
===== {{Śródtytuł|TakFun}}{{Code|TakFun}} =====
===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} =====
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
trsewjpgx0fsby96324rgc5yns4tonp
543475
543474
2026-05-19T16:14:53Z
Persino
2851
/* {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} */
543475
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} ==
Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}.
Gdy dany artykuł, jest nie równy: {{Code|Wersja do druku}}, i subnazwie ksiązki {{LinkPatrz|nazwa_artykulu}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun,NieFun,FunRozdzial,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
; Najważniejsze zmienne{{Dk}}
* {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}},
* {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}.
; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}}
* {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}.
; Funkcje{{Dk}}
* {{Code|TakFun}} {{Patrz|TakFun}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową,
* {{Code|NieFun}} {{Patrz|NieFun}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa,
* {{Code|FunRozdzial}} {{Patrz|FunRozdzial}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału.
; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}}
* {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy,
* {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka,
* {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły,
* {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki.
A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana.
Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza.
== {{Code|p.LiczOperacjeStronZbiorczych}} ==
Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej.
=== Opis funkcji ===
Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}.
Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst}}).
Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}},
* {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony,
* {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}},
* {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}},
* {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}},
* {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić.
=== Funkcje lokalne ===
==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ====
Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function CzyStronaSubst()...end;
</syntaxhighlight>
Parametry funkcji:
* Brak parametrów.
Przykład analizy funkcji:
<syntaxhighlight lang="lua">
local function CzyStronaSubst()
if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then
glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak";
end;
end;
</syntaxhighlight>
==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ====
Funkcja wyszukuje w zakodowanym tekście szablony {{LinkPatrz|StronaSubst}} i {{LinkPatrz|KsiążkaSubst}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} i {{Code|KsiążkaSubst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}},
* {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}},
* {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}},
* {{Code|StronaSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst}},
* {{Code|KsiazkaSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst}}.
Przykłady wykorzystania:
<syntaxhighlight lang="lua">
WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
...
StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
end,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
...
p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny));
end
);
</syntaxhighlight>
Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}.
==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ====
==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ====
==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ====
==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ====
==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ====
==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ====
Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst}}, na danym artykule, w ksiażce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej.
Funkcja korzysta z: {{LinkŚródtytuł|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_paStronaSubstInnerametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst}},
* {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki,
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}:
* {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki,
* {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem.
Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, jest prawidziwy, wtedy funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica:
<syntaxhighlight lang="lua">
glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str;
</syntaxhighlight>
A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywa, wtedy dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica:
<syntaxhighlight lang="lua">
glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str;
</syntaxhighlight>
{{Hr}}
W obu tworzonych tabelach zależy od parametru, zależy od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty.
==== KsiążkaSubst ====
===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} =====
===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} =====
==== Funkcje analizujące strony zbiorcze lub inne ====
===== {{Śródtytuł|NieFun}}{{Code|NieFun}} =====
===== {{Śródtytuł|TakFun}}{{Code|TakFun}} =====
===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} =====
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
nico0qbt2ws0twdkfcks8nvfxlmoti4
543476
543475
2026-05-19T16:17:55Z
Persino
2851
/* {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} */
543476
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} ==
Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}.
Gdy dany artykuł, jest nie równy: {{Code|Wersja do druku}}, i subnazwie ksiązki {{LinkPatrz|nazwa_artykulu}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun,NieFun,FunRozdzial,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
; Najważniejsze zmienne{{Dk}}
* {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}},
* {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}.
; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}}
* {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}.
; Funkcje{{Dk}}
* {{Code|TakFun}} {{Patrz|TakFun}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową,
* {{Code|NieFun}} {{Patrz|NieFun}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa,
* {{Code|FunRozdzial}} {{Patrz|FunRozdzial}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału.
; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}}
* {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy,
* {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka,
* {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły,
* {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki.
A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana.
Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza.
== {{Code|p.LiczOperacjeStronZbiorczych}} ==
Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej.
=== Opis funkcji ===
Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}.
Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst}}).
Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}},
* {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony,
* {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}},
* {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}},
* {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}},
* {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić.
=== Funkcje lokalne ===
==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ====
Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function CzyStronaSubst()...end;
</syntaxhighlight>
Parametry funkcji:
* Brak parametrów.
Przykład analizy funkcji:
<syntaxhighlight lang="lua">
local function CzyStronaSubst()
if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then
glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak";
end;
end;
</syntaxhighlight>
==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ====
Funkcja wyszukuje w zakodowanym tekście szablony {{LinkPatrz|StronaSubst}} i {{LinkPatrz|KsiążkaSubst}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} i {{Code|KsiążkaSubst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}},
* {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}},
* {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}},
* {{Code|StronaSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst}},
* {{Code|KsiazkaSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst}}.
Przykłady wykorzystania:
<syntaxhighlight lang="lua">
WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
...
StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
end,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
...
p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny));
end
);
</syntaxhighlight>
Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}.
==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ====
==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ====
==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ====
==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ====
==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ====
==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ====
Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst}}, na danym artykule, w ksiażce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej.
Funkcja korzysta z: {{LinkŚródtytuł|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_paStronaSubstInnerametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst}},
* {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki,
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}:
* {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki,
* {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem.
Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, jest prawidziwy, wtedy funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica:
<syntaxhighlight lang="lua">
glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str;
</syntaxhighlight>
A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywa, wtedy dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica:
<syntaxhighlight lang="lua">
glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str;
</syntaxhighlight>
{{Hr}}
W obu tworzonych tabelach zależy od parametru, od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty, a pod: {{Code|str}}, jest ukryta zawartość szablonu {{LinkPatrz|StronaSubst}}.
==== KsiążkaSubst ====
===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} =====
===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} =====
==== Funkcje analizujące strony zbiorcze lub inne ====
===== {{Śródtytuł|NieFun}}{{Code|NieFun}} =====
===== {{Śródtytuł|TakFun}}{{Code|TakFun}} =====
===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} =====
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
3eq69hmnpxjqwcm63objodjnfh4sp75
543477
543476
2026-05-19T16:23:10Z
Persino
2851
543477
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} ==
Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}.
Gdy dany artykuł, jest nie równy: {{Code|Wersja do druku}}, i subnazwie ksiązki {{LinkPatrz|nazwa_artykulu}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun,NieFun,FunRozdzial,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
; Najważniejsze zmienne{{Dk}}
* {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}},
* {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}.
; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}}
* {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}.
; Funkcje{{Dk}}
* {{Code|TakFun}} {{Patrz|TakFun}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową,
* {{Code|NieFun}} {{Patrz|NieFun}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa,
* {{Code|FunRozdzial}} {{Patrz|FunRozdzial}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału.
; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}}
* {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy,
* {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka,
* {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły,
* {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki.
A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana.
Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza.
== {{Code|p.LiczOperacjeStronZbiorczych}} ==
Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej.
=== Opis funkcji ===
Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst-Szablon}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst-Szablon}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}.
Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst-Szablon}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}).
Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}},
* {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony,
* {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}},
* {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}},
* {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}},
* {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić.
=== Funkcje lokalne ===
==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ====
Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function CzyStronaSubst()...end;
</syntaxhighlight>
Parametry funkcji:
* Brak parametrów.
Przykład analizy funkcji:
<syntaxhighlight lang="lua">
local function CzyStronaSubst()
if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then
glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak";
end;
end;
</syntaxhighlight>
==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ====
Funkcja wyszukuje w zakodowanym tekście szablony {{LinkPatrz|StronaSubst-Szablon}} i {{LinkPatrz|KsiążkaSubst-Szablon}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} i {{Code|KsiążkaSubst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}},
* {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}},
* {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}},
* {{Code|StronaSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst-Szablon}},
* {{Code|KsiazkaSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst-Szablon}}.
Przykłady wykorzystania:
<syntaxhighlight lang="lua">
WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
...
StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
end,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
...
p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny));
end
);
</syntaxhighlight>
Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}.
==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ====
==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ====
==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ====
==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ====
==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ====
==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ====
Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst-Szablon}}, na danym artykule, w ksiażce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej.
Funkcja korzysta z: {{LinkŚródtytuł|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_paStronaSubstInnerametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst-Szablon}},
* {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki,
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}:
* {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki,
* {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem.
Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, jest prawidziwy, wtedy funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica:
<syntaxhighlight lang="lua">
glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str;
</syntaxhighlight>
A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywa, wtedy dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica:
<syntaxhighlight lang="lua">
glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str;
</syntaxhighlight>
{{Hr}}
W obu tworzonych tabelach zależy od parametru, od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty, a pod: {{Code|str}}, jest ukryta zawartość szablonu {{LinkPatrz|StronaSubst-Szablon}}.
==== KsiążkaSubst ====
===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} =====
===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} =====
==== Funkcje analizujące strony zbiorcze lub inne ====
===== {{Śródtytuł|NieFun}}{{Code|NieFun}} =====
===== {{Śródtytuł|TakFun}}{{Code|TakFun}} =====
===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} =====
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
guz888lnvekonz2rmc43pa3k4y8v00f
543478
543477
2026-05-19T16:24:41Z
Persino
2851
/* {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} */
543478
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} ==
Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}.
Gdy dany artykuł, jest nie równy: {{Code|Wersja do druku}}, i subnazwie ksiązki {{LinkPatrz|nazwa_artykulu}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun-AnalizaStronaSubst,NieFun-AnalizaStronaSubst,FunRozdzial-AnalizaStronaSubst,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
; Najważniejsze zmienne{{Dk}}
* {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}},
* {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}.
; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}}
* {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}.
; Funkcje{{Dk}}
* {{Code|TakFun-AnalizaStronaSubst}} {{Patrz|TakFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową,
* {{Code|NieFun-AnalizaStronaSubst}} {{Patrz|NieFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa,
* {{Code|FunRozdzial-AnalizaStronaSubst}} {{Patrz|FunRozdzial-AnalizaStronaSubst}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun-AnalizaStronaSubst}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału.
; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}}
* {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy,
* {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka,
* {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły,
* {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki.
A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana.
Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza.
== {{Code|p.LiczOperacjeStronZbiorczych}} ==
Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej.
=== Opis funkcji ===
Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst-Szablon}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst-Szablon}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}.
Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst-Szablon}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}).
Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}},
* {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony,
* {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}},
* {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}},
* {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}},
* {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić.
=== Funkcje lokalne ===
==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ====
Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function CzyStronaSubst()...end;
</syntaxhighlight>
Parametry funkcji:
* Brak parametrów.
Przykład analizy funkcji:
<syntaxhighlight lang="lua">
local function CzyStronaSubst()
if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then
glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak";
end;
end;
</syntaxhighlight>
==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ====
Funkcja wyszukuje w zakodowanym tekście szablony {{LinkPatrz|StronaSubst-Szablon}} i {{LinkPatrz|KsiążkaSubst-Szablon}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} i {{Code|KsiążkaSubst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}},
* {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}},
* {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}},
* {{Code|StronaSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst-Szablon}},
* {{Code|KsiazkaSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst-Szablon}}.
Przykłady wykorzystania:
<syntaxhighlight lang="lua">
WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
...
StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
end,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
...
p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny));
end
);
</syntaxhighlight>
Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}.
==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ====
==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ====
==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ====
==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ====
==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ====
==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ====
Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst-Szablon}}, na danym artykule, w ksiażce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej.
Funkcja korzysta z: {{LinkŚródtytuł|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_paStronaSubstInnerametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst-Szablon}},
* {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki,
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}:
* {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki,
* {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem.
Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, jest prawidziwy, wtedy funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica:
<syntaxhighlight lang="lua">
glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str;
</syntaxhighlight>
A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywa, wtedy dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica:
<syntaxhighlight lang="lua">
glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str;
</syntaxhighlight>
{{Hr}}
W obu tworzonych tabelach zależy od parametru, od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty, a pod: {{Code|str}}, jest ukryta zawartość szablonu {{LinkPatrz|StronaSubst-Szablon}}.
==== KsiążkaSubst ====
===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} =====
===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} =====
==== Funkcje analizujące strony zbiorcze lub inne ====
===== {{Śródtytuł|NieFun}}{{Code|NieFun}} =====
===== {{Śródtytuł|TakFun}}{{Code|TakFun}} =====
===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} =====
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
arh11088a8kbjovj7dqvxnlaggq5axt
543479
543478
2026-05-19T16:32:40Z
Persino
2851
/* {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} */
543479
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} ==
Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}.
Gdy dany artykuł, jest nie równy: {{Code|Wersja do druku}}, i subnazwie ksiązki {{LinkPatrz|nazwa_artykulu}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun-AnalizaStronaSubst,NieFun-AnalizaStronaSubst,FunRozdzial-AnalizaStronaSubst,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
; Najważniejsze zmienne{{Dk}}
* {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}},
* {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}.
; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}}
* {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}.
; Funkcje{{Dk}}
* {{Code|TakFun-AnalizaStronaSubst}} {{Patrz|TakFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową,
* {{Code|NieFun-AnalizaStronaSubst}} {{Patrz|NieFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa,
* {{Code|FunRozdzial-AnalizaStronaSubst}} {{Patrz|FunRozdzial-AnalizaStronaSubst}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun-AnalizaStronaSubst}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału.
; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}}
* {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy,
* {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka,
* {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły,
* {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki.
A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana.
Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza.
== {{Code|p.LiczOperacjeStronZbiorczych}} ==
Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej.
=== Opis funkcji ===
Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst-Szablon}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst-Szablon}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}.
Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst-Szablon}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}).
Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}},
* {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony,
* {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}},
* {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}},
* {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}},
* {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić.
=== Funkcje lokalne ===
==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ====
Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function CzyStronaSubst()...end;
</syntaxhighlight>
Parametry funkcji:
* Brak parametrów.
Przykład analizy funkcji:
<syntaxhighlight lang="lua">
local function CzyStronaSubst()
if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then
glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak";
end;
end;
</syntaxhighlight>
==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ====
Funkcja wyszukuje w zakodowanym tekście szablony {{LinkPatrz|StronaSubst-Szablon}} i {{LinkPatrz|KsiążkaSubst-Szablon}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} i {{Code|KsiążkaSubst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}},
* {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}},
* {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}},
* {{Code|StronaSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst-Szablon}},
* {{Code|KsiazkaSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst-Szablon}}.
Przykłady wykorzystania:
<syntaxhighlight lang="lua">
WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
...
StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
end,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
...
p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny));
end
);
</syntaxhighlight>
Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}.
==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ====
==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ====
==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ====
==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ====
==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ====
==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ====
Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst-Szablon}}, na danym artykule, w książce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej, przy pomocy zmiennych nazw pod warunkiem, gdy mamy argument: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywy, wtedy zbieramy parametry różnych książek dla strony zbiorczej ustawionej za pomocą parametrów pudełkowych, w innym przypadku parametry strony zbiorczej należącego do aktualnej książki. Też możemy liczyć parametry stron zbiorczych z poziomu innych stron przy pomocy parametrów pudełkowych.
Funkcja korzysta z: {{LinkŚródtytuł|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_paStronaSubstInnerametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst-Szablon}},
* {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki,
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}:
* {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki,
* {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem.
Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, jest prawidziwy, wtedy funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica:
<syntaxhighlight lang="lua">
glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str;
</syntaxhighlight>
A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywa, wtedy dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica:
<syntaxhighlight lang="lua">
glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str;
</syntaxhighlight>
{{Hr}}
W obu tworzonych tabelach zależy od parametru, od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty, a pod: {{Code|str}}, jest ukryta zawartość szablonu {{LinkPatrz|StronaSubst-Szablon}}.
==== KsiążkaSubst ====
===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} =====
===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} =====
==== Funkcje analizujące strony zbiorcze lub inne ====
===== {{Śródtytuł|NieFun}}{{Code|NieFun}} =====
===== {{Śródtytuł|TakFun}}{{Code|TakFun}} =====
===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} =====
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
1r6ixdouc3jld0u5js3divd2ckmzvf8
543480
543479
2026-05-19T16:36:14Z
Persino
2851
/* {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} */
543480
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} ==
Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}.
Gdy dany artykuł, jest nie równy: {{Code|Wersja do druku}}, i subnazwie ksiązki {{LinkPatrz|nazwa_artykulu}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun-AnalizaStronaSubst,NieFun-AnalizaStronaSubst,FunRozdzial-AnalizaStronaSubst,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
; Najważniejsze zmienne{{Dk}}
* {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}},
* {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}.
; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}}
* {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}.
; Funkcje{{Dk}}
* {{Code|TakFun-AnalizaStronaSubst}} {{Patrz|TakFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową,
* {{Code|NieFun-AnalizaStronaSubst}} {{Patrz|NieFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa,
* {{Code|FunRozdzial-AnalizaStronaSubst}} {{Patrz|FunRozdzial-AnalizaStronaSubst}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun-AnalizaStronaSubst}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału.
; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}}
* {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy,
* {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka,
* {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły,
* {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki.
A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana.
Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza.
== {{Code|p.LiczOperacjeStronZbiorczych}} ==
Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej.
=== Opis funkcji ===
Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst-Szablon}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst-Szablon}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}.
Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst-Szablon}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}).
Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}},
* {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony,
* {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}},
* {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}},
* {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}},
* {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić.
=== Funkcje lokalne ===
==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ====
Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function CzyStronaSubst()...end;
</syntaxhighlight>
Parametry funkcji:
* Brak parametrów.
Przykład analizy funkcji:
<syntaxhighlight lang="lua">
local function CzyStronaSubst()
if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then
glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak";
end;
end;
</syntaxhighlight>
==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ====
Funkcja wyszukuje w zakodowanym tekście szablony: {{LinkPatrz|StronaSubst-Szablon}} i {{LinkPatrz|KsiążkaSubst-Szablon}}, przy pomocy: {{linkPatrz|tablica_obiektow_strony_dany_modul_strony}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} {{LinkPatrz|StronaSubst-WoluminSubst}} i {{Code|KsiążkaSubst}} {{LinkPatrz|KsiazkaSubst-WoluminSubst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}},
* {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}},
* {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}},
* {{Code|StronaSubst}} {{Patrz|StronaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst-Szablon}},
* {{Code|KsiazkaSubst}} {{Patrz|KsiazkaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst-Szablon}}.
Przykłady wykorzystania:
<syntaxhighlight lang="lua">
WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
...
StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
end,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
...
p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny));
end
);
</syntaxhighlight>
Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}.
==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ====
==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ====
==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ====
==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ====
==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ====
==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ====
Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst-Szablon}}, na danym artykule, w książce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej, przy pomocy zmiennych nazw pod warunkiem, gdy mamy argument: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywy, wtedy zbieramy parametry różnych książek dla strony zbiorczej ustawionej za pomocą parametrów pudełkowych, w innym przypadku parametry strony zbiorczej należącego do aktualnej książki. Też możemy liczyć parametry stron zbiorczych z poziomu innych stron przy pomocy parametrów pudełkowych.
Funkcja korzysta z: {{LinkŚródtytuł|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_paStronaSubstInnerametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst-Szablon}},
* {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki,
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}:
* {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki,
* {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem.
Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, jest prawidziwy, wtedy funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica:
<syntaxhighlight lang="lua">
glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str;
</syntaxhighlight>
A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywa, wtedy dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica:
<syntaxhighlight lang="lua">
glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str;
</syntaxhighlight>
{{Hr}}
W obu tworzonych tabelach zależy od parametru, od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty, a pod: {{Code|str}}, jest ukryta zawartość szablonu {{LinkPatrz|StronaSubst-Szablon}}.
==== KsiążkaSubst ====
===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} =====
===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} =====
==== Funkcje analizujące strony zbiorcze lub inne ====
===== {{Śródtytuł|NieFun}}{{Code|NieFun}} =====
===== {{Śródtytuł|TakFun}}{{Code|TakFun}} =====
===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} =====
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
bksw2pzfguuhs506yb7i87yk19qh0ch
543481
543480
2026-05-19T16:54:53Z
Persino
2851
/* {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} */
543481
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} ==
Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}.
Gdy dany artykuł, jest nie równy: {{Code|Wersja do druku}}, i subnazwie ksiązki {{LinkPatrz|nazwa_artykulu}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun-AnalizaStronaSubst,NieFun-AnalizaStronaSubst,FunRozdzial-AnalizaStronaSubst,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
; Najważniejsze zmienne{{Dk}}
* {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}},
* {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}.
; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}}
* {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}.
; Funkcje{{Dk}}
* {{Code|TakFun-AnalizaStronaSubst}} {{Patrz|TakFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową,
* {{Code|NieFun-AnalizaStronaSubst}} {{Patrz|NieFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa,
* {{Code|FunRozdzial-AnalizaStronaSubst}} {{Patrz|FunRozdzial-AnalizaStronaSubst}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun-AnalizaStronaSubst}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału.
; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}}
* {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy,
* {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka,
* {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły,
* {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki.
A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana.
Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza.
== {{Code|p.LiczOperacjeStronZbiorczych}} ==
Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej.
=== Opis funkcji ===
Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst-Szablon}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst-Szablon}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}.
Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst-Szablon}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}).
Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}},
* {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony,
* {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}},
* {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}},
* {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}},
* {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić.
=== Funkcje lokalne ===
==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ====
Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function CzyStronaSubst()...end;
</syntaxhighlight>
Parametry funkcji:
* Brak parametrów.
Przykład analizy funkcji, podając je właściwie ciało:
<syntaxhighlight lang="lua">
if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then
glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak";
end;
</syntaxhighlight>
==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ====
Funkcja wyszukuje w zakodowanym tekście szablony: {{LinkPatrz|StronaSubst-Szablon}} i {{LinkPatrz|KsiążkaSubst-Szablon}}, przy pomocy: {{linkPatrz|tablica_obiektow_strony_dany_modul_strony}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} {{LinkPatrz|StronaSubst-WoluminSubst}} i {{Code|KsiążkaSubst}} {{LinkPatrz|KsiazkaSubst-WoluminSubst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}},
* {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}},
* {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}},
* {{Code|StronaSubst}} {{Patrz|StronaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst-Szablon}},
* {{Code|KsiazkaSubst}} {{Patrz|KsiazkaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst-Szablon}}.
Przykłady wykorzystania:
<syntaxhighlight lang="lua">
WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
...
StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
end,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
...
p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny));
end
);
</syntaxhighlight>
Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}.
==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ====
==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ====
==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ====
==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ====
==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ====
==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ====
Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst-Szablon}}, na danym artykule, w książce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej, przy pomocy zmiennych nazw pod warunkiem, gdy mamy argument: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywy, wtedy zbieramy parametry różnych książek dla strony zbiorczej ustawionej za pomocą parametrów pudełkowych, w innym przypadku parametry strony zbiorczej należącego do aktualnej książki. Też możemy liczyć parametry stron zbiorczych z poziomu innych stron przy pomocy parametrów pudełkowych.
Funkcja korzysta z: {{LinkŚródtytuł|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_paStronaSubstInnerametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst-Szablon}},
* {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki,
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}:
* {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki,
* {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem.
Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, jest prawidziwy, wtedy funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica:
<syntaxhighlight lang="lua">
glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str;
</syntaxhighlight>
A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywa, wtedy dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica:
<syntaxhighlight lang="lua">
glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str;
</syntaxhighlight>
{{Hr}}
W obu tworzonych tabelach zależy od parametru, od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty, a pod: {{Code|str}}, jest ukryta zawartość szablonu {{LinkPatrz|StronaSubst-Szablon}}.
==== KsiążkaSubst ====
===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} =====
===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} =====
==== Funkcje analizujące strony zbiorcze lub inne ====
===== {{Śródtytuł|NieFun}}{{Code|NieFun}} =====
===== {{Śródtytuł|TakFun}}{{Code|TakFun}} =====
===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} =====
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
a0gyn0xzh0y29z3s2g4mx95x6p50qw4
543483
543481
2026-05-19T17:41:41Z
Persino
2851
/* {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} */
543483
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} ==
Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}.
Gdy dany artykuł, jest nie równy: {{Code|Wersja do druku}}, i subnazwie ksiązki {{LinkPatrz|nazwa_artykulu}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun-AnalizaStronaSubst,NieFun-AnalizaStronaSubst,FunRozdzial-AnalizaStronaSubst,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
; Najważniejsze zmienne{{Dk}}
* {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}},
* {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}.
; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}}
* {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}.
; Funkcje{{Dk}}
* {{Code|TakFun-AnalizaStronaSubst}} {{Patrz|TakFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową,
* {{Code|NieFun-AnalizaStronaSubst}} {{Patrz|NieFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa,
* {{Code|FunRozdzial-AnalizaStronaSubst}} {{Patrz|FunRozdzial-AnalizaStronaSubst}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun-AnalizaStronaSubst}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału.
; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}}
* {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy,
* {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka,
* {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły,
* {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki.
A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana.
Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza.
== {{Code|p.LiczOperacjeStronZbiorczych}} ==
Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej.
=== Opis funkcji ===
Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst-Szablon}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst-Szablon}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}.
Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst-Szablon}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}).
Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}},
* {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony,
* {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}},
* {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}},
* {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}},
* {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić.
=== Funkcje lokalne ===
==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ====
Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function CzyStronaSubst()...end;
</syntaxhighlight>
Parametry funkcji:
* Brak parametrów.
Przykład analizy funkcji, podając je właściwie ciało:
<syntaxhighlight lang="lua">
if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then
glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak";
end;
</syntaxhighlight>
==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ====
Funkcja wyszukuje w zakodowanym tekście szablony: {{LinkPatrz|StronaSubst-Szablon}} i {{LinkPatrz|KsiążkaSubst-Szablon}}, przy pomocy: {{linkPatrz|tablica_obiektow_strony_dany_modul_strony}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} {{LinkPatrz|StronaSubst-WoluminSubst}} i {{Code|KsiążkaSubst}} {{LinkPatrz|KsiazkaSubst-WoluminSubst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}},
* {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}},
* {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}},
* {{Code|StronaSubst}} {{Patrz|StronaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst-Szablon}},
* {{Code|KsiazkaSubst}} {{Patrz|KsiazkaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst-Szablon}}.
Przykłady wykorzystania:
<syntaxhighlight lang="lua">
WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
...
StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
end,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
...
p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny));
end
);
</syntaxhighlight>
Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}.
==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ====
Funkcja liczy łańcuch znakowy odpowiadający pojedynczemu wywołaniu, dotyczący danego rozdziału strony zbiorczej, czyli dla pojedynczego wywołania szablonu: {{LinkPatrz|StronaSubst-Szablon}}, i dla pojedynczego artykułu z wielu generowanych przez szablon: {{LinkPatrz|KsiążkaSubst-Szablon}}. Szablon tworzy rozdział w postaci linku do artykułu, wtedy w tekście rozdziału nie jest podawany adres pełny artykułu,a jeżeli ona nie jest linkiem, to rozdziałjest w postaci tekstu, wtedyw tekście rozdziału jest podawany pełny adres artykułu, a jeżeli, mamy włączony postęp, wtedy tojest ukryte właściwością '''CSS''': {{Code|display:none}}.
Rozdział jest pod elementem {{Tag|div|parametry=style="display:block;" class="rozdział_książki"}}, o odpowiednim poziomie tworzonym przez funkcję: {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}. Następnym elementem jest postęp, pod warunkiem jeżeli ustawiono zmienną: {{Code|postep}}, a dalej w osobnym: {{Tag|div|parametry=class="strona_subst"}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">nazwa_przestrzeni,nazwa_przestrzeni_ksiazki
local function StronaSubstParametr(strona,naglowek_strony,link,p,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|strona}} -
* {{Code|naglowek_strony}} -
* {{Code|link}} -
* {{Code|p}} -
* {{Code|postep}} -
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ====
==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ====
==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ====
==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ====
==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ====
Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst-Szablon}}, na danym artykule, w książce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej, przy pomocy zmiennych nazw pod warunkiem, gdy mamy argument: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywy, wtedy zbieramy parametry różnych książek dla strony zbiorczej ustawionej za pomocą parametrów pudełkowych, w innym przypadku parametry strony zbiorczej należącego do aktualnej książki. Też możemy liczyć parametry stron zbiorczych z poziomu innych stron przy pomocy parametrów pudełkowych.
Funkcja korzysta z: {{LinkŚródtytuł|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_paStronaSubstInnerametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst-Szablon}},
* {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki,
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}:
* {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki,
* {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem.
Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, jest prawidziwy, wtedy funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica:
<syntaxhighlight lang="lua">
glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str;
</syntaxhighlight>
A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywa, wtedy dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica:
<syntaxhighlight lang="lua">
glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str;
</syntaxhighlight>
{{Hr}}
W obu tworzonych tabelach zależy od parametru, od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty, a pod: {{Code|str}}, jest ukryta zawartość szablonu {{LinkPatrz|StronaSubst-Szablon}}.
==== KsiążkaSubst ====
===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} =====
===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} =====
==== Funkcje analizujące strony zbiorcze lub inne ====
===== {{Śródtytuł|NieFun}}{{Code|NieFun}} =====
===== {{Śródtytuł|TakFun}}{{Code|TakFun}} =====
===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} =====
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
5ts8okzo6tv7y4r4xg8lqktltrw3d33
543484
543483
2026-05-19T17:44:21Z
Persino
2851
/* {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} */
543484
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} ==
Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}.
Gdy dany artykuł, jest nie równy: {{Code|Wersja do druku}}, i subnazwie ksiązki {{LinkPatrz|nazwa_artykulu}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun-AnalizaStronaSubst,NieFun-AnalizaStronaSubst,FunRozdzial-AnalizaStronaSubst,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
; Najważniejsze zmienne{{Dk}}
* {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}},
* {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}.
; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}}
* {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}.
; Funkcje{{Dk}}
* {{Code|TakFun-AnalizaStronaSubst}} {{Patrz|TakFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową,
* {{Code|NieFun-AnalizaStronaSubst}} {{Patrz|NieFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa,
* {{Code|FunRozdzial-AnalizaStronaSubst}} {{Patrz|FunRozdzial-AnalizaStronaSubst}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun-AnalizaStronaSubst}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału.
; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}}
* {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy,
* {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka,
* {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły,
* {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki.
A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana.
Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza.
== {{Code|p.LiczOperacjeStronZbiorczych}} ==
Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej.
=== Opis funkcji ===
Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst-Szablon}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst-Szablon}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}.
Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst-Szablon}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}).
Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}},
* {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony,
* {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}},
* {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}},
* {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}},
* {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić.
=== Funkcje lokalne ===
==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ====
Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function CzyStronaSubst()...end;
</syntaxhighlight>
Parametry funkcji:
* Brak parametrów.
Przykład analizy funkcji, podając je właściwie ciało:
<syntaxhighlight lang="lua">
if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then
glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak";
end;
</syntaxhighlight>
==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ====
Funkcja wyszukuje w zakodowanym tekście szablony: {{LinkPatrz|StronaSubst-Szablon}} i {{LinkPatrz|KsiążkaSubst-Szablon}}, przy pomocy: {{linkPatrz|tablica_obiektow_strony_dany_modul_strony}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} {{LinkPatrz|StronaSubst-WoluminSubst}} i {{Code|KsiążkaSubst}} {{LinkPatrz|KsiazkaSubst-WoluminSubst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}},
* {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}},
* {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}},
* {{Code|StronaSubst}} {{Patrz|StronaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst-Szablon}},
* {{Code|KsiazkaSubst}} {{Patrz|KsiazkaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst-Szablon}}.
Przykłady wykorzystania:
<syntaxhighlight lang="lua">
WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
...
StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
end,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
...
p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny));
end
);
</syntaxhighlight>
Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}.
==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ====
Funkcja liczy łańcuch znakowy odpowiadający pojedynczemu wywołaniu, dotyczący danego rozdziału strony zbiorczej, czyli dla pojedynczego wywołania szablonu: {{LinkPatrz|StronaSubst-Szablon}}, i dla pojedynczego artykułu z wielu generowanych przez szablon: {{LinkPatrz|KsiążkaSubst-Szablon}}. Szablon tworzy rozdział w postaci linku do artykułu, wtedy w tekście rozdziału nie jest podawany adres pełny artykułu,a jeżeli ona nie jest linkiem, to rozdziałjest w postaci tekstu, wtedyw tekście rozdziału jest podawany pełny adres artykułu, a jeżeli, mamy włączony postęp, wtedy tojest ukryte właściwością '''CSS''': {{Code|display:none}}.
Rozdział jest pod elementem {{Tag|div|parametry=style="display:block;" class="rozdział_książki"}}, o odpowiednim poziomie tworzonym przez funkcję: {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}. Następnym elementem jest postęp, pod warunkiem jeżeli ustawiono zmienną: {{Code|postep}}, a dalej w osobnym: {{Tag|div|parametry=class="strona_subst"}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">nazwa_przestrzeni,nazwa_przestrzeni_ksiazki
local function StronaSubstParametr(strona,naglowek_strony,link,p,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|strona}} -
* {{Code|naglowek_strony}} -
* {{Code|link}} -
* {{Code|p}} -
* {{Code|postep}} -
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ====
==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ====
==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ====
==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ====
==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ====
Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst-Szablon}}, na danym artykule, w książce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej, przy pomocy zmiennych nazw pod warunkiem, gdy mamy argument: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywy, wtedy zbieramy parametry różnych książek dla strony zbiorczej ustawionej za pomocą parametrów pudełkowych, w innym przypadku parametry strony zbiorczej należącego do aktualnej książki. Też możemy liczyć parametry stron zbiorczych z poziomu innych stron przy pomocy parametrów pudełkowych.
Funkcja korzysta z: {{LinkŚródtytuł|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_paStronaSubstInnerametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst-Szablon}},
* {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki,
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}:
* {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki,
* {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem,
* {{Code|postep}} {{Patrz|postep-StronaSubst}} - uruchamia postęp zamiast wyświetlania tekstu linku w postaci pełnego adresu strony, ewentualnie z nagłówkiem, kiedy nagłówek nie jest linkiem do artykułu strony, a gdy jest link według {{LinkPatrz|link-StronaSubst}}, to wtedy tylko wyświetli się postęp.
Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, jest prawidziwy, wtedy funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica:
<syntaxhighlight lang="lua">
glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str;
</syntaxhighlight>
A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywa, wtedy dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica:
<syntaxhighlight lang="lua">
glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str;
</syntaxhighlight>
{{Hr}}
W obu tworzonych tabelach zależy od parametru, od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty, a pod: {{Code|str}}, jest ukryta zawartość szablonu {{LinkPatrz|StronaSubst-Szablon}}.
==== KsiążkaSubst ====
===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} =====
===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} =====
==== Funkcje analizujące strony zbiorcze lub inne ====
===== {{Śródtytuł|NieFun}}{{Code|NieFun}} =====
===== {{Śródtytuł|TakFun}}{{Code|TakFun}} =====
===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} =====
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
854iwnu8fg3pfe9bmlukb70xzz07boa
543485
543484
2026-05-19T17:49:19Z
Persino
2851
/* {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} */
543485
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} ==
Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}.
Gdy dany artykuł, jest nie równy: {{Code|Wersja do druku}}, i subnazwie ksiązki {{LinkPatrz|nazwa_artykulu}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun-AnalizaStronaSubst,NieFun-AnalizaStronaSubst,FunRozdzial-AnalizaStronaSubst,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
; Najważniejsze zmienne{{Dk}}
* {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}},
* {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}.
; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}}
* {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}.
; Funkcje{{Dk}}
* {{Code|TakFun-AnalizaStronaSubst}} {{Patrz|TakFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową,
* {{Code|NieFun-AnalizaStronaSubst}} {{Patrz|NieFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa,
* {{Code|FunRozdzial-AnalizaStronaSubst}} {{Patrz|FunRozdzial-AnalizaStronaSubst}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun-AnalizaStronaSubst}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału.
; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}}
* {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy,
* {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka,
* {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły,
* {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki.
A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana.
Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza.
== {{Code|p.LiczOperacjeStronZbiorczych}} ==
Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej.
=== Opis funkcji ===
Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst-Szablon}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst-Szablon}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}.
Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst-Szablon}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}).
Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}},
* {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony,
* {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}},
* {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}},
* {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}},
* {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić.
=== Funkcje lokalne ===
==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ====
Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function CzyStronaSubst()...end;
</syntaxhighlight>
Parametry funkcji:
* Brak parametrów.
Przykład analizy funkcji, podając je właściwie ciało:
<syntaxhighlight lang="lua">
if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then
glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak";
end;
</syntaxhighlight>
==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ====
Funkcja wyszukuje w zakodowanym tekście szablony: {{LinkPatrz|StronaSubst-Szablon}} i {{LinkPatrz|KsiążkaSubst-Szablon}}, przy pomocy: {{linkPatrz|tablica_obiektow_strony_dany_modul_strony}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} {{LinkPatrz|StronaSubst-WoluminSubst}} i {{Code|KsiążkaSubst}} {{LinkPatrz|KsiazkaSubst-WoluminSubst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}},
* {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}},
* {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}},
* {{Code|StronaSubst}} {{Patrz|StronaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst-Szablon}},
* {{Code|KsiazkaSubst}} {{Patrz|KsiazkaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst-Szablon}}.
Przykłady wykorzystania:
<syntaxhighlight lang="lua">
WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
...
StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
end,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
...
p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny));
end
);
</syntaxhighlight>
Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}.
==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ====
Funkcja liczy łańcuch znakowy odpowiadający pojedynczemu wywołaniu, dotyczący danego rozdziału strony zbiorczej, czyli dla pojedynczego wywołania szablonu: {{LinkPatrz|StronaSubst-Szablon}}, lub dla pojedynczego artykułu z wielu generowanych przez szablon: {{LinkPatrz|KsiążkaSubst-Szablon}}. Szablon tworzy rozdział w postaci linku do artykułu, wtedy w tekście rozdziału nie jest podawany adres pełny artykułu, a jeżeli ona nie jest linkiem, to rozdział jest w postaci tekstu, wtedy w tekście rozdziału jest podawany pełny adres artykułu, a jeżeli, mamy włączony postęp, wtedy to jest ukryte właściwością '''CSS''': {{Code|display:none}}.
Rozdział jest pod elementem {{Tag|div|parametry=style="display:block;" class="rozdział_książki"}}, o odpowiednim poziomie, gdy poziom jest {{Code|nil}}, to wtedy przyjmuje on domyślną wartość {{Code|1}}, tworzonym przez funkcję: {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}. Następnym elementem jest postęp, pod warunkiem, jeżeli ustawiono zmienną: {{Code|postep}}, a dalej w osobnym: {{Tag|div|parametry=class="strona_subst"}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">nazwa_przestrzeni,nazwa_przestrzeni_ksiazki
local function StronaSubstParametr(strona,naglowek_strony,link,p,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|strona}} -
* {{Code|naglowek_strony}} -
* {{Code|link}} -
* {{Code|p}} -
* {{Code|postep}} -
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ====
==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ====
==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ====
==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ====
==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ====
Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst-Szablon}}, na danym artykule, w książce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej, przy pomocy zmiennych nazw pod warunkiem, gdy mamy argument: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywy, wtedy zbieramy parametry różnych książek dla strony zbiorczej ustawionej za pomocą parametrów pudełkowych, w innym przypadku parametry strony zbiorczej należącego do aktualnej książki. Też możemy liczyć parametry stron zbiorczych z poziomu innych stron przy pomocy parametrów pudełkowych.
Funkcja korzysta z: {{LinkŚródtytuł|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_paStronaSubstInnerametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst-Szablon}},
* {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki,
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}:
* {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki,
* {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem,
* {{Code|postep}} {{Patrz|postep-StronaSubst}} - uruchamia postęp zamiast wyświetlania tekstu linku w postaci pełnego adresu strony, ewentualnie z nagłówkiem, kiedy nagłówek nie jest linkiem do artykułu strony, a gdy jest link według {{LinkPatrz|link-StronaSubst}}, to wtedy tylko wyświetli się postęp.
Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, jest prawidziwy, wtedy funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica:
<syntaxhighlight lang="lua">
glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str;
</syntaxhighlight>
A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywa, wtedy dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica:
<syntaxhighlight lang="lua">
glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str;
</syntaxhighlight>
{{Hr}}
W obu tworzonych tabelach zależy od parametru, od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty, a pod: {{Code|str}}, jest ukryta zawartość szablonu {{LinkPatrz|StronaSubst-Szablon}}.
==== KsiążkaSubst ====
===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} =====
===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} =====
==== Funkcje analizujące strony zbiorcze lub inne ====
===== {{Śródtytuł|NieFun}}{{Code|NieFun}} =====
===== {{Śródtytuł|TakFun}}{{Code|TakFun}} =====
===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} =====
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
2rnje9x1usf9vk4m7vjyi5qtpxxk08x
543486
543485
2026-05-19T17:57:24Z
Persino
2851
/* {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} */
543486
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} ==
Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}.
Gdy dany artykuł, jest nie równy: {{Code|Wersja do druku}}, i subnazwie ksiązki {{LinkPatrz|nazwa_artykulu}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun-AnalizaStronaSubst,NieFun-AnalizaStronaSubst,FunRozdzial-AnalizaStronaSubst,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
; Najważniejsze zmienne{{Dk}}
* {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}},
* {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}.
; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}}
* {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}.
; Funkcje{{Dk}}
* {{Code|TakFun-AnalizaStronaSubst}} {{Patrz|TakFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową,
* {{Code|NieFun-AnalizaStronaSubst}} {{Patrz|NieFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa,
* {{Code|FunRozdzial-AnalizaStronaSubst}} {{Patrz|FunRozdzial-AnalizaStronaSubst}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun-AnalizaStronaSubst}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału.
; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}}
* {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy,
* {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka,
* {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły,
* {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki.
A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana.
Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza.
== {{Code|p.LiczOperacjeStronZbiorczych}} ==
Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej.
=== Opis funkcji ===
Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst-Szablon}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst-Szablon}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}.
Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst-Szablon}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}).
Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}},
* {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony,
* {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}},
* {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}},
* {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}},
* {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić.
=== Funkcje lokalne ===
==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ====
Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function CzyStronaSubst()...end;
</syntaxhighlight>
Parametry funkcji:
* Brak parametrów.
Przykład analizy funkcji, podając je właściwie ciało:
<syntaxhighlight lang="lua">
if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then
glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak";
end;
</syntaxhighlight>
==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ====
Funkcja wyszukuje w zakodowanym tekście szablony: {{LinkPatrz|StronaSubst-Szablon}} i {{LinkPatrz|KsiążkaSubst-Szablon}}, przy pomocy: {{linkPatrz|tablica_obiektow_strony_dany_modul_strony}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} {{LinkPatrz|StronaSubst-WoluminSubst}} i {{Code|KsiążkaSubst}} {{LinkPatrz|KsiazkaSubst-WoluminSubst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}},
* {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}},
* {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}},
* {{Code|StronaSubst}} {{Patrz|StronaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst-Szablon}},
* {{Code|KsiazkaSubst}} {{Patrz|KsiazkaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst-Szablon}}.
Przykłady wykorzystania:
<syntaxhighlight lang="lua">
WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
...
StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
end,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
...
p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny));
end
);
</syntaxhighlight>
Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}.
==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ====
Funkcja liczy łańcuch znakowy odpowiadający pojedynczemu wywołaniu, dotyczący danego rozdziału strony zbiorczej, czyli dla pojedynczego wywołania szablonu: {{LinkPatrz|StronaSubst-Szablon}}, lub dla pojedynczego artykułu z wielu generowanych przez szablon: {{LinkPatrz|KsiążkaSubst-Szablon}}. Szablon tworzy rozdział w postaci linku do artykułu, wtedy w tekście rozdziału nie jest podawany adres pełny artykułu, a jeżeli ona nie jest linkiem, to rozdział jest w postaci tekstu, wtedy w tekście rozdziału jest podawany pełny adres artykułu, a jeżeli, mamy włączony postęp, wtedy to jest ukryte właściwością '''CSS''': {{Code|display:none}}.
Rozdział jest pod elementem {{Tag|div|parametry=style="display:block;" class="rozdział_książki"}}, o odpowiednim poziomie, gdy poziom jest {{Code|nil}}, to wtedy przyjmuje on domyślną wartość {{Code|1}}, tworzonym przez funkcję: {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}. Następnym elementem jest postęp, pod warunkiem, jeżeli ustawiono zmienną: {{Code|postep}}, a dalej w osobnym: {{Tag|div|parametry=class="strona_subst"}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">nazwa_przestrzeni,nazwa_przestrzeni_ksiazki
local function StronaSubstParametr(strona,naglowek_strony,link,p,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|strona}} {{Patrz|strona-StronaSubstParametr}} - jak w: {{LinkPatrz|1-StronaSubst}},
* {{Code|naglowek_strony}} {{Patrz|naglowek_strony-StronaSubstParametr}} - nagłówek strony tworzony z pełnego adresu strony, który jest podstroną wraz z nagłówkiem,
* {{Code|link}} {{Patrz|link-StronaSubstParametr}} - jak w: {{LinkPatrz|link-StronaSubst}}, tylko ta zmienna jest w postaci logicznej, jak ta ostatnia jest niepusta, wtedy ta zmienna odpowiada wartości logicznej prawda, w przeciwnym wypadku mamy fałsz,
* {{Code|p}} {{Patrz|p-StronaSubstParametr}} - postęp tworzonego nagłówka, jeżeli {{Code|p {{=}} nil}}, wtedy domyślny poziom jest 1, ten poziom jest liczba calkowitą dodatnią,
* {{Code|postep}} {{Patrz|postep-StronaSubstParametr}} - jak w: {{LinkPatrz|postep-StronaSubst}}, z wartością logiczną jest jak w: {{LinkPatrz|link-StronaSubstParametr}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ====
==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ====
==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ====
==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ====
==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ====
Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst-Szablon}}, na danym artykule, w książce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej, przy pomocy zmiennych nazw pod warunkiem, gdy mamy argument: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywy, wtedy zbieramy parametry różnych książek dla strony zbiorczej ustawionej za pomocą parametrów pudełkowych, w innym przypadku parametry strony zbiorczej należącego do aktualnej książki. Też możemy liczyć parametry stron zbiorczych z poziomu innych stron przy pomocy parametrów pudełkowych.
Funkcja korzysta z: {{LinkŚródtytuł|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_paStronaSubstInnerametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst-Szablon}},
* {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki,
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}:
* {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki,
* {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem,
* {{Code|postep}} {{Patrz|postep-StronaSubst}} - uruchamia postęp zamiast wyświetlania tekstu linku w postaci pełnego adresu strony, ewentualnie z nagłówkiem, kiedy nagłówek nie jest linkiem do artykułu strony, a gdy jest link według {{LinkPatrz|link-StronaSubst}}, to wtedy tylko wyświetli się postęp.
Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, jest prawidziwy, wtedy funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica:
<syntaxhighlight lang="lua">
glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str;
</syntaxhighlight>
A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywa, wtedy dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica:
<syntaxhighlight lang="lua">
glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str;
</syntaxhighlight>
{{Hr}}
W obu tworzonych tabelach zależy od parametru, od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty, a pod: {{Code|str}}, jest ukryta zawartość szablonu {{LinkPatrz|StronaSubst-Szablon}}.
==== KsiążkaSubst ====
===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} =====
===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} =====
==== Funkcje analizujące strony zbiorcze lub inne ====
===== {{Śródtytuł|NieFun}}{{Code|NieFun}} =====
===== {{Śródtytuł|TakFun}}{{Code|TakFun}} =====
===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} =====
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
7w1huct5t9qui5xj6m5bcgo4xdbssgv
543487
543486
2026-05-19T17:58:03Z
Persino
2851
/* {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} */
543487
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} ==
Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}.
Gdy dany artykuł, jest nie równy: {{Code|Wersja do druku}}, i subnazwie ksiązki {{LinkPatrz|nazwa_artykulu}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun-AnalizaStronaSubst,NieFun-AnalizaStronaSubst,FunRozdzial-AnalizaStronaSubst,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
; Najważniejsze zmienne{{Dk}}
* {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}},
* {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}.
; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}}
* {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}.
; Funkcje{{Dk}}
* {{Code|TakFun-AnalizaStronaSubst}} {{Patrz|TakFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową,
* {{Code|NieFun-AnalizaStronaSubst}} {{Patrz|NieFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa,
* {{Code|FunRozdzial-AnalizaStronaSubst}} {{Patrz|FunRozdzial-AnalizaStronaSubst}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun-AnalizaStronaSubst}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału.
; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}}
* {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy,
* {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka,
* {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły,
* {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki.
A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana.
Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza.
== {{Code|p.LiczOperacjeStronZbiorczych}} ==
Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej.
=== Opis funkcji ===
Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst-Szablon}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst-Szablon}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}.
Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst-Szablon}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}).
Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}},
* {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony,
* {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}},
* {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}},
* {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}},
* {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić.
=== Funkcje lokalne ===
==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ====
Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function CzyStronaSubst()...end;
</syntaxhighlight>
Parametry funkcji:
* Brak parametrów.
Przykład analizy funkcji, podając je właściwie ciało:
<syntaxhighlight lang="lua">
if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then
glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak";
end;
</syntaxhighlight>
==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ====
Funkcja wyszukuje w zakodowanym tekście szablony: {{LinkPatrz|StronaSubst-Szablon}} i {{LinkPatrz|KsiążkaSubst-Szablon}}, przy pomocy: {{linkPatrz|tablica_obiektow_strony_dany_modul_strony}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} {{LinkPatrz|StronaSubst-WoluminSubst}} i {{Code|KsiążkaSubst}} {{LinkPatrz|KsiazkaSubst-WoluminSubst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}},
* {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}},
* {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}},
* {{Code|StronaSubst}} {{Patrz|StronaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst-Szablon}},
* {{Code|KsiazkaSubst}} {{Patrz|KsiazkaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst-Szablon}}.
Przykłady wykorzystania:
<syntaxhighlight lang="lua">
WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
...
StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
end,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
...
p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny));
end
);
</syntaxhighlight>
Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}.
==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ====
Funkcja liczy łańcuch znakowy odpowiadający pojedynczemu wywołaniu, dotyczący danego rozdziału strony zbiorczej, czyli dla pojedynczego wywołania szablonu: {{LinkPatrz|StronaSubst-Szablon}}, lub dla pojedynczego artykułu z wielu generowanych przez szablon: {{LinkPatrz|KsiążkaSubst-Szablon}}. Szablon tworzy rozdział w postaci linku do artykułu, wtedy w tekście rozdziału nie jest podawany adres pełny artykułu, a jeżeli ona nie jest linkiem, to rozdział jest w postaci tekstu, wtedy w tekście rozdziału jest podawany pełny adres artykułu, a jeżeli, mamy włączony postęp, wtedy to jest ukryte właściwością '''CSS''': {{Code|display:none}}.
Rozdział jest pod elementem {{Tag|div|parametry=style="display:block;" class="rozdział_książki"}}, o odpowiednim poziomie, gdy poziom jest {{Code|nil}}, to wtedy przyjmuje on domyślną wartość {{Code|1}}, tworzonym przez funkcję: {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}. Następnym elementem jest postęp, pod warunkiem, jeżeli ustawiono zmienną: {{Code|postep}}, a dalej w osobnym: {{Tag|div|parametry=class="strona_subst"}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function StronaSubstParametr(strona,naglowek_strony,link,p,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|strona}} {{Patrz|strona-StronaSubstParametr}} - jak w: {{LinkPatrz|1-StronaSubst}},
* {{Code|naglowek_strony}} {{Patrz|naglowek_strony-StronaSubstParametr}} - nagłówek strony tworzony z pełnego adresu strony, który jest podstroną wraz z nagłówkiem,
* {{Code|link}} {{Patrz|link-StronaSubstParametr}} - jak w: {{LinkPatrz|link-StronaSubst}}, tylko ta zmienna jest w postaci logicznej, jak ta ostatnia jest niepusta, wtedy ta zmienna odpowiada wartości logicznej prawda, w przeciwnym wypadku mamy fałsz,
* {{Code|p}} {{Patrz|p-StronaSubstParametr}} - postęp tworzonego nagłówka, jeżeli {{Code|p {{=}} nil}}, wtedy domyślny poziom jest 1, ten poziom jest liczba calkowitą dodatnią,
* {{Code|postep}} {{Patrz|postep-StronaSubstParametr}} - jak w: {{LinkPatrz|postep-StronaSubst}}, z wartością logiczną jest jak w: {{LinkPatrz|link-StronaSubstParametr}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ====
==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ====
==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ====
==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ====
==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ====
Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst-Szablon}}, na danym artykule, w książce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej, przy pomocy zmiennych nazw pod warunkiem, gdy mamy argument: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywy, wtedy zbieramy parametry różnych książek dla strony zbiorczej ustawionej za pomocą parametrów pudełkowych, w innym przypadku parametry strony zbiorczej należącego do aktualnej książki. Też możemy liczyć parametry stron zbiorczych z poziomu innych stron przy pomocy parametrów pudełkowych.
Funkcja korzysta z: {{LinkŚródtytuł|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_paStronaSubstInnerametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst-Szablon}},
* {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki,
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}:
* {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki,
* {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem,
* {{Code|postep}} {{Patrz|postep-StronaSubst}} - uruchamia postęp zamiast wyświetlania tekstu linku w postaci pełnego adresu strony, ewentualnie z nagłówkiem, kiedy nagłówek nie jest linkiem do artykułu strony, a gdy jest link według {{LinkPatrz|link-StronaSubst}}, to wtedy tylko wyświetli się postęp.
Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, jest prawidziwy, wtedy funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica:
<syntaxhighlight lang="lua">
glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str;
</syntaxhighlight>
A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywa, wtedy dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica:
<syntaxhighlight lang="lua">
glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str;
</syntaxhighlight>
{{Hr}}
W obu tworzonych tabelach zależy od parametru, od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty, a pod: {{Code|str}}, jest ukryta zawartość szablonu {{LinkPatrz|StronaSubst-Szablon}}.
==== KsiążkaSubst ====
===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} =====
===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} =====
==== Funkcje analizujące strony zbiorcze lub inne ====
===== {{Śródtytuł|NieFun}}{{Code|NieFun}} =====
===== {{Śródtytuł|TakFun}}{{Code|TakFun}} =====
===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} =====
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
k95sumiqt286mxdeuosqvdbycp7i856
543488
543487
2026-05-19T18:03:57Z
Persino
2851
/* {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} */
543488
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} ==
Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}.
Gdy dany artykuł, jest nie równy: {{Code|Wersja do druku}}, i subnazwie ksiązki {{LinkPatrz|nazwa_artykulu}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun-AnalizaStronaSubst,NieFun-AnalizaStronaSubst,FunRozdzial-AnalizaStronaSubst,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
; Najważniejsze zmienne{{Dk}}
* {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}},
* {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}.
; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}}
* {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}.
; Funkcje{{Dk}}
* {{Code|TakFun-AnalizaStronaSubst}} {{Patrz|TakFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową,
* {{Code|NieFun-AnalizaStronaSubst}} {{Patrz|NieFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa,
* {{Code|FunRozdzial-AnalizaStronaSubst}} {{Patrz|FunRozdzial-AnalizaStronaSubst}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun-AnalizaStronaSubst}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału.
; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}}
* {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy,
* {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka,
* {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły,
* {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki.
A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana.
Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza.
== {{Code|p.LiczOperacjeStronZbiorczych}} ==
Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej.
=== Opis funkcji ===
Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst-Szablon}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst-Szablon}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}.
Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst-Szablon}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}).
Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}},
* {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony,
* {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}},
* {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}},
* {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}},
* {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić.
=== Funkcje lokalne ===
==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ====
Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function CzyStronaSubst()...end;
</syntaxhighlight>
Parametry funkcji:
* Brak parametrów.
Przykład analizy funkcji, podając je właściwie ciało:
<syntaxhighlight lang="lua">
if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then
glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak";
end;
</syntaxhighlight>
==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ====
Funkcja wyszukuje w zakodowanym tekście szablony: {{LinkPatrz|StronaSubst-Szablon}} i {{LinkPatrz|KsiążkaSubst-Szablon}}, przy pomocy: {{linkPatrz|tablica_obiektow_strony_dany_modul_strony}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} {{LinkPatrz|StronaSubst-WoluminSubst}} i {{Code|KsiążkaSubst}} {{LinkPatrz|KsiazkaSubst-WoluminSubst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}},
* {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}},
* {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}},
* {{Code|StronaSubst}} {{Patrz|StronaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst-Szablon}},
* {{Code|KsiazkaSubst}} {{Patrz|KsiazkaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst-Szablon}}.
Przykłady wykorzystania:
<syntaxhighlight lang="lua">
WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
...
StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
end,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
...
p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny));
end
);
</syntaxhighlight>
Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}.
==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ====
Funkcja liczy łańcuch znakowy odpowiadający pojedynczemu wywołaniu, dotyczący danego rozdziału strony zbiorczej, czyli dla pojedynczego wywołania szablonu: {{LinkPatrz|StronaSubst-Szablon}}, lub dla pojedynczego artykułu z wielu generowanych przez szablon: {{LinkPatrz|KsiążkaSubst-Szablon}}. Szablon tworzy rozdział w postaci linku do artykułu, wtedy w tekście rozdziału nie jest podawany adres pełny artykułu, a jeżeli ona nie jest linkiem, to rozdział jest w postaci tekstu, wtedy w tekście rozdziału jest podawany pełny adres artykułu, a jeżeli, mamy włączony postęp, wtedy to jest ukryte właściwością '''CSS''': {{Code|display:none}}.
Rozdział jest pod elementem {{Tag|div|parametry=style="display:block;" class="rozdział_książki"}}, o odpowiednim poziomie, gdy poziom jest {{Code|nil}}, to wtedy przyjmuje on domyślną wartość {{Code|1}}, tworzonym przez funkcję: {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}. Następnym elementem jest postęp, pod warunkiem, jeżeli ustawiono zmienną: {{Code|postep}}, a dalej w osobnym: {{Tag|div|parametry=class="strona_subst"}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function StronaSubstParametr(strona,naglowek_strony,link,p,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|strona}} {{Patrz|strona-StronaSubstParametr}} - jak w: {{LinkPatrz|1-StronaSubst}},
* {{Code|naglowek_strony}} {{Patrz|naglowek_strony-StronaSubstParametr}} - nagłówek strony tworzony z pełnego adresu strony, który jest podstroną wraz z nagłówkiem,
* {{Code|link}} {{Patrz|link-StronaSubstParametr}} - jak w: {{LinkPatrz|link-StronaSubst}}, tylko ta zmienna jest w postaci logicznej, jak ta ostatnia jest niepusta, wtedy ta zmienna odpowiada wartości logicznej prawda, w przeciwnym wypadku mamy fałsz,
* {{Code|p}} {{Patrz|p-StronaSubstParametr}} - postęp tworzonego nagłówka, jeżeli {{Code|p {{=}} nil}}, wtedy domyślny poziom jest 1, ten poziom jest liczba calkowitą dodatnią,
* {{Code|postep}} {{Patrz|postep-StronaSubstParametr}} - jak w: {{LinkPatrz|postep-StronaSubst}}, z wartością logiczną jest jak w: {{LinkPatrz|link-StronaSubstParametr}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ====
==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ====
==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ====
==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ====
==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ====
Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst-Szablon}}, na danym artykule, w książce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej, przy pomocy zmiennych nazw pod warunkiem, gdy mamy argument: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywy, wtedy zbieramy parametry różnych książek dla strony zbiorczej ustawionej za pomocą parametrów pudełkowych, w innym przypadku parametry strony zbiorczej należącego do aktualnej książki. Też możemy liczyć parametry stron zbiorczych z poziomu innych stron przy pomocy parametrów pudełkowych.
Funkcja korzysta z: {{LinkŚródtytuł|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_paStronaSubstInnerametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst-Szablon}},
* {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki,
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}:
* {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki,
* {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem,
* {{Code|postep}} {{Patrz|postep-StronaSubst}} - uruchamia postęp zamiast wyświetlania tekstu linku w postaci pełnego adresu strony, ewentualnie z nagłówkiem, kiedy nagłówek nie jest linkiem do artykułu strony, a gdy jest link według {{LinkPatrz|link-StronaSubst}}, to wtedy tylko wyświetli się postęp.
Gdy artykuł jest równy nazwie książki lub w wersji: {{Code|Wersja do druku}}, to wtedy funkcja zwraca wartość pustą, a jeżeli została już policzona jego zawartość w postaci aktualnej książki, to funkcja zwraca tą wartość.
Funkcja liczy elementy spisu treści ogólnego spisu treści, jak szablony spisu rzeczy w postaci graficznej: {{s|Spis treści}} i {{s|TOCRamka}}, albo tekstowej: {{s|TOC}}.
Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, jest prawidziwy, wtedy funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica:
<syntaxhighlight lang="lua">
glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str;
</syntaxhighlight>
A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywa, wtedy dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica:
<syntaxhighlight lang="lua">
glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str;
</syntaxhighlight>
{{Hr}}
W obu tworzonych tabelach zależy od parametru, od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty, a pod: {{Code|str}}, jest ukryta zawartość szablonu {{LinkPatrz|StronaSubst-Szablon}}.
==== KsiążkaSubst ====
===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} =====
===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} =====
==== Funkcje analizujące strony zbiorcze lub inne ====
===== {{Śródtytuł|NieFun}}{{Code|NieFun}} =====
===== {{Śródtytuł|TakFun}}{{Code|TakFun}} =====
===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} =====
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
88z9ujkpqw0r8nbqcyswh4popdvg97h
543489
543488
2026-05-19T18:10:32Z
Persino
2851
/* {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} */
543489
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} ==
Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}.
Gdy dany artykuł, jest nie równy: {{Code|Wersja do druku}}, i subnazwie ksiązki {{LinkPatrz|nazwa_artykulu}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun-AnalizaStronaSubst,NieFun-AnalizaStronaSubst,FunRozdzial-AnalizaStronaSubst,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
; Najważniejsze zmienne{{Dk}}
* {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}},
* {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}.
; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}}
* {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}.
; Funkcje{{Dk}}
* {{Code|TakFun-AnalizaStronaSubst}} {{Patrz|TakFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową,
* {{Code|NieFun-AnalizaStronaSubst}} {{Patrz|NieFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa,
* {{Code|FunRozdzial-AnalizaStronaSubst}} {{Patrz|FunRozdzial-AnalizaStronaSubst}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun-AnalizaStronaSubst}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału.
; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}}
* {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy,
* {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka,
* {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły,
* {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki.
A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana.
Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza.
== {{Code|p.LiczOperacjeStronZbiorczych}} ==
Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej.
=== Opis funkcji ===
Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst-Szablon}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst-Szablon}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}.
Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst-Szablon}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}).
Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}},
* {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony,
* {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}},
* {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}},
* {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}},
* {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić.
=== Funkcje lokalne ===
==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ====
Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function CzyStronaSubst()...end;
</syntaxhighlight>
Parametry funkcji:
* Brak parametrów.
Przykład analizy funkcji, podając je właściwie ciało:
<syntaxhighlight lang="lua">
if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then
glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak";
end;
</syntaxhighlight>
==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ====
Funkcja wyszukuje w zakodowanym tekście szablony: {{LinkPatrz|StronaSubst-Szablon}} i {{LinkPatrz|KsiążkaSubst-Szablon}}, przy pomocy: {{linkPatrz|tablica_obiektow_strony_dany_modul_strony}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} {{LinkPatrz|StronaSubst-WoluminSubst}} i {{Code|KsiążkaSubst}} {{LinkPatrz|KsiazkaSubst-WoluminSubst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}},
* {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}},
* {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}},
* {{Code|StronaSubst}} {{Patrz|StronaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst-Szablon}},
* {{Code|KsiazkaSubst}} {{Patrz|KsiazkaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst-Szablon}}.
Przykłady wykorzystania:
<syntaxhighlight lang="lua">
WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
...
StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
end,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
...
p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny));
end
);
</syntaxhighlight>
Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}.
==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ====
Funkcja liczy łańcuch znakowy odpowiadający pojedynczemu wywołaniu, dotyczący danego rozdziału strony zbiorczej, czyli dla pojedynczego wywołania szablonu: {{LinkPatrz|StronaSubst-Szablon}}, lub dla pojedynczego artykułu z wielu generowanych przez szablon: {{LinkPatrz|KsiążkaSubst-Szablon}}. Szablon tworzy rozdział w postaci linku do artykułu, wtedy w tekście rozdziału nie jest podawany adres pełny artykułu, a jeżeli ona nie jest linkiem, to rozdział jest w postaci tekstu, wtedy w tekście rozdziału jest podawany pełny adres artykułu, a jeżeli, mamy włączony postęp, wtedy to jest ukryte właściwością '''CSS''': {{Code|display:none}}.
Rozdział jest pod elementem {{Tag|div|parametry=style="display:block;" class="rozdział_książki"}}, o odpowiednim poziomie, gdy poziom jest {{Code|nil}}, to wtedy przyjmuje on domyślną wartość {{Code|1}}, tworzonym przez funkcję: {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}. Następnym elementem jest postęp, pod warunkiem, jeżeli ustawiono zmienną: {{Code|postep}}, a dalej w osobnym: {{Tag|div|parametry=class="strona_subst"}}, jest zawartość rozdziału w postaci naszego adresu, lub w postaci wartości pustej, gdy rozdział jest linkiem według ustawień funkcji: {{LinkŚródtytuł|StronaSubst}}, a więc i w przypadku szablonu: {{LinkPatrz|StronaSubst-Szablon}}, gdy ta funkcja została wywołana przez niego.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function StronaSubstParametr(strona,naglowek_strony,link,p,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|strona}} {{Patrz|strona-StronaSubstParametr}} - jak w: {{LinkPatrz|1-StronaSubst}},
* {{Code|naglowek_strony}} {{Patrz|naglowek_strony-StronaSubstParametr}} - nagłówek strony tworzony z pełnego adresu strony, który jest podstroną wraz z nagłówkiem,
* {{Code|link}} {{Patrz|link-StronaSubstParametr}} - jak w: {{LinkPatrz|link-StronaSubst}}, tylko ta zmienna jest w postaci logicznej, jak ta ostatnia jest niepusta, wtedy ta zmienna odpowiada wartości logicznej prawda, w przeciwnym wypadku mamy fałsz,
* {{Code|p}} {{Patrz|p-StronaSubstParametr}} - postęp tworzonego nagłówka, jeżeli {{Code|p {{=}} nil}}, wtedy domyślny poziom jest 1, ten poziom jest liczba calkowitą dodatnią,
* {{Code|postep}} {{Patrz|postep-StronaSubstParametr}} - jak w: {{LinkPatrz|postep-StronaSubst}}, z wartością logiczną jest jak w: {{LinkPatrz|link-StronaSubstParametr}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ====
==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ====
==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ====
==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ====
==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ====
Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst-Szablon}}, na danym artykule, w książce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej, przy pomocy zmiennych nazw pod warunkiem, gdy mamy argument: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywy, wtedy zbieramy parametry różnych książek dla strony zbiorczej ustawionej za pomocą parametrów pudełkowych, w innym przypadku parametry strony zbiorczej należącego do aktualnej książki. Też możemy liczyć parametry stron zbiorczych z poziomu innych stron przy pomocy parametrów pudełkowych.
Funkcja korzysta z: {{LinkŚródtytuł|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_paStronaSubstInnerametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst-Szablon}},
* {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki,
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}:
* {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki,
* {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem,
* {{Code|postep}} {{Patrz|postep-StronaSubst}} - uruchamia postęp zamiast wyświetlania tekstu linku w postaci pełnego adresu strony, ewentualnie z nagłówkiem, kiedy nagłówek nie jest linkiem do artykułu strony, a gdy jest link według {{LinkPatrz|link-StronaSubst}}, to wtedy tylko wyświetli się postęp.
Gdy artykuł jest równy nazwie książki lub w wersji: {{Code|Wersja do druku}}, to wtedy funkcja zwraca wartość pustą, a jeżeli została już policzona jego zawartość w postaci aktualnej książki, to funkcja zwraca tą wartość.
Funkcja liczy elementy spisu treści ogólnego spisu treści, jak szablony spisu rzeczy w postaci graficznej: {{s|Spis treści}} i {{s|TOCRamka}}, albo tekstowej: {{s|TOC}}.
Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, jest prawidziwy, wtedy funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica:
<syntaxhighlight lang="lua">
glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str;
</syntaxhighlight>
A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywa, wtedy dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica:
<syntaxhighlight lang="lua">
glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str;
</syntaxhighlight>
{{Hr}}
W obu tworzonych tabelach zależy od parametru, od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty, a pod: {{Code|str}}, jest ukryta zawartość szablonu {{LinkPatrz|StronaSubst-Szablon}}.
==== KsiążkaSubst ====
===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} =====
===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} =====
==== Funkcje analizujące strony zbiorcze lub inne ====
===== {{Śródtytuł|NieFun}}{{Code|NieFun}} =====
===== {{Śródtytuł|TakFun}}{{Code|TakFun}} =====
===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} =====
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
a5wws8izy7tzxan9qtbclakswhft5no
543490
543489
2026-05-19T18:24:39Z
Persino
2851
/* {{Śródtytuł|NieFun}}{{Code|NieFun}} */
543490
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} ==
Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}.
Gdy dany artykuł, jest nie równy: {{Code|Wersja do druku}}, i subnazwie ksiązki {{LinkPatrz|nazwa_artykulu}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun-AnalizaStronaSubst,NieFun-AnalizaStronaSubst,FunRozdzial-AnalizaStronaSubst,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
; Najważniejsze zmienne{{Dk}}
* {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}},
* {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}.
; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}}
* {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}.
; Funkcje{{Dk}}
* {{Code|TakFun-AnalizaStronaSubst}} {{Patrz|TakFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową,
* {{Code|NieFun-AnalizaStronaSubst}} {{Patrz|NieFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa,
* {{Code|FunRozdzial-AnalizaStronaSubst}} {{Patrz|FunRozdzial-AnalizaStronaSubst}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun-AnalizaStronaSubst}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału.
; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}}
* {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy,
* {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka,
* {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły,
* {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki.
A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana.
Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza.
== {{Code|p.LiczOperacjeStronZbiorczych}} ==
Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej.
=== Opis funkcji ===
Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst-Szablon}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst-Szablon}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}.
Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst-Szablon}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}).
Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}},
* {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony,
* {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}},
* {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}},
* {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}},
* {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić.
=== Funkcje lokalne ===
==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ====
Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function CzyStronaSubst()...end;
</syntaxhighlight>
Parametry funkcji:
* Brak parametrów.
Przykład analizy funkcji, podając je właściwie ciało:
<syntaxhighlight lang="lua">
if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then
glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak";
end;
</syntaxhighlight>
==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ====
Funkcja wyszukuje w zakodowanym tekście szablony: {{LinkPatrz|StronaSubst-Szablon}} i {{LinkPatrz|KsiążkaSubst-Szablon}}, przy pomocy: {{linkPatrz|tablica_obiektow_strony_dany_modul_strony}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} {{LinkPatrz|StronaSubst-WoluminSubst}} i {{Code|KsiążkaSubst}} {{LinkPatrz|KsiazkaSubst-WoluminSubst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}},
* {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}},
* {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}},
* {{Code|StronaSubst}} {{Patrz|StronaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst-Szablon}},
* {{Code|KsiazkaSubst}} {{Patrz|KsiazkaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst-Szablon}}.
Przykłady wykorzystania:
<syntaxhighlight lang="lua">
WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
...
StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
end,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
...
p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny));
end
);
</syntaxhighlight>
Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}.
==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ====
Funkcja liczy łańcuch znakowy odpowiadający pojedynczemu wywołaniu, dotyczący danego rozdziału strony zbiorczej, czyli dla pojedynczego wywołania szablonu: {{LinkPatrz|StronaSubst-Szablon}}, lub dla pojedynczego artykułu z wielu generowanych przez szablon: {{LinkPatrz|KsiążkaSubst-Szablon}}. Szablon tworzy rozdział w postaci linku do artykułu, wtedy w tekście rozdziału nie jest podawany adres pełny artykułu, a jeżeli ona nie jest linkiem, to rozdział jest w postaci tekstu, wtedy w tekście rozdziału jest podawany pełny adres artykułu, a jeżeli, mamy włączony postęp, wtedy to jest ukryte właściwością '''CSS''': {{Code|display:none}}.
Rozdział jest pod elementem {{Tag|div|parametry=style="display:block;" class="rozdział_książki"}}, o odpowiednim poziomie, gdy poziom jest {{Code|nil}}, to wtedy przyjmuje on domyślną wartość {{Code|1}}, tworzonym przez funkcję: {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}. Następnym elementem jest postęp, pod warunkiem, jeżeli ustawiono zmienną: {{Code|postep}}, a dalej w osobnym: {{Tag|div|parametry=class="strona_subst"}}, jest zawartość rozdziału w postaci naszego adresu, lub w postaci wartości pustej, gdy rozdział jest linkiem według ustawień funkcji: {{LinkŚródtytuł|StronaSubst}}, a więc i w przypadku szablonu: {{LinkPatrz|StronaSubst-Szablon}}, gdy ta funkcja została wywołana przez niego.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function StronaSubstParametr(strona,naglowek_strony,link,p,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|strona}} {{Patrz|strona-StronaSubstParametr}} - jak w: {{LinkPatrz|1-StronaSubst}},
* {{Code|naglowek_strony}} {{Patrz|naglowek_strony-StronaSubstParametr}} - nagłówek strony tworzony z pełnego adresu strony, który jest podstroną wraz z nagłówkiem,
* {{Code|link}} {{Patrz|link-StronaSubstParametr}} - jak w: {{LinkPatrz|link-StronaSubst}}, tylko ta zmienna jest w postaci logicznej, jak ta ostatnia jest niepusta, wtedy ta zmienna odpowiada wartości logicznej prawda, w przeciwnym wypadku mamy fałsz,
* {{Code|p}} {{Patrz|p-StronaSubstParametr}} - postęp tworzonego nagłówka, jeżeli {{Code|p {{=}} nil}}, wtedy domyślny poziom jest 1, ten poziom jest liczba calkowitą dodatnią,
* {{Code|postep}} {{Patrz|postep-StronaSubstParametr}} - jak w: {{LinkPatrz|postep-StronaSubst}}, z wartością logiczną jest jak w: {{LinkPatrz|link-StronaSubstParametr}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ====
==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ====
==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ====
==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ====
==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ====
Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst-Szablon}}, na danym artykule, w książce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej, przy pomocy zmiennych nazw pod warunkiem, gdy mamy argument: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywy, wtedy zbieramy parametry różnych książek dla strony zbiorczej ustawionej za pomocą parametrów pudełkowych, w innym przypadku parametry strony zbiorczej należącego do aktualnej książki. Też możemy liczyć parametry stron zbiorczych z poziomu innych stron przy pomocy parametrów pudełkowych.
Funkcja korzysta z: {{LinkŚródtytuł|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_paStronaSubstInnerametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst-Szablon}},
* {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki,
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}:
* {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki,
* {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem,
* {{Code|postep}} {{Patrz|postep-StronaSubst}} - uruchamia postęp zamiast wyświetlania tekstu linku w postaci pełnego adresu strony, ewentualnie z nagłówkiem, kiedy nagłówek nie jest linkiem do artykułu strony, a gdy jest link według {{LinkPatrz|link-StronaSubst}}, to wtedy tylko wyświetli się postęp.
Gdy artykuł jest równy nazwie książki lub w wersji: {{Code|Wersja do druku}}, to wtedy funkcja zwraca wartość pustą, a jeżeli została już policzona jego zawartość w postaci aktualnej książki, to funkcja zwraca tą wartość.
Funkcja liczy elementy spisu treści ogólnego spisu treści, jak szablony spisu rzeczy w postaci graficznej: {{s|Spis treści}} i {{s|TOCRamka}}, albo tekstowej: {{s|TOC}}.
Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, jest prawidziwy, wtedy funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica:
<syntaxhighlight lang="lua">
glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str;
</syntaxhighlight>
A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywa, wtedy dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica:
<syntaxhighlight lang="lua">
glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str;
</syntaxhighlight>
{{Hr}}
W obu tworzonych tabelach zależy od parametru, od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty, a pod: {{Code|str}}, jest ukryta zawartość szablonu {{LinkPatrz|StronaSubst-Szablon}}.
==== KsiążkaSubst ====
===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} =====
===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} =====
==== Funkcje analizujące strony zbiorcze lub inne ====
===== {{Śródtytuł|NieFun}}{{Code|NieFun}} =====
Jest to funkcja zwracająca funkcję, która to z kolei zwraca zawsze wartość pustą.
Definicja poglądowa funkcji:
<syntaxhighlight lang="lua">
local NieFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)
return function(parametr) return "";end;
end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_parametrow_szablonu}} - tabela parametrów szablonu: {{LinkPatrz|KsiążkaSubst-Szablon}},
* {{Code|nazwa_szablonu}} - nazwa tego szablonu,
* {{Code|tabela_modyfikatorow}} - tabela jego modyfikatorów,
* {{Code|czy_artykul_aktualny}} - czy dotyczy aktualnej strony na stronie zbiorczej.
Parametry funkcji zwracanej:
* {{Code|parametr}} - jest to dowolny parametr, w: {{Code|{{ld2|StronicowyParser/StronaSubst}}}}, przyjmuje wartość: {{Code|nil}}.
===== {{Śródtytuł|TakFun}}{{Code|TakFun}} =====
===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} =====
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
7fh1tsbno7a0nr09e50ljbskyown6p8
543491
543490
2026-05-19T18:25:44Z
Persino
2851
/* {{Śródtytuł|NieFun}}{{Code|NieFun}} */
543491
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} ==
Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}.
Gdy dany artykuł, jest nie równy: {{Code|Wersja do druku}}, i subnazwie ksiązki {{LinkPatrz|nazwa_artykulu}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun-AnalizaStronaSubst,NieFun-AnalizaStronaSubst,FunRozdzial-AnalizaStronaSubst,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
; Najważniejsze zmienne{{Dk}}
* {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}},
* {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}.
; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}}
* {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}.
; Funkcje{{Dk}}
* {{Code|TakFun-AnalizaStronaSubst}} {{Patrz|TakFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową,
* {{Code|NieFun-AnalizaStronaSubst}} {{Patrz|NieFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa,
* {{Code|FunRozdzial-AnalizaStronaSubst}} {{Patrz|FunRozdzial-AnalizaStronaSubst}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun-AnalizaStronaSubst}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału.
; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}}
* {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy,
* {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka,
* {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły,
* {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki.
A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana.
Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza.
== {{Code|p.LiczOperacjeStronZbiorczych}} ==
Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej.
=== Opis funkcji ===
Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst-Szablon}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst-Szablon}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}.
Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst-Szablon}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}).
Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}},
* {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony,
* {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}},
* {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}},
* {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}},
* {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić.
=== Funkcje lokalne ===
==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ====
Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function CzyStronaSubst()...end;
</syntaxhighlight>
Parametry funkcji:
* Brak parametrów.
Przykład analizy funkcji, podając je właściwie ciało:
<syntaxhighlight lang="lua">
if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then
glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak";
end;
</syntaxhighlight>
==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ====
Funkcja wyszukuje w zakodowanym tekście szablony: {{LinkPatrz|StronaSubst-Szablon}} i {{LinkPatrz|KsiążkaSubst-Szablon}}, przy pomocy: {{linkPatrz|tablica_obiektow_strony_dany_modul_strony}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} {{LinkPatrz|StronaSubst-WoluminSubst}} i {{Code|KsiążkaSubst}} {{LinkPatrz|KsiazkaSubst-WoluminSubst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}},
* {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}},
* {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}},
* {{Code|StronaSubst}} {{Patrz|StronaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst-Szablon}},
* {{Code|KsiazkaSubst}} {{Patrz|KsiazkaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst-Szablon}}.
Przykłady wykorzystania:
<syntaxhighlight lang="lua">
WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
...
StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
end,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
...
p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny));
end
);
</syntaxhighlight>
Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}.
==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ====
Funkcja liczy łańcuch znakowy odpowiadający pojedynczemu wywołaniu, dotyczący danego rozdziału strony zbiorczej, czyli dla pojedynczego wywołania szablonu: {{LinkPatrz|StronaSubst-Szablon}}, lub dla pojedynczego artykułu z wielu generowanych przez szablon: {{LinkPatrz|KsiążkaSubst-Szablon}}. Szablon tworzy rozdział w postaci linku do artykułu, wtedy w tekście rozdziału nie jest podawany adres pełny artykułu, a jeżeli ona nie jest linkiem, to rozdział jest w postaci tekstu, wtedy w tekście rozdziału jest podawany pełny adres artykułu, a jeżeli, mamy włączony postęp, wtedy to jest ukryte właściwością '''CSS''': {{Code|display:none}}.
Rozdział jest pod elementem {{Tag|div|parametry=style="display:block;" class="rozdział_książki"}}, o odpowiednim poziomie, gdy poziom jest {{Code|nil}}, to wtedy przyjmuje on domyślną wartość {{Code|1}}, tworzonym przez funkcję: {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}. Następnym elementem jest postęp, pod warunkiem, jeżeli ustawiono zmienną: {{Code|postep}}, a dalej w osobnym: {{Tag|div|parametry=class="strona_subst"}}, jest zawartość rozdziału w postaci naszego adresu, lub w postaci wartości pustej, gdy rozdział jest linkiem według ustawień funkcji: {{LinkŚródtytuł|StronaSubst}}, a więc i w przypadku szablonu: {{LinkPatrz|StronaSubst-Szablon}}, gdy ta funkcja została wywołana przez niego.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function StronaSubstParametr(strona,naglowek_strony,link,p,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|strona}} {{Patrz|strona-StronaSubstParametr}} - jak w: {{LinkPatrz|1-StronaSubst}},
* {{Code|naglowek_strony}} {{Patrz|naglowek_strony-StronaSubstParametr}} - nagłówek strony tworzony z pełnego adresu strony, który jest podstroną wraz z nagłówkiem,
* {{Code|link}} {{Patrz|link-StronaSubstParametr}} - jak w: {{LinkPatrz|link-StronaSubst}}, tylko ta zmienna jest w postaci logicznej, jak ta ostatnia jest niepusta, wtedy ta zmienna odpowiada wartości logicznej prawda, w przeciwnym wypadku mamy fałsz,
* {{Code|p}} {{Patrz|p-StronaSubstParametr}} - postęp tworzonego nagłówka, jeżeli {{Code|p {{=}} nil}}, wtedy domyślny poziom jest 1, ten poziom jest liczba calkowitą dodatnią,
* {{Code|postep}} {{Patrz|postep-StronaSubstParametr}} - jak w: {{LinkPatrz|postep-StronaSubst}}, z wartością logiczną jest jak w: {{LinkPatrz|link-StronaSubstParametr}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ====
==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ====
==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ====
==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ====
==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ====
Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst-Szablon}}, na danym artykule, w książce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej, przy pomocy zmiennych nazw pod warunkiem, gdy mamy argument: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywy, wtedy zbieramy parametry różnych książek dla strony zbiorczej ustawionej za pomocą parametrów pudełkowych, w innym przypadku parametry strony zbiorczej należącego do aktualnej książki. Też możemy liczyć parametry stron zbiorczych z poziomu innych stron przy pomocy parametrów pudełkowych.
Funkcja korzysta z: {{LinkŚródtytuł|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_paStronaSubstInnerametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst-Szablon}},
* {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki,
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}:
* {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki,
* {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem,
* {{Code|postep}} {{Patrz|postep-StronaSubst}} - uruchamia postęp zamiast wyświetlania tekstu linku w postaci pełnego adresu strony, ewentualnie z nagłówkiem, kiedy nagłówek nie jest linkiem do artykułu strony, a gdy jest link według {{LinkPatrz|link-StronaSubst}}, to wtedy tylko wyświetli się postęp.
Gdy artykuł jest równy nazwie książki lub w wersji: {{Code|Wersja do druku}}, to wtedy funkcja zwraca wartość pustą, a jeżeli została już policzona jego zawartość w postaci aktualnej książki, to funkcja zwraca tą wartość.
Funkcja liczy elementy spisu treści ogólnego spisu treści, jak szablony spisu rzeczy w postaci graficznej: {{s|Spis treści}} i {{s|TOCRamka}}, albo tekstowej: {{s|TOC}}.
Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, jest prawidziwy, wtedy funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica:
<syntaxhighlight lang="lua">
glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str;
</syntaxhighlight>
A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywa, wtedy dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica:
<syntaxhighlight lang="lua">
glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str;
</syntaxhighlight>
{{Hr}}
W obu tworzonych tabelach zależy od parametru, od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty, a pod: {{Code|str}}, jest ukryta zawartość szablonu {{LinkPatrz|StronaSubst-Szablon}}.
==== KsiążkaSubst ====
===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} =====
===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} =====
==== Funkcje analizujące strony zbiorcze lub inne ====
===== {{Śródtytuł|NieFun}}{{Code|NieFun}} =====
Jest to funkcja zwracająca funkcję, która to z kolei zwraca zawsze wartość pustą.
Definicja poglądowa funkcji:
<syntaxhighlight lang="lua">
local NieFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)
return function(parametr) return "";end;
end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_parametrow_szablonu}} - tabela parametrów szablonu: {{LinkPatrz|KsiążkaSubst-Szablon}},
* {{Code|nazwa_szablonu}} - nazwa tego szablonu,
* {{Code|tabela_modyfikatorow}} - tabela jego modyfikatorów,
* {{Code|czy_artykul_aktualny}} - czy dotyczy aktualnej książki, a więc artykułu, na stronie zbiorczej tego woluminu.
Parametry funkcji zwracanej:
* {{Code|parametr}} - jest to dowolny parametr, w: {{Code|{{ld2|StronicowyParser/StronaSubst}}}}, przyjmuje wartość: {{Code|nil}}.
===== {{Śródtytuł|TakFun}}{{Code|TakFun}} =====
===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} =====
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
rq17i4xibi5y4ocbg909e4duo2hjodj
543492
543491
2026-05-19T18:28:15Z
Persino
2851
/* {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} */
543492
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} ==
Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}.
Gdy dany artykuł, jest nie równy: {{Code|Wersja do druku}}, i subnazwie ksiązki {{LinkPatrz|nazwa_artykulu}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun-AnalizaStronaSubst,NieFun-AnalizaStronaSubst,FunRozdzial-AnalizaStronaSubst,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
; Najważniejsze zmienne{{Dk}}
* {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}},
* {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}.
; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}}
* {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}.
; Funkcje{{Dk}}
* {{Code|TakFun}} {{Patrz|TakFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową,
* {{Code|NieFun}} {{Patrz|NieFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa,
* {{Code|FunRozdzial}} {{Patrz|FunRozdzial-AnalizaStronaSubst}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun-AnalizaStronaSubst}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału.
; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}}
* {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy,
* {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka,
* {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły,
* {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki.
A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana.
Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza.
== {{Code|p.LiczOperacjeStronZbiorczych}} ==
Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej.
=== Opis funkcji ===
Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst-Szablon}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst-Szablon}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}.
Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst-Szablon}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}).
Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}},
* {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony,
* {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}},
* {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}},
* {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}},
* {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić.
=== Funkcje lokalne ===
==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ====
Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function CzyStronaSubst()...end;
</syntaxhighlight>
Parametry funkcji:
* Brak parametrów.
Przykład analizy funkcji, podając je właściwie ciało:
<syntaxhighlight lang="lua">
if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then
glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak";
end;
</syntaxhighlight>
==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ====
Funkcja wyszukuje w zakodowanym tekście szablony: {{LinkPatrz|StronaSubst-Szablon}} i {{LinkPatrz|KsiążkaSubst-Szablon}}, przy pomocy: {{linkPatrz|tablica_obiektow_strony_dany_modul_strony}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} {{LinkPatrz|StronaSubst-WoluminSubst}} i {{Code|KsiążkaSubst}} {{LinkPatrz|KsiazkaSubst-WoluminSubst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}},
* {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}},
* {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}},
* {{Code|StronaSubst}} {{Patrz|StronaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst-Szablon}},
* {{Code|KsiazkaSubst}} {{Patrz|KsiazkaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst-Szablon}}.
Przykłady wykorzystania:
<syntaxhighlight lang="lua">
WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
...
StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
end,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
...
p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny));
end
);
</syntaxhighlight>
Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}.
==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ====
Funkcja liczy łańcuch znakowy odpowiadający pojedynczemu wywołaniu, dotyczący danego rozdziału strony zbiorczej, czyli dla pojedynczego wywołania szablonu: {{LinkPatrz|StronaSubst-Szablon}}, lub dla pojedynczego artykułu z wielu generowanych przez szablon: {{LinkPatrz|KsiążkaSubst-Szablon}}. Szablon tworzy rozdział w postaci linku do artykułu, wtedy w tekście rozdziału nie jest podawany adres pełny artykułu, a jeżeli ona nie jest linkiem, to rozdział jest w postaci tekstu, wtedy w tekście rozdziału jest podawany pełny adres artykułu, a jeżeli, mamy włączony postęp, wtedy to jest ukryte właściwością '''CSS''': {{Code|display:none}}.
Rozdział jest pod elementem {{Tag|div|parametry=style="display:block;" class="rozdział_książki"}}, o odpowiednim poziomie, gdy poziom jest {{Code|nil}}, to wtedy przyjmuje on domyślną wartość {{Code|1}}, tworzonym przez funkcję: {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}. Następnym elementem jest postęp, pod warunkiem, jeżeli ustawiono zmienną: {{Code|postep}}, a dalej w osobnym: {{Tag|div|parametry=class="strona_subst"}}, jest zawartość rozdziału w postaci naszego adresu, lub w postaci wartości pustej, gdy rozdział jest linkiem według ustawień funkcji: {{LinkŚródtytuł|StronaSubst}}, a więc i w przypadku szablonu: {{LinkPatrz|StronaSubst-Szablon}}, gdy ta funkcja została wywołana przez niego.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function StronaSubstParametr(strona,naglowek_strony,link,p,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|strona}} {{Patrz|strona-StronaSubstParametr}} - jak w: {{LinkPatrz|1-StronaSubst}},
* {{Code|naglowek_strony}} {{Patrz|naglowek_strony-StronaSubstParametr}} - nagłówek strony tworzony z pełnego adresu strony, który jest podstroną wraz z nagłówkiem,
* {{Code|link}} {{Patrz|link-StronaSubstParametr}} - jak w: {{LinkPatrz|link-StronaSubst}}, tylko ta zmienna jest w postaci logicznej, jak ta ostatnia jest niepusta, wtedy ta zmienna odpowiada wartości logicznej prawda, w przeciwnym wypadku mamy fałsz,
* {{Code|p}} {{Patrz|p-StronaSubstParametr}} - postęp tworzonego nagłówka, jeżeli {{Code|p {{=}} nil}}, wtedy domyślny poziom jest 1, ten poziom jest liczba calkowitą dodatnią,
* {{Code|postep}} {{Patrz|postep-StronaSubstParametr}} - jak w: {{LinkPatrz|postep-StronaSubst}}, z wartością logiczną jest jak w: {{LinkPatrz|link-StronaSubstParametr}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ====
==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ====
==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ====
==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ====
==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ====
Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst-Szablon}}, na danym artykule, w książce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej, przy pomocy zmiennych nazw pod warunkiem, gdy mamy argument: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywy, wtedy zbieramy parametry różnych książek dla strony zbiorczej ustawionej za pomocą parametrów pudełkowych, w innym przypadku parametry strony zbiorczej należącego do aktualnej książki. Też możemy liczyć parametry stron zbiorczych z poziomu innych stron przy pomocy parametrów pudełkowych.
Funkcja korzysta z: {{LinkŚródtytuł|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_paStronaSubstInnerametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst-Szablon}},
* {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki,
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}:
* {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki,
* {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem,
* {{Code|postep}} {{Patrz|postep-StronaSubst}} - uruchamia postęp zamiast wyświetlania tekstu linku w postaci pełnego adresu strony, ewentualnie z nagłówkiem, kiedy nagłówek nie jest linkiem do artykułu strony, a gdy jest link według {{LinkPatrz|link-StronaSubst}}, to wtedy tylko wyświetli się postęp.
Gdy artykuł jest równy nazwie książki lub w wersji: {{Code|Wersja do druku}}, to wtedy funkcja zwraca wartość pustą, a jeżeli została już policzona jego zawartość w postaci aktualnej książki, to funkcja zwraca tą wartość.
Funkcja liczy elementy spisu treści ogólnego spisu treści, jak szablony spisu rzeczy w postaci graficznej: {{s|Spis treści}} i {{s|TOCRamka}}, albo tekstowej: {{s|TOC}}.
Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, jest prawidziwy, wtedy funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica:
<syntaxhighlight lang="lua">
glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str;
</syntaxhighlight>
A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywa, wtedy dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica:
<syntaxhighlight lang="lua">
glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str;
</syntaxhighlight>
{{Hr}}
W obu tworzonych tabelach zależy od parametru, od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty, a pod: {{Code|str}}, jest ukryta zawartość szablonu {{LinkPatrz|StronaSubst-Szablon}}.
==== KsiążkaSubst ====
===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} =====
===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} =====
==== Funkcje analizujące strony zbiorcze lub inne ====
===== {{Śródtytuł|NieFun}}{{Code|NieFun}} =====
Jest to funkcja zwracająca funkcję, która to z kolei zwraca zawsze wartość pustą.
Definicja poglądowa funkcji:
<syntaxhighlight lang="lua">
local NieFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)
return function(parametr) return "";end;
end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_parametrow_szablonu}} - tabela parametrów szablonu: {{LinkPatrz|KsiążkaSubst-Szablon}},
* {{Code|nazwa_szablonu}} - nazwa tego szablonu,
* {{Code|tabela_modyfikatorow}} - tabela jego modyfikatorów,
* {{Code|czy_artykul_aktualny}} - czy dotyczy aktualnej książki, a więc artykułu, na stronie zbiorczej tego woluminu.
Parametry funkcji zwracanej:
* {{Code|parametr}} - jest to dowolny parametr, w: {{Code|{{ld2|StronicowyParser/StronaSubst}}}}, przyjmuje wartość: {{Code|nil}}.
===== {{Śródtytuł|TakFun}}{{Code|TakFun}} =====
===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} =====
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
qsxfgx1m452ywguou0vlnmu030pfc1q
543493
543492
2026-05-19T18:29:55Z
Persino
2851
/* {{Śródtytuł|NieFun}}{{Code|NieFun}} */
543493
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} ==
Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}.
Gdy dany artykuł, jest nie równy: {{Code|Wersja do druku}}, i subnazwie ksiązki {{LinkPatrz|nazwa_artykulu}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun-AnalizaStronaSubst,NieFun-AnalizaStronaSubst,FunRozdzial-AnalizaStronaSubst,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
; Najważniejsze zmienne{{Dk}}
* {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}},
* {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}.
; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}}
* {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}.
; Funkcje{{Dk}}
* {{Code|TakFun}} {{Patrz|TakFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową,
* {{Code|NieFun}} {{Patrz|NieFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa,
* {{Code|FunRozdzial}} {{Patrz|FunRozdzial-AnalizaStronaSubst}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun-AnalizaStronaSubst}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału.
; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}}
* {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy,
* {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka,
* {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły,
* {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki.
A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana.
Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza.
== {{Code|p.LiczOperacjeStronZbiorczych}} ==
Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej.
=== Opis funkcji ===
Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst-Szablon}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst-Szablon}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}.
Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst-Szablon}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}).
Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}},
* {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony,
* {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}},
* {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}},
* {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}},
* {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić.
=== Funkcje lokalne ===
==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ====
Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function CzyStronaSubst()...end;
</syntaxhighlight>
Parametry funkcji:
* Brak parametrów.
Przykład analizy funkcji, podając je właściwie ciało:
<syntaxhighlight lang="lua">
if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then
glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak";
end;
</syntaxhighlight>
==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ====
Funkcja wyszukuje w zakodowanym tekście szablony: {{LinkPatrz|StronaSubst-Szablon}} i {{LinkPatrz|KsiążkaSubst-Szablon}}, przy pomocy: {{linkPatrz|tablica_obiektow_strony_dany_modul_strony}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} {{LinkPatrz|StronaSubst-WoluminSubst}} i {{Code|KsiążkaSubst}} {{LinkPatrz|KsiazkaSubst-WoluminSubst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}},
* {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}},
* {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}},
* {{Code|StronaSubst}} {{Patrz|StronaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst-Szablon}},
* {{Code|KsiazkaSubst}} {{Patrz|KsiazkaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst-Szablon}}.
Przykłady wykorzystania:
<syntaxhighlight lang="lua">
WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
...
StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
end,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
...
p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny));
end
);
</syntaxhighlight>
Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}.
==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ====
Funkcja liczy łańcuch znakowy odpowiadający pojedynczemu wywołaniu, dotyczący danego rozdziału strony zbiorczej, czyli dla pojedynczego wywołania szablonu: {{LinkPatrz|StronaSubst-Szablon}}, lub dla pojedynczego artykułu z wielu generowanych przez szablon: {{LinkPatrz|KsiążkaSubst-Szablon}}. Szablon tworzy rozdział w postaci linku do artykułu, wtedy w tekście rozdziału nie jest podawany adres pełny artykułu, a jeżeli ona nie jest linkiem, to rozdział jest w postaci tekstu, wtedy w tekście rozdziału jest podawany pełny adres artykułu, a jeżeli, mamy włączony postęp, wtedy to jest ukryte właściwością '''CSS''': {{Code|display:none}}.
Rozdział jest pod elementem {{Tag|div|parametry=style="display:block;" class="rozdział_książki"}}, o odpowiednim poziomie, gdy poziom jest {{Code|nil}}, to wtedy przyjmuje on domyślną wartość {{Code|1}}, tworzonym przez funkcję: {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}. Następnym elementem jest postęp, pod warunkiem, jeżeli ustawiono zmienną: {{Code|postep}}, a dalej w osobnym: {{Tag|div|parametry=class="strona_subst"}}, jest zawartość rozdziału w postaci naszego adresu, lub w postaci wartości pustej, gdy rozdział jest linkiem według ustawień funkcji: {{LinkŚródtytuł|StronaSubst}}, a więc i w przypadku szablonu: {{LinkPatrz|StronaSubst-Szablon}}, gdy ta funkcja została wywołana przez niego.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function StronaSubstParametr(strona,naglowek_strony,link,p,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|strona}} {{Patrz|strona-StronaSubstParametr}} - jak w: {{LinkPatrz|1-StronaSubst}},
* {{Code|naglowek_strony}} {{Patrz|naglowek_strony-StronaSubstParametr}} - nagłówek strony tworzony z pełnego adresu strony, który jest podstroną wraz z nagłówkiem,
* {{Code|link}} {{Patrz|link-StronaSubstParametr}} - jak w: {{LinkPatrz|link-StronaSubst}}, tylko ta zmienna jest w postaci logicznej, jak ta ostatnia jest niepusta, wtedy ta zmienna odpowiada wartości logicznej prawda, w przeciwnym wypadku mamy fałsz,
* {{Code|p}} {{Patrz|p-StronaSubstParametr}} - postęp tworzonego nagłówka, jeżeli {{Code|p {{=}} nil}}, wtedy domyślny poziom jest 1, ten poziom jest liczba calkowitą dodatnią,
* {{Code|postep}} {{Patrz|postep-StronaSubstParametr}} - jak w: {{LinkPatrz|postep-StronaSubst}}, z wartością logiczną jest jak w: {{LinkPatrz|link-StronaSubstParametr}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ====
==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ====
==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ====
==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ====
==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ====
Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst-Szablon}}, na danym artykule, w książce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej, przy pomocy zmiennych nazw pod warunkiem, gdy mamy argument: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywy, wtedy zbieramy parametry różnych książek dla strony zbiorczej ustawionej za pomocą parametrów pudełkowych, w innym przypadku parametry strony zbiorczej należącego do aktualnej książki. Też możemy liczyć parametry stron zbiorczych z poziomu innych stron przy pomocy parametrów pudełkowych.
Funkcja korzysta z: {{LinkŚródtytuł|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_paStronaSubstInnerametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst-Szablon}},
* {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki,
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}:
* {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki,
* {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem,
* {{Code|postep}} {{Patrz|postep-StronaSubst}} - uruchamia postęp zamiast wyświetlania tekstu linku w postaci pełnego adresu strony, ewentualnie z nagłówkiem, kiedy nagłówek nie jest linkiem do artykułu strony, a gdy jest link według {{LinkPatrz|link-StronaSubst}}, to wtedy tylko wyświetli się postęp.
Gdy artykuł jest równy nazwie książki lub w wersji: {{Code|Wersja do druku}}, to wtedy funkcja zwraca wartość pustą, a jeżeli została już policzona jego zawartość w postaci aktualnej książki, to funkcja zwraca tą wartość.
Funkcja liczy elementy spisu treści ogólnego spisu treści, jak szablony spisu rzeczy w postaci graficznej: {{s|Spis treści}} i {{s|TOCRamka}}, albo tekstowej: {{s|TOC}}.
Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, jest prawidziwy, wtedy funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica:
<syntaxhighlight lang="lua">
glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str;
</syntaxhighlight>
A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywa, wtedy dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica:
<syntaxhighlight lang="lua">
glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str;
</syntaxhighlight>
{{Hr}}
W obu tworzonych tabelach zależy od parametru, od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty, a pod: {{Code|str}}, jest ukryta zawartość szablonu {{LinkPatrz|StronaSubst-Szablon}}.
==== KsiążkaSubst ====
===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} =====
===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} =====
==== Funkcje analizujące strony zbiorcze lub inne ====
===== {{Śródtytuł|NieFun}}{{Code|NieFun}} =====
Jest to funkcja zwracająca funkcję, która to z kolei zwraca zawsze wartość pustą. Funkcja zwracana jest to funkcja: {{LinkPatrz|NieFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}.
Definicja poglądowa funkcji:
<syntaxhighlight lang="lua">
local NieFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)
return function(parametr) return "";end;
end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_parametrow_szablonu}} - tabela parametrów szablonu: {{LinkPatrz|KsiążkaSubst-Szablon}},
* {{Code|nazwa_szablonu}} - nazwa tego szablonu,
* {{Code|tabela_modyfikatorow}} - tabela jego modyfikatorów,
* {{Code|czy_artykul_aktualny}} - czy dotyczy aktualnej książki, a więc artykułu, na stronie zbiorczej tego woluminu.
Parametry funkcji zwracanej:
* {{Code|parametr}} - jest to dowolny parametr, w: {{Code|{{ld2|StronicowyParser/StronaSubst}}}}, przyjmuje wartość: {{Code|nil}}.
===== {{Śródtytuł|TakFun}}{{Code|TakFun}} =====
===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} =====
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
id4wjbs7cvb9czl4j5za1geoa64ooe0
543494
543493
2026-05-19T18:36:35Z
Persino
2851
/* {{Śródtytuł|NieFun}}{{Code|NieFun}} */
543494
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} ==
Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}.
Gdy dany artykuł, jest nie równy: {{Code|Wersja do druku}}, i subnazwie ksiązki {{LinkPatrz|nazwa_artykulu}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun-AnalizaStronaSubst,NieFun-AnalizaStronaSubst,FunRozdzial-AnalizaStronaSubst,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
; Najważniejsze zmienne{{Dk}}
* {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}},
* {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}.
; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}}
* {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}.
; Funkcje{{Dk}}
* {{Code|TakFun}} {{Patrz|TakFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową,
* {{Code|NieFun}} {{Patrz|NieFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa,
* {{Code|FunRozdzial}} {{Patrz|FunRozdzial-AnalizaStronaSubst}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun-AnalizaStronaSubst}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału.
; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}}
* {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy,
* {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka,
* {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły,
* {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki.
A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana.
Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza.
== {{Code|p.LiczOperacjeStronZbiorczych}} ==
Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej.
=== Opis funkcji ===
Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst-Szablon}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst-Szablon}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}.
Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst-Szablon}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}).
Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}},
* {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony,
* {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}},
* {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}},
* {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}},
* {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić.
=== Funkcje lokalne ===
==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ====
Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function CzyStronaSubst()...end;
</syntaxhighlight>
Parametry funkcji:
* Brak parametrów.
Przykład analizy funkcji, podając je właściwie ciało:
<syntaxhighlight lang="lua">
if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then
glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak";
end;
</syntaxhighlight>
==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ====
Funkcja wyszukuje w zakodowanym tekście szablony: {{LinkPatrz|StronaSubst-Szablon}} i {{LinkPatrz|KsiążkaSubst-Szablon}}, przy pomocy: {{linkPatrz|tablica_obiektow_strony_dany_modul_strony}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} {{LinkPatrz|StronaSubst-WoluminSubst}} i {{Code|KsiążkaSubst}} {{LinkPatrz|KsiazkaSubst-WoluminSubst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}},
* {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}},
* {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}},
* {{Code|StronaSubst}} {{Patrz|StronaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst-Szablon}},
* {{Code|KsiazkaSubst}} {{Patrz|KsiazkaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst-Szablon}}.
Przykłady wykorzystania:
<syntaxhighlight lang="lua">
WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
...
StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
end,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
...
p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny));
end
);
</syntaxhighlight>
Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}.
==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ====
Funkcja liczy łańcuch znakowy odpowiadający pojedynczemu wywołaniu, dotyczący danego rozdziału strony zbiorczej, czyli dla pojedynczego wywołania szablonu: {{LinkPatrz|StronaSubst-Szablon}}, lub dla pojedynczego artykułu z wielu generowanych przez szablon: {{LinkPatrz|KsiążkaSubst-Szablon}}. Szablon tworzy rozdział w postaci linku do artykułu, wtedy w tekście rozdziału nie jest podawany adres pełny artykułu, a jeżeli ona nie jest linkiem, to rozdział jest w postaci tekstu, wtedy w tekście rozdziału jest podawany pełny adres artykułu, a jeżeli, mamy włączony postęp, wtedy to jest ukryte właściwością '''CSS''': {{Code|display:none}}.
Rozdział jest pod elementem {{Tag|div|parametry=style="display:block;" class="rozdział_książki"}}, o odpowiednim poziomie, gdy poziom jest {{Code|nil}}, to wtedy przyjmuje on domyślną wartość {{Code|1}}, tworzonym przez funkcję: {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}. Następnym elementem jest postęp, pod warunkiem, jeżeli ustawiono zmienną: {{Code|postep}}, a dalej w osobnym: {{Tag|div|parametry=class="strona_subst"}}, jest zawartość rozdziału w postaci naszego adresu, lub w postaci wartości pustej, gdy rozdział jest linkiem według ustawień funkcji: {{LinkŚródtytuł|StronaSubst}}, a więc i w przypadku szablonu: {{LinkPatrz|StronaSubst-Szablon}}, gdy ta funkcja została wywołana przez niego.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function StronaSubstParametr(strona,naglowek_strony,link,p,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|strona}} {{Patrz|strona-StronaSubstParametr}} - jak w: {{LinkPatrz|1-StronaSubst}},
* {{Code|naglowek_strony}} {{Patrz|naglowek_strony-StronaSubstParametr}} - nagłówek strony tworzony z pełnego adresu strony, który jest podstroną wraz z nagłówkiem,
* {{Code|link}} {{Patrz|link-StronaSubstParametr}} - jak w: {{LinkPatrz|link-StronaSubst}}, tylko ta zmienna jest w postaci logicznej, jak ta ostatnia jest niepusta, wtedy ta zmienna odpowiada wartości logicznej prawda, w przeciwnym wypadku mamy fałsz,
* {{Code|p}} {{Patrz|p-StronaSubstParametr}} - postęp tworzonego nagłówka, jeżeli {{Code|p {{=}} nil}}, wtedy domyślny poziom jest 1, ten poziom jest liczba calkowitą dodatnią,
* {{Code|postep}} {{Patrz|postep-StronaSubstParametr}} - jak w: {{LinkPatrz|postep-StronaSubst}}, z wartością logiczną jest jak w: {{LinkPatrz|link-StronaSubstParametr}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ====
==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ====
==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ====
==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ====
==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ====
Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst-Szablon}}, na danym artykule, w książce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej, przy pomocy zmiennych nazw pod warunkiem, gdy mamy argument: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywy, wtedy zbieramy parametry różnych książek dla strony zbiorczej ustawionej za pomocą parametrów pudełkowych, w innym przypadku parametry strony zbiorczej należącego do aktualnej książki. Też możemy liczyć parametry stron zbiorczych z poziomu innych stron przy pomocy parametrów pudełkowych.
Funkcja korzysta z: {{LinkŚródtytuł|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_paStronaSubstInnerametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst-Szablon}},
* {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki,
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}:
* {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki,
* {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem,
* {{Code|postep}} {{Patrz|postep-StronaSubst}} - uruchamia postęp zamiast wyświetlania tekstu linku w postaci pełnego adresu strony, ewentualnie z nagłówkiem, kiedy nagłówek nie jest linkiem do artykułu strony, a gdy jest link według {{LinkPatrz|link-StronaSubst}}, to wtedy tylko wyświetli się postęp.
Gdy artykuł jest równy nazwie książki lub w wersji: {{Code|Wersja do druku}}, to wtedy funkcja zwraca wartość pustą, a jeżeli została już policzona jego zawartość w postaci aktualnej książki, to funkcja zwraca tą wartość.
Funkcja liczy elementy spisu treści ogólnego spisu treści, jak szablony spisu rzeczy w postaci graficznej: {{s|Spis treści}} i {{s|TOCRamka}}, albo tekstowej: {{s|TOC}}.
Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, jest prawidziwy, wtedy funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica:
<syntaxhighlight lang="lua">
glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str;
</syntaxhighlight>
A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywa, wtedy dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica:
<syntaxhighlight lang="lua">
glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str;
</syntaxhighlight>
{{Hr}}
W obu tworzonych tabelach zależy od parametru, od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty, a pod: {{Code|str}}, jest ukryta zawartość szablonu {{LinkPatrz|StronaSubst-Szablon}}.
==== KsiążkaSubst ====
===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} =====
===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} =====
==== Funkcje analizujące strony zbiorcze lub inne ====
===== {{Śródtytuł|NieFun}}{{Code|NieFun}} =====
Jest to funkcja zwracająca inną funkcję, która to z kolei zwraca zawsze wartość pustą. Funkcja zwracana jest to funkcja: {{LinkPatrz|NieFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}.
Definicja poglądowa funkcji:
<syntaxhighlight lang="lua">
local NieFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)
return function(parametr) return "";end;
end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_parametrow_szablonu}} - tabela parametrów szablonu: {{LinkPatrz|KsiążkaSubst-Szablon}},
* {{Code|nazwa_szablonu}} - nazwa tego szablonu,
* {{Code|tabela_modyfikatorow}} - tabela jego modyfikatorów,
* {{Code|czy_artykul_aktualny}} - czy dotyczy aktualnej książki, a więc artykułu, na stronie zbiorczej tego woluminu.
Parametry funkcji zwracanej:
* {{Code|parametr}} - jest to dowolny parametr, w: {{Code|{{ld2|StronicowyParser/StronaSubst}}}}, przyjmuje wartość: {{Code|nil}}.
===== {{Śródtytuł|TakFun}}{{Code|TakFun}} =====
===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} =====
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
mm2ydcc9rtyrbjwbuatniedvzvuqam6
543495
543494
2026-05-19T18:44:00Z
Persino
2851
/* {{Śródtytuł|NieFun}}{{Code|NieFun}} */
543495
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} ==
Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}.
Gdy dany artykuł, jest nie równy: {{Code|Wersja do druku}}, i subnazwie ksiązki {{LinkPatrz|nazwa_artykulu}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun-AnalizaStronaSubst,NieFun-AnalizaStronaSubst,FunRozdzial-AnalizaStronaSubst,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
; Najważniejsze zmienne{{Dk}}
* {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}},
* {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}.
; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}}
* {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}.
; Funkcje{{Dk}}
* {{Code|TakFun}} {{Patrz|TakFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową,
* {{Code|NieFun}} {{Patrz|NieFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa,
* {{Code|FunRozdzial}} {{Patrz|FunRozdzial-AnalizaStronaSubst}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun-AnalizaStronaSubst}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału.
; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}}
* {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy,
* {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka,
* {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły,
* {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki.
A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana.
Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza.
== {{Code|p.LiczOperacjeStronZbiorczych}} ==
Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej.
=== Opis funkcji ===
Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst-Szablon}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst-Szablon}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}.
Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst-Szablon}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}).
Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}},
* {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony,
* {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}},
* {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}},
* {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}},
* {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić.
=== Funkcje lokalne ===
==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ====
Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function CzyStronaSubst()...end;
</syntaxhighlight>
Parametry funkcji:
* Brak parametrów.
Przykład analizy funkcji, podając je właściwie ciało:
<syntaxhighlight lang="lua">
if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then
glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak";
end;
</syntaxhighlight>
==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ====
Funkcja wyszukuje w zakodowanym tekście szablony: {{LinkPatrz|StronaSubst-Szablon}} i {{LinkPatrz|KsiążkaSubst-Szablon}}, przy pomocy: {{linkPatrz|tablica_obiektow_strony_dany_modul_strony}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} {{LinkPatrz|StronaSubst-WoluminSubst}} i {{Code|KsiążkaSubst}} {{LinkPatrz|KsiazkaSubst-WoluminSubst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}},
* {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}},
* {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}},
* {{Code|StronaSubst}} {{Patrz|StronaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst-Szablon}},
* {{Code|KsiazkaSubst}} {{Patrz|KsiazkaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst-Szablon}}.
Przykłady wykorzystania:
<syntaxhighlight lang="lua">
WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
...
StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
end,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
...
p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny));
end
);
</syntaxhighlight>
Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}.
==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ====
Funkcja liczy łańcuch znakowy odpowiadający pojedynczemu wywołaniu, dotyczący danego rozdziału strony zbiorczej, czyli dla pojedynczego wywołania szablonu: {{LinkPatrz|StronaSubst-Szablon}}, lub dla pojedynczego artykułu z wielu generowanych przez szablon: {{LinkPatrz|KsiążkaSubst-Szablon}}. Szablon tworzy rozdział w postaci linku do artykułu, wtedy w tekście rozdziału nie jest podawany adres pełny artykułu, a jeżeli ona nie jest linkiem, to rozdział jest w postaci tekstu, wtedy w tekście rozdziału jest podawany pełny adres artykułu, a jeżeli, mamy włączony postęp, wtedy to jest ukryte właściwością '''CSS''': {{Code|display:none}}.
Rozdział jest pod elementem {{Tag|div|parametry=style="display:block;" class="rozdział_książki"}}, o odpowiednim poziomie, gdy poziom jest {{Code|nil}}, to wtedy przyjmuje on domyślną wartość {{Code|1}}, tworzonym przez funkcję: {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}. Następnym elementem jest postęp, pod warunkiem, jeżeli ustawiono zmienną: {{Code|postep}}, a dalej w osobnym: {{Tag|div|parametry=class="strona_subst"}}, jest zawartość rozdziału w postaci naszego adresu, lub w postaci wartości pustej, gdy rozdział jest linkiem według ustawień funkcji: {{LinkŚródtytuł|StronaSubst}}, a więc i w przypadku szablonu: {{LinkPatrz|StronaSubst-Szablon}}, gdy ta funkcja została wywołana przez niego.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function StronaSubstParametr(strona,naglowek_strony,link,p,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|strona}} {{Patrz|strona-StronaSubstParametr}} - jak w: {{LinkPatrz|1-StronaSubst}},
* {{Code|naglowek_strony}} {{Patrz|naglowek_strony-StronaSubstParametr}} - nagłówek strony tworzony z pełnego adresu strony, który jest podstroną wraz z nagłówkiem,
* {{Code|link}} {{Patrz|link-StronaSubstParametr}} - jak w: {{LinkPatrz|link-StronaSubst}}, tylko ta zmienna jest w postaci logicznej, jak ta ostatnia jest niepusta, wtedy ta zmienna odpowiada wartości logicznej prawda, w przeciwnym wypadku mamy fałsz,
* {{Code|p}} {{Patrz|p-StronaSubstParametr}} - postęp tworzonego nagłówka, jeżeli {{Code|p {{=}} nil}}, wtedy domyślny poziom jest 1, ten poziom jest liczba calkowitą dodatnią,
* {{Code|postep}} {{Patrz|postep-StronaSubstParametr}} - jak w: {{LinkPatrz|postep-StronaSubst}}, z wartością logiczną jest jak w: {{LinkPatrz|link-StronaSubstParametr}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ====
==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ====
==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ====
==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ====
==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ====
Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst-Szablon}}, na danym artykule, w książce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej, przy pomocy zmiennych nazw pod warunkiem, gdy mamy argument: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywy, wtedy zbieramy parametry różnych książek dla strony zbiorczej ustawionej za pomocą parametrów pudełkowych, w innym przypadku parametry strony zbiorczej należącego do aktualnej książki. Też możemy liczyć parametry stron zbiorczych z poziomu innych stron przy pomocy parametrów pudełkowych.
Funkcja korzysta z: {{LinkŚródtytuł|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_paStronaSubstInnerametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst-Szablon}},
* {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki,
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}:
* {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki,
* {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem,
* {{Code|postep}} {{Patrz|postep-StronaSubst}} - uruchamia postęp zamiast wyświetlania tekstu linku w postaci pełnego adresu strony, ewentualnie z nagłówkiem, kiedy nagłówek nie jest linkiem do artykułu strony, a gdy jest link według {{LinkPatrz|link-StronaSubst}}, to wtedy tylko wyświetli się postęp.
Gdy artykuł jest równy nazwie książki lub w wersji: {{Code|Wersja do druku}}, to wtedy funkcja zwraca wartość pustą, a jeżeli została już policzona jego zawartość w postaci aktualnej książki, to funkcja zwraca tą wartość.
Funkcja liczy elementy spisu treści ogólnego spisu treści, jak szablony spisu rzeczy w postaci graficznej: {{s|Spis treści}} i {{s|TOCRamka}}, albo tekstowej: {{s|TOC}}.
Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, jest prawidziwy, wtedy funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica:
<syntaxhighlight lang="lua">
glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str;
</syntaxhighlight>
A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywa, wtedy dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica:
<syntaxhighlight lang="lua">
glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str;
</syntaxhighlight>
{{Hr}}
W obu tworzonych tabelach zależy od parametru, od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty, a pod: {{Code|str}}, jest ukryta zawartość szablonu {{LinkPatrz|StronaSubst-Szablon}}.
==== KsiążkaSubst ====
===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} =====
===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} =====
==== Funkcje analizujące strony zbiorcze lub inne ====
===== {{Śródtytuł|NieFun}}{{Code|NieFun}} =====
Jest to funkcja zwracająca inną funkcję, która to z kolei zwraca zawsze wartość pustą. Funkcja zwracana jest to funkcja: {{LinkPatrz|NieFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}.
Definicja poglądowa funkcji:
<syntaxhighlight lang="lua">
local NieFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)
return function(parametr) return "";end;
end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu-NieFun}} - tabela parametrów szablonu: {{LinkPatrz|KsiążkaSubst-Szablon}},
* {{Code|nazwa_szablonu}} {{Patrz|nazwa_szablonu-NieFun}} - nazwa tego szablonu,
* {{Code|tabela_modyfikatorow}} {{Patrz|tabela_modyfikatorow-NieFun}} - tabela jego modyfikatorów,
* {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny-NieFun}} - czy dotyczy aktualnej książki, a więc artykułu, na stronie zbiorczej tego woluminu.
Parametry funkcji zwracanej:
* {{Code|parametr}} - jest to dowolny parametr, w: {{Code|{{ld2|StronicowyParser/StronaSubst}}}}, przyjmuje wartość: {{Code|nil}}.
===== {{Śródtytuł|TakFun}}{{Code|TakFun}} =====
===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} =====
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
029aas8r39ca7eqfbotrbn5ny32o0oh
543496
543495
2026-05-19T18:50:31Z
Persino
2851
/* {{Śródtytuł|TakFun}}{{Code|TakFun}} */
543496
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} ==
Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}.
Gdy dany artykuł, jest nie równy: {{Code|Wersja do druku}}, i subnazwie ksiązki {{LinkPatrz|nazwa_artykulu}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun-AnalizaStronaSubst,NieFun-AnalizaStronaSubst,FunRozdzial-AnalizaStronaSubst,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
; Najważniejsze zmienne{{Dk}}
* {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}},
* {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}.
; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}}
* {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}.
; Funkcje{{Dk}}
* {{Code|TakFun}} {{Patrz|TakFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową,
* {{Code|NieFun}} {{Patrz|NieFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa,
* {{Code|FunRozdzial}} {{Patrz|FunRozdzial-AnalizaStronaSubst}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun-AnalizaStronaSubst}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału.
; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}}
* {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy,
* {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka,
* {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły,
* {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki.
A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana.
Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza.
== {{Code|p.LiczOperacjeStronZbiorczych}} ==
Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej.
=== Opis funkcji ===
Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst-Szablon}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst-Szablon}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}.
Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst-Szablon}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}).
Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}},
* {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony,
* {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}},
* {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}},
* {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}},
* {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić.
=== Funkcje lokalne ===
==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ====
Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function CzyStronaSubst()...end;
</syntaxhighlight>
Parametry funkcji:
* Brak parametrów.
Przykład analizy funkcji, podając je właściwie ciało:
<syntaxhighlight lang="lua">
if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then
glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak";
end;
</syntaxhighlight>
==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ====
Funkcja wyszukuje w zakodowanym tekście szablony: {{LinkPatrz|StronaSubst-Szablon}} i {{LinkPatrz|KsiążkaSubst-Szablon}}, przy pomocy: {{linkPatrz|tablica_obiektow_strony_dany_modul_strony}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} {{LinkPatrz|StronaSubst-WoluminSubst}} i {{Code|KsiążkaSubst}} {{LinkPatrz|KsiazkaSubst-WoluminSubst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}},
* {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}},
* {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}},
* {{Code|StronaSubst}} {{Patrz|StronaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst-Szablon}},
* {{Code|KsiazkaSubst}} {{Patrz|KsiazkaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst-Szablon}}.
Przykłady wykorzystania:
<syntaxhighlight lang="lua">
WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
...
StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
end,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
...
p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny));
end
);
</syntaxhighlight>
Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}.
==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ====
Funkcja liczy łańcuch znakowy odpowiadający pojedynczemu wywołaniu, dotyczący danego rozdziału strony zbiorczej, czyli dla pojedynczego wywołania szablonu: {{LinkPatrz|StronaSubst-Szablon}}, lub dla pojedynczego artykułu z wielu generowanych przez szablon: {{LinkPatrz|KsiążkaSubst-Szablon}}. Szablon tworzy rozdział w postaci linku do artykułu, wtedy w tekście rozdziału nie jest podawany adres pełny artykułu, a jeżeli ona nie jest linkiem, to rozdział jest w postaci tekstu, wtedy w tekście rozdziału jest podawany pełny adres artykułu, a jeżeli, mamy włączony postęp, wtedy to jest ukryte właściwością '''CSS''': {{Code|display:none}}.
Rozdział jest pod elementem {{Tag|div|parametry=style="display:block;" class="rozdział_książki"}}, o odpowiednim poziomie, gdy poziom jest {{Code|nil}}, to wtedy przyjmuje on domyślną wartość {{Code|1}}, tworzonym przez funkcję: {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}. Następnym elementem jest postęp, pod warunkiem, jeżeli ustawiono zmienną: {{Code|postep}}, a dalej w osobnym: {{Tag|div|parametry=class="strona_subst"}}, jest zawartość rozdziału w postaci naszego adresu, lub w postaci wartości pustej, gdy rozdział jest linkiem według ustawień funkcji: {{LinkŚródtytuł|StronaSubst}}, a więc i w przypadku szablonu: {{LinkPatrz|StronaSubst-Szablon}}, gdy ta funkcja została wywołana przez niego.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function StronaSubstParametr(strona,naglowek_strony,link,p,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|strona}} {{Patrz|strona-StronaSubstParametr}} - jak w: {{LinkPatrz|1-StronaSubst}},
* {{Code|naglowek_strony}} {{Patrz|naglowek_strony-StronaSubstParametr}} - nagłówek strony tworzony z pełnego adresu strony, który jest podstroną wraz z nagłówkiem,
* {{Code|link}} {{Patrz|link-StronaSubstParametr}} - jak w: {{LinkPatrz|link-StronaSubst}}, tylko ta zmienna jest w postaci logicznej, jak ta ostatnia jest niepusta, wtedy ta zmienna odpowiada wartości logicznej prawda, w przeciwnym wypadku mamy fałsz,
* {{Code|p}} {{Patrz|p-StronaSubstParametr}} - postęp tworzonego nagłówka, jeżeli {{Code|p {{=}} nil}}, wtedy domyślny poziom jest 1, ten poziom jest liczba calkowitą dodatnią,
* {{Code|postep}} {{Patrz|postep-StronaSubstParametr}} - jak w: {{LinkPatrz|postep-StronaSubst}}, z wartością logiczną jest jak w: {{LinkPatrz|link-StronaSubstParametr}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ====
==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ====
==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ====
==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ====
==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ====
Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst-Szablon}}, na danym artykule, w książce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej, przy pomocy zmiennych nazw pod warunkiem, gdy mamy argument: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywy, wtedy zbieramy parametry różnych książek dla strony zbiorczej ustawionej za pomocą parametrów pudełkowych, w innym przypadku parametry strony zbiorczej należącego do aktualnej książki. Też możemy liczyć parametry stron zbiorczych z poziomu innych stron przy pomocy parametrów pudełkowych.
Funkcja korzysta z: {{LinkŚródtytuł|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_paStronaSubstInnerametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst-Szablon}},
* {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki,
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}:
* {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki,
* {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem,
* {{Code|postep}} {{Patrz|postep-StronaSubst}} - uruchamia postęp zamiast wyświetlania tekstu linku w postaci pełnego adresu strony, ewentualnie z nagłówkiem, kiedy nagłówek nie jest linkiem do artykułu strony, a gdy jest link według {{LinkPatrz|link-StronaSubst}}, to wtedy tylko wyświetli się postęp.
Gdy artykuł jest równy nazwie książki lub w wersji: {{Code|Wersja do druku}}, to wtedy funkcja zwraca wartość pustą, a jeżeli została już policzona jego zawartość w postaci aktualnej książki, to funkcja zwraca tą wartość.
Funkcja liczy elementy spisu treści ogólnego spisu treści, jak szablony spisu rzeczy w postaci graficznej: {{s|Spis treści}} i {{s|TOCRamka}}, albo tekstowej: {{s|TOC}}.
Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, jest prawidziwy, wtedy funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica:
<syntaxhighlight lang="lua">
glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str;
</syntaxhighlight>
A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywa, wtedy dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica:
<syntaxhighlight lang="lua">
glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str;
</syntaxhighlight>
{{Hr}}
W obu tworzonych tabelach zależy od parametru, od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty, a pod: {{Code|str}}, jest ukryta zawartość szablonu {{LinkPatrz|StronaSubst-Szablon}}.
==== KsiążkaSubst ====
===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} =====
===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} =====
==== Funkcje analizujące strony zbiorcze lub inne ====
===== {{Śródtytuł|NieFun}}{{Code|NieFun}} =====
Jest to funkcja zwracająca inną funkcję, która to z kolei zwraca zawsze wartość pustą. Funkcja zwracana jest to funkcja: {{LinkPatrz|NieFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}.
Definicja poglądowa funkcji:
<syntaxhighlight lang="lua">
local NieFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)
return function(parametr) return "";end;
end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu-NieFun}} - tabela parametrów szablonu: {{LinkPatrz|KsiążkaSubst-Szablon}},
* {{Code|nazwa_szablonu}} {{Patrz|nazwa_szablonu-NieFun}} - nazwa tego szablonu,
* {{Code|tabela_modyfikatorow}} {{Patrz|tabela_modyfikatorow-NieFun}} - tabela jego modyfikatorów,
* {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny-NieFun}} - czy dotyczy aktualnej książki, a więc artykułu, na stronie zbiorczej tego woluminu.
Parametry funkcji zwracanej:
* {{Code|parametr}} - jest to dowolny parametr, w: {{Code|{{ld2|StronicowyParser/StronaSubst}}}}, przyjmuje wartość: {{Code|nil}}.
===== {{Śródtytuł|TakFun}}{{Code|TakFun}} =====
Funkcja zwracająca inną funkcję, której wywołanie jest funkcją z: {{LinkPatrz|TakFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}.
Definicja pogladowa funkcji:
<syntaxhighlight lang="lua">
local TakFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)
return function(tab_lista_artykulow_w_ksiazce,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)
AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
return "tak";
end;
end;
</syntaxhighlight>
Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieWoluminu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale nie rozdziałowej, tzn. te jednostki, które nie są zbiorczym obiektem dla stron danego rozdziału.
Parametry funkcji:
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}},
* {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}},
* {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}},
* {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}.
Parametry funkcji zwracanej:
* {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} =====
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
4bpt3tj7xpjqcmjjnuoe85ogl0vgi2i
543497
543496
2026-05-19T18:52:04Z
Persino
2851
/* {{Śródtytuł|TakFun}}{{Code|TakFun}} */
543497
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} ==
Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}.
Gdy dany artykuł, jest nie równy: {{Code|Wersja do druku}}, i subnazwie ksiązki {{LinkPatrz|nazwa_artykulu}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun-AnalizaStronaSubst,NieFun-AnalizaStronaSubst,FunRozdzial-AnalizaStronaSubst,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
; Najważniejsze zmienne{{Dk}}
* {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}},
* {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}.
; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}}
* {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}.
; Funkcje{{Dk}}
* {{Code|TakFun}} {{Patrz|TakFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową,
* {{Code|NieFun}} {{Patrz|NieFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa,
* {{Code|FunRozdzial}} {{Patrz|FunRozdzial-AnalizaStronaSubst}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun-AnalizaStronaSubst}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału.
; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}}
* {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy,
* {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka,
* {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły,
* {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki.
A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana.
Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza.
== {{Code|p.LiczOperacjeStronZbiorczych}} ==
Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej.
=== Opis funkcji ===
Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst-Szablon}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst-Szablon}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}.
Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst-Szablon}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}).
Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}},
* {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony,
* {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}},
* {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}},
* {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}},
* {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić.
=== Funkcje lokalne ===
==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ====
Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function CzyStronaSubst()...end;
</syntaxhighlight>
Parametry funkcji:
* Brak parametrów.
Przykład analizy funkcji, podając je właściwie ciało:
<syntaxhighlight lang="lua">
if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then
glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak";
end;
</syntaxhighlight>
==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ====
Funkcja wyszukuje w zakodowanym tekście szablony: {{LinkPatrz|StronaSubst-Szablon}} i {{LinkPatrz|KsiążkaSubst-Szablon}}, przy pomocy: {{linkPatrz|tablica_obiektow_strony_dany_modul_strony}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} {{LinkPatrz|StronaSubst-WoluminSubst}} i {{Code|KsiążkaSubst}} {{LinkPatrz|KsiazkaSubst-WoluminSubst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}},
* {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}},
* {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}},
* {{Code|StronaSubst}} {{Patrz|StronaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst-Szablon}},
* {{Code|KsiazkaSubst}} {{Patrz|KsiazkaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst-Szablon}}.
Przykłady wykorzystania:
<syntaxhighlight lang="lua">
WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
...
StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
end,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
...
p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny));
end
);
</syntaxhighlight>
Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}.
==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ====
Funkcja liczy łańcuch znakowy odpowiadający pojedynczemu wywołaniu, dotyczący danego rozdziału strony zbiorczej, czyli dla pojedynczego wywołania szablonu: {{LinkPatrz|StronaSubst-Szablon}}, lub dla pojedynczego artykułu z wielu generowanych przez szablon: {{LinkPatrz|KsiążkaSubst-Szablon}}. Szablon tworzy rozdział w postaci linku do artykułu, wtedy w tekście rozdziału nie jest podawany adres pełny artykułu, a jeżeli ona nie jest linkiem, to rozdział jest w postaci tekstu, wtedy w tekście rozdziału jest podawany pełny adres artykułu, a jeżeli, mamy włączony postęp, wtedy to jest ukryte właściwością '''CSS''': {{Code|display:none}}.
Rozdział jest pod elementem {{Tag|div|parametry=style="display:block;" class="rozdział_książki"}}, o odpowiednim poziomie, gdy poziom jest {{Code|nil}}, to wtedy przyjmuje on domyślną wartość {{Code|1}}, tworzonym przez funkcję: {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}. Następnym elementem jest postęp, pod warunkiem, jeżeli ustawiono zmienną: {{Code|postep}}, a dalej w osobnym: {{Tag|div|parametry=class="strona_subst"}}, jest zawartość rozdziału w postaci naszego adresu, lub w postaci wartości pustej, gdy rozdział jest linkiem według ustawień funkcji: {{LinkŚródtytuł|StronaSubst}}, a więc i w przypadku szablonu: {{LinkPatrz|StronaSubst-Szablon}}, gdy ta funkcja została wywołana przez niego.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function StronaSubstParametr(strona,naglowek_strony,link,p,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|strona}} {{Patrz|strona-StronaSubstParametr}} - jak w: {{LinkPatrz|1-StronaSubst}},
* {{Code|naglowek_strony}} {{Patrz|naglowek_strony-StronaSubstParametr}} - nagłówek strony tworzony z pełnego adresu strony, który jest podstroną wraz z nagłówkiem,
* {{Code|link}} {{Patrz|link-StronaSubstParametr}} - jak w: {{LinkPatrz|link-StronaSubst}}, tylko ta zmienna jest w postaci logicznej, jak ta ostatnia jest niepusta, wtedy ta zmienna odpowiada wartości logicznej prawda, w przeciwnym wypadku mamy fałsz,
* {{Code|p}} {{Patrz|p-StronaSubstParametr}} - postęp tworzonego nagłówka, jeżeli {{Code|p {{=}} nil}}, wtedy domyślny poziom jest 1, ten poziom jest liczba calkowitą dodatnią,
* {{Code|postep}} {{Patrz|postep-StronaSubstParametr}} - jak w: {{LinkPatrz|postep-StronaSubst}}, z wartością logiczną jest jak w: {{LinkPatrz|link-StronaSubstParametr}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ====
==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ====
==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ====
==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ====
==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ====
Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst-Szablon}}, na danym artykule, w książce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej, przy pomocy zmiennych nazw pod warunkiem, gdy mamy argument: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywy, wtedy zbieramy parametry różnych książek dla strony zbiorczej ustawionej za pomocą parametrów pudełkowych, w innym przypadku parametry strony zbiorczej należącego do aktualnej książki. Też możemy liczyć parametry stron zbiorczych z poziomu innych stron przy pomocy parametrów pudełkowych.
Funkcja korzysta z: {{LinkŚródtytuł|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_paStronaSubstInnerametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst-Szablon}},
* {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki,
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}:
* {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki,
* {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem,
* {{Code|postep}} {{Patrz|postep-StronaSubst}} - uruchamia postęp zamiast wyświetlania tekstu linku w postaci pełnego adresu strony, ewentualnie z nagłówkiem, kiedy nagłówek nie jest linkiem do artykułu strony, a gdy jest link według {{LinkPatrz|link-StronaSubst}}, to wtedy tylko wyświetli się postęp.
Gdy artykuł jest równy nazwie książki lub w wersji: {{Code|Wersja do druku}}, to wtedy funkcja zwraca wartość pustą, a jeżeli została już policzona jego zawartość w postaci aktualnej książki, to funkcja zwraca tą wartość.
Funkcja liczy elementy spisu treści ogólnego spisu treści, jak szablony spisu rzeczy w postaci graficznej: {{s|Spis treści}} i {{s|TOCRamka}}, albo tekstowej: {{s|TOC}}.
Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, jest prawidziwy, wtedy funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica:
<syntaxhighlight lang="lua">
glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str;
</syntaxhighlight>
A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywa, wtedy dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica:
<syntaxhighlight lang="lua">
glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str;
</syntaxhighlight>
{{Hr}}
W obu tworzonych tabelach zależy od parametru, od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty, a pod: {{Code|str}}, jest ukryta zawartość szablonu {{LinkPatrz|StronaSubst-Szablon}}.
==== KsiążkaSubst ====
===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} =====
===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} =====
==== Funkcje analizujące strony zbiorcze lub inne ====
===== {{Śródtytuł|NieFun}}{{Code|NieFun}} =====
Jest to funkcja zwracająca inną funkcję, która to z kolei zwraca zawsze wartość pustą. Funkcja zwracana jest to funkcja: {{LinkPatrz|NieFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}.
Definicja poglądowa funkcji:
<syntaxhighlight lang="lua">
local NieFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)
return function(parametr) return "";end;
end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu-NieFun}} - tabela parametrów szablonu: {{LinkPatrz|KsiążkaSubst-Szablon}},
* {{Code|nazwa_szablonu}} {{Patrz|nazwa_szablonu-NieFun}} - nazwa tego szablonu,
* {{Code|tabela_modyfikatorow}} {{Patrz|tabela_modyfikatorow-NieFun}} - tabela jego modyfikatorów,
* {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny-NieFun}} - czy dotyczy aktualnej książki, a więc artykułu, na stronie zbiorczej tego woluminu.
Parametry funkcji zwracanej:
* {{Code|parametr}} - jest to dowolny parametr, w: {{Code|{{ld2|StronicowyParser/StronaSubst}}}}, przyjmuje wartość: {{Code|nil}}.
===== {{Śródtytuł|TakFun}}{{Code|TakFun}} =====
Funkcja zwracająca inną funkcję, której wywołanie jest funkcją z: {{LinkPatrz|TakFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwraca zawsze wartość odpowiadającą wartości prawdziwej.
Definicja pogladowa funkcji:
<syntaxhighlight lang="lua">
local TakFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)
return function(tab_lista_artykulow_w_ksiazce,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)
AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
return "tak";
end;
end;
</syntaxhighlight>
Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieWoluminu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale nie rozdziałowej, tzn. te jednostki, które nie są zbiorczym obiektem dla stron danego rozdziału.
Parametry funkcji:
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}},
* {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}},
* {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}},
* {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}.
Parametry funkcji zwracanej:
* {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} =====
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
die62g54fb5xb63a38zgm4nqcksonxs
543498
543497
2026-05-19T18:56:20Z
Persino
2851
/* {{Śródtytuł|TakFun}}{{Code|TakFun}} */
543498
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} ==
Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}.
Gdy dany artykuł, jest nie równy: {{Code|Wersja do druku}}, i subnazwie ksiązki {{LinkPatrz|nazwa_artykulu}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun-AnalizaStronaSubst,NieFun-AnalizaStronaSubst,FunRozdzial-AnalizaStronaSubst,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
; Najważniejsze zmienne{{Dk}}
* {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}},
* {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}.
; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}}
* {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}.
; Funkcje{{Dk}}
* {{Code|TakFun}} {{Patrz|TakFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową,
* {{Code|NieFun}} {{Patrz|NieFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa,
* {{Code|FunRozdzial}} {{Patrz|FunRozdzial-AnalizaStronaSubst}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun-AnalizaStronaSubst}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału.
; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}}
* {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy,
* {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka,
* {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły,
* {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki.
A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana.
Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza.
== {{Code|p.LiczOperacjeStronZbiorczych}} ==
Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej.
=== Opis funkcji ===
Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst-Szablon}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst-Szablon}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}.
Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst-Szablon}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}).
Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}},
* {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony,
* {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}},
* {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}},
* {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}},
* {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić.
=== Funkcje lokalne ===
==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ====
Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function CzyStronaSubst()...end;
</syntaxhighlight>
Parametry funkcji:
* Brak parametrów.
Przykład analizy funkcji, podając je właściwie ciało:
<syntaxhighlight lang="lua">
if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then
glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak";
end;
</syntaxhighlight>
==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ====
Funkcja wyszukuje w zakodowanym tekście szablony: {{LinkPatrz|StronaSubst-Szablon}} i {{LinkPatrz|KsiążkaSubst-Szablon}}, przy pomocy: {{linkPatrz|tablica_obiektow_strony_dany_modul_strony}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} {{LinkPatrz|StronaSubst-WoluminSubst}} i {{Code|KsiążkaSubst}} {{LinkPatrz|KsiazkaSubst-WoluminSubst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}},
* {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}},
* {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}},
* {{Code|StronaSubst}} {{Patrz|StronaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst-Szablon}},
* {{Code|KsiazkaSubst}} {{Patrz|KsiazkaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst-Szablon}}.
Przykłady wykorzystania:
<syntaxhighlight lang="lua">
WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
...
StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
end,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
...
p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny));
end
);
</syntaxhighlight>
Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}.
==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ====
Funkcja liczy łańcuch znakowy odpowiadający pojedynczemu wywołaniu, dotyczący danego rozdziału strony zbiorczej, czyli dla pojedynczego wywołania szablonu: {{LinkPatrz|StronaSubst-Szablon}}, lub dla pojedynczego artykułu z wielu generowanych przez szablon: {{LinkPatrz|KsiążkaSubst-Szablon}}. Szablon tworzy rozdział w postaci linku do artykułu, wtedy w tekście rozdziału nie jest podawany adres pełny artykułu, a jeżeli ona nie jest linkiem, to rozdział jest w postaci tekstu, wtedy w tekście rozdziału jest podawany pełny adres artykułu, a jeżeli, mamy włączony postęp, wtedy to jest ukryte właściwością '''CSS''': {{Code|display:none}}.
Rozdział jest pod elementem {{Tag|div|parametry=style="display:block;" class="rozdział_książki"}}, o odpowiednim poziomie, gdy poziom jest {{Code|nil}}, to wtedy przyjmuje on domyślną wartość {{Code|1}}, tworzonym przez funkcję: {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}. Następnym elementem jest postęp, pod warunkiem, jeżeli ustawiono zmienną: {{Code|postep}}, a dalej w osobnym: {{Tag|div|parametry=class="strona_subst"}}, jest zawartość rozdziału w postaci naszego adresu, lub w postaci wartości pustej, gdy rozdział jest linkiem według ustawień funkcji: {{LinkŚródtytuł|StronaSubst}}, a więc i w przypadku szablonu: {{LinkPatrz|StronaSubst-Szablon}}, gdy ta funkcja została wywołana przez niego.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function StronaSubstParametr(strona,naglowek_strony,link,p,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|strona}} {{Patrz|strona-StronaSubstParametr}} - jak w: {{LinkPatrz|1-StronaSubst}},
* {{Code|naglowek_strony}} {{Patrz|naglowek_strony-StronaSubstParametr}} - nagłówek strony tworzony z pełnego adresu strony, który jest podstroną wraz z nagłówkiem,
* {{Code|link}} {{Patrz|link-StronaSubstParametr}} - jak w: {{LinkPatrz|link-StronaSubst}}, tylko ta zmienna jest w postaci logicznej, jak ta ostatnia jest niepusta, wtedy ta zmienna odpowiada wartości logicznej prawda, w przeciwnym wypadku mamy fałsz,
* {{Code|p}} {{Patrz|p-StronaSubstParametr}} - postęp tworzonego nagłówka, jeżeli {{Code|p {{=}} nil}}, wtedy domyślny poziom jest 1, ten poziom jest liczba calkowitą dodatnią,
* {{Code|postep}} {{Patrz|postep-StronaSubstParametr}} - jak w: {{LinkPatrz|postep-StronaSubst}}, z wartością logiczną jest jak w: {{LinkPatrz|link-StronaSubstParametr}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ====
==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ====
==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ====
==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ====
==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ====
Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst-Szablon}}, na danym artykule, w książce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej, przy pomocy zmiennych nazw pod warunkiem, gdy mamy argument: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywy, wtedy zbieramy parametry różnych książek dla strony zbiorczej ustawionej za pomocą parametrów pudełkowych, w innym przypadku parametry strony zbiorczej należącego do aktualnej książki. Też możemy liczyć parametry stron zbiorczych z poziomu innych stron przy pomocy parametrów pudełkowych.
Funkcja korzysta z: {{LinkŚródtytuł|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_paStronaSubstInnerametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst-Szablon}},
* {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki,
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}:
* {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki,
* {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem,
* {{Code|postep}} {{Patrz|postep-StronaSubst}} - uruchamia postęp zamiast wyświetlania tekstu linku w postaci pełnego adresu strony, ewentualnie z nagłówkiem, kiedy nagłówek nie jest linkiem do artykułu strony, a gdy jest link według {{LinkPatrz|link-StronaSubst}}, to wtedy tylko wyświetli się postęp.
Gdy artykuł jest równy nazwie książki lub w wersji: {{Code|Wersja do druku}}, to wtedy funkcja zwraca wartość pustą, a jeżeli została już policzona jego zawartość w postaci aktualnej książki, to funkcja zwraca tą wartość.
Funkcja liczy elementy spisu treści ogólnego spisu treści, jak szablony spisu rzeczy w postaci graficznej: {{s|Spis treści}} i {{s|TOCRamka}}, albo tekstowej: {{s|TOC}}.
Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, jest prawidziwy, wtedy funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica:
<syntaxhighlight lang="lua">
glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str;
</syntaxhighlight>
A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywa, wtedy dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica:
<syntaxhighlight lang="lua">
glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str;
</syntaxhighlight>
{{Hr}}
W obu tworzonych tabelach zależy od parametru, od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty, a pod: {{Code|str}}, jest ukryta zawartość szablonu {{LinkPatrz|StronaSubst-Szablon}}.
==== KsiążkaSubst ====
===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} =====
===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} =====
==== Funkcje analizujące strony zbiorcze lub inne ====
===== {{Śródtytuł|NieFun}}{{Code|NieFun}} =====
Jest to funkcja zwracająca inną funkcję, która to z kolei zwraca zawsze wartość pustą. Funkcja zwracana jest to funkcja: {{LinkPatrz|NieFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}.
Definicja poglądowa funkcji:
<syntaxhighlight lang="lua">
local NieFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)
return function(parametr) return "";end;
end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu-NieFun}} - tabela parametrów szablonu: {{LinkPatrz|KsiążkaSubst-Szablon}},
* {{Code|nazwa_szablonu}} {{Patrz|nazwa_szablonu-NieFun}} - nazwa tego szablonu,
* {{Code|tabela_modyfikatorow}} {{Patrz|tabela_modyfikatorow-NieFun}} - tabela jego modyfikatorów,
* {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny-NieFun}} - czy dotyczy aktualnej książki, a więc artykułu, na stronie zbiorczej tego woluminu.
Parametry funkcji zwracanej:
* {{Code|parametr}} - jest to dowolny parametr, w: {{Code|{{ld2|StronicowyParser/StronaSubst}}}}, przyjmuje wartość: {{Code|nil}}.
===== {{Śródtytuł|TakFun}}{{Code|TakFun}} =====
Funkcja zwracająca inną funkcję, której wywołanie jest funkcją z: {{LinkPatrz|TakFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zwraca zawsze wartość odpowiadającą wartości logicznej prawdziwej.
Definicja pogladowa funkcji:
<syntaxhighlight lang="lua">
local TakFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)
return function(tab_lista_artykulow_w_ksiazce,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)
AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
return "tak";
end;
end;
</syntaxhighlight>
Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieWoluminu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale nie rozdziałowej, tzn. te jednostki, które nie są zbiorczym obiektem dla stron danego rozdziału.
Parametry funkcji:
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}},
* {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}},
* {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}},
* {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}.
Parametry funkcji zwracanej:
* {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} =====
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
ajxk3a46qq9e0ck8o6y8q42x9kddc1s
543499
543498
2026-05-19T19:00:58Z
Persino
2851
/* {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} */
543499
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} ==
Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}.
Gdy dany artykuł, jest nie równy: {{Code|Wersja do druku}}, i subnazwie ksiązki {{LinkPatrz|nazwa_artykulu}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun-AnalizaStronaSubst,NieFun-AnalizaStronaSubst,FunRozdzial-AnalizaStronaSubst,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
; Najważniejsze zmienne{{Dk}}
* {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}},
* {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}.
; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}}
* {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}.
; Funkcje{{Dk}}
* {{Code|TakFun}} {{Patrz|TakFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową,
* {{Code|NieFun}} {{Patrz|NieFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa,
* {{Code|FunRozdzial}} {{Patrz|FunRozdzial-AnalizaStronaSubst}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun-AnalizaStronaSubst}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału.
; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}}
* {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy,
* {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka,
* {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły,
* {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki.
A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana.
Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza.
== {{Code|p.LiczOperacjeStronZbiorczych}} ==
Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej.
=== Opis funkcji ===
Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst-Szablon}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst-Szablon}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}.
Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst-Szablon}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}).
Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}},
* {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony,
* {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}},
* {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}},
* {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}},
* {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić.
=== Funkcje lokalne ===
==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ====
Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function CzyStronaSubst()...end;
</syntaxhighlight>
Parametry funkcji:
* Brak parametrów.
Przykład analizy funkcji, podając je właściwie ciało:
<syntaxhighlight lang="lua">
if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then
glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak";
end;
</syntaxhighlight>
==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ====
Funkcja wyszukuje w zakodowanym tekście szablony: {{LinkPatrz|StronaSubst-Szablon}} i {{LinkPatrz|KsiążkaSubst-Szablon}}, przy pomocy: {{linkPatrz|tablica_obiektow_strony_dany_modul_strony}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} {{LinkPatrz|StronaSubst-WoluminSubst}} i {{Code|KsiążkaSubst}} {{LinkPatrz|KsiazkaSubst-WoluminSubst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}},
* {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}},
* {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}},
* {{Code|StronaSubst}} {{Patrz|StronaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst-Szablon}},
* {{Code|KsiazkaSubst}} {{Patrz|KsiazkaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst-Szablon}}.
Przykłady wykorzystania:
<syntaxhighlight lang="lua">
WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
...
StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
end,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
...
p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny));
end
);
</syntaxhighlight>
Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}.
==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ====
Funkcja liczy łańcuch znakowy odpowiadający pojedynczemu wywołaniu, dotyczący danego rozdziału strony zbiorczej, czyli dla pojedynczego wywołania szablonu: {{LinkPatrz|StronaSubst-Szablon}}, lub dla pojedynczego artykułu z wielu generowanych przez szablon: {{LinkPatrz|KsiążkaSubst-Szablon}}. Szablon tworzy rozdział w postaci linku do artykułu, wtedy w tekście rozdziału nie jest podawany adres pełny artykułu, a jeżeli ona nie jest linkiem, to rozdział jest w postaci tekstu, wtedy w tekście rozdziału jest podawany pełny adres artykułu, a jeżeli, mamy włączony postęp, wtedy to jest ukryte właściwością '''CSS''': {{Code|display:none}}.
Rozdział jest pod elementem {{Tag|div|parametry=style="display:block;" class="rozdział_książki"}}, o odpowiednim poziomie, gdy poziom jest {{Code|nil}}, to wtedy przyjmuje on domyślną wartość {{Code|1}}, tworzonym przez funkcję: {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}. Następnym elementem jest postęp, pod warunkiem, jeżeli ustawiono zmienną: {{Code|postep}}, a dalej w osobnym: {{Tag|div|parametry=class="strona_subst"}}, jest zawartość rozdziału w postaci naszego adresu, lub w postaci wartości pustej, gdy rozdział jest linkiem według ustawień funkcji: {{LinkŚródtytuł|StronaSubst}}, a więc i w przypadku szablonu: {{LinkPatrz|StronaSubst-Szablon}}, gdy ta funkcja została wywołana przez niego.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function StronaSubstParametr(strona,naglowek_strony,link,p,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|strona}} {{Patrz|strona-StronaSubstParametr}} - jak w: {{LinkPatrz|1-StronaSubst}},
* {{Code|naglowek_strony}} {{Patrz|naglowek_strony-StronaSubstParametr}} - nagłówek strony tworzony z pełnego adresu strony, który jest podstroną wraz z nagłówkiem,
* {{Code|link}} {{Patrz|link-StronaSubstParametr}} - jak w: {{LinkPatrz|link-StronaSubst}}, tylko ta zmienna jest w postaci logicznej, jak ta ostatnia jest niepusta, wtedy ta zmienna odpowiada wartości logicznej prawda, w przeciwnym wypadku mamy fałsz,
* {{Code|p}} {{Patrz|p-StronaSubstParametr}} - postęp tworzonego nagłówka, jeżeli {{Code|p {{=}} nil}}, wtedy domyślny poziom jest 1, ten poziom jest liczba calkowitą dodatnią,
* {{Code|postep}} {{Patrz|postep-StronaSubstParametr}} - jak w: {{LinkPatrz|postep-StronaSubst}}, z wartością logiczną jest jak w: {{LinkPatrz|link-StronaSubstParametr}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ====
==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ====
==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ====
==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ====
==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ====
Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst-Szablon}}, na danym artykule, w książce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej, przy pomocy zmiennych nazw pod warunkiem, gdy mamy argument: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywy, wtedy zbieramy parametry różnych książek dla strony zbiorczej ustawionej za pomocą parametrów pudełkowych, w innym przypadku parametry strony zbiorczej należącego do aktualnej książki. Też możemy liczyć parametry stron zbiorczych z poziomu innych stron przy pomocy parametrów pudełkowych.
Funkcja korzysta z: {{LinkŚródtytuł|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_paStronaSubstInnerametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst-Szablon}},
* {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki,
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}:
* {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki,
* {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem,
* {{Code|postep}} {{Patrz|postep-StronaSubst}} - uruchamia postęp zamiast wyświetlania tekstu linku w postaci pełnego adresu strony, ewentualnie z nagłówkiem, kiedy nagłówek nie jest linkiem do artykułu strony, a gdy jest link według {{LinkPatrz|link-StronaSubst}}, to wtedy tylko wyświetli się postęp.
Gdy artykuł jest równy nazwie książki lub w wersji: {{Code|Wersja do druku}}, to wtedy funkcja zwraca wartość pustą, a jeżeli została już policzona jego zawartość w postaci aktualnej książki, to funkcja zwraca tą wartość.
Funkcja liczy elementy spisu treści ogólnego spisu treści, jak szablony spisu rzeczy w postaci graficznej: {{s|Spis treści}} i {{s|TOCRamka}}, albo tekstowej: {{s|TOC}}.
Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, jest prawidziwy, wtedy funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica:
<syntaxhighlight lang="lua">
glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str;
</syntaxhighlight>
A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywa, wtedy dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica:
<syntaxhighlight lang="lua">
glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str;
</syntaxhighlight>
{{Hr}}
W obu tworzonych tabelach zależy od parametru, od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty, a pod: {{Code|str}}, jest ukryta zawartość szablonu {{LinkPatrz|StronaSubst-Szablon}}.
==== KsiążkaSubst ====
===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} =====
===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} =====
==== Funkcje analizujące strony zbiorcze lub inne ====
===== {{Śródtytuł|NieFun}}{{Code|NieFun}} =====
Jest to funkcja zwracająca inną funkcję, która to z kolei zwraca zawsze wartość pustą. Funkcja zwracana jest to funkcja: {{LinkPatrz|NieFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}.
Definicja poglądowa funkcji:
<syntaxhighlight lang="lua">
local NieFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)
return function(parametr) return "";end;
end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu-NieFun}} - tabela parametrów szablonu: {{LinkPatrz|KsiążkaSubst-Szablon}},
* {{Code|nazwa_szablonu}} {{Patrz|nazwa_szablonu-NieFun}} - nazwa tego szablonu,
* {{Code|tabela_modyfikatorow}} {{Patrz|tabela_modyfikatorow-NieFun}} - tabela jego modyfikatorów,
* {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny-NieFun}} - czy dotyczy aktualnej książki, a więc artykułu, na stronie zbiorczej tego woluminu.
Parametry funkcji zwracanej:
* {{Code|parametr}} - jest to dowolny parametr, w: {{Code|{{ld2|StronicowyParser/StronaSubst}}}}, przyjmuje wartość: {{Code|nil}}.
===== {{Śródtytuł|TakFun}}{{Code|TakFun}} =====
Funkcja zwracająca inną funkcję, której wywołanie jest funkcją z: {{LinkPatrz|TakFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zwraca zawsze wartość odpowiadającą wartości logicznej prawdziwej.
Definicja pogladowa funkcji:
<syntaxhighlight lang="lua">
local TakFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)
return function(tab_lista_artykulow_w_ksiazce,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)
AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
return "tak";
end;
end;
</syntaxhighlight>
Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieWoluminu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale nie rozdziałowej, tzn. te jednostki, które nie są zbiorczym obiektem dla stron danego rozdziału.
Parametry funkcji:
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}},
* {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}},
* {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}},
* {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}.
Parametry funkcji zwracanej:
* {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} =====
Funkcja zwraca inna funkcję, która jest tym: {{LinkPatrz|FunRozdzial-AnalizaStronaSubst}}, z: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zawsze zwraca wartość odpowiadająca wartości logicznej prawdziwej. Funkcja używana, gdy mamy do czynienia, ze stronami zbiorczymi odpowiadzialnymi za rozdziały, która zbiera artykuły danego rozdziału.
Definicja poglądowa funkcji:
<syntaxhighlight lang="lua">
local FunRozdzial=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)
return function(tab_lista_artykulow_w_ksiazce,substrona,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki)
AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki);
return "tak";
end;
end;
</syntaxhighlight>
Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale nie rozdziałowej, tzn. te jednostki, które nie są zbiorczym obiektem dla stron danego rozdziału.
Parametry funkcji:
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}},
* {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}},
* {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}},
* {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}.
Parametry funkcji zwracanej:
* {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}},
* {{Code|substrona}} - nazwa artykułu strony zbiorczej rozdziałowej,
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
mdcdmkamyjbjwa898tw69pair9vt9rs
543500
543499
2026-05-19T19:03:11Z
Persino
2851
/* {{Śródtytuł|TakFun}}{{Code|TakFun}} */
543500
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} ==
Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}.
Gdy dany artykuł, jest nie równy: {{Code|Wersja do druku}}, i subnazwie ksiązki {{LinkPatrz|nazwa_artykulu}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun-AnalizaStronaSubst,NieFun-AnalizaStronaSubst,FunRozdzial-AnalizaStronaSubst,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
; Najważniejsze zmienne{{Dk}}
* {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}},
* {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}.
; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}}
* {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}.
; Funkcje{{Dk}}
* {{Code|TakFun}} {{Patrz|TakFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową,
* {{Code|NieFun}} {{Patrz|NieFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa,
* {{Code|FunRozdzial}} {{Patrz|FunRozdzial-AnalizaStronaSubst}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun-AnalizaStronaSubst}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału.
; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}}
* {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy,
* {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka,
* {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły,
* {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki.
A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana.
Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza.
== {{Code|p.LiczOperacjeStronZbiorczych}} ==
Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej.
=== Opis funkcji ===
Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst-Szablon}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst-Szablon}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}.
Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst-Szablon}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}).
Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}},
* {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony,
* {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}},
* {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}},
* {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}},
* {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić.
=== Funkcje lokalne ===
==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ====
Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function CzyStronaSubst()...end;
</syntaxhighlight>
Parametry funkcji:
* Brak parametrów.
Przykład analizy funkcji, podając je właściwie ciało:
<syntaxhighlight lang="lua">
if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then
glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak";
end;
</syntaxhighlight>
==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ====
Funkcja wyszukuje w zakodowanym tekście szablony: {{LinkPatrz|StronaSubst-Szablon}} i {{LinkPatrz|KsiążkaSubst-Szablon}}, przy pomocy: {{linkPatrz|tablica_obiektow_strony_dany_modul_strony}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} {{LinkPatrz|StronaSubst-WoluminSubst}} i {{Code|KsiążkaSubst}} {{LinkPatrz|KsiazkaSubst-WoluminSubst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}},
* {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}},
* {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}},
* {{Code|StronaSubst}} {{Patrz|StronaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst-Szablon}},
* {{Code|KsiazkaSubst}} {{Patrz|KsiazkaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst-Szablon}}.
Przykłady wykorzystania:
<syntaxhighlight lang="lua">
WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
...
StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
end,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
...
p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny));
end
);
</syntaxhighlight>
Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}.
==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ====
Funkcja liczy łańcuch znakowy odpowiadający pojedynczemu wywołaniu, dotyczący danego rozdziału strony zbiorczej, czyli dla pojedynczego wywołania szablonu: {{LinkPatrz|StronaSubst-Szablon}}, lub dla pojedynczego artykułu z wielu generowanych przez szablon: {{LinkPatrz|KsiążkaSubst-Szablon}}. Szablon tworzy rozdział w postaci linku do artykułu, wtedy w tekście rozdziału nie jest podawany adres pełny artykułu, a jeżeli ona nie jest linkiem, to rozdział jest w postaci tekstu, wtedy w tekście rozdziału jest podawany pełny adres artykułu, a jeżeli, mamy włączony postęp, wtedy to jest ukryte właściwością '''CSS''': {{Code|display:none}}.
Rozdział jest pod elementem {{Tag|div|parametry=style="display:block;" class="rozdział_książki"}}, o odpowiednim poziomie, gdy poziom jest {{Code|nil}}, to wtedy przyjmuje on domyślną wartość {{Code|1}}, tworzonym przez funkcję: {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}. Następnym elementem jest postęp, pod warunkiem, jeżeli ustawiono zmienną: {{Code|postep}}, a dalej w osobnym: {{Tag|div|parametry=class="strona_subst"}}, jest zawartość rozdziału w postaci naszego adresu, lub w postaci wartości pustej, gdy rozdział jest linkiem według ustawień funkcji: {{LinkŚródtytuł|StronaSubst}}, a więc i w przypadku szablonu: {{LinkPatrz|StronaSubst-Szablon}}, gdy ta funkcja została wywołana przez niego.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function StronaSubstParametr(strona,naglowek_strony,link,p,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|strona}} {{Patrz|strona-StronaSubstParametr}} - jak w: {{LinkPatrz|1-StronaSubst}},
* {{Code|naglowek_strony}} {{Patrz|naglowek_strony-StronaSubstParametr}} - nagłówek strony tworzony z pełnego adresu strony, który jest podstroną wraz z nagłówkiem,
* {{Code|link}} {{Patrz|link-StronaSubstParametr}} - jak w: {{LinkPatrz|link-StronaSubst}}, tylko ta zmienna jest w postaci logicznej, jak ta ostatnia jest niepusta, wtedy ta zmienna odpowiada wartości logicznej prawda, w przeciwnym wypadku mamy fałsz,
* {{Code|p}} {{Patrz|p-StronaSubstParametr}} - postęp tworzonego nagłówka, jeżeli {{Code|p {{=}} nil}}, wtedy domyślny poziom jest 1, ten poziom jest liczba calkowitą dodatnią,
* {{Code|postep}} {{Patrz|postep-StronaSubstParametr}} - jak w: {{LinkPatrz|postep-StronaSubst}}, z wartością logiczną jest jak w: {{LinkPatrz|link-StronaSubstParametr}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ====
==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ====
==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ====
==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ====
==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ====
Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst-Szablon}}, na danym artykule, w książce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej, przy pomocy zmiennych nazw pod warunkiem, gdy mamy argument: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywy, wtedy zbieramy parametry różnych książek dla strony zbiorczej ustawionej za pomocą parametrów pudełkowych, w innym przypadku parametry strony zbiorczej należącego do aktualnej książki. Też możemy liczyć parametry stron zbiorczych z poziomu innych stron przy pomocy parametrów pudełkowych.
Funkcja korzysta z: {{LinkŚródtytuł|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_paStronaSubstInnerametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst-Szablon}},
* {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki,
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}:
* {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki,
* {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem,
* {{Code|postep}} {{Patrz|postep-StronaSubst}} - uruchamia postęp zamiast wyświetlania tekstu linku w postaci pełnego adresu strony, ewentualnie z nagłówkiem, kiedy nagłówek nie jest linkiem do artykułu strony, a gdy jest link według {{LinkPatrz|link-StronaSubst}}, to wtedy tylko wyświetli się postęp.
Gdy artykuł jest równy nazwie książki lub w wersji: {{Code|Wersja do druku}}, to wtedy funkcja zwraca wartość pustą, a jeżeli została już policzona jego zawartość w postaci aktualnej książki, to funkcja zwraca tą wartość.
Funkcja liczy elementy spisu treści ogólnego spisu treści, jak szablony spisu rzeczy w postaci graficznej: {{s|Spis treści}} i {{s|TOCRamka}}, albo tekstowej: {{s|TOC}}.
Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, jest prawidziwy, wtedy funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica:
<syntaxhighlight lang="lua">
glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str;
</syntaxhighlight>
A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywa, wtedy dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica:
<syntaxhighlight lang="lua">
glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str;
</syntaxhighlight>
{{Hr}}
W obu tworzonych tabelach zależy od parametru, od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty, a pod: {{Code|str}}, jest ukryta zawartość szablonu {{LinkPatrz|StronaSubst-Szablon}}.
==== KsiążkaSubst ====
===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} =====
===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} =====
==== Funkcje analizujące strony zbiorcze lub inne ====
===== {{Śródtytuł|NieFun}}{{Code|NieFun}} =====
Jest to funkcja zwracająca inną funkcję, która to z kolei zwraca zawsze wartość pustą. Funkcja zwracana jest to funkcja: {{LinkPatrz|NieFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}.
Definicja poglądowa funkcji:
<syntaxhighlight lang="lua">
local NieFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)
return function(parametr) return "";end;
end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu-NieFun}} - tabela parametrów szablonu: {{LinkPatrz|KsiążkaSubst-Szablon}},
* {{Code|nazwa_szablonu}} {{Patrz|nazwa_szablonu-NieFun}} - nazwa tego szablonu,
* {{Code|tabela_modyfikatorow}} {{Patrz|tabela_modyfikatorow-NieFun}} - tabela jego modyfikatorów,
* {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny-NieFun}} - czy dotyczy aktualnej książki, a więc artykułu, na stronie zbiorczej tego woluminu.
Parametry funkcji zwracanej:
* {{Code|parametr}} - jest to dowolny parametr, w: {{Code|{{ld2|StronicowyParser/StronaSubst}}}}, przyjmuje wartość: {{Code|nil}}.
===== {{Śródtytuł|TakFun}}{{Code|TakFun}} =====
Funkcja zwracająca inną funkcję, której wywołanie jest funkcją z: {{LinkPatrz|TakFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zwraca zawsze wartość odpowiadającą wartości logicznej prawdziwej. Z tą funkcją mamy do czynienia, gdy mamy do czynienia ze stronami zbiorczymi odpowiadzialnymi za stronę o nazwie artykułu równej: subnazwie książki, lub mającej specjalną nazwę: {{Code|Wersja do druku}}.
Definicja pogladowa funkcji:
<syntaxhighlight lang="lua">
local TakFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)
return function(tab_lista_artykulow_w_ksiazce,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)
AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
return "tak";
end;
end;
</syntaxhighlight>
Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieWoluminu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale nie rozdziałowej, tzn. te jednostki, które nie są zbiorczym obiektem dla stron danego rozdziału.
Parametry funkcji:
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}},
* {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}},
* {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}},
* {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}.
Parametry funkcji zwracanej:
* {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} =====
Funkcja zwraca inna funkcję, która jest tym: {{LinkPatrz|FunRozdzial-AnalizaStronaSubst}}, z: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zawsze zwraca wartość odpowiadająca wartości logicznej prawdziwej. Funkcja używana, gdy mamy do czynienia, ze stronami zbiorczymi odpowiadzialnymi za rozdziały, która zbiera artykuły danego rozdziału.
Definicja poglądowa funkcji:
<syntaxhighlight lang="lua">
local FunRozdzial=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)
return function(tab_lista_artykulow_w_ksiazce,substrona,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki)
AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki);
return "tak";
end;
end;
</syntaxhighlight>
Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale nie rozdziałowej, tzn. te jednostki, które nie są zbiorczym obiektem dla stron danego rozdziału.
Parametry funkcji:
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}},
* {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}},
* {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}},
* {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}.
Parametry funkcji zwracanej:
* {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}},
* {{Code|substrona}} - nazwa artykułu strony zbiorczej rozdziałowej,
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
s1v639xjnh5sfc4b12gd82ny8xwvy2v
543501
543500
2026-05-19T19:05:20Z
Persino
2851
/* {{Śródtytuł|NieFun}}{{Code|NieFun}} */
543501
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} ==
Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}.
Gdy dany artykuł, jest nie równy: {{Code|Wersja do druku}}, i subnazwie ksiązki {{LinkPatrz|nazwa_artykulu}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun-AnalizaStronaSubst,NieFun-AnalizaStronaSubst,FunRozdzial-AnalizaStronaSubst,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
; Najważniejsze zmienne{{Dk}}
* {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}},
* {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}.
; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}}
* {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}.
; Funkcje{{Dk}}
* {{Code|TakFun}} {{Patrz|TakFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową,
* {{Code|NieFun}} {{Patrz|NieFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa,
* {{Code|FunRozdzial}} {{Patrz|FunRozdzial-AnalizaStronaSubst}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun-AnalizaStronaSubst}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału.
; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}}
* {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy,
* {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka,
* {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły,
* {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki.
A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana.
Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza.
== {{Code|p.LiczOperacjeStronZbiorczych}} ==
Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej.
=== Opis funkcji ===
Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst-Szablon}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst-Szablon}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}.
Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst-Szablon}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}).
Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}},
* {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony,
* {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}},
* {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}},
* {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}},
* {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić.
=== Funkcje lokalne ===
==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ====
Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function CzyStronaSubst()...end;
</syntaxhighlight>
Parametry funkcji:
* Brak parametrów.
Przykład analizy funkcji, podając je właściwie ciało:
<syntaxhighlight lang="lua">
if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then
glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak";
end;
</syntaxhighlight>
==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ====
Funkcja wyszukuje w zakodowanym tekście szablony: {{LinkPatrz|StronaSubst-Szablon}} i {{LinkPatrz|KsiążkaSubst-Szablon}}, przy pomocy: {{linkPatrz|tablica_obiektow_strony_dany_modul_strony}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} {{LinkPatrz|StronaSubst-WoluminSubst}} i {{Code|KsiążkaSubst}} {{LinkPatrz|KsiazkaSubst-WoluminSubst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}},
* {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}},
* {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}},
* {{Code|StronaSubst}} {{Patrz|StronaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst-Szablon}},
* {{Code|KsiazkaSubst}} {{Patrz|KsiazkaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst-Szablon}}.
Przykłady wykorzystania:
<syntaxhighlight lang="lua">
WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
...
StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
end,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
...
p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny));
end
);
</syntaxhighlight>
Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}.
==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ====
Funkcja liczy łańcuch znakowy odpowiadający pojedynczemu wywołaniu, dotyczący danego rozdziału strony zbiorczej, czyli dla pojedynczego wywołania szablonu: {{LinkPatrz|StronaSubst-Szablon}}, lub dla pojedynczego artykułu z wielu generowanych przez szablon: {{LinkPatrz|KsiążkaSubst-Szablon}}. Szablon tworzy rozdział w postaci linku do artykułu, wtedy w tekście rozdziału nie jest podawany adres pełny artykułu, a jeżeli ona nie jest linkiem, to rozdział jest w postaci tekstu, wtedy w tekście rozdziału jest podawany pełny adres artykułu, a jeżeli, mamy włączony postęp, wtedy to jest ukryte właściwością '''CSS''': {{Code|display:none}}.
Rozdział jest pod elementem {{Tag|div|parametry=style="display:block;" class="rozdział_książki"}}, o odpowiednim poziomie, gdy poziom jest {{Code|nil}}, to wtedy przyjmuje on domyślną wartość {{Code|1}}, tworzonym przez funkcję: {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}. Następnym elementem jest postęp, pod warunkiem, jeżeli ustawiono zmienną: {{Code|postep}}, a dalej w osobnym: {{Tag|div|parametry=class="strona_subst"}}, jest zawartość rozdziału w postaci naszego adresu, lub w postaci wartości pustej, gdy rozdział jest linkiem według ustawień funkcji: {{LinkŚródtytuł|StronaSubst}}, a więc i w przypadku szablonu: {{LinkPatrz|StronaSubst-Szablon}}, gdy ta funkcja została wywołana przez niego.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function StronaSubstParametr(strona,naglowek_strony,link,p,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|strona}} {{Patrz|strona-StronaSubstParametr}} - jak w: {{LinkPatrz|1-StronaSubst}},
* {{Code|naglowek_strony}} {{Patrz|naglowek_strony-StronaSubstParametr}} - nagłówek strony tworzony z pełnego adresu strony, który jest podstroną wraz z nagłówkiem,
* {{Code|link}} {{Patrz|link-StronaSubstParametr}} - jak w: {{LinkPatrz|link-StronaSubst}}, tylko ta zmienna jest w postaci logicznej, jak ta ostatnia jest niepusta, wtedy ta zmienna odpowiada wartości logicznej prawda, w przeciwnym wypadku mamy fałsz,
* {{Code|p}} {{Patrz|p-StronaSubstParametr}} - postęp tworzonego nagłówka, jeżeli {{Code|p {{=}} nil}}, wtedy domyślny poziom jest 1, ten poziom jest liczba calkowitą dodatnią,
* {{Code|postep}} {{Patrz|postep-StronaSubstParametr}} - jak w: {{LinkPatrz|postep-StronaSubst}}, z wartością logiczną jest jak w: {{LinkPatrz|link-StronaSubstParametr}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ====
==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ====
==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ====
==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ====
==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ====
Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst-Szablon}}, na danym artykule, w książce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej, przy pomocy zmiennych nazw pod warunkiem, gdy mamy argument: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywy, wtedy zbieramy parametry różnych książek dla strony zbiorczej ustawionej za pomocą parametrów pudełkowych, w innym przypadku parametry strony zbiorczej należącego do aktualnej książki. Też możemy liczyć parametry stron zbiorczych z poziomu innych stron przy pomocy parametrów pudełkowych.
Funkcja korzysta z: {{LinkŚródtytuł|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_paStronaSubstInnerametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst-Szablon}},
* {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki,
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}:
* {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki,
* {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem,
* {{Code|postep}} {{Patrz|postep-StronaSubst}} - uruchamia postęp zamiast wyświetlania tekstu linku w postaci pełnego adresu strony, ewentualnie z nagłówkiem, kiedy nagłówek nie jest linkiem do artykułu strony, a gdy jest link według {{LinkPatrz|link-StronaSubst}}, to wtedy tylko wyświetli się postęp.
Gdy artykuł jest równy nazwie książki lub w wersji: {{Code|Wersja do druku}}, to wtedy funkcja zwraca wartość pustą, a jeżeli została już policzona jego zawartość w postaci aktualnej książki, to funkcja zwraca tą wartość.
Funkcja liczy elementy spisu treści ogólnego spisu treści, jak szablony spisu rzeczy w postaci graficznej: {{s|Spis treści}} i {{s|TOCRamka}}, albo tekstowej: {{s|TOC}}.
Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, jest prawidziwy, wtedy funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica:
<syntaxhighlight lang="lua">
glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str;
</syntaxhighlight>
A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywa, wtedy dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica:
<syntaxhighlight lang="lua">
glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str;
</syntaxhighlight>
{{Hr}}
W obu tworzonych tabelach zależy od parametru, od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty, a pod: {{Code|str}}, jest ukryta zawartość szablonu {{LinkPatrz|StronaSubst-Szablon}}.
==== KsiążkaSubst ====
===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} =====
===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} =====
==== Funkcje analizujące strony zbiorcze lub inne ====
===== {{Śródtytuł|NieFun}}{{Code|NieFun}} =====
Jest to funkcja zwracająca inną funkcję, która to z kolei zwraca zawsze wartość pustą. Funkcja zwracana jest to funkcja: {{LinkPatrz|NieFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Ta funkcja jest wykorzystywana wtedy, gdy nie mamy do czynienia z żadną stroną zbiorczą, tylko ze zwykłym artykułem.
Definicja poglądowa funkcji:
<syntaxhighlight lang="lua">
local NieFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)
return function(parametr) return "";end;
end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu-NieFun}} - tabela parametrów szablonu: {{LinkPatrz|KsiążkaSubst-Szablon}},
* {{Code|nazwa_szablonu}} {{Patrz|nazwa_szablonu-NieFun}} - nazwa tego szablonu,
* {{Code|tabela_modyfikatorow}} {{Patrz|tabela_modyfikatorow-NieFun}} - tabela jego modyfikatorów,
* {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny-NieFun}} - czy dotyczy aktualnej książki, a więc artykułu, na stronie zbiorczej tego woluminu.
Parametry funkcji zwracanej:
* {{Code|parametr}} - jest to dowolny parametr, w: {{Code|{{ld2|StronicowyParser/StronaSubst}}}}, przyjmuje wartość: {{Code|nil}}.
===== {{Śródtytuł|TakFun}}{{Code|TakFun}} =====
Funkcja zwracająca inną funkcję, której wywołanie jest funkcją z: {{LinkPatrz|TakFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zwraca zawsze wartość odpowiadającą wartości logicznej prawdziwej. Z tą funkcją mamy do czynienia, gdy mamy do czynienia ze stronami zbiorczymi odpowiadzialnymi za stronę o nazwie artykułu równej: subnazwie książki, lub mającej specjalną nazwę: {{Code|Wersja do druku}}.
Definicja pogladowa funkcji:
<syntaxhighlight lang="lua">
local TakFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)
return function(tab_lista_artykulow_w_ksiazce,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)
AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
return "tak";
end;
end;
</syntaxhighlight>
Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieWoluminu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale nie rozdziałowej, tzn. te jednostki, które nie są zbiorczym obiektem dla stron danego rozdziału.
Parametry funkcji:
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}},
* {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}},
* {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}},
* {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}.
Parametry funkcji zwracanej:
* {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} =====
Funkcja zwraca inna funkcję, która jest tym: {{LinkPatrz|FunRozdzial-AnalizaStronaSubst}}, z: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zawsze zwraca wartość odpowiadająca wartości logicznej prawdziwej. Funkcja używana, gdy mamy do czynienia, ze stronami zbiorczymi odpowiadzialnymi za rozdziały, która zbiera artykuły danego rozdziału.
Definicja poglądowa funkcji:
<syntaxhighlight lang="lua">
local FunRozdzial=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)
return function(tab_lista_artykulow_w_ksiazce,substrona,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki)
AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki);
return "tak";
end;
end;
</syntaxhighlight>
Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale nie rozdziałowej, tzn. te jednostki, które nie są zbiorczym obiektem dla stron danego rozdziału.
Parametry funkcji:
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}},
* {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}},
* {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}},
* {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}.
Parametry funkcji zwracanej:
* {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}},
* {{Code|substrona}} - nazwa artykułu strony zbiorczej rozdziałowej,
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
6fniaztu857qjid6rw1dmxnh8s6df3n
543502
543501
2026-05-19T19:07:27Z
Persino
2851
/* Funkcje analizujące strony zbiorcze lub inne */
543502
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} ==
Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}.
Gdy dany artykuł, jest nie równy: {{Code|Wersja do druku}}, i subnazwie ksiązki {{LinkPatrz|nazwa_artykulu}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun-AnalizaStronaSubst,NieFun-AnalizaStronaSubst,FunRozdzial-AnalizaStronaSubst,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
; Najważniejsze zmienne{{Dk}}
* {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}},
* {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}.
; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}}
* {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}.
; Funkcje{{Dk}}
* {{Code|TakFun}} {{Patrz|TakFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową,
* {{Code|NieFun}} {{Patrz|NieFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa,
* {{Code|FunRozdzial}} {{Patrz|FunRozdzial-AnalizaStronaSubst}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun-AnalizaStronaSubst}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału.
; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}}
* {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy,
* {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka,
* {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły,
* {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki.
A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana.
Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza.
== {{Code|p.LiczOperacjeStronZbiorczych}} ==
Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej.
=== Opis funkcji ===
Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst-Szablon}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst-Szablon}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}.
Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst-Szablon}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}).
Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}},
* {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony,
* {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}},
* {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}},
* {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}},
* {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić.
=== Funkcje lokalne ===
==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ====
Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function CzyStronaSubst()...end;
</syntaxhighlight>
Parametry funkcji:
* Brak parametrów.
Przykład analizy funkcji, podając je właściwie ciało:
<syntaxhighlight lang="lua">
if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then
glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak";
end;
</syntaxhighlight>
==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ====
Funkcja wyszukuje w zakodowanym tekście szablony: {{LinkPatrz|StronaSubst-Szablon}} i {{LinkPatrz|KsiążkaSubst-Szablon}}, przy pomocy: {{linkPatrz|tablica_obiektow_strony_dany_modul_strony}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} {{LinkPatrz|StronaSubst-WoluminSubst}} i {{Code|KsiążkaSubst}} {{LinkPatrz|KsiazkaSubst-WoluminSubst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}},
* {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}},
* {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}},
* {{Code|StronaSubst}} {{Patrz|StronaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst-Szablon}},
* {{Code|KsiazkaSubst}} {{Patrz|KsiazkaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst-Szablon}}.
Przykłady wykorzystania:
<syntaxhighlight lang="lua">
WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
...
StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
end,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
...
p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny));
end
);
</syntaxhighlight>
Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}.
==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ====
Funkcja liczy łańcuch znakowy odpowiadający pojedynczemu wywołaniu, dotyczący danego rozdziału strony zbiorczej, czyli dla pojedynczego wywołania szablonu: {{LinkPatrz|StronaSubst-Szablon}}, lub dla pojedynczego artykułu z wielu generowanych przez szablon: {{LinkPatrz|KsiążkaSubst-Szablon}}. Szablon tworzy rozdział w postaci linku do artykułu, wtedy w tekście rozdziału nie jest podawany adres pełny artykułu, a jeżeli ona nie jest linkiem, to rozdział jest w postaci tekstu, wtedy w tekście rozdziału jest podawany pełny adres artykułu, a jeżeli, mamy włączony postęp, wtedy to jest ukryte właściwością '''CSS''': {{Code|display:none}}.
Rozdział jest pod elementem {{Tag|div|parametry=style="display:block;" class="rozdział_książki"}}, o odpowiednim poziomie, gdy poziom jest {{Code|nil}}, to wtedy przyjmuje on domyślną wartość {{Code|1}}, tworzonym przez funkcję: {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}. Następnym elementem jest postęp, pod warunkiem, jeżeli ustawiono zmienną: {{Code|postep}}, a dalej w osobnym: {{Tag|div|parametry=class="strona_subst"}}, jest zawartość rozdziału w postaci naszego adresu, lub w postaci wartości pustej, gdy rozdział jest linkiem według ustawień funkcji: {{LinkŚródtytuł|StronaSubst}}, a więc i w przypadku szablonu: {{LinkPatrz|StronaSubst-Szablon}}, gdy ta funkcja została wywołana przez niego.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function StronaSubstParametr(strona,naglowek_strony,link,p,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|strona}} {{Patrz|strona-StronaSubstParametr}} - jak w: {{LinkPatrz|1-StronaSubst}},
* {{Code|naglowek_strony}} {{Patrz|naglowek_strony-StronaSubstParametr}} - nagłówek strony tworzony z pełnego adresu strony, który jest podstroną wraz z nagłówkiem,
* {{Code|link}} {{Patrz|link-StronaSubstParametr}} - jak w: {{LinkPatrz|link-StronaSubst}}, tylko ta zmienna jest w postaci logicznej, jak ta ostatnia jest niepusta, wtedy ta zmienna odpowiada wartości logicznej prawda, w przeciwnym wypadku mamy fałsz,
* {{Code|p}} {{Patrz|p-StronaSubstParametr}} - postęp tworzonego nagłówka, jeżeli {{Code|p {{=}} nil}}, wtedy domyślny poziom jest 1, ten poziom jest liczba calkowitą dodatnią,
* {{Code|postep}} {{Patrz|postep-StronaSubstParametr}} - jak w: {{LinkPatrz|postep-StronaSubst}}, z wartością logiczną jest jak w: {{LinkPatrz|link-StronaSubstParametr}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ====
==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ====
==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ====
==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ====
==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ====
Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst-Szablon}}, na danym artykule, w książce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej, przy pomocy zmiennych nazw pod warunkiem, gdy mamy argument: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywy, wtedy zbieramy parametry różnych książek dla strony zbiorczej ustawionej za pomocą parametrów pudełkowych, w innym przypadku parametry strony zbiorczej należącego do aktualnej książki. Też możemy liczyć parametry stron zbiorczych z poziomu innych stron przy pomocy parametrów pudełkowych.
Funkcja korzysta z: {{LinkŚródtytuł|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_paStronaSubstInnerametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst-Szablon}},
* {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki,
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}:
* {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki,
* {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem,
* {{Code|postep}} {{Patrz|postep-StronaSubst}} - uruchamia postęp zamiast wyświetlania tekstu linku w postaci pełnego adresu strony, ewentualnie z nagłówkiem, kiedy nagłówek nie jest linkiem do artykułu strony, a gdy jest link według {{LinkPatrz|link-StronaSubst}}, to wtedy tylko wyświetli się postęp.
Gdy artykuł jest równy nazwie książki lub w wersji: {{Code|Wersja do druku}}, to wtedy funkcja zwraca wartość pustą, a jeżeli została już policzona jego zawartość w postaci aktualnej książki, to funkcja zwraca tą wartość.
Funkcja liczy elementy spisu treści ogólnego spisu treści, jak szablony spisu rzeczy w postaci graficznej: {{s|Spis treści}} i {{s|TOCRamka}}, albo tekstowej: {{s|TOC}}.
Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, jest prawidziwy, wtedy funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica:
<syntaxhighlight lang="lua">
glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str;
</syntaxhighlight>
A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywa, wtedy dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica:
<syntaxhighlight lang="lua">
glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str;
</syntaxhighlight>
{{Hr}}
W obu tworzonych tabelach zależy od parametru, od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty, a pod: {{Code|str}}, jest ukryta zawartość szablonu {{LinkPatrz|StronaSubst-Szablon}}.
==== KsiążkaSubst ====
===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} =====
===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} =====
==== Funkcje analizujące strony zbiorcze lub inne ====
===== {{Śródtytuł|NieFun}}{{Code|NieFun}} =====
Jest to funkcja zwracająca inną funkcję, która to z kolei zwraca zawsze wartość pustą. Funkcja zwracana jest to funkcja: {{LinkPatrz|NieFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Ta funkcja zwracana przez funkcję w nagłówku jest wykorzystywana wtedy, gdy nie mamy do czynienia z żadną stroną zbiorczą, tylko ze zwykłym artykułem.
Definicja poglądowa funkcji:
<syntaxhighlight lang="lua">
local NieFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)
return function(parametr) return "";end;
end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu-NieFun}} - tabela parametrów szablonu: {{LinkPatrz|KsiążkaSubst-Szablon}},
* {{Code|nazwa_szablonu}} {{Patrz|nazwa_szablonu-NieFun}} - nazwa tego szablonu,
* {{Code|tabela_modyfikatorow}} {{Patrz|tabela_modyfikatorow-NieFun}} - tabela jego modyfikatorów,
* {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny-NieFun}} - czy dotyczy aktualnej książki, a więc artykułu, na stronie zbiorczej tego woluminu.
Parametry funkcji zwracanej:
* {{Code|parametr}} - jest to dowolny parametr, w: {{Code|{{ld2|StronicowyParser/StronaSubst}}}}, przyjmuje wartość: {{Code|nil}}.
===== {{Śródtytuł|TakFun}}{{Code|TakFun}} =====
Funkcja zwracająca inną funkcję, której wywołanie jest funkcją z: {{LinkPatrz|TakFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zwraca zawsze wartość odpowiadającą wartości logicznej prawdziwej. Tą funkcją zwracaną przez funkcję w nagłówku mamy do czynienia, gdy mamy do czynienia ze stronami zbiorczymi odpowiadzialnymi za stronę o nazwie artykułu równej: subnazwie książki, lub mającej specjalną nazwę: {{Code|Wersja do druku}}.
Definicja pogladowa funkcji:
<syntaxhighlight lang="lua">
local TakFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)
return function(tab_lista_artykulow_w_ksiazce,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)
AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
return "tak";
end;
end;
</syntaxhighlight>
Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieWoluminu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale nie rozdziałowej, tzn. te jednostki, które nie są zbiorczym obiektem dla stron danego rozdziału.
Parametry funkcji:
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}},
* {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}},
* {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}},
* {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}.
Parametry funkcji zwracanej:
* {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} =====
Funkcja zwraca inna funkcję, która jest tym: {{LinkPatrz|FunRozdzial-AnalizaStronaSubst}}, z: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zawsze zwraca wartość odpowiadająca wartości logicznej prawdziwej. Tą funkcję zwracaną przez funkcję w nagłówku używaną, gdy mamy do czynienia, ze stronami zbiorczymi odpowiadzialnymi za rozdziały, która zbiera artykuły danego rozdziału.
Definicja poglądowa funkcji:
<syntaxhighlight lang="lua">
local FunRozdzial=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)
return function(tab_lista_artykulow_w_ksiazce,substrona,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki)
AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki);
return "tak";
end;
end;
</syntaxhighlight>
Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale nie rozdziałowej, tzn. te jednostki, które nie są zbiorczym obiektem dla stron danego rozdziału.
Parametry funkcji:
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}},
* {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}},
* {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}},
* {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}.
Parametry funkcji zwracanej:
* {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}},
* {{Code|substrona}} - nazwa artykułu strony zbiorczej rozdziałowej,
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
6oga2e60w67juwxvspw428cvxmp2csy
543503
543502
2026-05-19T19:13:07Z
Persino
2851
/* {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} */
543503
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} ==
Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}.
Gdy dany artykuł, jest nie równy: {{Code|Wersja do druku}}, i subnazwie ksiązki {{LinkPatrz|nazwa_artykulu}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun-AnalizaStronaSubst,NieFun-AnalizaStronaSubst,FunRozdzial-AnalizaStronaSubst,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
; Najważniejsze zmienne{{Dk}}
* {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}},
* {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}.
; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}}
* {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}.
; Funkcje{{Dk}}
* {{Code|TakFun}} {{Patrz|TakFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową,
* {{Code|NieFun}} {{Patrz|NieFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa,
* {{Code|FunRozdzial}} {{Patrz|FunRozdzial-AnalizaStronaSubst}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun-AnalizaStronaSubst}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału.
; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}}
* {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy,
* {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka,
* {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły,
* {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki.
A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana.
Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza.
== {{Code|p.LiczOperacjeStronZbiorczych}} ==
Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej.
=== Opis funkcji ===
Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst-Szablon}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst-Szablon}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}.
Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst-Szablon}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}).
Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}},
* {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony,
* {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}},
* {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}},
* {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}},
* {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić.
=== Funkcje lokalne ===
==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ====
Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function CzyStronaSubst()...end;
</syntaxhighlight>
Parametry funkcji:
* Brak parametrów.
Przykład analizy funkcji, podając je właściwie ciało:
<syntaxhighlight lang="lua">
if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then
glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak";
end;
</syntaxhighlight>
==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ====
Funkcja wyszukuje w zakodowanym tekście szablony: {{LinkPatrz|StronaSubst-Szablon}} i {{LinkPatrz|KsiążkaSubst-Szablon}}, przy pomocy: {{linkPatrz|tablica_obiektow_strony_dany_modul_strony}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} {{LinkPatrz|StronaSubst-WoluminSubst}} i {{Code|KsiążkaSubst}} {{LinkPatrz|KsiazkaSubst-WoluminSubst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}},
* {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}},
* {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}},
* {{Code|StronaSubst}} {{Patrz|StronaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst-Szablon}},
* {{Code|KsiazkaSubst}} {{Patrz|KsiazkaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst-Szablon}}.
Przykłady wykorzystania:
<syntaxhighlight lang="lua">
WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
...
StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
end,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
...
p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny));
end
);
</syntaxhighlight>
Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}.
==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ====
Funkcja liczy łańcuch znakowy odpowiadający pojedynczemu wywołaniu, dotyczący danego rozdziału strony zbiorczej, czyli dla pojedynczego wywołania szablonu: {{LinkPatrz|StronaSubst-Szablon}}, lub dla pojedynczego artykułu z wielu generowanych przez szablon: {{LinkPatrz|KsiążkaSubst-Szablon}}. Szablon tworzy rozdział w postaci linku do artykułu, wtedy w tekście rozdziału nie jest podawany adres pełny artykułu, a jeżeli ona nie jest linkiem, to rozdział jest w postaci tekstu, wtedy w tekście rozdziału jest podawany pełny adres artykułu, a jeżeli, mamy włączony postęp, wtedy to jest ukryte właściwością '''CSS''': {{Code|display:none}}.
Rozdział jest pod elementem {{Tag|div|parametry=style="display:block;" class="rozdział_książki"}}, o odpowiednim poziomie, gdy poziom jest {{Code|nil}}, to wtedy przyjmuje on domyślną wartość {{Code|1}}, tworzonym przez funkcję: {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}. Następnym elementem jest postęp, pod warunkiem, jeżeli ustawiono zmienną: {{Code|postep}}, a dalej w osobnym: {{Tag|div|parametry=class="strona_subst"}}, jest zawartość rozdziału w postaci naszego adresu, lub w postaci wartości pustej, gdy rozdział jest linkiem według ustawień funkcji: {{LinkŚródtytuł|StronaSubst}}, a więc i w przypadku szablonu: {{LinkPatrz|StronaSubst-Szablon}}, gdy ta funkcja została wywołana przez niego.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function StronaSubstParametr(strona,naglowek_strony,link,p,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|strona}} {{Patrz|strona-StronaSubstParametr}} - jak w: {{LinkPatrz|1-StronaSubst}},
* {{Code|naglowek_strony}} {{Patrz|naglowek_strony-StronaSubstParametr}} - nagłówek strony tworzony z pełnego adresu strony, który jest podstroną wraz z nagłówkiem,
* {{Code|link}} {{Patrz|link-StronaSubstParametr}} - jak w: {{LinkPatrz|link-StronaSubst}}, tylko ta zmienna jest w postaci logicznej, jak ta ostatnia jest niepusta, wtedy ta zmienna odpowiada wartości logicznej prawda, w przeciwnym wypadku mamy fałsz,
* {{Code|p}} {{Patrz|p-StronaSubstParametr}} - postęp tworzonego nagłówka, jeżeli {{Code|p {{=}} nil}}, wtedy domyślny poziom jest 1, ten poziom jest liczba calkowitą dodatnią,
* {{Code|postep}} {{Patrz|postep-StronaSubstParametr}} - jak w: {{LinkPatrz|postep-StronaSubst}}, z wartością logiczną jest jak w: {{LinkPatrz|link-StronaSubstParametr}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ====
==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ====
==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ====
==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ====
==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ====
Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst-Szablon}}, na danym artykule, w książce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej, przy pomocy zmiennych nazw pod warunkiem, gdy mamy argument: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywy, wtedy zbieramy parametry różnych książek dla strony zbiorczej ustawionej za pomocą parametrów pudełkowych, w innym przypadku parametry strony zbiorczej należącego do aktualnej książki. Też możemy liczyć parametry stron zbiorczych z poziomu innych stron przy pomocy parametrów pudełkowych.
Funkcja korzysta z: {{LinkŚródtytuł|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_paStronaSubstInnerametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst-Szablon}},
* {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki,
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}:
* {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki,
* {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem,
* {{Code|postep}} {{Patrz|postep-StronaSubst}} - uruchamia postęp zamiast wyświetlania tekstu linku w postaci pełnego adresu strony, ewentualnie z nagłówkiem, kiedy nagłówek nie jest linkiem do artykułu strony, a gdy jest link według {{LinkPatrz|link-StronaSubst}}, to wtedy tylko wyświetli się postęp.
Gdy artykuł jest równy nazwie książki lub w wersji: {{Code|Wersja do druku}}, to wtedy funkcja zwraca wartość pustą, a jeżeli została już policzona jego zawartość w postaci aktualnej książki, to funkcja zwraca tą wartość.
Funkcja liczy elementy spisu treści ogólnego spisu treści, jak szablony spisu rzeczy w postaci graficznej: {{s|Spis treści}} i {{s|TOCRamka}}, albo tekstowej: {{s|TOC}}.
Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, jest prawidziwy, wtedy funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica:
<syntaxhighlight lang="lua">
glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str;
</syntaxhighlight>
A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywa, wtedy dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica:
<syntaxhighlight lang="lua">
glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str;
</syntaxhighlight>
{{Hr}}
W obu tworzonych tabelach zależy od parametru, od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty, a pod: {{Code|str}}, jest ukryta zawartość szablonu {{LinkPatrz|StronaSubst-Szablon}}.
==== KsiążkaSubst ====
===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} =====
===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} =====
==== Funkcje analizujące strony zbiorcze lub inne ====
===== {{Śródtytuł|NieFun}}{{Code|NieFun}} =====
Jest to funkcja zwracająca inną funkcję, która to z kolei zwraca zawsze wartość pustą. Funkcja zwracana jest to funkcja: {{LinkPatrz|NieFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Ta funkcja zwracana przez funkcję w nagłówku jest wykorzystywana wtedy, gdy nie mamy do czynienia z żadną stroną zbiorczą, tylko ze zwykłym artykułem.
Definicja poglądowa funkcji:
<syntaxhighlight lang="lua">
local NieFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)
return function(parametr) return "";end;
end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu-NieFun}} - tabela parametrów szablonu: {{LinkPatrz|KsiążkaSubst-Szablon}},
* {{Code|nazwa_szablonu}} {{Patrz|nazwa_szablonu-NieFun}} - nazwa tego szablonu,
* {{Code|tabela_modyfikatorow}} {{Patrz|tabela_modyfikatorow-NieFun}} - tabela jego modyfikatorów,
* {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny-NieFun}} - czy dotyczy aktualnej książki, a więc artykułu, na stronie zbiorczej tego woluminu.
Parametry funkcji zwracanej:
* {{Code|parametr}} - jest to dowolny parametr, w: {{Code|{{ld2|StronicowyParser/StronaSubst}}}}, przyjmuje wartość: {{Code|nil}}.
===== {{Śródtytuł|TakFun}}{{Code|TakFun}} =====
Funkcja zwracająca inną funkcję, której wywołanie jest funkcją z: {{LinkPatrz|TakFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zwraca zawsze wartość odpowiadającą wartości logicznej prawdziwej. Tą funkcją zwracaną przez funkcję w nagłówku mamy do czynienia, gdy mamy do czynienia ze stronami zbiorczymi odpowiadzialnymi za stronę o nazwie artykułu równej: subnazwie książki, lub mającej specjalną nazwę: {{Code|Wersja do druku}}.
Definicja pogladowa funkcji:
<syntaxhighlight lang="lua">
local TakFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)
return function(tab_lista_artykulow_w_ksiazce,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)
AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
return "tak";
end;
end;
</syntaxhighlight>
Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieWoluminu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale nie rozdziałowej, tzn. te jednostki, które nie są zbiorczym obiektem dla stron danego rozdziału.
Parametry funkcji:
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}},
* {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}},
* {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}},
* {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}.
Parametry funkcji zwracanej:
* {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} =====
Funkcja zwraca inna funkcję, która jest tym: {{LinkPatrz|FunRozdzial-AnalizaStronaSubst}}, z: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zawsze zwraca wartość odpowiadająca wartości logicznej prawdziwej. Tą funkcję zwracaną przez funkcję w nagłówku używaną, gdy mamy do czynienia, ze stronami zbiorczymi odpowiadzialnymi za rozdziały, która zbiera artykuły danego rozdziału.
Definicja poglądowa funkcji:
<syntaxhighlight lang="lua">
local FunRozdzial=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)
return function(tab_lista_artykulow_w_ksiazce,substrona,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki)
AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki);
return "tak";
end;
end;
</syntaxhighlight>
Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale rozdziałowej, tzn. te jednostki, które są zbiorczym obiektem dla stron danego rozdziału.
Parametry funkcji:
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}},
* {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}},
* {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}},
* {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}.
Parametry funkcji zwracanej:
* {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}},
* {{Code|substrona}} - nazwa artykułu strony zbiorczej rozdziałowej,
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
ndkki3ruyj85mov0ihu7cvcdklh4dbl
543504
543503
2026-05-19T19:20:50Z
Persino
2851
/* {{Śródtytuł|NieFun}}{{Code|NieFun}} */
543504
wikitext
text/x-wiki
<noinclude>{{ProstaStronaStart
| nagłówek = {{Podrozdział|{{ld2|StronicowyParser/StronaSubst}}|Dokumentacja modułów {{lpg|Lua}} w {{lpr|Lua|Scribunto}}.}}{{Autonawigacja|Pomoc:Spis treści}}
| stopka strony = {{StopkaSpisTreści}}{{Podrozdział|Koniec}}
}}</noinclude>
{{Spis treści}}
== {{Śródtytuł|AnalizaStronaSubst}}{{Code|p.AnalizaStronaSubst}} ==
Funkcja sprawdzająca, czy dana strona dana jest strona zbiorczą o nazwie w wersji do druku: {{Code|Wersja do druku}}, jak: {{lg|Matematyka dla liceum/Wersja do druku}}, lub wersji do czytania o nazwie równej subnazwie danej ksiązki {{LinkPatrz|nazwa_ksiazki}}, np. nazwa książki: {{lg|Matematyka dla liceum}}, to ta strona jest wtedy: {{lg|Matematyka dla liceum/Matematyka dla liceum}}. Funkcja sprawdza, czy dana strona równa nazwie rozdziału, do której należą jakieś artykuły, jest stroną zbiorczą. Aby dana nazwa artykułu {{LinkPatrz|nazwa_artykulu}} była stroną zbiorczą, to nie może być o nazwie: {{Code|Spis treści}}, {{Code|Spis rzeczy}}, {{Code|Bibliografia}} i {{Code|Licencja}}, czyli taką stroną np. jest: {{lg|Matematyka dla liceum/Zaczynamy}}.
Gdy dany artykuł, jest nie równy: {{Code|Wersja do druku}}, i subnazwie ksiązki {{LinkPatrz|nazwa_artykulu}}, należy do zbioru normalnych artykułów, to wtedy to nie jest na pewno stroną zbiorczą.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.AnalizaStronaSubst(tabela_listy_danych_analizy_ksiazki,tab_lista_artykulow_w_ksiazce_spis,pelnanazwastrony,TakFun-AnalizaStronaSubst,NieFun-AnalizaStronaSubst,FunRozdzial-AnalizaStronaSubst,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
; Najważniejsze zmienne{{Dk}}
* {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki}} - tablica, która jest wynikiem, jego wartości zwracanej, działania dołączacza modułów: {{Code|mw.loadData("Module:StronicowyParser/informacje")}}, a w nim zmiennej: {{Code|tablica_zebranych_danych_woluminowych}},
* {{Code|tab_lista_artykulow_w_ksiazce_spis}} {{Patrz|tab_lista_artykulow_w_ksiazce_spis}} - tablica rozdziałów i artykułów oraz o nich informacji, różnych spisów treści należącej do danej książki, ta tablica ma ściśle określoną strukturę omówioną w artykule: {{Code|{{lr2|Moduły/StronicowyParser/SpisTreści}}}}.
; Zmienne potrzebne do zmiany nawigacji na inny niż dany artykuł, czy książkę{{Dk}}
* {{Code|pelnanazwastrony}} {{Patrz|pelnanazwastrony}} - jest to nazwa jednostki z przestrzenią nazw, ona jest wykorzystywana w parametrach pudełkowych: {{Code|{{m|Pudełko}}}}, modułu {{Code|{{ld|StronicowyParser|Stronicowego Parsera}}}}.
; Funkcje{{Dk}}
* {{Code|TakFun}} {{Patrz|TakFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona jest stroną zbiorczą, ale zwykle nierozdziałową,
* {{Code|NieFun}} {{Patrz|NieFun-AnalizaStronaSubst}} - ona (musi być zdefiniowana) jest używana, gdy dana strona nie jest stroną zbiorczą, ale jest artykułem spisu, też w wypadku, gdy strona nie ma artykułów spisu, bo nie jest książką, tylko np. stronami w innej przestrzeni, czy niby-przestrzeni, niż książkowa,
* {{Code|FunRozdzial}} {{Patrz|FunRozdzial-AnalizaStronaSubst}} - ona (funkcja opcjonalna, w przeciwnym wypadku jest wykorzystywane: {{LinkPatrz|TakFun-AnalizaStronaSubst}}) jest używana, gdy dana strona jest zbiorczą, ale rozdziałową, równą nazwie rozdziału.
; Zmienne nazw {{Patrz|ZMIENNE_NAZWOWE}}{{Dk}}
* {{Code|nazwa_przestrzeni}} {{Patrz|nazwa_przestrzeni}} - nazwa przestrzeni nazw, do której należy dany artykuł, czy książka, do której on należy,
* {{Code|nazwa_przestrzeni_ksiazki}} {{Patrz|nazwa_przestrzeni_ksiazki}} - nazwa przestrzeni książki, do której należy dana książka,
* {{Code|nazwa_ksiazki}} - {{Patrz|nazwa_ksiazki}} subnazwa książki, do której należą jej artykuły,
* {{Code|nazwa_artykulu}} {{Patrz|nazwa_artykulu}} - nazwa artykułu danej książki, bez pełnej nazwy książki.
A gdy parametr: {{LinkPatrz|pelnanazwastrony}}, istnieje {{Patrz|pelnanazwastrony-istnieje}}, lub parametry: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}}, lub {{LinkPatrz|nazwa_artykulu}}, nie istnieją, wtedy są uzyskiwane parametry pudełkowe, co na tej podstawie, gdy pełna nazwa strony: {{LinkPatrz|pelnanazwastrony}}, istnieje {{LinkPatrz|pelnanazwastrony-istnieje}}, lub {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, nie istnieje {{Patrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, to są liczone parametry strony z tego, a jeżeli wtedy strona dadal nie ma artykułów, to funkcja jest zatrzymywana, bo np. to ta nibyże książka nie może mieć strony zbiorczej, przeciwnym wypadku otrzymywane są parametry: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A gdy warunki: {{LinkPatrz|pelnanazwastrony-istnieje}} i {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis-nie-istnieje}}, nie są spełnione, to dane są uzyskiwane bezpośrednio z tabeli: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki}}, tzn.: {{LinkPatrz|ZMIENNE_NAZWOWE}}. A jeżeli ten pierwszy warunek nie jest spełniony, to są liczone parametry z: {{linkPatrz|ZMIENNE_NAZWOWE}}, uzyskiwany jest z niego spis rozdziałów i do nich artykułów, w zmiennej {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}}, a jeżeli strona nie może mieć spisu, to funkcja jest zatrzymawana.
Jeżeli spis strony jednak istnieje po policzeniu, lub nie (wtedy to jest parametrem tej funkcji), wtedy funkcja sprawdza, czy nazwa przestrzeni nazw {{LinkPatrz|nazwa_przestrzeni}} jest: {{Np|(main)|link=tak}}, {{Np|Wikijunior|link=tak}}, lub {{Np|Wikibooks|link=tak}} w niby-przestrzeni nazw: {{lr2|Brudnopis}} z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, albo {{Np|User|link=tak}} (ale nie strona główna użytkownka, ale inne strony w tej przestrzeni, co jest policzone z {{LinkPatrz|nazwa_przestrzeni_ksiazki}}). A jeżeli któraś z tych parametrów jest spełnione, wtedy jest sprawdzane, czy artykuł {{LinkPatrz|nazwa_artykulu}}, czy jest artykułem książki, co w przypadku stron zbiorczych rozdziałowych jest anulowany status strony zbiorczej, a w przypadku innym ta strona jest jednak stroną zbiorczą. A w innym wypadku, gdy to nie jest ta rozdziałowa, to jest sprawdzane, czy to jest strona zbiorcza.
== {{Code|p.LiczOperacjeStronZbiorczych}} ==
Tutaj jest zawarty opis tej funkcji i podfunkcji lokalnych dostępne tylko w niej, a nie gdzie indziej.
=== Opis funkcji ===
Gdy strona jest stroną zbiorczą, strona musi być w przestrzeni książkowej, lub gdy parametry pudełkowe: {{Code|{{m|Pudełko}}}}, wskazują na nią, to w przeciwnym wypadku parametry stron zbiorczych nie są liczone i nie są ustawiane, normalnie są liczone, za pomocą wywołań szablonowych: {{Code|{{s|StronaSubst}}}} {{Patrz|StronaSubst-Szablon}} - gdy jest liczony pojedynczy artykuł, {{Code|{{s|KsiążkaSubst}}}} {{Patrz|KsiążkaSubst-Szablon}} - gdy liczymy całą stronę zbiorczą ze wszystkich stron z jakich składa się książka, oprócz artykułów, różnych stron zbiorczych. Ten pierwszy wywołujemy zawsze z parametrami liczonej strony (artykułu książki), a to drugie nie wywołujemy zwykle z parametrami, po prostu wywołanie jest prawie zawsze bezparametrowe. Te szablony umieszczamy na stronie zbiorczej lub symulowanej stronie zbiorczej, za pomocą szablonu {{s|Podręcznik}}, zobacz też zbiór szablonów ustawień {{Code|config}}, tego szablonu, tzn: {{s|Podręcznik/Ustawienia/}} {{Patrz|Podręcznik/Ustawienia/}}, co jest uwarunkowane wewnętrznym kodem w: {{Code|{{ld2|StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}, w funkcji: {{Code|{{sr|#p.PobieranieInformacjiKorzystanejStronyWrazSkojarzonymi|p=StronicowyParser/GłównaFunkcjaZbieraniaDanychStron}}}}.
Przykład ustawień {{LinkPatrz|Podręcznik/Ustawienia/}} symulowanej strony zbiorczej możemy znaleźć na stronie: {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:StronaSubst/config}}}} (szablonu {{LinkPatrz|StronaSubst-Szablon}}) lub {{Code|{{ls2|Podręcznik/Ustawienia/Szablon:KsiążkaSubst/config}}}} (szablonu {{LinkPatrz|KsiążkaSubst-Szablon}}).
Funkcja wykorzystuje jako podstawę do działania procedurę zwracajace jakieś parametry: {{LinkŚródtytuł|AnalizaStronaSubst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
function p.LiczOperacjeStronZbiorczych(glowna_tablica,tekst_rozwiniety_calego_artykulu,spis,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,tablica_danych_parametrow_szablonu_strony)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|glowna_tablica}} {{Patrz|glowna_tablica}} - zmienna taka jak: {{Code|self}}, jest to zmienna obiektowa, co ona pozwaala uruchomić ta funkcję bez tego parametru, jeżeli napiszemy wywołanie tej funkcji nie z: {{Code|.}}, tylko z: {{Code|:}},
* {{Code|tekst_rozwiniety_calego_artykulu}} {{Patrz|tekst_rozwiniety_calego_artykulu}} - tekst zakodowany całej strony,
* {{Code|spis}} {{Patrz|spis}} - jest to spis rozdziałów i jego artykułów, jest to zmienna, taka jak: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}},
* {{Code|nazwa_modulu_strony}} {{Patrz|nazwa_modulu_strony}} - uchwyt bazy danych {{Code|{{m|Szablonowe}}}}, używany zamiast: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}},
* {{Code|tablica_obiektow_strony_dany_modul_strony}} {{Patrz|tablica_obiektow_strony_dany_modul_strony}} - gdy nie podano zmiennej: {{Code|nazwa_modulu_strony}}, wtedy jest używana ta zmienna, jest to zmienna bazy danych, tej samej bazy, co dotyczy: {{LinkPatrz|nazwa_modulu_strony}},
* {{Code|tablica_danych_parametrow_szablonu_strony}} {{Patrz|tablica_danych_parametrow_szablonu_strony}} - zmienna, w której są zawarte rozkładania parametrów tabeli bazy danych: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}}, na czynniki pierwsze, aby znów tego nie robił, gdy pierwszy raz badamy jakiś element jej, to rozłożenie jest umieszzczane w tej właśnie tabeli, a za drugim lub trzecim razem, itd., tego nie robić.
=== Funkcje lokalne ===
==== {{Śródtytuł|CzyStronaSubst}}{{Code|CzyStronaSubst}} ====
Funkcja sprawdzająca, czy składowa tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{Patrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a później jego podelement: {{Code|CzyStronaSubst}} {{Patrz|CzyStronaSubst}}, czy istnieje, a jeżeli tak, to ustaw jego wartość na: {{Code|tak}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function CzyStronaSubst()...end;
</syntaxhighlight>
Parametry funkcji:
* Brak parametrów.
Przykład analizy funkcji, podając je właściwie ciało:
<syntaxhighlight lang="lua">
if(not glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"])then
glowna_tablica.tabela_listy_danych_analizy_ksiazki["CzyStronaSubst"]="tak";
end;
</syntaxhighlight>
==== {{Śródtytuł|WoluminSubst}}{{Code|WoluminSubst}} ====
Funkcja wyszukuje w zakodowanym tekście szablony: {{LinkPatrz|StronaSubst-Szablon}} i {{LinkPatrz|KsiążkaSubst-Szablon}}, przy pomocy: {{linkPatrz|tablica_obiektow_strony_dany_modul_strony}}, wywołując dla nich odpowiednie funkcje: {{Code|StronaSubst}} {{LinkPatrz|StronaSubst-WoluminSubst}} i {{Code|KsiążkaSubst}} {{LinkPatrz|KsiazkaSubst-WoluminSubst}}.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,StronaSubst,KsiazkaSubst)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tekst_rozwiniety_calego_artykulu}} - jak w: {{LinkPatrz|tekst_rozwiniety_calego_artykulu}},
* {{Code|nazwa_modulu_strony}} - jak w: {{LinkPatrz|nazwa_modulu_strony}},
* {{Code|tablica_obiektow_strony_dany_modul_strony}} - jak w: {{LinkPatrz|tablica_obiektow_strony_dany_modul_strony}},
* {{Code|StronaSubst}} {{Patrz|StronaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|StronaSubst-Szablon}},
* {{Code|KsiazkaSubst}} {{Patrz|KsiazkaSubst-WoluminSubst}} - funkcja wywoływana, gdy napotkano szablon {{LinkPatrz|KsiążkaSubst-Szablon}}.
Przykłady wykorzystania:
<syntaxhighlight lang="lua">
WoluminSubst(tekst_rozwiniety_calego_artykulu,nazwa_modulu_strony,tablica_obiektow_strony_dany_modul_strony,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
...
StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
end,
function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,szablon,obiekt,kod)
...
p.AnalizaStronaSubst(glowna_tablica.tabela_listy_danych_analizy_ksiazki,spis_artykulow,pelnanazwastrony,TakFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),NieFun(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny),FunRozdzial(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny));
end
);
</syntaxhighlight>
Funkcja wykorzystuje pierwszą funkcję, wywołując inną funkcję: {{LinkŚródtytuł|StronaSubst}}, a druga funkcję: {{LinkŚródtytuł|AnalizaStronaSubst}}.
==== {{Śródtytuł|StronaSubstParametr}}{{Code|StronaSubstParametr}} ====
Funkcja liczy łańcuch znakowy odpowiadający pojedynczemu wywołaniu, dotyczący danego rozdziału strony zbiorczej, czyli dla pojedynczego wywołania szablonu: {{LinkPatrz|StronaSubst-Szablon}}, lub dla pojedynczego artykułu z wielu generowanych przez szablon: {{LinkPatrz|KsiążkaSubst-Szablon}}. Szablon tworzy rozdział w postaci linku do artykułu, wtedy w tekście rozdziału nie jest podawany adres pełny artykułu, a jeżeli ona nie jest linkiem, to rozdział jest w postaci tekstu, wtedy w tekście rozdziału jest podawany pełny adres artykułu, a jeżeli, mamy włączony postęp, wtedy to jest ukryte właściwością '''CSS''': {{Code|display:none}}.
Rozdział jest pod elementem {{Tag|div|parametry=style="display:block;" class="rozdział_książki"}}, o odpowiednim poziomie, gdy poziom jest {{Code|nil}}, to wtedy przyjmuje on domyślną wartość {{Code|1}}, tworzonym przez funkcję: {{Code|{{sr|#p.NapisWprowadzeniaTekstu|p=StronicowyParser/Rozdziały}}}}. Następnym elementem jest postęp, pod warunkiem, jeżeli ustawiono zmienną: {{Code|postep}}, a dalej w osobnym: {{Tag|div|parametry=class="strona_subst"}}, jest zawartość rozdziału w postaci naszego adresu, lub w postaci wartości pustej, gdy rozdział jest linkiem według ustawień funkcji: {{LinkŚródtytuł|StronaSubst}}, a więc i w przypadku szablonu: {{LinkPatrz|StronaSubst-Szablon}}, gdy ta funkcja została wywołana przez niego.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function StronaSubstParametr(strona,naglowek_strony,link,p,postep,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|strona}} {{Patrz|strona-StronaSubstParametr}} - jak w: {{LinkPatrz|1-StronaSubst}},
* {{Code|naglowek_strony}} {{Patrz|naglowek_strony-StronaSubstParametr}} - nagłówek strony tworzony z pełnego adresu strony, który jest podstroną wraz z nagłówkiem,
* {{Code|link}} {{Patrz|link-StronaSubstParametr}} - jak w: {{LinkPatrz|link-StronaSubst}}, tylko ta zmienna jest w postaci logicznej, jak ta ostatnia jest niepusta, wtedy ta zmienna odpowiada wartości logicznej prawda, w przeciwnym wypadku mamy fałsz,
* {{Code|p}} {{Patrz|p-StronaSubstParametr}} - postęp tworzonego nagłówka, jeżeli {{Code|p {{=}} nil}}, wtedy domyślny poziom jest 1, ten poziom jest liczba calkowitą dodatnią,
* {{Code|postep}} {{Patrz|postep-StronaSubstParametr}} - jak w: {{LinkPatrz|postep-StronaSubst}}, z wartością logiczną jest jak w: {{LinkPatrz|link-StronaSubstParametr}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
==== {{Śródtytuł|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}}{{Code|ListowanieNapisoweWprowadzeniaTekstuOrazAdresuArtykularnego}} ====
==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstu}}{{Code|PoziomNapisowyWprowadzeniaTekstu}} ====
==== {{Śródtytuł|PoziomNapisowyWprowadzeniaTekstuArtykularny}}{{Code|PoziomNapisowyWprowadzeniaTekstuArtykularny}} ====
==== {{Śródtytuł|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}}{{Code|ListowanieNaPodstawieRodzajuNapisuWProwadzeniaTekstu}} ====
==== {{Śródtytuł|StronaSubst}}{{Code|StronaSubst}} ====
Funkcja operująca na parametrach szablonu: {{LinkPatrz|StronaSubst-Szablon}}, na danym artykule, w książce bieżącym lub innym, ale należącym do przestrzeni ksiązkowej, przy pomocy zmiennych nazw pod warunkiem, gdy mamy argument: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywy, wtedy zbieramy parametry różnych książek dla strony zbiorczej ustawionej za pomocą parametrów pudełkowych, w innym przypadku parametry strony zbiorczej należącego do aktualnej książki. Też możemy liczyć parametry stron zbiorczych z poziomu innych stron przy pomocy parametrów pudełkowych.
Funkcja korzysta z: {{LinkŚródtytuł|StronaSubstParametr}}, czyli funkcji liczącej element składowy strony zbiorczej (zawartość), dla danego artykułu.
Definicja skrótowa funkcji:
<syntaxhighlight lang="lua">
local function StronaSubst(tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)...end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_paStronaSubstInnerametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu}} - parametry szablonu: {{LinkPatrz|StronaSubst-Szablon}},
* {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny}} - funkcja mówi, że wykorzystujemy artykuł aktualnej książki,
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}} i {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
Opis parametrów tablicy: {{LinkPatrz|tabela_parametrow_szablonu}}:
* {{Code|1}} {{Patrz|1-StronaSubst}} - artykuł danej książki, bez pełnej nazwy książki,
* {{Code|link}} {{Patrz|link-StronaSubst}} - gdy niepusta, wtedy wyświetlany napis w nagłówku jest linkiem, w przeciwny wypadku zwykłym tekstem,
* {{Code|postep}} {{Patrz|postep-StronaSubst}} - uruchamia postęp zamiast wyświetlania tekstu linku w postaci pełnego adresu strony, ewentualnie z nagłówkiem, kiedy nagłówek nie jest linkiem do artykułu strony, a gdy jest link według {{LinkPatrz|link-StronaSubst}}, to wtedy tylko wyświetli się postęp.
Gdy artykuł jest równy nazwie książki lub w wersji: {{Code|Wersja do druku}}, to wtedy funkcja zwraca wartość pustą, a jeżeli została już policzona jego zawartość w postaci aktualnej książki, to funkcja zwraca tą wartość.
Funkcja liczy elementy spisu treści ogólnego spisu treści, jak szablony spisu rzeczy w postaci graficznej: {{s|Spis treści}} i {{s|TOCRamka}}, albo tekstowej: {{s|TOC}}.
Dla parametru: {{LinkPatrz|czy_artykul_aktualny}}, jest prawidziwy, wtedy funkcja zbiera dane w tabeli: {{LinkPatrz|glowna_tablica}}, a właściwie jej element: {{Code|tabela_listy_danych_analizy_ksiazki}} {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej pod zmienną: {{Code|StronaSubst}} {{Patrz|StronaSubst-StronaSubst}}, jest tworzona ta podtablica:
<syntaxhighlight lang="lua">
glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubst"][strona][(czy_link and "tak" or "")]=str;
</syntaxhighlight>
A gdy zmienna: {{LinkPatrz|czy_artykul_aktualny}}, jest fałszywa, wtedy dla: {{LinkPatrz|tabela_listy_danych_analizy_ksiazki-CzyStronaSubst}}, a w niej podzmienną: {{Code|StronaSubstInne}} {{Patrz|StronaSubstInne-StronaSubst}}, jest tworzona ta podtablica:
<syntaxhighlight lang="lua">
glowna_tablica.tabela_listy_danych_analizy_ksiazki["StronaSubstInne"][nazwa_przestrzeni][nazwa_przestrzeni_ksiazki][nazwa_ksiazki][strona][(czy_link and "tak" or "")]=str;
</syntaxhighlight>
{{Hr}}
W obu tworzonych tabelach zależy od parametru, od wartości zmiennej: {{Code|strona}}, czyli: {{LinkPatrz|1-StronaSubst}}, którą jest nazwą artykułu, a gdy mamy niepustą zmienną: {{LinkPatrz|link-StronaSubst}}, wtedy następna zmienna jest ustawiana na: {{Code|tak}}, w przeciwnym wypadku mamy ciąg pusty, a pod: {{Code|str}}, jest ukryta zawartość szablonu {{LinkPatrz|StronaSubst-Szablon}}.
==== KsiążkaSubst ====
===== {{Śródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}{{Code|AnalizowanieStronyWoluminuWprowadzeniaTekstu}} =====
===== {{Śródtytuł|AnalizowanieWoluminu}}{{Code|AnalizowanieWoluminu}} =====
==== Funkcje analizujące strony zbiorcze lub inne ====
===== {{Śródtytuł|NieFun}}{{Code|NieFun}} =====
Jest to funkcja zwracająca inną funkcję, która to z kolei zwraca zawsze wartość pustą. Funkcja zwracana jest to funkcja: {{LinkPatrz|NieFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Ta funkcja zwracana przez funkcję w nagłówku jest wykorzystywana wtedy, gdy nie mamy do czynienia z żadną stroną zbiorczą, tylko ze zwykłym artykułem.
Definicja poglądowa funkcji:
<syntaxhighlight lang="lua">
local NieFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)
return function(parametr) return "";end;
end;
</syntaxhighlight>
Parametry funkcji:
* {{Code|tabela_parametrow_szablonu}} {{Patrz|tabela_parametrow_szablonu-NieFun}} - tabela parametrów szablonu: {{LinkPatrz|KsiążkaSubst-Szablon}},
* {{Code|nazwa_szablonu}} {{Patrz|nazwa_szablonu-NieFun}} - nazwa tego szablonu,
* {{Code|tabela_modyfikatorow}} {{Patrz|tabela_modyfikatorow-NieFun}} - tabela jego modyfikatorów,
* {{Code|czy_artykul_aktualny}} {{Patrz|czy_artykul_aktualny-NieFun}} - czy dotyczy aktualnej książki, dla danego artykułu, na stronie zbiorczej tego woluminu.
Parametry funkcji zwracanej:
* {{Code|parametr}} - jest to dowolny parametr, w: {{Code|{{ld2|StronicowyParser/StronaSubst}}}}, przyjmuje wartość: {{Code|nil}}.
===== {{Śródtytuł|TakFun}}{{Code|TakFun}} =====
Funkcja zwracająca inną funkcję, której wywołanie jest funkcją z: {{LinkPatrz|TakFun-AnalizaStronaSubst}}, w: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zwraca zawsze wartość odpowiadającą wartości logicznej prawdziwej. Tą funkcją zwracaną przez funkcję w nagłówku mamy do czynienia, gdy mamy do czynienia ze stronami zbiorczymi odpowiadzialnymi za stronę o nazwie artykułu równej: subnazwie książki, lub mającej specjalną nazwę: {{Code|Wersja do druku}}.
Definicja pogladowa funkcji:
<syntaxhighlight lang="lua">
local TakFun=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)
return function(tab_lista_artykulow_w_ksiazce,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu)
AnalizowanieWoluminu(tab_lista_artykulow_w_ksiazce,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki,nazwa_artykulu);
return "tak";
end;
end;
</syntaxhighlight>
Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieWoluminu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale nie rozdziałowej, tzn. te jednostki, które nie są zbiorczym obiektem dla stron danego rozdziału.
Parametry funkcji:
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}},
* {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}},
* {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}},
* {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}.
Parametry funkcji zwracanej:
* {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}},
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
===== {{Śródtytuł|FunRozdzial}}{{Code|FunRozdzial}} =====
Funkcja zwraca inna funkcję, która jest tym: {{LinkPatrz|FunRozdzial-AnalizaStronaSubst}}, z: {{LinkŚródtytuł|AnalizaStronaSubst}}. Funkcja zwracana zawsze zwraca wartość odpowiadająca wartości logicznej prawdziwej. Tą funkcję zwracaną przez funkcję w nagłówku używaną, gdy mamy do czynienia, ze stronami zbiorczymi odpowiadzialnymi za rozdziały, która zbiera artykuły danego rozdziału.
Definicja poglądowa funkcji:
<syntaxhighlight lang="lua">
local FunRozdzial=function(tabela_parametrow_szablonu,nazwa_szablonu,tabela_modyfikatorow,czy_artykul_aktualny)
return function(tab_lista_artykulow_w_ksiazce,substrona,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki)
AnalizowanieStronyWoluminuWprowadzeniaTekstu(tab_lista_artykulow_w_ksiazce,substrona,tabela_parametrow_szablonu,czy_artykul_aktualny,nazwa_przestrzeni,nazwa_przestrzeni_ksiazki,nazwa_ksiazki);
return "tak";
end;
end;
</syntaxhighlight>
Funkcja wywołuje funkcję: {{LinkŚródtytuł|AnalizowanieStronyWoluminuWprowadzeniaTekstu}}, do analizy woluminu, pojedynczego na stronie zbiorczej, ale rozdziałowej, tzn. te jednostki, które są zbiorczym obiektem dla stron danego rozdziału.
Parametry funkcji:
* {{Code|tabela_parametrow_szablonu}} - jak w: {{LinkPatrz|tabela_parametrow_szablonu-NieFun}},
* {{Code|nazwa_szablonu}} - jak w: {{LinkPatrz|nazwa_szablonu-NieFun}},
* {{Code|tabela_modyfikatorow}} - jak w: {{LinkPatrz|tabela_modyfikatorow-NieFun}},
* {{Code|czy_artykul_aktualny}} - jak w: {{LinkPatrz|czy_artykul_aktualny-NieFun}}.
Parametry funkcji zwracanej:
* {{Code|tab_lista_artykulow_w_ksiazce}} - jak w: {{LinkPatrz|tab_lista_artykulow_w_ksiazce_spis}},
* {{Code|substrona}} - nazwa artykułu strony zbiorczej rozdziałowej,
* {{Code|nazwa_przestrzeni}}, {{Code|nazwa_przestrzeni_ksiazki}}, {{Code|nazwa_ksiazki}}, {{Code|nazwa_artykulu}} - kolejno jak w: {{LinkPatrz|nazwa_przestrzeni}}, {{LinkPatrz|nazwa_przestrzeni_ksiazki}}, {{LinkPatrz|nazwa_ksiazki}} i {{LinkPatrz|nazwa_artykulu}}.
{{BrClear}}
<noinclude><!--
-->{{ProstaStronaKoniec}}<!--
-->{{Kategoria|Opisy funkcji, w Lua w Scribunto, w modułach}}<!--
--></noinclude>
j6t1ctcbyc9iol5y8rv1yrvimtxpmkr
Szablon:Wersja do druku/styles.css
10
63556
543466
543339
2026-05-19T13:36:03Z
Persino
2851
543466
sanitized-css
text/css
body:not(.skin--responsive) .wersja_linków_do_stron_zbiorczych{
font-size:12.5px;
line-height:1.4;
max-width:260px;
}
body.skin--responsive .wersja_linków_do_stron_zbiorczych{
font-size:0.725rem;
line-height:1.4;
max-width:16.25rem;
}
.wersja_linków_do_stron_zbiorczych{
display:flex;
flex-direction:row;
clear: right;
width:100%;
border: solid #aaa 1px;
margin: 0 0 1em 1em;
background: #f9f9f9;
text-align:left;
float: right;
}
.wersja_linków_do_stron_zbiorczych > div{
display:flex;
flex-direction:column;
align-items: stretch;
justify-content:center;
padding:0.25em;
}
.wersja_linków_do_stron_zbiorczych > div:nth-child(1){
order:1;
flex-basis:4.375em;
width:auto;
}
.wersja_linków_do_stron_zbiorczych > div:nth-child(2){
order:2;
width:100%;
padding-left:0;
}
@media all and (max-width:745px){
body:not(.skin--responsive) .wersja_linków_do_stron_zbiorczych,
body.skin--responsive .wersja_linków_do_stron_zbiorczych{
max-width:100%;
float:none;
clear:none;
}
.wersja_linków_do_stron_zbiorczych{
margin:0;
margin-bottom:0.25em;
}
}
@media all and (min-width:745px) and (max-device-height:745px){
.wersja_linków_do_stron_zbiorczych{
margin-bottom:0.25em;
}
}
/*{{Kategoria|Szablony - arkusze stylów}}*/
p1ff3r49ngpiu25xd0t819sf0p16pq9
Terapia zajęciowa/Wykaz czynności zawodowych terapeuty zajęciowego
0
63569
543467
2026-05-19T14:18:07Z
~2026-30187-88
38658
Rozporządzenie Ministra Zdrowia z dnia 22 kwietnia 2025 r. w sprawie szczegółowego wykazu czynności zawodowych osób wykonujących niektóre zawody medyczne
543467
wikitext
text/x-wiki
# Budowanie relacji terapeutycznych z pacjentem, jego rodziną, środowiskiem społecznym i zespołem wielodyscyplinarnym:
## dobieranie sposobów komunikacji werbalnej i niewerbalnej dostosowanych do potrzeb oraz możliwości pacjenta;
## pomaganie pacjentom z niepełnosprawnościami, ze specjalnymi potrzebami oraz z zaburzeniami psychicznymi w dostępie do świadczeń zdrowotnych;
## rozwiązywanie sytuacji konfliktowych i sytuacji trudnych;
## prowadzenie działań edukacyjnych w zakresie zachowań prozdrowotnych.
## Rozpoznawanie i diagnozowanie potrzeb biopsychospołecznych, stanu funkcjonalnego pacjenta przez terapeutę zajęciowego we współpracy z zespołem wielodyscyplinarnym:
# analiza informacji o pacjencie zawartych w dostępnej dokumentacji, w tym dokumentacji medycznej pacjenta;
# przeprowadzanie wywiadu z pacjentem, jego rodziną, opiekunem prawnym oraz innymi osobami związanymi z pacjentem oraz analiza informacji uzyskanych w wyniku wywiadu:
## sporządzanie arkusza wywiadu,
## analiza informacji uzyskanych w wyniku wywiadu;
## prowadzenie obserwacji terapeutycznej pacjenta:
## opracowywanie arkuszy obserwacji terapeutycznej pacjenta,
## interpretowanie uzyskanych informacji z obserwacji terapeutycznej pacjenta;
# sporządzanie diagnozy terapeutycznej pacjenta:
## sporządzanie arkusza diagnozy terapeutycznej,
## opracowywanie diagnozy problemów, potrzeb i zasobów pacjenta.
## Planowanie indywidualnego i grupowego programu lub planu działań terapeutycznych na podstawie diagnozy terapeutycznej, uwzględniającej możliwości, potrzeby, zainteresowania i sposób funkcjonowania pacjenta, jego rodzinę, środowisko społeczne i specyfikę podmiotu, którego opieką jest objęty pacjent:
## tworzenie planu działań terapeutycznych w oparciu o informacje zespołu wielodyscyplinarnego;
## planowanie procesu terapeutycznego uwzględniającego potrzeby, problemy oraz zasoby pacjenta, jego rodziny i środowiska społecznego;
## sporządzanie indywidualnego planu terapii zajęciowej dla pacjenta na podstawie diagnozy terapeutycznej pacjenta;
## planowanie przebiegu treningów umiejętności rozwijających aktywność pacjenta oraz działań w ramach edukacji prozdrowotnej;
## planowanie sposobów zaspokajania potrzeb biopsychospołecznych w ramach indywidualnych treningów czynności dnia codziennego i treningów samodzielności;
## sporządzanie planów terapii (tygodniowych, miesięcznych, rocznych) zawierających bieżące informacje o pacjencie.
# Organizowanie działań w zakresie terapii zajęciowej w celu poprawy funkcjonowania fizycznego, psychicznego i społecznego pacjenta oraz jego integracji społecznej i zawodowej:
## dobieranie środków i pomocy do zajęć terapeutycznych oraz sposobów pracy z pacjentem, jego rodziną i środowiskiem społecznym do zaleceń osób wykonujących zawód medyczny oraz innych specjalistów;
## dobieranie techniki terapii zajęciowej oraz metody terapeutycznej do stanu psychofizycznego pacjenta;
## wykonywanie pomocy dydaktycznych do realizacji działań terapeutycznych;
## opracowywanie scenariuszy do zajęć terapii zajęciowej;
## podejmowanie działań w zakresie promocji zdrowia i profilaktyki;
## motywowanie pacjenta do udziału w zajęciach terapii zajęciowej, z uwzględnieniem jego zainteresowań;
## prowadzenie terapii zajęciowej z zastosowaniem różnych metod i technik;
## pomaganie pacjentowi w korzystaniu ze sprzętu rehabilitacyjnego, ortopedycznego i innych wyrobów medycznych;
## pomaganie pacjentowi w zaspokajaniu potrzeb biopsychospołecznych w ramach indywidualnych treningów czynności dnia codziennego i treningów samodzielności;
## prowadzenie treningów umiejętności rozwijających aktywność pacjenta;
## przekazywanie informacji członkom zespołu wielodyscyplinarnego o wynikach pracy terapeutycznej.
# Ewaluacja procesu terapeutycznego na podstawie dokumentacji i oceny prowadzonej terapii zajęciowej:
## ocena efektów terapii zajęciowej prowadzonej z pacjentem;
## ocena skuteczności przeprowadzonych działań terapeutycznych;
## ocena efektów pracy z pacjentem na podstawie kwestionariuszy, arkuszy oraz narzędzi do diagnozy, planowanie i monitorowanie stosownie do podmiotu, którego opieką jest objęty pacjent, i specyfiki pracy z pacjentem oraz rodzaju prowadzonej działalności terapeutycznej;
## analiza efektów uzyskanych w pracy z pacjentem, jego rodziną i środowiskiem społecznym;
## formułowanie wniosków wynikających z pracy z pacjentem na podstawie zastosowanych narzędzi diagnostycznych;
## formułowanie rekomendacji dla pacjenta, jego rodziny oraz osób realizujących inne .ania w procesie terapeutycznym pacjenta.
fzluipsru99wqgb3dgvygou0hgj1kxa
543506
543467
2026-05-19T20:07:38Z
Persino
2851
Persino przeniósł(-osła) stronę [[Terapia zajęciowa/WYKAZ CZYNNOŚCI ZAWODOWYCH TERAPEUTY ZAJĘCIOWEGO]] do [[Terapia zajęciowa/Wykaz czynności zawodowych terapeuty zajęciowego]], bez pozostawienia przekierowania pod starym tytułem
543467
wikitext
text/x-wiki
# Budowanie relacji terapeutycznych z pacjentem, jego rodziną, środowiskiem społecznym i zespołem wielodyscyplinarnym:
## dobieranie sposobów komunikacji werbalnej i niewerbalnej dostosowanych do potrzeb oraz możliwości pacjenta;
## pomaganie pacjentom z niepełnosprawnościami, ze specjalnymi potrzebami oraz z zaburzeniami psychicznymi w dostępie do świadczeń zdrowotnych;
## rozwiązywanie sytuacji konfliktowych i sytuacji trudnych;
## prowadzenie działań edukacyjnych w zakresie zachowań prozdrowotnych.
## Rozpoznawanie i diagnozowanie potrzeb biopsychospołecznych, stanu funkcjonalnego pacjenta przez terapeutę zajęciowego we współpracy z zespołem wielodyscyplinarnym:
# analiza informacji o pacjencie zawartych w dostępnej dokumentacji, w tym dokumentacji medycznej pacjenta;
# przeprowadzanie wywiadu z pacjentem, jego rodziną, opiekunem prawnym oraz innymi osobami związanymi z pacjentem oraz analiza informacji uzyskanych w wyniku wywiadu:
## sporządzanie arkusza wywiadu,
## analiza informacji uzyskanych w wyniku wywiadu;
## prowadzenie obserwacji terapeutycznej pacjenta:
## opracowywanie arkuszy obserwacji terapeutycznej pacjenta,
## interpretowanie uzyskanych informacji z obserwacji terapeutycznej pacjenta;
# sporządzanie diagnozy terapeutycznej pacjenta:
## sporządzanie arkusza diagnozy terapeutycznej,
## opracowywanie diagnozy problemów, potrzeb i zasobów pacjenta.
## Planowanie indywidualnego i grupowego programu lub planu działań terapeutycznych na podstawie diagnozy terapeutycznej, uwzględniającej możliwości, potrzeby, zainteresowania i sposób funkcjonowania pacjenta, jego rodzinę, środowisko społeczne i specyfikę podmiotu, którego opieką jest objęty pacjent:
## tworzenie planu działań terapeutycznych w oparciu o informacje zespołu wielodyscyplinarnego;
## planowanie procesu terapeutycznego uwzględniającego potrzeby, problemy oraz zasoby pacjenta, jego rodziny i środowiska społecznego;
## sporządzanie indywidualnego planu terapii zajęciowej dla pacjenta na podstawie diagnozy terapeutycznej pacjenta;
## planowanie przebiegu treningów umiejętności rozwijających aktywność pacjenta oraz działań w ramach edukacji prozdrowotnej;
## planowanie sposobów zaspokajania potrzeb biopsychospołecznych w ramach indywidualnych treningów czynności dnia codziennego i treningów samodzielności;
## sporządzanie planów terapii (tygodniowych, miesięcznych, rocznych) zawierających bieżące informacje o pacjencie.
# Organizowanie działań w zakresie terapii zajęciowej w celu poprawy funkcjonowania fizycznego, psychicznego i społecznego pacjenta oraz jego integracji społecznej i zawodowej:
## dobieranie środków i pomocy do zajęć terapeutycznych oraz sposobów pracy z pacjentem, jego rodziną i środowiskiem społecznym do zaleceń osób wykonujących zawód medyczny oraz innych specjalistów;
## dobieranie techniki terapii zajęciowej oraz metody terapeutycznej do stanu psychofizycznego pacjenta;
## wykonywanie pomocy dydaktycznych do realizacji działań terapeutycznych;
## opracowywanie scenariuszy do zajęć terapii zajęciowej;
## podejmowanie działań w zakresie promocji zdrowia i profilaktyki;
## motywowanie pacjenta do udziału w zajęciach terapii zajęciowej, z uwzględnieniem jego zainteresowań;
## prowadzenie terapii zajęciowej z zastosowaniem różnych metod i technik;
## pomaganie pacjentowi w korzystaniu ze sprzętu rehabilitacyjnego, ortopedycznego i innych wyrobów medycznych;
## pomaganie pacjentowi w zaspokajaniu potrzeb biopsychospołecznych w ramach indywidualnych treningów czynności dnia codziennego i treningów samodzielności;
## prowadzenie treningów umiejętności rozwijających aktywność pacjenta;
## przekazywanie informacji członkom zespołu wielodyscyplinarnego o wynikach pracy terapeutycznej.
# Ewaluacja procesu terapeutycznego na podstawie dokumentacji i oceny prowadzonej terapii zajęciowej:
## ocena efektów terapii zajęciowej prowadzonej z pacjentem;
## ocena skuteczności przeprowadzonych działań terapeutycznych;
## ocena efektów pracy z pacjentem na podstawie kwestionariuszy, arkuszy oraz narzędzi do diagnozy, planowanie i monitorowanie stosownie do podmiotu, którego opieką jest objęty pacjent, i specyfiki pracy z pacjentem oraz rodzaju prowadzonej działalności terapeutycznej;
## analiza efektów uzyskanych w pracy z pacjentem, jego rodziną i środowiskiem społecznym;
## formułowanie wniosków wynikających z pracy z pacjentem na podstawie zastosowanych narzędzi diagnostycznych;
## formułowanie rekomendacji dla pacjenta, jego rodziny oraz osób realizujących inne .ania w procesie terapeutycznym pacjenta.
fzluipsru99wqgb3dgvygou0hgj1kxa