Help:ExpandTemplates/nl
| Let op: Als u deze pagina bewerkt, gaat u akkoord met het vrijgeven van uw bijdragen onder de CC0. Zie Helppagina’s Publiek Domein voor meer informatie. Sommige oude revisies van deze pagina zijn geïmporteerd onder de CC BY-SA licentie. Alleen nieuwe bijdragen zijn publieke domein. |

ExpandTemplates maakt een recursieve uitbreiding van sjablonen, parserfuncties en variabelen mogelijk.
De pagina Special:ExpandTemplates heeft twee invulvelden, één voor het invoeren van wikitext en een andere voor het invoegen van een pagina-naam.
Het produceert in het venster "Result" de uitgebreide wikitext, d.w.z. sjablonen, parserfuncties en variabelen worden recursief uitgebreid; variabelen afhankelijk van pagina-naam worden uitgebreid op basis van de ingevoerde pagina-naam.
Dit is een tussenresultaat voordat een pagina wordt weergegeven na het opslaan of drukken op "Voorvertonen" (of de resulterende wikitext wordt gebruikt voor andere verwerking), nuttig bij het begrijpen en het debuggen van wikitext-extensie.
Het ondersteunt geen substitutie (een apart uitbreidingsproces [pre-save transformatie] wordt uitgevoerd nadat wikitext in een bewerkingsvenster is ingevoerd en op "Voorvertonen" of "Opslaan" is gedrukt, maar vóór de reguliere parsing; de resulterende wikitext kan in een willekeurig bewerkingsvenster worden bekeken door op "Wijzigingen tonen" te drukken, of door een testpagina op te slaan en het bewerkingsvenster opnieuw te openen).
Als u substitutie moet gebruiken, gebruik dan de API van de analyse in plaats van de API van ExpandTemplates en maak dan pre-save transformaties mogelijk [om dit te doen, stel pst in op true].
Daarnaast is er een gebied voor het voorvertonen. Dit toont echter het resultaat van het opnieuw uitbreiden van de uitgebreide wikitext (T30616). Hoewel het resultaat meestal hetzelfde is als na een enkele uitbreiding, kan het anders zijn als de eerste uitbreiding haakjes produceert.
Het magische woord '!' biedt een manier om "|" toe te staan in een parameterwaarde van een sjabloon of parserfunctie, met name voor gebruik in de tabelsyntaxis. Dit sjabloon kan worden gebruikt met ExpandTemplates om gedeeltelijke uitbreiding/substitutie uit te voeren.
De tabel met Template:2x laat zien dat een aanroep met een parameterscheiding "|" in het formulier {{!}} een gewone uitbreiding voorkomt; de laatste kolom laat het voorbeeldgebied zien (met het resultaat van de dubbele uitbreiding).
Gebruik
| originele wikitext | uitgebreide wikitext | uitvoer | voorvertonen opgebouwd met 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 }} |
Commentaar verwijderen
De optie "Commentaar verwijderen" selecteert of de commentaren worden verwijderd, niet alleen in het eindresultaat maar tijdens het hele uitbreidingsproces. Dit heeft invloed op het resultaat van de parserfuncties: een commentaar in de uitdrukking van #expr of #ifexpr geeft een foutmelding tenzij "Commentaar verwijderen" is ingeschakeld, en commentaar heeft invloed op #if en ifeq.
Voorbeeld:
{{#expr:<!--p-->3}}
{{#ifeq:<!--p-->3|3|1|0}}
{{#if:<!--p-->|1|0}}
Normale uitbreiding, en ExpandTemplates met "Commentaar verwijderen" op:
3
1
0
Volledige substitutie / vervanging, en ExpandTemplates met "Commentaar verwijderen" uitgeschakeld:
Expression error: Unexpected < operator
0
1
XML parse boom
Optioneel wordt de XML-parseboom (de XML DOM representatie van de wikitext, ook wel document tree of DOM tree genoemd) getoond (zie ook Manual:Preprocessor_DOM.php). Bijvoorbeeld:
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}}
geeft
<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>
Dus:
- Het resultaat toont een fase van de verwerking vóór de werkelijke evaluatie. Zo zijn zelfs de namen van variabelen, parserfuncties en sjablonen niet bepaald. Ook worden de dubbele punt en "#" nog niet gedetecteerd, dus er wordt geen onderscheid gemaakt tussen variabelen, parserfuncties en sjablonen, laat staan dat er onderscheid zou zijn tussen bestaande en niet-bestaande variabelen, functies en sjablonen. Daarom:
- Er wordt onderscheid gemaakt tussen parameterelementen met en zonder "=", hoewel het voor sommige elementen van sommige parserfuncties uiteindelijk als gewone tekst wordt behandeld.
- "|a=b|a=c" is nog niet omgezet naar "|a=c" omdat het feit dat de linkerzijden gelijk zijn pas bekend is na hun evaluatie, en ook omdat deze reductie afhangt van de beoordeling van titel. Bijvoorbeeld, voor titels van het formulier
#switch:.., is "|a=b|a=c" tenslotte gelijk aan "|a=b".
- Een paar dubbele rechthoekige haakjes beschermen "|" tegen de interpretatie als een parameterscheiding, maar de links worden niet apart in de boom weergegeven.
Invoertekst in URL
De wikitext die als invoer dient, kan ook in de URL worden geplaatst, bijvoorbeeld met urlencode, {{fullurl:special:ExpandTemplates|wpInput={{urlencode:{{texpr{{!}}abc}}}}}} geeft //www.mediawiki.org/w/index.php?title=Special:ExpandTemplates&wpInput=%7B%7Btexpr%7Cabc%7D%7D.
{{!}}, met {{!}}, voorkomt dat het sjabloon texpr uitbreidt in de URL, en voorkomt ook dat "|" wordt geïnterpreteerd als een scheiding van de parameter van urlencode van een dummy tweede parameter.
Het kan ook worden gebruikt in een sjabloon-aanroep zonder parameters, hoewel dit in het invoervak van ExpandTemplates een sjabloon wordt met de onbenoemde parameter {{{1}}} als de lege string in plaats van niet gedefinieerd; bijvoorbeeld {{fullurl:special:ExpandTemplates|wpInput={{tc{{!}}}}}}.
Dit werkt niet voor variabelen en parserfuncties, gebruik in plaats daarvan procentcodes voor één paar haakjes (zie wikitext); voor de ParserFuncties prefix "#" gebruik %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}}.
Voorbeeld
Query parameters
- wpContextTitle=pagetitle
- wpGenerateRawHtml=true
- wpGenerateXml=true
- wpInput=
- wpRemoveComments=true
- wpRemoveNowiki=true
URL:
Aanpassen
- De breedte van de box aanpassen
De breedte van de invoer- en resultaatvakken is standaard slechts 11 tekens. U kunt dit in volle breedte veranderen door iets als het volgende toe te voegen aan uw CSS:
textarea {
border: 1px solid #2f6fab;
color: Black;
background-color: white;
width: 100%;
padding: 0.1em;
overflow: auto;
}