Help:ExpandTemplates/cs
File:PD-icon.svg | Note: When you edit this page, you agree to release your contribution under the CC0. See Public Domain Help Pages for more info. Some old revisions for this page were imported under CC BY-SA license. Only new contributions are PD. |
File:PD-icon.svg |
Speciální stránka Special:ExpandTemplates
, v české verzi MediaWiki naprosto zvrhle a nelogicky pojmenovaná Speciální:Testy šablon
, je určena pro rekurzivní substituci šablon, parsovacích funkcí a proměnných wikikódu použitého na stránce.
Stránka Special:ExpandTemplates má dvě vstupní pole, jedno pro zadání wikitextu a druhé pro zadání názvu stránky.
V okně "Výsledek" (result) vytváří rozšířený wikitext, tj. šablony, funkce analyzátoru a proměnné jsou rozbalovány rekurzivně. Proměnné v závislosti na názvu stránky jsou rozšířeny na základě dodaného názvu stránky.
Toto je mezivýsledek před vykreslením stránky po uložení nebo stisknutí tlačítka "Náhled" (preview) (nebo je výsledný wikitext odeslán k jinému zpracování), což je užitečné pro pochopení a ladění rozšíření wikitextu.
Nepodporuje substituce (samostatný proces rozšíření [pre-save transformace] se provádí po vstupu do wikitextu v editačním okně a stisknutím "Zobrazit náhled" (show preview) nebo "Uložit" (save), ale před pravidelnou analýzou. Výsledný wikitext lze zkontrolovat v libovolném editačním okně stisknutím "Zobrazit změny" (show changes) nebo uložením testovací stránky a opětovným otevřením editačního okna).
Pokud potřebujete použít substituci, použijte API Parse API místo rozhraní API ExpandTemplates a umožněte předběžné transformace [k tomu nastavte pst
na true
].
Kromě toho je zde oblast náhledu. To však ukazuje vykreslený výsledek opětovného rozšíření rozšířeného wikitextu (<translate> task <tvar name=1>T30616</tvar></translate>). I když je výsledek obvykle stejný jako po jediném rozšíření, může se lišit, pokud první rozšíření vytvoří rovnátka.
Kouzelné slůvko '!' poskytuje způsob, jak povolit "|" v hodnotě parametru funkce šablony nebo syntaktického analyzátoru, zejména pro použití v syntaxi tabulky. Tuto šablonu lze použít s ExpandTemplates k provedení částečné expanze/substituce.
Tabulka s použitím Template:2x ukazuje, že volání s oddělovačem parametrů "|" ve tvaru {{!}} brání běžné expanzi. Poslední sloupec ukazuje oblast náhledu (s výsledkem dvojité expanze).
Použití
původní wikitext | rozšířený wikitext | zobrazení | náhled vytvořený ExpandTemplates |
---|---|---|---|
{{2x|[[MediaWiki]] }}
|
[[MediaWiki]] [[MediaWiki]]
|
MediaWiki MediaWiki | MediaWiki MediaWiki |
{{2x{{!}}[[MediaWiki]] }}
|
{{2x|[[MediaWiki]] }}
| {{2x|MediaWiki }} | MediaWiki MediaWiki |
{{2x{{!{{!}}}}[[MediaWiki]] }}
|
{{2x{{!|}}[[MediaWiki]] }}
| {{2x{{!|}}MediaWiki }} | {{2x|MediaWiki }} |
Odebrání komentářů
Možnost "Odebrat komentáře" (remove comments) určuje, zda budou komentáře odstraněny, a to nejen v konečném výsledku, ale v průběhu procesu rozšiřování. To ovlivní výsledek funkcí analyzátoru: Komentář ve výrazu #expr nebo #ifexpr zobrazí chybovou zprávu, pokud není zapnuto "Odebrat komentáře" a komentáře ovlivňují #if a ifeq.
Příklad:
{{#expr:<!--p-->3}} {{#ifeq:<!--p-->3|3|1|0}} {{#if:<!--p-->|1|0}}
Normální rozšíření a ExpandTemplates s "Odebrat komentáře" na:
3
1
0
Úplné nahrazení a ExpandTemplates s vypnutým "Odebrat komentáře":
Expression error: Unexpected < operator
0
1
Strom analýzy XML
Volitelně je zobrazen strom analýzy XML (reprezentace XML DOM wikitextu, nazývaná také strom dokumentu nebo strom DOM) (viz také Příručka:Preprocessor DOM.php ). Například:
a [[b|c]] {{CURRENTYEAR}} {{{{{a}}}}} {{#ifeq:2|3|a|b}} {{#switch:a|a=3|b=4|a=5}} {{a|b|c=d[[e|f]]g|h}} {{{a|b}}} {{#tag:nowiki|a=b}} {{#tag:nowiki|aeb}}
dává
<root>a [[b|c]]
<template lineStart="1"><title>CURRENTYEAR</title></template>
<template lineStart="1"><title><tplarg><title>a</title></tplarg></title></template>
<template lineStart="1"><title>#ifeq:2</title><part><name index="1"/><value>3</value></part><part><name index="2"/><value>a</value></part><part><name index="3"/><value>b</value></part></template>
<template lineStart="1"><title>#switch:a</title><part><name>a</name>=<value>3</value></part><part><name>b</name>=<value>4</value></part><part><name>a</name>=<value>5</value></part></template>
<template lineStart="1"><title>a</title><part><name index="1"/><value>b</value></part><part><name>c</name>=<value>d[[e|f]]g</value></part><part><name index="2"/><value>h</value></part></template>
<tplarg lineStart="1"><title>a</title><part><name index="1"/><value>b</value></part></tplarg></root>
<template lineStart="1"><title>#tag:nowiki</title><part><name>a</name>=<value>b</value></part></template>
<template lineStart="1"><title>#tag:nowiki</title><part><name index="1"/><value>aeb</value></part></template>
Tento kód:
- Výsledek ukazuje fázi zpracování před vlastním vyhodnocením. Nebyly tedy určeny ani názvy proměnných, funkce parseru a šablony. Také dvojtečka a "#" zatím nejsou detekovány, takže se nerozlišuje mezi proměnnými, funkcemi analyzátoru a šablonami, natož aby se rozlišovalo mezi existujícími a neexistujícími proměnnými, funkcemi analyzátoru a šablonami. Proto:
- Rozlišuje se mezi položkami parametrů s a bez "=". I když u některých položek některých funkcí analyzátoru je to nakonec považováno za prostý text.
- "|a=b|a=c" ještě není redukováno na "|a=c", protože to, že jsou levé strany stejné, se dozvíme až po jejich vyhodnocení, a také proto, že toto zmenšení závisí na vyhodnocení titulku . Například pro tituly ve tvaru
#switch:
.. je "|a=b|a=c" koneckonců ekvivalentní "|a=b".
- Pár dvojitých svislých čar "|" nelze interpretovat jako oddělovač parametrů, ale odkazy se ve stromu samostatně nezobrazují.
Zadání textu do adresy URL
Wikitext sloužící jako vstup lze také vložit do adresy URL, např. pomocí urlencode, {{fullurl:special:ExpandTemplates|wpInput={{urlencode:{{texpr{{!}}abc}}}}}}
dá https://www.linuxwebexpert.com/wiki/index.php?title=Special:ExpandTemplates&wpInput=%7B%7Btexpr%7Cabc%7D%7D.
{{!}}
pomocí {{!}} zabrání rozbalení šablony texpr v URL a také zabrání "|" aby nebyl interpretován jako oddělovač parametru urlencode od falešného druhého parametru.
Může být také použit ve volání šablony bez parametrů, i když ve vstupním poli ExpandTemplates se z toho stane šablona s nepojmenovaným parametrem {{{1}}}, kterým je prázdný řetězec namísto nedefinovaného. Např. {{fullurl:special:ExpandTemplates|wpInput={{tc{{!}}}}}}
.
Toto nefunguje pro proměnné a funkce parseru. Použijte místo toho kódy s procenty pro jeden pár složených závorek (viz wikitext). Pro předponu ParserFunctions "#" použijte %23:
https://www.linuxwebexpert.com/wiki/index.php?title=Special:ExpandTemplates&wpInput={{CURRENTTIME}}.
https://www.linuxwebexpert.com/wiki/index.php?title=Special:ExpandTemplates&wpInput={{%23expr:2*3}}.
Příklad
Parametry dotazu
- wpContextTitle=pagetitle
- wpGenerateRawHtml=true
- wpGenerateXml=true
- wpInput=
- wpRemoveComments=true
- wpRemoveNowiki=true
URL:
Přizpůsobení
- Úprava šířky pole
Ve výchozím nastavení je šířka vstupního a výsledkového pole pouze 11 znaků. Možná jej budete chtít změnit na plnou šířku přidáním něčeho podobného do svého CSS:
textarea {
border: 1px solid #2f6fab;
color: Black;
background-color: white;
width: 100%;
padding: 0.1em;
overflow: auto;
}