Jak kombinovat stránky

Z thewoodcraft.org
Přehled nápovědy
Editace obsahu
Pro thewoodcraft.org
Knihy
Systém wiki
Zabezpečení stránek
Zásady

MediaWiki má jednu velmi mocnou vlastnost, které se využívá např. také u šablon. A tou je spojování stránek. Díky tomuto spojování lze tvořit velmi sofistikované stránky

Vložení jiné stránky

Je základní funkcionalitou. Provede se tak, že se mezi dvě složené závorky umístí název stránky. Aby však tento název nebyl automaticky interpretován jako šablona – tj. stránka ze jmenného prostoru Šablona (Template), musí mu předcházet dvojtečka.

Příklad
 {{:test-text}}

Vložený obsah:

Ukázkový obsah stránky

Že jde skutečně o vložený obsah, to si můžete ověřit když navštívíte stránku test-text. Ovšem to platí pouze pro stránky z hlavního jmenného prostoru. U stránek z jiných jmenných prostorů to není nutné. Viz ukázkový příklad:

Příklad
 {{:Nápověda:Vložený celý text}}
 {{Nápověda:Vložený celý text}}
 {{test-text}}
 {{:test-text}}

Vložený obsah:

Ukázkový obsah stránky
Ukázkový obsah stránky
Šablona:test-text
Ukázkový obsah stránky

Jak můžete vidět, u řetězce test-text, který je bez dvojtečky na začátku, se automaticky předpokládá, že jde o šablonu, kdežto obsah stránky Nápověda:Vložený celý text se vloží tak jako tak.

Podmíněné vložení jiné stránky

Při generování výsledného kódu je začleněn veškerý kód z vložené stránky, a to včetně kategorizace. V případě, že je vložená stránka kategorizována, přidají se kategorie z vloženého kódu k těm stávajícím.

Totéž platí i pro poznámky pod čarou. U těch je třeba mít na paměti, že se vygenerují tam, kde se v kódu příslušné sekce objeví první instance tagu <references />, což nemusí být vždy žádoucí.

Proto jsou k dispozici dva párové elementy, jimiž lze ovlivnit přístup parseru ke kódu ze kterého se generuje obsah stránky.

<includeonly>

Je-li kód vkládané stránky uzavřen do tohoto párového tagu, bude interpretován generátorem pouze tehdy bude-li stránka vložena jinam.

Toho lze využít zvláště u proměnných v šablonách, které mají být závislé na parametrech stránky do níž je kód vložen, nikoliv na parametrech šablony.

<noinclude>

Je-li kód vkládané stránky uzavřen do tohoto párového tagu, pak nebude parser při vložení kódu stránky jinam na něho brát zřetel. Toho lze využít např. právě u výše zmíněného elementu <references />

Poznámka Ukázku toho jak to funguje si můžete prohlédnout v kódu stránky Nápověda:Ukázkové vložení textu, se kterou budeme pracovat v následujícím příkladu.

Jak vložit pouze vybraný kus obsahu stránky

Pokud chceme z obsahu stránky vložit pouze vybraný kus, je třeba využít rozšíření LabeledSectionTransclusion, které umožňuje sofistikovanější sestavení obsahu stránky z obsahu stránky jiné.

Vložení vybrané sekce

Pro vložení vybrané sekce se používá klíčové slovo #lsth, oddělené od jména stránky (a případně i názvu jmenného prostoru) dvojtečkou. Za ním by mělo následovat svislítko a jako parametr jméno vybrané sekce. Pokud tento parametr zcela chybí, pak se vloží ze stránky pouze část, která předchází prvnímu výskytu sekce.

Příklad
{{#lsth:Nápověda:Ukázkové vložení textu}}

Vložená předmluva:

Není-li uvedeno jméno sekce, je vložen text, který předchází první sekci

Že jde skutečně o obsah, který předchází první sekci se můžete přesvědčit, přímo na stránce Nápověda:Ukázkové vložení textu. V následujícím ukázkovém příkladu je vložen obsah druhé sekce:

Příklad
{{#lsth:Nápověda:Ukázkové vložení textu|Sekce druhá}}

Vložený obsah druhé sekce:

Toto je a obsah druhé sekce.


Toto je obsah z druhé sekce stránky Nápověda:Ukázkové vložení textu, který je viditelný pouze v případě, že je vložen jako součást jiné stránky

Upozornění Jak se můžete přesvědčit na stránce Nápověda:Ukázkové vložení textu, jsou v obsahu druhé sekce použity elementy noinclude a includeonly. Ovšem při vkládání obsahu přes rozšíření LabeledSectionTransclusion se pracuje s již zpracovaným obsahem zdrojové stránky, proto to funguje zdánlivě obráceně.

Vložení sekvence následujících sekcí

Při vložení sekce se ignoruje její název (titulek), ale to platí pouze v případě počáteční sekce. Pokud vložíme sekvenci několika sekcí najednou, vloží se ty ostatní včetně titulku. Viz ukázkový příklad.

Příklad
{{#lsth:Nápověda:Ukázkové vložení textu|Sekce první|Sekce čtvrtá}}

Vložený obsah první, druhé a třetí sekce:

Toto je obsah první sekce .

Z ukázkového příkladu je zřejmé, že titulek čtvrté sekce posloužil pouze pro vymezení obsahu.

Poznámka
  • Pokud vymezíme začátek sekvence názvem sekce která neexistuje – nevloží se nic.
  • Pokud vymezíme konec sekvence názvem sekce která neexistuje – vloží se pouze obsah počáteční sekce.

Vložení obsahu, vymezeného elementem <section />

Mnohem větší možnosti poskytuje vymezení obsahu elementem <section />. Ten má dva atributy. Hodnota atributu begin označuje začátek vybrané sekce, a stejná hodnota u atributu end určuje její konec – bez ohledu na ostatní kód stránky.

Pro vložení se použije pouze #lst a hodnotou parametru je jméno sekce.

Příklad
{{#lst:Nápověda:Ukázkové vložení textu|sec1}}

Vložený obsah první sekce a obsah druhé sekce je viditelný pouze v případě, že je vložen do jiné stránky jako vybraná sekce s názvem sec1

Sekvenční vložení

Při vložení sekvence platí totéž co u vymezení sekvence přes názvy sekcí – první parametr určuje jméno atributu begin u kterého se má začít a druhý jméno atributu end u kterého se má skončit.

Příklad
{{#lst:Nápověda:Inverzní vložení textu|sec2|sec3}}

Sekvenční vložení:

Druhá věta. Třetí věta.

Inverzní vložení

V některých případech se může hodit inverzní vložení, při kterém se naopak vybraná sekvence kódu skryje:

Příklad
{{#lstx:Nápověda:Inverzní vložení textu|sec2|}}

Inverzní vložení:

První věta.

Třetí věta.

V případě inverze se druhý parametr interpretuje jako náhradní text

Příklad
{{#lstx:Nápověda:Inverzní vložení textu|sec2|Chcete-li vidět úplný obsah vkládané stránky, podívejte se na stránku [[:Nápověda:Inverzní vložení textu]].}}

Inverzní vložení s náhradou původního textu:

První věta. Chcete-li vidět úplný obsah vkládané stránky, podívejte se na stránku Nápověda:Inverzní vložení textu. Třetí věta.