Jump to content

Nápověda:ExpandTemplates

From mediawiki.org
This page is a translated version of the page Help:ExpandTemplates and the translation is 100% complete.
PD Poznámka: Úpravou této stránky souhlasíte s uvolněním vašeho příspěvku pod licencí CC0. Více informací získáte na stránce nápovědy veřejné domény.
Některé starší revize k této stránce byly importovány pod licencí CC BY-SA. Pouze nové příspěvky jsou Publik Domain (PD) (veřejná doména).
PD
Screenshot of MediaWiki for translation purposes.
Snímek obrazovky MediaWiki pro účely překladu.

Speciální stránka 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 (úkol T30616). 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á //www.mediawiki.org/w/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.mediawiki.org/w/index.php?title=Special:ExpandTemplates&wpInput={{CURRENTTIME}}.

https://www.mediawiki.org/w/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;
}

Související odkazy