Jump to content

Help:ExpandTemplates

From mediawiki.org
This page is a translated version of the page Help:ExpandTemplates and the translation is 68% complete.
Outdated translations are marked like this.
PD Not: Bu sayfayı düzenlerken katkınızı CC0 altında yayınlamayı kabul edersiniz. Daha fazla bilgi için Kamu Malı Yardım Sayfalarına bakın.
Bu sayfa için yapılan bazı eski değişiklikler CC BY-SA lisansı altına kaydırılmıştır. Yalnızca yeni katkılar PM'dir.
PD
Screenshot of MediaWiki for translation purposes.
Screenshot of MediaWiki for translation purposes.

ExpandTemplates, şablonların, ayrıştırıcı işlevlerin ve değişkenlerin özyinelemeli uzantısına izin verir.

Special:ExpandTemplates sayfasında, biri wiki metin girmek için diğeri ise bir sayfa adı girmek için iki giriş kutusu bulunur. "Sonuç" penceresinde genişletilmiş wiki metin, yani şablonlar, ayrıştırıcı işlevler ve değişkenler tekrar tekrar genişletilir; sayfa adına göre değişkenler, verilen sayfa sayısına göre genişletilir. Bu, bir sayfanın kaydedilmesinden veya "Önizleme" ye (veya sonuçtaki vikimetin diğer işlemlere gönderilir) basıldıktan sonra oluşturulmasından önce bir ara sonuçtur, vikimetin genişlemesini anlama ve hata ayıklama konusunda yardımcı olur. İkameyi desteklemiyor (bir düzenleme penceresinde vikimetin girdikten ve "Önizlemeyi göster" veya "Kaydet" e bastıktan sonra ilk gerçekleştirilen ayrı bir genişletme işlemi; sonuçtaki vikimetin isteğe bağlı bir düzenleme penceresinde incelenebilir "Değişiklikleri göster" seçeneğine basarak veya bir test sayfasını kaydederek ve düzenleme penceresini yeniden açarak). If you need to use substitution, use the parse API instead of the ExpandTemplates API and enable pre-save transformations [to do this, set pst to true].

Ek olarak, bir gözetleme alanı var. Ancak bu, genişletilmiş vikimetni (görev T30616) yeniden genişletmenin işlenmiş sonucunu gösterir. Her ne kadar sonuç genellikle tek genişlemeden sonraki ile aynı olsa da, ilk genişlemenin diş telleri üretmesi farklı olabilir.

'!' sihirli kelimesi, bir şablonun veya ayrıştırıcı işlevinin bir parametre değerinde, özellikle tablo sözdiziminde kullanım için "|" ile izin vermenin bir yolunu sağlar. Bu şablon kısmi genişleme/ikame yapmak için ExpandTemplates ile birlikte kullanılabilir.

Template:2x kullanan tablo, "|" parametre ayırıcılı bir çağrının {{!}} şeklinde sıradan bir genişleme önler; Son sütun önizleme alanını gösterir (çift genişleme sonucu).

Kullanım

orijinal vikimetin genişletilmiş vikimetin dönüşme ExpandTemplates tarafından üretilen önizleme
{{2x|[[MediaWiki]] }} [[MediaWiki]] [[MediaWiki]] MediaWiki MediaWiki MediaWiki MediaWiki
{{2x{{!}}[[MediaWiki]] }} {{2x|[[MediaWiki]] }} {{2x|MediaWiki }} MediaWiki MediaWiki
{{2x{{!{{!}}}}[[MediaWiki]] }} {{2x{{!|}}[[MediaWiki]] }} {{2x{{!|}}MediaWiki }} {{2x|MediaWiki }}

Yorumları kaldır

"Yorumları kaldır" seçeneği, yorumların yalnızca nihai sonuçta değil, genişletme süreci boyunca kaldırılıp kaldırılmayacağını belirler. Bu, ayrıştırıcı işlevlerinin sonucunu etkiler: #expr veya #ifexpr ifadesindeki bir yorum, "Yorumları kaldır" açık olmadığı sürece bir hata mesajı verir ve yorumlar #if ve ifeq'i etkiler.

Örnek:

{{#expr:<!--p-->3}}

{{#ifeq:<!--p-->3|3|1|0}}

{{#if:<!--p-->|1|0}}

Normal genişletme ve üzerinde "Yorumları kaldır" yazan ExpandTemplates:

3

1

0

Tam değiştirme ve "Yorumları kaldır" kapalıyken ExpandTemplates:

Expression error: Unexpected < operator

0

1

XML ayrıştırma ağacı

İsteğe bağlı olarak XML ayrıştırma ağacı (vikimetinin XML DOM temsili, belge ağacı veya DOM ağacı olarak da adlandırılır) gösterilir (ayrıca bakınız Manual:Preprocessor DOM.php ). Örneğin:

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}}

verir:

<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>

Bu sayede:

  • Sonuç, fiili değerlendirmeden önce işlemede bir aşamayı gösterir. Böylece değişkenlerin, ayrıştırıcı işlevlerin ve şablonların isimleri bile belirlenmemiştir. Ayrıca, iki nokta üst üste ve "#" henüz algılanmadı, bu nedenle değişkenler, ayrıştırıcı işlevler ve şablonlar arasında, var olan ve olmayan değişkenler, ayrıştırıcı işlevler ve şablonlar arasında bir ayrım olacağı bir yana, hiçbir ayrım yapılmadı. Öyleyse:
    • "=" olan ve olmayan parametre öğeleri arasında ayrım yapılır, ancak bazı ayrıştırıcı işlevlerinin bazı öğeleri için sonuçta düz metin olarak kabul edilir.
    • "|a=b|a=c" henüz "|a=c" ye indirgenmemiştir çünkü sol tarafların eşit olduğu ancak bunların değerlendirilmesinden sonra bilinir ve ayrıca bu indirgeme başlığın değerlendirilmesine bağlıdır. Örneğin, #switch:.. biçimindeki başlıklar için, "|a=b|a=c", sonuçta "|a=b" ile eşdeğerdir.
  • Bir çift dikdörtgen parantez "|" parametre ayırıcı olarak yorumlanmaz, ancak bağlantılar ağaçta ayrı olarak gösterilmez.

URL’ye metin girin

Giriş olarak hizmet veren vikimetin, URL'ye de yerleştirilebilir; örneğin, urlencode kullanılarak {{fullurl:special:ExpandTemplates|wpInput={{urlencode:{{texpr{{!}}abc}}}}}}, //www.mediawiki.org/w/index.php?title=Special:ExpandTemplates&wpInput=%7B%7Btexpr%7Cabc%7D%7D verir. {{!}}, {{!}} kullanarak, texpr şablonunun URL'de genişlemesini engeller ve ayrıca "|" urlencode parametresinin bir kukla ikinci parametreden ayırıcısı olarak yorumlanmasını önler. Ayrıca, ExpandTemplates'in giriş kutusunda bu, tanımsız yerine boş dize olan adsız parametre {{{1}}} ile bir şablon haline gelse de, parametresiz bir şablon çağrısında da kullanılabilir; ör. {{fullurl:special:ExpandTemplates|wpInput={{tc{{!}}}}}}. Bu, değişkenler ve ayrıştırıcı işlevler için çalışmaz, bunun yerine bir çift parantez için yüzde kodlarını kullanın (vikimetine bakın); ParserFunctions öneki "#" için %23 kullanın:

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}}.

Örnek

Sorgu parametreleri
  • wpContextTitle=pagetitle
  • wpGenerateRawHtml=true
  • wpGenerateXml=true
  • wpInput=
  • wpRemoveComments=true
  • wpRemoveNowiki=true

URL:

Özelleştirme

Kutu genişliğini ayarlama

Varsayılan olarak giriş ve sonuç kutusunun genişliği yalnızca 11 karakterdir. CSS'nize aşağıdakine benzer bir şey ekleyerek bunu tam genişliğe değiştirmek isteyebilirsiniz:

textarea {
    border: 1px solid #2f6fab;
    color: Black;
    background-color: white;
    width: 100%;
    padding: 0.1em;
    overflow: auto;
}

Ayrıca bakınız